:root{--bg:#071018;--panel:#0d1823;--panel2:#111f2c;--line:#203347;--txt:#edf6ff;--muted:#8ca1b5;--blue:#4ca6ff;--amber:#ffc34d;--green:#65d88d;--red:#ff6b6b;--shadow:0 24px 70px #0008}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 15% -10%,#17324a 0,#071018 42%,#04090e 100%);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}.shell{width:min(980px,100%);margin:auto;padding:16px 16px 110px}.top{height:58px;display:flex;align-items:center;gap:12px}.top>a{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--txt);text-decoration:none;font-size:20px}.top>div{display:flex;flex-direction:column;flex:1}.top b{font-size:12px;letter-spacing:.08em}.top small{color:var(--muted);font-size:10px}.logo{width:40px;height:40px;border-radius:12px}.hero,.setup-card,.case,.result-screen,.join-night{background:linear-gradient(145deg,#101e2b,#0a141e);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.hero{margin-top:12px}.eyebrow,.section span,.case-code span,.stage-title small{font-size:10px;letter-spacing:.16em;color:var(--amber);font-weight:800}.hero h1{font-size:clamp(40px,8vw,72px);margin:10px 0 4px;line-height:.95}.hero h1 em{font-style:normal;color:var(--blue)}.hero p,.setup-card p{color:#b8c7d6;line-height:1.6;max-width:760px}.disclaimer{margin-top:18px;padding:13px 15px;border:1px solid #5c4b28;background:#201b10;border-radius:14px;color:#e5d2a5;font-size:12px;line-height:1.5}.night-banner{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin:18px 0;padding:22px;border-radius:22px;background:linear-gradient(120deg,#142d45,#152136 45%,#221d31);border:1px solid #34516d;color:var(--txt);text-decoration:none}.night-banner>span{font-size:38px}.night-banner small{color:#82bfff;font-size:9px;letter-spacing:.13em}.night-banner b{display:block;font-size:26px;margin:2px 0}.night-banner p{margin:0;color:#aebfd0;font-size:13px;line-height:1.45}.night-banner strong{font-size:28px}.join-night{padding:18px 20px;margin-bottom:20px;display:grid;grid-template-columns:1fr minmax(280px,420px);gap:18px;align-items:center}.join-night small{color:var(--muted);font-size:9px;letter-spacing:.13em}.join-night b{display:block;margin-top:4px}.join-row{display:flex;gap:8px}.join-row input{min-width:0;flex:1;background:#071018;border:1px solid #34516d;color:var(--txt);border-radius:12px;padding:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.join-row button,.primary{border:0;background:var(--blue);color:#03101c;font-weight:900;border-radius:12px;padding:12px 16px;cursor:pointer}.section{display:flex;justify-content:space-between;align-items:end;margin:26px 4px 12px}.section b{display:block;font-size:24px}.section small{color:var(--muted)}.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mode{border:1px solid var(--line);background:var(--panel);color:var(--txt);border-radius:20px;padding:18px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;cursor:pointer;transition:.18s}.mode:hover{transform:translateY(-2px);border-color:#3f6381}.mode .ico{font-size:30px}.mode small{font-size:9px;color:var(--amber);letter-spacing:.12em}.mode b{display:block;font-size:18px;margin:2px 0 6px}.mode p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.mode em{display:block;margin-top:10px;color:#7ea7c8;font-style:normal;font-size:10px}.foot{color:#667d91;text-align:center;font-size:10px;margin:20px}.setup-card{margin-top:28px;text-align:center}.setup-card h1{font-size:38px;margin:10px}.length-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.length-grid button{background:#0a151f;border:1px solid var(--line);color:var(--txt);border-radius:18px;padding:22px;cursor:pointer}.length-grid b{font-size:34px;display:block}.length-grid span,.length-grid small{display:block;color:var(--muted)}.ghost,.secondary{background:transparent;border:1px solid var(--line);color:var(--txt);border-radius:12px;padding:12px 16px;cursor:pointer}.progress{display:flex;align-items:center;gap:10px;margin:8px 0 10px}.progress button{background:none;border:0;color:#9eb1c2;font-size:26px}.progress i{height:7px;background:#152637;border-radius:999px;flex:1;overflow:hidden}.progress i span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green))}.progress b{font-size:11px;color:var(--muted)}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.metric-strip>div{background:#0a151f;border:1px solid #1a2d3e;border-radius:13px;padding:10px}.metric-strip span{font-size:8px;color:var(--muted);display:block}.metric-strip b{font-size:18px}.metric-strip i{display:block;height:3px;background:#182737;margin-top:6px;border-radius:99px;overflow:hidden}.metric-strip em{display:block;height:100%;background:var(--blue)}.case{padding:24px}.case-code{display:flex;justify-content:space-between;gap:12px}.case-code b{font-size:10px;color:#7991a7}.case h2{font-size:30px;margin:10px 0}.scene{padding:17px;background:#08131d;border-left:3px solid #355a79;border-radius:10px;color:#c4d1dd;line-height:1.6}.twist{margin:14px 0;background:linear-gradient(90deg,#2b2110,#151a1e);border:1px solid #735c2c;border-radius:14px;padding:15px;animation:twist .35s ease}.twist span{color:var(--amber);font-size:10px;letter-spacing:.1em;font-weight:900}.twist p{margin:6px 0 0;line-height:1.5}.stage-title{margin-top:22px}.stage-title b{display:block;font-size:18px}.question{font-size:20px;font-weight:800;margin:10px 0 14px}.choices{display:grid;gap:9px}.choice{border:1px solid #294056;background:#0b1722;color:var(--txt);padding:15px;border-radius:14px;text-align:left;cursor:pointer;line-height:1.35}.choice:hover,.choice.selected{border-color:var(--blue);background:#10263a}.feedback{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.assessment{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assessment>b{padding:5px 9px;border-radius:999px;font-size:10px}.assessment.good>b{background:#153b27;color:#7df0a7}.assessment.ok>b{background:#15334b;color:#78bfff}.assessment.mixed>b{background:#433718;color:#ffd772}.assessment.bad>b{background:#4a2020;color:#ff9898}.assessment span{font-size:9px;padding:4px 7px;border-radius:999px;background:#0b1823}.assessment .up{color:#79dfa1}.assessment .down{color:#ff9090}.feedback p{line-height:1.55;color:#b9cad8}.feedback .primary{width:100%;margin-top:8px}.result-screen{text-align:center;margin-top:24px}.grade{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#122b42;border:4px solid var(--blue);font-size:56px;font-weight:900}.result-screen h1{font-size:34px;margin:7px}.result-screen>p{color:var(--muted);line-height:1.5}.summary-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0}.summary-grid div{min-width:120px;background:#0a151f;border:1px solid var(--line);padding:12px;border-radius:12px}.summary-grid b{display:block;font-size:20px}.summary-grid small{font-size:8px;color:var(--muted)}.actions{display:flex;justify-content:center;gap:10px}@keyframes twist{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(max-width:700px){.shell{padding:10px 12px 100px}.hero,.case,.setup-card{padding:18px}.mode-grid{grid-template-columns:1fr}.join-night{grid-template-columns:1fr}.night-banner{padding:16px}.night-banner b{font-size:22px}.night-banner p{font-size:11px}.case h2{font-size:24px}.question{font-size:18px}.metric-strip span{font-size:7px}.length-grid{gap:7px}.length-grid button{padding:15px 8px}}
/* v4.5.3 · narrative context + segmented progress */
.case-update{margin:14px 0;background:linear-gradient(90deg,#0d2436,#101a22);border:1px solid #2b5d7b;border-radius:14px;padding:15px;animation:twist .3s ease}.case-update span{color:#79c6ff;font-size:10px;letter-spacing:.1em;font-weight:900}.case-update p{margin:6px 0 0;line-height:1.55;color:#c7d8e6}
/* v4.5.3 · scenario navigation + cumulative context + custom length */
.custom-length{display:grid;grid-template-columns:1fr minmax(240px,360px);gap:16px;align-items:center;margin:4px 0 20px;padding:16px;border:1px solid #29465e;background:#091721;border-radius:18px;text-align:left}.custom-length small,.custom-length b,.custom-length span{display:block}.custom-length small{font-size:8px;color:var(--amber);letter-spacing:.13em;font-weight:900}.custom-length b{font-size:16px;margin-top:3px}.custom-length span{font-size:10px;color:var(--muted);margin-top:3px}.custom-length>div:last-child{display:grid;grid-template-columns:1fr auto;gap:8px}.custom-length input{min-width:0;background:#061018;border:1px solid #31516c;color:var(--txt);border-radius:12px;padding:12px 13px;outline:none;font-weight:900}.custom-length input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4ca6ff1a}.custom-length button{border:0;background:var(--blue);color:#03101c;border-radius:12px;padding:0 16px;font-size:9px;font-weight:950;cursor:pointer}
.case-progress{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:8px 0 12px;padding:13px 14px;border:1px solid #263f55;background:linear-gradient(145deg,#0c1b27,#09141e);border-radius:18px}.case-progress>button{align-self:start;width:34px;height:34px;border:1px solid #2d465a;background:#071018;color:#9eb1c2;border-radius:10px;font-size:21px;cursor:pointer}.case-progress-main{min-width:0}.case-progress-title{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:end}.case-progress-title span{font-size:8px;color:var(--amber);font-weight:950;letter-spacing:.13em}.case-progress-title b{grid-column:1;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-progress-title small{grid-column:2;grid-row:1/3;color:var(--muted);font-size:8px;text-align:right}.case-progress-dots{display:flex;gap:3px;margin:9px 0 10px;overflow:hidden}.case-progress-dots i{height:4px;min-width:5px;flex:1;background:#182a38;border-radius:99px}.case-progress-dots i.done{background:#3c789f}.case-progress-dots i.active{background:var(--amber);box-shadow:0 0 12px #ffc34d55}.stage-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stage-rail>div{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid #1d3345;background:#08141d;border-radius:10px;color:#71879a}.stage-rail em{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:#122332;font-style:normal;font-size:8px;font-weight:950}.stage-rail span{font-size:8px;font-weight:850}.stage-rail>div.done{color:#89bddf;border-color:#274d67}.stage-rail>div.done em{background:#17384e;color:#9fd7ff}.stage-rail>div.active{color:#ffe1a2;border-color:#6a5529;background:#221c10}.stage-rail>div.active em{background:var(--amber);color:#251b08}
.local-context{margin:14px 0;display:grid;gap:8px}.local-context-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:0 2px}.local-context-head span{font-size:9px;color:#79c6ff;font-weight:950;letter-spacing:.13em}.local-context-head small{font-size:8px;color:#70879a}.context-line{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;border:1px solid #2b5d7b;background:linear-gradient(100deg,#0d2436,#101a22);border-radius:14px;padding:12px}.context-line>i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#0a1a26;font-style:normal}.context-line span{font-size:8px;color:#79c6ff;letter-spacing:.1em;font-weight:900}.context-line p{margin:5px 0 0;line-height:1.55;color:#c7d8e6}.context-line.surprise{border-color:#735c2c;background:linear-gradient(100deg,#2b2110,#151a1e)}.context-line.surprise span{color:var(--amber)}
@media(max-width:700px){.custom-length{grid-template-columns:1fr}.case-progress{padding:11px}.case-progress-title{grid-template-columns:1fr}.case-progress-title small{grid-column:1;grid-row:auto;text-align:left}.stage-rail span{font-size:7px}.stage-rail>div{gap:4px;padding:6px}.local-context-head{display:block}.local-context-head small{display:block;margin-top:3px}}

.operator-banner{background:linear-gradient(120deg,#0d3340,#102c38 45%,#132d28);border-color:#31746f}.operator-banner small{color:#69e6cf}.operator-banner:hover{border-color:#69e6cf}

/* v5.4.1 · Night Shift Solo + phone-only Patrol polish */
button.night-banner{width:100%;font:inherit;text-align:left;cursor:pointer}.solo-banner{background:linear-gradient(120deg,#1a2638,#16263a 48%,#171f31);border-color:#435a78}.solo-banner small{color:#9fc7ff}.solo-setup{margin-top:20px;background:linear-gradient(145deg,#101e2b,#0a141e);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.solo-setup-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.solo-setup-hero>span{font-size:52px}.solo-setup-hero small{font-size:9px;color:#9bc8ff;letter-spacing:.13em;font-weight:900}.solo-setup-hero h1{font-size:36px;margin:4px 0}.solo-setup-hero h1 em{font-style:normal;color:var(--blue)}.solo-setup-hero p{margin:0;color:#aec1d0;line-height:1.55}.solo-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.solo-rule-grid article{background:#081722;border:1px solid #234158;border-radius:14px;padding:13px}.solo-rule-grid article>span{font-size:22px}.solo-rule-grid b{display:block;margin-top:5px;font-size:11px}.solo-rule-grid p{font-size:9px;color:#90a8ba;line-height:1.45;margin:5px 0 0}.solo-length>small{display:block;font-size:8px;letter-spacing:.14em;color:var(--amber);font-weight:900}.solo-length>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.solo-length button{background:#091824;border:1px solid #2c4b62;color:#fff;border-radius:13px;padding:13px;cursor:pointer}.solo-length b,.solo-length span{display:block}.solo-length b{font-size:24px}.solo-length span{font-size:8px;color:#8198aa}.solo-back{margin-top:14px}.solo-progress{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#0a1722;border:1px solid #203d52;border-radius:15px;padding:10px 12px;margin:8px 0}.solo-progress>button{width:34px;height:34px;border:1px solid #35546b;background:#081621;color:#ddecf6;border-radius:10px;font-size:20px}.solo-progress span,.solo-progress small{display:block;font-size:8px;color:#8098aa}.solo-progress b{display:block;font-size:13px;margin:2px 0}.solo-progress em{font-style:normal;font-size:8px;color:#ffd174;border:1px solid #5b4d2d;padding:5px 7px;border-radius:999px}.solo-case{background:linear-gradient(145deg,#101e2b,#0a141e);border:1px solid var(--line);border-radius:20px;padding:18px}.solo-case>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.solo-case>header span{font-size:8px;color:var(--amber);letter-spacing:.1em}.solo-case h2{font-size:25px;margin:4px 0}.solo-case>header small{color:#7f98ab;font-size:9px}.solo-board{display:grid;gap:7px;margin:12px 0}.solo-board-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.solo-board-head b{font-size:9px;color:#8ccfff}.solo-board-head small{font-size:8px;color:#6f899c}.solo-board article{display:grid;grid-template-columns:24px 1fr;gap:8px;background:#081722;border:1px solid #1d3b4f;border-radius:11px;padding:9px}.solo-board article.surprise{background:#201a0f;border-color:#67532c}.solo-board article.evidence{background:#0c2118;border-color:#2f6848}.solo-board article b{font-size:10px}.solo-board article p{font-size:9px;color:#a9bcc9;line-height:1.45;margin:3px 0 0}.solo-role{border:1px solid #2b4d63;background:#0a1d29;border-radius:14px;padding:12px;margin:12px 0}.solo-role.officer{border-color:#43674d;background:#0c2018}.solo-role.closure{border-color:#6d5c2f;background:#201b0f}.solo-role-head{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center}.solo-role-head>span{font-size:25px}.solo-role-head small,.solo-role-head b{display:block}.solo-role-head small{font-size:7px;color:#7eb9e5}.solo-role-head b{font-size:11px}.solo-role-head em{font-style:normal;font-size:7px;color:#7c94a6;border:1px solid #2b475b;padding:4px 6px;border-radius:999px}.solo-role>p{font-size:11px;line-height:1.55;color:#d2e0e8;margin:9px 0 0}.solo-question small{font-size:8px;color:var(--amber);font-weight:900}.solo-question h3{font-size:17px;margin:4px 0 9px}.solo-choices{display:grid;gap:8px}.solo-choices button{border:1px solid #29465c;background:#0a1925;color:#eaf6fd;padding:13px;border-radius:12px;text-align:left;font-size:11px;line-height:1.45;cursor:pointer}.solo-choices button:hover{border-color:var(--blue);background:#10263a}.solo-feedback{margin-top:12px;padding:12px;border:1px solid #33536a;background:#091923;border-radius:13px}.solo-feedback.good{border-color:#2d6d4b;background:#0b2117}.solo-feedback.bad{border-color:#74333a;background:#251317}.solo-feedback>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.solo-feedback>div>b{font-size:9px}.solo-feedback span{font-size:8px;padding:4px 6px;border-radius:999px;background:#07131d}.solo-feedback .up{color:#79dfa1}.solo-feedback .down{color:#ff9090}.solo-feedback p{font-size:10px;line-height:1.5;color:#b7cad7}.solo-feedback .primary{width:100%}.solo-result{margin-top:20px}
@media(max-width:640px){
 .shell{width:100%;padding:8px 10px 88px;overflow-x:hidden}.top{height:50px}.top>a{width:34px;height:34px}.logo{width:36px;height:36px}.hero{margin-top:6px;padding:14px;border-radius:18px}.hero .eyebrow{font-size:8px}.hero h1{font-size:36px;line-height:1;margin:7px 0}.hero p{font-size:11px;line-height:1.5}.disclaimer{font-size:10px;margin-top:10px;padding:10px}.night-banner{grid-template-columns:36px minmax(0,1fr) 18px;gap:9px;margin:10px 0;padding:12px;border-radius:16px;overflow:hidden}.night-banner>span{font-size:29px}.night-banner small{font-size:7px;letter-spacing:.09em}.night-banner b{font-size:17px;line-height:1.15}.night-banner p{font-size:9px;line-height:1.4;margin-top:4px}.night-banner strong{font-size:19px}.join-night{padding:12px;margin-bottom:12px;gap:10px;border-radius:16px}.join-row{display:grid;grid-template-columns:1fr}.join-row input,.join-row button{width:100%;min-height:46px}.section{margin:18px 2px 9px}.section b{font-size:19px}.section small{display:none}.mode{padding:13px;grid-template-columns:30px 1fr 14px;gap:9px;border-radius:15px}.mode .ico{font-size:24px}.mode b{font-size:15px}.mode p{font-size:10px}.mode em{font-size:8px;margin-top:6px}.solo-setup{margin-top:8px;padding:13px;border-radius:18px}.solo-setup-hero{grid-template-columns:40px 1fr;gap:9px}.solo-setup-hero>span{font-size:34px}.solo-setup-hero h1{font-size:25px;line-height:1.05}.solo-setup-hero p{grid-column:1/-1;font-size:10px}.solo-rule-grid{grid-template-columns:1fr;gap:6px;margin:12px 0}.solo-rule-grid article{display:grid;grid-template-columns:26px 1fr;padding:9px}.solo-rule-grid article>span{grid-row:1/3}.solo-rule-grid b{margin:0}.solo-rule-grid p{margin:2px 0 0}.solo-length>div{gap:6px}.solo-length button{padding:10px}.solo-progress{grid-template-columns:34px minmax(0,1fr);padding:8px}.solo-progress em{grid-column:2;justify-self:start}.solo-case{padding:12px;border-radius:16px}.solo-case h2{font-size:20px}.solo-role-head{grid-template-columns:30px 1fr}.solo-role-head em{grid-column:1/-1;justify-self:start}.solo-question h3{font-size:15px}.solo-choices button{font-size:12px;min-height:54px;padding:12px}.solo-board article p,.solo-role>p{font-size:10px}.solo-feedback p{font-size:10px}
}
