:root{color-scheme:dark;--bg:#090a0d;--panel:#13151a;--line:#272a31;--text:#f3f1ea;--muted:#999ca5;--gold:#f4cd62;--cyan:#6de0da;--danger:#ff8c85;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 80% -10%,rgba(97,61,181,.24),transparent 34rem),var(--bg);color:var(--text)}button{font:inherit}main{width:min(100%,760px);margin:auto;min-height:100vh}.hero{position:relative;overflow:hidden;padding:calc(34px + env(safe-area-inset-top)) 24px 46px;border-bottom:1px solid var(--line)}.hero__orb{position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-100px;background:radial-gradient(circle at 30% 30%,rgba(109,224,218,.85),rgba(115,68,215,.34) 48%,transparent 72%);filter:blur(10px);pointer-events:none}.venue{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:.02em}.venue img{width:30px;height:30px;border-radius:50%;object-fit:cover}.date,.phase header span,.shifts header span{color:var(--gold);font-size:12px;font-weight:750;letter-spacing:.16em}.hero h1{position:relative;max-width:620px;margin:42px 0 14px;font-size:clamp(42px,10vw,76px);line-height:.94;letter-spacing:-.055em}.lead{max-width:520px;color:#c9c7c0;line-height:1.65}.service{display:flex;align-items:center;gap:12px;margin-top:28px;font-weight:700}.service i{display:block;width:38px;height:1px;background:var(--gold)}.shifts,.timeline{padding:34px 18px}.shifts header,.phase>header{padding:0 6px 18px}.shifts h2,.phase h2{margin:7px 0 0;font-size:26px;letter-spacing:-.03em}.shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shift{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.shift.active{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #6de0da38}.shift span,.meta{font-size:12px;color:var(--muted)}.shift p{margin:0;color:#bbb;font-size:13px}.phase{margin-bottom:48px}.phase>header p{color:var(--muted);line-height:1.55}.moment{display:grid;grid-template-columns:74px 1fr;border-top:1px solid var(--line);padding:22px 4px}.moment__time{display:flex;flex-direction:column;gap:5px}.moment__time strong{font-size:18px}.moment__time span{font-size:11px;color:var(--muted)}.moment__body h3,.task h3{margin:10px 0 6px;font-size:24px;letter-spacing:-.025em}.moment__body p{color:#babcc3;line-height:1.55}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips span,.chips b{padding:4px 8px;border-radius:999px;background:#20232a;color:#b9bdc7;font-size:10px}.chips b{background:var(--gold);color:#17130a}.moment--live{background:linear-gradient(90deg,rgba(109,224,218,.08),transparent);border-top-color:var(--cyan)}.notice{padding:12px;border-left:2px solid var(--gold);background:#f4cd6214;color:#e8dcae!important}.performer{color:var(--text)!important;font-weight:650}.empty,footer{color:var(--muted);font-size:13px}footer{text-align:center;padding:18px 24px calc(34px + env(safe-area-inset-bottom));line-height:1.7}.hero--staff{background:linear-gradient(135deg,#6de0da1f,#f4cd6214)}.task{margin:0 0 12px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.task>div{display:flex;justify-content:space-between}.task b{color:var(--gold)}.close,.state button{display:block;width:calc(100% - 36px);margin:20px auto calc(30px + env(safe-area-inset-bottom));padding:16px;border:1px solid var(--line);border-radius:14px;background:#17191f;color:var(--text)}.state{display:flex;min-height:100vh;padding:30px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.state h1{font-size:30px}.state p{max-width:360px;color:var(--muted);line-height:1.6}.pulse{width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 12px #f4cd621a}.pulse.loading{animation:pulse 1.5s ease-in-out infinite}.pulse.error{background:var(--danger)}@keyframes pulse{50%{transform:scale(.72);opacity:.65}}@media(min-width:720px){.hero{padding-left:42px;padding-right:42px}.timeline,.shifts{padding-left:36px;padding-right:36px}.shift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.pulse.loading{animation:none}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.audio{display:grid;gap:8px;margin-top:14px;padding:12px;border-radius:12px;background:#0d0f13}.audio span{font-size:12px;color:var(--muted)}.audio audio{width:100%;height:34px}
