.new-landing{max-width:1080px;margin:0 auto;padding:54px 24px}.new-landing>h1{font-size:clamp(42px,6vw,72px);line-height:1.06;letter-spacing:-.055em;margin:18px 0 24px}.new-landing h1 em{color:#5358d6;font-style:normal}.new-landing>.lede{max-width:740px}.new-landing>.companion-card{max-width:760px}.role-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.role-choices article{border:1px solid #d8deea;border-radius:22px;padding:30px;background:white;display:flex;flex-direction:column;align-items:flex-start}.role-choices h2{font-size:25px;line-height:1.3}.role-choices p{line-height:1.7;flex:1}.role-choices .role-hacker{background:#182238;color:#e9eefc;border-color:#243752}.role-hacker p{color:#bac8de}.role-hacker .kicker{color:#b6a4f4}.role-choices button{margin-top:15px}.hacker-story{max-width:870px;margin:0 auto;padding:30px 25px 60px}.hacker-story h1{font-size:clamp(25px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:26px 0}.story-steps{display:flex;list-style:none;padding:0;gap:12px;margin:20px 0 28px}.story-steps li{display:flex;align-items:center;gap:9px;flex:1;color:#94a7c3;font-size:12px;border-bottom:2px solid #2d3b54;padding:12px 0}.story-steps li[aria-current]{color:#eee9ff;border-color:#ad91ff}.story-steps li span{display:grid;place-items:center;border:1px solid #4a5870;width:27px;height:27px;border-radius:50%;flex:none}.hacker-message{background:#f5f6fb;color:#263652;border-radius:16px;padding:24px;margin:22px 0}.hacker-message>.kicker{color:#687693;display:block;margin-bottom:12px}.hacker-message p{line-height:1.7;color:#263652}.consequence-card{background:#352b27;border:1px solid #705844;border-radius:16px;padding:24px;margin:24px 0}.consequence-card p{line-height:1.8;color:#dfccbd}.hacker-story>.primary-button{margin:12px 0}.lesson-details{border:1px solid #d6deeb;border-radius:12px;margin:14px 0;text-align:left;padding:16px}.lesson-details summary{font-weight:650;cursor:pointer;font-size:14px;line-height:1.5}.lesson-details p,.lesson-details li{font-size:14px;line-height:1.7}.clue-review{display:grid;grid-template-columns:1fr 1fr;gap:24px}.clue-review h3{font-size:15px;line-height:1.5}.clue-review ul{padding-left:20px}.mode-hacker .lesson-details{border-color:#41516a;color:#bfccde}.mode-hacker .lesson-details h3{color:#f0f3fb}.mode-hacker .lesson-details summary{color:#e9eef9}.hacker-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.hacker-compare article{background:#222d42;border:1px solid #3b4a65;padding:22px;border-radius:15px}.hacker-compare article:last-child{border-color:#568466;background:#213d34}.hacker-compare span{font-size:11px;letter-spacing:.04em}.hacker-compare p{font-size:14px;line-height:1.7}.qr-poster{max-width:285px;display:flex;flex-direction:column;align-items:center;gap:12px;background:#fffef5;border:1px solid #d9d6c2;box-shadow:3px 4px 0 #e3e4d8;padding:20px;margin:20px auto;transform:rotate(-1deg)}.qr-poster svg{width:115px;height:115px}.qr-poster>span{font-size:11px;font-weight:700;letter-spacing:.05em}.qr-poster strong{font-size:23px}.qr-poster small{font-size:11px;line-height:1.5;text-align:center}.voice-player{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#ede9f7;padding:16px;border-radius:14px;margin:18px 0}.voice-player>span{font-size:12px;font-weight:700;width:100%}.voice-player small{font-size:12px;line-height:1.6;color:#59637b}.phone-chat .qr-poster{width:100%;max-width:265px}.sender-address{overflow-wrap:anywhere}.hacker-story .companion-text{font-size:14px!important}.hacker-story .companion-title{font-size:17px!important}.outcome>h1{font-size:clamp(25px,4vw,38px);line-height:1.25}.case-switch{max-height:60dvh;overflow:auto}
@media(max-width:760px){.new-landing{padding:28px 18px}.role-choices{grid-template-columns:1fr;gap:18px}.role-choices article{padding:24px}.role-choices h2{font-size:22px}.hacker-toolbar .hacker-case{display:none}.hacker-story{padding:20px 16px 45px}.story-steps{gap:8px}.story-steps li{font-size:11px;align-items:flex-start;flex-direction:column;gap:6px}.clue-review,.hacker-compare{grid-template-columns:1fr;gap:8px}.hacker-story .lever-grid{grid-template-columns:1fr}.hacker-message{padding:20px}.hacker-story .companion-text{font-size:13px!important}.hacker-story>.button-row{flex-wrap:wrap}.lesson-details{padding:13px}.outcome{padding:25px 16px!important}.outcome-actions{flex-wrap:wrap}}

.hacker-story .lever-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.hacker-story .lever-card span{grid-column:auto}.simulator-guide .companion-text{font-size:13px!important}.phone-app-bar p{overflow-wrap:anywhere}.phone-url-bar span{overflow-wrap:anywhere}

/* Exploration: one opening brief, then help chosen by the player. */
.simulator-button .lumi-avatar{width:30px;height:30px;filter:none}.simulator-button .lumi-avatar *{animation:none}.exploration-guide{width:405px}.exploration-guide .companion-card{background:transparent;border:0;padding:0;gap:12px}.exploration-guide .companion-text{font-size:13px!important}.exploration-guide .companion-indice{padding:13px;background:#fff6e7;border:1px solid #eee1c8}.hacker-lumi-help{margin:8px 0 18px;border-bottom:1px solid #31425b;padding:0 0 9px}.hacker-lumi-help>summary{display:flex;align-items:center;gap:10px;cursor:pointer;color:#b9cadf;font-size:13px;list-style:none;min-height:44px}.hacker-lumi-help>summary::after{content:'+';margin-left:auto;font-size:22px}.hacker-lumi-help[open]>summary::after{content:'−'}.hacker-lumi-help>summary .lumi-avatar{width:42px;height:42px}.hacker-lumi-help>summary .lumi-avatar *{animation:none}.new-landing>.companion-card{max-width:780px}.companion-controls button:focus-visible{outline:2px solid #8f7bd7;outline-offset:3px}
@media(max-width:760px){.exploration-guide{width:370px;max-height:65%;padding:12px 16px}.simulator-button .lumi-avatar{width:26px;height:26px}.hacker-lumi-help>summary{font-size:12px}.exploration-guide .companion-avatar,.exploration-guide .lumi-avatar{width:68px;height:68px}}

/* Cards retain their content height; the list scrolls instead of squeezing them. */
#cases{overflow:hidden}#cases[open]{display:flex;flex-direction:column}#cases .dialog-top{flex:none}#cases .dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain}#cases-list{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;gap:12px;max-height:none;overflow:visible;padding:0 4px 4px;min-width:0}#cases .case-option{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:start;height:auto;min-height:0;flex-shrink:0;padding:18px;gap:12px;border-radius:14px;background:white;white-space:normal}#cases .case-option>div{min-width:0}#cases .case-option strong{font-size:16px;line-height:1.4;margin-bottom:8px;overflow-wrap:anywhere}#cases .case-option p{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}#cases .case-option small{font-size:11px;line-height:1.5}#cases .case-option:hover{background:#f7f5ff;border-color:#a79ded;color:#4e49ce}#cases .case-option:focus-visible{outline-offset:-3px}
.game-controls-label{font-size:9px;color:#687088;letter-spacing:.06em;margin-right:4px}.simulator-toolbar{border-bottom:3px solid #ded9f2}.sender-identity{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;flex:1;padding:10px 12px;border:1px solid #d3dcea;border-radius:9px;background:#f8faff;text-align:left;cursor:pointer}.sender-identity:hover{background:#edf1ff;border-color:#8e83d9}.sender-lines{min-width:0}.sender-lines .sender-name{font-size:15px}.sender-lines .sender-address{font-size:13px;color:#465b76}.sender-lines small{display:block;font-size:12px;color:#60708a}.sender-details-link{color:#4e49ce;font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.sender-details-link>span{font-size:20px;margin-left:6px}.message-cta-wrap{display:flex;align-items:flex-start;flex-direction:column;gap:8px;margin:22px 0 0}.message-cta-wrap .mail-cta{background:#2365b6;color:white;font-size:15px;min-height:46px;padding:12px 20px;border-radius:7px;text-decoration:none}.message-cta-wrap .mail-cta:hover{background:#174d92}.message-cta-wrap>small{font-size:11px;color:#66758b}.mail-investigation-tools{margin:20px 0;padding:16px;background:#f5f2fc;border:1px solid #dcd4ef;border-radius:12px}.investigation-label{display:block;font-size:10px;font-weight:750;color:#6a53a5;letter-spacing:.05em;line-height:1.5;margin-bottom:10px}.investigation-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 15px;border:1px solid #b8abd8;border-radius:9px;background:white;color:#4d3d82;font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.investigation-button:hover{background:#ece6fc;border-color:#806db6}.investigation-detail{padding:18px;background:#f6f3fe;border:1px solid #d7ceee;border-radius:12px;margin-top:16px}.investigation-detail>strong{display:block;overflow-wrap:anywhere;font-size:15px;line-height:1.6}.investigation-detail>h3{font-size:16px;line-height:1.4;margin:18px 0 8px}.investigation-detail>p{font-size:14px;line-height:1.65;color:#4d5e77}.investigation-detail .notebook-purpose{font-size:13px;margin-bottom:16px}.evidence-choices{display:flex;flex-wrap:wrap;gap:10px}.notebook-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid #6354b0;padding:11px 16px;border-radius:9px;background:#6150b1;color:white;font-size:14px;font-weight:650}.notebook-button:hover{background:#493992}.notebook-button:disabled{opacity:1;background:#e8edf5;color:#486078;border-color:#b9c9dc}.evidence-choices .secondary-button{font-size:14px;padding:11px 16px}.decision-panel{background:#f5f2fc;border:1px solid #dcd4ef;border-radius:12px;padding:18px;margin-top:20px}.decision-panel>h3{font-size:17px;line-height:1.4;margin:0 0 16px}.decision-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.decision-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:white;border:1px solid #b8abd8;border-radius:10px;min-height:92px;padding:13px 10px;font-size:14px;font-weight:650;line-height:1.45;text-align:center;color:#493c73}.decision-button svg{width:23px;height:23px}.decision-button:hover{background:#ece6fc;border-color:#806db6}.message-body{font-size:15px;line-height:1.7}.phone-inspect-identity{min-height:46px!important;background:#f2f5fc!important;border:1px solid #cad5e8!important;border-radius:9px;padding:12px!important;color:#384f77!important;font-size:14px!important;font-weight:650!important;text-decoration:underline;text-underline-offset:3px}.phone-chat .phone-bubble{font-size:14px;line-height:1.7}.phone-chat .phone-link-button{background:#2365b6;color:white;padding:11px 15px;border-radius:7px;font-size:14px;min-height:46px;text-decoration:none}.phone-chat .phone-request{border:1px solid #d4dded;background:white}.phone-decision{margin-top:18px}.phone-decision .decision-options{grid-template-columns:1fr}.phone-decision .decision-button{flex-direction:row;justify-content:flex-start;text-align:left;min-height:52px;padding:12px 14px}.phone-detail .evidence-choices{flex-direction:column}.phone-detail .notebook-button,.phone-detail .secondary-button{width:100%}.exploration-guide{width:450px}.exploration-guide .companion-text{font-size:14px!important}.exploration-guide .companion-avatar,.exploration-guide .lumi-avatar{width:74px;height:74px}
@media(max-width:1050px){.game-controls-label{display:none}.decision-options{grid-template-columns:1fr}.decision-button{flex-direction:row;justify-content:flex-start;min-height:48px;text-align:left}}
@media(max-width:760px){#cases .dialog-body{padding:20px 16px}#cases .case-option{padding:16px 12px;grid-template-columns:21px minmax(0,1fr) 18px;gap:9px}#cases .case-option strong{font-size:15px}#cases .case-option p{font-size:13px}#cases .case-option small{font-size:10px}.sender-identity{gap:9px;padding:10px}.sender-details-link{font-size:12px}.sender-lines .sender-address{font-size:13px}.mail-investigation-tools,.decision-panel{padding:14px}.investigation-button{font-size:14px;width:100%}.investigation-detail{padding:14px}.decision-options{grid-template-columns:1fr}.decision-button{flex-direction:row;justify-content:flex-start;min-height:50px;text-align:left}.exploration-guide{width:400px}.exploration-guide .companion-avatar,.exploration-guide .lumi-avatar{width:60px;height:60px}}

/* The decision stays visible while the received message scrolls independently. */
.mail-reading-pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#fff}
.mail-reading-pane>.message-pane{flex:1;min-height:0;overflow:auto}
.mail-reading-pane>.decision-panel{flex:none;margin:0;border:0;border-top:2px solid #d8d3ff;border-radius:0;padding:12px 22px;background:#f6f4ff}
.mail-reading-pane>.decision-panel h3{font-size:16px;margin:4px 0 10px}
.mail-reading-pane .decision-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.mail-reading-pane .decision-button{min-height:46px;padding:9px;flex-direction:row;gap:7px;font-size:13px}
.cases-scroll-tip{font-size:12px!important;margin:0 0 14px!important;color:#6255b3!important}
@container (max-width:600px){.mail-reading-pane>.decision-panel{padding:10px 12px}.mail-reading-pane .decision-button{flex-direction:column;font-size:12px;min-height:62px}.mail-reading-pane .decision-button svg{width:17px;height:17px}}

.notebook-access{border-color:#aba0ea;color:#5043a7;background:#f4f1ff}
@media(max-width:480px){.simulator-toolbar nav{gap:3px}.simulator-toolbar .simulator-button{padding:7px 6px;font-size:11px}.notebook-access>svg{display:none}}

.phone-link-button{color:#fff!important;background:#2365b6!important;font-size:14px!important}
.phone-fixed-decision{flex:none;border-top:2px solid #d8d3ff;background:#f6f4ff}
.phone-fixed-decision .decision-panel{border:0;border-radius:0;margin:0;padding:10px 12px}
.phone-fixed-decision .decision-panel h3{font-size:14px;margin:4px 0 8px}
.phone-fixed-decision .investigation-label{margin:0;font-size:9px}
.phone-fixed-decision .decision-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.phone-fixed-decision .decision-button{min-height:62px;padding:7px 4px;font-size:12px;line-height:1.4;flex-direction:column;gap:5px;text-align:center}
.phone-fixed-decision .decision-button svg{width:17px;height:17px}
