@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--team:#087443;--accent:#f4dc83;--ink:#f4f4e9;--muted:#aec0c3;--line:#34454b;--pulse:0;background:#0a151b;color:var(--ink);font-family:Barlow,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 45%,color-mix(in srgb,var(--team) 16%,transparent),transparent 55%),#0a151b}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}a{color:inherit}button,select,input{border:1px solid var(--line);border-radius:8px;background:#15252c;color:var(--ink);min-height:48px}button{padding:10px 15px;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){border-color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}select{padding:10px 36px 10px 13px;width:100%;font-weight:600;font-size:17px}button[aria-pressed=true]{border-color:var(--accent);background:#314037}small{display:block}.shell{width:min(1240px,100% - 64px);margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:104px;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:27px;text-decoration:none;letter-spacing:-1px}.brand>span{color:var(--accent)}.brand small{font-size:9px;letter-spacing:2px;margin-top:4px}.edition,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.edition{color:var(--muted)}.back{font-size:14px;text-decoration:none}.back span{margin-left:16px;color:var(--accent)}.intro{padding:35px 0 27px}.intro .eyebrow{color:var(--accent);margin:0 0 8px}h1,h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif}h1{font-size:clamp(44px,6.4vw,84px);line-height:.96;letter-spacing:-1px;text-transform:uppercase;margin:0}h1 em{color:var(--accent);font-style:normal}.demo-note{font-size:13px;color:var(--muted);margin:15px 0 0;max-width:620px;line-height:1.5}.experience{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:40px;align-items:start}.arena{position:sticky;top:18px;border:1px solid color-mix(in srgb,var(--team) 60%,#51636a);border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--team) 27%,#19252b),#112127 65%);box-shadow:0 0 calc(12px + var(--pulse)*26px) color-mix(in srgb,var(--team) 25%,transparent)}.arena-heading{padding:25px 27px 0;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.arena-heading .eyebrow{color:var(--muted);font-size:10px}.arena h2{font-size:34px;text-transform:uppercase;margin:4px 0 0}.team-code{font:700 24px 'Barlow Condensed',sans-serif;color:var(--accent);padding:10px;border-left:2px solid var(--accent)}#floor{position:relative}#disa-stage{height:450px;position:relative;overflow:hidden}#disa-canvas,#disa-footprints{position:absolute;inset:0;width:100%;height:100%;z-index:1}#disa-footprints{pointer-events:none}.ice{position:absolute;bottom:35px;height:100px;width:85%;left:7.5%;border-radius:50%;border:1px solid #78928b44;background:radial-gradient(ellipse,color-mix(in srgb,var(--team) 28%,#153431),transparent 65%);transform:perspective(200px) rotateX(28deg)}.ice:after{content:'';position:absolute;inset:15%;border:1px solid #d9f4e722;border-radius:50%}.arena-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 25px;border-top:1px solid #ffffff14;font-size:14px}.beat-dots{display:flex;gap:7px}.beat-dots i{height:6px;width:6px;border-radius:50%;background:#5c7275}.beat-dots i.active{background:var(--accent);box-shadow:0 0 8px var(--accent)}#disa-status,#disa-next-label,#disa-unavailable{font-size:12px;color:var(--muted);margin:0 25px 12px;line-height:1.45}#disa-next-label{min-height:18px;color:var(--accent)}.team-picker label,fieldset legend{display:block;font-size:11px;font-weight:700;letter-spacing:1.8px;margin-bottom:10px;color:var(--muted)}.team-picker p{font-size:12px;color:var(--muted);margin:7px 0 22px}.routines{padding:0;margin:0;border:0}.routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.routine-grid button{text-align:left;padding:12px 10px;border-radius:8px;background:#13232b}.routine-grid button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--team) 20%,#18272b)}.routine-grid strong{display:block;font-size:15px}.routine-grid span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.chant{padding:22px 0 18px;margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chant>.eyebrow{font-size:10px;color:var(--accent)}.chant h2{font-size:26px;margin:6px 0 14px}.chant p{margin:3px 0;font-size:17px;line-height:1.4}.chant #chant-lines p{border-left:2px solid transparent;padding-left:12px;color:#adbec1;transition:color .2s}.chant #chant-lines p.active{color:var(--ink);border-color:var(--accent)}.chant .chant-help{font-size:12px;color:var(--muted);margin-top:12px}.transport{padding:20px 0 10px}.time{display:flex;justify-content:space-between;gap:10px;font-size:13px}.time #clock{font-variant-numeric:tabular-nums;font-weight:700}progress{width:100%;height:4px;border:0;background:#2b3a41;accent-color:var(--accent);display:block;margin:10px 0 16px}progress::-webkit-progress-bar{background:#2b3a41}progress::-webkit-progress-value{background:var(--accent)}.play-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}#play{background:var(--accent);color:#102027;border:0;min-height:56px;font-size:17px}#stop{background:transparent}#error{font-size:13px;color:#ffbbbb;line-height:1.5}.settings{border-top:1px solid var(--line);margin-top:10px;font-size:14px}.settings summary{padding:15px 0;cursor:pointer;min-height:48px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0}.setting-row select,.setting-row input[type=range]{width:65%;font-size:15px}.setting-actions{display:flex;flex-wrap:wrap;gap:8px}.setting-actions button{font-size:13px}.tempo-group{display:flex;gap:5px}.tempo-group input{width:66px;text-align:center}.tempo-group button{width:48px}.secondary{display:flex;gap:10px;margin-top:10px}.secondary button{flex:1;background:transparent;font-size:13px}#share-status{font-size:12px;color:var(--accent);min-height:18px;margin:6px 0 0}.disclaimer{max-width:850px;font-size:12px;line-height:1.6;color:var(--muted);margin:30px 0}footer{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:14px;width:min(560px,calc(100% - 32px));max-height:85dvh;padding:22px;background:#13242b;color:var(--ink)}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2{margin:0;font-size:26px}pre{white-space:pre-wrap;font:15px/1.7 Barlow,system-ui,sans-serif}.skip{position:fixed;top:-90px;left:10px;padding:15px;z-index:100;background:#fff;color:#000}.skip:focus{top:10px}[hidden]{display:none!important}
@media(max-width:850px){.shell{width:calc(100% - 40px)}.experience{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#disa-stage{height:390px}.arena-heading{padding:20px 18px 0}.arena h2{font-size:27px}.team-code{font-size:20px}.arena-bottom{padding:14px;font-size:12px}.beat-dots{gap:4px}.routine-grid{gap:5px}.routine-grid strong{font-size:13px}.routine-grid span{font-size:11px}.routine-grid button{padding:10px 7px}.chant p{font-size:15px}}
@media(max-width:620px){.shell{width:calc(100% - 32px)}.topbar{height:76px}.brand{font-size:23px}.edition{display:none}.back{font-size:12px}.intro{padding:24px 0 18px}h1{font-size:49px}.demo-note{font-size:11px;line-height:1.4;margin-top:11px}.experience{display:flex;flex-direction:column;gap:20px}.arena{position:relative;top:0;width:100%}.arena-heading{padding:15px 20px 0}.arena h2{font-size:28px}#disa-stage{height:300px}.arena-bottom{padding:10px 18px;font-size:13px}#disa-status{margin:0 18px 5px;font-size:11px}#disa-next-label{margin:0 18px 10px;font-size:11px;min-height:14px}.panel{width:100%}.team-picker p{margin-bottom:18px}.routine-grid strong{font-size:15px}.routine-grid span{font-size:12px}.routine-grid button{padding:12px 10px}.chant{padding:18px 0;margin-top:18px}.chant p{font-size:17px}.transport{position:sticky;bottom:0;background:#0a151bf5;backdrop-filter:blur(14px);z-index:3;padding:14px 0 calc(10px + env(safe-area-inset-bottom));border-top:1px solid #34454b;box-shadow:0 -12px 20px #0a151b80}footer{flex-direction:column;gap:12px}.disclaimer{margin:22px 0}.arena{box-shadow:none}.setting-row{gap:8px}}
@media(max-width:350px){h1{font-size:42px}#disa-stage{height:270px}.arena h2{font-size:25px}.routine-grid strong{font-size:13px}.routine-grid span{font-size:11px}.shell{width:calc(100% - 24px)}.beat-dots{gap:3px}.arena-bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.arena{box-shadow:none}}
@media(max-width:620px){body{padding-bottom:135px}.experience{gap:16px}.panel{display:contents}.team-picker{order:-2;width:100%}.team-picker p{margin-bottom:0}.arena{order:-1}.routines,.chant,.settings,.secondary,#share-status{width:100%}.transport{position:fixed;left:16px;right:16px;bottom:0;width:auto;margin:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 20px #0a151be6}.transport .time{font-size:12px}.transport progress{margin:7px 0 10px}.transport #play{min-height:52px}.chant{margin-top:0}#disa-stage{height:260px}.intro{padding:20px 0 16px}}
