:root{--orange:#ef8000;--orange2:#ff9d26;--dark:#171717;--panel:#f7f7f7;--line:#b9b9b9;--green:#16844b;--red:#b42318;font-family:Segoe UI,Arial,sans-serif;color:var(--dark)}*{box-sizing:border-box}body{margin:0;background:#dadada}button,input,select{font:inherit}.hidden{display:none!important}.topbar{height:18vh;min-height:132px;display:grid;grid-template-columns:minmax(165px,14vw) minmax(180px,16vw) 150px minmax(330px,1fr) 64px;align-items:center;gap:18px;padding:12px 24px;background:#e5e5e5;border-bottom:3px solid #222}.logo{width:100%;height:100%;object-fit:contain}.teamPicker label,.playlistLayout label{display:block;font-weight:700;margin-bottom:6px}.teamPicker select,.playlistLayout select{width:100%;min-height:52px;border:2px solid #555;border-radius:13px;background:white;padding:8px 12px;font-size:1.1rem}.statusBadge{padding:10px 12px;border-radius:12px;background:#555;color:white;text-align:center;font-weight:700}.statusBadge.ready{background:var(--green)}.statusBadge.warning{background:#9a6700}.volumeBox{position:relative;z-index:120;display:grid;grid-template-columns:42px 1fr 82px;align-items:center;gap:14px;padding:12px 18px;background:linear-gradient(#fff,#ececec);border:3px solid #777;border-radius:22px;box-shadow:0 5px 13px #0003}.volumeBox span{font-size:1.8rem}.volumeBox input{-webkit-appearance:none;appearance:none;width:100%;height:58px;background:transparent;touch-action:none}.volumeBox input::-webkit-slider-runnable-track{height:18px;border:2px solid #555;border-radius:12px;background:linear-gradient(90deg,var(--orange),#ffc06a)}.volumeBox input::-webkit-slider-thumb{-webkit-appearance:none;width:50px;height:50px;margin-top:-18px;border:4px solid white;border-radius:50%;background:var(--orange);box-shadow:0 2px 8px #0008}.volumeBox strong{padding:7px;border-radius:10px;background:var(--orange);color:#fff;text-align:center}.iconButton{display:grid;place-items:center;width:58px;height:58px;text-decoration:none;color:#111;background:#fff;border:2px solid #555;border-radius:50%;font-size:1.8rem}.mainTabs,.configTabs{display:flex;background:#262626}.mainTabs button,.configTabs button{flex:1;min-height:58px;border:0;background:#262626;color:#fff;font-weight:750;font-size:1.15rem}.mainTabs button.active,.configTabs button.active{background:var(--orange);color:#111}.view{display:none}.view.active{display:block}.soundGrid{display:grid;grid-template-columns:repeat(4,1fr);height:calc(82vh - 58px)}.soundCard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:18px;border:1.5px solid #222;background:#dedede;cursor:pointer;overflow:hidden}.soundCard:active{background:#ffb055;transform:scale(.99)}.soundCard .number{font-size:2.2rem;font-weight:900;color:var(--orange)}.soundCard .title{font-size:clamp(1.05rem,1.7vw,1.8rem);font-weight:650;text-align:center}.soundCard .playerPhoto{width:104px;height:104px;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:0 2px 8px #0005;margin-bottom:6px}.playlistLayout{display:grid;grid-template-columns:minmax(300px,35%) 1fr;gap:24px;padding:24px;min-height:calc(82vh - 58px)}.playlistLayout aside,.nowPlaying{padding:22px;background:#f4f4f4;border:2px solid #888;border-radius:20px}.trackList{margin-top:16px;max-height:55vh;overflow:auto}.trackButton{display:flex;justify-content:space-between;width:100%;padding:15px;margin:7px 0;border:2px solid #aaa;border-radius:12px;background:white;text-align:left}.trackButton.active{border-color:var(--orange);background:#fff2df}.nowPlaying{display:flex;flex-direction:column;justify-content:center;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#666;font-weight:700}.nowPlaying h1{font-size:clamp(1.8rem,4vw,4rem)}.progress{height:20px;background:#ccc;border-radius:12px;overflow:hidden}.progress div{height:100%;width:0;background:var(--orange)}.timeRow{display:flex;justify-content:space-between;margin-top:6px}.transport{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px}.transport button{width:74px;height:74px;border:2px solid #555;border-radius:50%;font-size:1.8rem;background:#fff}.transport .primaryRound{width:96px;height:96px;background:var(--orange)}.playlistOptions{display:flex;justify-content:center;gap:32px;font-size:1.2rem}.playlistOptions input{width:25px;height:25px;vertical-align:middle}.stopLayer{position:fixed;z-index:100;inset:0;background:#000d;display:grid;place-items:center;text-align:center}.stopLayer>div{width:min(760px,90vw)}.playingTitle{font-size:clamp(2rem,5vw,5rem);color:#fff;font-weight:800;margin-bottom:35px}.stopLayer button{width:70%;min-height:150px;border:0;border-radius:35px;background:#e43128;color:#fff;font-size:clamp(2rem,5vw,5rem);font-weight:900}.stopLayer .resumeButton{min-height:58px;margin-top:20px;background:#fff;color:#111;font-size:1.1rem}.toast{position:fixed;z-index:300;left:50%;bottom:28px;transform:translateX(-50%);padding:16px 24px;border-radius:14px;background:#171717;color:white;font-weight:700;box-shadow:0 5px 15px #0006}.setupBody{min-height:100vh;display:grid;place-items:center;padding:25px}.setupCard{width:min(720px,94vw);margin:7vh auto;padding:32px;background:white;border:2px solid #888;border-radius:24px;box-shadow:0 10px 30px #0003}.brandMark{display:inline-block;padding:8px 16px;border-radius:8px;background:var(--orange);font-weight:900}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formGrid label,.teamNameLabel{font-weight:700}.formGrid input,.teamNameLabel input,.field input,.field select{display:block;width:100%;min-height:48px;margin-top:6px;padding:8px 11px;border:2px solid #999;border-radius:10px}.full{grid-column:1/-1}.buttonRow,.adminToolbar{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-grid;place-items:center;min-height:46px;padding:9px 16px;border:2px solid #777;border-radius:11px;background:#fff;color:#111;text-decoration:none;font-weight:700;cursor:pointer}.button.primary{background:var(--orange);border-color:#a95800}.button.danger{background:#fff0ef;color:var(--red);border-color:var(--red)}.notice{padding:14px;margin:15px 0;border-radius:10px}.notice.success{background:#e3f7eb;color:#075d33}.notice.error{background:#ffebe9;color:#8d1710}.adminHeader{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#242424;color:white}.adminHeader h1{margin:0}.adminToolbar{position:sticky;z-index:10;top:0;padding:14px 24px;background:#eee;border-bottom:2px solid #aaa}.adminToolbar select{min-width:220px;padding:8px;border:2px solid #888;border-radius:10px}.adminMain{padding:24px}.teamNameLabel{display:block;max-width:520px;margin-bottom:22px}.configTabs{border-radius:14px;overflow:hidden}.configSection{display:none}.configSection.active{display:block}.sectionTitle{display:flex;justify-content:space-between;align-items:center}.sectionTitle h2{margin-bottom:0}.sectionTitle p{margin-top:4px;color:#555}.editorList{display:grid;gap:14px}.editorCard{display:grid;grid-template-columns:55px repeat(5,minmax(120px,1fr)) auto;gap:12px;align-items:end;padding:14px;background:#fff;border:2px solid #aaa;border-radius:16px}.editorCard.player{grid-template-columns:55px 100px repeat(4,minmax(110px,1fr)) auto}.orderButtons{display:flex;flex-direction:column;gap:5px}.orderButtons button{min-height:34px}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}.previewImage{width:82px;height:82px;object-fit:cover;border-radius:50%;background:#ddd}.playlistEditor{padding:18px;background:#fff;border:2px solid #999;border-radius:18px}.playlistHeader{display:flex;gap:12px;align-items:end}.playlistHeader .field{flex:1}.playlistTracksEditor{display:grid;gap:10px;margin:14px 0}.playlistTrack{display:grid;grid-template-columns:45px 1fr 1fr 120px auto;gap:10px;align-items:end;padding:10px;background:#eee;border-radius:12px}
.checkLabel input{display:inline-block;width:28px;height:28px;min-height:0;margin:0 10px 0 0;vertical-align:middle}
@media(max-width:900px){.topbar{height:auto;min-height:0;grid-template-columns:100px 1fr 54px;padding:8px;gap:8px}.logo{height:80px}.teamPicker{grid-column:2}.statusBadge{grid-column:1/2;font-size:.8rem}.volumeBox{grid-column:2/4;padding:7px 10px}.iconButton{grid-column:3;grid-row:1}.mainTabs button{font-size:.95rem}.soundGrid{grid-template-columns:repeat(2,1fr);height:auto}.soundCard{min-height:180px}.playlistLayout{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr}.editorCard,.editorCard.player{grid-template-columns:1fr 1fr}.orderButtons{flex-direction:row}.playlistTrack{grid-template-columns:1fr 1fr}.adminHeader h1{font-size:1.2rem}}
