
:root{color-scheme:dark;--bg:#0b111d;--panel:#121d2d;--panel2:#172537;--stroke:#263649;--text:#ecf4fb;--muted:#a0b2c3;--accent:#ffcc78;--accent2:#74e2d6;--radius:20px;--fsize:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse 820px 500px at 85% -120px,#27475c55,transparent 80%),var(--bg);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:var(--fsize)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{max-width:1480px;margin:0 auto;padding:0 24px 64px}.topbar{padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--stroke)}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;background:linear-gradient(125deg,#f5bd5e,#eb7b68);color:#0e1521;border-radius:15px;display:grid;place-items:center;font-size:25px;box-shadow:0 5px 24px #ecaa6973}.brand small{display:block;font-size:11px;font-weight:800;letter-spacing:2.2px;color:var(--muted)}.brand strong{display:block;font-size:19px;font-family:Outfit,system-ui,sans-serif;letter-spacing:-.4px}.top-links{display:flex;gap:10px;align-items:center}.tiny-btn,.btn{border:1px solid var(--stroke);background:#1b2b3e;color:var(--text);padding:10px 14px;border-radius:12px;font-weight:700;font-size:13px}.tiny-btn:hover,.btn:hover{background:#294059}.tiny-btn:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #ffce72;outline-offset:3px}.hero{padding:38px 0 25px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.eyebrow{font-size:11px;font-weight:800;color:var(--accent2);letter-spacing:2.4px}.hero h1{font:800 clamp(34px,4vw,56px)/1.05 Outfit,system-ui,sans-serif;letter-spacing:-2px;margin:10px 0 12px}.hero h1 span{background:linear-gradient(95deg,#f7ca7c,#eb9c85);color:transparent;background-clip:text}.hero p{color:var(--muted);font-size:15px;line-height:1.55;margin:0;max-width:730px}.total{min-width:154px;border:1px solid #364453;background:#142336;border-radius:20px;padding:19px 20px}.total strong{font:800 42px/1 Outfit}.total small{display:block;font-size:11px;color:var(--muted);letter-spacing:1.6px;text-transform:uppercase;margin-top:6px}.rolebar{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 27px}.rolelink{border:1px solid var(--stroke);display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:13px;background:#152131;color:#bbcad8;font-size:13px;font-weight:800;transition:background .14s,border-color .14s,transform .14s}.rolelink:hover{transform:translateY(-1px);background:#20344c}.rolelink.active{border-color:#d8a664;background:#4c3827;color:#ffda9b}.rolelink .emoji{font-size:17px}.content{display:grid;grid-template-columns:305px minmax(0,1fr);gap:20px;align-items:start}.sidebar{position:sticky;top:15px;background:#121d2d;border:1px solid var(--stroke);border-radius:20px;overflow:hidden}.sidetop{padding:19px 17px 14px;border-bottom:1px solid var(--stroke)}.sidetop h2{font:700 16px Outfit;margin:0 0 11px}.search{width:100%;border:1px solid #354257;background:#0d1826;color:#fff;padding:12px 13px;border-radius:11px;outline:none}.search:focus{border-color:#f5c579}.songlist{padding:8px;max-height:68vh;overflow-y:auto}.songrow{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:10px;align-items:center;text-align:left;border:1px solid transparent;color:var(--text);border-radius:13px;background:transparent;padding:11px 10px}.songrow:hover{background:#233247}.songrow.active{background:#3e3431;border-color:#907044}.songnum{font:700 21px Outfit;color:#6f8498}.songrow.active .songnum{color:#ffcd7b}.songname{font-size:13px;font-weight:800;line-height:1.3}.songartist{font-size:11px;color:#9fb0c1;margin-top:4px;display:block}.littlecheck{color:#58c8a3;font-size:16px}.songrow:not(.active) .littlecheck{opacity:.8}.stage{background:var(--panel);border:1px solid var(--stroke);border-radius:22px;overflow:hidden;min-width:0}.stage-head{padding:24px 27px 21px;display:flex;justify-content:space-between;gap:18px;align-items:start;border-bottom:1px solid var(--stroke);background:linear-gradient(120deg,#19283a,#121d2d 76%)}.track-kicker{color:var(--accent2);font-size:11px;letter-spacing:1.3px;font-weight:800;text-transform:uppercase}.stage-head h2{font:800 clamp(26px,3.2vw,41px)/1.1 Outfit;margin:8px 0 10px;letter-spacing:-1px}.stage-meta{color:var(--muted);font-size:13px;line-height:1.5}.track-progress{min-width:104px;text-align:right}.track-progress b{font:800 28px Outfit;display:block}.track-progress small{font-size:11px;color:var(--muted)}.progressbar{height:5px;background:#304156;border-radius:8px;margin-top:8px;overflow:hidden}.progressbar>div{height:100%;background:#67ddc6;width:0;transition:width .2s}.stage-body{padding:24px 27px 30px}.callout{border:1px solid #5c4937;background:linear-gradient(100deg,#463527,#2a2930);padding:14px 16px;border-radius:14px;display:flex;gap:11px;align-items:flex-start;margin-bottom:18px;color:#f3d8ae;font-size:13px;line-height:1.55}.callout svg{flex:none}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:22px}.btn.primary{background:#ffc875;border-color:#ffc875;color:#172034}.btn.primary:hover{background:#ffe2ad}.btn.ghost{background:transparent;border-color:#35475d}.btn.flat{background:#132437;border-color:#35475d}.grow{flex:1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.section-title h3{font:800 20px Outfit;margin:0}.section-title small{color:var(--muted);font-size:11px}.cue-list{display:grid;gap:11px}.cue-card{border:1px solid #2f4357;border-radius:16px;background:#16253a;display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:0;overflow:hidden}.cue-bar{background:var(--accent2)}.cue-card.done{opacity:.6}.cue-card.done .cue-bar{background:#56bb91}.cue-core{padding:16px 18px}.cue-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.cue-top h4{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#f6c680;margin:0 0 7px;font-weight:800}.cue-core p{margin:0;color:#f4f7fa;line-height:1.6;font-size:1em}.cue-card.done .cue-core p{text-decoration:none}.cue-tick{display:flex;justify-content:center;align-items:center;padding:0 16px;border:0;border-left:1px solid #334556;color:#d3e4ef;background:transparent;font-size:21px;min-width:67px}.cue-tick:hover{background:#263a4e}.cue-card.done .cue-tick{color:#65e0bd}.quick{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 18px}.info{padding:18px;border:1px solid var(--stroke);border-radius:16px;background:#172638}.info h4{margin:0 0 9px;color:#fdcb7e;font-size:12px;text-transform:uppercase;letter-spacing:1px}.info p{font-size:13px;color:#d5e2ec;line-height:1.65;margin:0}.score{border:1px solid #33475a;border-radius:16px;overflow:hidden;background:#f1f4f6;margin-top:15px}.score-header{padding:13px 15px;background:#202f3f;color:#d8e5ed;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.score-header strong{font-size:13px}.score-tip{padding:10px 15px;font-size:12px;color:#536579;background:#e6edf2;line-height:1.6}.score iframe{width:100%;height:660px;border:0;background:#fff;display:block}.score-placeholder{padding:55px 20px;min-height:225px;text-align:center;color:#536779;background:#ebf0f3}.score-placeholder b{display:block;color:#223b4d;margin:11px 0}.score-placeholder a{color:#146e8d;font-weight:800}.all-cues{margin-top:20px;border:1px solid var(--stroke);border-radius:13px;background:#101c2b;padding:4px 15px}.all-cues summary{cursor:pointer;padding:14px 5px;font-size:13px;font-weight:800}.all-cues .group{border-top:1px solid var(--stroke);padding:12px 0}.all-cues strong{display:block;color:#ffca7c;font-size:12px;margin-bottom:8px}.all-cues dl{margin:0}.all-cues dt{color:#71decf;font-size:11px;font-weight:800;margin:10px 0 3px}.all-cues dd{margin:0;color:#c4d5e3;font-size:12px;line-height:1.55}.foot{color:#8499ac;text-align:center;padding:25px 0;font-size:12px;line-height:1.7}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}.role-card{background:linear-gradient(150deg,#18283c,#101d2c);border:1px solid var(--stroke);border-radius:18px;padding:23px 20px;min-height:156px;transition:transform .15s,border-color .15s}.role-card:hover{transform:translateY(-3px);border-color:#f1c575}.role-card .bigemoji{font-size:29px}.role-card h3{margin:12px 0 7px;font:800 18px Outfit}.role-card p{margin:0;color:#a2b5c6;font-size:12px;line-height:1.5}.home-bottom{margin-top:24px;padding:23px;border-radius:18px;background:#152336;border:1px solid var(--stroke)}.home-bottom h3{font:800 20px Outfit;margin:0 0 8px}.home-bottom p{margin:0;color:#b3c4d2;font-size:13px;line-height:1.65}.footer-note{font-size:12px;line-height:1.6;color:#a2b5c6;margin-top:14px}.tiny-muted{font-size:11px;color:var(--muted)}@media(max-width:1100px){.content{grid-template-columns:255px minmax(0,1fr)}.home-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.shell{padding:0 12px 40px}.topbar{padding:14px 2px}.top-links .tiny-btn{font-size:11px;padding:9px}.brand small{font-size:9px}.brand strong{font-size:16px}.logo{width:39px;height:39px}.hero{padding:27px 6px 8px;grid-template-columns:1fr}.hero h1{font-size:37px}.total{display:none}.rolebar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;margin:15px 0}.rolelink{white-space:nowrap;padding:10px 13px}.content{display:block}.sidebar{position:static;margin-bottom:13px}.sidetop{padding:13px}.sidetop h2{display:none}.songlist{display:flex;overflow-x:auto;padding:9px;max-height:none;gap:8px}.songrow{min-width:164px;max-width:164px;grid-template-columns:28px 1fr;gap:6px;padding:10px;border:1px solid #23364a}.songrow .littlecheck{display:none}.songnum{font-size:17px}.songname{font-size:12px}.songartist{font-size:10px}.stage-head{padding:20px 17px}.stage-body{padding:17px}.stage-head h2{font-size:29px}.quick{grid-template-columns:1fr}.score iframe{height:480px}.home-grid{grid-template-columns:repeat(2,1fr);gap:9px}.role-card{min-height:142px;padding:18px 13px}.role-card h3{font-size:16px}.cue-core{padding:15px}.cue-tick{min-width:51px;padding:0 9px}.hero p{font-size:13px}}@media(max-width:410px){.home-grid{grid-template-columns:1fr 1fr}.role-card{min-height:137px}.top-links .tiny-btn:first-child{display:none}}@media print{body{background:white;color:black}.topbar,.hero,.rolebar,.sidebar,.controls,.score,.foot,.track-progress,.home-grid,.footer-note,.all-cues{display:none!important}.shell{padding:0}.content{display:block}.stage{border:0;background:#fff}.stage-head{background:white;color:black;border:0;padding:8px 0}.stage-meta{color:#333}.stage-body{padding:6px 0}.callout{background:#fff;color:#222;border:1px solid #ccc}.cue-card{break-inside:avoid;background:white;color:black;border:1px solid #ccc;margin:5px 0}.cue-card .cue-core p{color:black}.cue-core{padding:10px}.cue-top h4{color:#333}.cue-tick{display:none}.section-title h3{color:black}.quick{grid-template-columns:1fr 1fr}.info{background:white;color:black;border:1px solid #ddd}.info p,.info h4{color:#333}.eyebrow{color:black}}

.stage-head h2,.section-title h3,.role-card h3,.home-bottom h3,.brand strong,.sidetop h2,.total strong{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
