@layer legacy,legacy-important;
@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@layer legacy{
/* Source: style.css */
button,input,select,textarea{font:inherit}
a{text-decoration:none}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.sidebar{background:#101b2b;color:#d5e0e8;padding:28px 18px;display:flex;flex-direction:column;gap:22px}
.brand{font-size:24px;font-weight:800;letter-spacing:-.04em;color:#fff;padding:0 12px}
.brand span{color:#6ed3b5}
.nav{display:grid;gap:4px}
.nav button{border:0;background:transparent;color:#b8c7d2;text-align:left;padding:12px 14px;border-radius:8px;width:100%}
.nav button.active,.nav button:hover{background:#24364a;color:#fff}
.sidefoot{margin-top:auto;font-size:12px;color:#8da2b0;padding:12px}
.main{min-width:0}
.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px}
.topbar small{color:var(--muted)}
.topbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 12px}
.page{max-width:1200px;margin:auto;padding:38px 42px 80px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--accent)}
h2{letter-spacing:-.03em}
.lede{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.card p{color:var(--muted);line-height:1.55;margin:6px 0 0}
.badge{display:inline-block;padding:5px 8px;border-radius:4px;background:var(--soft);color:#075d56;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.badge.demo{background:#fff0d7;color:#805a17}
.button{display:inline-block}
.metric{font-size:39px;font-weight:800;letter-spacing:-.05em}
.metric small{font-size:15px;color:var(--muted);letter-spacing:0}
.bar{margin:14px 0}
.bar i{display:block;height:100%}
.row{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}
.row:last-child{border:0}
.muted{color:var(--muted)}
.list{display:grid;gap:12px}
.form label{display:grid;gap:6px;font-weight:700}
.form input,.form textarea,.form select,.filter{border:1px solid #cbd7dd;background:#fff;border-radius:7px;padding:11px 12px;color:var(--ink);width:100%}
.form textarea{resize:vertical}
.form small{font-weight:400;color:var(--muted)}
.notice{background:#eaf5f1;padding:12px 15px;margin:18px 0;color:#24534d}
.error{border-left-color:#b44235;background:#fff0ee;color:#8a3127}
.auth{min-height:100vh;display:grid}
.auth-hero{display:flex;flex-direction:column;justify-content:center}
.auth-panel{display:flex;align-items:center;justify-content:center}
.auth-panel .card{width:min(100%,460px)}
.pillrow{display:flex;gap:8px;flex-wrap:wrap}
.pill{border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:var(--muted);font-size:12px}
.activity{font-size:13px;color:var(--muted)}
.mobile-nav{display:none}
@media(max-width:900px){.shell{grid-template-columns:1fr}
.sidebar{display:none}
.topbar{padding:0 20px;height:64px}
.page{padding:28px 20px 100px}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-nav{justify-content:space-around;padding:7px 3px max(7px,env(safe-area-inset-bottom))}
.mobile-nav button.active{color:#79dec2}}
@media(max-width:580px){.grid,.grid.two{grid-template-columns:1fr}
.page{padding:24px 16px 94px}
.topbar{padding:0 16px}
.row{align-items:flex-start}}
@media(prefers-color-scheme:dark){body.dark{--ink:#e4edf1;--muted:#a2b5c1;--line:#354655;--paper:#1b2a38;--soft:#203e3c;background:#14212d;color:var(--ink)}
body.dark .topbar,body.dark .form input,body.dark .form textarea,body.dark .form select,body.dark .filter{background:#1b2a38;color:var(--ink)}
body.dark .button.secondary{background:#1b2a38}
body.dark .notice{background:#1c4541;color:#d2eee5}}
body.dark .topbar,body.dark .form input,body.dark .form textarea,body.dark .form select,body.dark .filter{background:#1b2a38;color:var(--ink)}
body.dark .button.secondary{background:#1b2a38}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
th{background:var(--soft)}
#sqlquery{margin-top:10px;min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.home{max-width:1050px;margin:auto}
.home-intro{padding:22px 0 26px}
.home-intro h1{font-size:clamp(38px,5vw,64px);max-width:760px;margin:13px 0}
.home-intro p{color:var(--muted);margin:0;font-size:15px}
.home-primary{color:white;max-width:100%}
.home-primary .eyebrow{color:#9ee5cf}
.home-primary p{color:#c5ded5;max-width:650px;line-height:1.55}
.home-actionline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 20px;font-size:13px;color:#d8e9e1}
.home-primary .button{background:#e4fbef;border-color:#e4fbef;color:#11352f}
.home-primary details{border-top:1px solid #ffffff35;padding-top:15px;color:#d8e9e1}
.home-primary summary{width:max-content}
.home-primary details p{font-size:13px}
.home-columns{margin-top:43px}
.home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:6px}
.home-section-head h2{font-size:20px;margin:0}
.home-section-head span{font-size:12px;color:var(--muted)}
.home-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}
.home-row>div{display:grid;gap:5px}
.home-row small{color:var(--accent);font-weight:800;font-size:10px;letter-spacing:.08em}
.home-row strong{font-size:17px;letter-spacing:-.02em}
.home-row span{color:var(--muted);font-size:13px}
.home-context{border-left:1px solid var(--line);padding-left:34px}
.home-context>strong{font-size:19px;display:block;margin:22px 0}
.home-score{display:flex;align-items:center;justify-content:space-between;padding:9px 0;color:var(--muted);font-size:13px}
.score-link{border:0;background:transparent;color:var(--ink);font-weight:800;font-size:20px;cursor:pointer}
.text-button{background:transparent;border:0;color:var(--accent);padding:2px}
.home-divider{height:1px;background:var(--line);margin:20px 0}
.home-context p{font-size:13px;color:var(--muted);margin:10px 0}
.home-context .eyebrow{font-size:10px}
@media(max-width:800px){.home-columns{grid-template-columns:1fr;gap:26px}
.home-context{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}
.home-primary{padding:29px 25px}}
@media(max-width:580px){.home-intro{padding-top:8px}
.home-intro h1{font-size:39px}
.home-primary{padding:25px 20px}
.home-actionline{align-items:flex-start;flex-direction:column}
.home-row{align-items:flex-start}
.home-row .button{font-size:12px;padding:8px 11px}}
.comp-tabs{display:flex}
.comp-utility{display:flex;gap:14px;align-items:center;min-height:26px;margin-top:12px}
.candidate{padding:18px 0;border-bottom:1px solid var(--line)}
.candidate:last-child{border:0}
.candidate strong{font-size:16px}
.candidate p{font-size:13px;margin:6px 0}
.checkline{flex-direction:row;align-items:center;gap:10px}
.task-select{max-width:150px}
@media(max-width:580px){.comp-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.task-select{max-width:135px}}
.roadmap-journey{margin-top:38px}
.roadmap-stage{display:grid;position:relative}
.roadmap-stage:not(:last-child):before{content:"";position:absolute;top:49px;bottom:0;width:1px}
.roadmap-index{display:grid;place-items:center;font-weight:800;font-size:13px;z-index:1}
.roadmap-content{padding:3px 0 42px}
.roadmap-heading{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:16px}
.roadmap-heading h2{margin:7px 0}
.roadmap-heading p{color:var(--muted);font-size:14px;margin:0}
.roadmap-heading>.muted{font-size:12px;white-space:nowrap}
.roadmap-stage .home-row:last-child{border:0}
@media(max-width:580px){.roadmap-stage:not(:last-child):before{top:35px}
.roadmap-heading{display:block}
.roadmap-heading>.muted{display:block;margin-top:7px}}
.role-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:54px;max-width:1050px}
.role-section{padding:10px 0 36px;border-bottom:1px solid var(--line)}
.role-section+.role-section{padding-top:34px}
.role-section h2{margin:12px 0}
.role-section p{color:var(--muted);line-height:1.65;max-width:690px}
.role-day{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.role-day strong{color:var(--ink)}
.role-day span{color:var(--muted)}
.role-facts{border-left:1px solid var(--line);padding-left:30px}
.role-facts>div{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.role-facts p{line-height:1.6;margin:8px 0 0;color:var(--muted);font-size:14px}
@media(max-width:800px){.role-layout{grid-template-columns:1fr;gap:30px}
.role-facts{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
.role-day{grid-template-columns:90px 1fr}}
.workspace-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px}
.workspace-summary>div{display:grid;gap:8px}
.workspace-summary small{color:var(--muted)}
.discussion-list{max-width:760px;margin-top:22px}
.discussion-message,.research-item,.team-member{border-bottom:1px solid var(--line);padding:18px 0;max-width:760px}
.discussion-message>div{display:flex;justify-content:space-between;gap:20px}
.discussion-message small,.research-item small{display:block;color:var(--muted);font-size:12px}
.discussion-message p,.research-item p,.team-member p{white-space:pre-wrap;color:var(--muted);line-height:1.6}
.research-item h3{margin:8px 0}
.research-item a{color:var(--accent);font-weight:700;font-size:13px}
.submission-check{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line);max-width:560px;cursor:pointer}
.submission-check input{width:18px;height:18px;accent-color:var(--accent)}
@media(max-width:580px){.discussion-message>div{display:grid;gap:4px}}
.opportunity-analysis{border-top:1px solid var(--line);padding:26px 0;max-width:820px}
.opportunity-analysis h2{margin:10px 0}
.analysis-group{margin-top:24px}
.analysis-group h3{font-size:14px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.analysis-line{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.analysis-line small{color:var(--muted);line-height:1.55}
@media(max-width:580px){.analysis-line{grid-template-columns:1fr;gap:4px}}
.evidence-layout{display:grid}
.evidence-skill{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;display:flex;justify-content:space-between;gap:14px}
.evidence-skill.active{background:var(--soft);border-left:3px solid var(--accent)}
.evidence-skill>div{display:grid;gap:5px}
.evidence-skill small,.proof-entry small{color:var(--muted)}
.evidence-skill>span{font-size:12px;white-space:nowrap}
.evidence-detail{border-left:1px solid var(--line)}
.evidence-detail h2{margin:10px 0 22px}
.proof-flow{display:flex;flex-wrap:wrap;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:17px}
.proof-entry{border-bottom:1px solid var(--line)}
.proof-entry strong,.proof-entry small{display:block}
.proof-entry small{font-size:12px;margin-top:5px;line-height:1.5}
.proof-entry p{font-size:13px;line-height:1.6;white-space:pre-wrap;color:var(--muted)}
@media(max-width:800px){.evidence-layout{grid-template-columns:1fr;gap:25px}
.evidence-detail{border-left:0;border-top:1px solid var(--line);padding:27px 0 0}}
.competition-item{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,.6fr);border-bottom:1px solid var(--line)}
.competition-item:first-child{border-top:1px solid var(--line)}
.competition-item h2{margin:10px 0}
.competition-item p{color:var(--muted);line-height:1.6;margin:7px 0}
.competition-item>div:last-child{display:grid;align-content:center;justify-items:start}
.competition-item small{color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.7fr);gap:50px}
.detail-grid p{color:var(--muted);line-height:1.65}
.detail-facts{border-left:1px solid var(--line);padding-left:30px}
.detail-facts>div{border-bottom:1px solid var(--line);padding:14px 0;display:grid;gap:5px}
.detail-facts small{color:var(--muted)}
.invite-note{border-left:2px solid var(--accent);padding:10px 14px;background:var(--soft)}
@media(max-width:800px){.competition-item,.detail-grid{grid-template-columns:1fr}
.detail-facts{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}}
.experience-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.4fr);gap:50px}
.experience-select{display:grid;gap:5px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.experience-select.active{background:var(--soft);border-left:3px solid var(--accent)}
.experience-select small{font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.experience-select span{color:var(--muted);font-size:13px}
.experience-detail h2{margin:8px 0}
.experience-detail p{line-height:1.65;white-space:pre-wrap}
.experience-detail .section{border-top:1px solid var(--line);padding-top:22px}
.experience-layout details summary{list-style:none;cursor:pointer;width:max-content}
.experience-layout details summary::-webkit-details-marker{display:none}
@media(max-width:800px){.experience-layout{grid-template-columns:1fr;gap:30px}
.experience-detail{border-left:0;border-top:1px solid var(--line);padding:27px 0 0}}
.assessment-set{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.assessment-set:first-child{border-top:1px solid var(--line)}
.assessment-set h2{margin:10px 0}
.assessment-set p,.assessment-set small{color:var(--muted)}
.assessment-set .actions{margin-top:0;align-items:center}
.assessment-form{display:grid;gap:28px;margin-top:34px}
.assessment-question{margin:0;min-width:0}
.assessment-question legend{width:100%}
.assessment-question legend strong{display:block;margin:8px 0 18px}
.assessment-question label:not(.assessment-option){display:grid;gap:8px}
.assessment-question textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--paper);color:var(--ink);resize:vertical}
.assessment-option{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.assessment-option input{margin-top:4px;accent-color:var(--accent)}
@media(max-width:580px){.assessment-set{display:block}
.assessment-set .actions{margin-top:16px}}
.model-rules{display:grid;gap:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.6}
.model-rules span,.model-formula p{color:var(--muted)}
.model-assumptions{padding:28px 0 12px;border-top:1px solid var(--line)}
.model-assumptions label{display:grid;gap:7px;font-size:13px;font-weight:700}
.model-assumptions input{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:11px}
.model-table-wrap{overflow:auto;margin:12px 0 38px}
.model-table{min-width:560px}
.model-table th:first-child{text-align:left}
.model-table td{text-align:right;font-variant-numeric:tabular-nums}
.model-highlight{background:var(--soft);font-weight:800}
.model-formula{border-left:3px solid var(--accent);padding:12px 20px}
.model-formula p{line-height:1.6;font-size:13px}
.model-formula p:last-child{margin-bottom:0}
.side-more{margin-top:18px;text-align:left;color:#b9c8d8;padding:12px 8px;border:0;background:none;cursor:pointer}
.top-actions{display:flex;align-items:center;gap:16px}
.search-trigger{cursor:pointer}
kbd{opacity:.65}
.page-heading,.case-work-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.page-heading h1,.case-work-heading h1{margin-top:8px}
.join-panel{max-width:260px;margin-top:12px}
.join-panel summary,details summary{cursor:pointer}
.join-panel form{margin-top:18px}
.editorial-tabs{display:flex;overflow:auto;scrollbar-width:thin}
.editorial-tabs button{flex:none;background:none;border:0;border-bottom:3px solid transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.compact-filter{display:flex;align-items:flex-end;flex-wrap:wrap}
.compact-filter label{display:flex;flex-direction:column;gap:6px}
.compact-filter input,.compact-filter select{padding:10px;border:1px solid #c8d2db;border-radius:5px;background:var(--surface,#fff);color:inherit;max-width:240px}
.compact-filter details{position:relative;align-self:center}
.compact-filter summary{border:1px solid #c8d2db}
.filter-fields{position:absolute;z-index:5;left:0;top:45px;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;width:440px}
.filter-fields select{max-width:100%;width:100%}
.skill-focus{display:flex;align-items:center;flex-wrap:wrap}
.skill-focus span{font-weight:700;margin-right:10px}
.skill-focus button{font:inherit;border-bottom:1px solid transparent;cursor:pointer}
.skill-focus .focus-active{border-bottom-color:#12695f}
.case-row{display:grid;grid-template-columns:42px 1fr 132px;gap:22px;padding:28px 0;border-top:1px solid #dbe1e6}
.case-index{font-size:20px;font-weight:600;color:#8b9caa;padding-top:16px}
.case-row small,.drill-row small{color:#12695f;font-weight:700;letter-spacing:.04em}
.case-row h3{font-size:22px;line-height:1.25;margin:8px 0}
.case-row p{font-size:14px;line-height:1.65;max-width:750px;margin:10px 0}
.case-meta{font-size:12px;color:#677b8b}
.case-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;justify-content:center}
.case-row-actions .text-button{padding:5px;font-size:12px}
.case-row-actions button{white-space:normal}
.source-note{font-size:12px;padding-top:20px}
.plain-list{padding-left:20px;line-height:1.7}
.plain-list li{margin-bottom:8px}
.recommendation-reason{padding:18px 22px;line-height:1.6}
.history-row{justify-content:space-between}
.history-row p{max-width:650px}
.next-move{background:#142f36;color:#fff;padding:34px 40px;margin-top:28px;max-width:1100px}
.next-move small{color:#b7d0cb;letter-spacing:.05em}
.next-move h2{color:#fff;font-size:30px;max-width:750px}
.next-move p{color:#d6e3e0;max-width:780px;line-height:1.6}
.next-move .button{background:#d1e9db;color:#153c35}
.next-move details{margin-top:18px;font-size:13px}
.home-columns h2{font-size:21px}
.path-summary{display:flex;justify-content:space-between;gap:32px;background:#eef2f1;padding:24px 28px;margin-top:28px}
.path-summary strong{display:block;margin:6px 0}
.path-summary small{display:block}
.path-summary p{margin:8px 0;font-size:14px}
.path-summary .button{margin-top:10px}
.menu-groups{display:grid;grid-template-columns:repeat(3,1fr)}
.menu-groups h2{margin-bottom:12px}
.menu-link{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid #dbe1e6;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.practice-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:28px 0;border-top:1px solid #dbe1e6;border-bottom:1px solid #dbe1e6;padding:24px 0}
.practice-paths h2{font-size:18px}
.drill-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dbe1e6}
.drill-row>div:first-child{max-width:800px}
.drill-row span{font-size:12px;color:#677b8b}
.drill-row .button{flex:none}
.assessment-group h2{font-size:24px}
.assessment-group .assessment-set{border-top:1px solid #dbe1e6;padding:24px 0;background:none}
.assessment-group h3{font-size:20px}
.assessment-group .assessment-set p{font-size:14px}
.timer-controls{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.timer-controls #case-timer{font-family:monospace;font-size:24px;color:#12695f}
.case-workspace{display:grid;border-top:1px solid #dbe1e6;margin-top:24px}
.case-rail{border-right:1px solid #dbe1e6}
.case-rail p,.case-rail li{font-size:13px;line-height:1.65}
.case-rail h3{font-size:15px}
.case-rail nav{display:flex;flex-direction:column}
.case-rail nav button{border:0;background:none;text-align:left;font:inherit;cursor:pointer;color:inherit}
.case-rail nav button.active{font-weight:700}
.case-progress{font-size:12px;margin:24px 0}
.case-desk h2{margin-top:0}
.case-desk textarea,.case-desk input,.rubric-form textarea,.rubric-form select{display:block;width:100%;border:1px solid #c8d2db;border-radius:4px;background:var(--surface,#fff);color:inherit;padding:14px;font:inherit;margin:10px 0 20px}
.case-desk textarea{resize:vertical}
.case-desk label{font-weight:500;display:block}
.table-scroll{border:1px solid #d5ddd9}
.case-exhibit table{text-align:left}
.case-exhibit th,.case-exhibit td{white-space:normal}
.case-exhibit tbody th{text-align:left}
.exhibit-question{font-style:italic}
.inline-calculator{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #dbe1e6;border-bottom:1px solid #dbe1e6;padding:20px 0;margin:24px 0}
.inline-calculator label{flex:1;min-width:180px}
.inline-calculator input{margin-bottom:0}
.inline-calculator output{display:block;font-family:monospace;font-size:20px}
.calculation-check{border-top:1px solid #dbe1e6;padding-top:18px}
.review-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}
.review-columns>section{min-width:0}
.solution-column{border-left:1px solid #dbe1e6;padding-left:30px}
.solution-column p,.solution-column li{font-size:14px;line-height:1.7}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.calculation-review{padding:15px 0;border-bottom:1px solid #dbe1e6;font-size:14px}
.rubric-form fieldset{border:0;border-top:1px solid #dbe1e6;padding:22px 0}
.rubric-form legend{font-size:18px;font-weight:600}
.rubric-form details{font-size:13px}
.session-banner{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:24px;margin-top:24px}
.session-banner p{font-size:13px}
.session-banner strong{font-size:18px}
.evidence-facts{margin:24px 0}
.evidence-facts small{display:block;font-size:12px}
.evidence-skill span{font-size:11px;max-width:100px;text-align:right}
.opportunity-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px}
.requirement-row strong{font-size:18px}
.requirement-state{margin-left:12px}
.prep-links{display:flex;flex-wrap:wrap}
.prep-links .text-button{font-size:12px;padding:4px 0;margin-right:10px}
.stage-control{display:flex;gap:12px;align-items:center;margin-top:25px;font-size:14px}
.stage-control select{max-width:200px}
.interview-stage{max-width:900px;border-top:1px solid #dbe1e6;padding-top:24px}
.interview-heading{display:flex;justify-content:space-between;align-items:center}
.interview-heading>span:last-child{font-family:monospace;font-size:22px}
.interview-stage h2{font-size:30px;max-width:700px}
.simulation-status{font-size:14px}
.simulation-stage{padding:0 0 36px 26px;margin-left:4px;max-width:950px}
.simulation-stage p{font-size:15px;line-height:1.7}
.search-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:9vh 20px}
.search-dialog{background:#fff;color:#152b3a;padding:24px;max-height:80vh;display:flex;flex-direction:column}
.search-dialog>div:first-child{display:flex;justify-content:space-between;align-items:center}
.search-dialog h2{margin:0}
.search-dialog label{font-size:12px;font-weight:600}
.search-dialog input{display:block;width:100%;padding:14px;margin:18px 0;border:1px solid #b7c7be;border-radius:4px;font:inherit}
.search-results{overflow:auto}
.search-results button{display:flex;justify-content:space-between;gap:20px;border:0;border-bottom:1px solid #e2e7e4;padding:13px 4px;width:100%;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.search-results button:hover,.search-results button:focus{background:#eaf1ee}
.search-results small{font-size:11px;flex:none;color:#61776b}
.search-dialog>small{padding-top:18px;font-size:11px;color:#718375}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #3b8f7e;outline-offset:4px}
.waiting-note{background:#eef2f1;padding:22px}
.dark .path-summary,.dark .interview-review,.dark .recommendation-reason,.dark .session-banner,.dark .case-exhibit thead,.dark .waiting-note{background:#233c39;color:#d6e5df}
.dark .filter-fields,.dark .search-dialog{background:#172736;color:#d6e5df}
.dark .compact-filter input,.dark .compact-filter select,.dark .case-desk input,.dark .case-desk textarea{background:#172736}
.dark .case-rail nav button.active{background:#244b40;color:#cce3da}
@media(max-width:1000px){.case-workspace{grid-template-columns:220px minmax(0,1fr);gap:24px}
.case-row{grid-template-columns:30px 1fr 120px;gap:14px}
.review-columns{gap:25px}
.practice-paths{gap:20px}
.home-columns{gap:25px}
.opportunity-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:767px){.page-heading,.case-work-heading{display:block}
.join-panel{max-width:none;margin:20px 0}
.editorial-tabs{gap:20px;margin-top:20px}
.editorial-tabs button{font-size:13px}
.case-row{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:22px 0}
.case-row h3{font-size:21px}
.case-index{font-size:16px}
.case-row-actions{grid-column:2;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap}
.case-row p{font-size:13px}
.next-move{padding:24px}
.next-move h2{font-size:27px}
.home-columns,.practice-paths,.review-columns,.menu-groups{grid-template-columns:1fr;gap:24px}
.path-summary,.session-banner{display:block;padding:20px}
.path-summary>div+div,.session-banner>div+div{margin-top:20px}
.case-work-heading h1{font-size:28px}
.timer-controls{justify-content:flex-start;margin:20px 0}
.case-workspace{grid-template-columns:1fr;gap:0}
.case-rail{border:0;padding:20px 0 0}
.case-rail>p,.case-rail>h3,.case-rail>.plain-list{display:none}
.case-rail nav{flex-direction:row;overflow:auto;margin:0;gap:5px}
.case-rail nav button{flex:none;padding:9px 7px;font-size:12px}
.case-progress{display:none}
.case-rail>small{display:block;margin-top:14px}
.case-desk{padding-top:20px}
.case-desk h2{font-size:23px}
.solution-column{border-left:0;border-top:1px solid #dbe1e6;padding:25px 0 0}
.filter-fields{position:static;width:100%;grid-template-columns:1fr}
.compact-filter details{width:100%}
.compact-filter label{flex:1;min-width:110px}
.compact-filter label input,.compact-filter label select{max-width:100%;width:100%}
.skill-focus{gap:2px}
.skill-focus span{width:100%;margin-bottom:8px}
.drill-row{display:block;padding:22px 0}
.drill-row>.button,.drill-row>.case-row-actions{margin-top:14px}
.drill-row .case-row-actions{justify-content:flex-start}
.drill-row h2{font-size:24px}
.history-row{display:block}
.history-row button{margin-right:8px}
.opportunity-layout{grid-template-columns:1fr}
.opportunity-layout aside{display:flex;overflow:auto;gap:10px}
.opportunity-layout aside .experience-select{min-width:200px}
.evidence-facts{gap:16px}
.evidence-skill{gap:8px}
.interview-stage h2{font-size:26px}
.search-trigger kbd{display:none}
.top-actions{gap:10px}
.top-actions button{font-size:12px}
.search-trigger{padding:5px 8px}
.search-overlay{padding:4vh 12px}
.search-dialog{padding:18px;max-height:84vh}
.search-results button{font-size:13px;gap:8px}
.search-results small{font-size:10px}
.menu-groups{margin-top:24px}
.menu-groups section{margin:0}
.simulation-stage{padding-left:18px}
.assessment-group .assessment-set{display:block}
.assessment-group .assessment-set .actions{margin-top:14px}
.requirement-state{display:block;margin:6px 0}
.experience-detail .editorial-tabs{gap:18px}}
.case-rail,.case-desk,.case-desk form{min-width:0}
.case-desk input,.case-desk textarea{max-width:100%}
/* Source: design.css */
h1,h2,h3{color:var(--ink)}
.eyebrow,.record-label,.chapter-label{font:11px/1.5 'Courier New',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.chapter-label{display:block;font-weight:700;margin-bottom:15px}
.lede{margin:0 0 20px}
.section{margin-top:26px}
button,a,input,select{transition:background-color .12s,border-color .12s}
button{color:inherit}
small{line-height:1.45}
.field-masthead{border-bottom:1px solid var(--ink)}
.field-brand{display:flex;background:none;border:0;white-space:nowrap;padding:0;position:relative}
.stack-mark{position:relative;display:block}
.stack-mark i{position:absolute}
.stack-mark i:nth-child(3){border-color:var(--accent)}
.field-primary button{background:none;white-space:nowrap;border-bottom:3px solid transparent}
.field-primary .selected{font-weight:700;border-bottom-color:var(--accent)}
.search-trigger{background:none}
kbd{font:10px 'Courier New',monospace;margin-left:5px;color:var(--muted)}
.account-menu{position:relative;font-size:12px}
.account-menu summary{cursor:pointer;list-style:none}
.account-menu>div{display:grid;gap:12px}
.account-menu button{text-align:left;background:none;border:0;padding:5px 0}
.field-context{display:flex;align-items:center}
.field-context>span:first-child{border-right:1px solid var(--line)}
.field-context nav{display:flex;align-items:center;flex:1;overflow:auto}
.field-context button{border:0;background:none;white-space:nowrap;position:relative}
.field-context button[aria-current=page],.field-context button.selected{color:var(--accent);font-weight:700}
.field-context button[aria-current=page]:after,.field-context button.selected:after{content:'';height:2px;background:var(--accent);position:absolute;left:0;right:0;bottom:0}
.field-shell .page{margin:auto}
.button{border:1px solid var(--ink)}
.button.text-button,.text-button{border-radius:0;font-size:12px;padding:7px 0;text-align:left;font-weight:700;text-decoration-color:var(--line);text-underline-offset:4px}
.actions{margin-top:17px}
.card{border-top:1px solid var(--ink);box-shadow:none}
.card.highlight{color:var(--ink);border:1px solid var(--ink);padding:25px}
.card.highlight p{color:var(--muted)}
.grid{gap:30px}
.badge,.badge.demo,.pill{background:none;color:var(--muted);border:0;border-radius:0;padding:3px 0;font:10px 'Courier New',monospace}
.badge:before{content:'▪';margin-right:6px;color:var(--accent)}
.notice,.error{background:var(--soft);color:var(--ink);border-left:2px solid var(--accent);font-size:12px;margin:0 0 20px;padding:13px 16px}
.form input,.form select,.form textarea,.filter,.compact-filter input,.compact-filter select,.assessment-question textarea,.model-assumptions input{border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);padding:11px 12px;font-size:14px}
.form textarea{min-height:125px}
.form input:focus,.form textarea:focus{border-color:var(--ink)}
.empty{background:none;border:1px dashed var(--line);color:var(--muted)}
.bar{background:var(--line)}
.bar i{background:var(--accent)}
.briefing-title h1{margin-top:18px;max-width:650px}
.briefing-title h1 span{font-weight:400}
.briefing-goal{border-left:1px solid var(--line)}
.briefing-goal strong{display:block}
.briefing-next{border-bottom:1px solid var(--line)}
.briefing-next:before{content:'';position:absolute;top:30px;bottom:30px;width:3px;background:var(--accent);left:-17px}
.briefing-duration{color:var(--muted)}
.briefing-next .button{background:var(--accent);border-color:var(--accent);color:#fff}
.briefing-next details{font-size:12px;max-width:520px}
.briefing-next details p{font-size:12px;line-height:1.5}
.briefing-attention{border-left:1px solid var(--line)}
.briefing-attention p{line-height:1.5;color:var(--muted);font-size:14px}
.briefing-attention small{display:block;font-size:12px;color:var(--muted);max-width:270px}
.briefing-attention>.text-button{margin-top:28px}
.attention-date{display:grid;gap:8px;border-bottom:1px solid var(--line)}
.briefing-return h2{margin:18px 0 8px}
.briefing-return p{color:var(--muted);font:12px 'Courier New',monospace}
.briefing-between{border-left:1px solid var(--line)}
.briefing-between .home-row{padding:18px 0;gap:10px}
.briefing-between strong{font-size:14px}
.casebook-masthead{border-bottom:2px solid var(--ink);padding:8px 0 25px}
.casebook-masthead h1{line-height:1;margin:20px 0 14px}
.casebook-masthead .lede{font-size:15px;margin:0}
.join-panel{font-size:12px;margin:0;min-width:175px}
.join-panel summary{border-bottom:1px solid var(--ink);padding-bottom:7px}
.editorial-tabs{margin:0;padding-top:6px}
.editorial-tabs button{border-bottom-width:2px;border-radius:0}
.editorial-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}
.compact-filter{margin-top:20px}
.compact-filter label{font-size:10px;font-weight:400;text-transform:uppercase}
.compact-filter input{max-width:290px;min-width:230px}
.compact-filter summary{padding:11px;border-radius:2px;font-size:12px;border-color:var(--line)}
.filter-fields{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
.skill-focus{font-size:11px}
.skill-focus button{color:var(--muted)}
.skill-focus .focus-active{border-color:var(--accent);color:var(--accent)}
.skill-focus span{font:10px 'Courier New',monospace}
.library-index-heading{justify-content:space-between;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:10px 0;font:10px 'Courier New',monospace;color:var(--muted)}
.library-index-heading span:last-child{width:150px}
.case-file-number{border-top:3px solid var(--accent);position:relative}
.case-file-number span{display:block;color:var(--muted)}
.case-file-number strong{font-size:29px;font-weight:400;line-height:1.3;letter-spacing:-1px}
.case-file-kicker{justify-content:space-between;text-transform:uppercase}
.case-file-main>p{max-width:780px;color:var(--muted);margin:0 0 13px}
.case-file-meta{display:flex;flex-wrap:wrap}
.case-file-meta span+span:before{content:'/';color:var(--line)}
.case-file-meta .file-state{color:var(--accent)}
.case-file-actions .button{min-height:37px;text-align:center}
.case-file-actions .text-button{min-height:28px;text-align:center}
.source-note{font:10px/1.5 'Courier New',monospace;color:var(--muted);border-top:0;margin-top:24px;padding:0}
.recommendation-reason{background:var(--soft);color:var(--ink);border-left:2px solid var(--accent);font-size:13px}
.case-work-heading{border-bottom:1px solid var(--ink);padding-bottom:22px}
.case-work-heading h1{max-width:710px;margin-top:14px}
.timer-controls{border-left:1px solid var(--line);padding-left:22px;flex-wrap:wrap;max-width:330px}
.timer-controls>#case-timer{font:24px 'Courier New',monospace;color:var(--ink)}
.case-workspace{margin:0;grid-template-columns:240px minmax(0,1fr);gap:34px;border:0}
.case-rail{margin:0}
.case-rail>p,.case-rail li{font-size:12px}
.case-rail h3{font:11px 'Courier New',monospace;text-transform:uppercase;margin-top:23px}
.case-rail nav{gap:0;border-top:1px solid var(--line);margin-top:24px}
.case-rail nav button{border-bottom:1px solid var(--line)}
.case-rail nav button.active,.dark .case-rail nav button.active{background:none;color:var(--accent);font-weight:700}
.case-rail small{font-size:10px}
.case-desk{max-width:900px;min-width:0}
.case-desk h2{font-size:25px;margin-bottom:20px}
.case-desk textarea{font-family:Arial,Helvetica,sans-serif;line-height:1.75;padding:18px;color:var(--ink);font-size:15px;min-height:250px}
.case-desk label{font-size:12px;color:var(--muted)}
.case-desk .inline-calculator{background:var(--soft);border:1px solid var(--line);padding:18px;border-radius:0;margin:22px 0}
.case-desk .inline-calculator input{font:15px 'Courier New',monospace}
.case-desk .inline-calculator output{font:20px 'Courier New',monospace}
.case-exhibit{border:1px solid var(--line);border-top:2px solid var(--ink);padding:20px 22px;margin:0 0 24px}
.case-exhibit h3{font-size:18px;margin:8px 0 16px}
.table-scroll{overflow:auto}
.case-exhibit table{border-collapse:collapse;width:100%;font-size:12px;min-width:0}
.case-exhibit th,.case-exhibit td{padding:11px 10px;border:0;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
.case-exhibit th:first-child,.case-exhibit td:first-child{text-align:left}
.case-exhibit thead{background:var(--soft);font-size:10px}
.case-exhibit tbody th{font-weight:400}
.exhibit-question{font-size:12px;color:var(--muted);border-left:2px solid var(--accent);padding-left:11px;margin:16px 0 0}
.case-progress{font:10px 'Courier New',monospace;color:var(--muted);padding-top:20px}
.calculation-check input{font:15px 'Courier New',monospace;border:1px solid var(--line);border-radius:0;padding:12px}
.mode-flag{font:10px 'Courier New',monospace;border:1px solid var(--ink);display:inline-block;padding:6px 9px;margin-bottom:20px}
.interviewer-sheet>.eyebrow{display:none}
.interviewer-sheet>h1{font-size:31px}
.interviewer-sheet .session-banner{background:var(--soft);border:1px solid var(--line);border-radius:0;color:var(--ink);padding:17px;margin:22px 0}
.session-banner strong{font:13px 'Courier New',monospace}
.interviewer-sheet .solution-column{padding:24px}
.interviewer-sheet .review-columns{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:35px}
.review-columns h3{margin-top:24px}
.career-review-heading{padding:10px 0 32px;border-bottom:2px solid var(--ink);grid-template-columns:1.6fr 1fr;gap:0 40px}
.career-review-heading>.eyebrow{grid-column:1/-1}
.career-review-heading h1{line-height:1.04}
.career-review-heading h1 span{font-weight:400}
.career-review-heading p{font-size:15px;line-height:1.65;align-self:end;color:var(--muted);max-width:350px;margin:0}
.career-feature{border-bottom:1px solid var(--ink)}
.career-folio{display:flex;flex-direction:column;justify-content:space-between}
.career-folio span{font:11px 'Courier New',monospace}
.career-folio strong{line-height:.9;max-width:220px;overflow-wrap:anywhere}
.career-folio:after{background:var(--accent);top:0}
.career-feature-body h2{margin:10px 0 17px}
.career-feature-body p{max-width:640px;color:var(--muted)}
.career-feature dl{display:flex;border-top:1px solid var(--line);padding-top:13px}
.career-feature dt{color:var(--muted);margin-bottom:7px}
.career-feature dd{margin:0;line-height:1.6}
.role-facts{background:var(--soft);padding:25px;border:0}
.role-facts>div:last-child{margin:0;border:0;padding:0}
.training-paths{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:25px 0}
.training-paths summary{font-weight:700}
.training-paths summary span{font:10px 'Courier New',monospace;color:var(--muted);margin-left:20px}
.training-paths .practice-paths{border:0;padding:20px 0 0;margin:0;gap:35px}
.practice-paths p{font-size:12px}
.drill-row small,.drill-row span{color:var(--muted);font:10px 'Courier New',monospace}
.drill-row h3{margin:10px 0}
.drill-row p{line-height:1.6;max-width:740px}
.roadmap-index{font:20px 'Courier New',monospace}
.roadmap-stage:not(:last-child):before{left:23px;background:var(--ink)}
.roadmap-content{padding-bottom:38px}
.roadmap-stage .home-row{padding:17px 0}
.roadmap-stage .home-row strong{font-size:15px}
.roadmap-stage .home-row small{font:10px 'Courier New',monospace;color:var(--muted)}
.comp-tabs{gap:0;margin-top:22px;border-bottom:1px solid var(--ink);flex-wrap:nowrap;overflow:auto}
.comp-tabs .button{border:0;background:none;color:var(--ink);border-radius:0;padding:12px 16px;font-size:12px;white-space:nowrap;border-bottom:2px solid var(--accent)}
.comp-tabs .button.secondary{border-bottom:2px solid transparent;color:var(--muted)}
.comp-tabs .button:hover{background:var(--soft);color:var(--ink)}
.evidence-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr);gap:30px}
.evidence-skill{font-size:13px;padding:17px 10px;border-color:var(--line)}
.evidence-skill.active,.experience-select.active{background:var(--soft);border-left-color:var(--accent)}
.evidence-skill small{font:10px 'Courier New',monospace}
.evidence-detail{padding-left:30px;border-color:var(--line)}
.evidence-detail>h2{font-size:28px}
.proof-flow{font:10px 'Courier New',monospace;color:var(--muted);gap:13px}
.proof-flow span{border-radius:0;background:none}
.proof-entry{border-color:var(--line)}
.proof-entry small{font:10px/1.5 'Courier New',monospace}
.experience-select{padding:20px 10px;border-color:var(--line);font-size:14px}
.experience-select small{font:10px 'Courier New',monospace;color:var(--muted)}
.experience-detail{border-left:1px solid var(--line);padding-left:30px}
.experience-detail>h2{font-size:29px}
.requirement-state{border:0}
.prep-links{gap:16px;margin-top:9px}
.workspace-summary{border-color:var(--ink);padding:22px 0;gap:25px}
.workspace-summary strong{font-size:21px}
.workspace-summary small{font:10px/1.5 'Courier New',monospace}
.competition-item{padding:25px 0;gap:40px;border-color:var(--line)}
.competition-item h2{font-size:25px}
.competition-item small{font:11px 'Courier New',monospace}
.competition-item p{font-size:13px}
.competition-item .eyebrow{color:var(--accent)}
.simulation-stage{border-left:1px solid var(--ink);padding-left:30px;padding-bottom:35px}
.simulation-stage:before{background:var(--accent);border-radius:0}
.simulation-stage h2{font-size:24px}
.simulation-stage>p{max-width:790px;line-height:1.7;font-size:14px}
.simulation-stage .proof-entry{background:var(--soft);padding:20px;border:0}
.simulation-status{font:12px 'Courier New',monospace;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:15px 0;color:var(--muted)}
.simulation-timeline{max-width:1000px}
.assessment-group{border-top:1px solid var(--ink);margin-top:27px;padding-top:20px}
.assessment-set{padding:23px 0}
.assessment-set h3{font-size:21px}
.assessment-set small{font:10px 'Courier New',monospace}
.assessment-question{border-top:1px solid var(--ink);padding-top:22px}
.assessment-question legend strong{font-size:19px;line-height:1.4;max-width:850px}
.assessment-option{font-size:13px;padding:12px 0;border-bottom:1px solid var(--line);max-width:850px}
.model-rules{border-color:var(--ink);font-size:12px;padding:20px}
.model-table th,.model-table td{padding:12px;font:12px 'Courier New',monospace;border-color:var(--line)}
.model-table thead,.model-highlight{background:var(--soft)}
.model-table th:first-child{font-family:Arial,sans-serif}
.model-formula{background:var(--soft);border-color:var(--accent)}
.interview-question{border-top:2px solid var(--ink)}
.interview-question h2{max-width:780px}
.interview-question textarea{min-height:250px}
.interview-review{background:var(--soft);color:var(--ink);padding:24px;border-radius:0}
.menu-groups{margin-top:30px}
.menu-groups h2{font:12px 'Courier New',monospace;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:12px}
.menu-link{border-color:var(--line)}
.menu-link span{color:var(--accent)}
.auth-hero .brand,.auth-hero .brand span{color:var(--ink)}
.auth-hero .brand{padding:0;font-size:28px;border-bottom:2px solid var(--accent);width:max-content}
.auth-hero h1{letter-spacing:-.055em;margin:45px 0 25px}
.auth-hero .pillrow{border-top:1px solid var(--line);padding-top:24px}
.auth-panel{padding:7vw}
.auth-panel .card h2{margin:15px 0 30px}
.auth-panel .actions{display:grid;gap:12px}
.auth-panel .button.secondary{color:var(--ink);border-color:var(--line)}
.auth-panel button:disabled{opacity:.5}
body.dark .form input,body.dark .form select,body.dark .form textarea,body.dark .filter{background:var(--paper);color:var(--ink)}
body.dark .notice{background:var(--soft);color:var(--ink)}
body.dark .case-exhibit,body.dark .filter-fields{background:var(--paper);color:var(--ink)}
.dark .case-exhibit thead{background:var(--soft)}
.dark .session-banner,.dark .interview-review{background:var(--soft);color:var(--ink)}
@media(min-width:901px){.field-shell .mobile-nav{display:none}
.working-mode .field-main{background:var(--paper)}
.working-mode .page{max-width:1420px;padding-top:27px}}
@media(max-width:1100px){.field-masthead{gap:20px;padding:0 22px}
.field-primary{gap:17px}
.field-account{gap:13px}
.field-account kbd{display:none}
.field-context{padding:0 22px;gap:18px}
.field-shell .page{padding:30px 30px 70px}
.case-file-kicker{flex-direction:column;gap:5px}
.briefing-title h1{font-size:48px}
.casebook-masthead h1{font-size:57px}}
@media(max-width:900px){.field-masthead{justify-content:space-between}
.field-context>span:first-child{min-width:0;padding-right:15px}
.field-context nav{gap:20px}
.field-account{margin-left:auto}
.field-shell .mobile-nav{display:flex;background:var(--paper);border-top:1px solid var(--ink);padding:0;gap:0;height:57px;color:var(--ink);z-index:30}
.mobile-nav button{background:none;border:0;color:var(--muted);min-width:0;flex:1}
.mobile-nav button[aria-current=page]{font-weight:700}
.field-shell .page{padding-bottom:95px}
.case-workspace{gap:0}
.case-rail{margin:0;background:none;border-bottom:1px solid var(--line)}
.case-rail>p,.case-rail>h3,.case-rail>.plain-list{display:none}
.case-rail nav{flex-direction:row;margin:0;border:0;overflow:auto}
.case-rail nav button{white-space:nowrap;border-bottom:2px solid transparent;flex:none}
.case-rail nav button.active{border-bottom-color:var(--accent)}
.case-progress{padding-top:10px}
.case-desk{padding-top:24px}
.briefing-layout{grid-template-columns:minmax(0,1.6fr) minmax(210px,1fr);gap:0 30px}
.briefing-next h2{font-size:31px}
.career-feature{gap:28px}
.career-folio strong{font-size:25px;letter-spacing:-1px}
.career-review-heading h1{font-size:44px}
.interviewer-sheet .review-columns{grid-template-columns:minmax(0,1fr)}
.interviewer-sheet{padding:20px}
.timer-controls{border:0;padding:0}
.case-work-heading{flex-wrap:wrap;gap:15px}
.evidence-layout,.experience-layout{grid-template-columns:minmax(0,1fr);gap:25px}
.evidence-detail,.experience-detail{border-left:0;border-top:1px solid var(--ink);padding:23px 0 0}
.review-columns{grid-template-columns:minmax(0,1fr)}
.case-exhibit table{min-width:380px}}
@media(max-width:580px){h1{font-size:30px}
.field-masthead{height:66px}
.account-menu summary:before{content:'Account';font-size:11px}
.account-menu summary span{font-size:11px;margin-left:6px}
.field-account .search-trigger{font-size:11px}
.field-context{min-height:40px;gap:12px}
.field-context>span:first-child{display:none}
.field-context button{padding:12px 0}
.briefing-goal{border-left:0;border-top:1px solid var(--line)}
.briefing-next{padding:24px 0 25px}
.briefing-next:before{left:-9px;top:24px;bottom:25px;width:2px}
.briefing-attention,.briefing-between{border-left:0;border-top:1px solid var(--line);padding:23px 0}
.briefing-attention>.text-button{margin-top:15px}
.briefing-return{border-top:1px solid var(--line);padding:24px 0}
.chapter-label{font-size:10px}
.casebook-masthead{display:block;padding:0 0 23px}
.casebook-masthead .lede{font-size:13px}
.join-panel{min-width:0;max-width:none;font-size:11px}
.join-panel summary{width:max-content}
.editorial-tabs{gap:20px}
.editorial-tabs button{font-size:11px}
.compact-filter{gap:10px}
.compact-filter .filter-search{flex:1 1 190px}
.compact-filter input{min-width:0;width:100%;max-width:100%}
.compact-filter details{align-self:flex-end}
.compact-filter summary{padding:11px;font-size:11px}
.filter-fields{position:fixed;top:145px;width:auto;max-height:60vh;overflow:auto;padding:18px;grid-template-columns:minmax(0,1fr)}
.skill-focus{gap:8px;margin:15px 0}
.skill-focus span{width:100%;font-size:9px}
.skill-focus button{font-size:10px}
.library-index-heading{font-size:9px}
.library-index-heading span:last-child{display:none}
.case-file-number{padding:5px}
.case-file-number span{font-size:7px}
.case-file-kicker{font-size:9px;gap:6px}
.case-file h3{margin:11px 0}
.case-file-main>p{font-size:12px;line-height:1.6}
.case-file-meta{font-size:9px;gap:6px 0}
.case-file-meta span+span:before{padding:0 7px}
.case-file-actions{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-start}
.case-file-actions .text-button{font-size:10px}
.timer-controls>#case-timer{font-size:20px}
.case-desk h2{font-size:23px}
.case-desk textarea{font-size:14px;padding:14px;min-height:220px}
.case-exhibit{padding:16px 13px}
.case-exhibit h3{font-size:16px}
.case-exhibit th,.case-exhibit td{font-size:11px;padding:10px 8px}
.case-exhibit table{min-width:340px}
.case-desk .inline-calculator{padding:13px;display:flex;flex-wrap:wrap}
.case-desk .inline-calculator label{min-width:0;width:100%}
.candidate-desk,.case-desk,.case-rail{min-width:0}
.interviewer-sheet{border-top-width:3px}
.interviewer-sheet>h1{font-size:25px}
.interviewer-sheet .session-banner{display:grid;gap:15px;padding:14px}
.career-review-heading{display:block;padding:0 0 24px}
.career-review-heading h1{margin:20px 0}
.career-review-heading p{font-size:13px}
.career-feature{padding:24px 0}
.career-folio{margin-bottom:20px}
.career-folio strong{letter-spacing:-1px;max-width:none}
.career-folio span{align-self:flex-start}
.career-feature dl{display:block;margin:17px 0}
.career-feature dl div+div{margin-top:13px}
.training-paths summary{font-size:12px}
.training-paths summary span{display:block;font-size:9px;margin:8px 0 0}
.training-paths .practice-paths{display:block}
.training-paths .practice-paths section+section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.drill-row{align-items:flex-start}
.drill-row p{font-size:12px}
.drill-row .button{font-size:11px;padding:10px;flex:none}
.roadmap-stage:not(:last-child):before{left:17px}
.roadmap-stage .home-row{gap:12px;flex-wrap:wrap}
.comp-tabs{display:flex}
.comp-tabs .button{font-size:11px;padding:12px 13px}
.workspace-summary{grid-template-columns:minmax(0,1fr);gap:20px}
.simulation-stage{padding-left:18px}
.simulation-stage h2{font-size:22px}
.simulation-stage>p{font-size:13px}
.assessment-question legend strong{font-size:17px}
.experience-detail>h2{font-size:25px}
.requirement-state{display:block;margin-top:6px}
.competition-item{gap:18px}
.menu-groups{display:block}
.menu-groups section+section{margin-top:32px}
.interview-question{padding:20px 15px}
.interview-question h2{font-size:25px}
.auth{grid-template-columns:minmax(0,1fr)}
.auth-hero{border-right:0;border-bottom:1px solid var(--ink)}
.auth-hero h1{margin:28px 0 18px}
.auth-panel .card h2{font-size:30px}}
.path-summary,.dark .path-summary{color:var(--ink);padding:22px 25px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.path-summary h2{font-size:20px}
.path-summary strong{font-size:18px}
.path-summary small{font:10px 'Courier New',monospace;color:var(--muted)}
.evidence-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evidence-facts small{font:10px 'Courier New',monospace;color:var(--muted)}
.evidence-facts strong{display:block;font-size:15px;margin-top:9px}
.requirement-row{border-bottom:1px solid var(--line)}
.requirement-row p{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;line-height:1.6}
.requirement-row small{font:10px 'Courier New',monospace;color:var(--muted)}
.requirement-state{border-radius:0;padding:0;font:10px 'Courier New',monospace}
.file-label{font:10px 'Courier New',monospace;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}
.application-file{border-top:3px solid var(--ink);position:relative}
.application-file:before{content:'';width:135px;height:6px;background:var(--accent);position:absolute;left:30px;top:-7px}
.application-file>h1{font-size:32px}
.simulation-desk{border-top:3px solid var(--accent);padding-top:20px}
.simulation-desk>h1{font-size:32px}
.simulation-desk .simulation-timeline{max-width:980px}
.candidate-desk[data-pane=Brief] .case-rail>p,.candidate-desk[data-pane=Brief] .case-rail>h3,.candidate-desk[data-pane=Brief] .case-rail>.plain-list{display:none}
.candidate-desk[data-pane=Brief] .case-rail nav{margin-top:0}
.event-register .competition-list .drill-row{border-top:1px solid var(--ink);border-bottom:0}
.event-register .competition-list h2{font-size:28px}
.event-register .competition-list small{color:var(--accent);font:10px 'Courier New',monospace}
.professional-archive .experience-detail{border-top:2px solid var(--ink)}
.professional-archive .experience-layout{gap:32px;grid-template-columns:minmax(240px,.7fr) minmax(0,1.4fr)}
.candidate-desk .case-desk #case-draft>div>p{font-size:14px;line-height:1.65;max-width:790px}
.review-columns .plain-list{font-size:13px;color:var(--muted)}
.artifact-dock{border-top:1px solid var(--ink);margin-top:30px;padding-top:20px}
.artifact-dock h2{font-size:19px}
@media(max-width:900px){.professional-archive .experience-detail{padding:24px}
.candidate-desk[data-pane=Brief] .case-rail nav{margin-top:0}}
@media(max-width:580px){.application-file:before{left:15px;width:95px}
.application-file>h1,.simulation-desk>h1{font-size:26px}
.evidence-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.evidence-facts strong{font-size:13px}
.path-summary{padding:19px 17px}
.professional-archive .experience-detail{padding:20px 15px}}
.field-context nav button[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}
:is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.field-context{position:sticky;z-index:25}
.field-context nav{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.field-context nav button{flex-shrink:0}
.finance-desk .lab-heading{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:32px;padding-bottom:27px;margin-bottom:24px}
.lab-heading h1{font-size:43px;margin:17px 0 12px;letter-spacing:-1.5px}
.lab-heading p{font-size:15px;color:var(--muted);margin:0}
.lab-convention{border-left:1px solid var(--line);padding-left:25px;display:flex;flex-direction:column;justify-content:center;gap:12px;font:10px 'Courier New',monospace;color:var(--muted)}
.lab-convention strong{font:700 25px Arial,sans-serif;color:var(--ink)}
.model-reference{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:30px}
.model-reference summary{font-weight:700;cursor:pointer;min-height:32px}
.model-reference p{max-width:850px;line-height:1.7;color:var(--muted)}
.model-reference dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin:22px 0 0}
.model-reference dt{font:10px 'Courier New',monospace;color:var(--muted);margin-bottom:7px}
.model-reference dd{margin:0;font-weight:700}
.scenario-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.scenario-paper{border-top:3px solid var(--ink);min-width:0}
.scenario-paper:nth-child(2){border-top-color:var(--accent)}
.scenario-label{display:flex;justify-content:space-between;gap:12px;font:9px 'Courier New',monospace;padding:16px 0 0}
.scenario-paper .model-assumptions{border:0;background:none;padding:0 0 22px;margin:0}
.scenario-paper .model-assumptions h3{margin:19px 0}
.scenario-paper .model-assumptions .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px}
.scenario-paper label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.scenario-paper input{width:100%;box-sizing:border-box;font:700 16px 'Courier New',monospace;color:var(--ink);background:var(--soft)}
.scenario-paper .model-table-wrap{margin:0;overflow:auto;border:1px solid var(--line)}
.scenario-paper .model-table{min-width:380px;width:100%;font-size:11px}
.scenario-paper .model-table :is(th,td){padding:12px 10px}
.scenario-paper .model-table td{font:12px 'Courier New',monospace;text-align:right;font-variant-numeric:tabular-nums}
.scenario-paper .model-highlight{background:var(--soft);font-weight:700}
.investment-decision{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:60px;margin-top:40px;padding:32px 0;border-top:2px solid var(--ink)}
.decision-guide h2{font-size:29px;letter-spacing:-.6px;margin:17px 0}
.decision-guide p{font-size:13px;line-height:1.7;color:var(--muted)}
.investment-decision .form{max-width:none;display:grid}
.npv-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.investment-decision .button{justify-self:start}
.investment-decision small{font-size:11px;color:var(--muted)}
.saved-models{border-top:1px solid var(--ink);padding-top:23px}
.assessment-desk>h1{font-size:35px;max-width:850px;margin:15px 0}
.assessment-desk>.lede{max-width:790px;font-size:14px}
.assessment-desk .assessment-clock{position:sticky;top:46px;z-index:20;display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;background:var(--ink);color:var(--paper);border:0;font:11px 'Courier New',monospace}
.assessment-desk .assessment-form,.assessment-desk .assessment-review{max-width:900px;margin:0 auto}
.assessment-desk .assessment-question{border-bottom:1px solid var(--line)}
.assessment-desk .assessment-question legend{display:block;padding:0;width:100%}
.assessment-desk .assessment-question legend strong{display:block;font-size:21px;line-height:1.45;letter-spacing:-.35px;margin:14px 0 20px}
.assessment-desk .assessment-option{border:1px solid var(--line);padding:14px 16px;margin:8px 0;cursor:pointer;font-size:14px;background:var(--paper)}
.assessment-desk .assessment-option:has(input:checked){border-color:var(--ink);background:var(--soft);box-shadow:inset 3px 0 var(--accent)}
.assessment-desk .assessment-option input{flex-shrink:0;width:17px;height:17px}
@media(max-width:1100px){.scenario-comparison{gap:22px}
.scenario-paper .model-table :is(th,td){padding:11px 8px}
.investment-decision{gap:32px}}
@media(max-width:900px){.finance-desk .lab-heading{grid-template-columns:minmax(0,1fr) 170px}
.scenario-comparison{grid-template-columns:minmax(0,1fr);gap:35px}
.scenario-paper .model-assumptions .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.scenario-paper .model-table{font-size:12px}
.investment-decision{grid-template-columns:minmax(0,1fr);gap:22px}
.lab-heading h1{font-size:35px}}
@media(max-width:580px){.finance-desk .lab-heading{display:block;padding-bottom:21px}
.lab-heading h1{font-size:31px}
.lab-convention{border-left:0;padding:16px 0 0;margin-top:18px;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:10px 18px}
.lab-convention strong{font-size:18px}
.lab-convention span:last-child{width:100%}
.model-reference dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.scenario-paper .model-assumptions .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.npv-answers{grid-template-columns:minmax(0,1fr);gap:15px}
.scenario-paper .model-table{min-width:0;font-size:9px}
.scenario-paper .model-table :is(th,td){padding:10px 5px}
.assessment-desk>h1{font-size:28px}
.assessment-desk .assessment-clock{padding:13px 12px;font-size:10px}
.assessment-desk .assessment-question legend strong{font-size:19px}
.assessment-desk .assessment-option{padding:15px 12px}
.case-file-actions .text-button{min-height:44px}
.case-rail nav button{min-height:44px}
.field-context button{min-height:44px}
.assessment-desk .assessment-question textarea{width:100%;box-sizing:border-box}}
.account-menu>div{z-index:45}
.assessment-desk .assessment-question{margin:20px 0;padding:22px 0}
@media(max-width:580px){.assessment-desk .assessment-clock{top:44px}}
.field-context nav,.editorial-tabs{scrollbar-width:none}
.field-context nav::-webkit-scrollbar,.editorial-tabs::-webkit-scrollbar{display:none}
.assessment-desk :is(input,textarea){scroll-margin-top:125px}
@media(max-width:580px){.casebook-masthead h1{white-space:normal;letter-spacing:-1.6px}
.scenario-label{flex-wrap:wrap}
.lab-convention span{font-size:10px}
.scenario-paper .model-table td{font-size:11px}}
.simulation-desk .stage-pending{border-top:1px solid var(--line)}
.simulation-desk .stage-pending h2{font-size:20px;margin:12px 0}
.simulation-desk .stage-pending p{font-size:12px;color:var(--muted)}
.simulation-desk .stage-active{padding:25px 30px;border-top:1px solid var(--line);margin:28px 0}
.simulation-desk .stage-active .form{max-width:850px}
.simulation-desk .stage-saved{border-top:1px solid var(--ink);padding:25px 0}
.simulation-desk .stage-saved .proof-entry{border-left:2px solid var(--line);padding:15px 20px}
.simulation-desk .stage-active textarea{min-height:210px}
@media(max-width:580px){.simulation-desk .stage-active{padding:22px 16px}
.simulation-desk .stage-active h2{font-size:23px}
.simulation-desk .stage-active textarea{font-size:16px}
.simulation-desk .stage-pending h2{font-size:18px}}
.settings-layout,.daily-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:65px;margin-top:32px}
.settings-layout .form{display:grid;max-width:none}
.settings-layout .form h2{border-top:1px solid var(--line);padding-top:23px}
.settings-layout .form .button{justify-self:start}
.account-record{border-left:1px solid var(--line);padding-left:32px}
.account-record h2{font-size:20px;overflow-wrap:anywhere}
.account-record p{font-size:13px;line-height:1.7}
.account-record a{display:inline-block;text-decoration:none}
.account-record h3{margin-top:35px}
.daily-layout>section{border-top:2px solid var(--ink);padding-top:25px;min-width:0}
.daily-layout h2{font-size:27px;letter-spacing:-.5px}
.daily-history{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;display:flex;gap:15px;flex-wrap:wrap}
.daily-history small{width:100%;color:var(--muted);font-size:11px}
.mission-line{display:flex;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.mission-line>span{font:12px 'Courier New',monospace;color:var(--muted)}
.mission-line>div{flex:1}
.mission-line small{display:block;color:var(--muted);font-size:11px;margin-top:7px}
.menu-link{text-decoration:none}
.saved-status{border-left:2px solid var(--accent);padding-left:12px}
@media(max-width:900px){.settings-layout,.daily-layout{gap:32px}}
@media(max-width:580px){.settings-layout,.daily-layout{grid-template-columns:minmax(0,1fr);gap:30px}
.account-record{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}
.settings-layout .grid.two{grid-template-columns:minmax(0,1fr);gap:17px}
.mission-line{gap:12px}
.mission-line strong{font-size:13px}}
h1,h2,h3{font-family:var(--font-ui)}
h1{font-weight:750}
h2,h3{letter-spacing:-.025em}
.field-shell{display:grid;grid-template-columns:218px minmax(0,1fr);grid-template-rows:68px 1fr;min-height:100vh}
.field-masthead{grid-column:1;grid-row:1 / 3;position:fixed;inset:0 auto 0 0;width:218px;height:100dvh;padding:34px 20px 22px;display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;z-index:40;overflow-y:auto}
.field-brand{justify-content:flex-start}
.stack-mark{width:24px;height:27px}
.stack-mark i{border:0;background:#c8bcff;width:18px;height:6px;transform:skewY(-15deg);left:0;top:2px}
.stack-mark i:nth-child(2){left:3px;top:11px;background:#a898f4}
.stack-mark i:nth-child(3){left:6px;top:20px;background:#fff}
.field-primary{display:flex;flex-direction:column;margin:52px 0 24px;flex:0;justify-content:flex-start}
.field-primary button{border:0;text-align:left;display:flex;gap:15px;align-items:center}
.field-account{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff25;padding-top:22px}
.search-trigger{font-size:13px;text-align:left;padding:9px 12px;border:1px solid #ffffff25;border-radius:7px}
.search-trigger kbd{font-family:inherit;margin-left:12px}
.account-menu summary{display:flex;align-items:center;font-size:12px;white-space:normal;gap:10px}
.account-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-weight:750;flex-shrink:0}
.account-menu>div{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px}
.field-context{grid-column:2;grid-row:1;top:0;min-width:0;min-height:68px;padding:0 34px;border-bottom:1px solid var(--line);gap:20px}
.field-context>span:first-child{font:700 12px var(--font-ui);min-width:0;padding-right:20px;text-transform:none}
.field-context nav{gap:22px}
.field-context button{padding:24px 0 21px}
.field-main{grid-column:2;grid-row:2;min-width:0}
.field-shell .page{padding:38px 38px 70px;min-height:calc(100vh - 68px)}
.working-mode .field-main{background:var(--canvas)}
.button{color:white}
.button:hover{border-color:#3f35c9;color:#fff}
.button.secondary,body.dark .button.secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}
.button.secondary:hover{border-color:var(--accent);color:var(--ink)}
.button.text-button,.text-button{background:none;border:0;color:var(--accent);text-decoration:none;min-height:36px}
.text-button:hover{background:none;color:var(--ink)}
body.dark .button:hover,body.dark .briefing-next .button{color:#fff}
.form input,.form select,.form textarea,.compact-filter input,.compact-filter select,.assessment-question textarea,.model-assumptions input{border-radius:7px;padding:12px;background:var(--paper);border-color:var(--line)}
.form label{font-size:13px}
.notice{border-radius:7px;border-left:3px solid var(--accent)}
.bar{height:6px;border-radius:9px;overflow:hidden}
.badge,.pill{font-family:inherit;font-size:11px}
.empty{border-radius:9px;padding:28px}
.briefing-title{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:32px;align-items:end;padding:35px 38px 36px;margin-bottom:30px;isolation:isolate}
.briefing-title:after{content:'';position:absolute;width:280px;height:280px;border:45px solid #b8a9ed;border-radius:50%;right:-110px;top:-105px;z-index:-1;opacity:.5}
.briefing-title h1{font-size:clamp(38px,4vw,65px);line-height:1.05;margin:20px 0 0;color:#30266c}
.briefing-title h1 span{color:#6954aa}
.briefing-title .eyebrow{color:#655490}
.briefing-goal{border:0;padding:20px 23px;border-radius:11px;align-self:end}
.briefing-goal strong{font-size:21px;color:#30266c;margin:9px 0}
.briefing-goal p{font-size:12px;color:#66578c;line-height:1.6}
.briefing-goal .text-button{color:#493592}
.briefing-layout{display:grid}
.briefing-next{position:relative;background:var(--paper);padding:29px 30px;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 22px #29205704}
.briefing-next:before{display:none}
.briefing-next .chapter-label{color:var(--accent)}
.briefing-duration{display:inline-block;margin:20px 0 8px;background:var(--soft);padding:6px 9px;border-radius:5px;font:600 10px var(--font-ui)}
.briefing-next h2{font-size:32px;line-height:1.18;margin:10px 0 14px;max-width:560px}
.briefing-next p{font-size:14px;color:var(--muted)}
.briefing-attention{padding:27px 26px;border-radius:12px}
.briefing-attention h2{margin:22px 0 15px;font-size:26px}
.attention-date{border-color:#d8d1e7;padding:15px 0}
.attention-date time{font:650 11px var(--font-ui)}
.briefing-return{border:1px solid var(--line);padding:25px 30px;border-radius:12px;background:var(--paper)}
.briefing-return h2{font-size:23px}
.briefing-between{padding:25px 26px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.home-row{padding:16px 0}
.chapter-label{color:var(--muted)}
body.dark .briefing-title{background:#403559}
body.dark .briefing-title h1,body.dark .briefing-goal strong{color:#f1eaff}
body.dark .briefing-title h1 span{color:#d3bef9}
body.dark .briefing-goal{background:#ffffff10}
body.dark .briefing-goal p,body.dark .briefing-title .eyebrow{color:#d0c1e3}
body.dark .briefing-attention{background:var(--soft)}
.page-heading,.career-review-heading,.lab-heading{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:27px}
.page-heading h1,.career-review-heading h1,.lab-heading h1{font-size:44px;letter-spacing:-.05em}
.casebook-masthead h1{font-size:53px;white-space:normal}
.casebook-masthead{align-items:center}
.join-panel{background:var(--paper);border:1px solid var(--line);padding:15px 18px;border-radius:9px}
.editorial-tabs{border-bottom:1px solid var(--line);gap:25px;margin-bottom:23px}
.editorial-tabs button{font-size:13px;padding:13px 0}
.compact-filter{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:13px 15px;gap:14px}
.filter-fields{border-color:var(--line);border-radius:9px;box-shadow:0 12px 30px #23164818}
.skill-focus{margin:20px 0;gap:8px}
.skill-focus span{font-family:inherit;font-size:10px}
.skill-focus button{font-size:11px;border:1px solid var(--line);padding:6px 10px;border-radius:5px;background:var(--paper)}
.skill-focus button.active{background:var(--accent);color:white;border-color:var(--accent)}
.library-index-heading{display:none}
.case-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-file{display:grid;grid-template-columns:46px minmax(0,1fr);gap:18px;align-items:start;position:relative;overflow:hidden}
.case-file:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#a99be5}
.case-file-number{width:43px;height:54px;border:0;padding:7px}
.case-file-number span{font:700 8px var(--font-ui)}
.case-file-number strong{font:750 24px var(--font-ui)}
.case-file-kicker{font:650 10px var(--font-ui);line-height:1.5;display:grid;gap:3px}
.case-file-kicker span:first-child{color:var(--accent)}
.case-file h3{margin:12px 0}
.case-file-main>p{margin-bottom:17px}
.case-file-meta{font:11px var(--font-ui);gap:7px 0;color:var(--muted)}
.case-file-meta span+span:before{padding:0 7px}
.case-file-actions{grid-column:1 / -1;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;gap:14px;margin-top:3px}
.case-file-actions .secondary{background:var(--soft);border-color:transparent;color:var(--accent)}
.file-state{color:var(--accent)}
.career-review-heading{display:block;position:relative}
.career-review-heading h1{font-size:55px;margin:20px 0}
.career-review-heading h1 span{color:var(--accent)}
.career-review-heading>p{max-width:580px;font-size:15px;line-height:1.7}
.career-review-index{display:grid;gap:24px}
.career-feature{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:0;overflow:hidden;display:grid;grid-template-columns:220px minmax(0,1fr);gap:0}
.career-folio{border:0;min-height:270px;padding:27px;position:relative;overflow:hidden}
.career-folio:after{content:'';position:absolute;right:-65px;bottom:-65px;width:190px;height:190px;border:25px solid currentColor;border-radius:50%;opacity:.12}
.career-feature:nth-child(2) .career-folio{background:#daeee4;color:#296b54}
.career-feature:nth-child(3) .career-folio{background:#fae3b7;color:#8f5e18}
.career-folio strong{font-size:27px;letter-spacing:-1px;align-self:flex-start}
.career-folio span{font-family:inherit;font-size:10px}
.career-feature-body{padding:30px 34px}
.career-feature-body h2{font-size:31px;margin-top:12px}
.career-feature-body p{line-height:1.7}
.career-feature dl{margin:20px 0;gap:28px}
.career-feature dt{font:650 10px var(--font-ui)}
.drill-row{padding:23px 20px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-bottom:12px;gap:22px}
.drill-row h3{font-size:21px}
.drill-row p{font-size:13px}
.training-paths{background:var(--soft);border-radius:9px;border:1px solid var(--line);padding:17px 22px;margin-bottom:24px}
.training-paths summary{border:0;padding:0;font-size:13px}
.training-paths summary span{font-family:inherit}
.training-paths .practice-paths{padding-top:22px}
.roadmap-stage{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:25px;margin-bottom:20px;grid-template-columns:44px minmax(0,1fr);gap:22px}
.roadmap-stage:not(:last-child):before{display:none}
.roadmap-index{background:var(--soft);color:var(--accent);border:0;border-radius:9px;width:44px;height:44px;font-family:inherit}
.roadmap-stage .home-row{border-color:var(--line)}
.path-summary,.dark .path-summary{border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.path-summary small{font-family:inherit;font-size:11px}
.candidate-desk,.finance-desk,.assessment-desk,.simulation-desk{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px}
.case-work-heading h1{font-size:33px}
.timer-controls{border-radius:8px;background:var(--soft);padding:12px 17px;border:0}
.case-rail{background:var(--soft);padding:22px;border:0;border-radius:9px;margin-top:24px}
.case-rail nav button{font-family:inherit;font-size:13px;padding:13px 10px;border-radius:6px}
.case-rail nav button.active{background:var(--paper);color:var(--accent);border:0}
.case-desk{padding:28px 0 0 10px}
.case-desk textarea{border-radius:8px;background:var(--canvas);border:1px solid var(--line)}
.case-exhibit{border-radius:9px;background:var(--canvas);border-color:var(--line)}
.case-exhibit th{background:var(--soft)}
.interviewer-sheet{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px;border-top:5px solid #be9654}
.mode-flag{color:#806123;font-family:inherit;font-size:10px;letter-spacing:.12em}
.interviewer-sheet .solution-column{background:#f5eedf;color:#403a30;border:1px solid #e7d9bf;border-radius:9px}
.interviewer-sheet .solution-column h2,.interviewer-sheet .solution-column h3{color:#403a30}
.session-banner{border-radius:9px;background:var(--soft)}
.lab-convention{font-family:inherit}
.lab-convention strong{font-family:inherit}
.finance-desk .lab-heading{border-bottom:1px solid var(--line)}
.model-reference{font-size:13px}
.model-reference dt{font-family:inherit;font-size:11px}
.scenario-paper{border:1px solid var(--line);border-radius:9px;padding:19px;overflow:hidden;background:var(--canvas)}
.scenario-paper:nth-child(2){border-color:var(--line)}
.scenario-label{font-family:inherit;font-weight:650;font-size:10px;color:var(--accent);padding-top:0}
.scenario-paper .model-assumptions h3{font-size:24px}
.model-table th{background:var(--soft)}
.scenario-comparison{gap:20px}
.decision-guide{border-radius:9px}
.assessment-question{border:1px solid var(--line);padding:23px;border-radius:9px;margin-bottom:20px;background:var(--canvas)}
.assessment-question legend{padding:0 8px}
.assessment-question label{border-radius:7px}
.assessment-save-strip{background:var(--paper);border-radius:8px;border:1px solid var(--line)}
.simulation-desk .stage-active{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px;background:var(--canvas)}
.simulation-desk .stage-pending{padding:22px}
.interview-question{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:28px}
.professional-archive .experience-select{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:18px;margin-bottom:10px}
.professional-archive .experience-select.active{background:var(--soft);border-color:var(--accent)}
.professional-archive .experience-detail{border:1px solid var(--line);border-radius:11px;padding:27px;background:var(--paper)}
.evidence-detail{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:27px}
.evidence-facts{border:0;border-radius:9px;background:var(--soft);padding:22px}
.evidence-facts small,.requirement-row small{font-family:inherit}
.proof-entry{border-radius:8px;padding:20px;border:1px solid var(--line);background:var(--canvas);margin-bottom:12px}
.requirement-row{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:20px;margin-bottom:12px}
.requirement-state{font-family:inherit;font-size:11px}
.application-file{border:1px solid var(--line);border-radius:12px;padding:29px;background:var(--paper)}
.application-file:before{display:none}
.file-label{color:var(--accent);border-color:var(--line)}
.event-register .competition-list .drill-row{border:1px solid var(--line);border-radius:11px;padding:26px}
.event-register .competition-list small{font-family:inherit}
.menu-groups{gap:24px}
.menu-groups>section{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:23px}
.menu-groups h2{font-size:22px}
.menu-link{padding:15px 0}
.daily-layout>section{border:1px solid var(--line);border-radius:11px;padding:26px;background:var(--paper)}
.settings-layout{gap:30px}
.settings-layout>.form{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:26px}
.account-record{border:1px solid var(--line);border-radius:11px;padding:26px;background:var(--soft)}
.card{border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--paper)}
.card.highlight{border-color:var(--line);background:var(--soft)}
.auth-hero{border:0}
@media(min-width:1600px){.field-shell{grid-template-columns:244px minmax(0,1fr)}
.field-masthead{width:244px;padding-left:28px;padding-right:28px}
.field-shell .page{padding:46px 50px 80px}}
@media(max-width:1150px){.field-shell{grid-template-columns:186px minmax(0,1fr)}
.field-masthead{width:186px;padding:29px 16px}
.field-brand{font-size:20px;gap:8px}
.field-context{padding:0 25px}
.field-shell .page{padding:30px 25px 60px}
.briefing-title{padding:29px;gap:22px}
.briefing-title h1{font-size:46px}
.briefing-layout{grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr);gap:18px}
.case-library{grid-template-columns:minmax(0,1fr)}
.scenario-comparison{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.field-shell{display:block}
.field-masthead{position:relative;inset:auto;width:100%;height:auto;min-height:72px;flex-direction:row;align-items:center;padding:20px 25px;gap:20px;overflow:visible}
.field-primary{display:none}
.field-account{margin:0 0 0 auto;flex-direction:row;align-items:center;border:0;padding:0;gap:20px}
.search-trigger{border:0;padding:0}
.search-trigger kbd{display:none}
.account-menu>div{position:absolute}
.field-context{position:sticky;top:0;padding:0 25px}
.field-context button{padding:17px 0}
.field-context>span:first-child{display:none}
.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:35;padding-bottom:env(safe-area-inset-bottom)}
.mobile-nav button{font-size:11px;padding:18px 3px;border-top:3px solid transparent;min-height:58px}
.mobile-nav button[aria-current=page]{color:var(--accent);border-top-color:var(--accent)}
.briefing-title h1{font-size:48px}
.briefing-goal{padding:18px}
.case-workspace{grid-template-columns:minmax(0,1fr)}
.case-rail{padding:14px;margin-top:0}
.case-rail nav{gap:8px}
.case-rail nav button{padding:9px;font-size:11px}
.case-desk{padding:23px 0 0}
.candidate-desk,.finance-desk,.assessment-desk,.simulation-desk{padding:23px}
.career-feature{grid-template-columns:180px minmax(0,1fr)}
.career-feature-body{padding:26px}
.career-folio{min-height:250px}
.professional-archive .experience-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){.field-masthead{padding:19px 18px;min-height:72px;gap:10px}
.field-brand{font-size:22px}
.account-menu summary{font-size:0;gap:0}
.account-menu summary:before{display:none}
.account-menu summary>.account-avatar{font-size:12px;margin:0}
.account-menu summary>span:last-child{display:none}
.field-context{padding:0 18px}
.field-context nav{gap:22px}
.field-context button{font-size:11px}
.briefing-title{display:block;margin-bottom:19px;border-radius:12px}
.briefing-title h1{letter-spacing:-2px}
.briefing-title:after{right:-145px;top:-80px}
.briefing-goal{border:0}
.briefing-goal p{font-size:12px}
.briefing-layout{display:grid;gap:17px}
.briefing-next,.briefing-attention,.briefing-return,.briefing-between{border:1px solid var(--line)}
.briefing-next h2{font-size:28px}
.briefing-duration{margin:15px 0 7px}
.briefing-attention h2{font-size:24px;margin:16px 0}
.briefing-return h2{font-size:23px}
.page-heading h1,.career-review-heading h1,.lab-heading h1{font-size:35px}
.casebook-masthead h1{font-size:42px;margin:16px 0}
.join-panel{margin-top:20px;padding:14px}
.case-file{padding:20px;gap:14px;grid-template-columns:38px minmax(0,1fr)}
.case-file-number{width:36px;height:49px}
.case-file-number strong{font-size:22px}
.case-file h3{font-size:23px}
.case-file-actions{gap:12px}
.case-file-actions .button{padding:10px 12px}
.compact-filter{padding:12px}
.filter-fields{left:18px;right:18px}
.career-review-heading h1{font-size:39px}
.career-feature{display:block}
.career-folio{padding:20px;display:flex;flex-direction:row;align-items:flex-end;margin:0}
.career-folio strong{writing-mode:horizontal-tb;transform:none;font-size:26px;align-self:flex-end}
.career-folio span{font-size:9px}
.career-feature-body{padding:24px}
.career-feature-body h2{font-size:27px}
.career-feature-body p{font-size:13px}
.drill-row{padding:19px 16px;gap:14px}
.drill-row h3{font-size:19px}
.training-paths{padding:17px}
.roadmap-stage{padding:20px 16px;grid-template-columns:34px minmax(0,1fr);gap:15px}
.roadmap-index{width:34px;height:34px;font-size:16px}
.candidate-desk,.finance-desk,.assessment-desk,.simulation-desk{padding:18px 14px;border-radius:10px}
.case-work-heading h1{font-size:26px}
.timer-controls{padding:10px;gap:12px}
.case-rail{padding:10px}
.case-rail nav{gap:4px}
.case-rail nav button{padding:8px;font-size:10px}
.case-desk textarea,.form textarea,.assessment-question textarea{font-size:16px}
.interviewer-sheet{padding:19px 14px}
.interviewer-sheet .solution-column{padding:18px}
.scenario-paper{padding:15px}
.scenario-paper .model-assumptions .grid{gap:12px}
.model-assumptions input{min-width:0;width:100%}
.scenario-label{font-size:9px}
.assessment-question{padding:19px 13px}
.application-file{padding:23px 17px}
.professional-archive .experience-detail,.evidence-detail{padding:22px 17px}
.evidence-facts{padding:18px}
.requirement-row{padding:18px}
.daily-layout>section,.settings-layout>.form,.account-record{padding:23px 19px}
.menu-groups>section{margin-bottom:18px}
.card{padding:21px 18px}
.auth-panel{padding:27px 18px}}
@media(max-width:580px){.briefing-title{padding:23px 22px}
.briefing-title h1{font-size:39px;margin:16px 0 20px}
.briefing-goal{padding:13px 16px}
.briefing-goal p{margin:7px 0}
.briefing-goal .text-button{padding:4px 0;min-height:28px}
.briefing-goal .record-label{font-size:9px}
.briefing-goal strong{font-size:17px;margin:6px 0}}
.history-weeks{display:flex;gap:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);margin:25px 0;overflow:auto}
.history-weeks>div{padding:22px;min-width:145px;border-right:1px solid var(--line)}
.history-weeks strong{display:block;font-size:27px;color:var(--accent)}
.history-weeks span,.history-weeks small{display:block;font-size:11px;margin-top:6px;color:var(--muted)}
.history-row{display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.history-row time{font-size:12px}
.history-row small{display:block;margin-top:8px;color:var(--muted);font-size:11px}
.history-row h2{font-size:19px;margin:0 0 7px}
.history-row p{font-size:12px;color:var(--muted);margin:0}
.inbox-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:18px;border-bottom:1px solid var(--line);padding:22px 16px;align-items:center}
.inbox-row.unread{background:var(--soft);border-left:3px solid var(--accent)}
.inbox-row>span{font-size:10px;color:var(--muted)}
.inbox-row.unread>span{color:var(--accent);font-weight:700}
.inbox-row p{margin:0 0 9px;line-height:1.6}
.inbox-row time{font-size:11px;color:var(--muted)}
@media(max-width:580px){.history-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.history-row>div:first-child{grid-column:1 / -1;display:flex;gap:13px;align-items:center}
.history-row small{margin:0}
.history-row h2{font-size:17px}
.history-row p{line-height:1.6}
.inbox-row{grid-template-columns:30px minmax(0,1fr);padding:19px 12px;gap:12px}
.inbox-row>.button{grid-column:2}
.history-weeks>div{min-width:125px;padding:17px}}
.history-weeks{width:max-content;max-width:100%}
.history-weeks>div:last-child{border-right:0}
.history-weeks:empty{display:none}
.worksheet-desk{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:11px}
.worksheet-desk h1{font-size:39px}
.worksheet-desk h2{font-size:23px;margin-top:28px}
.worksheet-brief{border-block:1px solid var(--line);padding:19px 0;margin:24px 0;font-size:13px;line-height:1.7}
.worksheet-brief summary{font-weight:700;cursor:pointer}
.worksheet-brief small{color:var(--muted)}
.worksheet-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
.worksheet-toolbar label{display:grid;gap:8px;font-size:12px}
.worksheet-toolbar select{padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--canvas);color:var(--ink)}
.worksheet-toolbar>span{font-size:11px;padding:12px 0;color:var(--muted)}
.worksheet-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}
.worksheet-table{width:100%;border-collapse:collapse;min-width:660px;font-size:12px}
.worksheet-table caption,.worksheet-table-wrap caption{text-align:left;padding:14px;color:var(--muted);font-size:12px}
.worksheet-table th,.worksheet-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
.worksheet-table thead th{background:var(--soft);font-size:11px}
.worksheet-table input{width:95px;padding:9px 7px;border:1px solid var(--line);background:var(--canvas);border-radius:5px;color:var(--ink);font-size:13px}
.worksheet-table input:invalid{border-color:#b42a42}
.worksheet-desk .form{max-width:850px}
.worksheet-desk .home-row .actions{margin:0}
.next-step-heading{margin-bottom:27px}
.home-primary h2{margin-top:26px}
.home-primary .actions{margin-top:26px}
.home-primary details{font-size:12px}
.home-primary details p{line-height:1.7}
.briefing-between h2{font-size:24px}
.briefing-between>p{font-size:13px;color:var(--muted);line-height:1.7}
@media(max-width:580px){.worksheet-desk{padding:22px 14px}
.worksheet-desk h1{font-size:30px}
.worksheet-toolbar{gap:12px}
.worksheet-table input{font-size:16px}
.worksheet-table{min-width:700px}
.worksheet-desk .home-row{display:block}
.worksheet-desk .home-row .actions{margin-top:12px}
.next-step-heading h1{font-size:34px}
.home-primary .actions{flex-wrap:wrap}
.home-primary details{width:100%}}
.interview-review-desk{max-width:970px}
.saved-answer{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:9px;margin:25px 0}
.saved-answer h3{font-size:16px;margin-top:0}
.self-review-dimension{border:1px solid var(--line);border-radius:9px;padding:22px;margin:15px 0;background:var(--paper);display:grid;gap:17px}
.self-review-dimension legend{font-weight:700;padding:0 8px}
.self-review-dimension>p{font-size:13px;color:var(--muted);margin:0}
.self-review-dimension textarea{min-height:70px}
.self-review-dimension label{display:grid;gap:9px}
.interview-review-desk .form{max-width:none}
@media(max-width:580px){.self-review-dimension{padding:20px 16px}
.saved-answer{padding:20px}
.interview-review-desk h1{font-size:32px}
.interview-review-desk h2{font-size:24px}}
.home-primary details,.home-primary details summary{color:var(--ink)}
.home-primary details summary{cursor:pointer;font-weight:650;padding:8px 0}
.home-primary details[open]{padding-top:10px}
.home-primary details p{color:var(--muted)}
:root{--font-data:'Cascadia Mono',Consolas,monospace;font-family:var(--font-ui)}
body{font-family:var(--font-ui)}
button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,.field-brand,.career-folio strong{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.18;font-stretch:normal}
h1{letter-spacing:-.035em;text-wrap:balance}
.page-heading h1,.career-review-heading h1,.lab-heading h1,.casebook-masthead h1{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.035em}
.next-step-heading h1{font-size:clamp(32px,3.5vw,46px);font-weight:600;margin:10px 0 25px}
.eyebrow,.record-label,.chapter-label,.file-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.5}
p{line-height:1.65}
.lede{font-size:16px;line-height:1.7;max-width:70ch}
.page :is(small,.muted){line-height:1.6}
.field-brand{font-size:24px;font-weight:600;letter-spacing:-.7px}
.field-primary button{font-weight:400}
.field-context button{font-size:13px}
.field-context>span:first-child{font-family:var(--font-ui)}
.button{font-size:13px;letter-spacing:0;min-height:44px;padding:12px 18px}
.text-button{font-size:13px}
.form label,.scenario-paper label{font-size:13px;line-height:1.5;font-weight:600}
.form :is(input,select,textarea),.assessment-question textarea{font-size:15px;line-height:1.5}
.form textarea{font-weight:400;line-height:1.7}
.form :is(input,select,textarea):focus{outline:2px solid var(--soft);outline-offset:1px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.briefing-next h2,.home-primary h2{font-size:clamp(26px,2.5vw,34px);font-weight:600;line-height:1.23;letter-spacing:-.025em;max-width:25ch}
.briefing-next p,.briefing-attention p{font-size:15px}
.briefing-return h2,.briefing-between h2{font-size:25px}
.briefing-return p{font-family:var(--font-ui);font-size:13px}
.home-primary{box-shadow:0 4px 18px #29205705}
.home-primary summary{font-size:13px;font-weight:600;cursor:pointer}
.case-file h3{line-height:1.25;letter-spacing:-.025em}
.case-file-main>p{font-size:14px;line-height:1.65}
.case-file-kicker{font-size:11px}
.case-file-meta{font-size:12px}
.case-file-actions .text-button{font-size:12px}
.career-feature-body p{font-size:15px}
.career-feature dd{font-size:14px}
.career-feature dt{font-size:11px;letter-spacing:.05em}
.menu-link{font-size:15px}
.proof-entry,.requirement-row{line-height:1.65}
.evidence-facts small,.requirement-row small{font-size:12px}
.event-register .competition-list small{font-size:12px}
.model-table td,.scenario-paper input,.worksheet-table input,.worksheet-summary td{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:0}
.model-table td{font-size:13px}
.scenario-paper input{font-size:16px}
.worksheet-table :is(th,td),.worksheet-summary :is(th,td){font-size:13px}
.attention-date time{font-family:var(--font-ui);font-size:12px;font-variant-numeric:tabular-nums}
.interview-question h2{font-size:27px;line-height:1.3}
.saved-answer{font-size:15px;line-height:1.75}
.self-review-dimension legend{font-size:16px;font-family:var(--font-display)}
@media(max-width:700px){.field-brand{font-size:22px}
.page h1{font-size:32px;line-height:1.2}
.page h2{line-height:1.28}
.home-primary h2{font-size:27px}
.lede{font-size:15px}
.briefing-next,.briefing-return,.briefing-between{padding:23px}
.field-context button{font-size:12px}
.form :is(input,select,textarea){font-size:16px}
.case-file h3{font-size:23px}
.case-file-main>p{font-size:14px}}
.careerstack-mark{display:block;flex:0 0 auto;width:32px;height:32px;object-fit:contain}
.careerstack-wordmark{line-height:1;color:inherit;white-space:nowrap}
.field-brand{gap:10px;align-items:center;min-height:36px}
.careerstack-lockup{display:flex;align-items:center;gap:13px;color:inherit}
.auth-hero .careerstack-mark{width:40px;height:40px}
.auth-hero .brand span{color:inherit}
.auth-hero>p{max-width:42ch}
@media(min-width:951px) and (max-width:1250px){.field-brand{gap:8px}
.field-brand .careerstack-wordmark{font-size:19px}
.field-brand .careerstack-mark{width:29px;height:29px}}
@media(max-width:700px){.field-brand .careerstack-wordmark{font-size:22px}
.field-brand .careerstack-mark{width:30px;height:30px}
.auth-hero .careerstack-wordmark{font-size:27px}}
.auth-hero .careerstack-lockup{color:#fff;border:0;padding:0;text-decoration:none}
.auth-hero .careerstack-lockup .careerstack-wordmark,.auth-hero .careerstack-lockup .careerstack-wordmark>span{color:#fff}
.auth-hero .pillrow{gap:8px;flex-wrap:wrap}
.auth-hero .pill{font-family:var(--font-ui);font-size:12px}
.auth-hero .pill:before{display:none}
/* Source: jobs.css */
.job-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.job-page-heading h1{margin:12px 0}
.job-page-heading .lede{margin-bottom:0;max-width:62ch}
.job-page-heading>.button{flex-shrink:0}
.job-tabs{margin-bottom:24px}
.job-tabs .active{color:var(--accent);border-bottom:2px solid var(--accent)}
.job-preferences{border:1px solid var(--line);margin:0 0 26px}
.job-preferences>summary{font-family:var(--font-display);font-size:21px;cursor:pointer}
.job-profile-form{max-width:none;margin-top:22px}
.job-filter-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr}
.job-filter-grid label{min-width:0}
.job-filter-grid input,.job-filter-grid select{width:100%;box-sizing:border-box}
.filter-help{color:var(--muted);margin:0}
.resume-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.resume-panel summary{cursor:pointer;font-weight:700}
.resume-panel>p{font-size:14px;max-width:80ch}
.resume-panel>label{margin-top:16px}
.resume-file-label input{padding:10px}
.resume-panel>small{display:block;margin:7px 0 15px;color:var(--muted)}
.resume-panel .button{margin-top:12px}
.resume-approval{padding:20px;border:1px solid var(--line);border-radius:8px;margin-top:22px}
.resume-approval legend{font-weight:700}
.resume-approval p{font-size:13px;color:var(--muted);margin-top:0}
.resume-skill-list{display:flex;gap:12px 25px;flex-wrap:wrap}
.resume-skill-list label,.monitor-control{align-items:center;gap:10px}
.resume-skill-list input,.monitor-control input{width:18px;height:18px;margin:0}
.job-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.job-results-toolbar>label{display:flex;gap:12px;align-items:center;font-size:13px}
.job-results-toolbar select{font-size:13px;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:10px;max-width:100%}
.job-list-tabs{display:flex;gap:6px;background:var(--soft);padding:5px;border-radius:9px}
.job-list-tabs button{background:none;border:0;border-radius:6px;padding:10px 16px;cursor:pointer;color:var(--muted);font-size:13px}
.job-list-tabs .selected{background:var(--paper);color:var(--ink);font-weight:700;box-shadow:0 1px 4px #26233812}
.job-result-count{font-size:13px;color:var(--muted);margin:18px 0}
.discovered-role-list{display:grid}
.discovered-role{min-width:0;display:flex;flex-direction:column}
.role-card-heading{display:flex;gap:15px;align-items:start;justify-content:space-between}
.role-source{color:var(--accent);font-size:11px;letter-spacing:.04em;font-weight:700}
.discovered-role h3{margin:11px 0;overflow-wrap:anywhere;line-height:1.28}
.role-card-heading p{font-size:14px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.role-saved-label{font-size:11px;color:var(--accent);background:var(--soft);padding:4px 8px;border-radius:5px}
.role-meta{display:flex;gap:8px 16px;flex-wrap:wrap;margin:16px 0;font-size:12px;color:var(--muted)}
.role-match{margin-bottom:20px}
.role-match>strong{font-size:13px}
.role-match p{font-size:13px;margin:8px 0 0}
.role-match small{display:block;margin-top:9px;font-size:12px;color:var(--muted)}
.role-card-actions{display:flex;gap:9px 14px;align-items:center;flex-wrap:wrap;margin-top:auto}
.role-card-actions .button{font-size:12px;padding:10px 13px}
.role-checked{display:block;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.role-warning{background:#fff0d8;color:#68440c;padding:12px;font-size:13px;border-radius:7px}
.job-empty{grid-column:1/-1}
.job-empty h2{font-size:25px}
.job-source-panel{margin-top:30px;padding:22px 0;font-size:13px;color:var(--muted)}
.job-source-panel summary{font-weight:700;color:var(--ink);cursor:pointer;font-size:14px}
.job-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.job-source-grid section{border-radius:9px}
.job-source-grid strong{color:var(--ink)}
.job-boundary{font-size:12px;color:var(--muted)}
.job-detail{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:30px}
.job-detail h2{font-size:32px;margin:24px 0 10px}
.role-description{max-width:90ch;margin:28px 0}
.resume-gap-note,.opportunity-source-record{background:var(--soft);padding:20px;border-radius:8px;margin-top:25px;font-size:14px}
body.dark .role-warning{background:#48391e;color:#ffdda4}
@media(max-width:1150px){.job-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.discovered-role-list{grid-template-columns:1fr}
.job-source-grid{grid-template-columns:1fr}}
@media(max-width:700px){.job-page-heading{display:block}
.job-filter-grid{grid-template-columns:1fr}
.job-results-toolbar>label{width:100%}
.discovered-role{padding:21px}
.discovered-role h3{font-size:24px}
.job-detail{padding:21px}
.job-detail h2{font-size:27px}
.job-detail .row{flex-wrap:wrap;gap:12px}
.job-tabs{gap:20px}
.job-tabs button{font-size:12px}}
.resume-role-ideas{background:var(--soft);padding:18px;border-radius:8px;font-size:14px}
.resume-role-ideas p{font-size:13px;margin:8px 0}
.resume-role-ideas .button{font-size:12px}
.home-role-feed{padding-bottom:30px}
.home-role-feed>header{display:flex;justify-content:space-between;align-items:center;gap:25px}
.home-role-feed h1{font-size:clamp(30px,3vw,40px);margin:12px 0;max-width:28ch}
.home-role-feed header p{color:var(--muted);font-size:15px;margin:0}
.home-role-feed header>.button{flex-shrink:0}
.home-role-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-role-preview article{min-width:0}
.home-role-preview small{font-size:11px;color:var(--muted)}
.home-role-preview h3{font-size:21px;line-height:1.3;margin:12px 0;overflow-wrap:anywhere}
.home-role-preview p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:950px){.home-role-preview{grid-template-columns:1fr}
.home-role-feed>header{display:block}
.home-role-feed header>.button{margin-top:16px}}
.application-source-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;border:1px solid var(--line);background:var(--soft);border-radius:9px;margin-bottom:22px;font-size:13px}
@media(max-width:700px){.application-source-bar{flex-direction:column;align-items:start}}
.role-track-prompt{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--soft);border-radius:9px;padding:18px 22px;margin-bottom:25px}
.role-track-prompt p{font-size:14px;margin:0}
.role-track-prompt .button{flex-shrink:0}
@media(max-width:700px){.role-track-prompt{display:block}
.role-track-prompt .button{margin-top:14px}}
@media(max-width:700px){.job-page-heading{margin-bottom:16px}
.job-page-heading .lede{font-size:14px;line-height:1.55}
.job-page-heading>.button{margin-top:12px}
.job-tabs{margin-bottom:16px}
.job-preferences{padding:15px 18px;margin-bottom:18px}
.job-preferences>summary{font-size:18px}
.job-results-toolbar{gap:10px}
.job-results-toolbar>label{flex-direction:row;align-items:center;gap:10px}
.job-results-toolbar select{flex:1;width:auto;min-width:0}
.job-list-tabs{padding:3px}
.job-list-tabs button{padding:9px 14px}
.job-result-count{margin:12px 0;font-size:12px}}
.job-monitoring-status{border:1px solid var(--line,#dedbea);border-left:3px solid #5146e5;background:var(--surface,#fff);border-radius:6px}
.job-monitoring-status strong{font-size:15px}
.job-monitoring-status p{font-size:14px;line-height:1.6;margin:6px 0}
.job-monitoring-status small{font-size:12px;color:var(--muted,#625d73)}
.india-career-portals{margin:32px 0;border-top:1px solid var(--line);padding-top:28px}
.india-career-portals h2{font-size:26px;margin:10px 0}
.india-career-portals p{font-size:14px;line-height:1.6;color:var(--muted)}
.india-career-portals>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.india-career-portals a{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;color:var(--ink);background:var(--paper);overflow-wrap:anywhere}
.india-career-portals a strong{font-size:16px}
.india-career-portals a small{font-size:13px;color:var(--muted)}
.india-career-portals a>span{font-size:12px;margin-top:auto}
.india-career-portals a:hover,.india-career-portals a:focus-visible{border-color:var(--ink)}
@media(max-width:850px){.india-career-portals>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.india-career-portals>div{grid-template-columns:1fr}}
.employer-source-search{display:flex;align-items:end;gap:12px;margin:18px 0}
.employer-source-search label{flex:1;display:grid;gap:8px}
.job-source-grid a{display:block;margin-top:10px}
@media(max-width:580px){.employer-source-search{align-items:stretch;flex-direction:column}}
.major-internship-intro{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.major-internship-intro small{color:var(--accent,#fa5939);font-weight:700;font-size:11px;letter-spacing:.08em}
.major-internship-intro p,.major-source-attribution{font-size:14px;line-height:1.6;color:var(--muted)}
.major-internship-intro>div:last-child{display:flex;gap:10px;flex-shrink:0}
@media(max-width:850px){.major-internship-intro{align-items:start;flex-direction:column}
.major-internship-intro>div:last-child{flex-wrap:wrap}}
.recruiting-cycle-panel{border-top:1px solid var(--border,#d9dde2)}
.recruiting-cycle-panel h2{margin:6px 0}
.recruiting-cycle-panel form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}
.recruiting-cycle-panel label{display:grid;gap:8px;flex:1;min-width:150px}
.recruiting-cycle-panel input,.recruiting-cycle-panel select{width:100%;box-sizing:border-box}
.recruiting-timeline dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:12px}
.recruiting-timeline dd{margin:0}
@media(max-width:600px){.recruiting-cycle-panel label{flex-basis:100%}
.recruiting-timeline dl{grid-template-columns:1fr}
.recruiting-timeline dd{margin-bottom:12px}}
/* Source: accounts.css */
.auth-return-note,.auth-invite-note{font-size:14px;line-height:1.6;margin:12px 0 22px}
.auth-invite-note{padding:12px;border-left:3px solid #5146e5;background:#f1efff}
.account-updates{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;padding:8px;white-space:nowrap}
.account-updates [data-unread-count]:not(:empty){color:white;border-radius:10px;font-size:11px;padding:2px 5px}
.account-email{display:block;max-width:240px;overflow-wrap:anywhere;font-size:12px;padding:10px 12px}
.account-sessions,.invitation-management,.sent-request-controls{margin-top:32px;padding-top:24px;border-top:1px solid var(--line,#dedbea)}
.account-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.account-section-heading p{font-size:14px;line-height:1.6;margin:8px 0}
.account-session-list article,.invitation-record{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line,#dedbea)}
.account-session-list small,.invitation-record small{display:block;font-size:12px;line-height:1.7;margin-top:6px;color:var(--muted,#625d73)}
.session-current{display:inline-block;font-size:11px;color:#5146e5;border:1px solid #d6d0fa;padding:3px 6px;margin-left:6px;border-radius:4px}
.known-teammate-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:20px;border:1px solid var(--line,#dedbea);border-left:3px solid #5146e5;border-radius:6px;background:var(--surface,#fff)}
.known-teammate-invite h2{font-size:20px;margin:0 0 8px}
.known-teammate-invite p{font-size:14px;line-height:1.6;max-width:62ch;margin:0}
.invitation-link-page,.team-join-page{max-width:820px;margin:24px auto}
.invitation-link-page label{display:block;font-size:14px;margin:24px 0}
.invitation-link-page input{display:block;width:100%;min-width:0;font:16px var(--font-ui);padding:14px;border:1px solid var(--line,#dedbea);border-radius:5px;margin-top:8px;background:var(--surface,#fff);color:inherit}
.invitation-link-page p,.team-join-page p{line-height:1.7}
.team-join-details{padding:18px 22px;background:var(--surface,#fff);border:1px solid var(--line,#dedbea);border-radius:6px;margin:24px 0}
.pending-team-invites article{padding:18px 0;border-bottom:1px solid var(--line,#dedbea)}
.workspace-load-error{max-width:640px;margin:12vh auto;padding:24px}
@media(max-width:700px){.account-updates{padding:6px;font-size:11px}
.account-section-heading,.known-teammate-invite,.account-session-list article,.invitation-record{flex-direction:column;align-items:flex-start;gap:12px}
.invitation-link-page,.team-join-page{margin:8px 0}
.auth-return-note{font-size:14px}
.account-sessions,.invitation-management{margin-top:24px}
.known-teammate-invite{padding:16px}}
/* Source: refinement.css */
.passport-skill{align-items:center;padding:7px 0}
.passport-skill input{height:17px;flex:none}
.public-passport{max-width:850px;padding-top:50px}
.public-passport .careerstack-lockup{margin-bottom:35px}
.guided-lesson{max-width:800px}
.guided-lesson>section{padding:28px 0;border-bottom:1px solid var(--line)}
.guided-lesson p{font-size:16px;line-height:1.8}
.guided-lesson fieldset{padding:20px;border:1px solid var(--line);border-radius:6px}
.guided-lesson legend{max-width:100%;font-size:15px;padding:0 5px}
.plan-record{border-top:1px solid var(--line);padding:25px 0}
.plan-record>summary{font-weight:600;cursor:pointer;font-size:20px}
.plan-record>small{color:var(--muted)}
.plan-item{padding:15px 0 25px;border-bottom:1px solid var(--line)}
.plan-item .form{max-width:none}
.career-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.career-comparison h3{margin-top:25px;font-size:16px}
.career-comparison p{font-size:15px;line-height:1.7}
@media(max-width:700px){.career-comparison{grid-template-columns:1fr}
.plan-item .home-row{align-items:flex-start}
.guided-lesson p{font-size:15px}
.plan-record>summary{font-size:18px}}
.home-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:42px;align-items:start}
.home-columns .home-role-feed{border:0;margin:0;padding:0}
.home-columns .home-role-feed h2{font-size:24px}
.home-columns .home-role-preview article{padding:21px 0}
.home-feed-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:22px}
.feed-status{font-size:12px;color:var(--muted)}
.feed-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}
.home-record-links{margin-top:38px;border-top:1px solid var(--line);padding-top:25px}
.home-record-links h3{font-size:17px}
.home-record-links .home-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
.home-record-links .text-button{white-space:nowrap}
.home-practice-note{padding:27px;background:var(--soft);border:1px solid var(--line);border-radius:7px}
.home-practice-note h2{font-size:25px;line-height:1.25;margin:16px 0 12px}
.home-practice-note p{font-size:13px;color:var(--muted);margin-bottom:24px}
.home-practice-note>.button{margin-right:4px}
.home-dates{padding-top:28px}
.home-dates h3,.home-evidence-summary h3{font-size:17px}
.home-dates .attention-date{display:grid;gap:7px;padding:15px 0}
.home-dates strong{font-size:14px}
.home-dates .text-button{justify-self:start;padding:4px 0;min-height:30px}
.home-evidence-summary{margin-top:23px;padding-top:25px;border-top:1px solid var(--line)}
.home-evidence-summary p{font-size:13px;color:var(--muted)}
.home-empty-role{padding:24px 0;border-top:1px solid var(--line);margin-top:20px}
.home-empty-role p{color:var(--muted);margin-bottom:22px}
.monitor-summary{display:flex;justify-content:space-between;gap:15px;align-items:center}
.monitor-summary span{font-size:12px;color:var(--muted)}
.job-monitoring-status details{font-size:12px;margin-top:7px}
.job-monitoring-status summary{cursor:pointer;color:var(--muted)}
.job-monitoring-status details p{font-size:13px}
.field-brand .careerstack-wordmark{font-size:22px}
.account-session-list,.account-record{overflow-wrap:anywhere}
.account-menu>div{position:absolute;bottom:40px;top:auto;left:0;right:auto;width:175px;padding:12px;box-shadow:0 8px 24px #24283115}
.account-menu[open]::details-content{content-visibility:visible}
.account-menu .account-email{padding:5px 0}
@media(min-width:901px) and (max-width:1150px){.field-brand{gap:7px}
.field-brand .careerstack-wordmark{font-size:20px}
.field-brand .careerstack-mark{width:28px;height:28px}}
@media(max-width:900px){.account-menu>div{top:40px;bottom:auto;left:auto;right:0;width:210px}}
@media(max-width:700px){.monitor-summary{display:block}
.monitor-summary span{display:block;margin-top:5px}}
@media(max-width:1100px){.home-columns{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}}
@media(max-width:700px){.home-columns{grid-template-columns:1fr;gap:30px}
.home-plan{display:grid;gap:0}
.home-feed-footer .button{font-size:12px}
.home-record-links{margin-top:28px}
.home-record-links .home-row{align-items:flex-start}
.home-practice-note{padding:23px}}
:root{font-size:15px;color:var(--ink);background:var(--canvas)}
body.dark{--accent:#f1a276;background:var(--canvas);color:var(--ink)}
h1,h2,h3{font-weight:600;letter-spacing:-.025em}
h1,.page-heading h1,.career-review-heading h1,.lab-heading h1,.casebook-masthead h1{font-family:var(--font-ui);font-size:clamp(28px,2.6vw,37px);font-weight:700;line-height:1.18;letter-spacing:-.035em}
.eyebrow,.chapter-label,.record-label,.file-label{font-size:11px;letter-spacing:.055em;color:var(--muted)}
.careerstack-wordmark{font-family:var(--font-ui);font-size:23px;font-weight:750;letter-spacing:-1px}
.careerstack-wordmark>span{font-weight:750;color:var(--accent)}
.field-masthead{background:var(--paper);color:var(--ink);border-right:1px solid var(--line)}
.field-brand{color:var(--accent)}
.field-primary{gap:8px;margin-top:36px}
.nav-section>button{width:100%;font-weight:600}
.nav-children{display:grid;border-left:1px solid var(--line);margin:6px 0 9px 16px;padding-left:12px}
.field-primary .nav-children button{font-size:13px;padding:8px 10px;color:var(--muted)}
.field-primary .nav-children button[aria-current=page]{color:var(--accent);background:var(--soft);font-weight:600}
.field-primary .nav-all{border-top:1px solid var(--line);border-radius:0;margin-top:14px;padding-top:18px}
.workspace-breadcrumb{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--muted)}
.workspace-breadcrumb strong{font-weight:500;color:var(--ink)}
.field-primary button{color:var(--muted);border-radius:5px;padding:13px 12px;font-size:14px}
.field-primary button:hover{background:var(--soft);color:var(--ink)}
.field-primary button.selected{background:var(--soft);color:var(--accent);font-weight:650}
.field-account{border-color:var(--line);gap:15px}
.search-trigger{color:var(--muted);border-color:var(--line)}
.search-trigger kbd{color:var(--muted)}
.account-avatar{background:var(--soft);color:var(--accent);border:1px solid var(--line)}
.field-masthead :focus-visible{outline-color:var(--accent)}
.field-context{background:var(--paper)}
.field-context button[aria-current=page]{color:var(--accent);border-color:var(--accent)}
.field-shell .page{max-width:1250px;padding-top:36px}
.button{background:var(--accent);border-color:var(--accent);border-radius:5px;font-weight:600;box-shadow:none}
.text-button,.button.text-button{background:transparent;color:var(--accent);border-color:transparent}
.button:disabled{opacity:.5;cursor:not-allowed}
body.dark .button:not(.secondary):not(.text-button){color:#1b1d22}
.card,.card.highlight,.briefing-next,.briefing-attention,.briefing-return,.briefing-between,.home-primary,.case-file,.career-feature,.candidate-desk,.finance-desk,.assessment-desk,.simulation-desk,.application-file,.worksheet-desk,.account-record,.menu-groups>section,.daily-layout>section,.settings-layout>.form{box-shadow:none;border-radius:6px;background:var(--paper);border-color:var(--line)}
.home-role-feed{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0 0 26px;margin-bottom:30px}
.home-role-feed header{align-items:center}
.home-role-feed h2{margin:6px 0 10px;font-size:24px}
.workspace-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.workspace-welcome h1{margin:0 0 8px}
.workspace-welcome p{margin:0;color:var(--muted);font-size:14px}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.home-role-preview{display:block;border-top:1px solid var(--line);margin-top:24px}
.home-role-preview article{display:grid;grid-template-columns:1fr auto;gap:4px 25px;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.home-role-preview article small{grid-column:1;font-size:12px;color:var(--muted)}
.home-role-preview article h3{grid-column:1;font-size:18px;margin:0}
.home-role-preview article p{grid-column:1;margin:0;font-size:13px}
.home-role-preview article .button{grid-column:2;grid-row:1 / 4;align-self:center;margin:0}
.briefing-layout{gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}
.briefing-return,.briefing-between{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:24px 0}
.briefing-attention{background:var(--soft);border:0}
.attention-date time{color:var(--muted)}
.home-primary{border:0;border-radius:0;background:transparent;border-top:1px solid var(--line);padding:24px 0}
.home-primary h2{font-size:27px;margin:20px 0 14px}
.briefing-attention h2,.briefing-return h2,.briefing-between h2{font-size:21px}
.briefing-next:before,.briefing-title:after{display:none}
.briefing-title{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0}
.briefing-goal{background:var(--soft);color:var(--ink)}
.case-library{display:block}
.case-file{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px 0;background:transparent}
.case-file:before{display:none}
.case-file h3{font-size:23px}
.case-file-number{background:var(--soft);color:var(--accent);border-color:var(--line);border-radius:4px}
.case-file-number strong{color:var(--accent)}
.case-file-kicker{color:var(--muted)}
.case-file-actions .button{font-size:13px}
.career-feature:nth-child(n) .career-folio{background:var(--soft);color:var(--accent)}
.career-folio:after{display:none}
.career-folio strong{writing-mode:horizontal-tb;transform:none}
.career-folio{background:var(--soft);color:var(--accent)}
.career-folio strong{color:var(--accent)}
.discovered-role-list{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.discovered-role{border-radius:0;border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;padding:25px 0}
.discovered-role h3{font-size:22px}
.role-match{background:transparent;border-left:2px solid var(--line);border-radius:0;padding:0 0 0 16px;max-width:80ch}
.role-checked{border:0;padding-top:0;margin-top:13px}
.job-preferences,.job-detail,.job-source-grid section{border-radius:6px}
.badge,.pill{background:var(--soft);color:var(--accent);border-color:var(--line)}
.job-monitoring-status,.auth-invite-note{border-left-color:var(--accent);background:var(--soft)}
.account-updates [data-unread-count]:not(:empty){background:var(--accent)}
.requirement-row,.proof-entry{border-radius:4px}
.compact-filter,.training-paths,.evidence-facts{background:var(--soft);border-color:var(--line)}
.form :is(input,select,textarea),input,select,textarea{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:5px}
.form :is(input,select,textarea):focus{outline-color:var(--soft);border-color:var(--accent)}
.auth{background:var(--canvas);grid-template-columns:1fr 1fr}
.auth-hero{padding:8vw 7vw}
.auth-hero .careerstack-lockup,.auth-hero .careerstack-lockup .careerstack-wordmark,.auth-hero .careerstack-lockup .careerstack-wordmark>span{color:#ad4927}
.auth-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.auth-hero p{max-width:39ch}
.auth-hero .pill{border-left:1px solid #cec0b5}
.auth-hero .pill:first-child{padding-left:0;border:0}
.auth-panel .card{max-width:430px;padding:24px}
.auth-panel .card h2{font-size:28px}
.auth-panel .muted{font-size:12px;margin-top:28px}
.mobile-nav{background:var(--paper);color:var(--muted)}
.mobile-nav button{color:var(--muted)}
.mobile-nav button[aria-current=page]{color:var(--accent);border-top-color:var(--accent)}
@media(max-width:900px){.workspace-breadcrumb{display:none}
.workspace-welcome{align-items:flex-start}
.field-context{min-height:48px}
.field-masthead{border-right:0;border-bottom:1px solid var(--line)}
.field-shell .page{padding:28px 25px 100px}
.auth{grid-template-columns:1fr}
.auth-hero{padding:42px 28px;border-right:0;border-bottom:1px solid #e4ddd7}
.auth-hero h1{font-size:42px;max-width:20ch}
.auth-hero .careerstack-lockup{margin-bottom:24px}
.auth-panel{padding:28px 20px}}
@media(max-width:580px){.workspace-welcome{display:block;margin-bottom:25px;padding-bottom:22px}
.welcome-actions{margin-top:18px}
.welcome-actions .button{font-size:12px;padding:10px 13px}
.briefing-layout{grid-template-columns:1fr}
.home-role-feed h2{font-size:23px}
.careerstack-wordmark{font-size:25px}
.field-shell .page{padding:25px 18px 95px}
.field-brand .careerstack-wordmark{font-size:22px}
.field-brand{gap:8px}
.page h1{font-size:32px}
.home-role-feed header{display:block}
.home-role-feed header>.button{margin-top:14px}
.home-role-preview article{gap:5px 10px}
.home-role-preview article h3{font-size:17px}
.home-role-preview article .button{padding:9px 0;font-size:12px}
.home-primary h2{font-size:25px}
.briefing-next,.briefing-attention,.briefing-return,.briefing-between{padding:23px}
.auth-hero{padding:32px 24px}
.auth-hero h1{font-size:38px}
.auth-hero p{font-size:15px}
.auth-panel .card{padding:15px 4px}
.field-account{gap:9px}
.search-trigger{font-size:11px}
.account-updates{font-size:11px;padding:5px}
.career-folio{min-height:90px}
.case-file-actions{grid-column:1 / -1}}
/* Source: workspace.css */
:root{--surface:#FCFCFB;--panel:#F6F7F8;--ink:#181C21;--text:#181C21;--line:#E3E6E9;--border:#E3E6E9;--orange:#D85838;--brand:#181C21;--radius:0;--sans:'Source Sans 3',Arial,system-ui,sans-serif;--serif:var(--sans);--mono:var(--sans)}
html{background:var(--bg);color:var(--ink);scroll-padding-top:118px}
body{margin:0}
*{box-sizing:border-box}
button,input,select,textarea{font-size:14px}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
h1,h2,h3,h4{color:var(--ink);line-height:1.3}
h2{margin:0 0 12px}
h3{margin:0 0 8px}
p{margin:8px 0 14px}
small,.muted,.ws-meta{font-size:13px;color:var(--muted);line-height:18px}
strong{font-weight:600}
a{color:#3864D8}
button,a,input,select,textarea,summary{touch-action:manipulation}
::selection{background:#FFF5EE}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:36px;max-width:100%}
textarea{resize:vertical;line-height:1.5}
input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0}
label{color:var(--ink);font-weight:500;display:block}
label input,label select,label textarea{display:block;margin-top:5px;width:100%}
label:has(input[type=checkbox]),label:has(input[type=radio]){display:flex;gap:9px;align-items:baseline}
label input[type=checkbox],label input[type=radio]{width:auto;display:inline;margin:0}
fieldset{border:0;border-top:1px solid var(--line);padding:20px 0;margin:20px 0}
legend{padding:0 12px 0 0;font-weight:600}
.button,.button:not(.text-button),.actions .button{min-height:36px;padding:7px 13px;text-decoration:none;font-weight:500;font-size:14px;line-height:20px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-transform:none;letter-spacing:0}
.button.text-button{font-size:14px;font-weight:500;padding:7px 4px;min-height:36px}
.button.text-button:hover{text-decoration:underline}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.form{display:grid;gap:16px;padding:0;max-width:760px}
.form .actions{margin:0}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ws-skip{position:fixed;left:14px;top:-70px;z-index:1000;padding:10px 20px;background:#fff}
.ws-skip:focus{top:8px}
.ws-masthead{display:flex;align-items:center;color:#fff;position:sticky;top:0;z-index:30}
.ws-brand{display:flex;align-items:center;background:none;border:0;color:#fff;padding:0;white-space:nowrap}
.ws-brand img{border-radius:0}
.ws-masthead>nav{display:flex;height:100%;align-items:stretch}
.ws-masthead>nav button{padding:0 2px;border:0;border-bottom:2px solid transparent;background:none;color:#BAC0C8;transition:all 0.15s ease}
.ws-masthead>nav button:hover{color:#fff}
.ws-masthead>nav button.ws-current{color:#fff;border-bottom-color:#D85838}
.ws-tools{margin-left:auto;display:flex;align-items:center}
.ws-streak{display:flex;align-items:center;gap:6px;font-weight:600}
.ws-search{text-align:left;color:#B5BCC6;border:1px solid #3D4D55;justify-content:space-between}
.ws-search kbd{color:#A4ADB8}
.ws-account{position:relative}
.ws-account summary{list-style:none;cursor:pointer}
.ws-account summary span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#323C48;color:#fff}
.ws-account>div,.ws-tool-menu>div,.ws-more>div{position:absolute;right:0;top:calc(100% + 10px);width:210px;z-index:45;display:grid;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 24px #141A2120;padding:6px}
.ws-account>div button,.ws-tool-menu>div button,.ws-more>div button{border:0;background:none;color:var(--ink);padding:9px 12px;text-align:left;font-size:14px}
.ws-account>div button:hover,.ws-tool-menu>div button:hover{background:#F3F4F5}
.ws-context{position:sticky;z-index:20;display:flex;align-items:stretch;gap:25px;padding:0 32px;border-bottom:1px solid var(--line)}
.ws-context>button{border:0;background:none;color:var(--muted);border-top:2px solid transparent;padding:0 1px;font-size:13px;transition:all 0.15s ease}
.ws-context>button[aria-current]{color:var(--ink);border-top-color:#D85838}
.ws-tool-menu{position:relative;margin-left:auto;padding:10px 0}
.ws-tool-menu summary{font-size:13px;cursor:pointer;color:var(--muted)}
.ws-main{width:100%;margin:0 auto;outline:0}
.ws-main .page{max-width:none;background:none}
.ws-heading{display:flex;justify-content:space-between;gap:20px}
.ws-heading p{margin:0}
.ws-section{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.ws-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ws-section-heading h2{margin:0}
.ws-row{display:flex;align-items:center;gap:22px;min-height:58px;padding:12px 0;border-bottom:1px solid var(--line)}
.ws-row>time,.ws-row>span:first-child{font-size:13px;color:var(--muted);min-width:95px}
.ws-row>div{flex:1;min-width:0}
.ws-row strong,.ws-row small{display:block}
.ws-row .button{margin-left:auto}
.ws-empty{padding:35px 0;max-width:480px}
.ws-empty p{color:var(--muted)}
.ws-next{padding:4px 0 4px 17px;border-left:2px solid #D85838;margin:30px 0}
.ws-next h2{color:var(--muted);margin:0 0 9px}
.ws-next h3{max-width:620px}
.ws-next p{max-width:650px;color:var(--muted)}
.ws-next .actions{margin-bottom:0}
.ws-today{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);gap:62px}
.ws-today>section>.ws-next{margin-top:0}
.ws-today>aside>.ws-section:first-child{margin-top:0;padding-top:0;border-top:0}
.ws-role-preview{padding:14px 0;border-bottom:1px solid var(--line)}
.ws-role-preview strong,.ws-role-preview small{display:block}
.ws-thread{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.ws-thread ul{list-style:none;padding:0;margin:0}
.ws-thread li{display:flex;gap:24px;align-items:center;min-height:38px}
.ws-thread li>span{min-width:100px;color:var(--muted);font-size:13px}
.ws-thread button{justify-content:flex-start;text-align:left}
.ws-plan-workspace{display:grid;margin:-34px -40px -64px;min-height:calc(100vh - 100px)}
.ws-plan-list{border-right:1px solid var(--line)}
.ws-plan-list>header{display:flex;justify-content:space-between;align-items:center}
.ws-plan-list>div>.ws-meta{padding:0 20px}
.ws-list-search{font-size:13px}
.ws-plan-select{width:100%;background:none;border:0;border-left:3px solid transparent;text-align:left;color:var(--ink)}
.ws-plan-select strong,.ws-plan-select small{display:block}
.ws-plan-select small{margin-top:4px}
.ws-plan-select:hover{background:#F3F4F5}
.ws-plan-select.ws-selected,.ws-job-row.ws-selected{background:#FFF5EE;border-left-color:#D85838}
.ws-plan-detail{min-width:0}
.ws-object-heading{display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}
.ws-object-heading p{margin:7px 0}
.ws-more{position:relative}
.ws-more>summary{font-size:13px;cursor:pointer;list-style:none;padding:8px}
.ws-plan-progress{font-size:13px;color:var(--muted)}
.ws-plan-progress progress{width:100%;display:block;border:0;background:#E3E6E9;appearance:none}
.ws-plan-progress progress::-webkit-progress-bar{background:#E3E6E9}
.ws-plan-activity{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);min-height:65px}
.ws-check{padding:4px 0}
.ws-activity-body{flex:1;min-width:0}
.ws-activity-body>strong,.ws-activity-body>small{display:block}
.ws-activity-body>small{margin-top:3px}
.ws-activity-body details{margin-top:7px;font-size:13px;color:var(--muted)}
.ws-activity-body summary{cursor:pointer}
.ws-activity-body .form{padding:12px 0;max-width:430px}
.ws-complete>.ws-activity-body>strong{color:#656D77}
.ws-row-actions{display:flex;gap:7px;align-items:center}
.ws-add-activity{padding:12px 0}
.ws-add-activity summary{cursor:pointer}
.ws-add-activity form{padding-top:14px;max-width:450px}
.ws-plan-detail #ws-plan-edit .form{padding-top:18px;max-width:450px}
.ws-modal-open{overflow:hidden}
.ws-drawer-backdrop{position:fixed;inset:0;z-index:80;background:#141A2115;display:flex;justify-content:flex-end}
.ws-drawer{width:450px;max-width:100%;height:100dvh;background:#fff;border-left:1px solid #CDD2D7;box-shadow:-8px 0 35px #141A2110;display:flex;flex-direction:column;animation:ws-drawer-in 0.3s cubic-bezier(0.16, 1, 0.3, 1)}
.ws-drawer>header{display:flex;justify-content:space-between;padding:0 26px}
.ws-drawer>header h2{margin:0}
.ws-drawer>form{max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;gap:0}
.ws-drawer-body{flex:1;overflow:auto;padding:24px 26px;display:flex;flex-direction:column}
.ws-drawer-body h3{margin:12px 0 -5px}
.ws-drawer-body h3:first-child{margin-top:0}
.ws-drawer-body .grid.two{display:grid}
.ws-drawer-body details>summary{cursor:pointer;font-size:13px}
.ws-drawer-body details p{font-size:13px;color:var(--muted)}
.ws-custom-activities{max-height:300px;overflow:auto}
.ws-custom-activities label{font-weight:400;font-size:13px;margin-bottom:12px;align-items:flex-start}
.ws-custom-activities label small{margin-left:auto;white-space:nowrap}
.ws-drawer footer{padding:16px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fff}
.ws-inline-error{border-left:2px solid #B44742;padding:8px 12px}
.ws-mobile-title,.ws-mobile-search,.ws-mobile-nav{display:none}
.ws-job-workspace{display:grid;grid-template-columns:420px minmax(0,1fr);border-top:1px solid var(--line);margin-top:24px;min-height:470px}
.ws-job-list{padding:20px 22px 20px 0;border-right:1px solid var(--line);min-width:0}
.ws-job-search{display:flex;align-items:flex-end;gap:8px}
.ws-job-search label{flex:1;font-size:13px}
.ws-list-filters{margin-top:16px}
.ws-list-filters label{font-size:13px}
.ws-job-results{max-height:660px;overflow:auto}
.ws-job-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);border-left:3px solid transparent;padding:12px 10px;min-height:95px}
.ws-job-open{flex:1;min-width:0;text-align:left;background:none;border:0;padding:0;color:var(--ink)}
.ws-job-open strong,.ws-job-open span,.ws-job-open small{display:block}
.ws-job-open span{font-size:13px;color:#656D77;margin:4px 0}
.ws-job-row:hover{background:#F3F4F5}
.ws-job-document{padding:24px 0 24px 32px;min-width:0;max-height:850px;overflow:auto}
.role-description{font-size:14px;line-height:1.65}
.ws-job-document .ws-section{margin-top:20px;padding-top:20px}
.job-preferences>summary{font-weight:500}
.job-filter-grid{gap:15px}
.filter-help{font-size:13px;max-width:800px}
.job-monitoring-status{font-size:13px}
.monitor-summary strong{font-weight:500;color:#277451}
.job-source-grid{gap:20px}
.ws-table-scroll{overflow-x:auto;width:100%;margin-top:22px}
.ws-app-table{border-collapse:collapse;width:100%;font-size:14px}
.ws-app-table th{height:36px;border-bottom:1px solid #CDD2D7;font-size:12px;font-weight:500;color:#656D77;text-align:left;padding:0 12px 0 0}
.ws-app-table td{height:68px;border-bottom:1px solid var(--line);padding:12px 20px 12px 0;vertical-align:middle}
.ws-app-table td:nth-child(2){min-width:160px}
.ws-app-table td:first-child{min-width:200px}
.ws-app-table td:nth-child(3){white-space:nowrap}
.ws-app-table tr:hover td{background:#F3F4F5}
.ws-table-link{background:none;border:0;padding:0;text-align:left;color:var(--ink)}
.ws-table-link strong,.ws-table-link small{display:block}
.ws-table-link:hover strong{text-decoration:underline}
.ws-app-table select{min-width:115px;max-width:140px}
.ws-visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.ws-case-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.ws-case-row>div:first-child{flex:1}
.ws-case-row h3{margin-bottom:4px}
.ws-case-state{color:var(--muted);min-width:115px}
.ws-case-row .actions{margin:0}
.ws-main .section{margin-top:24px;padding:0}
.ws-main .lede{max-width:740px}
.ws-main .page-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}
.ws-main .badge,.ws-main .pill,.ws-main .requirement-state,.ws-main .role-saved-label{font-weight:400;font-size:13px}
.ws-main .badge:before{content:'· ';color:#90969D}
.ws-main .home-row{gap:18px}
.ws-main .home-row strong{font-size:14px}
.ws-main .history-weeks{display:none}
.ws-main .editorial-tabs,.ws-main .comp-tabs{display:flex;flex-wrap:wrap;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:0;margin:18px 0}
.ws-main .editorial-tabs button,.ws-main .comp-tabs button{min-height:38px;font-weight:400}
.ws-main .skill-focus button{border:0;border-radius:0;background:none;font-size:13px;color:#656D77;padding:8px}
.ws-main .skill-focus .focus-active{text-decoration:underline;text-underline-offset:5px;color:#181C21}
.ws-main .source-note{margin-top:20px}
.ws-main .case-library{border-top:1px solid var(--line)}
.ws-main .proof-entry summary{font-weight:500;cursor:pointer}
.ws-main .experience-layout,.ws-main .opportunity-layout{gap:32px}
.ws-main .experience-layout>aside,.ws-main .opportunity-layout>aside{border-right:1px solid var(--line);padding-right:20px}
.ws-main .notice{background:#F6F7F8;border:0;border-left:2px solid #277451;padding:10px 14px;margin-bottom:20px;border-radius:0;color:#181C21}
.ws-main .notice.error{border-left-color:#B44742}
.ws-main .empty{text-align:left;color:#656D77}
.ws-main .model-table-wrap,.ws-main .worksheet-table-wrap{border:0;border-radius:0;overflow:auto}
.ws-main th{background:#F6F7F8}
.ws-main .simulation-status{background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;border-radius:0}
.ws-main .assessment-question{border:0;background:none;border-radius:0}
.ws-focusbar{height:50px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:0 28px;position:sticky;top:0;background:#fff;z-index:30}
.ws-focusbar>span{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-focusbar>small{margin-left:auto;white-space:nowrap}
.ws-focus .ws-main{max-width:860px;padding-top:32px}
.ws-focus .candidate-desk,.ws-focus .case-workspace{border:0;background:none;padding:0}
.ws-focus .grid.two{grid-template-columns:minmax(0,1fr)}
.search-dialog{max-width:620px;width:calc(100% - 32px);box-shadow:0 15px 60px #141A2130}
.search-results button{min-height:44px}
.search-results button:hover{background:#F3F4F5}
.search-overlay{background:#141A2135}
.search-dialog input{font-size:16px}
.ws-main .join-panel summary{font-size:13px}
@keyframes ws-drawer-in{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(min-width:1440px){.ws-main{padding-left:48px;padding-right:48px}
.ws-plan-workspace{margin-left:-48px;margin-right:-48px}}
@media(max-width:1190px){.ws-masthead{gap:28px;padding:0 24px}
.ws-masthead>nav{gap:20px}
.ws-search{width:190px}
.ws-main{padding-left:28px;padding-right:28px}
.ws-plan-workspace{margin-left:-28px;margin-right:-28px}
.ws-plan-detail{padding:30px}
.ws-job-workspace{grid-template-columns:360px minmax(0,1fr)}
.ws-context{padding:0 24px}
.ws-today{gap:40px}
.ws-case-row .actions{gap:6px}
.ws-case-state{min-width:85px}}
@media(max-width:900px){.ws-tools{gap:12px}
.ws-plan-workspace{grid-template-columns:260px minmax(0,1fr)}
.ws-plan-detail{padding:28px 24px}
.ws-today{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:30px}
.ws-job-workspace{grid-template-columns:310px minmax(0,1fr)}
.ws-job-document{padding-left:24px}
.ws-case-row{flex-wrap:wrap}
.ws-case-row>div:first-child{flex-basis:65%}
.ws-case-row .actions{width:100%}
.ws-main .experience-layout,.ws-main .opportunity-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:767px){html{scroll-padding-top:105px}
.ws-masthead{padding:0 16px}
.ws-brand{gap:0}
.ws-brand img{width:24px;height:24px}
.ws-masthead>nav,.ws-tools .ws-search{display:none}
.ws-mobile-title{display:block;order:1;color:#fff;font-size:15px;font-weight:500}
.ws-brand{order:0}
.ws-tools{order:3;margin-left:0}
.ws-mobile-search{display:block;order:2;margin-left:auto;border:0;background:none;color:#CDD2D7;padding:8px;font-size:13px}
.ws-context{padding:0 16px;overflow:visible;white-space:nowrap;max-width:100%}
.ws-context>button{font-size:12px;flex-shrink:0;min-height:44px}
.ws-context{gap:15px}
.ws-tool-menu{margin-left:0;padding:12px 0}
.ws-tool-menu>div{position:fixed;right:16px;top:94px}
.ws-tool-menu summary{font-size:12px}
.ws-context:has(.ws-tool-menu){overflow-x:auto;overflow-y:hidden}
.ws-heading>.button{font-size:13px}
.ws-main .page-heading{display:block}
.ws-main .page-heading>details{margin-top:15px}
.ws-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:68px;padding-bottom:env(safe-area-inset-bottom);z-index:40;background:#1A2530;border-top:1px solid #2A3840;justify-content:space-around}
.ws-mobile-nav button{border:0;border-top:2px solid transparent;background:none;color:#A4ADB8;font-size:12px;min-width:54px;min-height:44px}
.ws-mobile-nav button.ws-current{color:#fff;border-top-color:#D85838}
.ws-today{display:block}
.ws-today>aside{margin-top:30px}
.ws-row{gap:12px;align-items:flex-start}
.ws-row>time,.ws-row>span:first-child{min-width:70px;font-size:12px;max-width:80px}
.ws-row>.button{flex-shrink:0}
.ws-thread li{gap:12px}
.ws-thread li>span{min-width:78px}
.ws-plan-workspace{display:block;margin:-26px -20px -90px;min-height:calc(100dvh - 158px)}
.ws-plan-list{border-right:0;min-height:calc(100dvh - 158px);padding-bottom:90px}
.ws-plan-list header{padding:0 20px 16px}
.ws-plan-detail{display:none}
.ws-detail-open .ws-plan-list{display:none}
.ws-detail-open .ws-plan-detail{display:block}
.ws-plan-back{margin-bottom:15px}
.ws-plan-select{min-height:74px;padding:15px 20px}
.ws-plan-activity{gap:10px;flex-wrap:wrap}
.ws-activity-body{flex-basis:calc(100% - 100px)}
.ws-row-actions{gap:8px}
.ws-plan-activity .ws-more>div{right:0}
.ws-section-heading{align-items:flex-start}
.ws-section-heading small{max-width:150px;text-align:right;font-size:12px}
.ws-drawer{border-left:0}
.ws-drawer>header{height:58px;padding:0 20px}
.ws-drawer-body{padding:20px}
.ws-drawer footer{padding:14px 20px}
.ws-job-workspace{display:block;min-height:0}
.ws-job-list{border-right:0;padding:16px 0}
.ws-job-document{display:none;max-height:none;padding:0}
.ws-job-detail-open .ws-job-list{display:none}
.ws-job-detail-open .ws-job-document{display:block}
.ws-job-back{margin-bottom:20px}
.ws-job-results{max-height:none}
.ws-job-row{padding:16px 10px}
.ws-job-open strong{font-size:15px}
.job-filter-grid{grid-template-columns:1fr 1fr}
.monitor-summary{display:grid;gap:5px}
.job-source-grid{display:block}
.ws-case-row{display:block;padding:18px 0}
.ws-case-state{display:block;margin:8px 0}
.ws-case-row .actions{margin-top:10px}
.ws-main .editorial-tabs,.ws-main .comp-tabs{gap:15px}
.ws-main .experience-layout>aside,.ws-main .opportunity-layout>aside{border:0;padding:0;margin-bottom:25px;max-height:220px;overflow:auto}
.ws-main .home-row{flex-wrap:wrap;gap:10px}
.ws-main .history-row>div{margin-bottom:10px}
.ws-focusbar{padding:0 14px;gap:16px}
.ws-focusbar>small{display:none}
.ws-focus .ws-main{padding-bottom:36px}
.ws-app-table{min-width:740px}
.ws-main .filter-fields{grid-template-columns:1fr 1fr}
.ws-main .compact-filter{flex-wrap:wrap;gap:12px}
.ws-main .compact-filter label{min-width:0}
.ws-context:has(button[data-view="careerCompare"]){overflow-x:auto}
button,.button,summary{min-height:44px}
.ws-main input:not([type=checkbox]):not([type=radio]),.ws-main select,.ws-main textarea,.ws-drawer input:not([type=checkbox]),.ws-drawer select{font-size:16px;min-height:44px}
.ws-drawer .ws-custom-activities input[type=checkbox]{min-height:16px}
.ws-drawer>header .button{min-height:44px}}
.ws-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.ws-explore-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0 14px;margin:24px 0 0}
.ws-explore-intro>p{font-size:23px;line-height:30px;color:#656D77}
.ws-explore-intro strong{color:#181C21}
.ws-explore-intro img{width:240px;max-height:155px;object-fit:contain}
.ws-career{display:grid;grid-template-columns:220px minmax(0,1fr);gap:35px;padding:34px 0;border-bottom:1px solid var(--line)}
.ws-career p{max-width:700px}
.ws-career dl{display:grid;grid-template-columns:120px 1fr;gap:8px 20px;max-width:820px;font-size:14px}
.ws-career dt{color:#656D77}
.ws-career dd{margin:0}
.ws-career-type{display:flex;align-items:center;gap:9px;font-size:14px;align-self:start;margin-top:5px}
.ws-career-dot{width:9px;height:9px;border-radius:50%;background:#D85838}
.ws-career:nth-child(2) .ws-career-dot{background:#277451}
.ws-career:nth-child(3) .ws-career-dot{background:#3864D8}
.ws-auth-art{max-width:100%;height:auto;display:block;margin:20px 0}
.ws-evidence-meta{display:flex;flex-wrap:wrap;gap:14px 28px;padding:15px 0;border-bottom:1px solid var(--line)}
.ws-evidence-meta dt{font-size:12px;color:#656D77}
.ws-evidence-meta dd{margin:3px 0 0;font-size:14px}
.ws-main .evidence-skill{text-align:left}
.ws-main .evidence-layout{gap:35px}
.ws-account summary::-webkit-details-marker{display:none}
.ws-more summary::-webkit-details-marker{display:none}
.ws-heading,.ws-object-heading{animation:ws-content-in 130ms ease-out}
@keyframes ws-content-in{from{opacity:.85;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.ws-career{grid-template-columns:1fr;gap:14px;padding:25px 0}
.ws-career dl{grid-template-columns:1fr;gap:5px}
.ws-career dd{margin-bottom:10px}
.ws-explore-intro{gap:15px}
.ws-explore-intro p{font-size:19px;line-height:26px}
.ws-explore-intro img{width:115px;max-height:135px}
.ws-main .evidence-layout>section:first-child{max-height:255px;overflow:auto;margin-bottom:28px;border-bottom:1px solid #CDD2D7}
.ws-evidence-meta{gap:14px 24px}
.ws-auth-art{max-width:260px;margin:8px auto}
.ws-main .evidence-skill{min-height:62px}}
.ws-practice-heading{margin-bottom:22px}
.ws-practice-heading p{margin:0 0 8px}
.ws-question{font-size:17px;line-height:27px;color:#181C21;margin:0 0 30px;max-width:760px}
.ws-practice-form{max-width:700px}
.ws-practice-form details summary{cursor:pointer;color:#656D77;font-size:13px}
.ws-practice-form details textarea{margin-top:12px}
.ws-feedback{border-top:1px solid var(--line);padding-top:25px}
.ws-feedback>p:not(.ws-meta){font-size:16px;line-height:25px}
.ws-feedback>details{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}
.ws-focus .ws-main{min-height:calc(100dvh - 50px)}
.ws-focus nav[aria-label="Case workspace"]{display:flex;gap:18px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:4px;background:none}
.ws-focus nav[aria-label="Case workspace"] button{white-space:nowrap;font-size:13px;min-height:38px}
.ws-feedback>section{padding:12px 0}
.ws-feedback>section h3{color:#656D77;margin-bottom:5px}
.ws-feedback>section p{margin:0;font-size:16px;line-height:25px}
.ws-main .ws-table-scroll{min-width:0;max-width:100%}
.ws-main .ws-app-table td{overflow-wrap:anywhere}
@media(max-width:767px){.ws-main .ws-app-table{min-width:0;width:100%;display:block}
.ws-app-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ws-app-table tbody{display:block}
.ws-app-table tr{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px 12px;padding:18px 0;border-bottom:1px solid var(--line)}
.ws-main .ws-app-table td{display:block;height:auto;border:0}
.ws-app-table td:first-child{grid-column:1;grid-row:1}
.ws-app-table td:nth-child(4){grid-column:2;grid-row:1}
.ws-app-table td:nth-child(2){grid-column:1 / -1;grid-row:2}
.ws-app-table td:nth-child(3){grid-column:1;grid-row:3;font-size:12px;color:#656D77}
.ws-app-table td:nth-child(5){grid-column:2;grid-row:3;font-size:12px;color:#656D77}
.ws-app-table td:nth-child(2):before{content:'Next: ';color:#656D77}
.ws-app-table td:nth-child(3):before{content:'Deadline: '}
.ws-app-table td:nth-child(5):before{content:'Updated: '}
.ws-app-table select{width:100%}
.ws-focus nav[aria-label="Case workspace"]{gap:18px}
.ws-main .stage-control select{width:100%}}
:root{--paper:#FCFCFB;--soft:#F6F7F8;--canvas:#FCFCFB;--font-ui:var(--sans);--font-display:var(--sans)}
.ws-main .drill-list{border-top:1px solid var(--line);margin-top:20px}
.ws-focus .timer-controls{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;max-width:none}
.ws-focus .case-rail nav{align-items:center;flex-wrap:nowrap}
.ws-focus .case-rail nav button{text-align:left}
.ws-focus .case-rail>h3,.ws-focus .case-rail>.plain-list{display:none}
.ws-focus .case-work-heading{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:10px}
.ws-role-text p{line-height:1.65;margin-bottom:18px}
.ws-main .roadmap-stage{grid-template-columns:90px minmax(0,1fr)}
.ws-main .roadmap-index{border:0;background:none;font-size:13px;width:auto;height:auto}
.ws-main .roadmap-stage .roadmap-index span{font-size:13px}
.auth-hero{border-right:1px solid var(--line)}
.auth-hero h1{max-width:500px}
.auth-hero .pill{border:0;border-radius:0;padding:0;background:none;color:#656D77}
.auth-panel .eyebrow{display:none}
.ws-auth-art{order:3}
.auth-hero .careerstack-lockup{margin-bottom:35px}
@media(max-width:767px){.ws-focus .case-work-heading{display:block}
.ws-focus .timer-controls{margin-top:18px;justify-content:flex-start}
.ws-main .roadmap-stage{grid-template-columns:55px minmax(0,1fr)}
.auth-hero{border-right:0;border-bottom:1px solid var(--line)}
.auth-hero .careerstack-lockup{margin-bottom:18px}
.auth-hero .ws-auth-art{display:none}}
body.dark{--bg:#171D24;--surface:#171D24;--paper:#171D24;--panel:#202730;--canvas:#171D24;--soft:#202730;--ink:#E5E9EF;--text:#E5E9EF;--muted:#A7B0BD;--line:#39414D;--border:#39414D}
.dark .ws-plan-list{background:#202730}
.dark .ws-plan-select,.dark .ws-job-open,.dark .ws-table-link{color:#E5E9EF}
.dark .ws-explore-intro strong,.dark .ws-career-type{color:#E5E9EF}
.dark .ws-main .notice{background:#202730;color:#E5E9EF}
.ws-assessment-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.ws-assessment-row h3{margin:0 0 5px}
.ws-assessment-row .actions{margin:0}
.ws-main .case-progress{padding:8px 0;background:none;border:0;font-size:12px;color:var(--muted)}
.ws-main .case-progress .bar{display:none}
.ws-main .case-rail #case-save-status{font-size:12px}
.ws-main .guided-lesson fieldset{border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0}
@media(max-width:767px){.ws-brand{min-width:44px;min-height:44px}
.ws-account summary{min-width:44px;min-height:44px;display:flex;align-items:center}
.ws-mobile-search{min-width:44px;min-height:44px}
.ws-main .ws-context button{min-height:44px}
.ws-assessment-row{align-items:flex-start}
.ws-assessment-row .actions{flex-shrink:0}}
.ws-main .assessment-question legend strong{display:block;font-size:21px;line-height:29px;margin-top:8px;font-weight:500}
.ws-main .assessment-question legend small{font-size:13px;text-transform:none}
.ws-main .assessment-option{min-height:44px}
.ws-main .assessment-clock{font-size:13px}
.ws-main .assessment-question{margin:28px 0}
.tool-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:28px}
.tool-workspace>section{min-width:0}
.tool-workspace h2{margin-top:28px}
.tool-table-scroll{max-width:100%;overflow:auto}
.tool-table-scroll table{width:100%;border-collapse:collapse}
.tool-table-scroll th,.tool-table-scroll td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}
.tool-chart{display:block;width:100%;height:auto;margin:20px 0;color:var(--ink);overflow:visible}
.tool-chart text{font-family:inherit;font-size:14px;fill:currentColor}
.tool-slide{padding:24px;border:1px solid var(--line);background:var(--surface,#fff);margin-top:20px}
.tool-slide h2{margin-top:0}
.tool-slide p{white-space:pre-wrap}
@media(max-width:900px){.tool-workspace{grid-template-columns:1fr;gap:20px}
.tool-workspace input,.tool-workspace select{min-height:44px}}
.dataset-scroll{max-width:100%;overflow-x:auto;margin:1rem 0;border:1px solid var(--line,#d8dce5);border-radius:12px}
.dataset-scroll:focus-visible{outline:3px solid var(--accent,#3756d8);outline-offset:3px}
.dataset-scroll table{border-collapse:collapse;width:100%;min-width:420px}
.dataset-scroll th,.dataset-scroll td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--line,#d8dce5);vertical-align:top}
.dataset-scroll th{background:var(--panel,#f2f5fa)}
.lesson-dataset{min-width:0}
.guided-lesson{min-width:0}
.learning-library,.learning-reader{--learn-color:#c75035;--learn-wash:#fff0e9}
.learn-finance{--learn-color:#247665;--learn-wash:#eaf5ef}
.learn-analytics{--learn-color:#5b57a2;--learn-wash:#efedf9}
.learn-consulting{--learn-color:#b85b32;--learn-wash:#fff0e7}
.ws-main .learning-heading{display:flex;justify-content:space-between;align-items:center;gap:36px;margin:10px 0 32px}
.ws-main .learning-heading h1{max-width:700px}
.learning-heading p{font-size:16px;max-width:560px;color:var(--muted);line-height:1.6}
.learning-kicker{font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--learn-color,#b85b32)}
.learning-total{padding:24px;border-left:1px solid var(--line);display:flex;gap:16px;align-items:center;flex-shrink:0}
.learning-total strong{font-size:56px;line-height:1;color:#b85b32}
.learning-total span{font-size:13px;color:var(--muted)}
.learning-track-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 48px}
.learning-track-links a{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--learn-wash);color:var(--learn-color);border-radius:12px;font-weight:600;transition:transform .18s}
.learning-track-links a:hover{transform:translateY(-3px)}
.learning-track-links a>span:last-child{margin-left:auto;font-size:24px}
.learning-track-links svg{width:52px;height:48px;flex-shrink:0}
.learning-track{scroll-margin-top:130px;margin:40px 0}
.learning-track>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}
.ws-main .learning-track h2{margin:8px 0 0}
.learning-track>header svg{width:68px;height:58px;color:var(--learn-color)}
.learning-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.learning-card{min-width:0;flex-direction:column}
.learning-card:hover{border-color:var(--learn-color)}
.learning-card-top{justify-content:space-between;color:var(--muted);align-items:flex-start}
.learning-status{white-space:nowrap;color:var(--learn-color)}
.learning-status.is-saved{background:var(--panel);color:var(--ink)}
.learning-card>p{color:var(--muted);font-size:14px;margin-bottom:24px}
.learning-card footer{margin-top:auto;display:flex;align-items:center}
.learning-card .button{min-height:40px}
.learning-footnote{font-size:12px;color:var(--muted);line-height:1.6}
.reader-art{width:140px;height:140px;padding:18px;background:var(--learn-wash);border-radius:32px;flex-shrink:0;color:var(--learn-color)}
.reader-art svg{width:100%;height:100%}
.learning-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.learning-tags span{font-size:12px;padding:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:30px;color:var(--muted)}
.learning-reader-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;align-items:start}
.learning-outline{position:sticky;top:90px;border-top:2px solid var(--learn-color);padding:20px 0}
.learning-outline nav{display:grid;margin:14px 0 24px;gap:3px}
.learning-outline a{color:var(--muted);display:flex;gap:12px;align-items:baseline;padding:9px 8px;border-radius:6px;font-size:13px;line-height:1.4}
.learning-outline a:hover{background:var(--panel);color:var(--ink)}
.learning-outline a span{color:var(--learn-color);font-size:11px;flex-shrink:0}
.learning-outline>p{font-size:11px;color:var(--muted)}
.learning-reader .guided-lesson{max-width:800px}
.learning-reader .lesson-dataset{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:24px;margin:0 0 28px}
.learning-reader .dataset-scroll{background:var(--surface)}
.learning-reader .lesson-dataset .eyebrow{display:none}
.learning-reader .lesson-dataset>p{font-size:13px;color:var(--muted)}
.learning-reader .learning-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding:26px 0;border-bottom:1px solid var(--line);margin:0;scroll-margin-top:90px}
.learning-step-number{color:var(--learn-color);font-size:13px;font-weight:700;line-height:24px}
.learning-step p{font-size:16px;line-height:1.85;color:var(--ink);margin:14px 0 0}
.learning-checks{scroll-margin-top:90px}
.ws-main .learning-checks>h2{margin:10px 0}
.ws-main .learning-checks fieldset{margin:22px 0;border:1px solid var(--line);padding:22px;border-radius:12px;background:var(--surface)}
.learning-checks legend{font-weight:600;font-size:16px;line-height:1.6;max-width:100%;padding-right:8px}
.learning-question-number{display:inline-flex;width:26px;height:26px;justify-content:center;align-items:center;font-size:12px;margin-right:10px;border-radius:50%;background:var(--learn-wash);color:var(--learn-color)}
.ws-main .learning-answer{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:8px 0;align-items:center;min-height:48px;cursor:pointer;background:var(--surface)}
.learning-answer:has(input:checked){border-color:var(--learn-color);background:var(--learn-wash)}
.learning-answer input{margin:0}
.learning-number-answer{max-width:240px;font-size:12px;color:var(--muted)}
.learning-result{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-top:28px}
.learning-result .proof-entry{border-bottom:1px solid var(--line);padding:16px 0}
.ws-case-row{border-radius:12px;margin:14px 0;background:var(--surface);transition:border-color .18s}
.ws-case-row .case-file-label{font-size:10px;letter-spacing:1.3px;font-weight:700;display:block;margin-bottom:8px}
.ws-case-row .case-preview{font-size:14px;color:var(--muted);line-height:1.6;max-width:660px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:12px 0}
.ws-case-row>div:first-child{min-width:0}
.ws-case-state{background:var(--panel);border-radius:30px;padding:6px 12px;font-size:12px;white-space:nowrap}
body.dark .learning-library,body.dark .learning-reader,body.dark .learning-track,body.dark .learning-track-links a{--learn-wash:#2b303a;--learn-color:#b9b4f4}
.dark .learn-finance{--learn-color:#8dd1b7}
.dark .learn-consulting{--learn-color:#f4ab89}
.dark .learning-track-links a{color:var(--learn-color)}
.dark .learning-step p{color:var(--ink)}
@media(min-width:1100px){.reader-heading h1{max-width:750px}}
@media(max-width:900px){.learning-reader-grid{grid-template-columns:1fr;gap:20px}
.learning-outline{position:static;padding:14px 0}
.learning-outline nav{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0}
.learning-outline>p{margin-bottom:0}
.reader-art{width:100px;height:100px}
.learning-track-links a{padding:12px}
.learning-track-links svg{width:36px;height:36px}
.learning-card footer{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.learning-heading p{font-size:14px}
.learning-total{display:none}
.learning-track-links{grid-template-columns:1fr;gap:8px;margin-bottom:30px}
.learning-track-links a{padding:12px 16px}
.learning-cards{grid-template-columns:1fr}
.learning-card{padding:18px}
.learning-card footer{flex-direction:row;align-items:center}
.learning-card-top{font-size:10px;gap:6px}
.learning-track>header svg{width:48px;flex-shrink:0}
.reader-art{display:none}
.learning-outline nav{grid-template-columns:1fr}
.learning-reader .lesson-dataset{padding:16px}
.learning-reader .learning-step{grid-template-columns:26px minmax(0,1fr);gap:10px}
.learning-step p{font-size:15px;line-height:1.75}
.ws-main .learning-checks fieldset{padding:16px}
.learning-checks legend{font-size:15px}
.learning-track{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.learning-card,.learning-track-links a,.ws-case-row{transition:none}
.learning-card:hover,.learning-track-links a:hover{transform:none}}
.dark .learning-track-links .learn-finance,.dark .learning-reader.learn-finance,.dark .learning-library .learning-track.learn-finance{--learn-color:#8dd1b7}
.dark .learning-track-links .learn-consulting,.dark .learning-reader.learn-consulting,.dark .learning-library .learning-track.learn-consulting{--learn-color:#f4ab89}
.home-room{--learn-color:#bd5939;--learn-wash:#fff0e7}
.home-room.learn-finance{--learn-color:#267561;--learn-wash:#eaf5ef}
.home-room.learn-analytics{--learn-color:#62539d;--learn-wash:#efedf9}
.home-welcome{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:12px 0 28px}
.home-welcome p{color:var(--muted);font-size:16px;margin:0}
.home-welcome p>span{padding:0 8px;opacity:.5}
.home-welcome-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.home-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--surface);margin:24px 0 30px;padding:20px 0}
.home-snapshot>div{display:flex;gap:12px;align-items:center;padding:0 24px;border-right:1px solid var(--line)}
.home-snapshot>div:last-child{border:0}
.home-snapshot strong{font-size:26px;line-height:1;color:var(--learn-color)}
.home-snapshot span{font-size:12px;color:var(--muted)}
.home-room .ws-today{gap:26px;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);border:0;margin-top:0}
.home-room .ws-today>section,.home-room .ws-today>aside{min-width:0}
.home-next{background:var(--learn-wash);border:1px solid color-mix(in srgb,var(--learn-color) 22%,transparent);border-radius:16px;padding:30px;display:flex;align-items:center;gap:24px;margin-bottom:26px}
.home-next>div:first-child{min-width:0}
.ws-main .home-next h2{margin:14px 0}
.home-next p{font-size:15px;line-height:1.7;color:var(--muted);max-width:480px}
.home-next .actions{margin-top:22px;align-items:center;gap:14px}
.home-next .actions>span{color:var(--learn-color);font-size:12px}
.home-next-art{width:100px;min-width:70px;color:var(--learn-color);flex-shrink:0}
.home-next-art svg{width:100%;height:auto}
.home-panel{padding:24px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;background:var(--surface)}
.home-panel .ws-section-heading{margin-bottom:15px}
.home-panel .ws-section-heading h2{margin-bottom:0}
.home-panel .ws-section-heading .button{font-size:12px;padding:0;min-height:36px}
.home-room .ws-row{padding:18px 0;gap:15px}
.home-room .ws-row>time{font-size:11px;min-width:62px;max-width:62px;color:var(--muted)}
.home-room .ws-row strong{line-height:1.4;font-size:14px}
.home-room .ws-row small{font-size:12px;margin-top:5px}
.home-shortcuts{margin:28px 0}
.home-shortcuts header>p{color:var(--muted);font-size:13px;margin:6px 0 18px}
.home-shortcuts>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-shortcuts button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:12px;color:var(--ink);transition:transform .18s,border-color .18s}
.home-shortcuts button:hover{border-color:var(--learn-color);transform:translateY(-2px)}
.home-shortcuts button>span:first-child{font-size:11px;color:var(--learn-color);margin-bottom:10px}
.home-shortcuts button>span:last-child{position:absolute;top:15px;right:15px;color:var(--learn-color)}
.home-shortcuts button strong{font-size:15px;line-height:1.4}
.home-shortcuts button small{font-size:12px;color:var(--muted);line-height:1.6}
.home-empty{padding:22px 0 8px}
.home-empty>span{font-size:26px;color:var(--learn-color);display:block;margin-bottom:16px}
.home-empty p{font-size:13px;color:var(--muted);line-height:1.7;margin:10px 0 16px;max-width:400px}
.home-empty.compact{padding:10px 0 0}
.home-continue{border-top:3px solid var(--learn-color)}
.ws-main .home-continue h2{margin:14px 0}
.home-continue p{font-size:12px;color:var(--muted)}
.home-deadline{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}
.home-deadline time{color:var(--learn-color);font-size:12px;grid-column:1/-1}
.home-deadline strong{font-size:14px}
.home-deadline small{grid-column:1}
.home-deadline .button{grid-column:2;grid-row:2/4}
.home-proof{background:var(--panel)}
.ws-main .home-proof h2{margin:14px 0}
.home-proof h2 small{font-size:12px;font-weight:400}
.home-proof meter{width:100%;height:12px;accent-color:var(--learn-color)}
.home-proof meter::-webkit-meter-bar{background:var(--line);border:0;border-radius:20px}
.home-proof meter::-webkit-meter-optimum-value{background:var(--learn-color);border-radius:20px}
.home-proof p{font-size:12px;line-height:1.7;color:var(--muted)}
.home-room .start-revisit{background:var(--panel);padding:12px 16px;border-radius:8px;font-size:13px;border:1px solid var(--line)}
.dark .home-room{--learn-color:#f4ab89;--learn-wash:#302822}
.dark .home-room.learn-finance{--learn-color:#8dd1b7;--learn-wash:#20312c}
.dark .home-room.learn-analytics{--learn-color:#b9b4f4;--learn-wash:#2c293c}
.dark .home-next{background:var(--learn-wash)}
@media(max-width:1100px){.home-next-art{width:70px}
.home-next{padding:24px;gap:16px}
.home-shortcuts>div{grid-template-columns:1fr}
.home-shortcuts button{display:grid;grid-template-columns:25px 1fr auto;column-gap:12px;row-gap:4px;padding:16px}
.home-shortcuts button>span:first-child{margin:0;grid-row:1/3;align-self:center}
.home-shortcuts button small{grid-column:2}
.home-shortcuts button>span:last-child{position:static;grid-column:3;grid-row:1/3;align-self:center}
.home-snapshot>div{padding:0 18px}}
@media(max-width:850px){.home-room .ws-today{grid-template-columns:1fr}
.home-room .ws-today>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.home-panel{margin-bottom:0}
.home-room .ws-today>section .home-panel{margin-bottom:20px}
.home-snapshot>div{flex-direction:column;gap:8px;align-items:flex-start}
.home-welcome-actions{flex-direction:column;gap:8px;align-items:flex-end}
.home-next-art{width:110px}
.home-proof,.home-continue{height:100%}}
@media(max-width:580px){.home-welcome{display:block;margin-bottom:20px}
.home-welcome p{font-size:14px;line-height:1.7}
.home-welcome-actions{flex-direction:row;align-items:center;justify-content:flex-start;margin-top:18px;gap:18px}
.home-snapshot{padding:18px 0}
.home-snapshot>div{padding:0 12px}
.home-snapshot strong{font-size:24px}
.home-snapshot span{font-size:10px;line-height:1.4}
.home-next{padding:22px;display:block}
.home-next-art{display:none}
.home-room .ws-today>aside{grid-template-columns:1fr;gap:18px}
.home-panel{padding:20px}
.home-room .ws-row{gap:10px}
.home-room .ws-row>time{min-width:48px;max-width:48px}
.home-room .ws-row strong{font-size:13px}
.home-room .ws-row .button{font-size:12px}
.home-room .ws-row small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-shortcuts button{transition:none}
.home-shortcuts button:hover{transform:none}}
.ws-plan-workspace{grid-template-columns:300px minmax(0,1fr);background:var(--paper)}
.ws-plan-list{background:var(--paper);padding:26px 12px}
.ws-plan-list>header{padding:0 20px 16px}
.ws-plan-list h1 small{font-size:16px;font-weight:400;color:var(--muted)}
.ws-plan-list>header>.button:after{content:'+';font-size:28px;font-weight:400}
.ws-list-search{display:block;padding:0 20px 14px}
.ws-plan-select{border-bottom:0;min-height:82px;padding:14px 20px;border-radius:3px;margin:0 0 4px}
.ws-plan-select small{font-size:12px;color:var(--muted)}
.ws-plan-list-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ws-plan-list-title strong{font-size:14px;line-height:20px;min-width:0}
.ws-plan-state{display:inline-flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap;color:#d95332}
.ws-plan-state:before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:currentColor}
.state-completed{color:#18824d}
.state-not-started,.state-archived{color:var(--muted)}
.ws-plan-list .ws-plan-state{font-size:11px}
.ws-plan-list .ws-plan-list-title{display:block}
.ws-plan-list .ws-plan-state{margin-top:5px}
.ws-plan-detail{padding:30px 46px 60px}
.ws-plan-detail .ws-object-heading{margin-bottom:28px}
.ws-plan-breadcrumb{font-size:13px}
.ws-plan-detail .ws-more>summary{border:1px solid var(--line);border-radius:4px;min-width:32px;text-align:center;font-size:0;padding:5px}
.ws-plan-detail .ws-more>summary:after{content:'…';font-size:20px}
.ws-plan-progress>div{display:flex;justify-content:space-between;gap:15px;font-size:14px;color:var(--ink)}
.ws-plan-progress strong{font-size:22px}
.ws-plan-progress progress{height:8px;border-radius:20px;overflow:hidden;margin-top:7px}
.ws-plan-progress progress::-webkit-progress-value{background:#fa5939;border-radius:20px}
.ws-plan-progress progress::-moz-progress-bar{background:#fa5939;border-radius:20px}
.ws-plan-detail .ws-next{position:relative;border-left:4px solid #fa5939;border-radius:3px;margin:26px 0 32px;padding:6px 140px 6px 17px;min-height:72px}
.ws-plan-detail .ws-next h2{margin:0 0 4px}
.ws-plan-detail .ws-next h3{margin:0 0 7px}
.ws-plan-detail .ws-next .actions{margin:0}
.ws-plan-detail .ws-next .button{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.ws-plan-detail .ws-next small{font-size:13px;color:var(--muted)}
.ws-plan-detail>.ws-section{border-top:0;margin-top:26px;padding-top:0}
.ws-plan-detail h2{letter-spacing:-.3px}
.ws-plan-detail .ws-plan-filters{margin:8px 0 0}
.ws-plan-table-head,.ws-plan-detail .ws-plan-activity{display:grid;grid-template-columns:22px minmax(150px,1fr) 95px 70px 105px 72px;gap:12px;align-items:start}
.ws-plan-table-head{grid-template-columns:minmax(184px,1fr) 95px 70px 105px 72px;padding:9px 14px;font-size:12px;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:4px 4px 0 0}
.ws-plan-detail .ws-plan-activity{padding:12px 14px;min-height:56px;border:1px solid var(--line);border-top:0}
.ws-plan-detail .ws-activity-body>strong{font-size:14px;font-weight:500;line-height:20px}
.ws-plan-detail .ws-activity-body>small:empty{display:none}
.ws-plan-detail .ws-activity-body>details{margin-top:5px}
.ws-plan-detail .ws-activity-body summary{font-size:11px}
.ws-plan-type,.ws-plan-time,.ws-plan-due{font-size:12px;line-height:20px;color:var(--muted)}
.ws-plan-detail .ws-row-actions{gap:4px;align-items:flex-start}
.ws-plan-detail .ws-row-actions .ws-more>summary{border:0;min-width:24px;padding:0}
.ws-plan-detail .ws-check{padding:0}
.ws-plan-detail .ws-check input{appearance:none;background:transparent;margin:1px 0;display:grid;place-items:center;cursor:pointer}
.ws-plan-detail .ws-check input:checked:after{content:'✓';font-size:12px;color:white}
.ws-plan-detail .ws-complete>.ws-activity-body>strong{text-decoration:line-through;color:var(--muted)}
.ws-plan-detail .ws-complete .ws-plan-due{text-decoration:line-through}
.ws-plan-detail .ws-thread{border-top:0}
.ws-plan-detail .ws-thread ul{border-left:1px solid var(--line);margin:15px 0 0 5px;padding-left:17px}
.ws-plan-detail .ws-thread li{position:relative;min-height:44px;gap:15px}
.ws-plan-detail .ws-thread li:before{content:'';position:absolute;left:-21px;top:18px;width:7px;height:7px;background:var(--muted);border-radius:50%}
.ws-plan-detail .ws-thread li>span{min-width:85px}
.ws-drawer>header{border-bottom:0;align-items:center;height:74px}
.ws-drawer>header h2{letter-spacing:-.5px}
.ws-drawer>header>.button:after{content:'×';font-size:26px;font-weight:400}
.ws-drawer-body{gap:20px;padding-top:2px}
.ws-drawer-body h3{border-top:1px solid var(--line);padding-top:24px;margin-top:8px}
.ws-drawer-body label{font-weight:400}
.ws-drawer-body details{border-top:1px solid var(--line);padding-top:24px}
.ws-drawer-body summary small{color:var(--muted);margin-left:7px}
.ws-drawer footer>.button{flex:1;justify-content:center}
.ws-drawer-body .grid.two{grid-template-columns:1fr 1fr;gap:16px}
@media(min-width:1280px){.ws-creating-plan .ws-main:has(.ws-plan-workspace){width:calc(100% - 350px);margin-left:0;margin-right:350px}
.ws-drawer-backdrop{background:transparent}
.ws-drawer{margin-top:100px;height:calc(100dvh - 100px);width:350px;box-shadow:-8px 0 24px #141a2108}
.ws-creating-plan .ws-plan-workspace{grid-template-columns:270px minmax(0,1fr)}
.ws-creating-plan .ws-plan-detail{padding:26px 30px}
.ws-creating-plan .ws-plan-table-head,.ws-creating-plan .ws-plan-activity{grid-template-columns:22px minmax(120px,1fr) 70px 55px 80px 48px;gap:8px}
.ws-creating-plan .ws-plan-table-head{grid-template-columns:minmax(150px,1fr) 70px 55px 80px 48px}
.ws-creating-plan .ws-plan-time,.ws-creating-plan .ws-plan-due,.ws-creating-plan .ws-plan-type{font-size:11px}}
@media(max-width:1100px){.ws-plan-detail{padding:28px}
.ws-plan-table-head,.ws-plan-detail .ws-plan-activity{grid-template-columns:22px minmax(120px,1fr) 75px 55px 80px 48px;gap:8px}
.ws-plan-table-head{grid-template-columns:minmax(150px,1fr) 75px 55px 80px 48px}}
@media(max-width:767px){.ws-plan-list{padding:22px 12px 90px}
.ws-plan-detail{padding:22px 20px 90px}
.ws-plan-list .ws-plan-list-title{display:flex}
.ws-plan-table-head{display:none}
.ws-plan-detail .ws-plan-activity{grid-template-columns:22px minmax(0,1fr) auto;border-top:1px solid var(--line);gap:8px;padding:14px 10px}
.ws-activity-body{grid-column:2;min-width:0}
.ws-plan-detail .ws-row-actions{grid-column:3;grid-row:1}
.ws-plan-type{grid-column:2;font-size:12px}
.ws-plan-time{grid-column:3;font-size:12px}
.ws-plan-due{grid-column:2 / 4;font-size:12px}
.ws-plan-detail .ws-next{padding-right:0;padding-bottom:48px}
.ws-plan-detail .ws-next .button{top:auto;bottom:0;right:auto;left:17px;transform:none}
.ws-drawer{margin-top:0;height:100dvh;width:100%}
.ws-drawer-body .grid.two{grid-template-columns:1fr 1fr}
.ws-plan-detail .ws-thread li{align-items:flex-start}
.ws-plan-detail .ws-thread li>span{min-width:76px}}
.ws-list-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:768px) and (max-width:1000px){.ws-plan-table-head{display:none}
.ws-plan-detail .ws-plan-activity{grid-template-columns:22px minmax(0,1fr) 65px;border-top:1px solid var(--line)}
.ws-plan-detail .ws-activity-body{grid-column:2}
.ws-plan-detail .ws-row-actions{grid-column:3;grid-row:1}
.ws-plan-type{grid-column:2}
.ws-plan-time{grid-column:3}
.ws-plan-due{grid-column:2 / 4}}
.ws-plan-list-title .ws-plan-state{font-weight:400}
/* Source: starting-point.css */
.start-flow{max-width:780px;margin:16px auto 60px}
.start-flow>.form{max-width:none;gap:20px}
.start-flow h1{line-height:1.15;margin:0}
.start-flow h1:focus{outline:none}
.start-flow p{color:var(--muted);line-height:1.6;margin:0}
.start-progress{display:flex;align-items:center;gap:8px;margin-bottom:32px}
.start-progress span{height:5px;flex:1;background:var(--line);border-radius:4px}
.start-progress .is-active{background:#b87850}
.start-progress small{margin-left:12px;white-space:nowrap}
.start-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.start-path{position:relative;border:1px solid var(--line);overflow:hidden;cursor:pointer;background:var(--panel,#fff);transition:border-color .15s,transform .15s}
.start-path:hover{border-color:#b87850}
.start-path:has(:checked),.start-choice:has(:checked){border-color:#a16d4c;box-shadow:0 0 0 2px #a16d4c}
.start-path:focus-within,.start-choice:focus-within{outline:3px solid #4d8994;outline-offset:4px}
.start-path input{position:absolute;right:16px;top:16px;width:20px;height:20px;accent-color:#a16d4c}
.start-path span{display:block;padding:16px 18px}
.start-path strong,.start-choice strong{display:block;font-size:18px}
.start-path small,.start-choice small{display:block;color:var(--muted);font-weight:400;margin-top:5px;line-height:1.5}
.start-illustration{width:100%;height:auto;display:block;max-height:260px;object-fit:contain}
.start-path .start-illustration{border-radius:0}
.start-options{display:grid;gap:12px}
.start-choice{align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.start-choice input{flex:0 0 20px;width:20px;height:20px;accent-color:#a16d4c}
.start-flow fieldset{margin:0;padding:0;border:0;min-width:0}
.start-flow legend{font-size:20px;font-weight:600;margin-bottom:16px}
.start-footer{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px}
.start-footer>.button:not(.text-button){margin-left:auto}
.start-explanation{border-left:3px solid #63958d;padding:16px 20px;background:#63958d12}
.start-explanation p{margin-top:7px}
.start-summary{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px;padding:20px;border:1px solid var(--line);border-radius:12px}
.start-summary h2{margin:0 0 8px}
.start-flow details>summary{cursor:pointer;color:var(--muted);padding:8px 0}
.start-flow details label{margin-top:16px}
.start-revisit{font-size:14px;color:var(--muted)}
.start-revisit .button{font-size:14px;padding:4px 8px;min-height:36px}
.dark .start-path{background:#202830}
.dark .start-path small{color:#c1c7cc}
@media(max-width:600px){.start-flow{margin-top:8px}
.start-paths{gap:12px}
.start-path .start-illustration{height:90px;object-fit:cover}
.start-path span{padding:12px}
.start-path strong{font-size:16px}
.start-path input{top:10px;right:10px}
.start-summary{grid-template-columns:1fr;gap:12px}
.start-summary .start-illustration{max-height:140px}
.start-choice{padding:15px}
.start-footer{gap:8px}}
@media(prefers-reduced-motion:reduce){.start-path{transition:none}
.start-path:hover{transform:none}}
/* Source: profile.css */
.ws-main .profile-page{max-width:1180px;margin:0 auto;padding-bottom:35px}
.profile-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.ws-main .profile-header h1{margin:8px 0 10px}
.profile-header p{margin:0;color:var(--muted)}
.profile-jump{font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0;white-space:nowrap}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;align-items:start}
.profile-form{min-width:0}
.ws-main .profile-panel{margin:0;min-width:0}
.profile-section-heading{display:flex;gap:13px;align-items:flex-start}
.profile-section-heading>span{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:10px;background:#f3eeeb;color:#86533e}
.ws-main .profile-section-heading h2{margin:0 0 6px}
.profile-section-heading p{font-size:14px;margin:0;color:var(--muted)}
.profile-fields{display:grid}
.profile-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.profile-form label{font-size:14px;font-weight:500;min-width:0}
.profile-form input:not([type=radio]),.profile-form select{margin-top:8px;font-size:15px;min-height:46px;background:var(--paper,#fff)}
.profile-optional{font-size:12px;color:var(--muted);font-weight:400;margin-left:6px}
.profile-careers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;border:0;margin:0 0 21px;min-width:0}
.profile-careers legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.profile-career{position:relative;cursor:pointer;border:1px solid var(--line);padding:10px;background:var(--paper,#fff);transition:border-color .15s,background .15s}
.profile-career:has(input:checked){background:#fff6ee;border-color:#ae674a;box-shadow:inset 0 0 0 1px #ae674a}
.profile-career:has(input:focus-visible){outline:3px solid #416ca3;outline-offset:3px}
.profile-career input{position:absolute;right:11px;top:11px;width:16px;height:16px;accent-color:#9a5136;margin:0}
.profile-career img{display:block;width:100%;height:84px;object-fit:contain;margin:7px 0 10px}
.profile-career strong{display:block;font-size:14px;line-height:20px;font-weight:600}
.profile-career small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:4px;font-weight:400}
.profile-level{display:block}
.profile-explore{padding:10px 0;margin-top:6px;border:0;background:none;color:#8c4936;cursor:pointer;text-align:left;font:inherit;font-size:13px;min-height:44px}
.profile-hours{position:relative}
.profile-hours input{padding-right:115px}
.profile-hours>span{position:absolute;right:13px;bottom:13px;font-size:13px;color:var(--muted);font-weight:400;pointer-events:none}
.profile-fields small{display:block;margin-top:8px;font-size:12px;font-weight:400;color:var(--muted)}
.profile-savebar{position:sticky;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);z-index:4}
.profile-savebar>span{font-size:13px;color:var(--muted)}
.profile-savebar .button{margin:0}
.profile-sidebar{display:grid;gap:18px;position:sticky;top:118px}
.profile-identity{background:#f0f0f6;border:1px solid #e3e3ec;border-radius:14px;text-align:center;padding:27px 20px}
.profile-avatar{width:64px;height:64px;display:grid;place-items:center;font-size:26px;font-weight:600;border-radius:50%;margin:0 auto 15px}
.ws-main .profile-identity h2{margin:0 0 6px;overflow-wrap:anywhere}
.profile-identity>p{font-size:14px;overflow-wrap:anywhere;margin:0 0 17px;color:#656176}
.profile-private{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:6px 11px}
.profile-private svg{width:14px;height:14px}
.profile-identity .profile-identity-note{font-size:13px;line-height:20px;margin:20px 0 0}
.profile-tip{padding:24px 20px;border:1px solid var(--line);border-radius:14px}
.profile-tip>span{color:#8c4936;font-weight:600}
.ws-main .profile-tip h2{margin:10px 0}
.profile-tip p{font-size:14px;line-height:22px;color:var(--muted)}
.profile-tip .button{font-size:13px;min-height:44px}
.profile-account{scroll-margin-top:120px;padding-top:28px;border-top:1px solid var(--line)}
.ws-main .profile-account-title h2{margin:0 0 7px}
.profile-account-title p{margin:0 0 24px;color:var(--muted)}
.profile-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.profile-account-card{min-width:0}
.ws-main .profile-account-card h3{margin:0 0 14px}
.profile-account-card p{font-size:14px;line-height:22px}
.profile-email{overflow-wrap:anywhere}
.profile-status{display:inline-block;font-size:12px;padding:4px 9px;background:var(--soft,#f4f4f4);border-radius:5px}
.profile-google{display:flex;align-items:center;gap:11px;padding-top:20px;margin-top:18px;border-top:1px solid var(--line)}
.profile-google>span{font-weight:600;font-size:20px;background:var(--soft,#f3f3f3);width:36px;height:36px;display:grid;place-items:center;border-radius:7px}
.profile-google strong,.profile-google small{display:block;font-size:14px}
.profile-google small{font-size:12px;color:var(--muted);margin-top:3px}
.profile-muted{color:var(--muted)}
.profile-account-card .button{font-size:14px;min-height:44px}
.profile-management{border-top:1px solid var(--line);padding:0;margin:0}
.profile-management>summary{cursor:pointer;padding:21px 4px;font-size:15px;font-weight:600;min-height:44px}
.profile-management>summary span{font-weight:400;font-size:13px;color:var(--muted);margin-left:12px}
.profile-management>.account-sessions,.profile-management>.invitation-management{margin:0 0 20px;padding:15px 0;border:0}
.profile-danger>summary{color:#934736}
.profile-danger>.form{max-width:540px;margin-bottom:24px}
.profile-danger>p{max-width:700px;font-size:14px;line-height:22px}
.profile-page a:focus-visible,.profile-page button:focus-visible,.profile-page summary:focus-visible{outline:3px solid #416ca3;outline-offset:3px}
.dark .profile-panel,.dark .profile-savebar{background:#202730}
.dark .profile-identity{background:#292b3d;border-color:#424357}
.dark .profile-avatar{background:#44445d;color:#e8e7ff}
.dark .profile-private{background:#3e3d52;color:#dedbef}
.dark .profile-section-heading>span{background:#3e302b;color:#efb299}
.dark .profile-career:has(input:checked){background:#3e302b;border-color:#dc9b7a;box-shadow:inset 0 0 0 1px #dc9b7a}
.dark .profile-tip>span{color:#edb499}
@media(max-width:1000px){.profile-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}
.profile-careers{gap:8px}
.profile-career{padding:9px}
.profile-career img{height:66px}
.profile-career small{font-size:11px}}
@media(max-width:800px){.profile-layout{grid-template-columns:1fr}
.profile-sidebar{position:static;grid-template-columns:1fr 1fr}
.profile-identity{padding:20px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:0 13px;align-items:center}
.profile-avatar{grid-row:1/3;width:42px;height:42px;font-size:20px;margin:0}
.profile-identity>p{font-size:12px;margin:0}
.profile-private{grid-column:1/-1;justify-self:start;margin-top:14px}
.profile-identity-note{grid-column:1/-1}
.profile-tip{padding:20px}
.profile-header{margin-bottom:22px}
.profile-sidebar .profile-identity-note{margin-top:12px}
.profile-account{scroll-margin-top:105px}}
@media(max-width:560px){.profile-header{align-items:flex-start;flex-direction:column;gap:13px;padding-bottom:20px}
.profile-header p{font-size:14px}
.profile-jump{font-size:13px}
.profile-sidebar{grid-template-columns:1fr}
.profile-tip{display:none}
.profile-identity{padding:16px}
.profile-identity-note{display:none}
.profile-private{grid-column:2;margin-top:10px;font-size:11px}
.profile-section-heading{gap:10px;margin-bottom:19px}
.profile-section-heading p{font-size:13px;line-height:19px}
.profile-section-heading>span{width:34px;height:34px;flex-basis:34px}
.profile-careers{grid-template-columns:1fr;gap:9px}
.profile-career{grid-template-columns:72px 1fr;align-items:center;padding:9px 33px 9px 8px;gap:10px}
.profile-career img{height:45px;margin:0}
.profile-career input{top:calc(50% - 8px);right:12px}
.profile-career strong{font-size:14px}
.profile-career small{font-size:12px}
.profile-career:has(input:checked){box-shadow:none}
.profile-field-pair{grid-template-columns:1fr;gap:17px}
.profile-savebar{padding:12px 13px;gap:10px}
.profile-savebar>span{line-height:18px}
.profile-savebar .button{font-size:14px;padding:10px 18px;white-space:nowrap}
.profile-account-grid{grid-template-columns:1fr;gap:14px}
.profile-account-card{padding:20px}
.profile-management>summary span{display:block;margin:7px 0 0 17px;font-size:12px}
.profile-account{margin-top:30px}
.profile-career img{width:72px}
.profile-form input:not([type=radio]),.profile-form select{font-size:16px}}
.profile-header-actions{display:flex;align-items:center}
.profile-header-actions .button{min-height:44px;white-space:nowrap}
.profile-page .profile-form label:has(.profile-optional){display:block}
.profile-page .profile-form label:has(.profile-optional) input{display:block;width:100%}
@media(max-width:560px){.profile-header-actions{width:100%;justify-content:space-between;gap:16px}
.profile-header-actions .button{font-size:14px;padding:10px 17px}}
@media(prefers-reduced-motion:reduce){.profile-career{transition:none}}
/* Source: student-discovery.css */
.student-discovery-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:20px 0}
.student-discovery-heading h1{margin:8px 0;font-size:clamp(28px,3vw,40px);letter-spacing:-1px}
.student-discovery-heading p{max-width:680px;line-height:1.6}
.student-discovery-controls{display:flex;gap:18px;align-items:end;border-block:1px solid var(--border,#d8dce1);padding:18px 0;margin-bottom:25px}
.student-discovery-controls label{display:grid;gap:8px;min-width:180px}
.student-discovery-controls span{font-size:13px;color:var(--muted,#657184)}
.student-competition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.student-competition-grid article{border-bottom:1px solid var(--border,#d8dce1)}
.student-competition-grid h2{font-size:23px;letter-spacing:-.4px;margin:16px 0 8px}
.student-competition-grid p{line-height:1.6}
.student-source-type{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.student-source-check,.student-competition-grid article>small,.student-directory-note{font-size:12px;color:var(--muted,#657184)}
.student-directory-note{padding:18px 0}
.student-saved-sources{border-top:1px solid var(--border,#d8dce1);padding-top:24px}
.student-saved-sources small{display:block;color:var(--muted,#657184)}
.student-competition-import{max-width:650px}
.student-demo-practice{margin-top:32px;padding-top:20px;border-top:1px solid var(--border,#d8dce1)}
.student-demo-practice>summary{cursor:pointer}
.major-internship-intro p{font-size:13px}
.recruiting-cycle-panel>summary{cursor:pointer;font-weight:600;padding:8px 0}
.recruiting-cycle-panel header h2{font-size:18px}
.recruiting-cycle-panel header p{font-size:13px}
.recruiting-cycle-panel[open] form{margin-top:14px}
.recruiting-cycle-panel .muted{font-size:12px}
@media(max-width:767px){.student-discovery-controls{flex-wrap:wrap}
.student-discovery-controls label{flex:1;min-width:140px}
.student-discovery-heading{flex-direction:column}
.major-internship-intro{flex-direction:column}}
.student-source-directory>summary{cursor:pointer;font-weight:600;padding:18px 0}
.student-event-list{margin-bottom:24px}
.student-event-list>p,.student-event-list span{font-size:13px;color:var(--muted,#657184)}
.student-event-list article{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--border,#d8dce1)}
.student-event-list h3{font-size:18px;margin:8px 0}
.student-event-list .actions{flex-shrink:0;align-self:center}
@media(max-width:767px){.student-event-list article{flex-direction:column}
.student-event-list .actions{align-self:start}}
/* Source: launch-studio.css */
.challenge-steps{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:20px}
.challenge-steps>span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);flex:1}
.challenge-steps b{border:1px solid var(--line);width:25px;height:25px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font-size:12px}
.challenge-steps .is-done b{background:#267561;border-color:#267561;color:#fff}
.challenge-plan{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.challenge-plan>p{font-size:14px;line-height:1.6;color:var(--muted);max-width:700px}
.challenge-plan>details{padding:18px 0;border-bottom:1px solid var(--line)}
.challenge-plan summary{cursor:pointer;font-size:14px;font-weight:600}
.challenge-plan form{padding-top:18px;max-width:760px}
.challenge-schedule{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.challenge-plan fieldset{padding:20px 0;border:0;border-top:1px solid var(--line)}
.challenge-plan fieldset>label{display:flex;gap:12px;padding:10px 0;line-height:1.5;font-size:14px}
.challenge-plan fieldset small{display:block;color:var(--muted);font-size:12px}
.challenge-plan input[type=checkbox]{flex-shrink:0;accent-color:#267561}
.student-saved-sources .artifact-dock{padding-top:24px;border-top:1px solid var(--line)}
.student-saved-sources .artifact-dock>p{font-size:13px}
.career-atlas{max-width:1260px;margin:auto}
.comparison-document{border-top:2px solid var(--accent);padding:28px 0;margin-top:20px;background:none;box-shadow:none;min-width:0}
.comparison-art{width:80px;margin-bottom:20px;color:var(--accent)}
.comparison-document p{line-height:1.7}
@media(max-width:767px){.challenge-steps{gap:12px;flex-direction:column}
.challenge-schedule{grid-template-columns:1fr}
.comparison-document{margin-bottom:30px}}
.challenge-team{padding:24px 0;border-top:1px solid var(--line);margin-top:24px}
.challenge-team p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7}
.workspace-summary>section{min-width:0}
.workspace-summary>section strong{overflow-wrap:anywhere}
.workspace-summary>section p{font-size:12px;line-height:1.6;color:var(--muted)}
.challenge-contribution{padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}
.challenge-contribution>p{max-width:700px;font-size:14px;color:var(--muted);line-height:1.7}
.challenge-contribution details{margin-top:18px}
.challenge-contribution summary{cursor:pointer;font-weight:600}
.challenge-contribution form{padding-top:18px;max-width:760px}
@media(prefers-reduced-motion:no-preference){@keyframes atlas-path{to{stroke-dashoffset:-130}}}
/* Source: learning-visuals.css */
.evidence-trail{border-bottom:1px solid var(--line);padding-bottom:30px}
.evidence-trail header{margin-bottom:18px}
.evidence-trail header p{font-size:14px;color:var(--muted);line-height:1.6}
.trail-scroll{overflow:auto}
.evidence-trail table{width:100%;border-collapse:collapse;min-width:540px}
.evidence-trail th,.evidence-trail td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:center;font-size:13px}
.evidence-trail th:first-child{text-align:left;padding-left:0;width:40%}
.evidence-trail thead th{font-weight:500;color:var(--muted)}
.evidence-trail tbody th .button{padding:0;min-height:32px;font-size:14px;text-align:left}
.trail-dot{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--muted);border:1px dashed var(--line);font-variant-numeric:tabular-nums}
.trail-dot.has-work{background:#eaf5ef;border:1px solid #b0d3c4;color:#245f4e}
.trail-phase-0.has-work{background:#fff0e7;border-color:#eac3ae;color:#995139}
.trail-phase-2.has-work{background:#efedf9;border-color:#d0c6eb;color:#62539d}
.lesson-chart{margin:24px 0 36px;border-top:1px solid var(--line);padding-top:22px}
.lesson-chart>header{display:flex;align-items:center;justify-content:space-between;gap:15px}
.lesson-chart label{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.lesson-chart select{min-width:130px}
.lesson-chart svg{width:100%;height:auto;display:block;margin-top:20px;color:var(--muted)}
.lesson-chart text{fill:currentColor;font-size:13px;font-family:inherit}
.lesson-chart>p{font-size:12px;color:var(--muted);line-height:1.6}
.dark .trail-dot.has-work{background:#203a32;color:#b4e6ce;border-color:#476b5c}
.dark .trail-phase-0.has-work{background:#3e2c25;color:#f4ab89;border-color:#755449}
.dark .trail-phase-2.has-work{background:#342d49;color:#d0c1f4;border-color:#68587f}
@media(max-width:767px){.lesson-chart>header{align-items:flex-start;flex-direction:column}
.lesson-chart svg{min-width:560px}
.lesson-chart{overflow:auto}
.lesson-chart>p{min-width:0}
.trail-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}
/* Source: ui-craft.css */
.learning-cards{display:block;counter-reset:lesson}
.learning-card{display:grid;grid-template-columns:minmax(150px,1fr) minmax(230px,2fr) minmax(175px,1fr);align-items:center;gap:24px;padding:22px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;transition:background-color .15s}
.learning-card:hover{transform:none;background:var(--panel)}
.learning-card-top{display:flex;flex-direction:column;gap:8px;font-size:12px}
.learning-status{padding:0;border-radius:0;font-size:12px}
.ws-main .learning-card h3{max-width:560px}
.learning-card footer{margin:0;gap:14px;justify-content:space-between}
.learning-card footer>span{font-size:12px;color:var(--muted)}
.learning-track>header>svg,.learning-track-links svg{display:none}
.learning-track-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0}
.learning-heading{padding-bottom:10px}
.learning-heading h1{max-width:720px}
.evidence-single>.evidence-detail{border-top:1px solid var(--line);padding-top:24px}
.evidence-trail{margin-top:26px;margin-bottom:28px}
.evidence-trail header p{max-width:720px}
.trail-scroll table th:first-child{min-width:180px}
.trail-scroll .text-button{text-align:left;justify-content:flex-start;min-height:42px}
.ws-main input,.ws-main select,.ws-main textarea{border-radius:4px}
.ws-main summary{min-height:36px;line-height:1.6}
.ws-mobile-nav svg{width:23px;height:23px;overflow:visible}
.ws-mobile-nav .ws-current svg{color:var(--accent)}
.ws-main [data-screen=competitions]>.student-saved-sources{margin-top:30px}
.comparison-document{border-top-width:1px}
.comparison-art{display:none}
.start-path .start-illustration{max-height:none;object-fit:contain;background:#f4f1e9}
.start-path{border-radius:4px}
.start-path:hover{transform:none}
.start-path:has(:checked){box-shadow:inset 0 0 0 1px #a16d4c}
.atlas-example{width:100%;height:auto;margin:22px 0 4px;color:var(--atlas-color);background:#f6eee7;max-height:235px;display:block}
.atlas-example text{font-family:inherit;fill:#26323a;font-size:15px;stroke:none}
.atlas-example path{stroke:var(--atlas-color);stroke-width:1.4;fill:none}
.atlas-example .sketch-note{font-size:12px;fill:#50595e}
.atlas-example .sketch-fill{fill:var(--atlas-color);opacity:.8}
.dark .atlas-example{--atlas-color:#a74b32}
@media(max-width:767px){.atlas-example{max-height:210px}}
@media(max-width:1050px){.learning-card{grid-template-columns:160px minmax(0,1fr);gap:14px 24px}
.learning-card footer{grid-column:2;justify-content:flex-start}
.learning-card-top{grid-row:span 2}}
@media(max-width:767px){.learning-card{display:block;padding:22px 0}
.learning-card-top{flex-direction:row;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.learning-card footer{display:flex;margin-top:14px;justify-content:space-between}
.trail-scroll table th:first-child{min-width:150px}}
@media(prefers-reduced-motion:reduce){.learning-card{transition:none}}
/* Source: quiz-studio.css */
.quiz-studio,.quiz-library,.field-guide{max-width:1200px;margin:auto}
.quiz-kicker{display:block;font-size:11px;letter-spacing:.08em;font-weight:650;color:var(--muted)}
.quiz-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:25px}
.quiz-head h1{max-width:800px}
.quiz-count{flex:0 0 175px;border-left:1px solid var(--line);padding-left:24px}
.quiz-count>strong{font-size:42px;line-height:1.1;color:var(--accent)}
.quiz-count small{font-size:20px;color:var(--muted);font-weight:400}
.quiz-count>span{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.quiz-progress{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:32px}
.quiz-progress progress{flex:1;min-width:0;height:5px;appearance:none;border:0;background:var(--line)}
.quiz-progress progress::-webkit-progress-bar{background:var(--line)}
.quiz-progress progress::-webkit-progress-value{background:var(--accent)}
.quiz-progress>span{font-size:12px;color:var(--muted)}
.quiz-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px}
.quiz-navigation nav{display:grid;gap:4px;margin:16px 0}
.quiz-navigation nav>button{display:flex;gap:12px;padding:10px 12px;background:none;border:0;border-left:2px solid transparent;color:var(--muted);text-align:left;align-items:center;font-size:12px;min-height:42px}
.quiz-navigation nav>button>span:first-child{font-variant-numeric:tabular-nums;font-size:11px}
.quiz-navigation nav>.is-current{border-left-color:var(--accent);background:var(--panel);color:var(--ink)}
.quiz-navigation nav>.is-answered>span:first-child,.quiz-navigation nav>.is-correct>span:first-child{color:#267561;font-weight:700}
.dark .quiz-navigation nav>.is-answered>span:first-child,.dark .quiz-navigation nav>.is-correct>span:first-child{color:#8dd1b7}
.quiz-navigation>p{font-size:12px;color:var(--muted);line-height:1.7}
.quiz-question-stage{min-width:0}
.quiz-question-stage>h2{max-width:850px;outline:0}
.quiz-answer-form fieldset{border:0;padding:0;margin:0;min-width:0}
.quiz-choice{align-items:center;gap:16px;position:relative;cursor:pointer;border-bottom:1px solid var(--line);transition:background-color .15s}
.quiz-choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.quiz-choice>span{pointer-events:none;font-weight:400}
.quiz-choice-letter{border:1px solid var(--line);width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;font-size:12px;color:var(--muted);border-radius:3px}
.quiz-choice-state{margin-left:auto;font-size:11px;color:#267561}
.quiz-choice.is-selected{background:#2675610c}
.quiz-choice.is-selected .quiz-choice-letter{background:#267561;color:#fff;border-color:#267561}
.quiz-choice:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.dark .quiz-choice.is-selected{background:#8dd1b714}
.dark .quiz-choice-state{color:#8dd1b7}
.quiz-question-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px}
.quiz-question-actions>.button:last-child{margin-left:auto}
.quiz-footnote{line-height:1.7;color:var(--muted);margin-top:24px}
.quiz-written{display:grid;gap:12px;font-size:14px}
.quiz-written textarea{min-height:160px;resize:vertical}
.quiz-written input{max-width:350px}
.quiz-exhibit{border-left:3px solid #62539d;padding:20px 24px;background:#62539d09;margin-bottom:28px}
.quiz-exhibit p{font-size:13px;color:var(--muted);line-height:1.7}
.quiz-table-scroll{overflow:auto}
.quiz-table-scroll table{width:100%;font-size:13px;border-collapse:collapse}
.quiz-table-scroll th,.quiz-table-scroll td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line)}
.quiz-feedback{padding:25px 0 25px 24px;border-left:3px solid #b34e35}
.quiz-feedback.is-correct{border-color:#267561}
.quiz-feedback p{line-height:1.8;font-size:15px}
.quiz-feedback h3{font-size:16px}
.quiz-summary{border-top:2px solid var(--accent);padding:24px 0}
.quiz-summary p{line-height:1.8}
.quiz-summary .actions{margin-top:24px}
.quiz-incomplete{color:#b34e35}
.quiz-library .ws-heading>div>p{max-width:650px;line-height:1.8}
.quiz-library .ws-heading>label{display:grid;gap:8px;font-size:12px;min-width:190px}
.quiz-library-intro{display:flex;gap:30px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.quiz-round-row{display:flex;align-items:center;gap:28px;padding:27px 0;border-bottom:1px solid var(--line)}
.quiz-round-number{align-self:start;font-size:13px;color:var(--accent);padding-top:6px}
.quiz-round-row>div:nth-child(2){flex:1;min-width:0}
.quiz-round-row p,.quiz-round-row small{font-size:13px;color:var(--muted);line-height:1.7}
.quiz-round-row .actions{flex-direction:column;align-items:stretch}
.field-directory{border-top:1px solid var(--line);padding-top:38px;margin-top:38px}
.field-directory>header>p{max-width:650px;font-size:14px;color:var(--muted);line-height:1.8}
.field-topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:20px}
.field-topic-list article{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:25px 0}
.field-topic-number{font-size:12px;color:var(--field-colour,var(--accent));align-self:start;padding-top:6px}
.field-topic-list article>div{flex:1;min-width:0}
.field-topic-list h3>.button{padding:0;justify-content:start;text-align:left;font-weight:600}
.field-topic-list p,.field-topic-list small{font-size:13px;color:var(--muted);line-height:1.7;margin:6px 0}
.field-topic-list article>.button{padding:0;font-size:13px;white-space:nowrap}
.field-guide .ws-heading{border-bottom:3px solid var(--field-colour);padding-bottom:28px}
.field-guide-intro{display:grid;grid-template-columns:2fr 1fr;gap:56px;margin:35px 0 45px}
.field-guide-intro>div>p{font-size:17px;line-height:1.85;max-width:740px}
.field-guide-intro aside{padding-left:30px;border-left:1px solid var(--line)}
.field-guide-intro li{padding:9px 0;font-size:14px}
.field-guide-intro ul{list-style:none;padding:0}
.field-guide-intro aside>p{font-size:12px;line-height:1.7;color:var(--muted)}
.field-topic-lessons article{display:flex;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}
.field-topic-lessons article>div{flex:1}
.field-topic-lessons p{font-size:13px;color:var(--muted)}
.field-quiz-invite{display:flex;align-items:center;gap:40px;background:#62539d09;padding:30px;margin:40px 0;border-left:3px solid var(--field-colour)}
.field-quiz-invite>div{flex:1}
.field-quiz-invite p{font-size:14px;line-height:1.8;max-width:650px;color:var(--muted)}
.field-reference{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:25px 0;border-top:1px solid var(--line)}
.field-reference p,.field-reference a{font-size:13px;line-height:1.8;color:var(--muted)}
.field-reference a{color:var(--accent)}
@media(max-width:1000px){.quiz-layout{grid-template-columns:155px minmax(0,1fr);gap:25px}
.quiz-navigation nav>button{padding:10px 5px;gap:8px}
.field-topic-list{gap:0 25px}
.field-guide-intro{gap:25px}
.quiz-choice-state{display:none}}
@media(max-width:767px){.quiz-head{align-items:flex-start;gap:14px}
.quiz-count{flex-basis:70px;padding-left:12px}
.quiz-count>strong{font-size:29px}
.quiz-count small{font-size:15px}
.quiz-count>span{font-size:10px}
.quiz-progress{display:block;padding-bottom:18px;margin-bottom:20px}
.quiz-progress progress{width:100%;display:block;margin-bottom:10px}
.quiz-layout{display:block}
.quiz-navigation{margin-bottom:25px}
.quiz-navigation nav{display:flex;overflow:auto;gap:4px;margin:10px 0}
.quiz-navigation nav>button{min-width:37px;padding:10px;border-left:0;border-bottom:2px solid transparent;justify-content:center}
.quiz-navigation nav>button>span:last-child{display:none}
.quiz-navigation nav>.is-current{border-bottom-color:var(--accent)}
.quiz-navigation>p{margin:6px 0}
.quiz-choice{padding:17px 8px;gap:12px;line-height:1.6}
.quiz-choice-letter{flex-basis:25px;width:25px;height:25px}
.quiz-exhibit{padding:16px}
.quiz-round-row{gap:13px;align-items:flex-start;flex-wrap:wrap}
.quiz-round-row>div:nth-child(2){flex-basis:calc(100% - 36px)}
.quiz-round-row .actions{margin-left:30px;flex-direction:row;flex-wrap:wrap}
.quiz-library-intro{display:block;padding:18px 0}
.quiz-library-intro>span{display:block;margin:8px 0}
.quiz-library .ws-heading{display:block}
.quiz-library .ws-heading>label{margin-top:20px;max-width:250px}
.field-topic-list{display:block}
.field-topic-list article{gap:14px}
.field-guide-intro,.field-reference{display:block}
.field-guide-intro aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:25px}
.field-guide-intro>div>p{font-size:16px}
.field-topic-lessons article{flex-wrap:wrap;gap:12px}
.field-topic-lessons article>div{flex-basis:calc(100% - 40px)}
.field-topic-lessons article>.button{margin-left:30px}
.field-quiz-invite{display:block;padding:22px}
.field-quiz-invite>.button{margin-top:15px;white-space:normal}
.field-reference>section{margin:25px 0}}
@media(prefers-reduced-motion:reduce){.quiz-choice{transition:none}}
.quiz-answer-form legend.sr-only{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.field-workflow{width:100%;height:auto;max-height:160px;margin:20px 0 10px;display:block}
.field-workflow text{fill:var(--ink);font-family:inherit;font-size:14px}
.field-workflow .flow-note{fill:var(--muted);font-size:11px}
.field-workflow path,.field-workflow circle{stroke:var(--field-colour);stroke-width:2;fill:none}
.field-workflow .flow-line{stroke:var(--line);stroke-width:1.5}
.field-workflow .flow-dot{fill:var(--field-colour);stroke:none}
.field-workflow-mobile{display:none}
@media(max-width:767px){.field-workflow{display:none}
.field-workflow-mobile{display:block;list-style:none;padding:0;margin:24px 0}
.field-workflow-mobile li{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line)}
.field-workflow-mobile li>span{font-size:12px;color:var(--field-colour);border:1px solid var(--field-colour);border-radius:50%;min-width:30px;height:30px;display:grid;place-items:center}
.field-workflow-mobile strong{font-size:14px;font-weight:600}
.field-workflow-mobile small{display:block;font-size:12px;color:var(--muted);margin-top:5px}}
/* Source: student-agenda.css */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--control-radius:5px;--bg:#FCFCFB;--muted:#606873;--accent:#C94F30}
body{font-size:14px;line-height:21px;font-variant-numeric:tabular-nums}
.ws-masthead{padding-inline:32px}
.ws-masthead>nav button{font-weight:500}
.ws-search{border-radius:5px}
.ws-search kbd{font-size:11px}
.ws-tools{gap:18px}
.ws-heading>div>p{font-size:14px;line-height:21px;margin:6px 0 0}
.ws-section-heading{margin-bottom:12px}
.ws-main .eyebrow,.ws-main .learning-kicker,.ws-main .quiz-kicker{font-size:12px;letter-spacing:0;text-transform:none;font-weight:500}
.ws-shell:has([data-screen=dashboard]) .ws-context{display:none}
.student-agenda{padding:0;max-width:1280px;margin:auto}
.agenda-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr)}
.agenda-main,.agenda-side{min-width:0}
.agenda-heading{margin-bottom:28px}
.agenda-heading small{color:var(--muted)}
.agenda-heading p{display:none}
.agenda-next{margin-bottom:22px;border-bottom:1px solid var(--line)}
.agenda-label{font-size:12px;line-height:18px;color:var(--accent);font-weight:600;letter-spacing:0;text-transform:none}
.ws-main .agenda-next h2{max-width:650px}
.agenda-next p{font-size:15px;line-height:22px;margin:0 0 8px;max-width:660px;color:var(--muted)}
.agenda-next>small{font-size:13px;color:var(--muted)}
.agenda-next .actions{margin:16px 0 0;gap:16px}
.agenda-next .button:not(.text-button){min-height:40px;padding:9px 20px}
.agenda-next .text-button{font-size:14px;font-weight:400;text-decoration:underline}
.agenda-section{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.agenda-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.agenda-section>header h2{margin:0}
.agenda-section .text-button{padding:0;min-height:36px;font-size:13px;font-weight:500}
.agenda-work{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.agenda-work:last-child{border-bottom:0}
.agenda-work>div:first-child{flex:1;min-width:0}
.agenda-work strong{display:block;font-weight:600;line-height:21px}
.agenda-work small{display:block;color:var(--muted);line-height:18px;margin-top:2px}
.agenda-work>.text-button{white-space:nowrap}
.agenda-completion{display:flex;align-items:center;gap:12px;width:175px;flex-shrink:0;font-size:13px;color:var(--muted)}
.agenda-completion progress{width:105px;height:5px;appearance:none;border:0;border-radius:3px;overflow:hidden;background:var(--line)}
.agenda-completion progress::-webkit-progress-bar{background:var(--line)}
.agenda-completion progress::-webkit-progress-value{background:var(--accent)}
.agenda-completion progress::-moz-progress-bar{background:var(--accent)}
.agenda-side{border-left:1px solid var(--line)}
.agenda-side .agenda-section{padding:0 0 20px;margin:0 0 20px}
.agenda-period{display:flex;gap:16px;margin:4px 0 8px}
.agenda-period button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:6px 0;font-size:13px;min-height:32px}
.agenda-period button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}
.agenda-date{display:flex;gap:16px;padding:12px 0;border:0}
.agenda-date>time{min-width:45px;border-right:1px solid var(--line);padding-right:12px;color:var(--ink)}
.agenda-date time strong{display:block;font-size:20px;line-height:24px;font-weight:600}
.agenda-date time span{display:block;font-size:12px;color:var(--muted)}
.agenda-date>div{min-width:0}
.agenda-date .text-button{display:block;text-align:left;padding:0;min-height:0;font-weight:600}
.agenda-date small{display:block;color:var(--muted);margin-top:3px;font-size:13px;line-height:18px}
.agenda-direction{font-size:16px;color:var(--ink);margin:10px 0}
.agenda-side .agenda-section>p,.agenda-empty{font-size:14px;line-height:21px;color:var(--muted)}
.agenda-empty{margin:10px 0}
.agenda-section summary{cursor:pointer;font-size:13px;color:var(--muted);padding:6px 0}
.competition-preparation-form{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:grid;gap:12px}
.competition-preparation-form>p{font-size:13px;color:var(--muted);margin:0}
.competition-preparation-form label{display:grid;gap:6px;font-size:14px}
.competition-preparation-form .competition-prep-check{display:flex;align-items:flex-start;gap:10px}
.competition-prep-check input{flex-shrink:0;margin-top:2px}
.competition-preparation-form textarea{width:100%;resize:vertical;min-height:90px}
.competition-preparation-form>small{color:var(--muted)}
.product-table-scroll{overflow:auto;max-width:100%}
.agenda-opportunities{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}
.agenda-opportunities th{text-align:left;padding:10px;color:var(--muted);font-weight:400;border-bottom:1px solid var(--line)}
.agenda-opportunities td{padding:12px 10px;vertical-align:top;border-bottom:1px solid var(--line)}
.agenda-opportunities td:first-child{width:35%}
.agenda-opportunities .text-button{font-size:14px;text-align:left;line-height:1.4;padding:0;min-height:0;font-weight:600}
.agenda-opportunities small{display:block;font-size:11px;margin-top:5px}
.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:16px 0;border-bottom:1px solid var(--line)}
.product-facts strong{display:block;font-size:20px;margin:8px 0}
.product-facts p{font-size:13px;color:var(--muted);margin-bottom:0}
.product-tabs{overflow:auto;max-width:100%;white-space:nowrap}
.product-tabs button{min-height:44px;flex-shrink:0}
.product-tabs+[role=tabpanel]{padding-top:24px}
.product-section{padding:16px 0;border-bottom:1px solid var(--line)}
.product-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.product-row>div{flex:1;min-width:0}
.product-row p{font-size:14px;color:var(--muted);margin:0}
.product-row small{display:block;margin-top:5px}
.product-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;border-bottom:1px solid var(--line)}
.product-filters label{font-size:12px}
.product-filters input,.product-filters select{width:100%;min-height:40px}
.product-filters .button{align-self:end}
.practice-destination .product-row .text-button{white-space:nowrap}
.product-metrics{display:flex;gap:28px;margin:22px 0}
.product-metrics strong{display:block;font-size:24px}
.product-metrics small{font-size:12px}
.portfolio-work{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:28px}
.portfolio-work aside{border-left:1px solid var(--line);padding-left:28px}
.portfolio-work .product-row{padding:18px 0}
.portfolio-tabs{margin-bottom:28px}
.portfolio-work .product-section:first-child{padding-top:0}
.role-comparison-table{width:100%;border-collapse:collapse;font-size:14px}
.role-comparison-table th,.role-comparison-table td{border-bottom:1px solid var(--line);padding:16px;vertical-align:top;text-align:left;line-height:1.6}
.role-comparison-table th:first-child{font-size:13px}
.role-comparison-table thead th{font-size:18px}
.role-comparison-table small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:8px}
.role-comparison-table .actions{flex-direction:column;align-items:flex-start;gap:8px}
.role-comparison-table .text-button{white-space:normal;text-align:left}
.comparison-filter{grid-template-columns:1fr 1fr auto;max-width:760px;margin-bottom:14px}
.explore-current{padding-top:0}
.explore-current>small{font-size:12px;color:var(--accent)}
.explore-current>p{color:var(--muted);max-width:650px;line-height:1.6}
.explore-current>.text-button{margin-left:18px}
.explore-options{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.explore-options>div+div{border-left:1px solid var(--line);padding-left:30px}
.explore-options p{font-size:14px;color:var(--muted);max-width:440px;line-height:1.6}
.career-atlas>.product-section{margin-bottom:0}
.career-atlas .product-row{padding:16px 0}
.career-atlas .product-row:last-child{border-bottom:0}
@media(max-width:767px){.explore-options{display:block}
.explore-options>div+div{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:20px}
.explore-current>.text-button{margin:8px 0 0;display:block}
.comparison-filter{grid-template-columns:1fr 1fr}
.comparison-filter .button{grid-column:1/-1}}
@media(max-width:900px){.product-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-work{gap:24px}
.portfolio-work aside{padding-left:20px}}
@media(max-width:767px){.product-filters{gap:14px}
.product-filters>label:first-child{grid-column:1/-1}
.product-metrics{gap:20px;flex-wrap:wrap}
.product-metrics strong{font-size:18px}}
.application-stage-filter{display:flex;align-items:center;gap:12px;max-width:320px;margin:24px 0}
.application-stage-filter select{flex:1;min-height:42px}
.ws-app-document .product-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}
.ws-app-document .product-tabs button{flex:0 0 auto}
.ws-app-document>section{max-width:100%}
.practice-more-filters{grid-column:1/-1}
.practice-more-filters>summary{font-size:13px;cursor:pointer;color:var(--muted)}
.practice-more-filters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px}
.product-filters>.button{width:max-content}
.product-filters:has(.practice-more-filters){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:767px){.practice-more-filters>div{grid-template-columns:1fr}}
.search-result-group h3{color:var(--muted);text-transform:capitalize}
.search-result-group{border-bottom:1px solid var(--line);padding-bottom:8px}
.search-result-group button{width:100%}
@media(max-width:1100px){.ws-main{padding-inline:28px}
.agenda-layout{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:24px}
.agenda-side{padding-left:24px}
.agenda-completion{width:130px}
.agenda-completion progress{width:65px}}
@media(max-width:900px){.ws-masthead{gap:16px;padding-inline:20px}
.ws-masthead>nav{gap:14px}
.ws-search{width:155px}
.ws-search kbd{display:none}
.ws-brand{font-size:20px}
.agenda-layout{grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr)}
.agenda-completion{width:100px}
.agenda-completion progress{width:40px}
.portfolio-work{grid-template-columns:minmax(0,1fr) minmax(200px,.6fr)}}
@media(max-width:767px){.ws-tools{gap:0}
.ws-context{overflow-x:auto;overflow-y:hidden}
.ws-heading{gap:12px;align-items:flex-start;margin-bottom:20px}
.ws-heading>.text-button{white-space:nowrap;min-height:32px}
.agenda-layout{display:block}
.agenda-heading{margin-bottom:22px}
.agenda-next p{font-size:14px;line-height:21px}
.agenda-next .actions{flex-wrap:wrap}
.agenda-work{gap:12px;flex-wrap:wrap}
.agenda-work>div:first-child{flex-basis:70%}
.agenda-completion{width:100%;order:3}
.agenda-completion progress{width:110px}
.agenda-side{border-left:0;border-top:1px solid var(--line);padding:22px 0 0;margin-top:12px}
.agenda-date{padding:12px 0}
.ws-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px}
.ws-mobile-nav svg{width:18px;height:18px}
.product-row{padding:12px 0}
.product-row>div{flex-basis:70%}
.product-row>.text-button{margin-left:auto}
.product-filters:has(.practice-more-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-work{display:block}
.portfolio-work aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px}
.role-comparison-table th,.role-comparison-table td{padding:12px}}
@media(prefers-reduced-motion:no-preference){.ws-main .page{animation:workspace-arrive .16s ease-out}
@keyframes workspace-arrive{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
.dark{--bg:#171C21;--surface:#171C21;--panel:#222930;--ink:#ECEFF1;--text:#ECEFF1;--muted:#ABB3BC;--line:#343D46;--border:#343D46;--accent:#F18A6B}
.dark .product-section,.dark .agenda-section,.dark .product-facts{background:transparent}
.dark .ws-masthead{background:#10151A}
.practice-session{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);align-items:center;border-bottom:1px solid var(--line);margin-bottom:16px}
.practice-session>div>small{font-size:13px}
.practice-session p{color:var(--muted);font-size:14px;margin:6px 0 16px}
.practice-session .button{min-height:40px}
.practice-sample{margin:0;padding:18px 22px;background:#F3F1EB;border-left:2px solid #DDBAA2;min-width:0}
.practice-sample figcaption,.practice-sample>small{font-size:12px;line-height:18px;color:#705849;display:block}
.practice-sample table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}
.practice-sample th{font-weight:500;text-transform:capitalize;text-align:left;color:var(--muted)}
.practice-sample td,.practice-sample th{padding:5px 6px;border-bottom:1px solid #D8D4CC}
.practice-sample p{margin:8px 0 0;color:var(--ink)}
.practice-continuing{margin:0 0 16px}
.practice-continuing summary{padding:8px 0;cursor:pointer;font-size:13px;color:var(--muted)}
.practice-continuing .agenda-work{padding:10px 0}
.practice-destination .product-filters{padding:12px 0 16px;gap:12px}
.practice-destination .product-filters label{font-size:13px}
.practice-destination .product-row{padding:12px 0}
.practice-destination .product-row p{display:inline;font-size:13px}
.practice-destination .product-row small{font-size:13px;line-height:18px;margin-top:2px}
.dark .practice-sample{background:#252925;border-color:#947260}
.dark .practice-sample figcaption,.dark .practice-sample>small{color:#DFC6AE}
.dark .practice-sample td,.dark .practice-sample th{border-color:var(--line)}
@media(max-width:767px){.practice-session{grid-template-columns:1fr;gap:16px;padding-bottom:20px}
.practice-sample{padding:14px 16px}
.practice-sample td,.practice-sample th{padding:4px}}
.direction-preferences{border-block:1px solid var(--line);margin:18px 0 24px;padding:12px 0}
.direction-preferences summary{cursor:pointer;font-weight:500}
.direction-preferences form{padding-top:16px;max-width:850px}
.direction-preferences fieldset,.direction-compare-choices fieldset{border:0;padding:0;margin:0 0 16px}
.direction-preferences legend,.direction-compare-choices legend{font-size:14px;font-weight:600;margin-bottom:10px}
.direction-certainty{display:flex;gap:22px;flex-wrap:wrap}
.direction-certainty label,.direction-shortlist label{display:flex;align-items:center;gap:8px}
.direction-shortlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px}
.direction-preferences select{max-width:400px;margin-bottom:16px}
.direction-preferences input,.direction-compare-choices input{flex:none;accent-color:var(--accent)}
.direction-preferences form>small{display:block;margin-top:10px;color:var(--muted)}
.direction-saved{margin:0 0 20px}
.direction-saved>small{color:var(--accent)}
.direction-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.direction-directory-heading label{display:flex;align-items:center;gap:12px;font-size:13px}
.direction-directory-heading select{min-width:130px;min-height:34px;padding-block:4px}
.direction-role-list>article{display:flex;align-items:center;gap:22px;padding:10px 0;border-bottom:1px solid var(--line)}
.direction-index{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.direction-role-list>article>div{flex:1;min-width:0}
.direction-role-list h3 .button.text-button{font-size:16px;font-weight:600;padding:0;min-height:24px;color:var(--ink);text-align:left}
.direction-role-list p{margin:0;font-size:14px;color:var(--muted)}
.direction-role-list small{font-size:13px;color:var(--muted)}
.role-guide-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:40px}
.role-summary{font-size:17px;line-height:25px;max-width:660px;margin:0 0 18px}
.role-guide-layout>aside{border-left:1px solid var(--line);padding-left:28px}
.role-guide-layout>aside section{margin-bottom:24px}
.role-guide-layout>aside p{color:var(--muted);margin-top:7px}
.role-guide-layout>aside small,.role-comparison-table small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:8px}
.role-working-paper{margin:14px 0 0;background:#F3F1EB;padding:20px 24px;border-left:2px solid #C58B66;max-width:660px}
.role-working-paper figcaption{font-size:15px;font-weight:600}
.role-working-paper figcaption small{display:block;color:#705849;font-size:12px;font-weight:400;margin:3px 0 12px}
.role-working-paper table{width:100%;border-collapse:collapse;font-size:14px}
.role-working-paper th{font-size:12px;font-weight:500;text-align:left;color:#665F58}
.role-working-paper td,.role-working-paper th{border-bottom:1px solid #D8D4CC;padding:7px 8px}
.role-working-paper p{font-size:14px;margin:12px 0 0}
.role-preparation{padding-left:20px;line-height:26px}
.direction-compare-choices{margin-bottom:24px}
.role-comparison-table{table-layout:fixed;min-width:760px}
.role-comparison-table th:first-child{width:140px}
.role-comparison-table td{font-size:14px;line-height:21px}
.role-comparison-table a{font-size:13px}
.quiz-skill-review{border-block:1px solid var(--line);padding:16px 0;margin:16px 0 20px}
.quiz-skill-review ul{padding-left:18px}
.quiz-skill-review p,.quiz-skill-review li{font-size:14px}
.quiz-skill-review>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.interview-application-context{border-bottom:1px solid var(--line);padding-bottom:16px;margin:16px 0}
.interview-application-context select{max-width:540px}
.interview-application-context details{margin-top:12px}
.interview-application-context summary{cursor:pointer;font-weight:500}
.interview-reference-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:14px}
.interview-reference-columns p{font-size:14px}
.interview-reference-columns h3{margin-top:0}
.dark .role-working-paper{background:#252925}
.dark .role-working-paper th,.dark .role-working-paper figcaption small{color:#C7BCB0}
.dark .role-working-paper td,.dark .role-working-paper th{border-color:var(--line)}
@media(max-width:900px){.direction-shortlist{grid-template-columns:1fr 1fr}
.role-guide-layout{gap:24px}
.role-guide-layout>aside{padding-left:20px}}
@media(max-width:767px){.direction-shortlist{grid-template-columns:1fr}
.direction-shortlist label,.direction-certainty label{min-height:36px}
.direction-role-list>article{gap:12px;align-items:flex-start}
.direction-role-list>article>.text-button{padding:0;white-space:nowrap;min-height:44px}
.direction-role-list h3 button{min-height:34px}
.direction-index{padding-top:6px}
.role-guide-layout{display:block}
.role-guide-layout>aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px}
.role-working-paper{padding:16px}
.quiz-skill-review>div,.interview-reference-columns{grid-template-columns:1fr;gap:12px}
.direction-certainty{display:grid;gap:6px}}
.ws-main .ws-plan-detail{padding:26px 32px 48px}
@media(max-width:767px){.ws-main .ws-plan-detail{padding:22px 20px 88px}
.direction-role-list h3 .button.text-button{min-height:44px;font-size:16px}
.direction-directory-heading{align-items:flex-start;flex-wrap:wrap}}
.role-quick-check{max-width:660px;margin-top:16px}
.role-quick-options{display:flex;gap:8px;flex-wrap:wrap}
.role-quick-options .button{text-align:left;justify-content:flex-start;white-space:normal}
.role-quick-check>small{display:block;color:var(--muted);margin-top:10px}
@media(max-width:767px){.role-quick-options{display:grid}
.role-quick-options .button{min-height:44px}}
.role-data-graphic{display:block;width:100%;height:auto;max-height:205px;margin:4px 0 12px}
.role-data-graphic text{fill:var(--ink);font-size:14px;font-family:var(--sans)}
@media(max-width:767px){.role-data-graphic{display:none}}
.direction-target-marker{color:var(--accent);font-size:13px;margin-right:4px}
@media(max-width:767px){.ws-context{scrollbar-width:none}
.ws-context::-webkit-scrollbar{display:none}
.direction-target-marker{width:100%}}
.story-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:32px}
.story-record{border-top:1px solid var(--line);padding:14px 0}
.story-record summary{cursor:pointer;display:list-item;margin-left:18px}
.story-record summary>span{display:inline-grid;gap:3px;vertical-align:top;max-width:calc(100% - 18px)}
.story-record summary strong{font-weight:600}
.story-record summary span span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.story-record-body{padding:16px 0 0 18px;display:grid;gap:16px}
.story-record-body h3{margin:0 0 4px}
.story-record-body p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.story-compose{padding-top:16px;border-top:1px solid var(--line)}
.story-coverage{border-left:1px solid var(--line);padding-left:24px}
.story-coverage-item{display:inline-flex;gap:10px;margin:0 6px 8px 0;padding:4px 8px;background:var(--panel);border-radius:3px;color:var(--muted);font-size:13px}
.story-coverage-item.has-story{color:var(--text)}
.story-compose form{max-width:640px}
@media(max-width:767px){.story-workspace{grid-template-columns:1fr;gap:24px}
.story-coverage{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}
.story-workspace .ws-section-head{align-items:flex-start;flex-wrap:wrap}
.story-record summary span span{white-space:normal}}
.interview-story-reference{padding:12px 16px;border-left:2px solid var(--accent);background:var(--panel);font-size:13px}
.interview-story-reference summary{cursor:pointer;font-weight:600}
.interview-story-reference>div{margin-top:12px}
.interview-story-reference p{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.profile-page .profile-header{margin-bottom:24px;padding-bottom:16px}
.ws-main .profile-panel{border:0;border-top:1px solid var(--line);background:transparent}
.ws-main .profile-panel:first-child{border-top:0}
.profile-section-heading{margin-bottom:16px}
.profile-fields{gap:16px}
.profile-career{border-radius:5px}
.profile-identity,.profile-tip{border:0;border-radius:0;background:transparent;padding:16px 0}
.profile-avatar{background:var(--panel);color:var(--ink)}
.profile-identity h2{margin-bottom:4px}
.profile-private{background:var(--panel);color:var(--muted);border-radius:4px}
.profile-savebar{padding:10px 12px;border-radius:5px;box-shadow:none;background:var(--surface)}
.profile-savebar .button{min-height:36px;padding:7px 14px}
.profile-account-card{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:16px 0}
.profile-account{margin-top:32px}
.profile-header-actions{gap:0}
.profile-tip>span{letter-spacing:0;font-size:13px}
.dark .profile-identity,.dark .profile-tip,.dark .profile-account-card{background:transparent}
.dark .profile-career{background:var(--panel)}
@media(max-width:800px){.profile-sidebar{order:0;border-top:1px solid var(--line);padding-top:8px}
.profile-sidebar .profile-identity{padding:12px 0}
.profile-header{gap:8px}
.profile-savebar{bottom:68px}}
@media(max-width:560px){.profile-page .profile-header-actions{width:auto}
.profile-savebar>span{max-width:55%;font-size:12px}}
.dark a{color:#9CBDF5}
.dark .role-working-paper th{background:#30362F;color:#F0F0EC}
.dark .profile-avatar,.dark .profile-private{background:var(--panel);color:var(--ink)}
/* Source: workspace-design.css */
.ws-shell{--bg:#FAF9F6;--surface:#FFF;--panel:#F1F0EA;--line:#DDDCD3;--ink:#263630;--text:#263630;--muted:#626C65;--accent:#BC4829;background:var(--bg);min-height:100vh}
.ws-main{max-width:1320px;padding:38px 44px 72px;font-size:16px;line-height:1.55}
.ws-main :is(h1,.ws-heading h1,.quiz-head h1,.profile-header h1){font-variation-settings:'SOFT' 30,'WONK' 1}
.ws-main p,.ws-main :is(.lede,.ws-meta){font-size:15px;line-height:1.6}
.ws-main small{font-size:13px;line-height:1.5}
.ws-main label{font-size:14px}
.ws-main :is(input,select,textarea){font-size:15px;border-radius:8px;border-color:#C8CEC7;background:var(--surface);color:var(--ink)}
.ws-main :is(input:not([type=checkbox]):not([type=radio]),select,.button){min-height:44px}
.ws-main textarea{line-height:1.6}
.ws-main :is(.button,button){font-family:var(--sans)}
.ws-main .button{font-size:15px;border-radius:8px;padding:10px 18px}
.ws-main .button:not(.secondary):not(.text-button){background:#2D4538;border-color:#2D4538;color:#FFF}
.ws-main .button.secondary{background:var(--surface);color:var(--ink);border:1px solid #C8CEC7}
.ws-main .button.text-button{background:transparent;color:var(--accent);padding:9px 0}
.ws-main :is(.product-row,.ws-assessment-row,.quiz-round-row,.case-row,.agenda-work){padding-block:18px;transition:background .15s ease}
.ws-main :is(.product-row,.ws-assessment-row,.quiz-round-row,.agenda-work):hover{background:#F0F3E9}
.ws-heading{margin-bottom:26px;align-items:center}
.ws-masthead{padding:0 32px;height:66px;gap:28px;background:#24372F;box-shadow:none}
.ws-brand{font-size:24px;letter-spacing:-.7px;font-weight:650;gap:9px}
.ws-brand img{width:31px;height:31px}
.ws-masthead>nav{gap:22px}
.ws-masthead>nav button{font-size:15px;min-height:66px}
.ws-search{display:flex;gap:12px;align-items:center;width:280px;height:38px;flex-shrink:1;padding:0 12px;font-size:14px;border-color:#63776B;background:#31473B}
.ws-search>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;text-align:left}
.ws-search kbd{white-space:nowrap;flex-shrink:0}
.ws-context{top:66px;height:48px;background:#FFFDF8;border-color:var(--line)}
.ws-context :is(button,summary){font-size:14px;min-height:44px}
.ws-account summary{border:1px solid #7B9382}
.agenda-layout{gap:36px}
.agenda-heading small{font-size:14px}
.agenda-next{background:#E9F0DC;border:0;border-left:4px solid #79926B;padding:26px;border-radius:0 16px 16px 0}
.agenda-next .agenda-label{color:#496640}
.agenda-side .agenda-section:first-child{background:#F6ECD8;padding:22px;border:0;border-radius:14px}
.agenda-work strong{font-size:16px}
.agenda-work small{font-size:14px}
.agenda-side{padding-left:28px}
.agenda-date .text-button{font-size:16px;line-height:1.35}
.practice-session{gap:24px}
.practice-session>div>small{color:#665078}
.product-filters{gap:12px;padding:18px 0}
.quiz-library-intro{background:#F5EDD9;padding:20px 24px;border:0;border-radius:12px}
.quiz-round-row>span{color:#5E695D;background:#E9EFE1;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.quiz-choice{border-radius:10px;padding:14px 16px;min-height:52px;background:var(--surface)}
.quiz-choice[aria-checked=true]{background:#E8F0DF;border-color:#718669}
.ws-main :is(.case-stage,.interview-stage,.simulation-step){background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:none}
.ws-main :is(.case-exhibit,.exhibit-table,.quiz-exhibit){margin-block:20px}
.ws-main :is(.case-exhibit th,.quiz-exhibit th,.data-table th,.ws-app-table th){background:#EFF1E9;color:#354738;font-weight:600}
.ws-main :is(.interview-stage textarea,.case-stage textarea){background:#FFFDF7}
.interview-question-picker{display:grid;gap:8px;max-width:760px;margin:20px 0}
.interview-question-picker select{width:100%}
.student-competition-grid{gap:0 40px}
.student-competition-grid article{padding:28px 0}
.student-source-type>span{color:#5C7352}
.student-source-facts{font-size:14px}
.student-source-facts dt{color:var(--muted)}
.job-page-heading{padding-bottom:20px}
.job-preferences{background:#EFF2E8;padding:22px;border-radius:12px}
.job-platform-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px 0}
.job-platform-links a{color:var(--accent);text-underline-offset:4px}
.ws-main :is(.profile-tip,.profile-identity,.story-coverage){background:#F3EDDE;border-radius:12px;padding:20px}
.ws-main .profile-savebar{border:1px solid var(--line);background:#FFFDF8;border-radius:10px}
.ws-main .field-guide-intro{background:#EEF1E4;border-radius:14px;padding:26px}
.ws-main .field-guide-intro aside{background:transparent}
.ws-main .source-note{font-size:13px;max-width:900px;color:var(--muted)}
.ws-main :is(.ws-empty,.empty){background:#F3F0E5;border:0;border-radius:12px;padding:24px}
.ws-main :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #4F705A;outline-offset:3px}
.dark .ws-shell{--bg:#1A2520;--surface:#25342C;--panel:#2A392F;--ink:#EEF2E9;--text:#EEF2E9;--muted:#B7C2B8;--line:#445447;--accent:#FFA482}
.dark .ws-context,.dark .ws-main .profile-savebar{background:#25342C}
.dark .ws-main :is(.agenda-next,.job-preferences,.role-guide-opening,.field-guide-intro){background:#2B3D2B}
.dark .ws-main :is(.agenda-side .agenda-section:first-child,.profile-tip,.profile-identity,.story-coverage,.quiz-library-intro,.quiz-submit-panel,.ws-empty,.empty){background:#393728}
.dark .ws-main .practice-session>div>small{color:#CEBEDF}
.dark .ws-main :is(.product-row,.quiz-round-row,.agenda-work):hover{background:#2B3D2B}
.dark .ws-main :is(.case-exhibit th,.quiz-exhibit th,.data-table th,.ws-app-table th){background:#344938;color:#EEF2E9}
.dark .ws-main :is(.interview-stage textarea,.case-stage textarea,.quiz-choice){background:var(--surface)}
.dark .ws-main .quiz-choice[aria-checked=true]{background:#344938}
.dark .ws-main .button.secondary{background:var(--surface);color:var(--ink);border-color:#708171}
@media(max-width:1100px){.ws-masthead{gap:20px;padding-inline:22px}
.ws-masthead>nav{gap:16px}
.ws-search{width:190px}
.ws-main{padding:30px}
.ws-brand{font-size:22px}}
@media(max-width:767px){.ws-main{padding:24px 20px 96px}
.ws-masthead{height:58px;gap:12px;padding-inline:16px}
.ws-brand{font-size:22px}
.ws-context{top:58px;height:46px}
.agenda-layout{gap:24px}
.agenda-next{padding:22px 18px}
.agenda-side{padding-left:0}
.product-filters{grid-template-columns:1fr 1fr}
.student-competition-grid{grid-template-columns:1fr}
.ws-main :is(.case-stage,.interview-stage,.simulation-step){padding:20px 16px}
.job-preferences{padding:18px}
.ws-main :is(.role-guide-opening,.field-guide-intro){padding:20px}
.ws-main .product-row .button{white-space:normal}
.ws-main .interview-question-picker select{font-size:14px}}
.practice-illustration{text-align:center;max-width:340px}
.practice-illustration img{display:block;width:100%;height:auto;max-height:175px}
.practice-revision summary{font-weight:600;font-size:16px;padding:14px 0;cursor:pointer}
.practice-revision .actions{flex-wrap:wrap}
}
@layer legacy-important{
/* Source: style.css */
.checkline{display:flex}
.checkline input{width:auto}
.invite-note{color:var(--ink)}
.case-desk [hidden]{display:none}
/* Source: design.css */
.phase-active{color:var(--accent);border-color:var(--accent);background:none}
.requirement-state{background:none;color:var(--ink)}
/* Source: jobs.css */
.resume-skill-list label,.monitor-control{display:flex;flex-direction:row}
.monitor-control{font-weight:400;font-size:14px}
/* Source: refinement.css */
.passport-skill{display:flex;gap:10px;font-weight:400}
.passport-skill input{width:17px}
.compact-context{display:none}
@media(max-width:900px){.compact-context{display:flex}}
/* Source: workspace.css */
body,button,input,select,textarea,summary,kbd,code,pre,table{font-family:var(--sans)}
body{background:var(--bg);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:600;letter-spacing:0}
h1{font-size:28px;line-height:34px;margin:0 0 12px}
h2{font-size:16px;line-height:22px}
h3{font-size:15px;line-height:22px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #3864D8;outline-offset:2px}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fff;color:var(--ink);border:1px solid #CDD2D7;border-radius:5px;padding:7px 10px}
.button,.button:not(.text-button),.actions .button{border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;box-shadow:none;transform:none}
.button:hover{background:#30363D}
.button.secondary{background:transparent;color:var(--ink);border-color:#CDD2D7}
.button.secondary:hover{background:#F3F4F5}
.button.text-button{background:transparent;border:0;color:var(--ink);box-shadow:none}
.button.text-button:hover{background:transparent}
.form{background:none;border:0}
.ws-main .page{padding:0;margin:0}
.ws-heading h1{margin-bottom:5px}
.ws-next h2{font-size:13px;font-weight:500}
.ws-next h3{font-size:22px;line-height:28px}
.ws-plan-list h1{font-size:18px;line-height:24px;margin:0}
.ws-object-heading h1{font-size:26px;line-height:32px;margin-bottom:7px}
.ws-plan-back{display:none}
.ws-inline-error{color:#B44742}
.ws-job-back{display:none}
.job-preferences,.job-monitoring-status,.job-source-panel,.resume-panel,.role-track-prompt,.resume-gap-note{background:none;border:0;border-radius:0;box-shadow:none;padding:14px 0;margin:12px 0}
.job-preferences{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.job-profile-form{padding-top:20px}
.job-source-panel{border-top:1px solid var(--line)}
.job-source-grid section{border:0;background:none;padding:12px 0;border-bottom:1px solid var(--line)}
.ws-app-table th{background:none}
.ws-main .card,.ws-main .panel,.ws-main .section,.ws-main .proof-entry,.ws-main .path-summary,.ws-main .workspace-summary,.ws-main .interview-stage,.ws-main .experience-detail,.ws-main .assessment-card,.ws-main .simulation-stage,.ws-main .worksheet-panel,.ws-main .case-exhibit,.ws-main .artifact-dock{background:none;border:0;border-radius:0;box-shadow:none;transform:none}
.ws-main .card{padding:18px 0;border-bottom:1px solid var(--line)}
.ws-main .list>.card{margin:0}
.ws-main .eyebrow,.ws-main .chapter-label,.ws-main .file-label,.ws-main .case-index,.ws-main .record-label{display:none}
.ws-main .lede{font-size:14px;color:#656D77;line-height:21px}
.ws-main .page-heading{margin-bottom:24px;padding:0;border:0}
.ws-main .page-heading h1{font-size:28px}
.ws-main .badge,.ws-main .pill,.ws-main .requirement-state,.ws-main .role-saved-label{background:none;color:#656D77;border:0;border-radius:0;padding:0}
.ws-main .home-row,.ws-main .history-row,.ws-main .proof-entry,.ws-main .analysis-line,.ws-main .requirement-row{border-bottom:1px solid var(--line);padding:14px 0;margin:0;background:none;border-radius:0;box-shadow:none}
.ws-main .history-row h2{font-size:15px}
.ws-main .editorial-tabs button,.ws-main .comp-tabs button{background:none;color:#656D77;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 0;box-shadow:none;font-size:13px}
.ws-main .editorial-tabs button[aria-selected=true],.ws-main .editorial-tabs button[aria-pressed=true],.ws-main .comp-tabs button[aria-selected=true],.ws-main .editorial-tabs button.active{color:#181C21;border-bottom-color:#D85838}
.ws-main .compact-filter{border:0;background:none;padding:0;border-radius:0}
.ws-main .skill-focus{border:0;padding:0}
.ws-main .assessment-grid{display:block}
.ws-main .path-summary,.ws-main .workspace-summary{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ws-main .path-summary strong,.ws-main .workspace-summary strong{font-size:16px}
.ws-main .experience-select{border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;border-radius:0;background:none;color:var(--ink);padding:15px 12px}
.ws-main .experience-select.active{border-left-color:#D85838;background:#FFF5EE}
.ws-main .empty{background:none;border:0;border-radius:0;padding:25px 0}
.ws-main .artifact-dock{padding:20px 0;border-top:1px solid var(--line)}
.ws-main .simulation-stage{padding:25px 0;border-bottom:1px solid var(--line)}
.ws-main .assessment-question{padding:20px 0;border-bottom:1px solid var(--line)}
.ws-focus .ws-main h1{font-size:28px}
.ws-focus .candidate-desk,.ws-focus .case-workspace{display:block}
.ws-focus .case-exhibit,.ws-focus .case-work{padding:18px 0;border:0;background:none;border-radius:0}
.search-dialog{border-radius:8px}
.search-dialog h2{font-size:18px}
.search-results button{border-radius:0}
.ws-main .join-panel{background:none;border:0;border-radius:0;padding:0}
@media(max-width:767px){.ws-heading h1{font-size:25px;line-height:31px}
.ws-heading>.button{padding:8px}
.ws-next h3{font-size:20px}
.ws-plan-back{display:inline-flex}
.ws-object-heading h1{font-size:25px}
.ws-job-back{display:inline-flex}
.job-monitoring-status{display:block}
.ws-main .experience-layout,.ws-main .opportunity-layout{display:block}
.ws-main .grid{grid-template-columns:1fr}
.ws-drawer .grid.two{grid-template-columns:1fr 1fr}
.ws-main .history-row{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none;transition:none;scroll-behavior:auto}}
.ws-career h2{font-size:23px;line-height:30px}
.ws-main .evidence-skill{border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;border-radius:0;background:none;padding:14px 12px}
.ws-main .evidence-skill.active{border-left-color:#D85838;background:#FFF5EE}
.ws-main .evidence-detail{border:0;border-radius:0;background:none;padding:0}
@media(max-width:767px){.ws-main .evidence-layout{display:block}}
.ws-practice-heading h1{font-size:28px;line-height:35px}
.ws-feedback h2{font-size:21px}
.ws-focus .case-workspace>aside{background:none;border:0;border-radius:0;box-shadow:none;padding:12px 0}
.ws-focus nav[aria-label="Case workspace"] button{border:0;border-radius:0;background:none;padding:8px 0;color:#656D77;box-shadow:none}
.ws-focus nav[aria-label="Case workspace"] button.active,.ws-focus nav[aria-label="Case workspace"] button[aria-current],.ws-focus nav[aria-label="Case workspace"] button[aria-pressed=true]{color:#181C21;border-bottom:2px solid #D85838}
.ws-main .library-index-heading{display:none}
.ws-main .compact-filter label,.ws-main .filter-fields label{font-size:13px;text-transform:none;letter-spacing:0}
.ws-feedback>section h3{font-size:13px}
.ws-main .ws-app-document .path-summary small{text-transform:none;letter-spacing:0}
@media(max-width:767px){.ws-main .ws-app-table td{min-width:0;padding:0}
.ws-app-table select{font-size:13px}}
body *{font-family:var(--sans);letter-spacing:normal}
.ws-main article{border-radius:0;box-shadow:none;background:none}
.ws-focus .timer-controls{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.ws-focus .timer-controls>#case-timer{font-size:14px;line-height:20px}
.ws-focus .case-rail{background:none;border:0;border-radius:0;padding:12px 0;box-shadow:none;position:static}
.ws-focus .case-rail nav{flex-direction:row;margin:0;gap:18px}
.ws-focus .case-rail nav button{width:auto;flex:none}
.ws-focus .case-desk{padding:20px 0 0}
.ws-main .assessment-set,.ws-main .roadmap-stage,.ws-main .daily-layout>section,.ws-main .account-record,.ws-main .settings-layout>.form,.ws-main .menu-groups>section,.ws-main .scenario-paper,.ws-main .solution-column,.ws-main .session-banner{border-radius:0;box-shadow:none;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 0}
.auth-hero{background:#F6F7F8;color:#181C21}
.auth-hero h1{font-size:38px;line-height:44px;color:#181C21}
.auth-hero p{font-size:16px;line-height:25px;color:#656D77}
.auth-panel .card{border:0;border-radius:0;background:none;box-shadow:none}
.auth-panel h2{font-size:24px}
.auth-panel{background:#FCFCFB}
.auth-hero .careerstack-wordmark{font-size:21px;color:#181C21}
@media(max-width:767px){.ws-focus .case-rail nav{gap:18px}
.auth-hero{padding:26px 20px}
.auth-hero h1{font-size:29px;line-height:35px}
.auth-panel{padding:26px 20px}
.auth-panel .card{padding:0}}
.dark .ws-main,.dark .ws-main h1,.dark .ws-main h2,.dark .ws-main h3,.dark .ws-main label,.dark .ws-main p,.dark .ws-main strong,.dark .ws-main summary,.dark .ws-main button,.dark .ws-drawer label{color:#E5E9EF}
.dark .ws-main small,.dark .ws-meta,.dark .muted,.dark .ws-main dt,.dark .ws-main .ws-case-state{color:#A7B0BD}
.dark .ws-context,.dark .ws-focusbar,.dark .ws-mobile-nav,.dark .ws-account>div,.dark .ws-more>div,.dark .ws-tool-menu>div,.dark .ws-drawer,.dark .ws-drawer footer,.dark .search-dialog{background:#202730;color:#E5E9EF}
.dark .ws-context button,.dark .ws-account>div button,.dark .ws-more>div button,.dark .ws-tool-menu>div button,.dark .ws-mobile-nav button,.dark .ws-focusbar button{color:#D0D7E0}
.dark .ws-selected,.dark .ws-main .evidence-skill.active,.dark .ws-main .experience-select.active{background:#382B28}
.dark .button:not(.secondary):not(.text-button){background:#E5E9EF;color:#171D24;border-color:#E5E9EF}
.dark .button.secondary,.dark .button.text-button{color:#E5E9EF;border-color:#566170;background:transparent}
.dark input:not([type=checkbox]):not([type=radio]),.dark select,.dark textarea{background:#202730;color:#E5E9EF;border-color:#566170}
.dark .ws-row:hover,.dark .ws-app-table tr:hover td,.dark .ws-job-row:hover,.dark .ws-plan-select:hover{background:#242C37}
.dark .ws-main .editorial-tabs button[aria-pressed=true],.dark .ws-main .editorial-tabs button[aria-selected=true],.dark .ws-main .editorial-tabs button.active,.dark .ws-main .comp-tabs button[aria-selected=true]{color:var(--ink)}
.ws-main .assessment-option{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}
.ws-main .assessment-clock{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}
.ws-main .assessment-question{padding-top:24px}
.ws-main .assessment-review .assessment-question>h3{font-size:21px;line-height:29px}
.tool-slide h2{font-size:23px}
.ws-main .learning-heading h1{font-size:38px;line-height:1.14;letter-spacing:-1px;margin:14px 0}
.ws-main .learning-track h2{font-size:23px;line-height:1.3}
.ws-main .learning-reader .learning-step h2{font-size:21px;line-height:1.35}
.learning-checks{margin-top:38px;padding-top:26px}
.ws-main .learning-checks>h2{font-size:30px;line-height:1.3}
.learning-number-answer input{min-height:46px;font-size:18px}
.ws-case-row{border:1px solid var(--line);padding:22px}
.ws-case-row:hover{border-color:#b85b32}
.ws-case-row .case-file-label{color:#b85b32}
@media(min-width:1100px){.ws-main:has(.learning-reader){max-width:1180px}}
@media(max-width:580px){.ws-main .learning-heading h1{font-size:29px;line-height:1.2;letter-spacing:-.6px}
.learning-heading{gap:16px}
.ws-main .learning-track h2{font-size:21px}
.ws-case-row{padding:18px}}
.ws-main .home-welcome h1{font-size:36px;line-height:1.2;letter-spacing:-.8px;margin:12px 0}
.ws-main .home-next h2{font-size:29px;line-height:1.25}
.home-empty h3{font-size:16px}
.ws-main .home-continue h2{font-size:20px;line-height:1.35}
.ws-main .home-proof h2{font-size:34px}
.home-room .start-revisit{margin:0 0 24px}
@media(max-width:580px){.ws-main .home-welcome h1{font-size:29px}
.ws-main .home-next h2{font-size:26px}}
.ws-plan-list>header>.button{font-size:0;min-width:34px;padding:5px}
.ws-list-search input{height:36px;min-height:36px;font-size:13px;padding:7px 11px;background:transparent}
.ws-plan-detail .ws-object-heading h1{line-height:1.16;letter-spacing:-1px;margin:8px 0}
.ws-plan-breadcrumb{color:var(--muted)}
.ws-plan-detail .ws-next h2{color:#e35332}
.ws-plan-detail .ws-next h3{font-size:18px;line-height:25px}
.ws-plan-detail h2{font-size:22px}
.ws-plan-detail .ws-row-actions>.button{padding:0;font-size:12px;min-height:24px}
.ws-plan-detail .ws-check input{width:18px;height:18px;border:1px solid #838b97;border-radius:50%}
.ws-plan-detail .ws-check input:checked{background:#18824d;border-color:#18824d}
.ws-plan-detail .ws-thread button{font-size:13px}
.ws-drawer>header h2{font-size:25px}
.ws-drawer>header>.button{font-size:0}
.ws-drawer-body h3{font-size:16px}
.ws-drawer-body label{font-size:14px}
.ws-drawer-body input,.ws-drawer-body select{min-height:41px;font-size:14px;border-radius:4px}
@media(min-width:1280px){.ws-creating-plan .ws-plan-detail .ws-object-heading h1{font-size:32px}}
@media(max-width:767px){.ws-plan-detail .ws-object-heading h1{letter-spacing:-.6px}}
.ws-plan-detail .ws-object-heading h1{font-weight:700}
.ws-plan-detail .ws-next h2{font-size:13px;line-height:18px;font-weight:500}
.ws-plan-detail .ws-object-heading h1{font-size:40px}
.ws-creating-plan .ws-plan-detail .ws-object-heading h1{font-size:36px}
.ws-plan-detail .ws-plan-progress strong{font-size:22px}
@media(max-width:1100px){.ws-plan-detail .ws-object-heading h1{font-size:30px}}
@media(max-width:767px){.ws-plan-detail .ws-object-heading h1{font-size:29px}}
/* Source: starting-point.css */
.start-flow h1{font-size:28px}
.start-path{display:block}
.start-choice{display:flex}
.start-summary h2{font-size:22px}
@media(max-width:600px){.start-flow h1{font-size:27px}}
/* Source: profile.css */
.ws-main .profile-header h1{font-size:28px;line-height:1.2}
.ws-main .profile-section-heading h2{font-size:19px;line-height:1.3}
.profile-form input:not([type=radio]),.profile-form select{border-radius:8px}
.profile-career{display:block}
.profile-savebar .button{border-radius:7px}
.ws-main .profile-identity h2{font-size:20px}
.ws-main .profile-tip h2{font-size:18px}
.profile-tip .button{border-radius:7px}
.ws-main .profile-account-title h2{font-size:24px}
.ws-main .profile-account-card h3{font-size:17px}
.profile-muted{font-size:13px}
.profile-account-card .button{border-radius:7px}
.dark .profile-identity>p{color:#bbb8cb}
.dark .profile-page .profile-explore{color:#edb499}
.dark .profile-danger>summary{color:#efb1a4}
@media(max-width:1000px){.profile-panel{padding:20px}}
@media(max-width:800px){.profile-identity h2{font-size:17px}}
@media(max-width:560px){.ws-main .profile-header h1{font-size:28px}
.profile-panel{padding:18px;border-radius:10px}
.ws-main .profile-section-heading h2{font-size:17px}
.profile-career{display:grid}}
.profile-header-actions .button{border-radius:7px}
.profile-page .profile-optional{display:inline}
/* Source: student-discovery.css */
.major-internship-intro{padding:12px 0;margin:0;gap:16px}
.major-internship-intro h2{font-size:18px;margin:4px 0}
.major-internship-intro p{margin:4px 0}
.job-monitoring-status{padding:12px 0;margin:8px 0}
.recruiting-cycle-panel{padding:12px 0;margin:8px 0}
@media(max-width:767px){.major-internship-intro{align-items:start}}
/* Source: launch-studio.css */
.challenge-plan input[type=checkbox]{width:18px;min-height:18px;height:18px}
.comparison-document h2{font-size:25px}
.comparison-document h3{margin-top:24px}
@media(max-width:767px){.career-comparison{display:block}}
.workspace-summary>section strong{font-size:20px}
/* Source: learning-visuals.css */
.evidence-trail th,.evidence-trail td{background:none}
/* Source: ui-craft.css */
.learning-status{background:none}
.ws-main .learning-card h3{margin:0;font-size:19px;line-height:1.4}
.learning-track-links>a{border:0;border-radius:0;background:none;padding:20px;box-shadow:none}
.learning-track-links>a+a{border-left:1px solid var(--line)}
.evidence-single{display:block}
.start-path .start-illustration{height:auto}
@media(max-width:767px){.learning-track-links>a{padding:16px 0}
.learning-track-links>a+a{border-left:0;border-top:1px solid var(--line)}
.ws-main .learning-card h3{font-size:20px}
.learning-heading h1{font-size:28px;line-height:1.15}}
/* Source: quiz-studio.css */
.quiz-head h1{font-size:28px;line-height:1.2;margin:12px 0}
.quiz-question-stage>h2{font-size:27px;line-height:1.4;margin:16px 0 25px}
.quiz-answer-form{max-width:none}
.quiz-choice{display:flex;margin:0}
.quiz-choice input{width:100%;height:100%}
.quiz-footnote{font-size:12px}
.quiz-exhibit h2{font-size:18px;margin:10px 0}
.quiz-round-row h2{font-size:22px;line-height:1.35;margin:10px 0}
.field-topic-list h3{margin:0}
.field-topic-list h3>.button{font-size:21px;color:var(--ink)}
.field-topic-lessons h3{font-size:22px;line-height:1.4}
.field-reference h2{font-size:18px}
@media(max-width:767px){.quiz-head h1{font-size:24px}
.quiz-question-stage>h2{font-size:22px}}
.quiz-answer-form legend.sr-only{position:absolute}
@media(max-width:767px){.field-workflow-mobile li{margin:0;padding:16px 0}}
/* Source: student-agenda.css */
.ws-main h1,.ws-main .ws-heading h1{font-size:28px;line-height:34px;font-weight:600;letter-spacing:0}
.ws-main h3{letter-spacing:0}
.ws-main .agenda-heading h1{margin:6px 0 0}
.ws-main .agenda-next h2{margin:8px 0}
.competition-prep-check input{width:18px;height:18px;min-height:18px}
.product-tabs{flex-wrap:nowrap}
.product-row h3{margin:0 0 6px}
.explore-current h2{margin:10px 0}
.ws-app-document{max-width:none;border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}
.search-result-group h3{font-size:12px;margin:18px 10px 6px}
@media(max-width:767px){.ws-main h1,.ws-main .ws-heading h1{font-size:26px;line-height:32px}
.ws-main .agenda-next h2{line-height:29px}
.ws-mobile-nav button span{display:block;font-size:11px;line-height:14px}}
.ws-main .practice-session h2{font-size:23px;line-height:29px;margin:8px 0}
.practice-destination .product-row h3{margin:3px 0}
@media(max-width:767px){.ws-main .practice-session h2{font-size:21px;line-height:27px}}
.direction-certainty label,.direction-shortlist label{font-weight:400}
.direction-preferences input,.direction-compare-choices input{width:16px;height:16px;min-height:16px}
.direction-saved h2{margin:4px 0 10px}
.direction-role-list h3{margin:2px 0}
.quiz-skill-review h2{font-size:16px;line-height:22px}
.ws-main .quiz-kicker,.ws-main .learning-kicker,.ws-main .eyebrow{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}
.ws-main .ws-plan-detail .ws-object-heading h1{font-size:26px;line-height:32px;font-weight:600}
.ws-main .ws-plan-detail h2{font-size:16px;line-height:22px}
.ws-main .ws-plan-detail .ws-next h3{font-size:16px;line-height:22px}
.role-quick-check h3{margin-bottom:10px}
.role-quick-options .button[aria-pressed=true]{border-color:var(--accent);background:#FFF2EB}
.dark .role-quick-options .button[aria-pressed=true]{background:#32271F}
.ws-main .profile-panel{border-radius:0;padding:20px 0}
.ws-main .profile-panel:first-child{padding-top:0}
.profile-form{gap:16px}
/* Source: workspace-design.css */
.ws-main :is(h1,.ws-heading h1,.quiz-head h1,.profile-header h1){font-family:'Fraunces',Georgia,serif;font-size:38px;line-height:1.18;letter-spacing:-1px;font-weight:600}
.ws-main h2{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.35px}
.ws-main h3{font-size:18px;line-height:1.35;font-weight:600}
.ws-main .agenda-next h2{font-size:29px;line-height:1.25}
.practice-session{padding:28px;border-radius:16px;background:#EDE8F4;border:0}
.practice-session h2{font-size:28px}
.practice-destination .product-row h3{margin-bottom:4px}
.ws-main :is(.profile-panel,.profile-account-card){padding-block:24px}
.dark .ws-main .practice-session{background:#353146}
@media(max-width:767px){.ws-main :is(h1,.ws-heading h1,.quiz-head h1,.profile-header h1){font-size:30px;letter-spacing:-.6px}
.ws-main h2{font-size:21px}
.ws-main h3{font-size:17px}
.ws-main .agenda-next h2{font-size:25px}
.practice-session{padding:22px}
.practice-session h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.ws-main *{animation:none;transition:none;scroll-behavior:auto}}
.practice-illustration{background:transparent;border:0}
.practice-illustration p{font-size:13px}
}
/* Source: identity.css */
/* CareerStack identity, afterboards-inspired: grey canvas, white rounded panels, left sidebar,
   orange pill actions, Fredoka display headings, grouped practice lists. Original artwork and copy.
   Legacy sources are built into cascade layers, so these unlayered rules win without !important. */

@font-face{font-family:'Bricolage Grotesque';src:url('/assets/bricolage-latin.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/bricolage-latin-ext.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
 --nb-page:#FFFFFF;--nb-desk:#E5E8EF;--nb-tint:#EEF0F5;--nb-rule:#E1E4EB;--nb-rule-strong:#C6CBD6;
 --nb-ink:#121318;--nb-ink-2:#2B2E38;--nb-muted:#545A68;--nb-faint:#7A808E;
 --nb-pen:#2B4BEE;--nb-pen-hover:#1C34C4;--nb-pen-tint:#EAEEFF;--nb-orange:#3D5BFF;
 --nb-mark:#FFE58A;--nb-mark-soft:#FFF6CC;
 --nb-red:#B42318;--nb-red-tint:#FDECEA;--nb-green:#16794C;--nb-green-tint:#E2FEF4;
 --nb-finance:#16794C;--nb-analytics:#5B3FB8;--nb-consulting:#C94E14;
 --nb-canvas:#F3F4F8;--nb-sky:#BFE6FF;--nb-sky-2:#E8F6FF;--nb-peach:#EAEEFF;
 --nb-ui:'Source Sans 3',Inter,Arial,system-ui,sans-serif;--nb-display:"Bricolage Grotesque",'Source Sans 3',Arial,sans-serif;--nb-data:'Source Sans 3',Inter,Arial,system-ui,sans-serif;
 --nb-r:10px;--nb-r-lg:16px;--nb-page-w:1080px;--nb-gutter:clamp(16px,4vw,40px);
 --nb-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -18px rgba(0,0,0,.22);
 --nb-focus:0 0 0 2px var(--nb-page),0 0 0 4px var(--nb-orange);
 --ink:var(--nb-ink);--text:var(--nb-ink);--muted:var(--nb-muted);--line:var(--nb-rule);--border:var(--nb-rule);
 --paper:var(--nb-page);--surface:var(--nb-page);--canvas:var(--nb-canvas);--bg:var(--nb-canvas);--panel:var(--nb-tint);--soft:var(--nb-tint);
 --accent:var(--nb-pen);--orange:var(--nb-orange);--brand:var(--nb-ink);--font-ui:var(--nb-ui);--font-display:var(--nb-display);--sans:var(--nb-ui);--serif:var(--nb-ui)
}
body.dark{
 --nb-page:#15161B;--nb-desk:#0B0C0F;--nb-tint:#1D1F26;--nb-rule:#2A2D36;--nb-rule-strong:#383C48;
 --nb-ink:#EEF0F5;--nb-ink-2:#D3D7E0;--nb-muted:#A3A8B5;--nb-faint:#858B98;
 --nb-pen:#8FA2FF;--nb-pen-hover:#B3C0FF;--nb-pen-tint:#1B2252;--nb-orange:#8FA2FF;
 --nb-mark:rgba(255,214,51,.34);--nb-mark-soft:rgba(255,214,51,.14);
 --nb-red:#FF9B90;--nb-red-tint:#3A1D1A;--nb-green:#7DD69C;--nb-green-tint:#173022;
 --nb-finance:#7DD69C;--nb-analytics:#BBA8FF;--nb-consulting:#FFB27A;
 --nb-canvas:#0E0F13;--nb-sky:#1B2B3A;--nb-sky-2:#141C24;--nb-peach:#2A1D16;
 --nb-focus:0 0 0 2px var(--nb-page),0 0 0 4px var(--nb-orange)
}

/* ---------- Base ---------- */
[hidden]{display:none!important}
html,body{background:var(--nb-page)}
body{color:var(--nb-ink);font-family:var(--nb-ui);font-size:16px;line-height:1.55;letter-spacing:normal;-webkit-font-smoothing:antialiased}
body :where(h1,h2,h3,h4,p,li,small,span,strong,b,em,label,td,th,dd,dt,summary,legend,button,input,select,textarea,a){font-family:var(--nb-ui);letter-spacing:normal}
:where(code,pre,kbd,samp,.mono,.formula,.sql-editor textarea){font-family:var(--nb-data)}
a{color:var(--nb-pen);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
::selection{background:var(--nb-mark);color:#111418}
:focus-visible{outline:none;box-shadow:var(--nb-focus);border-radius:4px}
.ws-main :is(.eyebrow,.chapter-label,.file-label,.case-index,.record-label){display:none}
.nb-mark,.cs-highlight{background:linear-gradient(transparent 52%,var(--nb-mark) 52%,var(--nb-mark) 90%,transparent 90%);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- Type: one family, weight does the work ---------- */
#app :where(h1){font-weight:750;font-size:clamp(1.85rem,1.45rem + 1.4vw,2.4rem);line-height:1.12;letter-spacing:-.022em;color:var(--nb-ink);margin:0 0 .4rem;text-wrap:balance;font-variation-settings:normal}
#app :where(h2){font-weight:700;font-size:1.22rem;line-height:1.3;letter-spacing:-.01em;color:var(--nb-ink);margin:0 0 .35rem}
#app :where(h3){font-weight:650;font-size:1.04rem;line-height:1.35;color:var(--nb-ink);margin:0 0 .2rem}
#app :where(h1,h2,h3) em{font-style:normal}
#app main :where(p){color:var(--nb-ink-2);max-width:70ch}
#app main :where(small){color:var(--nb-muted);font-size:.86rem;line-height:1.45}
#app :where(.ws-meta,.lede,.muted,.profile-muted,.agenda-empty,.auth-return-note){color:var(--nb-muted);font-size:1rem;line-height:1.5}
#app :where(.agenda-label,.quiz-kicker,.scenario-label){display:inline-block;font-size:.82rem;font-weight:650;letter-spacing:0;text-transform:none;color:var(--nb-muted)}
#app :where(.eyebrow){font-size:.82rem;font-weight:650;letter-spacing:0;text-transform:none;color:var(--nb-muted)}

/* ---------- Masthead: a plain page header ---------- */
.ws-masthead{background:var(--nb-page);color:var(--nb-ink);min-height:60px;padding:0 var(--nb-gutter);gap:24px;border-bottom:1px solid var(--nb-rule);box-shadow:none}
.ws-brand{display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:6px 0;color:var(--nb-ink);font:750 1.2rem/1 var(--nb-ui);letter-spacing:-.02em;cursor:pointer}
.ws-brand img{width:26px;height:26px}
body.dark .ws-brand img{filter:invert(1) hue-rotate(180deg)}
.ws-masthead nav{display:flex;align-items:stretch;gap:2px;align-self:stretch}
.ws-masthead nav button{position:relative;background:none;border:0;border-radius:0;color:var(--nb-muted);font:600 .98rem/1 var(--nb-ui);padding:0 12px;cursor:pointer}
.ws-masthead nav button:hover{color:var(--nb-ink);background:none}
.ws-masthead nav :is(.ws-current,[aria-current=page]){color:var(--nb-ink);background:none}
.ws-masthead nav :is(.ws-current,[aria-current=page])::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--nb-ink)}
.ws-search{background:var(--nb-tint);border:1px solid var(--nb-rule);color:var(--nb-muted);border-radius:var(--nb-r);min-height:38px;padding:0 12px;font:500 .92rem/1 var(--nb-ui);box-shadow:none}
.ws-search:hover{border-color:var(--nb-rule-strong);color:var(--nb-ink);background:var(--nb-tint)}
.ws-search kbd{background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:4px;color:var(--nb-muted);font:600 .72rem/1 var(--nb-ui);padding:3px 5px;box-shadow:none}
.ws-account>summary,.ws-account>button{background:var(--nb-page);color:var(--nb-pen);border:1.5px solid var(--nb-pen);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font:700 .9rem/1 var(--nb-ui)}

/* Section links under the header. */
.ws-context{background:var(--nb-page);border-bottom:1px solid var(--nb-rule);padding:0 var(--nb-gutter);min-height:44px;gap:4px;box-shadow:none}
.ws-context>button,.ws-context>a{position:relative;background:none;border:0;border-radius:0;color:var(--nb-muted);font:600 .92rem/1 var(--nb-ui);padding:14px 10px;cursor:pointer}
.ws-context>button:hover{color:var(--nb-ink)}
.ws-context>:is([aria-current=page],.ws-current){color:var(--nb-pen)}
.ws-context>:is([aria-current=page],.ws-current)::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--nb-pen)}
.ws-tool-menu>summary{color:var(--nb-muted);font:600 .92rem/1 var(--nb-ui);padding:9px 10px;border-radius:var(--nb-r);cursor:pointer;list-style:none;background:none}
.ws-tool-menu>summary::-webkit-details-marker{display:none}
.ws-tool-menu>summary::after{content:' ▾';font-size:.8em}
.ws-tool-menu[open]>summary{color:var(--nb-ink);background:var(--nb-tint)}
.ws-tool-menu>div{background:var(--nb-page);border:1px solid var(--nb-rule-strong);border-radius:var(--nb-r);box-shadow:0 12px 32px -18px rgba(17,20,24,.45);padding:4px}
.ws-tool-menu>div button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:9px 12px;color:var(--nb-ink);font:500 .95rem/1.2 var(--nb-ui);cursor:pointer}
.ws-tool-menu>div button:hover{background:var(--nb-tint)}

/* ---------- Page ---------- */
.ws-main{background:var(--nb-page)}
.ws-main>.page{max-width:var(--nb-page-w);margin:0 auto;padding:clamp(22px,3.5vw,40px) var(--nb-gutter) 72px}
.ws-heading,.agenda-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 26px;padding:0 0 18px;border:0;border-bottom:2px solid var(--nb-ink)}
.ws-heading .ws-meta,.agenda-heading small{margin:0}

/* ---------- Buttons: pen-blue for the action, outlined for the rest ---------- */
#app :is(.button,a.button){display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:0 16px;border-radius:var(--nb-r);border:1px solid var(--nb-pen);background:var(--nb-pen);color:#fff;font:650 .95rem/1.1 var(--nb-ui);text-decoration:none;cursor:pointer;box-shadow:none;transform:none;transition:background-color .12s ease,border-color .12s ease}
#app :is(.button,a.button):hover{background:var(--nb-pen-hover);border-color:var(--nb-pen-hover);color:#fff}
body.dark #app :is(.button,a.button):not(.secondary):not(.text-button),body.dark #app :is(.button,a.button):not(.secondary):not(.text-button):hover{color:#0F1113}
#app :is(.button,a.button).secondary{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}
#app :is(.button,a.button).secondary:hover{background:var(--nb-tint);border-color:var(--nb-ink);color:var(--nb-ink)}
#app :is(.button,a.button).text-button{background:none;border-color:transparent;color:var(--nb-pen);padding:0 2px;min-height:34px;font-weight:650}
#app :is(.button,a.button).text-button:hover{background:none;border-color:transparent;color:var(--nb-pen-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
#app :is(.button,a.button):is([disabled],[aria-disabled=true]){opacity:.5;cursor:not-allowed}
#app .actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---------- Forms: what you type appears in pen ---------- */
#app :is(input:where(:not([type=radio],[type=checkbox],[type=range],[type=file])),select,textarea){min-height:42px;padding:8px 11px;border:1px solid var(--nb-rule-strong);border-radius:var(--nb-r);background:var(--nb-page);color:var(--nb-pen);font:500 1rem/1.35 var(--nb-ui);box-shadow:none}
#app select{color:var(--nb-ink);padding-right:30px}
#app textarea{min-height:110px;line-height:1.55;background-image:linear-gradient(var(--nb-page),var(--nb-page))}
#app :is(input,select,textarea):hover{border-color:var(--nb-faint)}
#app :is(input,select,textarea):focus{outline:none;border-color:var(--nb-pen);box-shadow:0 0 0 3px var(--nb-pen-tint)}
#app :is(input,textarea)::placeholder{color:var(--nb-faint)}
#app label{color:var(--nb-ink-2);font-weight:600;font-size:.92rem}
#app :is(input[type=radio],input[type=checkbox]){accent-color:var(--nb-pen);width:17px;height:17px}

/* ---------- Sections: separated by rules and space, not boxes ---------- */
#app :is(.product-section,.agenda-section,.ws-section,.profile-panel,.roadmap-stage,.practice-revision>details){background:none;border:0;border-top:1px solid var(--nb-rule);border-radius:0;box-shadow:none;padding:22px 0 8px;margin:0 0 14px}
#app :is(.agenda-section,.product-section)>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 8px}
#app .card{background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r);box-shadow:none;padding:22px}

/* The next step: a margin line in pen, its title highlighted. */
#app :is(.agenda-next,.practice-session){position:relative;background:var(--nb-page);color:var(--nb-ink);border:0;border-left:4px solid var(--nb-pen);border-radius:0;box-shadow:none;padding:6px 0 6px 22px;margin:0 0 30px}
#app :is(.agenda-next,.practice-session) :is(h2,h3){font-size:clamp(1.35rem,1.15rem + .8vw,1.7rem);font-weight:750;letter-spacing:-.015em;line-height:1.2;color:var(--nb-ink);margin:.2rem 0 .35rem}
#app :is(.agenda-next,.practice-session) :is(h2,h3)>:first-child:not(:only-child),#app :is(.agenda-next,.practice-session) :is(h2,h3){background:none}
#app :is(.agenda-next,.practice-session) :is(h2,h3) .nb-mark{font:inherit}
#app :is(.agenda-next,.practice-session) .agenda-label{color:var(--nb-pen)}
#app .practice-session{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
#app .practice-session .practice-illustration{display:none}

/* ---------- Ruled rows ---------- */
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 20px;padding:14px 0;margin:0;background:none;border:0;border-bottom:1px solid var(--nb-rule);border-radius:0;box-shadow:none}
#app .quiz-round-row{grid-template-columns:2.4ch minmax(0,1fr) auto}
#app .ws-case-row{grid-template-columns:minmax(0,1fr) auto auto}
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row) :is(h2,h3,strong){font-size:1.04rem;font-weight:650;line-height:1.3;margin:1px 0;color:var(--nb-ink)}
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row) p{margin:3px 0 0;color:var(--nb-muted);font-size:.95rem}
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row) .actions{justify-content:flex-end}
#app :is(.quiz-round-number,.roadmap-index,.direction-index,.field-topic-number){font:600 .95rem/1.3 var(--nb-ui);font-variant-numeric:tabular-nums;color:var(--nb-muted)}
#app .case-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:640px){#app :is(.product-row,.home-row,.ws-case-row,.agenda-work,.drill-row){grid-template-columns:1fr}#app .quiz-round-row{grid-template-columns:2.4ch 1fr}#app .quiz-round-row .actions{grid-column:2}#app :is(.product-row,.home-row,.ws-case-row,.agenda-work,.drill-row) .actions{justify-content:flex-start}}

/* ---------- Labels: quiet outlined tags; fields get a coloured index mark ---------- */
#app :is(.badge,.case-file-label,.ws-case-state,.student-source-type){display:inline-flex;align-items:center;gap:6px;width:max-content;padding:1px 7px;border:1px solid var(--nb-rule-strong);border-radius:4px;background:var(--nb-page);color:var(--nb-ink-2);font:650 .75rem/1.5 var(--nb-ui);letter-spacing:.01em;text-transform:none}
#app .quiz-kicker{display:inline-flex;align-items:center;gap:6px}
#app [data-field]::before{content:'';width:8px;height:8px;border-radius:2px;background:currentColor}
#app [data-field=Finance]{color:var(--nb-finance)}
#app [data-field=Analytics]{color:var(--nb-analytics)}
#app [data-field=Consulting]{color:var(--nb-consulting)}

/* ---------- Tabs: underlined words ---------- */
#app :is(.editorial-tabs,.comp-tabs){display:flex;gap:2px;flex-wrap:wrap;padding:0;margin:0 0 22px;background:none;border:0;border-bottom:1px solid var(--nb-rule);border-radius:0;width:auto}
#app :is(.editorial-tabs,.comp-tabs) button{position:relative;background:none;border:0;border-radius:0;padding:10px 12px;color:var(--nb-muted);font:600 .95rem/1 var(--nb-ui);cursor:pointer;box-shadow:none}
#app :is(.editorial-tabs,.comp-tabs) button:hover{color:var(--nb-ink)}
#app :is(.editorial-tabs,.comp-tabs) :is([aria-pressed=true],[aria-selected=true],.active,[aria-current=page]){color:var(--nb-ink);background:none;box-shadow:none}
#app :is(.editorial-tabs,.comp-tabs) :is([aria-pressed=true],[aria-selected=true],.active,[aria-current=page])::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--nb-ink)}

#app details>summary{cursor:pointer;font-weight:600;color:var(--nb-ink)}
#app details>summary:hover{color:var(--nb-pen)}

/* ---------- Empty states: ruled lines where entries will go ---------- */
#app :is(.ws-empty,.empty){display:grid;justify-items:start;gap:4px;padding:6px 0 6px 18px;margin:8px 0 18px;background:none;border:0;border-left:2px solid var(--nb-rule-strong);border-radius:0;box-shadow:none;color:var(--nb-muted)}
#app :is(.ws-empty,.empty)::before{display:none}
#app :is(.ws-empty,.empty) h2{font-size:1.05rem;margin:0}
#app :is(.ws-empty,.empty) p{margin:0}

/* ---------- Notices ---------- */
#app .notice{display:block;margin:0 0 20px;padding:10px 14px;border:0;border-left:3px solid var(--nb-green);border-radius:0;background:var(--nb-green-tint);color:var(--nb-ink);font-weight:500;box-shadow:none}
#app .notice.error{border-left-color:var(--nb-red);background:var(--nb-red-tint)}

/* ---------- Tables ---------- */
#app table{border-collapse:collapse;width:100%;font:500 .95rem/1.4 var(--nb-ui);color:var(--nb-ink)}
#app :is(th,td){font-family:var(--nb-ui);padding:10px 12px;border:0;border-bottom:1px solid var(--nb-rule);text-align:left;vertical-align:top}
#app th{background:none;color:var(--nb-muted);font-weight:650;font-size:.82rem;border-bottom:1.5px solid var(--nb-ink)}
#app tbody tr:hover td{background:var(--nb-tint)}
#app :is(.product-table-scroll,.ws-table-scroll,.model-table-wrap){border:0;border-radius:0;background:none;overflow:auto}
#app td{font-variant-numeric:tabular-nums}

/* ---------- Mobile navigation ---------- */
.ws-mobile-nav{background:var(--nb-page);border-top:1px solid var(--nb-rule);box-shadow:none}
.ws-mobile-nav button{color:var(--nb-muted);font:600 .75rem/1.1 var(--nb-ui)}
.ws-mobile-nav :is(.ws-current,[aria-current=page]){color:var(--nb-pen)}

/* =========================================================
   Public page: sky hero, floating cards, staged product windows
   ========================================================= */
.welcome{background:linear-gradient(180deg,#FFFFFF 0%,#FFF8F2 55%,#FFEFE6 100%);color:var(--nb-ink);min-height:100vh;overflow-x:hidden}
.welcome-width{width:min(1120px,calc(100% - 2*var(--nb-gutter)));margin-inline:auto}
.welcome-skip{position:absolute;left:-999px;top:8px;background:var(--nb-ink);color:#fff;padding:8px 12px;border-radius:6px;z-index:20}
.welcome-skip:focus{left:8px}
.welcome-sky{position:relative;padding:20px 0 0;background:linear-gradient(180deg,#6CC4F5 0%,#A7DDFB 38%,#DDF2FE 70%,#FFFFFF 100%)}
.welcome-nav{position:relative;z-index:3;display:flex;align-items:center;gap:18px;width:min(1000px,calc(100% - 32px));margin:0 auto;padding:10px 12px 10px 20px;background:rgba(255,255,255,.92);border-radius:16px;box-shadow:0 10px 30px -18px rgba(20,60,100,.45)}
.welcome-brand{display:inline-flex;align-items:center;gap:9px;color:var(--nb-ink);font:600 1.25rem/1 var(--nb-display);text-decoration:none}
.welcome-nav nav{display:flex;gap:22px;margin-left:auto}
.welcome-nav nav a,.welcome-login-link{color:#3D3B3B;font-weight:600;text-decoration:none}
.welcome-nav nav a:hover,.welcome-login-link:hover{color:var(--nb-pen)}
#app .welcome-nav .button{border-radius:999px;min-height:40px;padding:0 20px}
.welcome-intro{position:relative;z-index:2;text-align:center;padding:clamp(40px,7vw,84px) 16px 0}
#app .welcome-intro h1{font-family:var(--nb-display);font-weight:650;font-size:clamp(2.6rem,1.6rem + 4.6vw,5rem);line-height:1;letter-spacing:-.01em;color:#fff;text-shadow:0 3px 0 rgba(23,92,140,.35),0 10px 30px rgba(23,92,140,.35);margin:0 auto 18px;max-width:none}
.welcome-pill{display:inline-block;margin:0;padding:8px 18px;border-radius:999px;background:rgba(32,96,170,.18);color:#0E3D66;font:600 clamp(1rem,.9rem + .4vw,1.25rem)/1.3 var(--nb-display)}
.welcome-scene{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:center top;margin-top:clamp(-10px,-2vw,-30px)}
.welcome-chip{display:inline-block;padding:7px 14px;border-radius:999px;background:#EDEDED;color:#262626;font-weight:650;text-decoration:none;font-size:.95rem}
.welcome-chip:hover{background:#E2E2E2;color:var(--nb-ink)}
.welcome-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:30px 0 10px}
.welcome-stats strong{display:block;font:650 2rem/1.1 var(--nb-display);color:var(--nb-ink)}
.welcome-stats span{color:#6B6B6B;font-size:.92rem}
.welcome-case-tabs{display:flex;gap:4px;border-bottom:1px solid #EDEDED;margin:0 0 14px}
.welcome-case-tabs button{position:relative;background:none;border:0;padding:8px 12px;color:#6B6B6B;font:650 .98rem/1 var(--nb-ui);cursor:pointer}
.welcome-case-tabs button[aria-pressed=true]{color:var(--nb-ink)}
.welcome-case-tabs button[aria-pressed=true]::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:4px;border-radius:4px 4px 0 0;background:#3D5BFF}
.welcome-case{display:grid;gap:14px}
.welcome-case-copy small{color:#6B6B6B;font-size:.82rem}
#app .welcome-case-copy h3{font-size:1.1rem;margin:4px 0 6px}
#app .welcome-case-copy p{font-size:1.02rem;color:var(--nb-ink);margin:0;max-width:none}
.welcome-bars{display:grid;gap:8px;margin-top:12px;font-variant-numeric:tabular-nums}
.welcome-bars>div{display:grid;grid-template-columns:92px minmax(0,1fr) 52px;align-items:center;gap:10px;font-size:.9rem}
.welcome-bars i{display:block;height:12px;border-radius:6px;background:linear-gradient(to right,#3D5BFF var(--bar),#EDEDED var(--bar))}
.welcome-bars strong{text-align:right;font-weight:650}
.welcome-equation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-weight:650}
.welcome-equation span{background:#F8F8F8;border:1px solid #EDEDED;border-radius:8px;padding:4px 10px}
.welcome-case-answers fieldset{border:0;margin:0;padding:0;min-width:0}
.welcome-case-answers legend{font-weight:650;margin-bottom:8px}
.welcome-case-answers fieldset>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 8px;padding:10px 12px;min-height:46px;border:1.5px solid #EDEDED;border-radius:12px;background:#fff;color:var(--nb-ink);font:600 1rem/1.3 var(--nb-ui);cursor:pointer}
.welcome-case-answers fieldset>button:hover:enabled{border-color:#3D5BFF}
.welcome-case-answers fieldset>button:disabled{cursor:default}
.welcome-case-answers fieldset>button>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#F8F8F8;border:1px solid #EDEDED;font-size:.8rem;font-weight:700;flex:none}
.welcome-case-answers fieldset>button.is-correct{border-color:#16794C;background:#E2FEF4}
.welcome-case-answers fieldset>button.is-retry{border-color:#3D5BFF;background:#EAEEFF}
.welcome-case-answers fieldset>button>strong{margin-left:auto}
.welcome-feedback{color:#6B6B6B;font-size:.95rem}
.welcome-feedback strong{color:var(--nb-ink)}
#app .welcome-feedback p{margin:4px 0 6px;color:#2B2B2E;font-size:.98rem}

.welcome-account{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:start;padding:clamp(40px,6vw,80px) 0}

.welcome-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:24px 0 40px;border-top:1px solid #EDEDED;color:#6B6B6B;font-size:.9rem}
.welcome-footer nav{display:flex;gap:16px;margin-left:auto}
.welcome-footer a{color:#3D3B3B}
body.dark .welcome{background:var(--nb-canvas);color:var(--nb-ink)}
body.dark .welcome-sky{background:linear-gradient(180deg,#14324A 0%,#1B3B55 45%,#17181A 100%)}

body.dark .welcome-pill{background:rgba(255,255,255,.12);color:#DCEFFF}
@media (max-width:900px){.welcome-floats{grid-template-columns:1fr;margin-top:-40px}.welcome-stage{grid-template-columns:1fr}.welcome-stage.is-flipped>div:first-child{order:0}.welcome-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-account{grid-template-columns:1fr}}
@media (max-width:640px){.welcome-nav nav{display:none}.welcome-nav{gap:10px;padding:8px 10px 8px 14px}.welcome-login-link{margin-left:auto}.welcome-scene{margin-top:10px}.welcome-floats{margin-top:-10px}.welcome-bars>div{grid-template-columns:76px minmax(0,1fr) 44px}.welcome-footer nav{margin-left:0}}

/* ---------- Annotations, motion and progress signals ---------- */
@media (max-width:640px){.welcome-note-sticky{position:relative;right:auto;left:auto;bottom:auto;margin:14px 0 0 auto;transform:rotate(-2deg)}.welcome-stage.is-flipped .welcome-note-sticky{left:auto}}

@media (prefers-reduced-motion:no-preference){
 .welcome-intro h1{animation:cs-rise .7s cubic-bezier(.2,.8,.2,1) both}
 .welcome-pill{animation:cs-rise .7s .12s cubic-bezier(.2,.8,.2,1) both}
 .welcome-floats article,#app .grid>.card{transition:transform .25s ease,box-shadow .25s ease}
 .welcome-floats article:hover,#app .grid>.card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(0,0,0,.4)}
 .will-reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
 .will-reveal.is-in{opacity:1;transform:none}
 .welcome-mini-bars i,.welcome-bars i{background-size:0 100%}
 .welcome-bars i{animation:cs-grow .8s ease both}
 .welcome-stats.is-in strong{animation:cs-pop .5s cubic-bezier(.3,1.6,.5,1) both}
 #app .button:not(.text-button){transition:background-color .15s ease,transform .1s ease}
 #app .button:not(.text-button):active{transform:translateY(1px) scale(.98)}
 #app :is(.product-section,.agenda-section,.agenda-next,.practice-session){transition:box-shadow .2s ease}
 #app :is(.agenda-next,.practice-session):hover{box-shadow:0 18px 36px -24px rgba(0,0,0,.35)}
 #app :is(.product-row,.home-row,.quiz-round-row,.ws-case-row,.agenda-work){transition:background-color .15s ease}
 #app :is(.product-row,.home-row,.quiz-round-row,.ws-case-row,.agenda-work):hover{background:var(--nb-tint)}
 .ws-main>.page{animation:cs-enter .3s ease-out both}
 #app .welcome-case-answers fieldset>button.is-correct{animation:cs-pop .45s cubic-bezier(.3,1.6,.5,1)}
 #app .welcome-case-answers fieldset>button.is-retry{animation:cs-shake .4s ease}
 #app .cs-today{animation:cs-pop .5s cubic-bezier(.3,1.6,.5,1) both}
}
@keyframes cs-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cs-enter{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cs-pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes cs-shake{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes cs-grow{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* Real-data progress pills: practice streak in the sidebar, today's saved work on Home and Practice. */
.ws-streak{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#EAEEFF;color:#2440D6;font:700 .85rem/1 var(--nb-ui)}
.ws-streak::before{content:'\1F525'}
@media (min-width:1024px){.ws-streak{order:3;align-self:flex-start;margin:8px 4px 0}}
#app .cs-today{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--nb-green-tint);color:var(--nb-green);font-weight:700;font-size:.85rem;margin:0 0 14px}
body.dark .ws-streak{background:var(--nb-pen-tint);color:var(--nb-pen)}

/* =====================================================================
   System v2: type scale, motion tokens, Compass, Day in the life, focus timer, skeletons
   ===================================================================== */
:root{
 --fs-xs:.78rem;--fs-sm:.9rem;--fs-md:1rem;--fs-lg:1.125rem;
 --fs-xl:clamp(1.2rem,1.08rem + .5vw,1.4rem);--fs-2xl:clamp(1.55rem,1.3rem + 1vw,2rem);
 --fs-3xl:clamp(2rem,1.5rem + 1.8vw,2.75rem);--fs-4xl:clamp(2.4rem,1.6rem + 3.2vw,4rem);
 --ease-out:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.3,1.5,.5,1);--dur-1:.15s;--dur-2:.3s;--dur-3:.6s
}
/* Type: Fredoka for page titles, section titles and figures; Source Sans for everything you read or operate. */
#app main :where(p,li,dd){text-wrap:pretty}
#app main p{line-height:1.6}
.ws-main :is(.ws-heading,.agenda-heading) h1{font-family:var(--nb-display);font-weight:600;font-size:var(--fs-3xl);line-height:1.06;letter-spacing:-.01em}
.ws-main :is(.product-section,.agenda-section,.cs-badges,.ws-section)>header h2,.ws-main .agenda-side>section>h2,.ws-main .product-section>h2:first-child{font-family:var(--nb-display);font-weight:600;font-size:var(--fs-xl);letter-spacing:0}
.ws-main :is(.agenda-next,.practice-session) :is(h2,h3){font-size:var(--fs-2xl)}
#app :is(td,output,.welcome-stats strong,.cs-week,.welcome-sim-bars b,.welcome-bars strong){font-variant-numeric:tabular-nums}
#app .ws-meta{font-size:var(--fs-lg);color:var(--nb-muted)}
#app small{font-size:max(var(--fs-xs),12.5px)}
#app :is(label,legend){font-size:var(--fs-sm)}

/* Motion: page sections arrive in order when a view changes (identity.js adds .cs-enter). */
@media (prefers-reduced-motion:no-preference){
 .ws-main>.page.cs-enter>*,.ws-main>.page.cs-enter .agenda-main>*,.ws-main>.page.cs-enter .agenda-side>*{animation:cs-rise var(--dur-3) var(--ease-out) both}
 .ws-main>.page.cs-enter>*:nth-child(2),.ws-main>.page.cs-enter .agenda-main>*:nth-child(2),.ws-main>.page.cs-enter .agenda-side>*:nth-child(2){animation-delay:.05s}
 .ws-main>.page.cs-enter>*:nth-child(3),.ws-main>.page.cs-enter .agenda-main>*:nth-child(3),.ws-main>.page.cs-enter .agenda-side>*:nth-child(3){animation-delay:.1s}
 .ws-main>.page.cs-enter>*:nth-child(4),.ws-main>.page.cs-enter .agenda-main>*:nth-child(4),.ws-main>.page.cs-enter .agenda-side>*:nth-child(4){animation-delay:.15s}
 .ws-main>.page.cs-enter>*:nth-child(n+5),.ws-main>.page.cs-enter .agenda-main>*:nth-child(n+5),.ws-main>.page.cs-enter .agenda-side>*:nth-child(n+5){animation-delay:.2s}
 .ws-context>:is([aria-current=page],.ws-current)::after{animation:cs-underline var(--dur-2) var(--ease-out) both;transform-origin:left}
 .ws-masthead nav :is(.ws-current,[aria-current=page]){transition:background-color var(--dur-2) var(--ease-out)}
 .ws-masthead nav button[data-view]::before{transition:transform var(--dur-1) var(--ease-spring)}
 .ws-masthead nav button:hover::before{transform:scale(1.12) rotate(-6deg)}
}
@keyframes cs-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Skeletons replace plain "Loading…" text (identity.js marks the host). */
#app .cs-skeleton{display:grid;gap:12px;margin:8px 0 18px}
#app .cs-skeleton i{display:block;height:64px;border-radius:14px;background:linear-gradient(90deg,var(--nb-desk) 0%,var(--nb-tint) 40%,var(--nb-desk) 80%);background-size:200% 100%}
#app .cs-skeleton i:nth-child(2){width:86%}#app .cs-skeleton i:nth-child(3){width:70%}
@media (prefers-reduced-motion:no-preference){#app .cs-skeleton i{animation:cs-shimmer 1.4s linear infinite}}
@keyframes cs-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* Career Compass */
.cs-compass{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,48px);align-items:center;margin:clamp(40px,6vw,72px) auto 0}
.cs-compass.is-app{margin:0 0 22px;padding:22px;background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow)}
.cs-compass-intro small{display:block;font-weight:700;margin-bottom:4px;color:var(--nb-ink)}
#app .cs-compass h2{font:600 var(--fs-3xl)/1.05 var(--nb-display);margin:0 0 10px}
#app .cs-compass.is-app h2{font-size:var(--fs-2xl)}
#app .cs-compass-intro p{font-size:var(--fs-lg);margin:0 0 12px}
.cs-compass-intro img{width:min(240px,70%);height:auto}
.cs-compass.is-app .cs-compass-intro img{display:none}
.cs-compass-card{position:relative;min-height:300px;padding:24px;border-radius:22px;background:linear-gradient(160deg,#FFF7EF,#FFFFFF 60%);border:3px solid #2D2A26;box-shadow:8px 8px 0 #9AD3F5;overflow:hidden}
body.dark .cs-compass-card{background:var(--nb-tint);border-color:var(--nb-rule-strong);box-shadow:8px 8px 0 #1B2B3A}
.cs-compass-dots{display:flex;gap:6px;margin-bottom:10px}
.cs-compass-dots i{flex:1;height:6px;border-radius:6px;background:var(--nb-desk)}
.cs-compass-dots i.is-done{background:#3D5BFF}
.cs-compass-dots i.is-now{background:#C9D4FF}
#app .cs-compass-count{margin:0 0 4px;font-size:var(--fs-sm);font-weight:700;color:var(--nb-muted)}
#app .cs-compass-q h3,#app .cs-compass-result h3{font:600 var(--fs-2xl)/1.15 var(--nb-display);margin:0 0 16px}
.cs-compass-options{display:grid;gap:10px}
.cs-compass-options button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border-radius:14px;border:2px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-ink);font:600 var(--fs-lg)/1.3 var(--nb-ui);cursor:pointer}
.cs-compass-options button span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#EAEEFF;color:#2440D6;font-weight:800}
.cs-compass-options button:hover,.cs-compass-options button:focus-visible{border-color:#3D5BFF;transform:translateX(4px)}
.cs-compass-back{margin-top:12px;background:none;border:0;color:var(--nb-muted);font-weight:700;cursor:pointer;padding:6px 0}
.cs-compass-back:hover{color:var(--nb-ink)}
#app .cs-compass-result mark{background:linear-gradient(transparent 55%,#FFE58A 55%);color:inherit;padding:0 .1em}
body.dark #app .cs-compass-result mark{background:linear-gradient(transparent 55%,rgba(255,214,51,.35) 55%)}
.cs-compass-roles{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:10px}
.cs-compass-roles li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--nb-page);border:1px solid var(--nb-rule)}
.cs-compass-roles .button,.cs-compass-roles .welcome-chip{min-height:34px;font-size:var(--fs-sm)}
.cs-compass-track{padding:2px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;background:#EDEDED;color:#3D3B3B}
.cs-compass-track[data-track=Finance]{background:#E2FEF4;color:#16794C}
.cs-compass-track[data-track=Analytics]{background:#EEEAFE;color:#5B3FB8}
.cs-compass-track[data-track=Consulting]{background:#EAEEFF;color:#2440D6}
body.dark .cs-compass-track{background:var(--nb-tint);color:var(--nb-ink-2)}
#app .cs-compass-note{font-size:var(--fs-sm);color:var(--nb-muted);margin:0}
@media (prefers-reduced-motion:no-preference){
 .cs-compass-q,.cs-compass-result{animation:cs-slide-in .35s var(--ease-out) both}
 .cs-compass-roles li{animation:cs-pop .5s var(--ease-spring) both;animation-delay:calc(var(--i) * .12s + .1s)}
 .cs-compass-options button{transition:transform var(--dur-1) var(--ease-out),border-color var(--dur-1)}
}
@keyframes cs-slide-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (max-width:860px){.cs-compass{grid-template-columns:1fr}.cs-compass-intro img{display:none}}
@media (max-width:520px){.cs-compass-roles li{grid-template-columns:1fr}.cs-compass-card{padding:18px}}

/* A day in the life */
.cs-day{margin:clamp(48px,7vw,96px) auto 0}
.cs-day-head small{display:block;font-weight:700;margin-bottom:4px}
#app .cs-day-head h2{font:600 var(--fs-3xl)/1.05 var(--nb-display);margin:0 0 8px}
#app .cs-day-head p{font-size:var(--fs-lg);margin:0 0 18px}
.cs-day-board{padding:clamp(18px,3vw,30px);border-radius:24px;background:linear-gradient(180deg,#E8F6FF 0%,#FFFFFF 70%);border:3px solid #2D2A26;box-shadow:10px 10px 0 #F7D27A}
body.dark .cs-day-board{background:var(--nb-tint);border-color:var(--nb-rule-strong);box-shadow:10px 10px 0 #3A3016}
.cs-day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.cs-day-tabs button{padding:8px 16px;border-radius:999px;border:2px solid #2D2A26;background:#fff;color:#2D2A26;font:600 var(--fs-md)/1 var(--nb-display);cursor:pointer}
.cs-day-tabs button[aria-pressed=true]{background:#3D5BFF;color:#1A0E07}
body.dark .cs-day-tabs button{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}
body.dark .cs-day-tabs button[aria-pressed=true]{background:var(--nb-pen);color:#1A0E07}
.cs-day-stage{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.cs-day-clock{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#fff;border:3px solid #2D2A26;box-shadow:inset 0 0 0 6px #EAEEFF}
.cs-day-clock b{font:600 1.35rem/1 var(--nb-display);color:#2D2A26}
.cs-day-card{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid #EDEDED;box-shadow:0 14px 30px -22px rgba(0,0,0,.4)}
body.dark :is(.cs-day-card,.cs-day-clock){background:var(--nb-page);border-color:var(--nb-rule-strong)}
body.dark .cs-day-clock b{color:var(--nb-ink)}
.cs-day-emoji{font-size:2.2rem;line-height:1}
#app .cs-day-card h3{font:600 var(--fs-xl)/1.2 var(--nb-display);margin:0 0 6px}
#app .cs-day-card p{margin:0 0 8px}
.cs-day-tool{display:inline-block;padding:2px 10px;border-radius:999px;background:#EEEAFE;color:#5B3FB8;font-size:var(--fs-xs);font-weight:700}
body.dark .cs-day-tool{background:#2A2545;color:#BBA8FF}
.cs-day-slider{display:grid;gap:6px;margin:22px 0 4px;font-weight:700;color:var(--nb-ink)}
.cs-day-slider input{width:100%;accent-color:#3D5BFF;height:28px;cursor:grab}
.cs-day-line{position:relative;list-style:none;margin:0 0 10px;padding:0;height:56px}
.cs-day-line li{position:absolute;left:var(--at);transform:translateX(-50%)}
.cs-day-line li:last-child{transform:translateX(-90%)}
.cs-day-line button{display:grid;justify-items:center;gap:2px;background:none;border:0;cursor:pointer;color:var(--nb-muted);font:600 var(--fs-xs)/1 var(--nb-ui)}
.cs-day-line button span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--nb-rule-strong);font-size:1rem}
.cs-day-line li.is-now button span{border-color:#3D5BFF;box-shadow:0 0 0 4px rgba(245,126,57,.25)}
.cs-day-line li.is-now button{color:var(--nb-ink)}
body.dark .cs-day-line button span{background:var(--nb-page)}
#app .cs-day-note{font-size:var(--fs-sm);color:var(--nb-muted);margin:6px 0 0}
@media (prefers-reduced-motion:no-preference){.cs-day-card{animation:cs-slide-in .3s var(--ease-out) both}.cs-day-clock{transition:transform var(--dur-2) var(--ease-spring)}}
@media (max-width:560px){.cs-day-stage{grid-template-columns:1fr}.cs-day-clock{width:72px;height:72px}.cs-day-line small{display:none}}

/* Focus timer */
.cs-focus{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;font-family:var(--nb-ui)}
.cs-focus>button{padding:10px 16px;border-radius:999px;border:2px solid #2D2A26;background:#fff;color:#2D2A26;font:700 .95rem/1 var(--nb-ui);cursor:pointer;box-shadow:4px 4px 0 #FFD94A}
.cs-focus>button:hover{transform:translateY(-2px)}
.cs-focus.is-running{padding:6px 8px 6px 6px;border-radius:999px;background:#fff;border:2px solid #2D2A26;box-shadow:4px 4px 0 #3D5BFF}
.cs-focus svg{width:38px;height:38px;transform:rotate(-90deg)}
.cs-focus circle{fill:none;stroke-width:4}
.cs-focus .track{stroke:#EDEDED}
.cs-focus .ring{stroke:#3D5BFF;stroke-dasharray:97.4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.cs-focus span{font:600 1.05rem/1 var(--nb-display);color:#2D2A26;font-variant-numeric:tabular-nums;min-width:3.2em}
.cs-focus.is-running button{width:28px;height:28px;border-radius:50%;border:0;background:#EDEDED;color:#2D2A26;font-weight:800;cursor:pointer}
body.dark .cs-focus>button,body.dark .cs-focus.is-running{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}
body.dark .cs-focus span{color:var(--nb-ink)}
.cs-focus-done{position:fixed;right:20px;bottom:84px;z-index:61;display:grid;gap:6px;max-width:300px;padding:16px 18px;border-radius:16px;background:#fff;border:2px solid #2D2A26;box-shadow:6px 6px 0 #7FCB8A;font-family:var(--nb-ui)}
.cs-focus-done button{justify-self:start;padding:6px 14px;border-radius:999px;border:0;background:#2B4BEE;color:#fff;font-weight:700;cursor:pointer}
body.dark .cs-focus-done{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}
@media (max-width:767px){.cs-focus{bottom:88px;right:12px}.cs-focus-done{bottom:150px;right:12px}}

/* Big corporate competitions */
.cs-comps{margin:clamp(48px,7vw,96px) auto 0}
.cs-comps.is-app{margin:0 0 26px}
.cs-comps-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.cs-comps-head small{display:block;font-weight:700;margin-bottom:4px;color:var(--nb-ink)}
#app .cs-comps h2{font:600 var(--fs-3xl)/1.05 var(--nb-display);margin:0 0 8px}
#app .cs-comps.is-app h2{font-size:var(--fs-2xl)}
#app .cs-comps-head p{font-size:var(--fs-lg);margin:0;max-width:60ch}
.cs-comps-head img{width:clamp(130px,14vw,190px);height:auto;flex:none}
@media (max-width:700px){.cs-comps-head img{display:none}}
.cs-comp-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px}
.cs-comp-chips{display:flex;flex-wrap:wrap;gap:6px}
.cs-comp-chips button{padding:7px 14px;border-radius:999px;border:1.5px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-ink);font:650 var(--fs-sm)/1 var(--nb-ui);cursor:pointer}
.cs-comp-chips button[aria-pressed=true]{background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-page)}
.cs-comp-open{display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--nb-ink)}
.cs-comp-search{flex:1 1 220px}
.cs-comp-search input{width:100%;min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-ink);font:500 var(--fs-md) var(--nb-ui)}
.cs-comp-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:4px 0 8px}
.cs-comp-months div{display:grid;justify-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;color:var(--nb-muted)}
.cs-comp-months i{display:block;width:100%;height:10px;border-radius:5px;background:var(--nb-desk)}
.cs-comp-months .has i{background:color-mix(in srgb,#3D5BFF calc(var(--n) * 25%),#EAEEFF)}
.cs-comp-months .is-now span{color:var(--nb-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
#app .cs-comp-count{font-size:var(--fs-sm);color:var(--nb-muted);margin:0 0 12px}
.cs-comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}
.cs-comp{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:18px;background:var(--nb-page);border:1px solid var(--nb-rule);box-shadow:var(--nb-shadow)}
.cs-comp header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.cs-comp-mono{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#2D2A26;color:#FFD94A;font:600 1rem/1 var(--nb-display)}
.cs-comp[data-cat="Tech & hackathon"] .cs-comp-mono{background:#1F5FAD;color:#fff}
.cs-comp[data-cat="Quiz"] .cs-comp-mono{background:#16794C;color:#fff}
.cs-comp[data-cat="Startup pitch"] .cs-comp-mono{background:#5B3FB8;color:#fff}
#app .cs-comp h3{font:600 var(--fs-xl)/1.15 var(--nb-display);margin:0}
.cs-comp header small{color:var(--nb-muted)}
.cs-comp-star{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-muted);font-size:1.2rem;cursor:pointer}
.cs-comp-star.is-on{background:#FFF3BF;border-color:#E6B800;color:#8A6A00}
.cs-comp-tags{display:flex;flex-wrap:wrap;gap:6px}
.cs-comp-tags span{padding:2px 10px;border-radius:999px;background:var(--nb-desk);color:#3D3B3B;font-size:var(--fs-xs);font-weight:700}
.cs-comp-tags .is-open{background:#E2FEF4;color:#16794C}
.cs-comp-status.is-live{background:#E2FEF4;color:#16794C}
.cs-comp-status.is-soon{background:#EAEEFF;color:#2440D6}
.cs-comp-status.is-past{background:var(--nb-desk);color:#5F5F63}
.cs-comp-status.is-unknown{background:#EEF2FF;color:#3346A8}
#app .cs-comp-theme{margin:0;font-size:var(--fs-md)}
.cs-comp dl{display:grid;gap:6px;margin:0}
.cs-comp dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:var(--fs-sm)}
.cs-comp dt{color:var(--nb-muted);font-weight:650}
.cs-comp dd{margin:0;color:var(--nb-ink-2)}
.cs-comp footer{margin-top:auto;display:grid;gap:2px;padding-top:10px;border-top:1px solid var(--nb-rule);font-size:var(--fs-sm)}
.cs-comp footer a{color:#2B4BEE;font-weight:650;text-decoration:none}
.cs-comp footer a:hover{text-decoration:underline}
.cs-comp footer small{color:var(--nb-muted)}
#app .cs-comp-note{font-size:var(--fs-sm);color:var(--nb-muted);margin:14px 0 0;max-width:80ch}
#app .cs-comp-empty{color:var(--nb-muted)}
body.dark .cs-comp-tags span{background:var(--nb-tint);color:var(--nb-ink-2)}
body.dark .cs-comp-tags .is-open,body.dark .cs-comp-status.is-live{background:var(--nb-green-tint);color:var(--nb-green)}
body.dark .cs-comp-status.is-soon{background:var(--nb-pen-tint);color:var(--nb-pen)}
body.dark .cs-comp-status.is-unknown{background:#1E2440;color:#B3C2FF}
body.dark .cs-comp-mono{background:#FFD94A;color:#1A1A1A}
body.dark .cs-comp footer a{color:var(--nb-pen)}
body.dark .cs-comp-star.is-on{background:#3A3016;border-color:#E6B800;color:#FFD94A}
body.dark .cs-comp-chips button[aria-pressed=true]{background:var(--nb-ink);color:#111}
@media (prefers-reduced-motion:no-preference){.cs-comp{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.cs-comp:hover{transform:translateY(-3px);box-shadow:0 20px 36px -24px rgba(0,0,0,.4)}.cs-comp-star.is-on{animation:cs-pop .4s var(--ease-spring)}}
@media (max-width:520px){.cs-comp-months span{font-size:.62rem}.cs-comp dl div{grid-template-columns:1fr;gap:0}}

/* Inline hero scene: scoped animation, interactive buildings, night mode, pointer parallax */
.welcome-scene-svg{display:block;width:min(1120px,100%);height:auto;margin-inline:auto;overflow:visible}
.welcome-scene-svg .bld{cursor:pointer;outline:none}
.welcome-scene-svg .lift{transform-box:fill-box;transform-origin:center bottom;transition:transform .3s var(--ease-spring)}
.welcome-scene-svg .bubble{opacity:0;transform-box:fill-box;transform-origin:center bottom;transform:translateY(8px) scale(.9);transition:opacity .2s ease,transform .25s var(--ease-spring);pointer-events:none}
.welcome-scene-svg .bld:is(:hover,:focus,:focus-visible) .lift{transform:translateY(-12px)}
.welcome-scene-svg .bld:is(:hover,:focus,:focus-visible) .bubble{opacity:1;transform:none}
.welcome-scene-svg .bld:is(:focus,:focus-visible) .sign{stroke:#3D5BFF;stroke-width:5}
.welcome-scene-svg .clouds{transform:translate(calc(var(--px,0) * -24px),calc(var(--py,0) * -8px));transition:transform .6s ease-out}
.welcome-scene-svg .night{display:none;transform:translate(calc(var(--px,0) * -10px),0);transition:transform .8s ease-out}
@media (prefers-reduced-motion:no-preference){
 .welcome-scene-svg .c1{animation:sc-drift 14s ease-in-out infinite alternate}
 .welcome-scene-svg .c2{animation:sc-drift2 18s ease-in-out infinite alternate}
 .welcome-scene-svg .c3{animation:sc-drift 11s ease-in-out infinite alternate}
 .welcome-scene-svg .flag{transform-box:fill-box;transform-origin:left center;animation:sc-wave 2.4s ease-in-out infinite}
 .welcome-scene-svg .lit{animation:sc-twinkle 5s ease-in-out infinite}
 .welcome-scene-svg .lit2{animation:sc-twinkle 7s 1.5s ease-in-out infinite}
 .welcome-scene-svg .walker1{animation:sc-stroll 26s linear infinite alternate}
 .welcome-scene-svg .walker2{animation:sc-stroll2 22s linear infinite alternate}
 .welcome-scene-svg :is(.walker1,.walker2)>g{animation:sc-bob .6s ease-in-out infinite}
 .welcome-scene-svg .birds>.wing{transform-box:fill-box;transform-origin:center;animation:sc-flap .5s ease-in-out infinite}
 .welcome-scene-svg .rider{animation:sc-ride 34s linear infinite alternate}
 .welcome-scene-svg .wheel{transform-box:fill-box;transform-origin:center;animation:sc-spin 1.2s linear infinite}
 .welcome-scene-svg .night .s{animation:sc-star 3s ease-in-out infinite}
 .welcome-scene-svg .night .s:nth-child(2n){animation-delay:1.1s}
 .welcome-scene-svg .night .s:nth-child(3n){animation-delay:2s}
}
@keyframes sc-drift{from{transform:translateX(-30px)}to{transform:translateX(30px)}}
@keyframes sc-drift2{from{transform:translateX(25px)}to{transform:translateX(-25px)}}
@keyframes sc-wave{0%,100%{transform:skewY(0)}50%{transform:skewY(-8deg)}}
@keyframes sc-twinkle{0%,100%{fill:#E8F6FF}50%{fill:#FFF3B0}}
@keyframes sc-stroll{to{transform:translateX(260px)}}
@keyframes sc-stroll2{to{transform:translateX(-220px)}}
@keyframes sc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes sc-flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(-.6)}}
@keyframes sc-ride{to{transform:translateX(380px)}}
@keyframes sc-spin{to{transform:rotate(360deg)}}
@keyframes sc-star{0%,100%{opacity:.25}50%{opacity:1}}
/* Night: moon and stars, lit windows, a darker hill. Follows the site theme. */
body.dark .welcome-scene-svg .night{display:inline}
body.dark .welcome-scene-svg .moon-bite{fill:#14324A}
body.dark .welcome-scene-svg .clouds{opacity:.28}
body.dark .welcome-scene-svg .hill{fill:#2E5E3A}
body.dark .welcome-scene-svg .path{stroke:#8C7D57}
body.dark .welcome-scene-svg .win,body.dark .welcome-scene-svg .win *{fill:#FFD86B}
body.dark .welcome-scene-svg .trees>g:first-child{fill:#2F6B3A}
@media (prefers-reduced-motion:no-preference){body.dark .welcome-scene-svg .win *{animation:sc-glow 4s ease-in-out infinite}body.dark .welcome-scene-svg .win *:nth-child(2n){animation-delay:1.3s}}
@keyframes sc-glow{0%,100%{fill:#FFD86B}50%{fill:#FFF0B3}}
/* Competitions preview on the homepage */
.cs-comp[data-cat="Social impact & sustainability"] .cs-comp-mono{background:#0F766E;color:#fff}
.cs-comp-more{display:flex;justify-content:center;margin-top:16px}
.cs-comp-more button{padding:12px 22px;border-radius:999px;border:2px solid #2D2A26;background:#fff;color:#2D2A26;font:600 1rem/1 var(--nb-display);cursor:pointer;box-shadow:4px 4px 0 #FFD94A}
.cs-comp-more button:hover{transform:translateY(-2px)}
body.dark .cs-comp-more button{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}

/* ---------- Motion: state changes only ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ---------- Remaining legacy accents mapped to the notebook palette ---------- */
.ws-masthead nav button svg,.ws-mobile-nav svg{color:inherit}
#app .agenda-period button{border:0;border-bottom:2px solid transparent;background:none;color:var(--nb-muted);font-weight:600;border-radius:0}
#app .agenda-period button:is([aria-pressed=true],.active,[aria-current=true]){color:var(--nb-ink);border-bottom-color:var(--nb-ink)}
#app :is([class*=kicker],[class*=-label]):not(.agenda-label):not(.case-file-label):not(.quiz-kicker){letter-spacing:0;text-transform:none;color:var(--nb-muted)}
#app .profile-career:has(input:checked){border-color:var(--nb-pen);background:var(--nb-pen-tint)}
.ws-shell{background:var(--nb-page)}
#app :is(.ws-empty,.empty){grid-column:1/-1;width:100%;box-sizing:border-box}
#app .job-preferences{background:none;border:0;border-top:1px solid var(--nb-rule);border-bottom:1px solid var(--nb-rule);border-radius:0;padding:12px 0;margin:0 0 18px}
#app .job-preferences>summary{font-size:1rem;font-weight:650}
#app :is(.welcome,.ws-main) .student-discovery-heading small:empty{display:none}
#app .role-warning{background:var(--nb-mark-soft);border:0;border-left:3px solid #D9A400;border-radius:0;padding:10px 14px;color:var(--nb-ink)}
#app :is(.story-coverage,.profile-identity,.profile-tip){background:var(--nb-tint);border:1px solid var(--nb-rule);border-radius:var(--nb-r);box-shadow:none}
#app :is(.story-coverage-item,.profile-private){background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:4px;color:var(--nb-ink-2)}
#app .profile-avatar{background:var(--nb-page);border:1.5px solid var(--nb-pen);color:var(--nb-pen)}
#app .profile-savebar{background:var(--nb-page);border-top:1px solid var(--nb-rule);box-shadow:none}
#app :is(.editorial-tabs,.comp-tabs) .button{min-height:0;padding:10px 12px;background:none;border:0;border-radius:0;color:var(--nb-muted)}
#app :is(.editorial-tabs,.comp-tabs) .button:not(.secondary){color:var(--nb-ink)}
#app :is(.editorial-tabs,.comp-tabs) .button:not(.secondary)::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--nb-ink)}
#app :is(.editorial-tabs,.comp-tabs) .button{position:relative}
#app :is(.editorial-tabs,.comp-tabs) .button:hover{background:none;color:var(--nb-ink);text-decoration:none}
#app .quiz-round-number{background:none;border:0;border-radius:0;width:auto;height:auto}
#app .ws-job-open span{color:var(--nb-muted)}
#app .student-source-type,#app .student-source-type span{color:var(--nb-ink-2)}
#app .session-current{color:var(--nb-pen)}
body.dark #app :is(.editorial-tabs,.comp-tabs) .button:not(.secondary):not(.text-button){color:var(--nb-ink)}

/* ---------- Small screens: compact header + bottom navigation (restates legacy breakpoints) ---------- */
@media (max-width:767px){
 .ws-masthead>nav,.ws-tools .ws-search{display:none}
 .ws-masthead{min-height:56px;gap:12px}
 .ws-mobile-title{color:var(--nb-ink);font-weight:650}
 .ws-mobile-search{color:var(--nb-pen);background:none;border:0;font:650 .9rem/1 var(--nb-ui)}
 .ws-mobile-nav{display:flex}
 .ws-context{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
 .ws-context>button{white-space:nowrap}
}
@media (max-width:900px){.ws-search kbd{display:none}}
/* Tablet: the header keeps all five destinations; search shortens to a word. */
@media (min-width:768px) and (max-width:1099px){
 .ws-masthead{gap:10px;padding:0 20px}
 .ws-masthead nav button{padding:0 7px;font-size:.94rem}
 .ws-search{padding:0 12px;min-width:0;width:auto}
 .ws-search>span{display:none}
 .ws-search::before{content:'Search';font-weight:600;color:var(--nb-ink-2)}
 .ws-context{flex-wrap:wrap;height:auto}
}

/* ---------- Exhibits and working papers: one "sheet of paper" treatment everywhere ---------- */
#app :is(.role-working-paper,.case-exhibit,.quiz-exhibit,.scenario-paper,.reader-art,.model-reference,.exhibit){background:var(--nb-page);border:1px solid var(--nb-rule-strong);border-radius:4px;box-shadow:4px 4px 0 var(--nb-desk);color:var(--nb-ink)}
#app .reader-art span{background:var(--nb-tint)}
#app :is(.is-current,[aria-current=step]):not(.ws-current){background:var(--nb-pen-tint);border-color:var(--nb-pen);color:var(--nb-pen)}
.search-overlay small,.search-dialog small{color:var(--nb-muted)}
.search-overlay{background:rgba(17,20,24,.28)}
.search-dialog{background:var(--nb-page);color:var(--nb-ink);border:1px solid var(--nb-rule-strong);border-radius:8px;box-shadow:0 24px 60px -24px rgba(17,20,24,.55);font-family:var(--nb-ui)}
.search-dialog input{min-height:46px;border:0;border-bottom:1.5px solid var(--nb-ink);border-radius:0;background:var(--nb-page);color:var(--nb-pen);font:500 1.1rem/1.3 var(--nb-ui);padding:10px 4px;box-shadow:none}
.search-dialog input:focus{outline:none;border-bottom-color:var(--nb-pen)}
.search-dialog :is(button,a){font-family:var(--nb-ui);color:var(--nb-ink)}
.search-dialog :is([aria-selected=true],.active,:focus-visible){background:var(--nb-pen-tint);color:var(--nb-pen)}
.search-dialog :is(h2,h3,small){font-family:var(--nb-ui)}
.ws-main{padding-top:0}
#app .practice-sample{background:var(--nb-page);border:1px solid var(--nb-rule-strong);border-left:1px solid var(--nb-rule-strong);border-radius:4px;box-shadow:4px 4px 0 var(--nb-desk);margin-top:16px}
#app .practice-sample small,#app .practice-sample p{color:var(--nb-muted)}
#app .direction-target-marker{display:inline-flex;align-items:center;gap:6px;color:var(--nb-green);font-weight:650}
#app .direction-target-marker::before{content:'✓';font-weight:800}
#app .role-data-graphic rect[fill="#858F97"]{fill:var(--nb-faint)}
#app .role-data-graphic rect[fill="#CF5836"]{fill:var(--nb-pen)}
#app .role-data-graphic text{fill:var(--nb-ink);font-family:var(--nb-ui)}
#app .student-event-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 22px;margin:10px 0 6px;max-width:760px}
#app .student-event-facts>div{min-width:0}
#app .student-event-facts .is-wide{grid-column:1/-1}
#app .student-event-facts dt{font-size:.78rem;font-weight:650;color:var(--nb-muted)}
#app .student-event-facts dd{margin:1px 0 0;color:var(--nb-ink);font-size:.95rem;line-height:1.4;overflow-wrap:anywhere}
.ws-mobile-nav button{border-top:2px solid transparent}
.ws-mobile-nav button:is(.ws-current,[aria-current=page]){color:var(--nb-pen);border-top-color:var(--nb-pen)}
.ws-mobile-nav :is(.ws-current,[aria-current=page]) svg{color:var(--nb-pen)}
@media (max-width:640px){#app :is(.product-row,.home-row,.ws-case-row,.agenda-work,.drill-row)>:is(.button,a.button){justify-self:start}}

/* Legacy card grids become ruled columns: entries separated by a heavy top rule, not boxes. */
#app .grid>.card{background:none;border:0;border-top:2px solid var(--nb-ink);border-radius:0;box-shadow:none;padding:14px 0 6px}
#app .grid>.card .button{margin-top:6px}
#app .badge:not([data-field])::before{content:none}
#app .finance-desk{background:none;border:0;box-shadow:none;padding:0}
#app .scenario-label{display:flex;justify-content:space-between;gap:12px;color:var(--nb-muted);font-weight:650;font-size:.82rem;text-transform:none;letter-spacing:0}
#app .profile-tip :is(span,small):first-child{color:var(--nb-pen)}
#app .start-path{background:var(--nb-page);border:1px solid var(--nb-rule-strong);border-radius:4px;box-shadow:4px 4px 0 var(--nb-desk)}
#app .start-path:hover{border-color:var(--nb-ink)}
#app .start-path:has(:checked){border-color:var(--nb-pen);box-shadow:0 0 0 2px var(--nb-pen)}
#app .start-progress span{background:var(--nb-rule)}
#app .start-progress .is-active{background:var(--nb-ink)}
#app :is(.scenario-paper,.model-reference,.finance-desk details,.model-assumptions){padding:16px 18px}
#app .learning-total strong{color:var(--nb-ink);font-size:2.2rem;font-weight:750}
#app .learning-status{color:var(--nb-muted)}
#app .student-event-list article{flex-wrap:wrap;gap:12px 20px}
#app .student-event-list article>div:first-child{flex:1 1 360px;min-width:0}

/* =====================================================================
   Afterboards-style layer: sidebar app shell, grey canvas, white panels,
   Fredoka headings, orange pills, pastel tags, difficulty dots.
   ===================================================================== */
html,body,.ws-shell,.ws-main{background:var(--nb-canvas)}
#app :where(h1){font-family:var(--nb-display);font-weight:600;font-stretch:100%;letter-spacing:-.01em;font-size:clamp(2rem,1.5rem + 1.6vw,2.6rem);line-height:1.1}
#app :is(.agenda-next,.practice-session) :is(h2,h3),#app .welcome :is(h1,h2){font-family:var(--nb-display);font-weight:600;letter-spacing:-.005em}
#app :where(h2){font-weight:650;font-size:1.25rem}
#app :is(input:where(:not([type=radio],[type=checkbox],[type=range],[type=file])),textarea){color:var(--nb-ink)}
#app :is(input,select,textarea):focus{border-color:var(--nb-orange);box-shadow:0 0 0 3px rgba(245,126,57,.2)}
.nb-mark,.cs-highlight{background:linear-gradient(transparent 50%,var(--nb-mark) 50%,var(--nb-mark) 92%,transparent 92%)}

/* Buttons: orange fill for the action, grey pill for everything secondary. */
#app :is(.button,a.button){border-radius:var(--nb-r);min-height:42px;padding:0 18px;font-weight:650;background:var(--nb-pen);border-color:var(--nb-pen)}
#app :is(.button,a.button):hover{background:var(--nb-pen-hover);border-color:var(--nb-pen-hover)}
#app :is(.button,a.button).secondary{background:var(--nb-desk);border-color:var(--nb-desk);color:#3D3B3B}
#app :is(.button,a.button).secondary:hover{background:#E2E2E2;border-color:#E2E2E2;color:var(--nb-ink)}
body.dark #app :is(.button,a.button).secondary{background:var(--nb-tint);border-color:var(--nb-rule-strong);color:var(--nb-ink)}
#app :is(.button,a.button).text-button{color:var(--nb-pen);background:none;border-color:transparent}

/* Panels: each section is a white rounded card on the grey canvas. */
#app :is(.product-section,.agenda-section,.ws-section,.profile-panel,.roadmap-stage,.practice-revision>details,.student-agenda .agenda-side>section){background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow);padding:clamp(18px,2.2vw,24px);margin:0 0 16px}
#app .card{border-radius:var(--nb-r-lg);border:1px solid var(--nb-rule);box-shadow:var(--nb-shadow)}
#app .grid>.card{background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow);padding:20px}
.ws-heading,.agenda-heading{border-bottom:0;padding-bottom:0;margin-bottom:22px}

/* The next step: a white card with an orange edge and a pill action. */
#app :is(.agenda-next,.practice-session){background:var(--nb-page);border:1px solid var(--nb-rule);border-left:5px solid var(--nb-orange);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow);padding:22px 24px;margin:0 0 18px}
#app :is(.agenda-next,.practice-session) .agenda-label{color:var(--nb-pen)}

/* Rows: hairline list inside the panel; each row ends with a compact orange pill. */
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row){border-bottom:1px solid var(--nb-rule);padding:13px 2px}
#app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row) :is(.button,a.button):not(.text-button){min-height:32px;padding:0 14px;border-radius:8px;font-size:.88rem;background:var(--nb-pen);border-color:var(--nb-pen);color:#fff}
body.dark #app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row) :is(.button,a.button):not(.text-button){color:#1A0E07}
#app .cs-level{display:inline-flex;gap:3px;align-items:center;margin-right:10px;vertical-align:middle}
#app .cs-level i{width:7px;height:7px;border-radius:50%;background:var(--nb-rule-strong)}
#app .cs-level[data-level="1"] i:nth-child(-n+1),#app .cs-level[data-level="2"] i:nth-child(-n+2),#app .cs-level[data-level="3"] i:nth-child(-n+3){background:var(--nb-orange)}

/* Tags: pastel pills, like topic and genre tags. */
#app :is(.badge,.case-file-label,.ws-case-state,.student-source-type){border:0;border-radius:999px;background:var(--nb-desk);color:#3D3B3B;padding:2px 10px}
body.dark #app :is(.badge,.ws-case-state,.student-source-type){background:var(--nb-tint);color:var(--nb-ink-2)}
#app [data-field]{border-radius:999px;padding:2px 10px}
#app [data-field]::before{display:none}
#app [data-field=Finance]{background:var(--nb-green-tint);color:var(--nb-finance)}
#app [data-field=Analytics]{background:#EEEAFE;color:var(--nb-analytics)}
#app [data-field=Consulting]{background:var(--nb-pen-tint);color:var(--nb-consulting)}
body.dark #app [data-field=Analytics]{background:#2A2545}
#app .case-file-label{background:var(--nb-pen-tint);color:var(--nb-pen)}
#app .direction-target-marker{background:var(--nb-green-tint);border-radius:999px;padding:3px 10px}

/* Tabs: bold words with a thick orange underline. */
#app :is(.editorial-tabs,.comp-tabs) :is([aria-pressed=true],[aria-selected=true],.active,[aria-current=page])::after,#app :is(.editorial-tabs,.comp-tabs) .button:not(.secondary)::after{height:4px;background:var(--nb-orange);border-radius:4px 4px 0 0}
#app :is(.editorial-tabs,.comp-tabs) button{font-size:1rem}
.ws-context>:is([aria-current=page],.ws-current){color:var(--nb-ink)}
.ws-context>:is([aria-current=page],.ws-current)::after{height:4px;background:var(--nb-orange);border-radius:4px 4px 0 0}
.ws-context{background:var(--nb-canvas);border-bottom:1px solid var(--nb-rule)}
.ws-context>button,.ws-context>a{font-size:1rem}

/* Notices and empty states. */
#app .notice{border-left:0;border-radius:var(--nb-r);background:var(--nb-green-tint);color:var(--nb-green);font-weight:600}
#app :is(.ws-empty,.empty){border:1.5px dashed var(--nb-rule-strong);border-radius:var(--nb-r-lg);background:var(--nb-page);padding:20px 22px}
#app :is(.ws-empty,.empty)::before{content:'';display:block;width:52px;height:14px;margin-bottom:6px;background:radial-gradient(circle at calc(100% - 7px) 50%,var(--nb-page) 0 3px,var(--nb-pen) 3.5px 7px,transparent 7.5px),linear-gradient(90deg,var(--nb-pen) 0 50%,transparent 50%) 0 50%/12px 4px repeat-x;background-clip:padding-box}
#app :is(.role-working-paper,.case-exhibit,.quiz-exhibit,.scenario-paper,.reader-art,.model-reference,.exhibit,.practice-sample,.start-path){border:1px solid var(--nb-rule);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow)}
#app .start-path:has(:checked){border-color:var(--nb-orange);box-shadow:0 0 0 2px var(--nb-orange)}
#app .start-progress .is-active{background:var(--nb-orange)}
#app th{border-bottom:1px solid var(--nb-rule-strong);background:var(--nb-tint)}
#app :is(.product-table-scroll,.ws-table-scroll,.model-table-wrap){background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r)}
.ws-account>summary,.ws-account>button{background:var(--nb-pen-tint);color:var(--nb-pen);border:0}
.ws-mobile-nav button:is(.ws-current,[aria-current=page]){color:var(--nb-pen);border-top-color:var(--nb-orange)}

/* ---------- Desktop: left sidebar ---------- */
.ws-masthead nav button[data-view]::before{content:'';width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--cs-icon) center/contain no-repeat;mask:var(--cs-icon) center/contain no-repeat}
.ws-masthead nav [data-view=dashboard]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5 12 4l8.5 6.5V20h-5.5v-5.5h-6V20H3.5z'/%3E%3C/svg%3E")}
.ws-masthead nav [data-view=explore]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m15.5 8.5-2 5-5 2 2-5z'/%3E%3C/svg%3E")}
.ws-masthead nav [data-view=practice]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E")}
.ws-masthead nav [data-view=applications]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5h6v2.5M3.5 12.5h17'/%3E%3C/svg%3E")}
.ws-masthead nav [data-view=evidence]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'%3E%3Cpath d='M3.5 6.5h6l2 2h9v10.5h-17z'/%3E%3C/svg%3E")}
@media (min-width:1024px){
 .ws-shell{display:grid;grid-template-columns:244px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
 .ws-masthead{grid-column:1;grid-row:1/span 3;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:16px 12px;background:var(--nb-page);border-right:1px solid var(--nb-rule);border-bottom:0;min-height:0}
 .ws-brand{padding:4px 8px 12px;font-family:var(--nb-display);font-weight:600;font-size:1.3rem;letter-spacing:0}
 .ws-tools{display:contents}
 .ws-search{order:1;width:100%;justify-content:space-between;margin:0 0 10px;background:var(--nb-tint);border:1px solid var(--nb-rule);border-radius:8px}
 .ws-search>span{display:inline}
 .ws-search::before{content:none}
 .ws-masthead>nav{order:2;display:flex;flex-direction:column;align-items:stretch;gap:2px;align-self:stretch}
 .ws-masthead nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:0;height:auto;padding:10px 12px;border-radius:8px;font-size:1rem;font-weight:600;color:var(--nb-ink-2);text-align:left}
 .ws-masthead nav button:hover{background:var(--nb-tint);color:var(--nb-ink)}
 .ws-masthead nav :is(.ws-current,[aria-current=page]){background:var(--nb-desk);color:var(--nb-ink)}
 body.dark .ws-masthead nav :is(.ws-current,[aria-current=page]){background:var(--nb-tint)}
 .ws-masthead nav :is(.ws-current,[aria-current=page])::after{display:none}
 .ws-account{order:3;margin-top:auto;position:relative}
 .ws-account>div{bottom:calc(100% + 8px);top:auto;left:0;right:auto}
 .ws-context{grid-column:2;grid-row:1;position:sticky;top:0;z-index:5;padding:0 var(--nb-gutter)}
 .ws-main{grid-column:2;grid-row:2}
 .ws-mobile-title,.ws-mobile-search{display:none}
}
/* Tablet keeps the compact top bar; the icons stay hidden there. */
@media (max-width:1023px){.ws-masthead nav button[data-view]::before{display:none}}
#app :is(.button,a.button).text-button,.ws-main a:not(.button),#app .learning-index-link,#app .learning-tabs span{color:#2B4BEE}
body.dark #app :is(.button,a.button).text-button,body.dark .ws-main a:not(.button){color:var(--nb-pen)}
#app :is(.case-file-label,[data-field=Consulting],.quiz-kicker){color:#2440D6}
body.dark #app :is(.case-file-label,[data-field=Consulting],.quiz-kicker){color:var(--nb-pen)}
#app :is(.profile-tip span,.session-current){color:#2B4BEE}
body.dark #app :is(.product-row,.home-row,.ws-case-row,.quiz-round-row,.agenda-work,.drill-row,.case-row-actions) :is(.button,a.button):not(.text-button){background:var(--nb-pen);border-color:var(--nb-pen);color:#1A0E07}
body.dark #app :is(.profile-tip span,.session-current){color:var(--nb-pen)}
@media (max-width:767px){#app .student-event-list article{display:block}#app .student-event-list article>*{max-width:100%}#app .student-event-facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
#app .cs-week{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:-8px 0 20px}
#app .cs-week .cs-today{margin:0}
#app .cs-week ol{display:flex;gap:8px;list-style:none;margin:0;padding:0}
#app .cs-week li{display:grid;justify-items:center;gap:4px;font-size:.72rem;font-weight:700;color:var(--nb-muted)}
#app .cs-week i{width:26px;height:26px;border-radius:50%;background:var(--nb-desk);border:2px solid transparent}
#app .cs-week li.is-done i{background:var(--nb-orange);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
#app .cs-week li.is-today i{border-color:var(--nb-ink)}
.cs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.welcome-window-wrap .welcome-window-body{padding-bottom:20px}}
@media (max-width:1023px){.ws-masthead .ws-streak{display:none}}
/* Area illustrations and milestones */
.ws-heading{position:relative}
#app .cs-spot{width:clamp(140px,16vw,200px);height:auto;margin-left:auto;align-self:center}
@media (max-width:767px){#app .cs-spot{display:none}}
@media (prefers-reduced-motion:no-preference){#app .cs-spot{animation:cs-float 6s ease-in-out infinite}}
@keyframes cs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
#app .cs-badges{background:var(--nb-page);border:1px solid var(--nb-rule);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow);padding:20px;margin:0 0 16px}
#app .cs-badges header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
#app .cs-badges header span{font-weight:700;color:var(--nb-muted)}
#app .cs-badges ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#app .cs-badges li{display:grid;justify-items:center;text-align:center;gap:2px;padding:10px 4px;border-radius:12px;background:var(--nb-tint)}
#app .cs-badges li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--nb-desk);font-size:1.3rem;filter:grayscale(1);opacity:.55}
#app .cs-badges li.is-earned>span{background:#EAEEFF;filter:none;opacity:1;box-shadow:0 0 0 3px #3D5BFF}
#app .cs-badges b{font-size:.78rem;line-height:1.2}
#app .cs-badges small{font-size:.7rem;line-height:1.2;color:var(--nb-muted)}
#app .cs-badges>p{margin:10px 0 0;font-size:.8rem;color:var(--nb-muted)}
@media (prefers-reduced-motion:no-preference){#app .cs-badges li.is-earned>span{animation:cs-pop .6s cubic-bezier(.3,1.6,.5,1) both}}
/* Homepage: clickable scene, chai-stall simulator, celebration */
.welcome-scene-wrap{position:relative;z-index:1}
.welcome-hotspot{position:absolute;top:36%;height:50%;border-radius:18px;display:flex;align-items:flex-start;justify-content:center;text-decoration:none;outline-offset:4px}
.welcome-hotspot span{margin-top:-18px;padding:6px 12px;border-radius:999px;background:#fff;color:var(--nb-ink);font:600 .9rem/1 var(--nb-display);box-shadow:0 8px 20px -10px rgba(0,0,0,.45);opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;pointer-events:none}
.welcome-hotspot:is(:hover,:focus-visible) span{opacity:1;transform:none}
.welcome-hotspot:is(:hover,:focus-visible){background:rgba(255,255,255,.14)}
@media (hover:none){.welcome-hotspot span{opacity:1;transform:none;font-size:.72rem;padding:4px 8px}}
@media (max-width:640px){.welcome-hotspot span{display:none}}
.welcome-play{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(40px,6vw,80px);padding:clamp(22px,3vw,36px);background:#fff;border:3px solid #2D2A26;border-radius:22px;box-shadow:10px 10px 0 #FFD94A}
.welcome-play small{display:block;font-weight:700;margin-bottom:4px}
#app .welcome-play h2{font:600 clamp(1.9rem,1.3rem + 2vw,2.7rem)/1.05 var(--nb-display);margin:0 0 12px}
#app .welcome-play p{font-size:1.08rem;margin:0 0 18px;color:#2B2B2E}
#app .welcome-play p b{color:#2B4BEE}
.welcome-play label{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;margin:0 0 16px;font-weight:650;color:var(--nb-ink)}
.welcome-play output{font:600 1.15rem/1 var(--nb-display);color:#2B4BEE}
.welcome-play input[type=range]{grid-column:1/-1;width:100%;accent-color:#3D5BFF;height:28px;cursor:pointer}
.welcome-play-board{background:#F8F8F8;border-radius:16px;padding:20px}
.welcome-sim-bars{display:grid;gap:14px}
.welcome-sim-bars>div{display:grid;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center;gap:12px;font-weight:650}
.welcome-sim-bars i{height:26px;border-radius:8px;width:var(--w);transition:width .35s cubic-bezier(.2,.8,.2,1);border:2px solid #2D2A26}
.welcome-sim-bars .is-in{background:#9AD3F5}.welcome-sim-bars .is-out{background:#FFD3B5}.welcome-sim-bars .is-keep{background:#7FCB8A}.welcome-sim-bars .is-lose{background:#F28B82}
.welcome-sim-bars b{text-align:right;font-variant-numeric:tabular-nums}
#app .welcome-sim-says{margin:16px 0 0;font-size:1rem;color:#2B2B2E}
#app .welcome-sim-says b{color:var(--nb-ink)}
body.dark .welcome-play{background:var(--nb-page);border-color:var(--nb-rule-strong);box-shadow:10px 10px 0 #5A4E12}
body.dark .welcome-play-board{background:var(--nb-tint)}
body.dark #app :is(.welcome-play p,.welcome-sim-says){color:var(--nb-ink-2)}
@media (max-width:860px){.welcome-play{grid-template-columns:1fr}.welcome-sim-bars>div{grid-template-columns:76px minmax(0,1fr) 76px}}
.welcome-case-answers{position:relative}
.welcome-confetti{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none}
.welcome-confetti i{position:absolute;width:8px;height:12px;border-radius:2px;animation:cs-confetti 1.1s cubic-bezier(.2,.7,.4,1) forwards}
@keyframes cs-confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),calc(var(--y) + 160px)) rotate(var(--r));opacity:0}}
body.dark #app .cs-badges li.is-earned>span{background:var(--nb-pen-tint)}
/* Homepage additions kept from the live page: hero actions, step strip, sign-in checklist */
.welcome-hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
#app .welcome-hero-cta .button{min-height:50px;padding:0 26px;border-radius:999px;font-size:1.05rem;box-shadow:0 10px 24px -12px rgba(150,60,10,.7)}
.welcome-chip.is-light{background:rgba(255,255,255,.85);display:inline-flex;align-items:center;min-height:50px;padding:0 22px;font-size:1rem}
@media (max-width:760px){.welcome-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-steps::before{display:none}}
#app :is(.welcome-nav nav a,.welcome-login-link,.welcome-brand,.welcome-footer a,.welcome-steps a){color:var(--nb-ink)}
#app .welcome-nav nav a{color:#3D3B3B}
#app :is(.welcome-nav nav a,.welcome-login-link):hover{color:#2B4BEE}
#app .welcome-chip{color:#262626}
body.dark #app :is(.welcome-nav nav a,.welcome-login-link,.welcome-brand,.welcome-footer a,.welcome-steps a,.welcome-chip){color:var(--nb-ink)}
body.dark #app .welcome .button,body.dark #app .welcome .button:hover{color:#1A0E07}
body.dark #app .welcome-chip,body.dark #app .welcome-chip.is-light{background:var(--nb-tint);color:var(--nb-ink);border:1px solid var(--nb-rule-strong)}

body.dark #app :is(.welcome-play p b,.welcome-play output,.welcome-sim-says b,.welcome-stage p b){color:var(--nb-pen)}
body.dark .welcome-case-tabs button{color:var(--nb-muted)}
body.dark .welcome-case-tabs button[aria-pressed=true]{color:var(--nb-ink)}
body.dark .welcome-case-answers fieldset>button{background:var(--nb-tint);border-color:var(--nb-rule-strong);color:var(--nb-ink)}
body.dark .welcome-case-answers fieldset>button>span{background:var(--nb-page);border-color:var(--nb-rule-strong);color:var(--nb-ink)}
body.dark .welcome-case-answers fieldset>button.is-correct{background:var(--nb-green-tint);border-color:var(--nb-green)}
body.dark .welcome-case-answers fieldset>button.is-retry{background:var(--nb-pen-tint);border-color:var(--nb-pen)}
body.dark :is(.welcome-equation span,.welcome-mini-list li){border-color:var(--nb-rule);background:transparent}
/* Hero v3: readable headline on a deeper sky, scene sized to fit the first screen, rotating subject. */
.welcome-sky{background:linear-gradient(180deg,#1E7FD0 0%,#3D9BE3 30%,#8ED0F7 62%,#DDF2FE 85%,#FFFFFF 100%)}
.welcome-intro{padding-top:clamp(28px,5vw,64px)}
#app .welcome-intro h1{text-shadow:0 3px 0 rgba(10,60,110,.45),0 12px 34px rgba(10,60,110,.35)}
.welcome-pill{background:rgba(255,255,255,.22);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.welcome-hint{margin:14px 0 0;color:#0E3D66;font-weight:700;font-size:.95rem}
.welcome-scene{width:min(1120px,100%);margin-inline:auto;max-height:none}
.welcome-rotate{display:inline-grid;vertical-align:bottom;text-align:left}
.welcome-rotate b{grid-area:1/1;font-weight:inherit;color:#FFE58A}
.welcome-rotate b:not(:first-child){opacity:0}
@media (prefers-reduced-motion:no-preference){
 .welcome-rotate b{opacity:0;animation:cs-word 12.5s infinite both}
 .welcome-rotate b:nth-child(2){animation-delay:2.5s}.welcome-rotate b:nth-child(3){animation-delay:5s}.welcome-rotate b:nth-child(4){animation-delay:7.5s}.welcome-rotate b:nth-child(5){animation-delay:10s}
}
@keyframes cs-word{0%{opacity:0;transform:translateY(.35em)}4%,18%{opacity:1;transform:none}22%,100%{opacity:0;transform:translateY(-.35em)}}
body.dark .welcome-hint{color:#DCEFFF}
@media (max-width:640px){.welcome-hint{display:none}}
#app .welcome-intro h1 span,#app .welcome-intro h1 b{font-family:inherit;font-weight:inherit;letter-spacing:inherit}
.welcome-sky{background:linear-gradient(180deg,#1C78C8 0%,#2A86D4 38%,#7EC8F5 64%,#DDF2FE 86%,#FFFFFF 100%)}

/* ---------- Homepage v4: a walk through the town ---------- */
/* Icons (public/icons.js): flat accent fill printed slightly off a 2px outline. Used site-wide instead of emoji. */
.cs-icon{display:inline-block;flex:none;vertical-align:-.2em;overflow:visible}
.cs-icon-fill{fill:var(--icon-fill,#FFD94A)}
.cs-icon-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.dark .cs-icon-fill{fill:var(--icon-fill-dark,#6B5714)}
.cs-stop{flex:none;width:44px;height:44px}
.cs-stop-bg{fill:#fff;stroke:#2D2A26;stroke-width:2}
body.dark .cs-stop-bg{fill:var(--nb-page);stroke:var(--nb-rule-strong)}

.welcome{--band-college:#FFF1E6;--band-library:#FFF8E6;--band-office:#EAF5FE;--band-startup:#F3EFFF;--dusk-1:#1B3A63;--dusk-2:#12263F;--acc-college:#EF8A54;--acc-library:#E9B949;--acc-office:#3E7FBF;--acc-startup:#8E73E8;overflow-x:clip}
body.dark .welcome{--band-college:#2A1F18;--band-library:#29251A;--band-office:#172433;--band-startup:#221D33;--dusk-1:#0C1828;--dusk-2:#08111C}
.welcome [tabindex="-1"]:focus{outline:none}
@media (prefers-reduced-motion:no-preference){html:has(.welcome){scroll-behavior:smooth}}
.welcome :is(section,[id]){scroll-margin-top:16px}

/* Hero details */
.welcome-hint{display:flex;align-items:center;justify-content:center;gap:6px}
.welcome-hint .cs-icon{--icon-fill:#FFE58A}
.welcome-theme{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1.5px solid var(--nb-rule-strong);background:transparent;color:var(--nb-ink);cursor:pointer}
.welcome-theme:hover{background:var(--nb-tint)}
.welcome-motion{position:absolute;right:max(12px,calc((100% - 1120px) / 2));bottom:14px;z-index:3;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;border:2px solid #2D2A26;background:#fff;color:#2D2A26;cursor:pointer;box-shadow:3px 3px 0 #FFD94A}
.welcome-motion .cs-icon{--icon-fill:#FFD94A}
body.dark .welcome-motion{background:var(--nb-page);color:var(--nb-ink);border-color:var(--nb-rule-strong)}
@media (pointer:coarse){.welcome-motion{width:44px;height:44px}}
.cs-motion-paused .welcome *,.cs-motion-paused .welcome *::before,.cs-motion-paused .welcome *::after{animation-play-state:paused!important}
.welcome-sky.is-offscreen .welcome-scene-svg *{animation-play-state:paused}
@media (max-width:640px){
 .welcome-hint{display:flex;font-size:.9rem}
 .welcome-theme{margin-left:auto;width:36px;height:36px}
 #app .welcome-nav .welcome-login-link{margin-left:0}
 .welcome-scene,.welcome-scene-svg{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;object-position:50% 100%;margin-top:6px}
}

/* Quick starts: three doors into the page */
.welcome-floats a:nth-child(1){--fl:#FFB08A}.welcome-floats a:nth-child(2){--fl:#F7D27A}.welcome-floats a:nth-child(3){--fl:#C9B8FF}
@media (prefers-reduced-motion:no-preference){
 .welcome-floats a:nth-child(2){animation-delay:.08s}.welcome-floats a:nth-child(3){animation-delay:.16s}
}
@media (max-width:767px){.welcome-floats{grid-template-columns:1fr;gap:10px;margin-top:0}.welcome-floats a{padding:11px 14px;box-shadow:4px 4px 0 var(--fl)}.welcome-float-icon{width:44px;height:44px}.welcome-float-icon .cs-icon{width:26px;height:26px}}

/* Live counts: one slim strip, numbers only from real content */
.welcome-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 0;padding:6px 0 clamp(30px,4vw,48px)}
.welcome-stats>div{display:flex;align-items:baseline;gap:8px;padding:0 18px;border-left:1.5px solid var(--nb-rule-strong)}
.welcome-stats>h2+div{padding-left:0;border-left:0}
.welcome-stats strong{display:inline;font:600 1.8rem/1 var(--nb-display)}
.welcome-stats span{font-size:.95rem;color:var(--nb-muted)}
@media (max-width:640px){.welcome-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.welcome-stats>div{padding:0;border:0;flex-direction:column;gap:2px}#app .welcome-stats-title{grid-column:1/-1}}

/* Bands: each section is a stop on the path, coloured after its building; hills mark the joins */
.welcome{background:var(--nb-page)}
body.dark .welcome{background:var(--nb-canvas,#111214)}
.welcome-band{--band:#fff;position:relative;background:var(--band);padding-block:clamp(44px,6vw,80px);margin-top:44px}
#app .welcome :is(h1,h2,h3){text-wrap:balance}
.welcome-band::before{content:'';position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:44px;background:var(--band);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'><path d='M0 44V28C200 6 420 0 640 14s420 30 620 14c80-6 140-14 180-12V44z'/></svg>") center bottom/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'><path d='M0 44V28C200 6 420 0 640 14s420 30 620 14c80-6 140-14 180-12V44z'/></svg>") center bottom/100% 100% no-repeat}
.welcome-band.is-library::before,.welcome-band.is-startup::before{transform:scaleX(-1)}
.welcome-band.is-college{--band:var(--band-college);--acc:var(--acc-college)}
.welcome-band.is-library{--band:var(--band-library);--acc:var(--acc-library)}
.welcome-band.is-office{--band:var(--band-office);--acc:var(--acc-office)}
.welcome-band.is-startup{--band:var(--band-startup);--acc:var(--acc-startup)}
.welcome-band+.welcome-band{margin-top:0}

/* Section heads: one pattern everywhere — building badge, kicker, title, one line */
.welcome-section-head{display:flex;align-items:flex-start;gap:16px;margin:0 0 clamp(22px,3vw,34px);max-width:860px}
.welcome-section-head .cs-stop{margin-top:2px}
.welcome-section-head small{display:inline-block;margin-bottom:8px;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--acc,#3D5BFF) 22%,transparent);color:var(--nb-ink);font:600 .95rem/1.2 var(--nb-display)}
#app .welcome-section-head h2{font:600 clamp(2rem,1.4rem + 2vw,2.8rem)/1.05 var(--nb-display);letter-spacing:-.01em;margin:0 0 8px;color:var(--nb-ink)}
#app .welcome-section-head p{margin:0;font-size:1.1rem;line-height:1.55;color:var(--nb-ink-2);max-width:60ch}
@media (max-width:560px){.welcome-section-head{gap:12px}.welcome-section-head .cs-stop{width:36px;height:36px}}

/* Find your fit: Compass dial and a day in the life inside the College band */
.welcome .cs-compass{margin:0;padding:0}
.welcome .cs-day{margin:clamp(40px,6vw,72px) 0 0;width:auto}
.welcome .cs-compass.welcome-width,.welcome .cs-day.welcome-width{width:auto}
#app .welcome .cs-compass-intro h3,#app .cs-day-head h3{font:600 1.7rem/1.1 var(--nb-display);margin:0 0 8px;color:var(--nb-ink)}
.welcome-slot{min-height:420px}.welcome-slot.is-day{min-height:520px}.welcome-slot.is-comps{min-height:900px}
.cs-dial{display:block;width:min(200px,62%);height:auto;margin-top:6px;overflow:visible}
.cs-compass.is-app .cs-dial{width:120px}
.cs-dial-face{fill:#FFF7E6;stroke:#2D2A26;stroke-width:4}
.cs-dial-ring{fill:none;stroke:#2D2A26;stroke-width:1.5;stroke-dasharray:3 6;opacity:.45}
.cs-dial-tick{stroke:#2D2A26;stroke-width:3;stroke-linecap:round}
.cs-dial-label{font:600 13px var(--nb-display);fill:#2D2A26}
.cs-dial-needle{transform-box:view-box;transform-origin:100px 100px;transform:rotate(var(--deg,0deg))}
.cs-dial-tip{fill:#3D5BFF;stroke:#2D2A26;stroke-width:2.5;stroke-linejoin:round}
.cs-dial-tail{fill:#fff;stroke:#2D2A26;stroke-width:2.5;stroke-linejoin:round}
.cs-dial-cap{fill:#2D2A26}
body.dark .cs-dial-face{fill:#1B2B3A;stroke:#8C9BB0}
body.dark :is(.cs-dial-ring,.cs-dial-tick){stroke:#8C9BB0}
body.dark .cs-dial-label{fill:#E8EEF5}
body.dark .cs-dial-tail{fill:#C9D6E3}
body.dark .cs-dial-cap{fill:#E8EEF5}
@media (prefers-reduced-motion:no-preference){
 .cs-dial-needle{transition:transform .45s cubic-bezier(.3,1.5,.5,1)}
 .is-in .cs-compass.is-idle .cs-dial-needle,.cs-compass.is-app.is-idle .cs-dial-needle{animation:cs-wobble 2.4s ease-in-out 1}
 .cs-compass.is-done .cs-dial-needle{animation:cs-settle .7s ease-out 1}
}
@keyframes cs-wobble{0%,100%{transform:rotate(-24deg)}30%{transform:rotate(16deg)}62%{transform:rotate(-36deg)}}
@keyframes cs-settle{0%{transform:rotate(var(--deg))}35%{transform:rotate(calc(var(--deg) + 9deg))}70%{transform:rotate(calc(var(--deg) - 4deg))}100%{transform:rotate(var(--deg))}}
.cs-compass-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:2px 0 12px}
#app .cs-compass-next .button{border-radius:999px}
.cs-compass-next small{flex-basis:100%;color:var(--nb-muted);font-size:.88rem}
@media (max-width:860px){.cs-compass-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:start}.cs-compass-intro .cs-dial{grid-column:2;grid-row:1/4;width:120px;margin:0}}
@media (max-width:420px){.cs-compass-intro .cs-dial{width:96px}}

.cs-day-sky{position:relative;height:96px;margin:0 0 18px;border-radius:16px;overflow:hidden;border:2px solid #2D2A26;background:#BFE6FF}
.cs-day-sky i{position:absolute;inset:0}
.cs-day-sky .sky-noon{background:#7EC8F5;opacity:var(--noon,0)}
.cs-day-sky .sky-eve{background:linear-gradient(180deg,#F59E6B,#FFD3A8);opacity:var(--eve,0)}
.cs-day-sun{position:absolute;left:calc(6% + var(--day,0) * 76%);bottom:calc(8px + var(--sun-y,0) * 46px);width:30px;height:30px;border-radius:50%;background:#FFD94A;border:2.5px solid #2D2A26;box-shadow:0 0 0 6px rgba(255,217,74,.35)}
body.dark .cs-day-sky{background:#1B2B3A;border-color:var(--nb-rule-strong)}
body.dark .cs-day-sky .sky-noon{background:#24476A}
body.dark .cs-day-sky .sky-eve{background:linear-gradient(180deg,#3B2442,#6A3B3A)}
@media (prefers-reduced-motion:no-preference){.cs-day-sun{transition:left .12s linear,bottom .12s linear}.cs-day-sky i{transition:opacity .12s linear}}
.cs-day-emoji{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:16px;background:#FFF1E6;color:#2D2A26}
body.dark .cs-day-emoji{background:var(--nb-pen-tint);color:var(--nb-ink)}
.cs-day-line button span{color:#2D2A26}
body.dark .cs-day-line button span{color:var(--nb-ink)}

/* Try it now */
.welcome-try-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);align-items:start}
.welcome-try-card{--shadow:#F7D27A;min-width:0;background:#fff;border:3px solid #2D2A26;border-radius:22px;padding:clamp(18px,2.4vw,28px);box-shadow:8px 8px 0 var(--shadow)}
.welcome-try-card#play{--shadow:#9AD3F5}
#app .welcome-try-card>h3{display:flex;align-items:center;gap:10px;font:600 1.45rem/1.2 var(--nb-display);margin:0 0 14px;color:var(--nb-ink)}
#app .welcome-try-lede{margin:0 0 6px;font-size:1.02rem;color:var(--nb-ink-2)}
#app .welcome-try-lede b{color:var(--nb-ink)}
body.dark .welcome-try-card{background:var(--nb-page);border-color:var(--nb-rule-strong);box-shadow:8px 8px 0 color-mix(in srgb,var(--shadow) 30%,#000)}
@media (max-width:959px){.welcome-try-grid{grid-template-columns:1fr}}
.welcome-picked{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:var(--band-college);font-weight:650;font-size:.88rem;color:var(--nb-ink)}
#app .welcome-case-copy .welcome-picked{font-size:.88rem}
.welcome-clip{position:relative;margin-top:12px;padding:22px 16px 14px;background:#FFFDF6;border:2px solid #2D2A26;border-radius:10px;transform:rotate(-.6deg);box-shadow:3px 4px 0 rgba(45,42,38,.12)}
.welcome-clip::before{content:'';position:absolute;top:-11px;left:50%;width:64px;height:18px;margin-left:-32px;border-radius:6px;background:#B9B4AB;border:2px solid #2D2A26}
body.dark .welcome-clip{background:var(--nb-tint);border-color:var(--nb-rule-strong)}
body.dark .welcome-clip::before{background:#5A5650;border-color:var(--nb-rule-strong)}
.welcome-feedback{position:relative;min-height:3em}
.welcome-stamp{position:absolute;right:2px;top:-4px;padding:4px 12px;border:3px double #2E7D4F;border-radius:8px;color:#2E7D4F;font:700 1.1rem/1 var(--nb-display);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-6deg);background:rgba(255,255,255,.75)}
body.dark .welcome-stamp{color:#7FD1A0;border-color:#7FD1A0;background:transparent}
#app .welcome-next{margin:8px 0 6px;padding:10px 12px;border-radius:12px;background:var(--band-library);border:1.5px dashed #C99A2E;font-weight:600;color:var(--nb-ink)}
#app .welcome-next a{font-weight:700}
.welcome-case-answers fieldset>button>strong{display:grid;place-items:center}
.welcome-case-answers fieldset>button.is-correct>strong{color:#16794C}
.welcome-case-answers fieldset>button.is-retry>strong{color:#2440D6}
@media (prefers-reduced-motion:no-preference){.welcome-stamp{animation:cs-stamp .26s cubic-bezier(.3,1.4,.5,1) both}}
@keyframes cs-stamp{from{opacity:0;transform:scale(1.8) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(-6deg)}}

/* The chai stall */
.welcome-stall-wrap{margin:2px 0 10px}
.welcome-stall{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}
.stall-awn-a{fill:#3D5BFF}.stall-awn-b{fill:#FFF7E6}
.stall-board{fill:#2D4A3E}.stall-price{fill:#fff;font:600 22px var(--nb-display)}
.stall-counter{fill:#FFE2C7}.stall-band{fill:#F7D27A}.stall-kettle{fill:#9AD3F5}
.stall-cup{fill:#fff}.stall-box{fill:#C9572B}.stall-coin{fill:#FFD94A}.stall-bulb-glass{fill:#FFF3B0}
.stall-loss rect{fill:#FFE1DE}.stall-loss text{fill:#A12A1F;font:700 12px var(--nb-ui)}
.stall-steam{opacity:.45}
body.dark .stall-counter{fill:#5A4636}body.dark .stall-band{fill:#8A6D24}body.dark .stall-awn-b{fill:#E8E0D0}
body.dark .stall-bulb-glass{fill:#FFE58A;filter:drop-shadow(0 0 8px #FFD94A)}
body.dark .welcome-stall g[stroke]{stroke:#D9D0BF}
@media (prefers-reduced-motion:no-preference){
 .stall-cup.is-new{transform-box:fill-box;transform-origin:center bottom;animation:cs-pop-in .18s ease-out both;animation-delay:calc(max(var(--i,0),0) * 40ms)}
 .stall-coin.is-new{transform-box:fill-box;animation:cs-coin .32s cubic-bezier(.3,1.5,.5,1) both}
}
@keyframes cs-pop-in{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes cs-coin{from{transform:translateY(-20px);opacity:0}to{transform:none;opacity:1}}
.welcome-slider{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;margin:0 0 14px;font-weight:650;color:var(--nb-ink)}
.welcome-slider output{font:600 1.15rem/1 var(--nb-display);color:#2B4BEE}
body.dark .welcome-slider output{color:var(--nb-pen)}
.welcome-slider input[type=range]{grid-column:1/-1;width:100%;accent-color:#3D5BFF;height:28px;margin:0;cursor:pointer}
.welcome-be-track{grid-column:1/-1;position:relative;display:block;padding-top:24px}
.welcome-be{position:absolute;top:0;left:calc(10px + (100% - 20px) * var(--atn,0));transform:translateX(-50%);display:grid;justify-items:center;pointer-events:none}
.welcome-be small{font:700 .75rem/1 var(--nb-ui);color:#16794C;background:#E2FEF4;padding:3px 6px;border-radius:6px;white-space:nowrap}
.welcome-be i{width:2px;height:7px;background:#16794C}
.welcome-be.is-none{display:none}
body.dark .welcome-be small{background:var(--nb-green-tint);color:var(--nb-green)}
@media (prefers-reduced-motion:no-preference){.welcome-be{transition:left .15s ease}}
.welcome-sim-bars i.is-in,.welcome-sim-bars i.is-out,.welcome-sim-bars i.is-keep,.welcome-sim-bars i.is-lose{position:relative;width:100%;height:24px;border:0;border-radius:8px;background:#EFEFEF;overflow:hidden;transition:none}
.welcome-sim-bars i::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--fill);transform:scaleX(var(--s,.02));transform-origin:left center}
.welcome-sim-bars i.is-in{--fill:#7FBFEA}.welcome-sim-bars i.is-out{--fill:#FFB98C}.welcome-sim-bars i.is-keep{--fill:#6CC07A}.welcome-sim-bars i.is-lose{--fill:#EE7D73}
body.dark .welcome-sim-bars i.is-in,body.dark .welcome-sim-bars i.is-out,body.dark .welcome-sim-bars i.is-keep,body.dark .welcome-sim-bars i.is-lose{background:var(--nb-desk)}
@media (prefers-reduced-motion:no-preference){.welcome-sim-bars i::before{transition:transform .2s ease-out}}
.welcome-play-board{background:var(--nb-tint);border-radius:16px;padding:16px}
#app .welcome-sim-says{margin:14px 0 0;font-size:1rem;color:var(--nb-ink-2)}

/* How it works: a stepper on the office stop */
@media (prefers-reduced-motion:no-preference){.welcome-how-steps::after{transition:height .3s ease}}
@keyframes cs-timer{to{transform:scaleX(1)}}
::view-transition-old(how-panel),::view-transition-new(how-panel){animation-duration:.25s}
@media (max-width:1023px){.welcome-how-grid{grid-template-columns:1fr}.welcome-how-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.welcome-how-steps::before,.welcome-how-steps::after{display:none}.welcome-how-steps button{grid-template-columns:1fr;grid-template-rows:auto;justify-items:center;text-align:center;row-gap:6px;padding:10px 6px}.welcome-how-steps button>span{grid-row:auto}.welcome-how-steps small{display:none}}
@media (max-width:860px){.welcome-how-panel{grid-template-columns:1fr}}
@media (max-width:560px){.welcome-how-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-how-steps b{font-size:1.05rem}}

/* Competitions on the startup stop */
.welcome .cs-comps{margin:0 auto}
.welcome .cs-comp-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;max-width:100%}
.welcome .cs-comp-chips::-webkit-scrollbar{display:none}
.welcome .cs-comp-filters{min-width:0}
.cs-comp-star .cs-icon{--icon-fill:transparent}
.cs-comp-star.is-on .cs-icon{--icon-fill:#FFD94A;color:#8A5A00}
@media (prefers-reduced-motion:no-preference){.cs-comp-star.is-on .cs-icon{animation:cs-pop .25s cubic-bezier(.3,1.6,.5,1)}}

/* What's real */
.welcome-real h3 .cs-icon{--icon-fill:#C9E7FB}

/* Sign-up: the hilltop at dusk */
.welcome-band.is-dusk{--band:linear-gradient(180deg,var(--dusk-1),var(--dusk-2));background:linear-gradient(180deg,var(--dusk-1),var(--dusk-2));color:#fff;padding-bottom:0}
.welcome-band.is-dusk::before{background:var(--dusk-1)}
.welcome-band.is-dusk .welcome-account{position:relative;z-index:1;padding-top:0}

.welcome-hilltop{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(160px,22vw,260px);pointer-events:none}
.welcome-band.is-dusk .welcome-account{padding-bottom:clamp(150px,20vw,240px)}
.hill-stars circle{fill:#FFF3B0}
.hill-moon{fill:#FFE9A8}
.hill-back{fill:#2B4A6E}.hill-front{fill:#355E3F}
.hill-path{stroke:#B9A577;stroke-width:6;stroke-linecap:round;stroke-dasharray:2 12}
.hill-pole{stroke:#1A1714;stroke-width:4}
.hill-flag{fill:#3D5BFF;stroke:#1A1714;stroke-width:3;stroke-linejoin:round}
.hill-house path{stroke:#1A1714;stroke-width:3;stroke-linejoin:round}
.hill-win{fill:#3A3F55;stroke:#1A1714;stroke-width:2}
.welcome-band.is-dusk:has(.welcome-account.is-in) .hill-win{fill:#FFD86B}
@media (prefers-reduced-motion:no-preference){.welcome-band.is-dusk:has(.welcome-account.is-in) .hill-win{animation:cs-light .3s ease-out both;animation-delay:calc(var(--i) * .15s + .3s)}.hill-flag{transform-box:fill-box;transform-origin:left center}}
@keyframes cs-light{from{fill:#3A3F55}to{fill:#FFD86B}}

/* Toast for the small secret */
.welcome-toast{position:fixed;left:50%;bottom:24px;z-index:70;transform:translateX(-50%);margin:0;padding:10px 18px;border-radius:999px;background:#2D2A26;color:#fff;font:600 .98rem/1.3 var(--nb-display);box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:no-preference){.welcome-toast{animation:cs-rise .3s ease-out both}}

/* Reveal: sections rise once (rules above in Motion keep will-reveal/is-in) */
.welcome .cs-comps.will-reveal{transform:translateY(16px)}

/* Homepage v4: phone fit — the first quick start shows on the first screen */
.cs-comp-chips button{white-space:nowrap;flex:none}
@media (max-width:640px){
 .welcome-nav{gap:8px;padding:8px 8px 8px 12px}
 #app .welcome-nav .button{padding:0 14px;min-height:38px}
 .welcome-nav :is(.button,.welcome-login-link){white-space:nowrap}
 .welcome-hide-xs{display:none}
 .welcome-intro{padding-top:20px}
 #app .welcome-intro h1{font-size:2.3rem;margin-bottom:12px}
 .welcome-pill{font-size:.95rem;padding:6px 14px}
 .welcome-hero-cta{gap:8px;margin-top:14px}
 #app .welcome-hero-cta .button{min-height:46px;padding:0 18px;font-size:1rem}
 .welcome-chip.is-light{min-height:46px;padding:0 16px}
 .welcome-scene,.welcome-scene-svg{aspect-ratio:16/11}
 .cs-dial-label{font-size:16px}
}

/* ---------- Homepage polish: same design, finer details ---------- */
/* Nav: links only where they fit, and nothing wraps */
.welcome-nav :is(nav a,.welcome-login-link,.button){white-space:nowrap}
@media (max-width:1000px){.welcome-nav nav{display:none}.welcome-theme{margin-left:auto}}
/* Pause control sits in the sky, clear of the quick starts */
.welcome-motion{top:10px;bottom:auto}
/* Quick starts: one per row until there is room for three */
@media (max-width:899px){.welcome-floats{grid-template-columns:1fr;gap:10px;margin-top:0}}
/* Live counts: one even row with dividers */
.welcome-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:start}
.welcome-stats>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 18px;border-left:1.5px solid var(--nb-rule-strong)}
.welcome-stats>h2+div{padding-left:0;border-left:0}
.welcome-stats span{line-height:1.35}
@media (max-width:899px){.welcome-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.welcome-stats>div:nth-of-type(4){padding-left:0;border-left:0}}
@media (max-width:640px){.welcome-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.welcome-stats>div{padding:0;border-left:0}}
/* Try it now: both cards end on the same line */
.welcome-try-grid{align-items:stretch}
/* Sliders: a light track that fills up to a chunky thumb, like the rest of the drawings */
.welcome input[type=range]{-webkit-appearance:none;appearance:none;height:28px;background:transparent;cursor:pointer}
.welcome input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;border:1.5px solid #2D2A26;background:linear-gradient(90deg,#3D5BFF var(--pct,50%),#EFEAE2 var(--pct,50%))}
.welcome input[type=range]::-moz-range-track{height:8px;border-radius:999px;border:1.5px solid #2D2A26;background:#EFEAE2}
.welcome input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:#3D5BFF}
.welcome input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9.5px;border-radius:50%;background:#fff;border:3px solid #2D2A26;box-shadow:2px 2px 0 #3D5BFF}
.welcome input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #2D2A26;box-shadow:2px 2px 0 #3D5BFF}
.welcome input[type=range]:focus-visible{outline:3px solid #2B4BEE;outline-offset:4px;border-radius:999px}
body.dark .welcome input[type=range]::-webkit-slider-runnable-track{border-color:#8C9BB0;background:linear-gradient(90deg,#8FA2FF var(--pct,50%),#2C2E33 var(--pct,50%))}
body.dark .welcome input[type=range]::-moz-range-track{border-color:#8C9BB0;background:#2C2E33}
body.dark .welcome input[type=range]::-webkit-slider-thumb{background:var(--nb-page);border-color:#E8EEF5}
body.dark .welcome input[type=range]::-moz-range-thumb{background:var(--nb-page);border-color:#E8EEF5}
/* A day in the life: a little town under a sky that moves through the day */
.cs-day-sky{height:110px;border:2px solid #2D2A26}
.cs-day-scene{position:absolute;inset:0;width:100%;height:100%}
.day-clouds path{fill:#fff;opacity:.85}
.day-town{fill:#8DB8D9;fill:color-mix(in srgb,#8DB8D9 calc((1 - var(--eve,0)) * 100%),#7A5A72)}
.day-trees circle{fill:#8FC19E;fill:color-mix(in srgb,#8FC19E calc((1 - var(--eve,0)) * 100%),#5E6B5A)}
.cs-day-sun{bottom:calc(4px + var(--sun-y,0) * 62px)}
body.dark .cs-day-sky{border-color:var(--nb-rule-strong)}
body.dark .day-clouds path{opacity:.22}
body.dark .day-town{fill:#2B3E55}
body.dark .day-trees circle{fill:#2F4A3A}
/* The chai stall: string lights, a painted menu, a stool */
.stall-shadow{fill:rgba(45,42,38,.12)}
.stall-light{fill:#FFE58A}
.stall-wire{stroke:#2D2A26}
.stall-menu{fill:#8A3F0E;font:700 11px var(--nb-display);letter-spacing:.14em}
body.dark .stall-light{fill:#FFD94A;filter:drop-shadow(0 0 4px #FFD94A)}
body.dark .stall-menu{fill:#FFD3B5}
body.dark .stall-shadow{fill:rgba(0,0,0,.35)}
@media (prefers-reduced-motion:no-preference){.welcome-try.is-in .stall-light{animation:cs-light-on .4s ease-out both;animation-delay:calc(var(--i) * 90ms + .4s)}}
@keyframes cs-light-on{from{fill:#E6DCC8}to{fill:#FFE58A}}
/* Night hilltop: more of a town to come home to */
.hill-tree path{stroke:#1A1714;stroke-width:4}
.hill-tree circle{fill:#24452E;stroke:#1A1714;stroke-width:3}
.hill-glow{fill:rgba(255,233,168,.12)}
.hill-walker{stroke:#F3E7B5;stroke-width:2.5;stroke-linecap:round}
.hill-walker circle{fill:#F3E7B5}
.hill-walker rect{fill:#3D5BFF;stroke:none}
/* Competition cards: the essentials up front, the rest behind one line */
#app .cs-comp-who{margin:0;font-size:var(--fs-sm);color:var(--nb-ink-2)}
#app .cs-comp-key{display:flex;align-items:flex-start;gap:6px;margin:0;font:650 var(--fs-sm)/1.35 var(--nb-ui);color:var(--nb-ink)}
.cs-comp-key .cs-icon{flex:none;margin-top:1px;--icon-fill:#FFD3B5}
.cs-comp-details summary{cursor:pointer;width:max-content;font-weight:650;font-size:var(--fs-sm);color:#2B4BEE;list-style:none}
.cs-comp-details summary::-webkit-details-marker{display:none}
.cs-comp-details summary::after{content:' +'}
.cs-comp-details[open] summary::after{content:' −'}
.cs-comp-details dl{margin-top:8px}
body.dark .cs-comp-details summary{color:var(--nb-pen)}
/* When the latest editions ran: a small histogram, busiest month tallest */
.cs-comp-months{align-items:end}
.cs-comp-months div{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;gap:4px;height:50px}
.cs-comp-months i{width:72%;height:calc(3px + var(--n,0) * 26px);border-radius:4px 4px 2px 2px}
.cs-comp-months .has i{background:#3D5BFF;opacity:calc(.35 + var(--n,0) * .65)}
/* Polish, round 2 */
#app .welcome input[type=range]{border:0;padding:0;margin:0;min-height:0;box-shadow:none;background:transparent;border-radius:0}
.welcome-try-grid{align-items:start}
@media (max-width:480px){.welcome-week li{grid-template-columns:52px minmax(0,1fr)}.welcome-week em{grid-column:2;justify-self:start}}
.hill-glow{filter:blur(12px);opacity:.9}
@media (max-width:560px){.cs-day-line button span{width:28px;height:28px}.cs-day-line button span .cs-icon{width:16px;height:16px}}
body.dark #app .welcome-feedback p{color:var(--nb-ink-2)}
body.dark #app .welcome-feedback p.welcome-next{color:var(--nb-ink);border-color:#7A6326}
/* Live events: when it closes and what the listing says, at a glance */
.student-event-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.student-event-chips span{padding:3px 10px;border-radius:999px;background:var(--nb-tint);color:var(--nb-ink-2);font-size:.8rem;font-weight:650;border:1px solid var(--nb-rule)}
.student-event-chips .is-open{background:#E2FEF4;color:#16794C;border-color:#BDEBD6}
.student-event-chips .is-urgent{background:#EAEEFF;color:#2440D6;border-color:#C9D4FF}
.student-event-chips .is-closed{background:#F3F3F4;color:#5F5F63}
.student-event-chips .is-unknown{background:#EEF2FF;color:#3A4FA8;border-color:#D4DCFB}
body.dark .student-event-chips .is-open{background:var(--nb-green-tint);color:var(--nb-green);border-color:transparent}
body.dark .student-event-chips .is-urgent{background:var(--nb-pen-tint);color:var(--nb-pen);border-color:transparent}
body.dark .student-event-chips :is(.is-closed,.is-unknown){background:var(--nb-tint);color:var(--nb-ink-2);border-color:var(--nb-rule)}
/* Learn mode in practice rounds */
.quiz-confidence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.quiz-confidence>span{font-weight:650;color:var(--nb-ink-2);margin-right:4px}
.quiz-confidence small{font-weight:500;color:var(--nb-muted)}
.quiz-confidence button{padding:6px 14px;border-radius:999px;border:1.5px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-ink);font:650 .9rem/1 var(--nb-ui);cursor:pointer}
.quiz-confidence button[aria-pressed=true]{background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-page)}
.quiz-checked{margin-top:14px}
.quiz-checked:focus{outline:none}
#app .quiz-confidence-note{font-size:.9rem;color:var(--nb-muted)}
.quiz-calibration{margin:0 0 22px;padding:18px 20px;border-radius:16px;border:1px solid var(--nb-rule);background:var(--nb-page)}
#app .quiz-calibration h2{font:600 1.3rem/1.2 var(--nb-display);margin:0 0 6px}
#app .quiz-calibration>p{margin:0 0 12px;color:var(--nb-ink-2)}
.quiz-calibration table{border-collapse:collapse;min-width:260px;font-variant-numeric:tabular-nums}
.quiz-calibration :is(th,td){padding:6px 14px;border-bottom:1px solid var(--nb-rule);text-align:left}
.quiz-calibration td{font-weight:700}
#app .quiz-calibration-tip{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--nb-pen-tint);color:var(--nb-ink);font-weight:600}
/* Focus timer stays out of the way: an icon until you hover or focus it */
.cs-focus>button[data-focus-start]{display:inline-flex;align-items:center;gap:0;padding:10px;min-width:44px;min-height:44px;justify-content:center}
.cs-focus>button[data-focus-start] span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .2s ease,margin .2s ease}
.cs-focus>button[data-focus-start]:is(:hover,:focus-visible) span{max-width:120px;margin-left:6px}
.ws-main>.page{padding-bottom:110px}
/* Interview practice: a live writing guide under the answer */
.interview-coach{margin:-4px 0 14px;padding:12px 14px;border-radius:12px;background:var(--nb-tint);border:1px solid var(--nb-rule)}
.interview-coach-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.92rem;color:var(--nb-ink-2)}
.interview-coach-row b{color:var(--nb-ink)}
.coach-zone{padding:3px 10px;border-radius:999px;font-weight:650;font-size:.82rem}
.coach-zone.is-good{background:#E2FEF4;color:#16794C}.coach-zone:is(.is-short,.is-long){background:#EAEEFF;color:#2440D6}
body.dark .coach-zone.is-good{background:var(--nb-green-tint);color:var(--nb-green)}body.dark .coach-zone:is(.is-short,.is-long){background:var(--nb-pen-tint);color:var(--nb-pen)}
.interview-coach-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.interview-coach-chips span{padding:4px 12px;border-radius:999px;border:1.5px dashed var(--nb-rule-strong);color:var(--nb-muted);font-weight:650;font-size:.85rem}
.interview-coach-chips span.is-on{border-style:solid;border-color:#16794C;background:#E2FEF4;color:#16794C}
body.dark .interview-coach-chips span.is-on{border-color:var(--nb-green);background:var(--nb-green-tint);color:var(--nb-green)}
.interview-coach small{color:var(--nb-muted);font-size:.8rem}
#app .coach-tip{margin:8px 0 0;font-weight:600;color:var(--nb-ink)}
#app .interview-coach-empty{margin:0;color:var(--nb-muted);font-size:.92rem}
#app .interview-followup{margin:4px 0 12px;padding:10px 12px;border-left:3px solid #3D5BFF;background:var(--nb-pen-tint);color:var(--nb-ink)}

/* Internships: one-tap starting searches */
.job-starters{margin:10px 0 0}
.job-starters>div{display:flex;flex-wrap:wrap;gap:8px}
#app .job-starters p{margin:10px 0 0;font-size:.88rem;color:var(--nb-muted);max-width:52ch}

/* ---------- Homepage: grown-up polish (same layout and town) ---------- */
/* One serious typeface for text; the rounded face stays only on handwritten notes and inside the drawings */
.welcome{--nb-display:'Source Sans 3',Inter,Arial,system-ui,sans-serif;--band-college:#FBF6F1;--band-library:#FBF9F3;--band-office:#F2F7FC;--band-startup:#F6F4FB}
body.dark .welcome{--band-college:#1C1A18;--band-library:#1C1B18;--band-office:#161C23;--band-startup:#1A1922}
.welcome .welcome-note-sticky,.welcome .welcome-toast{font-family:"Bricolage Grotesque",'Source Sans 3',sans-serif}
#app .welcome-intro h1{font-family:'Source Sans 3',Inter,Arial,sans-serif;font-weight:800;font-size:clamp(2.6rem,1.4rem + 4.2vw,4.6rem);line-height:1.02;letter-spacing:-.035em;text-shadow:0 2px 18px rgba(8,40,80,.28)}
.welcome-rotate b{color:#FFE7A0}
.welcome-pill{font:600 clamp(1rem,.95rem + .3vw,1.15rem)/1.3 var(--nb-ui);background:transparent;box-shadow:none;padding:0;color:#EAF4FF}
#app .welcome-section-head h2{font-weight:800;letter-spacing:-.03em;line-height:1.04}
.welcome-section-head small{background:none;padding:0;margin-bottom:6px;font:700 .8rem/1 var(--nb-ui);letter-spacing:.09em;text-transform:uppercase;color:#9A4A1C}
body.dark .welcome-section-head small{color:#B3C0FF}

.welcome .cs-stop{width:36px;height:36px;opacity:.9}
/* Cards: thin edges and soft depth instead of thick outlines with coloured offset shadows */
.welcome :is(.welcome-floats a,.welcome-try-card,.welcome-how-panel,.cs-compass-card,.cs-day-board,.welcome-real article,.welcome-login .card){border:1px solid #DED8CE;border-radius:14px;box-shadow:0 1px 2px rgba(20,20,30,.05),0 16px 36px -22px rgba(20,30,50,.35)}

.cs-day-tabs button{border-width:1.5px;border-color:#CFC7BB;font-weight:650}
.cs-day-tabs button[aria-pressed=true]{background:#2D2A26;border-color:#2D2A26;color:#fff}
body.dark .cs-day-tabs button[aria-pressed=true]{background:var(--nb-ink);color:var(--nb-page)}
.cs-day-sky{border-width:1px}
.cs-day-clock{border-width:2px;box-shadow:none}
.welcome-clip{border-width:1px;transform:none;box-shadow:0 2px 0 rgba(45,42,38,.06)}
.cs-comp-more button,.welcome .cs-comp-more button{border-width:1.5px;box-shadow:none;font-family:var(--nb-ui);font-weight:700}
.welcome .cs-comp{border-radius:14px}
/* Numbers read as data, not stickers */
.welcome-stats strong{font-weight:800;letter-spacing:-.02em}
#app .welcome :is(h3,.cs-compass-q h3,.cs-compass-result h3,.welcome-how-steps b,.welcome-floats b){font-weight:700;letter-spacing:-.01em}

/* ---------- Homepage: Unstop-style entry tiles and featured competitions ---------- */
@media (prefers-reduced-motion:no-preference){.welcome-tiles a:hover{transform:translateY(-3px);box-shadow:0 22px 40px -22px rgba(20,40,80,.45)}}
@media (max-width:1100px){.welcome-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.welcome-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}.welcome-tile-art{aspect-ratio:2/1}}
@media (min-width:1100px){.welcome-featured-row{grid-auto-columns:calc((100% - 3*14px)/4)}}
@media (prefers-reduced-motion:no-preference){.welcome-poster:hover{transform:translateY(-3px)}}

/* ---------- Student tools: résumé, outreach, group discussion, guesstimates, deadlines ---------- */
.tool-page{display:grid;gap:18px}
.tool-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#app .tool-muted{color:var(--nb-muted);font-size:.9rem;margin:0}
#app .tool-muted.is-warn{color:#2440D6;font-weight:650}
.tool-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
@media (max-width:640px){.tool-2col{grid-template-columns:1fr}}
.tool-page label{display:grid;gap:4px;font-weight:650;font-size:.9rem;color:var(--nb-ink)}
.tool-page :is(input:not([type=checkbox]),textarea){width:100%;padding:9px 11px;border:1px solid var(--nb-rule-strong);border-radius:10px;background:var(--nb-page);color:var(--nb-ink);font:400 .97rem/1.45 var(--nb-ui)}
.tool-page :is(input,textarea):focus-visible{outline:2px solid #2B4BEE;outline-offset:1px}
.tool-page fieldset{border:1px solid var(--nb-rule);border-radius:14px;padding:14px 16px 16px;margin:0 0 14px;display:grid;gap:10px;background:var(--nb-page)}
.tool-page legend{font-weight:700;padding:0 6px}
.tool-chips{display:flex;flex-wrap:wrap;gap:8px}
.tool-chips button{padding:8px 14px;border-radius:999px;border:1px solid var(--nb-rule-strong);background:var(--nb-page);color:var(--nb-ink);font:650 .92rem/1 var(--nb-ui);cursor:pointer}
.tool-chips button[aria-pressed=true]{background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-page)}
.resume-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;align-items:start}
@media (max-width:1100px){.resume-grid{grid-template-columns:1fr}}
.resume-entry{display:grid;gap:8px;padding:10px 0;border-top:1px dashed var(--nb-rule)}
.resume-entry:first-of-type{border-top:0}
.resume-preview{position:sticky;top:16px}
.resume-paper{background:#fff;color:#141414;padding:28px 30px;border:1px solid #E2DED6;border-radius:6px;box-shadow:0 18px 40px -26px rgba(0,0,0,.4);font:400 13px/1.45 "Source Sans 3",Arial,sans-serif;aspect-ratio:1/1.414;overflow:hidden}
.resume-paper header{text-align:center;border-bottom:1.5px solid #141414;padding-bottom:8px;margin-bottom:10px}
#app .resume-paper h2{margin:0;font:700 22px/1.1 "Source Sans 3",Arial,sans-serif;color:#141414}
#app .resume-paper header p{margin:4px 0 0;font-size:12px;color:#333}
#app .resume-paper h3{margin:12px 0 4px;font:700 11.5px/1 "Source Sans 3",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #BDBDBD;padding-bottom:3px;color:#141414}
.resume-paper .rp-row{display:flex;justify-content:space-between;gap:12px}
.resume-paper .rp-sub{font-style:italic;color:#333}
.resume-paper ul{margin:2px 0 6px;padding-left:16px}
.resume-paper li{margin:1px 0;color:#141414}
#app .resume-paper p{margin:2px 0;color:#141414}
.resume-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.resume-checks li{padding:10px 12px;border-radius:10px;border:1px solid var(--nb-rule);border-left:4px solid #C9C2B6;background:var(--nb-page)}
.resume-checks li.is-strong{border-left-color:#16794C}.resume-checks li.is-ok{border-left-color:#D9A21E}.resume-checks li.is-weak{border-left-color:#B42318}
#app .resume-checks p{margin:0 0 6px}
.resume-checks div{display:flex;flex-wrap:wrap;gap:6px}
.resume-checks span{font-size:.78rem;font-weight:650;padding:2px 8px;border-radius:999px;background:var(--nb-tint);color:var(--nb-muted)}
.resume-checks span.is-on{background:#E2FEF4;color:#16794C}
body.dark .resume-checks span.is-on{background:var(--nb-green-tint);color:var(--nb-green)}
#app :is(.resume-checks-wrap,.outreach-tips,.gd-help,.guess-help,.cal-list) h2{font:700 1.05rem/1.2 var(--nb-ui);margin:0 0 8px}
@media print{
 @page{size:A4;margin:12mm}
 body *{visibility:hidden!important}
 .resume-paper,.resume-paper *{visibility:visible!important}
 .resume-paper{position:fixed;inset:0;border:0;box-shadow:none;padding:0;aspect-ratio:auto;overflow:visible;background:#fff}
}
.outreach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:960px){.outreach-grid{grid-template-columns:1fr}}
.outreach-form{display:grid;gap:12px}
.outreach-preview{position:sticky;top:16px;display:grid;gap:10px;padding:18px;border:1px solid var(--nb-rule);border-radius:14px;background:var(--nb-page)}
.outreach-subject small{font-weight:700;color:var(--nb-muted)}
#app .outreach-subject p{margin:2px 0 0;font-weight:650}
.outreach-body{margin:0;white-space:pre-wrap;font:400 .97rem/1.55 var(--nb-ui);color:var(--nb-ink);background:var(--nb-tint);border-radius:10px;padding:14px}
.outreach-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.86rem;color:var(--nb-muted)}
.outreach-meta .is-warn{color:#2440D6;font-weight:650}.outreach-meta .is-ok{color:#16794C;font-weight:650}
body.dark .outreach-meta .is-warn{color:var(--nb-pen)}body.dark .outreach-meta .is-ok{color:var(--nb-green)}
.outreach-tips{padding:14px 16px;border-radius:12px;background:var(--nb-pen-tint)}
.outreach-tips ul{margin:0;padding-left:18px;display:grid;gap:4px}
.gd-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:stretch}
@media (max-width:900px){.gd-grid{grid-template-columns:1fr}}
.gd-card{padding:22px;border-radius:16px;background:#2F5F94 linear-gradient(150deg,#1B3A63,#2F5F94);color:#fff;display:grid;gap:10px;align-content:start}
.gd-card small{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FFE7A0}
#app .gd-card h2{margin:0;font:800 clamp(1.5rem,1.2rem + 1vw,2.1rem)/1.15 var(--nb-ui);color:#fff}
.gd-stage{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
#app .gd-phase{margin:0;font-weight:650;color:#E3EAF3;flex-basis:100%}
#app .gd-clock{margin:0;font:800 2.6rem/1 var(--nb-data);color:#fff;flex-basis:100%}
#app .gd-card .button{background:#fff;color:#1B3A63;border-color:#fff}
#app .gd-card :is(.button.secondary,.button.text-button){background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.gd-notes{display:grid;gap:6px}
.gd-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.gd-help{grid-template-columns:1fr}}
.gd-help section{padding:14px 16px;border:1px solid var(--nb-rule);border-radius:12px;background:var(--nb-page)}
.gd-help :is(ol,ul){margin:0;padding-left:18px;display:grid;gap:5px}
.gd-help .gd-self{list-style:none;padding:0}
.gd-self label{display:flex;gap:8px;align-items:flex-start;font-weight:500}
.guess-card{padding:20px;border:1px solid var(--nb-rule);border-radius:16px;background:var(--nb-page);display:grid;gap:12px}
#app .guess-card h2{margin:0;font:800 1.35rem/1.25 var(--nb-ui)}
.guess-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.guess-steps li{display:flex;align-items:flex-end;gap:10px}
.guess-steps label{min-width:150px;max-width:200px}
.guess-steps span{font:700 1.3rem/2 var(--nb-ui);color:var(--nb-muted)}
#app .guess-answer{margin:0;font-size:1.1rem}
.guess-answer b{font:800 1.5rem var(--nb-ui)}
.guess-worked{padding:12px 14px;border-radius:12px;background:var(--nb-tint)}
.guess-worked summary{cursor:pointer;font-weight:700}
.guess-help{padding:14px 16px;border:1px solid var(--nb-rule);border-radius:12px}
.guess-help ol{margin:0 0 8px;padding-left:18px}
#app .cal-title{margin:0 6px;font:800 1.3rem/1 var(--nb-ui);min-width:180px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--nb-rule);border-radius:14px;overflow:hidden;background:var(--nb-page)}
.cal-dow{padding:8px;font-size:.8rem;font-weight:700;color:var(--nb-muted);background:var(--nb-tint);text-align:center}
.cal-cell{min-height:86px;padding:6px;border-top:1px solid var(--nb-rule);border-left:1px solid var(--nb-rule);display:grid;align-content:start;gap:3px;min-width:0}
.cal-cell:nth-child(7n+1){border-left:0}
.cal-cell.is-empty{background:var(--nb-tint)}
.cal-cell.is-today .cal-day{background:#2B4BEE;color:#fff;border-radius:999px;padding:1px 7px}
.cal-day{justify-self:start;font-size:.82rem;font-weight:700;color:var(--nb-ink-2)}
.cal-ev{display:block;font-size:.74rem;font-weight:650;padding:2px 6px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev.is-application,.cal-tag.is-application{background:#E2F0FC;color:#1F4E80}
.cal-ev.is-competition,.cal-tag.is-competition{background:#ECE6FF;color:#4A2FA0}
body.dark :is(.cal-ev,.cal-tag).is-application{background:#1B2B3A;color:#9AC8F0}
body.dark :is(.cal-ev,.cal-tag).is-competition{background:#241F36;color:#C2B2FF}
.cal-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cal-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border:1px solid var(--nb-rule);border-radius:10px;background:var(--nb-page)}
.cal-list time{font-weight:800;min-width:56px}
.cal-tag{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}
@media (max-width:640px){.cal-cell{min-height:56px}.cal-ev{font-size:0;padding:0;height:6px;border-radius:3px}}
body.dark .welcome-pill{background:none;box-shadow:none}

/* ---------- How it works as afterboards-style stages: copy on one side, a framed window with notes on the other ---------- */
@media (prefers-reduced-motion:no-preference){.welcome-how.will-reveal .welcome-how-art{transform:translateY(14px);opacity:.001;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s ease}.welcome-how.is-in .welcome-how-art{transform:none;opacity:1}}
@media (max-width:860px){.welcome-how-row{grid-template-columns:1fr}.welcome-how-row:nth-child(even) .welcome-how-copy{order:0}.welcome-how-art{padding:22px 4px 8px}}
@media (max-width:640px){.welcome-how-art .welcome-note-sticky{position:relative;inset:auto;margin:10px 0 0 auto;display:table}.welcome-how-art .welcome-note-sticky.is-second{margin:0 0 10px}}

/* ---------- Homepage: district postcards under the town, and a weekly timetable ---------- */
@media (prefers-reduced-motion:no-preference){.welcome-district:hover{transform:rotate(0) translateY(-4px);box-shadow:0 22px 40px -22px rgba(20,30,50,.5)}}
@media (max-width:1100px){.welcome-districts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.welcome-districts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}.welcome-district em{display:none}}
@media (max-width:860px){.welcome-week-plan{grid-template-columns:1fr}}
@media (max-width:520px){.welcome-timetable{padding-left:16px}.welcome-timetable::before{display:none}.welcome-tt-row{grid-template-columns:40px minmax(0,1fr)}.tt-time{display:none}}
@media (max-width:520px){.welcome-tt-row.is-head>span:nth-child(3){display:none}}
/* Career city hero: night palette */
body.dark .welcome-scene-svg .far{fill:#22344B}
body.dark .welcome-scene-svg .hill-far{fill:#2A4A35}
body.dark .welcome-scene-svg .dim{filter:brightness(.55) saturate(.85)}
body.dark .welcome-scene-svg .win{opacity:1}
body.dark .welcome-scene-svg .sun{display:none}
body.dark .welcome-scene-svg .banyan{fill:#2F5B33}
body.dark .welcome-scene-svg .gulmohar{fill:#9C452A}
body.dark .welcome-scene-svg .clouds{opacity:.2}

/* ---------- Homepage, five sections: purpose headline, career city, three cards, stages, task, practice, sign-up ---------- */
#app .welcome-intro h1{font-size:clamp(2.4rem,1.3rem + 3.6vw,4.2rem);line-height:1.04;max-width:16ch;margin-inline:auto}
.welcome-pill{display:block;max-width:62ch;margin:0 auto;font:500 clamp(1rem,.95rem + .3vw,1.18rem)/1.5 var(--nb-ui);color:#EAF4FF}
.welcome-scene,.welcome-scene-svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
#app .welcome-names-note{margin:10px auto 0;padding-bottom:clamp(20px,3vw,36px);font-size:.8rem;color:var(--nb-muted)}
@media (max-width:860px){.welcome-quick{grid-template-columns:1fr;margin-top:0}}
.welcome-comps-more summary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--nb-ink);font-weight:700;cursor:pointer;list-style:none;color:var(--nb-ink);background:var(--nb-page)}
.welcome-comps-more summary::-webkit-details-marker{display:none}
.welcome-comps-more summary::after{content:'↓'}
.welcome-comps-more[open] summary::after{content:'↑'}
.welcome-comps-more[open]{grid-column:1/-1}
.welcome-comps-more .cs-comps{margin-top:18px}
.welcome-comps-more .cs-comps .welcome-section-head{display:none}
@media (max-width:900px){.welcome-extras-grid{grid-template-columns:1fr}}
#app .welcome-intro h1{max-width:none;font-size:clamp(2.2rem,1.2rem + 3.2vw,3.9rem)}
body.dark .welcome-scene-svg .path-top{stroke:#8A7A57}

/* ---------- Afterboards-style refinement: one soft display face for the hero, medium-weight headings, flat bordered cards ---------- */
#app .welcome-intro h1{font-family:"Bricolage Grotesque",Georgia,serif;font-weight:640;font-variation-settings:'SOFT' 100,'WONK' 0,'opsz' 96;letter-spacing:-.012em;line-height:1.06;text-shadow:0 2px 0 rgba(10,60,110,.18),0 10px 28px rgba(10,60,110,.22)}
.welcome-pill{display:inline-block;max-width:none;padding:8px 20px;border-radius:999px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font:600 clamp(.98rem,.92rem + .3vw,1.15rem)/1.35 var(--nb-ui);color:#fff}
body.dark .welcome-pill{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
#app .welcome-section-head small{font:700 1.05rem/1.2 var(--nb-ui);letter-spacing:0;text-transform:none;color:var(--nb-ink);margin-bottom:10px}
body.dark .welcome-section-head small{color:var(--nb-ink)}
#app .welcome-section-head h2{font:600 clamp(2rem,1.45rem + 1.9vw,2.75rem)/1.08 var(--nb-ui);letter-spacing:-.022em}
#app .welcome-section-head p{color:#5F6672}
body.dark #app .welcome-section-head p{color:var(--nb-ink-2)}

/* Cards under the city */
@media (max-width:860px){.welcome-quick{grid-template-columns:1fr}}

/* Hub: where listings start, CareerStack, what you practise */
.welcome-hub{padding-block:clamp(56px,7vw,100px) clamp(24px,3vw,40px)}

@keyframes hub-flow{to{stroke-dashoffset:-20}}

/* Big competitions by season */
@media (max-width:560px){.welcome-seasons li{grid-template-columns:48px minmax(0,1fr)}.welcome-seasons a{grid-column:2;white-space:normal}}

/* ---------- Network map: warm paper, thin curved lines, a red marker in the middle ---------- */
.welcome-band.is-net{background:#F3EFE9;background-image:radial-gradient(60% 55% at 50% 62%,rgba(228,87,46,.07),transparent 70%)}
body.dark .welcome-band.is-net{background:#16171A;background-image:radial-gradient(60% 55% at 50% 62%,rgba(228,87,46,.09),transparent 70%)}
.welcome-band.is-net .welcome-hub{padding-block:clamp(40px,5vw,64px)}
.welcome-net{position:relative;margin-top:8px}

@keyframes net-pulse{50%{transform:scale(1.18);opacity:.5}}

@media (max-width:900px){.welcome-net{display:none}}
.welcome-band.is-net{padding-top:12px}

.welcome-band.is-net{--band:#F3EFE9}
body.dark .welcome-band.is-net{--band:#16171A}

/* ---------- Live network map: luggage-tag sources, three trunks, a stack of cards, real items travelling ---------- */
.net-svg{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.welcome-net.is-dragging,.welcome-net.is-dragging *{cursor:grabbing!important}

@keyframes net-spin{to{transform:rotate(360deg)}}

@keyframes net-bump{0%{transform:translateY(-10px) rotate(-2deg)}100%{transform:none}}

@keyframes net-ping{0%{stroke-width:7;stroke:#C8331B}100%{stroke-width:1.4}}

/* ---------- Feature map: our features around one stack of cards; platforms named separately ---------- */
.net-zone{font:700 15px var(--nb-ui);letter-spacing:.32em;fill:#B3AA9E}

.hub-sources{margin-top:clamp(18px,2.4vw,28px);padding-top:18px;border-top:1px solid #DED6CA}
#app .hub-sources h3{margin:0 0 8px;font:700 .82rem/1.2 var(--nb-ui);letter-spacing:.14em;text-transform:uppercase;color:#7A7268}
#app .hub-sources p{display:flex;flex-wrap:wrap;gap:6px 0;margin:0 0 8px;font:600 1rem/1.4 var(--nb-ui);color:#3B352E}
.hub-sources p span:not(:last-child)::after{content:'·';margin:0 10px;color:#B3AA9E}
#app .hub-sources small{display:block;font-size:.88rem;line-height:1.5;color:#7A7268}

body.dark .hub-sources{border-color:#2E2F33}
body.dark #app .hub-sources p{color:#EDE8E1}
body.dark #app :is(.hub-sources h3,.hub-sources small){color:#A8A096}
#app .hub-sources p{display:block}

/* ---------- City details: kites, lamps, palms, hedges ---------- */
.welcome-scene-svg .lamp-glow{display:none}
.welcome-scene-svg .kite-body{transform-box:fill-box;transform-origin:50% 10%}
@media (prefers-reduced-motion:no-preference){
 .welcome-scene-svg .kite-body{animation:sc-kite 3.4s ease-in-out infinite}
 .welcome-scene-svg .kite:nth-child(2) .kite-body{animation-duration:4.1s;animation-delay:-1.2s}
 .welcome-scene-svg .kite:nth-child(3) .kite-body{animation-duration:2.9s;animation-delay:-.6s}
 .welcome-scene-svg .kite-tail{transform-box:fill-box;transform-origin:top center;animation:sc-tail 1.3s ease-in-out infinite}
 .welcome-scene-svg .fronds{transform-box:fill-box;transform-origin:center 30%;animation:sc-palm 5s ease-in-out infinite}
 html.cs-motion-paused .welcome-scene-svg :is(.kite-body,.kite-tail,.fronds){animation:none}
}
@keyframes sc-kite{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(6deg) translateY(-7px)}}
@keyframes sc-tail{0%,100%{transform:skewX(0)}50%{transform:skewX(-14deg)}}
@keyframes sc-palm{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
body.dark .welcome-scene-svg .kites{display:none}
body.dark .welcome-scene-svg .lamp-glow{display:inline}
body.dark .welcome-scene-svg .lamp-head{fill:#FFE08A}
body.dark .welcome-scene-svg .glint{opacity:.06}
body.dark .welcome-scene-svg .crowd{filter:brightness(.6)}

/* ---------- Concise homepage: four steps on a dashed line, plain lines instead of boxes ---------- */
.welcome-route{padding-block:clamp(48px,6vw,88px) clamp(24px,3vw,40px)}

@keyframes ws-hop{40%{transform:translateY(-10px) rotate(-8deg)}}

.welcome-hub .welcome-comps-more{margin-top:22px}
.welcome-hub .welcome-comps-more summary{background:#FFFFFF}
body.dark .welcome-hub .welcome-comps-more summary{background:transparent}
.welcome-pill{font-weight:600}

/* Rotating one-liner under the headline */
.welcome-quip{border:0;cursor:pointer;font-family:var(--nb-ui);max-width:min(100%,640px);text-wrap:balance;transition:background .2s}
.welcome-quip:hover{background:rgba(255,255,255,.3)}
.welcome-quip:focus-visible{outline:3px solid #FFE58A;outline-offset:3px}
.welcome-quip::after{content:' ↻';opacity:.6;font-weight:700}
@media (prefers-reduced-motion:no-preference){.welcome-quip.is-flip{animation:quip-flip .45s cubic-bezier(.3,1.4,.5,1)}}
@keyframes quip-flip{0%{transform:rotateX(80deg);opacity:0}100%{transform:none;opacity:1}}

/* ---------- Numbers strip under the city ---------- */
@media (max-width:980px){.welcome-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.welcome-numbers{grid-template-columns:1fr 1fr}.welcome-numbers b{font-size:1.7rem}}

/* ---------- Placement season bingo ---------- */
.welcome-band.is-bingo{--band:#FFF6DA}
body.dark .welcome-band.is-bingo{--band:#1E1B14}
.welcome-bingo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
#app .wb-says{margin:6px 0 14px;font-size:1.08rem;line-height:1.5;color:var(--nb-ink);min-height:3em}
#app .wb-says a{color:#B9501A;font-weight:700}
.wb-reset{border:0;background:none;padding:0;font:600 .95rem var(--nb-ui);color:#7A7268;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wb-card{position:relative;padding:16px 16px 18px;background:#FFFDF7;border:2px dashed #D9B86A;border-radius:18px;transform:rotate(-1.2deg);box-shadow:0 18px 40px -24px rgba(120,80,10,.45)}
.wb-title{margin:0 0 12px;text-align:center;font:700 1.35rem/1 "Bricolage Grotesque",Georgia,serif;font-variation-settings:'SOFT' 100;letter-spacing:.3em;color:#B9501A}
.wb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wb-cell{position:relative;display:grid;align-content:space-between;gap:8px;min-height:118px;padding:12px;border:1px solid #EADFC4;border-radius:12px;background:#fff;text-align:left;cursor:pointer;font:500 .95rem/1.35 var(--nb-ui);color:var(--nb-ink);transition:transform .15s,background .2s}
.wb-cell:hover{transform:translateY(-2px) rotate(-.6deg)}
.wb-cell:focus-visible{outline:3px solid #B9501A;outline-offset:2px}
.wb-fix{font:700 .8rem/1.3 var(--nb-ui);color:#B9501A;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.wb-cell[aria-pressed="true"]{background:#EAEEFF;border-color:#F0B48C}
.wb-cell[aria-pressed="true"] .wb-fix{opacity:1;transform:none}
.wb-cell[aria-pressed="true"]::after{content:'';position:absolute;inset:10px;border:3px solid rgba(200,51,27,.55);border-radius:50%;transform:rotate(-8deg);pointer-events:none}
@media (prefers-reduced-motion:no-preference){.wb-cell[aria-pressed="true"]::after{animation:wb-stamp .3s cubic-bezier(.3,1.6,.5,1)}.wb-card.is-bingo{animation:wb-party .7s ease}}
@keyframes wb-stamp{0%{transform:scale(1.6) rotate(-20deg);opacity:0}100%{transform:rotate(-8deg);opacity:1}}
@keyframes wb-party{0%,100%{transform:rotate(-1.2deg)}25%{transform:rotate(1.5deg) scale(1.02)}50%{transform:rotate(-2deg)}75%{transform:rotate(1deg)}}
.wb-card.is-bingo{border-color:#C8331B;border-style:solid}
.wb-card.is-bingo .wb-title::after{content:' 🎉'}
body.dark .wb-card{background:#25221A;border-color:#6B5A2E}
body.dark .wb-cell{background:#1E1F22;border-color:#3A3424;color:var(--nb-ink)}
body.dark .wb-cell[aria-pressed="true"]{background:#3A2616}
body.dark .wb-fix,body.dark .wb-title,body.dark #app .wb-says a{color:#B3C0FF}
@media (max-width:900px){.welcome-bingo{grid-template-columns:1fr}.wb-card{transform:none}}
@media (max-width:480px){.wb-cell{min-height:104px;padding:9px;font-size:.84rem}.wb-grid{gap:6px}}

/* ---------- Corporate → English, and the FAQ ---------- */
.welcome-talk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding-block:clamp(48px,6vw,88px) clamp(20px,3vw,40px)}
.wt-jargon{list-style:none;margin:0;padding:0;border-top:1px solid var(--nb-rule)}
.wt-jargon li{border-bottom:1px solid var(--nb-rule)}
.wt-jargon button{display:grid;width:100%;padding:14px 4px;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--nb-ink);perspective:600px}
.wt-say,.wt-mean{grid-area:1/1;transition:opacity .25s,transform .35s cubic-bezier(.3,1.3,.5,1)}
.wt-say{font:600 1.15rem/1.3 var(--nb-ui)}
.wt-say::after{content:'  tap to translate →';font-size:.8rem;font-weight:600;color:#9A8F82}
.wt-mean{font:700 1.15rem/1.3 var(--nb-ui);color:#B9501A;opacity:0;transform:rotateX(70deg)}
.wt-jargon button[aria-pressed="true"] .wt-say{opacity:0;transform:rotateX(-70deg)}
.wt-jargon button[aria-pressed="true"] .wt-mean{opacity:1;transform:none}
.wt-jargon button:focus-visible{outline:3px solid #B9501A;outline-offset:2px}
.wt-faq details{border-bottom:1px solid var(--nb-rule)}
.wt-faq details:first-child{border-top:1px solid var(--nb-rule)}
.wt-faq summary{display:flex;justify-content:space-between;gap:12px;padding:15px 4px;cursor:pointer;list-style:none;font:600 1.1rem/1.3 var(--nb-ui);color:var(--nb-ink)}
.wt-faq summary::-webkit-details-marker{display:none}
.wt-faq summary::after{content:'+';font-size:1.4rem;line-height:1;color:#B9501A;transition:transform .2s}
.wt-faq details[open] summary::after{transform:rotate(45deg)}
#app .wt-faq p{margin:0 4px 16px;color:#5F6672;line-height:1.55}
body.dark .wt-mean{color:#B3C0FF}
body.dark #app .wt-faq p{color:var(--nb-ink-2)}
@media (max-width:900px){.welcome-talk{grid-template-columns:1fr}}

/* ---------- Also inside: features with a line each, no boxes ---------- */
.welcome-also{padding-block:clamp(48px,6vw,88px) clamp(8px,2vw,24px)}

/* Contrast fixes from the homepage audit */
.welcome .welcome-skip:focus{background:#fff;color:#111}
.wb-reset{color:#5E574F}
body.dark .wb-reset{color:#D2C9BD}
body.dark #app .welcome-try .welcome-feedback{color:var(--nb-ink-2)}
.wt-say::after{color:#6E6458}
body.dark .wt-say::after{color:#B5AC9F}
#app .hub-sources small{color:#665E55}
.cs-comp footer .cs-comp-official{font-weight:700}
.cs-comp-from{color:var(--nb-muted)}
.cs-comp-from a{font-weight:600}

/* ---------- Home: one-liner, today's drills, deadline radar ---------- */
.cs-home-quip{display:inline-block;margin:6px 0 2px;padding:6px 14px;border:1px dashed #B9C4F0;border-radius:999px;background:#FFF8F1;color:#1C2A7A;font:600 .98rem/1.35 var(--nb-ui);cursor:pointer;text-align:left}
.cs-home-quip::after{content:' ↻';opacity:.55}
.cs-home-quip:hover{background:#EAEEFF}
.cs-home-quip:focus-visible{outline:3px solid #B9501A;outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.cs-home-quip.is-flip{animation:quip-flip .45s cubic-bezier(.3,1.4,.5,1)}}
body.dark .cs-home-quip{background:#2A1E16;border-color:#6B4A36;color:#FFD2B5}
.cs-drills header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.hd-sub{color:var(--nb-muted);font-size:.92rem}
.hd-list{list-style:none;margin:6px 0 0;padding:0}
.hd-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--nb-rule)}
.hd-list li:last-child{border-bottom:0}
.hd-emoji{font-size:1.45rem;line-height:1}
.hd-list small{display:block;color:var(--nb-muted);font-size:.8rem;font-weight:600;letter-spacing:.02em}
.hd-list b{display:block;font-weight:600;line-height:1.35;color:var(--nb-ink)}
@media (max-width:560px){.hd-list li{grid-template-columns:30px minmax(0,1fr)}.hd-list li>button{grid-column:2;justify-self:start;padding-left:0}}
.cs-radar{padding:22px 24px;border:1px solid var(--nb-rule);border-radius:18px;background:var(--nb-page)}
#app .cs-radar h2{margin:0 0 4px;font-size:1.15rem}
#app .cs-radar-sub{margin:0 0 10px;color:var(--nb-muted);font-size:.9rem;line-height:1.45}
.cs-radar ol{list-style:none;margin:0 0 8px;padding:0}
.cs-radar li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--nb-rule)}
.cs-radar-month{display:block;padding:5px 0;border-radius:8px;background:#EAEEFF;color:#1C34C4;font:700 .8rem/1 var(--nb-ui);text-align:center}
.cs-radar b{display:block;font-weight:700;line-height:1.3}
.cs-radar small{display:block;color:var(--nb-muted);font-size:.82rem}
.cs-radar a{font-size:.85rem;font-weight:600;color:#1C4980;text-decoration:none}
.cs-radar a:hover{text-decoration:underline}
body.dark .cs-radar-month{background:#3A2616;color:#FFC79E}
body.dark .cs-radar a{color:#9CC7FF}
#app .ws-empty-actions{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:10px}

/* Homepage: opening soon */
.welcome-soon{margin-top:clamp(18px,2.4vw,28px)}
#app .welcome-soon h3{margin:0 0 10px;font:700 .82rem/1.2 var(--nb-ui);letter-spacing:.14em;text-transform:uppercase;color:#665E55}
.welcome-soon ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 28px}
.welcome-soon li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center}
.soon-month{grid-row:span 2;padding:6px 10px;border-radius:8px;background:#EAEEFF;color:#1C34C4;font:700 .85rem/1 var(--nb-ui)}
.welcome-soon b{font:700 1.02rem/1.25 var(--nb-ui);color:var(--nb-ink)}
.welcome-soon a{font:600 .88rem var(--nb-ui);text-decoration:none}
#app .welcome-soon a{color:#1C4980}
.welcome-soon a:hover{text-decoration:underline}
#app .welcome-soon p{margin:10px 0 0;font-size:.85rem;color:#665E55}
body.dark .soon-month{background:#3A2616;color:#FFC79E}
body.dark #app .welcome-soon a{color:#9CC7FF}
body.dark #app :is(.welcome-soon h3,.welcome-soon p){color:#A8A096}
@media (max-width:760px){.welcome-soon ol{grid-template-columns:1fr}}
#app .gd-card small{color:#FFE7A0}
#app .gd-card :is(.button.secondary,.button.text-button){padding:10px 16px;border-width:1.5px;border-style:solid;border-radius:999px}

/* ---------- App: same calm look as the homepage. Soft serif titles, plain headings, flat cards, no corner clip art ---------- */
#app{--nb-display:'Source Sans 3',Inter,Arial,system-ui,sans-serif;--nb-shadow:none}
#app :where(h1),.ws-main :is(.ws-heading,.agenda-heading) h1,#app .student-discovery-heading h1{font-family:"Bricolage Grotesque",Georgia,serif;font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0,'opsz' 72;letter-spacing:-.015em;line-height:1.08}
#app .welcome :where(h1){font-variation-settings:'SOFT' 100,'WONK' 0,'opsz' 96}
#app :is(h2,h3):not(.welcome *){letter-spacing:-.01em}
.ws-main .agenda-main>section>header>h2,.ws-main .agenda-side>section>h2,.ws-main .product-section>h2:first-child,#app .cs-badges h2{font-weight:650}
/* No floating clip art in page headers. */
#app .cs-spot{display:none}
/* Cards: thin border, no shadow, no hover lift. */
#app :is(.product-section,.agenda-section,.agenda-side>section,.cs-badges,.cs-radar,.card,.cs-comp,.cs-comp-card){box-shadow:none}
@media (prefers-reduced-motion:no-preference){#app :is(.agenda-next,.practice-session):hover{box-shadow:none}}
/* The next step is a plain block with a small label, not an orange-edged callout. */
#app :is(.agenda-next,.practice-session){border:1px solid var(--nb-rule);border-left:1px solid var(--nb-rule);border-radius:18px;box-shadow:none}
#app :is(.agenda-next,.practice-session) .nb-mark,#app .agenda-next h2 .nb-mark{background:none;padding:0}
#app :is(.agenda-next,.practice-session) :is(h2,h3){font-family:"Bricolage Grotesque",Georgia,serif;font-weight:600;font-variation-settings:'SOFT' 100,'opsz' 48}
/* Milestones as a short list instead of a grid of grey tiles. */
#app .cs-badges ul{display:grid;grid-template-columns:1fr;gap:0;margin:6px 0 8px;padding:0}
#app .cs-badges li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border:0;border-bottom:1px solid var(--nb-rule);border-radius:0;background:none;text-align:left;min-height:0}
#app .cs-badges li:last-child{border-bottom:0}
#app .cs-badges li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--nb-tint);box-shadow:none;margin:0}
#app .cs-badges li>span svg{width:18px;height:18px}
#app .cs-badges li b{font-weight:600;font-size:.95rem;line-height:1.25}
#app .cs-badges li small{font-size:.8rem;color:var(--nb-muted);text-align:right}
#app .cs-badges li.is-earned>span{background:#EAEEFF;color:#9A4A1C}
#app .cs-badges li.is-earned small{color:#2F7D4F;font-weight:700}
#app .cs-badges li.is-earned small::before{content:'✓ '}
body.dark #app .cs-badges li.is-earned>span{background:#3A2616;color:#FFC79E}
body.dark #app .cs-badges li.is-earned small{color:#7FD1A0}
/* Focus timer: a quiet pill, not a sticker. */
.cs-focus>button{border:1px solid var(--nb-rule-strong,#D9D9D9);box-shadow:0 6px 18px -10px rgba(0,0,0,.35)}
.cs-focus.is-running{border:1px solid var(--nb-rule-strong,#D9D9D9);box-shadow:0 6px 18px -10px rgba(0,0,0,.35)}
#app .cs-badges li{justify-items:stretch;grid-template-columns:30px minmax(0,1fr);row-gap:1px;column-gap:12px}
#app .cs-badges li>span{grid-row:span 2;filter:none;opacity:1;color:var(--nb-muted)}
#app .cs-badges li.is-earned>span{box-shadow:none;animation:none}
#app .cs-badges li small{text-align:left;font-size:.8rem;line-height:1.3}
#app .cs-badges li:not(.is-earned) b{color:var(--nb-ink-2)}

/* ---------- Homepage palette: warm paper, ink, one brick accent, deep-green links. Fewer tints, no glows ---------- */
.welcome{--w-paper:#F3F4F8;--w-white:#FFFFFF;--w-ink:#121318;--w-muted:#545A68;--w-rule:#DCE0E8;--w-brick:#2B4BEE;--w-brick-dark:#1C34C4;--w-link:#2F5D50;
 --band-college:var(--w-paper);--band-library:var(--w-paper);--band-office:var(--w-paper);--band-startup:var(--w-paper);--dusk-1:#22302F;--dusk-2:#161E1D;background:var(--w-white)}
body.dark .welcome{--w-link:#9FD3C2;--dusk-1:#0F1716;--dusk-2:#0A100F}
/* Hero: morning haze over the city instead of a saturated SaaS blue. */
.welcome-sky{background:linear-gradient(180deg,#A7C7DB 0%,#C6DAE3 34%,#E6DFCF 68%,#F3ECDF 88%,var(--w-white) 100%)}
#app .welcome-intro h1{color:var(--w-ink);text-shadow:none}
#app .welcome-intro h1 .welcome-rotate b{color:var(--w-brick)}
.welcome-pill,.welcome-quip{background:rgba(255,253,248,.72);box-shadow:inset 0 0 0 1px rgba(31,28,23,.14);color:var(--w-ink)}
.welcome-quip:hover{background:rgba(255,253,248,.92)}
.welcome-nav{background:rgba(255,253,248,.92);box-shadow:0 0 0 1px rgba(31,28,23,.08)}
#app .welcome-hero-cta .button,#app .welcome-nav .button{background:var(--w-brick);border-color:var(--w-brick);box-shadow:none}
#app .welcome-hero-cta .button:hover,#app .welcome-nav .button:hover{background:var(--w-brick-dark)}
.welcome-chip.is-light{background:transparent;border:1.5px solid var(--w-ink);color:var(--w-ink);box-shadow:none}
.welcome-chip.is-light:hover{background:rgba(31,28,23,.06)}
#app .welcome-hint,#app .welcome-names-note{color:var(--w-muted)}
/* One paper colour for alternate sections. */
.welcome-band.is-net{--band:var(--w-paper);background-image:none}
.welcome-band.is-bingo{--band:var(--w-white)}
.wb-card{background:var(--w-paper);border-color:#CDBF9E}
/* Links and small accents. */
#app :is(.welcome-soon a,.cs-radar a,.welcome-seasons a){color:var(--w-link)}
#app .wb-says a,.wt-mean{color:var(--w-brick)}
.wt-faq summary::after{color:var(--w-brick)}
.soon-month{background:#F1E6D6}
.soon-month{color:#7A3512}

/* Flat buttons everywhere on the page. */
#app .welcome :is(.button,.welcome-chip){box-shadow:none}
/* Night mode keeps its own sky and light text. */
body.dark #app .welcome-intro h1{color:#fff}
body.dark #app .welcome-intro h1 .welcome-rotate b{color:#FFE58A}
body.dark .welcome-pill,body.dark .welcome-quip{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
body.dark .welcome-nav{background:rgba(23,24,26,.9);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
body.dark .welcome-chip.is-light{border-color:rgba(255,255,255,.6);color:#fff}
body.dark .welcome-band.is-bingo{--band:#141516}
body.dark .wb-card{background:#25221A;border-color:#6B5A2E}
body.dark .soon-month{background:#3A2616}
body.dark .soon-month{color:#FFC79E}
/* Let the city melt into the sky and the page instead of sitting in a rectangle. */
.welcome-scene,.welcome-scene-svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.welcome-scene-svg .grain{opacity:.16}
body.dark .welcome-scene-svg .grain{opacity:.3}
/* Section headings in the same soft serif as the hero; no round icon badges beside them. */
#app .welcome :is(.welcome-section-head h2,.welcome-account-copy h2){font-family:"Bricolage Grotesque",Georgia,serif;font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0,'opsz' 72;letter-spacing:-.015em;line-height:1.08}
.welcome .welcome-section-head .cs-stop{display:none}
.welcome-sim-bars i.is-in{--fill:#8FB3A4}.welcome-sim-bars i.is-out{--fill:#D9A27A}.welcome-sim-bars i.is-keep{--fill:#2F7D5B}.welcome-sim-bars i.is-lose{--fill:#2B4BEE}
/* Contrast fixes after the palette change. */
#app .welcome .hub-col h3{color:#574F46}
#app .hub-sources h3,#app .welcome-soon h3{color:#574F46}

body.dark #app :is(.welcome-hero-cta .button,.welcome-nav .button){background:#F0905A;border-color:#F0905A;color:#1A0E07}
body.dark #app :is(.welcome-hero-cta .button,.welcome-nav .button):hover{background:#F5A574}
body.dark #app :is(.welcome-hint,.welcome-names-note){color:#B9B0A4}

/* ---------- Editorial lists instead of template grids ---------- */
/* How it works: big serif numerals and hairlines, no icon circles or dashed connector. */
.welcome-route-row{counter-reset:step;gap:0 clamp(20px,3vw,40px)}

/* Also inside: a two-column index,like a menu card{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,64px);border-top:2px solid var(--w-ink,#121318)}

/* ---------- Sign-up: an admit card, and the first five minutes ---------- */
#app .welcome-login .admit-card{position:relative;overflow:visible;padding:0 28px 22px;border:0;border-radius:18px;background:#FFFFFF;color:var(--w-ink,#121318);box-shadow:0 24px 50px -30px rgba(0,0,0,.6);
 -webkit-mask:radial-gradient(circle 12px at 0 92px,transparent 11.5px,#000 12px) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 92px,transparent 11.5px,#000 12px) right/51% 100% no-repeat;
 mask:radial-gradient(circle 12px at 0 92px,transparent 11.5px,#000 12px) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 92px,transparent 11.5px,#000 12px) right/51% 100% no-repeat}

@keyframes admit-stamp{0%{transform:scale(1.8) rotate(-30deg);opacity:0}100%{transform:rotate(-14deg);opacity:.85}}
/* The first five minutes, on the dark band. */
.welcome-first{list-style:none;margin:22px 0 18px;padding:0;display:grid;gap:0;max-width:520px;counter-reset:first}

/* ---------- Outreach writer v2 ---------- */
.out-kinds{display:grid;gap:12px;margin:0 0 20px}
.out-kind-group{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:start}
.out-kind-group>small{padding-top:8px;font-weight:700;font-size:.8rem;letter-spacing:.04em;color:var(--nb-muted)}
@media (max-width:760px){.out-kind-group{grid-template-columns:1fr;gap:4px}}
.outreach-form .is-wide{grid-column:1/-1}
.out-spark{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:start;padding:12px 14px;border:1px dashed var(--nb-rule-strong);border-radius:12px;font-weight:700;cursor:pointer}
.out-spark input{margin-top:3px;width:18px;height:18px;accent-color:#2B4BEE}
.out-spark span{grid-column:2;font-weight:500;font-size:.88rem;color:var(--nb-muted)}
.outreach-subject{position:relative}
.out-subject-next{margin-top:4px;padding:0;border:0;background:none;color:#2F5D50;font:600 .85rem var(--nb-ui);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.out-draft-label{display:grid;gap:6px;font-weight:700;font-size:.85rem}
.out-draft-label span{font-weight:500;color:var(--nb-muted)}
#app textarea.outreach-body{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--nb-rule);font:400 .97rem/1.6 var(--nb-ui)}
.out-verdict{padding:10px 14px;border-radius:10px;font-weight:700}
.out-verdict.is-good{background:#E7F3EC;color:#1E5F3C}
.out-verdict.is-ok{background:#FFF4DC;color:#7A4B00}
.out-verdict.is-bad{background:#FBE6DF;color:#8F2A16}
body.dark .out-verdict.is-good{background:#173226;color:#9FE0BC}
body.dark .out-verdict.is-ok{background:#33290F;color:#FFD98A}
body.dark .out-verdict.is-bad{background:#3A1F18;color:#FFB59F}
#app .out-count{margin:6px 0 0;font-size:.85rem;color:var(--nb-muted)}
.out-flags{margin:8px 0 0;padding-left:18px;display:grid;gap:5px;font-size:.92rem;line-height:1.45}
.out-flags li::marker{color:#2B4BEE}
.out-plan{margin-top:6px;padding:14px 16px;border-radius:12px;background:var(--nb-tint)}
#app .out-plan h3{margin:0 0 4px;font-size:1rem}
#app .out-plan p{margin:0 0 8px;color:var(--nb-ink-2);font-size:.92rem}
.out-plan ol{margin:0 0 6px;padding-left:18px;display:grid;gap:4px;font-size:.92rem}
.out-plan b{margin-right:6px}
body.dark .out-subject-next{color:#9FD3C2}
body.dark .out-spark input{accent-color:#F0905A}

/* No sticker-style hard shadows or thick black outlines left over from the old look. */
#app :is(.cs-compass-card,.cs-day-board,.cs-comp-more button,.practice-sample,.start-path,.welcome-try-card,.welcome-play),.cs-focus>button,.cs-focus.is-running,.cs-focus-done,.welcome-motion,#app :is(.role-working-paper,.case-exhibit,.quiz-exhibit,.scenario-paper,.reader-art,.model-reference){box-shadow:0 10px 30px -22px rgba(0,0,0,.35)}
#app :is(.cs-compass-card,.cs-day-board,.cs-comp-more button),.cs-focus>button,.cs-focus.is-running,.welcome-motion{border:1px solid var(--nb-rule-strong,#D9D9D9)}
.welcome-motion{background:rgba(255,253,248,.85);color:#121318}
body.dark .welcome-motion{background:rgba(23,24,26,.85);color:#EDE8E1}

/* ---------- ATS check ---------- */
.lab-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
@media (max-width:980px){.lab-grid{grid-template-columns:1fr}}
.lab-input{display:grid;gap:12px}
#app .lab-input h2{margin:6px 0 0;font-size:1.05rem}
#app .lab-input h2 span{font-weight:500;color:var(--nb-muted);font-size:.9rem}
.lab-drop{position:relative;display:grid;gap:4px;padding:22px;border:2px dashed var(--nb-rule-strong);border-radius:14px;background:var(--nb-page);cursor:pointer;text-align:center}
.lab-drop:hover{border-color:#2B4BEE}
.lab-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lab-drop:focus-within{outline:3px solid #2B4BEE;outline-offset:2px}
.lab-drop b{font-size:1.05rem}
.lab-drop span{color:var(--nb-muted);font-size:.9rem}
.lab-paste summary{cursor:pointer;font-weight:600}
#app .lab-input textarea{width:100%;box-sizing:border-box}
.lab-run{justify-self:start;min-width:200px}
.lab-out{position:sticky;top:16px;padding:20px;border:1px solid var(--nb-rule);border-radius:16px;background:var(--nb-page)}
.lab-idle ul{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.5}
#app .lab-idle h2,#app .lab-busy h2{margin:0 0 10px;font-size:1.1rem}
.lab-busy ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-weight:600}
.lab-busy li{color:var(--nb-muted)}
.lab-busy li.is-done{color:#1E5F3C}
.lab-busy li.is-now{color:var(--nb-ink)}
.lab-spin{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px}
@media (prefers-reduced-motion:no-preference){.lab-spin{animation:sc-spin .8s linear infinite}}
.lab-error{padding:10px 14px;border-radius:10px;background:#FBE6DF;color:#8F2A16;font-weight:600}
.lab-top{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;align-items:center}
.lab-score{display:grid;justify-items:center;align-content:center;width:130px;height:130px;border-radius:50%;border:8px solid #D9CFBF;text-align:center}
.lab-score b{font:600 2.6rem/1 "Bricolage Grotesque",Georgia,serif}
.lab-score span{font-size:.85rem;color:var(--nb-muted)}
.lab-score small{font-size:.72rem;font-weight:700;line-height:1.2;padding:0 8px}
.lab-score.is-good{border-color:#2F7D5B}.lab-score.is-ok{border-color:#D9A27A}.lab-score.is-bad{border-color:#2B4BEE}
.lab-parts{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lab-parts li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) 44px;gap:10px;align-items:center;font-size:.88rem}
.lab-parts i{height:8px;border-radius:99px;background:linear-gradient(90deg,#2F5D50 var(--w),var(--nb-tint) var(--w))}
.lab-parts b{text-align:right}
#app .lab-caveat{margin:8px 0 0;font-size:.8rem;color:var(--nb-muted)}
.lab-result section{margin-top:18px}
#app .lab-result h3{margin:0 0 8px;font-size:1.05rem}
.lab-notes{margin:0;padding-left:20px;display:grid;gap:10px}
.lab-notes li b{display:block;line-height:1.35}
.lab-notes li span{display:block;color:var(--nb-ink-2);font-size:.93rem;line-height:1.45}
.lab-ai{padding:14px 16px;border-radius:12px;background:var(--nb-tint)}
#app .lab-scan{margin:16px 0 0;padding:12px 14px;border-left:3px solid #2B4BEE;background:var(--nb-tint);font-size:.93rem}
.lab-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.lab-chips span{padding:4px 10px;border-radius:999px;font-size:.85rem;font-weight:600}
.lab-chips .is-hit{background:#E7F3EC;color:#1E5F3C}
.lab-chips .is-miss{background:var(--nb-tint);color:var(--nb-ink-2);border:1px dashed var(--nb-rule-strong)}
.lab-chips .is-req{background:#FBE6DF;color:#8F2A16;border-color:#E6B7A6}
.lab-bullets summary{cursor:pointer;font-weight:700}
.lab-bullets table{width:100%;margin-top:8px;border-collapse:collapse;font-size:.88rem}
.lab-bullets th,.lab-bullets td{padding:8px 6px;border-bottom:1px solid var(--nb-rule);text-align:left;vertical-align:top}
.lab-bullets td:not(:first-child),.lab-bullets th:not(:first-child){text-align:center;width:56px}
.lab-ok{color:#1E5F3C;font-weight:800}.lab-no{color:#2B4BEE;font-weight:800}
.lab-result .tool-bar{margin-top:18px}
body.dark .lab-chips .is-hit{background:#173226;color:#9FE0BC}
body.dark .lab-chips .is-req{background:#3A1F18;color:#FFB59F;border-color:#6B3A2A}
body.dark .lab-error{background:#3A1F18;color:#FFB59F}
body.dark .lab-busy li.is-done,body.dark .lab-ok{color:#9FE0BC}
body.dark .lab-no{color:#B3C0FF}
body.dark .lab-parts i{background:linear-gradient(90deg,#9FD3C2 var(--w),var(--nb-tint) var(--w))}

/* ---------- Calendar: programs and competitions by month ---------- */
.pc-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:18px;margin:0 0 22px}
@media (max-width:1100px){.pc-top{grid-template-columns:1fr 1fr}.pc-remind{grid-column:1/-1}}
@media (max-width:640px){.pc-top{grid-template-columns:1fr}}
.pc-top>section{padding:16px 18px;border:1px solid var(--nb-rule);border-radius:16px;background:var(--nb-page)}
#app .pc-top h2{margin:0 0 8px;font-size:1.02rem}
.pc-top ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pc-top li{display:grid;gap:1px}
.pc-jump{padding:0;border:0;background:none;text-align:left;font:700 .95rem/1.3 var(--nb-ui);color:var(--nb-ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--nb-rule-strong);text-underline-offset:3px}
.pc-top li span{font-size:.85rem;color:var(--nb-muted)}
.pc-remind p{margin:0 0 8px;font-size:.9rem;line-height:1.5;color:var(--nb-ink-2)}
#app .pc-remind h3{margin:10px 0 4px;font-size:.9rem}
#app .pc-toggle{display:flex;align-items:center;gap:8px;margin:6px 0;font-weight:600;font-size:.92rem;cursor:pointer}
.pc-toggle input{width:18px;height:18px;accent-color:#2B4BEE}
#app .pc-note{font-size:.84rem;color:var(--nb-muted)}
.pc-recent{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.84rem;color:var(--nb-ink-2)}
.pc-flash{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#E7F3EC;color:#1E5F3C;font-weight:600}
.pc-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.pc-grid{border-top:2px solid var(--nb-ink);}
.pc-row{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:center;width:100%;padding:10px 4px;border:0;background:none;text-align:left;font:inherit;color:inherit}
button.pc-row{cursor:pointer}
button.pc-row:hover{background:var(--nb-tint)}
button.pc-row:focus-visible{outline:3px solid #2B4BEE;outline-offset:-3px}
.pc-head{padding:8px 4px;border-bottom:1px solid var(--nb-rule);font-size:.8rem;font-weight:700;color:var(--nb-muted)}
.pc-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
.pc-months span{padding-left:4px;border-left:1px solid var(--nb-rule)}
.pc-months small{font-weight:600;color:var(--nb-faint,#8C8C91)}
.pc-item{border-bottom:1px solid var(--nb-rule)}
.pc-item.is-open{background:var(--nb-tint)}
.pc-name{display:grid;gap:1px;min-width:0}
.pc-name b{font-weight:700;line-height:1.25}
.pc-name small{font-size:.8rem;color:var(--nb-muted)}
.pc-star{color:#2B4BEE;margin-right:4px}
.pc-status{font-style:normal;font-size:.8rem;font-weight:700}
.pc-status.is-open{color:#1E6B45}.pc-status.is-soon{color:#9A4A1C}.pc-status.is-later{color:var(--nb-muted)}
.pc-track{position:relative;height:26px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/12 - 1px),var(--nb-rule) calc(100%/12 - 1px),var(--nb-rule) calc(100%/12))}
.pc-bar{position:absolute;top:6px;height:14px;border-radius:7px;background:#C9BBA3}
.pc-bar.is-open{background:#2F7D5B}
.pc-bar.is-expected{background:transparent;border:2px dashed #B9A584}
.pc-bar.is-open.is-expected{background:#2F7D5B;border:0}
.pc-today{position:absolute;top:0;bottom:0;width:2px;background:#2B4BEE;opacity:.7}
.pc-detail{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;padding:4px 8px 18px}
@media (max-width:860px){.pc-detail{grid-template-columns:1fr}}
.pc-detail p{margin:0 0 8px;line-height:1.5}
.pc-wins{margin:0 0 8px;padding-left:18px;display:grid;gap:4px}
.pc-wins ul{margin:4px 0 0;padding-left:16px;font-size:.9rem}
.pc-wins .is-past{color:var(--nb-muted);text-decoration:line-through}
.pc-exp{font-size:.8rem;color:var(--nb-muted)}
.pc-links a{font-weight:600;color:#2F5D50}
.pc-actions{display:grid;gap:8px;align-content:start}
.pc-actions .button{width:100%}
.pc-prep{display:grid;gap:2px;margin-top:6px}
.pc-prep small{font-weight:700;color:var(--nb-muted)}
.pc-prep .button{justify-content:flex-start;padding-left:0}
#app .pc-foot{margin:14px 0 0;font-size:.84rem;color:var(--nb-muted)}
@media (max-width:760px){.pc-row{grid-template-columns:1fr}.pc-head .pc-months,.pc-track{display:none}.pc-head{display:none}}
body.dark .pc-flash{background:#173226;color:#9FE0BC}
body.dark .pc-status.is-open{color:#9FE0BC}body.dark .pc-status.is-soon{color:#B3C0FF}
body.dark .pc-bar{background:#5A5040}body.dark .pc-bar.is-open{background:#4FA37C}body.dark .pc-bar.is-expected{border-color:#7A6E58;background:transparent}
body.dark .pc-links a{color:#9FD3C2}body.dark .pc-star{color:#B3C0FF}
body.dark .pc-grid{border-top-color:#EDE8E1}
.pc-row{padding:7px 4px}
.pc-name{grid-template-columns:minmax(0,1fr);row-gap:0}
.pc-name b{font-size:.98rem}
.pc-name small{font-size:.78rem}

/* Interview answers: the eight classic questions as a checklist */
.story-questions{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}
.story-questions li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px 0;border-bottom:1px solid var(--nb-rule);font-weight:600;line-height:1.35}
.story-questions li:last-child{border-bottom:0}
.story-questions li>span:first-child{color:var(--nb-muted);font-weight:800}
.story-questions li.has-story>span:first-child{color:#1E6B45}
.story-questions small{display:block;margin-top:2px;font-weight:500;font-size:.8rem;color:var(--nb-muted)}
body.dark .story-questions li.has-story>span:first-child{color:#9FE0BC}

/* Sidebar icons for the Calendar, and for Practice now that it opens on Today. */
.ws-masthead nav [data-view=dailyTraining]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E")}
.ws-masthead nav [data-view=programCalendar]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3.5v4M16 3.5v4M7.5 13.5h3M13.5 13.5h3M7.5 17h3'/%3E%3C/svg%3E")}

/* Calendar: year at a glance */
.pc-modes{display:inline-flex;gap:0;margin:0 0 14px;border:1px solid var(--nb-rule-strong);border-radius:999px;overflow:hidden}
.pc-modes button{padding:8px 16px;border:0;background:transparent;font:600 .92rem var(--nb-ui);color:var(--nb-ink-2);cursor:pointer}
.pc-modes button[aria-pressed="true"]{background:var(--nb-ink);color:var(--nb-page)}
.pc-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--nb-ink)}
@media (max-width:1100px){.pc-year{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pc-year{grid-template-columns:1fr}}
.pc-month{padding:14px 16px 16px;border-bottom:1px solid var(--nb-rule);border-right:1px solid var(--nb-rule);min-height:170px}
.pc-month.is-now{background:#FFF8EE}
.pc-month header{display:grid;gap:2px;margin-bottom:8px}
#app .pc-month h3{margin:0;font:600 1.35rem/1.1 "Bricolage Grotesque",Georgia,serif;font-variation-settings:'SOFT' 100,'opsz' 48}
.pc-month h3 small{font:600 .8rem var(--nb-ui);color:var(--nb-muted)}
.pc-month header span{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#9A4A1C}
.pc-month ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pc-month li{display:grid;gap:0}
.pc-month li button{padding:0;border:0;background:none;text-align:left;font:600 .93rem/1.3 var(--nb-ui);color:var(--nb-ink);cursor:pointer}
.pc-month li button:hover{text-decoration:underline}
.pc-month li.is-big button{font-weight:800}
.pc-month li small{font-size:.78rem;color:var(--nb-muted)}
.pc-more{font-size:.8rem;color:var(--nb-muted)}
#app .pc-empty{margin:0;font-size:.85rem;color:var(--nb-muted)}
body.dark .pc-month.is-now{background:#2A2218}
body.dark .pc-month header span{color:#B3C0FF}
.pc-modes{width:fit-content}
#app .pc-found{padding:8px 12px;border-left:3px solid #2F7D5B;background:#EEF6F1;font-size:.9rem}
.pc-news{margin:8px 0;font-size:.9rem}
.pc-news ul{margin:4px 0 0;padding-left:18px;display:grid;gap:4px}
.pc-news a{color:#2F5D50;font-weight:600}
.pc-news small{color:var(--nb-muted)}
body.dark #app .pc-found{background:#173226;border-left-color:#9FE0BC}
body.dark .pc-news a{color:#9FD3C2}

/* Calendar preparation: the same paper, ink and quiet rules as the main workspace. */
.welcome-purpose{max-width:620px;margin:18px auto 22px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.55;color:inherit}
.pc-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px 20px}
.pc-filters>label{flex:1 1 150px;min-width:0}
.pc-filters .pc-toggle{flex:0 1 auto;min-height:44px;align-items:center}
.pc-filters select{width:100%;min-height:44px}
.pc-undated{padding:24px 0;border-bottom:1px solid var(--nb-rule)}
.pc-undated .button{white-space:normal;text-align:left}
.pc-detail small{display:block}
.pc-wins{max-height:300px;overflow:auto;padding-right:12px}
.pc-detail a,.programme-prep a{overflow-wrap:anywhere}
.pc-flash{padding:10px 0;border-bottom:1px solid var(--nb-rule);color:var(--nb-ink)}
.programme-prep-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:32px;margin-top:28px}
.programme-prep-grid>section,.programme-prep-grid>aside{min-width:0}
.programme-prep-grid>aside{padding-left:28px;border-left:1px solid var(--nb-rule)}
.programme-prep-grid h2{margin-top:22px}
.programme-prep-grid fieldset{border:0;padding:0;margin:0 0 28px}
.programme-prep-grid .kit-check{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--nb-rule);font-weight:400;line-height:1.5;cursor:pointer}
.kit-check input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:var(--nb-accent,#2B4BEE)}
.kit-check a{display:block;font-size:.875rem}
.programme-prep textarea{width:100%;resize:vertical;min-height:220px;font:inherit;line-height:1.6}
.programme-prep .button+small{display:block;margin-top:12px;color:var(--nb-muted)}
body.dark .ws-app-table td{color:var(--nb-ink)}
body.dark #app .gd-card .button.text-button{color:#fff!important;background:transparent}
.programme-prep aside .button{display:flex;white-space:normal;text-align:left;min-height:44px}
#kit-review{padding:12px 0;font-size:.92rem}
#kit-review ul{padding-left:20px}
.placement-program{padding:24px 0;border-top:1px solid var(--nb-rule)}
.placement-weeks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none;counter-reset:week}
.placement-weeks li{border-top:2px solid var(--nb-rule-strong);padding-top:12px;counter-increment:week}
.placement-weeks li>b::before{content:counter(week,decimal-leading-zero) ' / ';color:var(--nb-muted);font-size:.85rem}
.placement-weeks p{font-size:.95rem;line-height:1.55}
.direction-field-group{padding:16px 0;border-bottom:1px solid var(--nb-rule)}
.direction-field-group>summary{font:600 1.25rem/1.4 "Bricolage Grotesque",Georgia,serif;cursor:pointer;padding:8px 0;min-height:44px}
.direction-field-group>summary>span{margin-left:12px;font:400 .9rem var(--nb-ui);color:var(--nb-muted)}
.direction-other-fields{margin:24px 0}
.direction-other-fields>summary{cursor:pointer;min-height:44px;padding:10px 0}
@media(max-width:760px){
 .ws-mobile-title{display:none!important}
 .cs-compass.is-app .cs-compass-intro{display:block;padding-right:0}
 .cs-compass.is-app .cs-compass-intro .cs-dial{display:none}
 .programme-prep-grid{grid-template-columns:1fr;gap:18px}
 .programme-prep-grid>aside{border-left:0;border-top:1px solid var(--nb-rule);padding:16px 0 0}
 .placement-weeks{grid-template-columns:1fr;gap:12px}
 .pc-modes{max-width:100%}
 .pc-modes button{padding:10px 12px}
 .welcome-purpose{padding:0 10px}
}

/* ---------- 9 Oct 2026: metro line map, same-Monday comparison, last-stop sign-up ---------- */
.welcome-metro{margin-top:28px;color:var(--nb-ink);--stop-bg:#FFFFFF}
body.dark .welcome-metro{--stop-bg:#1A1B1E}
.metro-legend{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0 0 8px;font:500 .92rem/1.4 var(--nb-ui);color:var(--nb-muted)}
.metro-legend b{color:var(--nb-ink);font-weight:700}
.metro-legend i{display:inline-block;width:26px;height:8px;border-radius:4px;vertical-align:middle;margin-right:8px}
.metro-legend .metro-legend-swap i{width:10px;height:10px;border-radius:50%;border:3px solid var(--nb-ink);background:var(--stop-bg)}
.metro-map{display:block;width:100%;height:auto;overflow:visible;font-family:var(--nb-ui)}
.metro-line{fill:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.metro-swap{fill:var(--stop-bg);stroke:var(--nb-ink);stroke-width:4}
.metro-swap-in{fill:var(--nb-ink)}
.metro-end{stroke:var(--stop-bg);stroke-width:2}
.metro-name{font-size:15px;font-weight:700;fill:currentColor}
.metro-sub{font-size:12.5px;fill:var(--nb-muted)}
.metro-stop{cursor:pointer;outline:none}
.metro-stop rect,.metro-stop circle{transition:transform .2s;transform-box:fill-box;transform-origin:center}
.metro-stop:is(:hover,.is-on) :is(rect,circle.metro-swap){transform:scale(1.35)}
.metro-stop.is-on .metro-name{fill:var(--w-brick,#2B4BEE)}
body.dark .metro-stop.is-on .metro-name{fill:#8FA2FF}
.metro-stop:focus-visible .metro-name{text-decoration:underline;text-decoration-thickness:2px}
.metro-board{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:18px auto 0;max-width:900px;padding:14px 20px;border-radius:12px;background:#121212;color:#FFB000;font:600 .95rem/1.5 ui-monospace,"Cascadia Mono",Consolas,monospace;box-shadow:inset 0 0 0 2px #2A2A2A}
.metro-board-next,.metro-board-label{font-size:.78rem;letter-spacing:.08em;color:#D99A00;text-transform:uppercase}
.metro-board b{font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:#FFC233}
.metro-board [data-metro-note]{flex-basis:100%;color:#F2D9A6;font-weight:500}
.metro-strips{display:none}
@media (max-width:760px){
 .metro-map{display:none}
 .metro-strips{display:grid;gap:22px;margin-top:8px}
 .metro-strips h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font:700 1rem/1.3 var(--nb-ui);color:var(--nb-ink)}
 .metro-strips h3 i{width:26px;height:8px;border-radius:4px;background:var(--line)}
 .metro-strips ol{position:relative;list-style:none;margin:0;padding:0 0 0 30px}
 .metro-strips ol::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:6px;border-radius:3px;background:var(--line)}
 .metro-strips li{position:relative;padding:7px 0}
 .metro-strips li::before{content:"";position:absolute;left:-26px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--stop-bg);border:2px solid var(--line)}
 .metro-strips li.is-swap::before{left:-29px;top:9px;width:12px;height:12px;border:4px solid var(--nb-ink)}
 .metro-strips li b{display:block;font:700 .98rem/1.3 var(--nb-ui);color:var(--nb-ink)}
 .metro-strips li span{font-size:.85rem;color:var(--nb-muted)}
 .metro-board{margin-top:16px}
}

.welcome-monday{padding:clamp(48px,7vw,96px) 0}
.monday-pair{display:grid;grid-template-columns:minmax(0,330px) auto minmax(0,520px);justify-content:center;align-items:center;gap:32px;margin-top:36px}
.monday-pair figure{margin:0}
.monday-pair figcaption{margin-top:14px;text-align:center;font:600 .95rem/1.4 var(--nb-ui);color:var(--nb-muted)}
.monday-phone{transform:rotate(-2deg)}
.mp-screen{border-radius:40px;border:10px solid #17181A;background:linear-gradient(165deg,#2E3B57 0%,#6B4F86 55%,#C7846A 100%);padding:30px 12px 24px;min-height:540px;color:#fff;box-shadow:0 30px 60px -20px rgba(40,25,10,.45)}
.mp-time,#app .welcome .mp-time{color:#fff;margin:0;text-align:center;font:600 4.2rem/1 "Bricolage Grotesque",Georgia,serif;letter-spacing:-.02em}
.mp-date,#app .welcome .mp-date{margin:6px 0 22px;text-align:center;font:500 .9rem/1.2 var(--nb-ui);color:rgba(255,255,255,.88)}
.mp-screen ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mp-screen li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:18px;background:rgba(255,253,248,.9);color:#1B1B1D;font:400 .82rem/1.35 var(--nb-ui);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mp-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff;font:700 .72rem/1 var(--nb-ui)}
.mp-screen li small{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:#55565B}
.mp-screen li small b{color:#1B1B1D;text-transform:uppercase;letter-spacing:.03em}
.mp-screen li strong{display:block;font-weight:700}
.mp-screen li div>span{display:block;color:#3E3F44}
.monday-vs{font:italic 600 1.6rem/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-muted)}
.monday-home{transform:rotate(1deg)}
.mh-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-radius:16px 16px 0 0;background:#E2E5EC;color:#3A3E4A;font:700 .82rem/1 var(--nb-ui)}
.mh-bar span{width:10px;height:10px;border-radius:50%;background:#BEC4D0}
.mh-bar b{margin-left:8px}
.mh-body{padding:18px 22px 8px;border:1px solid #DCE0E8;border-top:0;border-radius:0 0 16px 16px;background:#FFFFFF;color:#121318;box-shadow:0 30px 60px -24px rgba(40,25,10,.35)}
.mh-hi{margin:0 0 6px;font:600 1.35rem/1.2 "Bricolage Grotesque",Georgia,serif}
.mh-body section{padding:12px 0;border-top:1px dashed #DCE0E8}
.mh-body section:first-of-type{border-top:0}
#app .welcome .mh-body h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:700 .82rem/1.2 var(--nb-ui);letter-spacing:.04em;text-transform:uppercase;color:#545A68}
.mh-body h4 em{margin-left:auto;font-style:normal;font-weight:700;text-transform:none;letter-spacing:0;font-size:.74rem;padding:3px 9px;border-radius:999px;background:#ECEEF4;color:#545A68}
.mh-body section:first-of-type h4 em{background:#E3F1EA;color:#1B5E41}
.mh-body section:first-of-type h4 em::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#1F9D63;vertical-align:1px}
.mh-body ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mh-body ol li{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center}
.mh-days{grid-row:span 2;display:grid;place-items:center;height:40px;border-radius:10px;background:#E3E8FF;color:#1C34C4;font:700 .95rem/1 var(--nb-ui)}
.mh-body ol b{font:700 .95rem/1.3 var(--nb-ui)}
.mh-body ol small{color:#545A68;font-size:.82rem}
.mh-body p{margin:0;font:500 .98rem/1.45 var(--nb-ui)}
.mh-body p small{display:block;font-size:.78rem;color:#545A68}
.mh-rewrite s{display:block;color:#6E7482}
.mh-rewrite span{display:block;margin-top:4px}
.mh-rewrite mark{background:#FFE7A3;color:#121318;padding:0 3px;border-radius:3px}
.mh-stages{display:flex;flex-wrap:wrap;gap:8px}
.mh-stages span{padding:6px 12px;border-radius:999px;background:#ECEEF4;font-size:.85rem}
.mh-stages b{margin-left:4px}
@media (prefers-reduced-motion:no-preference){
 .welcome-monday.will-reveal .mp-screen li,.welcome-monday.will-reveal .mh-body section{opacity:0}
 .welcome-monday.will-reveal.is-in .mp-screen li{animation:monday-drop .45s calc(.2s + var(--i) * .3s) cubic-bezier(.2,1.3,.5,1) both}
 .welcome-monday.will-reveal.is-in .mh-body section{animation:monday-rise .5s calc(.4s + var(--i) * .18s) ease-out both}
}
@keyframes monday-drop{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes monday-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:900px){
 .monday-pair{grid-template-columns:minmax(0,1fr);gap:18px;justify-items:center}
 .monday-phone{width:min(100%,330px)}
 .monday-home{width:min(100%,520px)}
 .mp-screen{min-height:0}
 .monday-phone,.monday-home{transform:none}
}

#app .welcome .acct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:clamp(32px,6vw,80px);align-items:center}
.acct-copy small,#app .welcome .acct-copy small{display:block;margin-bottom:10px;font:700 1.05rem/1.2 var(--nb-ui);color:#FFD86B}
#app .welcome .acct-copy h2{margin:0;color:#fff;font-family:"Bricolage Grotesque",Georgia,serif;font-weight:600;font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.04;letter-spacing:-.02em}
.acct-copy>p,#app .welcome .acct-copy>p{max-width:34em;margin:14px 0 0;color:#E3EAF3;font:400 1.08rem/1.6 var(--nb-ui)}
.acct-copy .acct-real{margin-top:22px;font-size:1rem}
.acct-real b{color:#FFD86B}
.acct-browser{max-width:560px;margin-top:28px;border-radius:12px;overflow:hidden;background:#F3F4F8;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.ab-tabs{display:flex;gap:2px;padding:8px 8px 0;background:#CDD1DA}
.ab-tab{position:relative;flex:1 1 0;min-width:0;max-width:150px;display:flex;align-items:center;gap:6px;padding:7px 20px 7px 8px;border-radius:8px 8px 0 0;background:#E2E5EC;color:#2B2E38;font:500 .72rem/1.2 var(--nb-ui);white-space:nowrap;overflow:hidden}
.ab-tab i{flex:none;width:9px;height:9px;border-radius:50%;background:hsl(calc(var(--i) * 47) 55% 48%)}
.ab-tab em{position:absolute;right:6px;font-style:normal;color:#6E7482}
.ab-tab.is-keep{flex:0 0 auto;max-width:none;background:#F3F4F8;font-weight:700;padding-right:12px}
.ab-page{display:grid;padding:20px 18px;color:#121318;font:600 1rem/1.4 var(--nb-ui)}
.ab-page b{grid-area:1/1}
.ab-after{opacity:0}
@media (prefers-reduced-motion:no-preference){
 .welcome-account.is-in .ab-tab:not(.is-keep){animation:ab-close .32s calc(.8s + var(--i) * .2s) ease-in forwards}
 .welcome-account.is-in .ab-before{animation:ab-out .3s 2.5s forwards}
 .welcome-account.is-in .ab-after{animation:ab-in .4s 2.7s forwards}
}
@media (prefers-reduced-motion:reduce){.ab-tab:not(.is-keep),.ab-before{display:none}.ab-after{opacity:1}}
@keyframes ab-close{to{max-width:0;padding-left:0;padding-right:0;margin-right:-2px;opacity:0}}
@keyframes ab-out{to{opacity:0}}
@keyframes ab-in{to{opacity:1}}
#app .welcome .acct-card{position:relative;padding:28px;border-radius:20px;background:#FFFFFF;color:#121318;box-shadow:0 30px 60px -18px rgba(0,0,0,.55)}
.acct-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#E6E9F0}
#app .welcome .acct-switch button{border:0;border-radius:999px;padding:10px;background:transparent;color:#545A68;font:700 .95rem/1 var(--nb-ui);cursor:pointer;box-shadow:none}
#app .welcome .acct-switch button[aria-pressed="true"]{background:#fff;color:#121318;box-shadow:0 2px 6px rgba(60,40,20,.15)}
#app .welcome .acct-card h3{margin:22px 0 4px;color:#121318;font:600 1.6rem/1.15 "Bricolage Grotesque",Georgia,serif}
#app .welcome .acct-note{margin:0 0 18px;color:#545A68;font:400 .98rem/1.5 var(--nb-ui)}
#app .welcome .acct-form{display:grid;gap:14px;margin:0}
#app .welcome .acct-form label{display:grid;gap:6px;margin:0;color:#121318;font:700 .86rem/1.2 var(--nb-ui);letter-spacing:0;text-transform:none}
#app .welcome .acct-form input{width:100%;height:48px;margin:0;padding:0 14px;border:1.5px solid #C6CBD6;border-radius:12px;background:#fff;color:#121318;font:400 1rem/1 var(--nb-ui);box-shadow:none}
#app .welcome .acct-form input:focus{border-color:#2B4BEE;outline:3px solid rgba(180,68,26,.2);outline-offset:0}
#app .welcome .acct-form small{color:#545A68;font:500 .8rem/1.2 var(--nb-ui)}
#app .welcome .acct-forgot{justify-self:end;margin:-6px 0 0;padding:0;border:0;background:none;color:#1C34C4;font:600 .86rem/1.2 var(--nb-ui);cursor:pointer;box-shadow:none}
#app .welcome .acct-forgot:hover{text-decoration:underline}
#app .welcome .acct-go{width:100%;height:52px;margin-top:4px;border:0;border-radius:12px;background:#2B4BEE;color:#fff;font:700 1.05rem/1 var(--nb-ui);cursor:pointer}
#app .welcome .acct-go:hover{background:#1C34C4}
.acct-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:18px 0 0;padding:0;list-style:none;color:#545A68;font:500 .84rem/1.3 var(--nb-ui)}
.acct-facts li::before{content:"✓ ";color:#2F5D50;font-weight:700}
@media (max-width:900px){#app .welcome .acct{grid-template-columns:minmax(0,1fr)}.acct-browser{max-width:none}}
@media (max-width:480px){#app .welcome .acct-card{padding:20px}.ab-tab{padding-right:8px}.ab-tab em{display:none}}

/* Home milestones as a line: stations fill as you pass them */
#app .cs-line header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
#app .cs-line header span{font:600 .85rem/1.2 var(--nb-ui);color:var(--nb-muted)}
#app .cs-line ol{position:relative;list-style:none;margin:0;padding:0 0 0 30px}
#app .cs-line ol::before{content:"";position:absolute;left:9px;top:12px;bottom:12px;width:6px;border-radius:3px;background:var(--nb-rule-strong)}
#app .cs-line li{position:relative;display:block;padding:7px 0;border:0}
#app .cs-line li::before{content:"";position:absolute;left:-27px;top:11px;width:12px;height:12px;border-radius:50%;background:var(--nb-page);border:3px solid var(--nb-rule-strong)}
#app .cs-line li.is-earned::before{background:var(--nb-pen);border-color:var(--nb-pen)}
#app .cs-line li b{display:block;font:700 .95rem/1.3 var(--nb-ui);color:var(--nb-ink)}
#app .cs-line li small{display:block;font-size:.82rem;color:var(--nb-muted)}
#app .cs-line li.is-earned small{color:var(--nb-green);font-weight:600}
#app .cs-line>p{margin:12px 0 0;font-size:.82rem;color:var(--nb-muted)}

/* Applications: stages as stations on one line */
#app .app-line{margin:8px 0 22px}
#app .app-line ol{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);list-style:none;margin:0;padding:0}
#app .app-line ol::before{content:"";position:absolute;left:calc(100% / var(--n,6) / 2);right:calc(100% / var(--n,6) / 2);top:21px;height:6px;border-radius:3px;background:var(--nb-rule-strong)}
#app .app-line li{position:relative;text-align:center}
#app .app-line button{display:grid;justify-items:center;gap:6px;width:100%;padding:0;border:0;background:none;color:var(--nb-muted);font:600 .85rem/1.2 var(--nb-ui);cursor:pointer;box-shadow:none}
#app .app-line button b{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--nb-page);border:4px solid var(--nb-rule-strong);color:var(--nb-ink);font:700 1.05rem/1 var(--nb-ui)}
#app .app-line li.is-full button b{border-color:var(--nb-pen);color:var(--nb-pen)}
#app .app-line button[aria-pressed="true"] b{background:var(--nb-pen);border-color:var(--nb-pen);color:#fff}
#app .app-line button[aria-pressed="true"] span{color:var(--nb-ink)}
#app .app-line button:hover span{color:var(--nb-ink);text-decoration:underline}
#app .app-line p{margin:12px 0 0;font-size:.85rem;color:var(--nb-muted)}
@media (max-width:600px){#app .app-line button b{width:38px;height:38px;border-width:3px;font-size:.92rem}#app .app-line ol::before{top:16px}#app .app-line button{font-size:.72rem}}

/* Sidebar ticket: the next programme date, on every page */
.cs-ticket{display:none}
@media (min-width:1024px){
 .ws-masthead .cs-ticket{order:3;margin-top:auto;display:grid;gap:2px;width:100%;padding:12px 14px 12px 16px;border:0;border-left:4px solid var(--nb-pen);border-radius:4px 10px 10px 4px;background:var(--nb-tint);text-align:left;cursor:pointer;color:var(--nb-ink);font-family:var(--nb-ui);box-shadow:none;position:relative}
 .ws-masthead .cs-ticket::after{content:"";position:absolute;right:-1px;top:50%;width:10px;height:18px;margin-top:-9px;border-radius:10px 0 0 10px;background:var(--nb-page)}
 .ws-masthead .cs-ticket small{font:700 .7rem/1.2 var(--nb-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-pen)}
 .ws-masthead .cs-ticket b{font:700 .92rem/1.25 var(--nb-ui)}
 .ws-masthead .cs-ticket span{font-size:.82rem;color:var(--nb-muted)}
 .ws-masthead .cs-ticket:hover b{text-decoration:underline}
 .ws-masthead .cs-ticket~.ws-account{order:4;margin-top:12px}
}
/* The Apply button stays for Enter in the search box; selects apply on change. */
#app form[data-form="practiceBrowse"]>button.button{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Focus timer: label always visible, no half-open state */
.cs-focus>button[data-focus-start]{padding:8px 14px 8px 10px;min-height:40px;background:var(--nb-page);color:var(--nb-ink);font:700 .88rem/1 var(--nb-ui)}
.cs-focus>button[data-focus-start] span,.cs-focus>button[data-focus-start]:is(:hover,:focus-visible) span{max-width:none;margin-left:6px;transition:none}
/* Today */
#app .daily-training .daily-sub{margin:-6px 0 22px;max-width:40em;color:var(--nb-muted);font-size:1.05rem}
#app .daily-training>.cs-drills{margin-top:28px}
/* Desktop: the focus timer lives in the sidebar corner, beside the account button, instead of over content */
@media (min-width:1024px){.cs-focus{left:64px;right:auto;bottom:14px}.cs-focus-done{left:20px;right:auto;bottom:70px}}
/* GD topic card: a chalkboard in the homepage's dusk green, chalk-white serif */
.gd-card{background:#22302F radial-gradient(120% 90% at 20% 0%,rgba(255,255,255,.07),transparent 60%);box-shadow:inset 0 0 0 8px #3A2A1C,inset 0 0 0 10px #2A1F15,0 16px 30px -18px rgba(40,25,10,.5);padding:28px}
#app .gd-card h2{font:600 clamp(1.5rem,1.2rem + 1vw,2.1rem)/1.15 "Bricolage Grotesque",Georgia,serif;color:#F4F6FB}
.gd-card small{color:#FFD86B}
#app .gd-card .button{background:#F4F6FB;color:#22302F;border-color:#F4F6FB}
/* Interview clock reads as a clock */
#app #interview-timer{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--nb-tint);border:1px solid var(--nb-rule);font:700 .95rem/1.2 var(--nb-data);color:var(--nb-ink)}
#app #interview-timer::before{content:"⏱ on the clock";font:600 .8rem/1 var(--nb-ui);color:var(--nb-muted)}
@media (min-width:1024px){.cs-focus>button[data-focus-start]{min-height:34px;padding:5px 12px 5px 8px;font-size:.84rem}.cs-focus>button[data-focus-start] svg{width:18px;height:18px}.ws-masthead .cs-ticket{margin-bottom:6px}}
@media (max-width:1023px){.cs-focus>button[data-focus-start]{padding:9px;min-width:44px;min-height:44px}.cs-focus>button[data-focus-start] span,.cs-focus>button[data-focus-start]:is(:hover,:focus-visible) span{display:none}}

/* Explore: roles shown as cards per field instead of closed accordions; serif headings like the rest of the app */
#app .direction-groups{display:grid;gap:28px}
#app .direction-field-group.is-open>header{display:flex;align-items:baseline;gap:10px;padding:0 0 10px;margin:0 0 14px;border-bottom:2px solid var(--nb-ink)}
#app .direction-field-group.is-open>header b{font:600 1.5rem/1.1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-ink)}
#app .direction-field-group.is-open>header span{font-size:.88rem;color:var(--nb-muted)}
#app .direction-field-group.is-open .direction-role-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}
#app .direction-field-group.is-open article{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--nb-rule);border-radius:14px;background:var(--nb-page);transition:border-color .15s,transform .15s}
#app .direction-field-group.is-open article:hover{border-color:var(--nb-pen);transform:translateY(-2px)}
#app .direction-field-group.is-open article h3{margin:0 0 6px}
#app .direction-field-group.is-open article h3 .button{padding:0;min-height:0;font:700 1.05rem/1.25 var(--nb-ui);color:var(--nb-ink);text-align:left;border:0;background:none}
#app .direction-field-group.is-open article p{margin:0;font-size:.92rem;color:var(--nb-ink-2)}
#app .direction-field-group.is-open article p small{display:block;font:700 .72rem/1.2 var(--nb-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted);margin-bottom:2px}
#app .direction-field-group.is-open article>.button{align-self:flex-start;padding:0;min-height:0;color:var(--nb-pen);font-weight:700}
#app .ws-main :is(.cs-compass-intro h2,.cs-compass-intro h3,.direction-compass h2){font-family:"Bricolage Grotesque",Georgia,serif;font-weight:600}

/* Casebook: case files in a grid instead of 25 identical rows */
#app .case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:14px;margin-top:8px}
#app .case-grid .ws-case-row.case-file{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:14px;margin:12px 0 0;padding:20px 20px 16px;border:1px solid var(--nb-rule);border-radius:4px 14px 14px 14px;background:var(--nb-page)}
#app .case-grid .case-file .case-file-label{position:absolute;top:-12px;left:-1px;padding:4px 12px 3px;border:1px solid var(--nb-rule);border-bottom:0;border-radius:8px 8px 0 0;background:var(--nb-page);font:700 .72rem/1.2 var(--nb-data);letter-spacing:.06em;color:var(--nb-pen)}
#app .case-grid .case-file h3{margin:0 0 4px;font:600 1.12rem/1.25 "Bricolage Grotesque",Georgia,serif;color:var(--nb-ink)}
#app .case-grid .case-file small{color:var(--nb-muted);font-size:.8rem}
#app .case-grid .case-file .case-preview{margin:8px 0 0;font-size:.9rem;color:var(--nb-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#app .case-grid .case-file .ws-case-state{align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--nb-pen-tint);color:var(--nb-pen);font:700 .78rem/1.3 var(--nb-ui)}
#app .case-grid .case-file.is-done .ws-case-state{background:var(--nb-green-tint);color:var(--nb-green)}
#app .case-grid .case-file.is-active{border-color:var(--nb-pen)}
#app .case-grid .case-file .actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin:0;padding-top:12px;border-top:1px dashed var(--nb-rule)}
#app .case-grid .ws-case-row.case-file{overflow:visible}
#app .case-grid .case-file .actions{justify-content:flex-start;width:100%;max-width:none;margin-inline:0}
#app .case-grid .case-file .ws-case-state{display:inline-block;width:auto;max-width:max-content}
/* Tests: every field tag looks the same, whatever the track */
#app .quiz-round-row .quiz-kicker{display:inline-block;margin:0 0 4px;padding:2px 10px;border-radius:999px;background:var(--nb-tint);border:1px solid var(--nb-rule);color:var(--nb-ink-2);font:700 .74rem/1.4 var(--nb-ui);letter-spacing:0;text-transform:none}
#app .quiz-round-row .quiz-round-number{font:600 1.1rem/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-muted)}
#app .case-grid .ws-case-row.case-file{flex-wrap:nowrap;align-items:stretch;height:auto}

/* Interview answers: the eight questions are buttons that set up the form */
#app .story-questions li>button{display:flex;gap:10px;align-items:flex-start;width:100%;padding:8px 6px;margin:0;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
#app .story-questions li>button:hover{background:var(--nb-tint)}
#app .story-questions li>button:hover>span:last-child{text-decoration:underline;text-decoration-color:var(--nb-pen)}
#app .story-prompt{margin:0 0 10px;padding:10px 14px;border-left:4px solid var(--nb-pen);border-radius:4px;background:var(--nb-pen-tint);font:600 1rem/1.4 "Bricolage Grotesque",Georgia,serif;color:var(--nb-ink)}
/* Résumé: the preview stays in view while the form scrolls */
@media (min-width:1024px){#app .resume-preview{position:sticky;top:72px;align-self:start}}
/* Competitions: live events as a two-column card grid instead of one long column */
@media (min-width:1024px){
 #app .student-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
 #app .student-event-list>:not(article){grid-column:1/-1}
 #app .student-event-list article{display:flex;flex-direction:column;justify-content:space-between;gap:12px;margin:0;padding:16px 18px;border:1px solid var(--nb-rule);border-radius:14px;background:var(--nb-page)}
 #app .student-event-list article>*{max-width:none;width:auto}
 #app .student-event-list article h3{margin:4px 0 6px;font:600 1.05rem/1.3 "Bricolage Grotesque",Georgia,serif}
 #app .student-event-list .student-event-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:8px 0 4px;font-size:.88rem}
 #app .student-event-list article .actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 14px;padding-top:10px;border-top:1px dashed var(--nb-rule)}
}
@media (min-width:1024px){
 #app .student-event-list article>div:first-child{display:block;flex:0 0 auto;height:auto}
 #app .student-event-list article>.actions{margin:auto 0 0;flex-direction:row;flex-wrap:wrap;align-items:center}
 #app .student-event-list article>.actions .button:not(.text-button){min-height:34px;padding:0 14px;margin-left:auto}
}

#app form[data-form="directionCompare"]>button.button{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#app .compare-limit{margin:8px 0 0;font-weight:600;color:var(--nb-pen)}

/* Toolkit as a departures board */
#app .welcome .dep-board{margin-top:28px;border-radius:14px;overflow:hidden;background:#141414;color:#FFB000;box-shadow:inset 0 0 0 3px #2B2B2B,0 24px 40px -28px rgba(40,25,10,.6);font-family:ui-monospace,"Cascadia Mono",Consolas,monospace}
#app .welcome .dep-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:14px 20px;background:#1E1E1E;border-bottom:2px solid #2B2B2B}
#app .welcome .dep-head b{font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:#FFC233}
#app .welcome .dep-head span{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#C9A253}
#app .welcome .dep-head time{margin-left:auto;font-size:1.05rem;font-weight:700;color:#FFC233;letter-spacing:.06em}
#app .welcome .dep-board table{width:100%;border-collapse:collapse}
#app .welcome .dep-board thead th{padding:10px 20px 6px;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#A88A4A}
#app .welcome .dep-board tbody tr{border-top:1px solid #262626}
#app .welcome .dep-board tbody tr:nth-child(odd){background:rgba(255,255,255,.025)}
#app .welcome .dep-board td,#app .welcome .dep-board tbody th{padding:11px 20px;text-align:left;vertical-align:baseline;font-size:.95rem}
#app .welcome .dep-board tbody th{font-weight:700;color:#FFC233;letter-spacing:.03em;white-space:nowrap}
#app .welcome .dep-board tbody td{color:#F2D9A6}
#app .welcome .dep-board td:first-child{width:56px}
#app .welcome .dep-line{display:inline-block;width:28px;height:8px;border-radius:4px;vertical-align:middle}
#app .welcome .dep-line.is-find{background:#D99A00}#app .welcome .dep-line.is-apply{background:#3D5BFF}#app .welcome .dep-line.is-practise{background:#3B7BD0}
#app .welcome .dep-board #app .welcome .dep-fare{text-align:right;font-weight:700;color:#7FE0A6;white-space:nowrap}
#app .welcome .dep-board thead th:last-child{text-align:right}
#app .welcome .dep-foot{margin:0;padding:10px 20px 14px;border-top:1px solid #262626;font-size:.8rem;color:#A88A4A}
@media (prefers-reduced-motion:no-preference){
 #app .welcome .welcome-also.will-reveal #app .welcome .dep-board tbody tr{opacity:0}
 #app .welcome .welcome-also.will-reveal.is-in #app .welcome .dep-board tbody tr{animation:dep-flip .35s calc(var(--i) * .06s) steps(3) both}
}
@keyframes dep-flip{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:700px){
 #app .welcome .dep-board thead{display:none}
 #app .welcome .dep-board tbody tr{display:grid;grid-template-columns:36px 1fr auto;column-gap:10px;padding:10px 14px}
 #app .welcome .dep-board td,#app .welcome .dep-board tbody th{padding:0}
 #app .welcome .dep-board td:first-child{width:auto;grid-row:span 2;align-self:center}
 #app .welcome .dep-board tbody th{white-space:normal}
 #app .welcome .dep-board tbody td:nth-child(3){grid-column:2/4;grid-row:2;font-size:.85rem}
 #app .welcome .dep-board #app .welcome .dep-fare{grid-column:3;grid-row:1}
 #app .welcome .dep-head{padding:12px 14px}#app .welcome .dep-foot{padding:10px 14px 12px}
}
#app .welcome .dep-board :is(th,td){background:transparent;border:0;box-shadow:none}
#app .welcome .dep-board thead th{color:#A88A4A;background:#141414}
#app .welcome .dep-board tbody th{color:#FFC233}
#app .welcome .dep-board tbody td{color:#F2D9A6}
#app .welcome .dep-board .dep-fare{color:#7FE0A6}
#app .welcome .dep-board tbody tr{border-top:1px solid #262626}
#app .welcome .dep-board tbody tr:nth-child(odd){background:rgba(255,255,255,.03)}
#app .welcome .dep-foot{color:#A88A4A}
#app .welcome .dep-head span{color:#C9A253}
#app .welcome .dep-board td.dep-fare,#app .welcome .dep-board thead th:last-child{text-align:right;padding-right:24px}

/* Jargon as an annotated fictional job ad; FAQ as numbered fine print */
#app .welcome .welcome-talk{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
#app .welcome .ad-desk{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:start;margin-top:20px}
#app .welcome .ad-paper{position:relative;padding:24px 26px 18px;background:#FFFEF9;color:#16171D;border:1px solid #DCE0E8;box-shadow:0 1px 0 #DCE0E8,0 18px 34px -22px rgba(40,25,10,.45);transform:rotate(-.6deg);font:400 1.02rem/1.75 Georgia,"Bricolage Grotesque",serif}
#app .welcome .ad-paper::before{content:"";position:absolute;top:-10px;left:50%;width:90px;height:22px;margin-left:-45px;background:rgba(255,216,107,.55);transform:rotate(2deg)}
#app .welcome .ad-flag{margin:0 0 6px;font:700 .8rem/1.2 var(--nb-ui);letter-spacing:.08em;color:#2B4BEE}
#app .welcome .ad-paper h3{margin:0;font:700 1.35rem/1.2 Georgia,serif;color:#121318}
#app .welcome .ad-co{margin:2px 0 12px;font:500 .86rem/1.4 var(--nb-ui);color:#545A68}
#app .welcome .ad-paper p{margin:0 0 10px}
#app .welcome .ad-foot{margin:14px 0 0;font:italic 400 .8rem/1.4 var(--nb-ui);color:#545A68}
#app .welcome .ad-mark{display:inline;padding:0 3px;margin:0;border:0;border-radius:2px;background:linear-gradient(transparent 35%,#FFE27A 35%,#FFE27A 92%,transparent 92%);color:inherit;font:inherit;cursor:pointer;box-shadow:none}
#app .welcome .ad-mark sup{margin-right:2px;font:700 .65rem/1 var(--nb-ui);color:#2B4BEE}
#app .welcome .ad-mark[aria-pressed="true"]{background:linear-gradient(transparent 35%,#FFC7A8 35%,#FFC7A8 92%,transparent 92%);text-decoration:line-through;text-decoration-color:#2B4BEE;text-decoration-thickness:2px}
#app .welcome .ad-mark:focus-visible{outline:2px solid #2B4BEE;outline-offset:2px}
#app .welcome .ad-notes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#app .welcome .ad-notes li{display:none;font:italic 600 1rem/1.35 Georgia,serif;color:#2B4BEE;transform:rotate(-1.2deg)}
#app .welcome .ad-notes li.is-shown{display:block;animation:ad-ink .3s ease-out both}
#app .welcome .ad-hint{margin:0;font:italic 500 .92rem/1.4 Georgia,serif;color:var(--nb-muted)}
#app .welcome .ad-desk.has-notes .ad-hint{display:none}
@keyframes ad-ink{from{opacity:0;transform:rotate(-1.2deg) translateX(-6px)}to{opacity:1;transform:rotate(-1.2deg)}}
@media (prefers-reduced-motion:reduce){#app .welcome .ad-notes li.is-shown{animation:none}}
#app .welcome .fine-print{list-style:none;margin:20px 0 0;padding:0;border-top:2px solid var(--nb-ink)}
#app .welcome .fine-print li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:14px 0;border-bottom:1px solid var(--nb-rule)}
#app .welcome .fp-clause{font:600 1.1rem/1.3 "Bricolage Grotesque",Georgia,serif;color:var(--w-brick,#2B4BEE)}
#app .welcome .fine-print h3{margin:0 0 4px;font:700 1.02rem/1.35 var(--nb-ui);color:var(--nb-ink)}
#app .welcome .fine-print p{margin:0;color:var(--nb-ink-2);font-size:.96rem;line-height:1.55}
body.dark #app .welcome .ad-paper{background:#F4EFE4}
@media (max-width:900px){#app .welcome .welcome-talk{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){#app .welcome .ad-desk{grid-template-columns:minmax(0,1fr)}#app .welcome .ad-paper{transform:none;padding:20px 18px 14px}}
#app .welcome .ad-mark{min-height:0;height:auto;line-height:inherit;vertical-align:baseline;letter-spacing:inherit}
/* Light "paper" objects keep dark ink in dark mode */
body.dark #app .welcome :is(.ad-paper,.mh-body,.acct-card,.ab-page) :is(p,b,strong,li,h3,h4,span,label,button.ad-mark){color:#16171D}
body.dark #app .welcome :is(.ad-paper,.mh-body,.acct-card) :is(small,.ad-co,.ad-foot,.acct-note,.acct-facts li){color:#545A68}
body.dark #app .welcome .ad-paper .ad-flag,body.dark #app .welcome .ad-mark sup{color:#2B4BEE}
body.dark #app .welcome .mh-body .mh-days{color:#1C34C4}
body.dark #app .welcome .mh-body section:first-of-type h4 em{color:#1B5E41}
body.dark #app .welcome .mh-rewrite s{color:#6E7482}
body.dark #app .welcome .acct-card .acct-go{color:#fff}
body.dark #app .welcome .acct-switch button{color:#545A68}
body.dark #app .welcome .acct-switch button[aria-pressed="true"]{color:#121318}
body.dark #app .welcome .acct-forgot{color:#1C34C4}
body.dark #app .welcome .mp-screen li :is(strong,b){color:#1B1B1D}
body.dark #app .welcome .mp-screen li div>span{color:#3E3F44}
body.dark #app .welcome .welcome-skip{background:#EEF0F5;color:#121318}
body.dark #app .welcome .fp-clause{color:#8FA2FF}
body.dark #app .welcome .acct-card button.acct-go,body.dark #app .welcome .acct-card .acct-go:hover{color:#FFFFFF}
body.dark #app .welcome .welcome-footer span{color:#B5AE9F}
#app .welcome .metro-board :is(.metro-board-next,.metro-board-label){color:#D99A00}
#app .welcome .metro-board b{color:#FFC233}
#app .welcome .metro-board [data-metro-note]{color:#F2D9A6}
#app .welcome .welcome-metro .metro-board :is(.metro-board-next,.metro-board-label){color:#D99A00}
/* Phone strip maps fold away; the first line starts open */
@media (max-width:760px){
 #app .welcome .metro-strips details{border-bottom:1px solid var(--nb-rule);padding:4px 0}
 #app .welcome .metro-strips summary{display:flex;align-items:center;gap:10px;padding:10px 0;list-style:none;cursor:pointer;font:700 1rem/1.3 var(--nb-ui);color:var(--nb-ink)}
 #app .welcome .metro-strips summary::-webkit-details-marker{display:none}
 #app .welcome .metro-strips summary i{width:26px;height:8px;border-radius:4px;background:var(--line)}
 #app .welcome .metro-strips summary span{margin-left:auto;font-weight:500;font-size:.85rem;color:var(--nb-muted)}
 #app .welcome .metro-strips summary::after{content:"+";font-weight:700;color:var(--nb-pen);width:1ch}
 #app .welcome .metro-strips details[open] summary::after{content:"–"}
 #app .welcome .metro-strips{gap:0}
}
@media (max-width:760px){#app .welcome .metro-legend{display:none}}

/* Calendar year view: monthly programmes in one strip */
#app .pc-every{margin:0 0 18px;padding:14px 18px;border:1px dashed var(--nb-rule-strong);border-radius:12px;background:var(--nb-tint)}
#app .pc-every h3{margin:0 0 2px;font:600 1.1rem/1.2 "Bricolage Grotesque",Georgia,serif}
#app .pc-every p{margin:0 0 10px;font-size:.88rem;color:var(--nb-muted)}
#app .pc-every ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0}
#app .pc-every li{display:grid}
#app .pc-every li button{padding:0;border:0;background:none;color:var(--nb-ink);font:700 .92rem/1.3 var(--nb-ui);text-align:left;cursor:pointer}
#app .pc-every li button:hover{text-decoration:underline}
#app .pc-every li small{color:var(--nb-muted);font-size:.8rem}
#app .pc-year .pc-month h3{margin:0 0 10px}

/* All tools: an index on the three lines */
#app .tools-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:28px 32px;margin-top:8px}
#app .tools-line h2{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--nb-ink);font:600 1.35rem/1.2 "Bricolage Grotesque",Georgia,serif}
#app .tools-line h2 i{width:28px;height:8px;border-radius:4px;background:var(--line)}
#app .tools-line h2 small{margin-left:auto;font:600 .78rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .tools-line.is-find{--line:#D99A00}#app .tools-line.is-practise{--line:#2563A8}#app .tools-line.is-apply{--line:#C2410C}#app .tools-line.is-account{--line:var(--nb-rule-strong)}
#app .tools-line ul{list-style:none;margin:0;padding:0}
#app .tools-line li{border-bottom:1px solid var(--nb-rule)}
#app .tools-line li :is(button,a){display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:11px 2px;border:0;background:none;color:var(--nb-ink);text-align:left;text-decoration:none;font:inherit;cursor:pointer;box-shadow:none;min-height:0}
#app .tools-line li b{font-weight:700;font-size:.98rem}
#app .tools-line li span{font-size:.84rem;color:var(--nb-muted);text-align:right}
#app .tools-line li :is(button,a):hover b{color:var(--nb-pen);text-decoration:underline}

/* Daily desk */
#app .desk-roles{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
#app .desk-roles button{padding:7px 14px;border:1px solid var(--nb-rule-strong);border-radius:999px;background:var(--nb-page);color:var(--nb-ink-2);font:600 .9rem/1.2 var(--nb-ui);cursor:pointer;min-height:0}
#app .desk-roles button[aria-pressed="true"]{background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-page)}
#app .desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
#app .desk-case,#app .desk-board,#app .desk-news{padding:22px 24px;border:1px solid var(--nb-rule);border-radius:16px;background:var(--nb-page)}
#app .desk-kicker{margin:0 0 6px;font:700 .76rem/1.3 var(--nb-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--nb-pen)}
#app .desk-case h2{margin:0 0 8px;font:600 1.6rem/1.15 "Bricolage Grotesque",Georgia,serif}
#app .desk-prompt{margin:0 0 14px;font-size:1.02rem;line-height:1.6}
#app .desk-bars{display:grid;gap:8px;margin:0 0 10px;padding:14px 16px;border-radius:12px;background:var(--nb-tint)}
#app .desk-bars div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.86rem}
#app .desk-bars i{display:block;height:10px;border-radius:5px;background:var(--nb-pen);width:var(--w)}
#app .desk-bars b{font-variant-numeric:tabular-nums}
#app .desk-fine{margin:6px 0 0;font-size:.8rem;color:var(--nb-muted)}
#app .desk-form{display:grid;gap:16px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--nb-rule)}
#app .desk-form fieldset{margin:0;padding:0;border:0;display:grid;gap:6px}
#app .desk-form legend,#app .desk-num>span{display:flex;gap:8px;align-items:baseline;margin-bottom:4px;font:700 .98rem/1.35 var(--nb-ui);color:var(--nb-ink)}
#app .desk-form legend span,#app .desk-num>span>span{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--nb-pen-tint);color:var(--nb-pen);font-size:.78rem}
#app .desk-form fieldset label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--nb-rule);border-radius:10px;font-size:.94rem;cursor:pointer}
#app .desk-form fieldset label:has(:checked){border-color:var(--nb-pen);background:var(--nb-pen-tint)}
#app .desk-num{display:grid;gap:4px}
#app .desk-num input{max-width:260px}
#app .desk-ref{display:grid;gap:6px;font-weight:600;font-size:.94rem}
#app .desk-ref small{font-weight:500;color:var(--nb-muted)}
#app .desk-form>.button{justify-self:start}
#app .desk-review{margin-top:16px;padding-top:14px;border-top:1px dashed var(--nb-rule)}
#app .desk-score{margin:0 0 10px;font-size:1rem}
#app .desk-score b{font:600 1.6rem/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-pen);margin-right:6px}
#app .desk-review ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}
#app .desk-review li{display:grid;gap:2px;padding:10px 12px;border-left:4px solid var(--nb-green);border-radius:4px;background:var(--nb-tint)}
#app .desk-review li.is-wrong{border-left-color:var(--nb-red)}
#app .desk-review li small{color:var(--nb-muted)}
#app .desk-reflection{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--nb-tint)}
#app .desk-reflection small{display:block;color:var(--nb-muted)}
#app .desk-more{margin-top:16px;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline}
#app .desk-more h3{margin:0;font-size:.9rem}
#app .desk-board h2,#app .desk-news h2{margin:0 0 4px;font:600 1.2rem/1.2 "Bricolage Grotesque",Georgia,serif}
#app .desk-board ol{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
#app .desk-board li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:8px;align-items:baseline}
#app .desk-board li span{font-weight:700;color:var(--nb-muted)}
#app .desk-board li small{grid-column:2;color:var(--nb-muted);font-size:.78rem}
#app .desk-board li em{grid-row:1;grid-column:3;font-style:normal;font-weight:700;color:var(--nb-pen)}
#app .desk-board details{margin-top:10px;border-top:1px solid var(--nb-rule);padding-top:10px}
#app .desk-board summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--nb-pen)}
#app .desk-prefs{display:grid;gap:10px;margin-top:10px}
#app .desk-prefs label{display:grid;gap:4px;font-weight:600;font-size:.86rem}
#app .desk-prefs .desk-check{display:flex;gap:8px;align-items:center}
#app .desk-news{margin-top:24px}
#app .desk-news header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
#app .desk-topics{display:flex;gap:6px}
#app .desk-topics button{padding:5px 12px;border:1px solid var(--nb-rule-strong);border-radius:999px;background:none;color:var(--nb-ink-2);font:600 .82rem/1.2 var(--nb-ui);cursor:pointer;min-height:0}
#app .desk-topics button[aria-pressed="true"]{background:var(--nb-ink);color:var(--nb-page);border-color:var(--nb-ink)}
#app .desk-news ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:4px 24px}
#app .desk-news li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--nb-rule)}
#app .desk-news li a{color:var(--nb-ink);font-weight:600;text-decoration:none}
#app .desk-news li a:hover{text-decoration:underline;color:var(--nb-pen)}
#app .desk-news li small{color:var(--nb-muted);font-size:.78rem}
#app .desk-msg{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:var(--nb-pen-tint);color:var(--nb-ink);font-weight:600}
#app .desk-teaser{display:grid;gap:2px;width:100%;max-width:640px;margin:0 0 22px;padding:14px 18px;border:1px solid var(--nb-rule);border-left:4px solid var(--nb-pen);border-radius:6px 14px 14px 6px;background:var(--nb-page);color:var(--nb-ink);text-align:left;cursor:pointer;font:inherit;min-height:0}
#app .desk-teaser small{font:700 .74rem/1.3 var(--nb-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--nb-pen)}
#app .desk-teaser b{font:600 1.15rem/1.25 "Bricolage Grotesque",Georgia,serif}
#app .desk-teaser span{font-size:.88rem;color:var(--nb-muted)}
#app .desk-teaser:hover b{text-decoration:underline}
@media (max-width:900px){#app .desk-grid{grid-template-columns:minmax(0,1fr)}#app .desk-bars div{grid-template-columns:110px minmax(0,1fr) auto}}
/* Sub-navigation labels never break inside a tab */
.ws-context>button,.ws-context>a,.ws-context>details>summary{white-space:nowrap}
@media (min-width:1024px){.ws-context>button,.ws-context>a{padding-left:9px;padding-right:9px}}
#app .desk-more{display:grid;justify-items:start;gap:2px}
/* Large practice libraries: bounded lists and readable source attribution. */
.practice-library{margin:18px 0 24px;padding:16px 0;border-block:1px solid var(--nb-rule)}
.practice-library>summary{cursor:pointer;font-weight:650;min-height:44px;align-content:center}
.practice-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(120px,1fr));gap:12px;align-items:end;margin-top:16px}
.practice-filters label{display:grid;gap:6px;min-width:0}
.practice-filters input,.practice-filters select{min-width:0;width:100%;min-height:44px}
.practice-filters .button{justify-self:start}
.practice-results{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.practice-results li{min-width:0;border-top:1px solid var(--nb-rule)}
.practice-results button{display:grid;gap:5px;text-align:left;padding:12px 0;width:100%;border:0;background:none;color:var(--nb-ink);font:inherit;cursor:pointer;white-space:normal;min-height:44px}
.practice-results button:hover span{text-decoration:underline}
.practice-results small{color:var(--nb-muted);font-size:.875rem}
.practice-pages{display:flex;flex-wrap:wrap;gap:10px}
.practice-origin{font-size:.9rem;line-height:1.6;padding:16px 0;border-bottom:1px solid var(--nb-rule);overflow-wrap:anywhere;color:var(--nb-ink)}
.practice-origin small{color:var(--nb-muted)}
.practice-formula{padding:12px 0;font-weight:600}
@media(max-width:900px){.practice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.practice-filters,.practice-results{grid-template-columns:minmax(0,1fr)}}
/* Practice has the character of a rehearsal notebook, with finite, optional motion. */
#app .practice-masthead{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:24px;padding:12px 0 24px;border-bottom:2px solid var(--nb-ink);margin-bottom:14px}
#app .practice-masthead h1{font-family:"Bricolage Grotesque",Georgia,serif;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.1;max-width:680px;margin:10px 0 16px;letter-spacing:-.035em}
#app .practice-masthead p{max-width:590px;margin:0;color:var(--nb-ink);line-height:1.6}
#app .practice-masthead .practice-kicker{font-size:.72rem;letter-spacing:.12em;font-weight:750;color:var(--nb-green)}
#app .practice-masthead svg{width:100%;fill:none;stroke:var(--nb-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-5deg)}
#app .practice-masthead .practice-ink{stroke:var(--nb-green);stroke-dasharray:100;animation:practice-ink-in .8s ease-out both}
#app .practice-section-label{font-size:.85rem;color:var(--nb-muted);margin:0 0 22px}
#app .practice-references{margin:12px 0 24px;font-size:.85rem;line-height:1.6}
#app .practice-references summary{cursor:pointer;min-height:32px}
#app :is(.gd-tool,.guess-tool){gap:12px}
#app :is(.gd-tool,.guess-tool) .practice-section-label{margin:0 0 4px}
#app :is(.gd-tool,.guess-tool) .practice-library{margin:0;padding:6px 0}
#app :is(.gd-tool,.guess-tool) .practice-references{margin:0 0 8px}
#app .practice-twist{margin:24px 0;border-left:3px solid var(--nb-green);padding:12px 18px;background:var(--nb-green-tint);color:var(--nb-ink)}
#app .practice-twist summary{cursor:pointer;font-weight:650;min-height:32px}
#app .practice-twist p{max-width:640px;line-height:1.65}
#app .gd-card h2,#app .guess-card h2,#app .interview-stage>h2{animation:practice-reveal .25s ease-out both}
#app .gd-stage progress{display:block;width:100%;height:6px;margin-top:22px;accent-color:var(--nb-green)}
#app .guess-answer{border-block:1px solid var(--nb-rule);padding:22px 0;font-variant-numeric:tabular-nums}
#app #guess-mine{display:inline-block}
#app .practice-results button:hover,#app .practice-results button:focus-visible{color:var(--nb-green)}
@keyframes practice-ink-in{from{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes practice-reveal{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){#app .practice-masthead{grid-template-columns:minmax(0,1fr) 66px;gap:10px;align-items:start}#app .practice-masthead svg{margin-top:28px}#app .practice-masthead h1{font-size:2rem}#app .practice-masthead p{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){#app .practice-masthead .practice-ink,#app .gd-card h2,#app .guess-card h2,#app .interview-stage>h2{animation:none}}

/* GD room: chalk seats round the table; a classmate interrupts during your minute */
#app .gd-room{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(247,243,234,.25)}
#app .gd-room ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
#app .gd-room li{display:grid;justify-items:center;gap:2px;transition:transform .2s}
#app .gd-room li span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid rgba(247,243,234,.7);color:#F4F6FB;font:700 .9rem/1 var(--nb-ui)}
#app .gd-room li small{font-size:.7rem;color:rgba(247,243,234,.75)}
#app .gd-room li.is-you span{width:auto;padding:0 10px;border-radius:999px;border-color:#FFD86B;color:#FFD86B;font-size:.75rem}
#app .gd-room li.is-talking{transform:translateY(-4px)}
#app .gd-room li.is-talking span{background:#FFD86B;border-color:#FFD86B;color:#22302F}
#app .gd-heckle{min-height:1.6em;margin:12px 0 4px;color:#F4F6FB;font:600 1rem/1.4 "Bricolage Grotesque",Georgia,serif}
#app .gd-heckle small{display:block;font:500 .82rem/1.4 var(--nb-ui);color:#BFD3C9}
#app .gd-heckle.is-in{animation:gd-pop .35s cubic-bezier(.2,1.4,.5,1) both}
#app .gd-heckle-toggle{display:flex;gap:8px;align-items:center;font-size:.8rem;color:rgba(247,243,234,.8)}
@keyframes gd-pop{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
/* Interview panel */
#app .int-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 16px}
#app .int-panel figure{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px;border:1px solid var(--nb-rule);border-radius:14px;background:var(--nb-page)}
#app .ip-face{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--nb-tint);font-size:1.5rem;line-height:1}
#app .ip-face.is-pop{animation:ip-pop .4s cubic-bezier(.2,1.6,.5,1)}
#app .int-panel figcaption{display:grid;gap:1px;min-width:0}
#app .int-panel figcaption b{font-size:.9rem}
#app .int-panel figcaption small{font-size:.72rem;color:var(--nb-muted);text-transform:uppercase;letter-spacing:.04em}
#app .int-panel q{font:italic 500 .88rem/1.35 Georgia,serif;color:var(--nb-ink-2);quotes:none}
#app .ip-note{grid-column:1/-1;margin:0;font-size:.76rem;color:var(--nb-muted)}
@keyframes ip-pop{0%{transform:scale(.6) rotate(-8deg)}60%{transform:scale(1.15) rotate(4deg)}100%{transform:none}}
@media (max-width:760px){#app .int-panel{grid-template-columns:1fr}}
/* Guesstimate sanity meter (log scale; the shaded band is within 2x of the worked version) */
#app .guess-meter{margin:6px 0 14px;max-width:560px}
#app .gm-track{position:relative;height:14px;border-radius:7px;background:var(--nb-tint);border:1px solid var(--nb-rule);margin:22px 0 8px}
#app .gm-zone{position:absolute;left:42.5%;width:15%;top:0;bottom:0;background:var(--nb-green-tint);border-left:1px dashed var(--nb-green);border-right:1px dashed var(--nb-green)}
#app .gm-track i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;font-style:normal}
#app .gm-worked{left:50%;background:var(--nb-green)}
#app .gm-mine{left:var(--x);background:var(--nb-pen);box-shadow:0 0 0 3px var(--nb-page);transition:left .35s cubic-bezier(.2,1.2,.5,1)}
#app .gm-track i small{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:700 .68rem/1 var(--nb-ui);color:var(--nb-muted);white-space:nowrap}
#app .guess-meter p{margin:0;font-weight:600;font-size:.94rem}
#app .guess-meter.is-ok p{color:var(--nb-green)}#app .guess-meter.is-off p{color:var(--nb-red)}
@media (prefers-reduced-motion:reduce){#app .gd-heckle.is-in,#app .ip-face.is-pop{animation:none}#app .gm-mine{transition:none}}
#app .gm-mine small{bottom:auto;top:18px}
#app .gd-card .gd-heckle small{text-transform:none;letter-spacing:0;font-weight:500;color:#BFD3C9}
#app .guess-meter .gm-track{margin-bottom:28px}
#app .gm-track i{background:none}
#app .gm-track i::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--dot)}
#app .gm-worked{--dot:var(--nb-green)}
#app .gm-mine{--dot:var(--nb-pen)}

/* ---------- GD room: full-screen simulated group discussion ---------- */
body.gdx-open{overflow:hidden}
.gdx{position:fixed;inset:0;z-index:2000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(ellipse at 50% 58%,#2E3D37 0%,#18211E 55%,#0D1210 100%);color:#EEF0F5;font-family:var(--nb-ui);animation:gdx-in .45s ease-out both}
@keyframes gdx-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}
.gdx button{font:inherit;cursor:pointer}
.gdx-top{display:flex;align-items:center;gap:16px;padding:14px 22px}
.gdx-top>b{font:600 1.15rem/1 "Bricolage Grotesque",Georgia,serif}
.gdx-clock{margin-left:auto;font:700 1.5rem/1 ui-monospace,"Cascadia Mono",Consolas,monospace;color:#FFD86B;letter-spacing:.04em}
.gdx-tools{display:flex;gap:8px}
.gdx-tools button{padding:7px 14px;border:1px solid rgba(242,238,230,.35);border-radius:999px;background:transparent;color:#EEF0F5;font-size:.86rem}
.gdx-tools button:hover{border-color:#EEF0F5}
.gdx-stage{position:relative;min-height:0}
.gdx-seats{list-style:none;margin:0;padding:0}
.gdx-seat{position:absolute;display:grid;justify-items:center;gap:2px;width:150px;transform:translateX(-50%);text-align:center;transition:transform .25s}
.gdx-seat:nth-child(1){left:11%;top:44%}.gdx-seat:nth-child(2){left:25%;top:8%}.gdx-seat:nth-child(3){left:50%;top:1%}.gdx-seat:nth-child(4){left:75%;top:8%}.gdx-seat:nth-child(5){left:89%;top:44%}
.gdx-av{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--c,#FFD86B);color:#14100C;font:800 1.4rem/1 var(--nb-ui);box-shadow:0 0 0 4px rgba(13,18,16,.9),0 10px 22px -8px rgba(0,0,0,.7);transition:transform .25s}
.gdx-seat b{margin-top:6px;font-size:.95rem}
.gdx-seat small{font-size:.72rem;color:#BFD3C9;letter-spacing:.02em}
.gdx-seat.is-on .gdx-av{transform:scale(1.12);animation:gdx-pulse 1.1s ease-out infinite}
@keyframes gdx-pulse{0%{box-shadow:0 0 0 4px rgba(13,18,16,.9),0 0 0 4px var(--c)}100%{box-shadow:0 0 0 4px rgba(13,18,16,.9),0 0 0 18px transparent}}
.gdx-bubble{position:absolute;top:calc(100% + 8px);left:50%;z-index:3;width:min(270px,40vw);margin:0;padding:12px 14px;border-radius:14px;background:#FFFFFF;color:#121318;font:500 .92rem/1.4 var(--nb-ui);text-align:left;box-shadow:0 18px 30px -16px rgba(0,0,0,.8);transform:translateX(-50%);opacity:0;pointer-events:none}
.gdx-bubble::before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;background:#FFFFFF;transform:rotate(45deg)}
.gdx-seat.is-on .gdx-bubble.is-in{animation:gdx-bub .35s cubic-bezier(.2,1.4,.5,1) both}
@keyframes gdx-bub{from{opacity:0;transform:translateX(-50%) translateY(8px) scale(.94)}to{opacity:1;transform:translateX(-50%)}}
.gdx-seat:not(.is-on) .gdx-bubble{opacity:0!important;animation:none}
.gdx-bubble i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#7A808E;animation:gdx-dot 1s infinite}
.gdx-bubble i:nth-child(2){animation-delay:.15s}.gdx-bubble i:nth-child(3){animation-delay:.3s}
@keyframes gdx-dot{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.gdx-table{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:min(58vw,640px);aspect-ratio:2.1/1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#9A6B42 0%,#6E4A2C 55%,#4E331E 100%);box-shadow:inset 0 -12px 0 rgba(0,0,0,.25),0 40px 60px -30px rgba(0,0,0,.9)}
.gdx-card{position:relative;width:min(78%,430px);padding:18px 22px 16px;border-radius:6px;background:#FFFFFF;color:#121318;transform:rotate(-2deg);box-shadow:0 14px 22px -12px rgba(0,0,0,.7)}
.gdx-card small{font:700 .72rem/1.2 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:#2B4BEE}
.gdx-card h2{margin:6px 0 0;font:600 clamp(1.05rem,1.6vw,1.45rem)/1.25 "Bricolage Grotesque",Georgia,serif;color:#121318}
.gdx-ring{position:absolute;top:-16px;right:-16px;width:46px;height:46px;transform:rotate(-90deg)}
.gdx-ring circle{fill:#22302F;stroke:rgba(255,216,107,.25);stroke-width:4}
.gdx-ring .gdx-ring-on{fill:none;stroke:#FFD86B;stroke-dasharray:119.4;stroke-dashoffset:0;transition:stroke-dashoffset .25s linear}
.gdx-mod{position:absolute;left:50%;top:calc(100% + 14px);width:min(90vw,560px);margin:0;transform:translateX(-50%);text-align:center;font:italic 500 .98rem/1.4 Georgia,serif;color:#FFD86B}
.gdx-mod.is-in{animation:gdx-bub .4s ease-out both}
.gdx-you{position:absolute;left:50%;bottom:10px;display:grid;justify-items:center;transform:translateX(-50%)}
.gdx-you .gdx-av{width:70px;height:70px;background:#FFD86B;font-size:1rem}
.gdx-you.is-on .gdx-av{animation:gdx-pulse 1.1s ease-out infinite;--c:#FFD86B}
.gdx-you-bubble{top:auto;bottom:calc(100% + 10px);width:min(520px,86vw);background:#FFF4CC;opacity:0}
.gdx-you-bubble::before{top:auto;bottom:-7px;background:#FFF4CC}
.gdx-you-bubble.is-in{opacity:1}
.gdx-bar{display:grid;justify-items:center;gap:8px;padding:12px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.35))}
.gdx-lobby,.gdx-live{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.gdx-lobby label{display:flex;gap:8px;align-items:center;font-size:.9rem}
.gdx select,.gdx input{padding:9px 12px;border:1px solid rgba(242,238,230,.35);border-radius:10px;background:rgba(255,255,255,.08);color:#EEF0F5;font:inherit}
.gdx select option{color:#121318}
.gdx-go{padding:14px 26px;border:0;border-radius:999px;background:#FFD86B;color:#121318;font-weight:800;font-size:1.05rem;box-shadow:0 10px 24px -10px rgba(255,216,107,.7)}
.gdx-mic{display:flex;align-items:center;gap:10px;padding:10px 22px 10px 10px;border:0;border-radius:999px;background:#FFD86B;color:#121318;font-weight:800}
.gdx-mic span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#121318;font-size:1.3rem}
.gdx-mic[aria-pressed="true"]{background:#8FA2FF}
.gdx-mic[aria-pressed="true"] span{animation:gdx-pulse 1s ease-out infinite;--c:#8FA2FF}
.gdx-type{display:flex;gap:6px}
.gdx-type input{width:min(340px,60vw)}
.gdx-type button,.gdx-end{padding:9px 14px;border:1px solid rgba(242,238,230,.35);border-radius:10px;background:transparent;color:#EEF0F5}
.gdx-end{border-color:#FFD86B;color:#FFD86B}
.gdx-fine{margin:0;max-width:760px;text-align:center;font-size:.76rem;color:#A9BDB4}
.gdx.is-done .gdx-seats,.gdx.is-done .gdx-table,.gdx.is-done .gdx-you{opacity:.18;filter:saturate(.4);transition:opacity .4s}
.gdx-verdict{position:absolute;left:50%;top:50%;z-index:5;width:min(560px,92vw);max-height:92%;overflow:auto;padding:22px 26px;border-radius:18px;background:#FFFFFF;color:#121318;transform:translate(-50%,-50%);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);animation:gdx-bub .45s cubic-bezier(.2,1.3,.5,1) both;text-align:left}
.gdx-verdict:focus{outline:none}
.gdx-v-emoji{margin:0;font-size:2.6rem;line-height:1}
.gdx-verdict h2{margin:6px 0 4px;font:600 1.6rem/1.15 "Bricolage Grotesque",Georgia,serif;color:#121318}
.gdx-verdict>p{margin:0 0 12px;color:#3A3E4A}
.gdx-share{display:grid;gap:6px;margin:10px 0 14px}
.gdx-share div{display:grid;grid-template-columns:60px minmax(0,1fr) 40px;gap:8px;align-items:center;font-size:.85rem}
.gdx-share i{display:block;height:10px;border-radius:5px;width:var(--w);background:var(--c)}
.gdx-share b{text-align:right}
.gdx-verdict ul{margin:0 0 10px;padding-left:18px;display:grid;gap:4px;font-size:.92rem}
.gdx-verdict .gdx-fine{color:#545A68;text-align:left}
.gdx-v-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gdx-v-actions button{padding:9px 14px;border:1px solid #C6CBD6;border-radius:10px;background:#EEF0F5;color:#121318;font-weight:700}
.gdx-v-actions button:first-child{background:#2B4BEE;border-color:#2B4BEE;color:#fff}
@media (max-width:760px){
 .gdx-top{padding:10px 12px;gap:8px}.gdx-top>b{font-size:1rem}.gdx-tools button{padding:6px 10px;font-size:.78rem}.gdx-clock{font-size:1.2rem}
 .gdx-seats{position:relative;display:flex;justify-content:center;gap:4px;padding-top:6px}
 .gdx-seat{position:static;width:64px;transform:none}
 .gdx-av{width:46px;height:46px;font-size:1.05rem}.gdx-seat b{font-size:.78rem}.gdx-seat small{display:none}
 .gdx-seat .gdx-bubble{top:calc(100% + 6px);left:12px;right:12px;width:auto;transform:none}
 .gdx-seat .gdx-bubble::before{display:none}
 @keyframes gdx-bub{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
 .gdx-table{top:58%;width:88vw}
 .gdx-mod{top:calc(100% + 8px);font-size:.88rem}
 .gdx-you .gdx-av{width:54px;height:54px}
 .gdx-mic{padding-right:14px}.gdx-mic b{font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){.gdx,.gdx *{animation:none!important;transition:none!important}.gdx-seat.is-on .gdx-bubble{opacity:1}}
.gdx-enter{display:inline-flex;align-items:center;gap:8px}

.gdx-voices{flex-basis:100%;margin:0;text-align:center;font-size:.8rem;color:#BFD3C9}
/* Phones: one column. Seats on top with room for their bubble, then the table, then you. */
@media (max-width:760px){
 .gdx-stage{display:flex;flex-direction:column;align-items:center;gap:6px;overflow-y:auto;padding:0 10px 8px}
 .gdx-seats{width:100%;padding-bottom:128px}
 .gdx-table{position:relative;left:auto;top:auto;transform:none;width:100%;aspect-ratio:auto;padding:20px 14px;border-radius:44%;display:grid;gap:10px;justify-items:center}
 .gdx-mod{position:static;transform:none;width:auto;font-size:.86rem}
 .gdx-you{position:relative;left:auto;bottom:auto;transform:none;margin-top:4px}
 .gdx-you-bubble{position:static;transform:none;width:100%;margin-bottom:8px}
 .gdx-you-bubble::before{display:none}
 .gdx-you-bubble:not(.is-in){display:none}
 .gdx-verdict{position:fixed;top:50%}
}
@media (max-width:760px){.gdx-seats .gdx-seat .gdx-bubble{top:92px;max-height:120px;overflow:hidden}}

/* ---------- GD page, hand-set: type does the work, boxes don't ---------- */
#app .gd2{max-width:1040px}
#app .gd2-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--nb-ink)}
#app .gd2-kicker,#app .gd2-cat{margin:0 0 6px;font:600 .74rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-pen)}
#app .gd2-head h1{margin:0;font:600 clamp(2rem,1.4rem + 2vw,2.9rem)/1.04 "Bricolage Grotesque",Georgia,serif;letter-spacing:-.015em;max-width:18ch}
#app .gd2-head p:last-child{margin:8px 0 0;color:var(--nb-muted)}
#app .gd2-meta{display:flex;gap:22px;margin:0}
#app .gd2-meta div{display:grid;gap:2px}
#app .gd2-meta dt{font:600 .7rem/1 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .gd2-meta dd{margin:0;font:600 1.35rem/1.1 "Bricolage Grotesque",Georgia,serif;font-variant-numeric:tabular-nums}
#app .gd2 kbd{display:inline-block;min-width:1.4em;padding:1px 6px;border:1px solid var(--nb-rule-strong);border-bottom-width:2px;border-radius:4px;background:var(--nb-page);font:600 .74rem/1.4 var(--nb-data);text-align:center;color:var(--nb-ink)}
#app .gd2-topic{margin:30px 0 34px;padding:4px 0 4px 24px;border-left:4px solid var(--nb-pen)}
#app .gd2-cat span{margin-left:10px;color:var(--nb-muted)}
#app .gd2-topic h2{margin:0;max-width:26ch;font:600 clamp(1.7rem,1.2rem + 1.8vw,2.55rem)/1.12 "Bricolage Grotesque",Georgia,serif;letter-spacing:-.01em;color:var(--nb-ink)}
#app .gd2-topic h2:focus{outline:none}
#app .gd2-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:20px}
#app .gd2-go{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:0;border-radius:8px;background:var(--nb-ink);color:var(--nb-page);font:700 1rem/1 var(--nb-ui);cursor:pointer;box-shadow:none;transition:transform .12s,background .12s}
#app .gd2-go:hover{background:var(--nb-pen)}
#app .gd2-go:active{transform:translateY(1px)}
#app .gd2-link{display:inline-flex;align-items:center;gap:8px;min-height:0;padding:0;border:0;background:none;color:var(--nb-ink);font:600 .95rem/1.3 var(--nb-ui);cursor:pointer;box-shadow:none;text-decoration:underline;text-decoration-color:var(--nb-rule-strong);text-underline-offset:4px}
#app .gd2-link:hover{text-decoration-color:var(--nb-pen)}
#app .gd2-link span{font-weight:500;font-size:.82rem;color:var(--nb-muted);text-decoration:none}
#app .gd2-state{color:var(--nb-muted);font-size:.95rem}
#app .gd2-timer{display:flex;align-items:center;gap:18px;margin-top:18px;max-width:560px}
#app .gd2-timer .gd-clock{margin:0;font:600 2.4rem/1 var(--nb-data);color:var(--nb-ink);font-variant-numeric:tabular-nums;flex-basis:auto}
#app .gd2-timer progress{flex:1;height:3px;border:0;border-radius:2px;background:var(--nb-rule);appearance:none;-webkit-appearance:none}
#app .gd2-timer progress::-webkit-progress-bar{background:var(--nb-rule);border-radius:2px}
#app .gd2-timer progress::-webkit-progress-value{background:var(--nb-pen);border-radius:2px}
#app .gd2-timer progress::-moz-progress-bar{background:var(--nb-pen)}
#app .gd2 .gd2-heckle{margin:14px 0 0;color:var(--nb-ink);font:600 1.05rem/1.4 "Bricolage Grotesque",Georgia,serif;min-height:1.4em}
#app .gd2 .gd2-heckle small{display:block;color:var(--nb-muted);font:500 .85rem/1.4 var(--nb-ui);text-transform:none;letter-spacing:0}
#app .gd2-toggle{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-size:.85rem;color:var(--nb-muted)}
#app .gd2-also{margin:18px 0 0;font-size:.9rem;color:var(--nb-muted);line-height:1.7}
#app .gd2-also button{padding:0;border:0;background:none;color:var(--nb-ink-2);font:inherit;text-align:left;cursor:pointer;min-height:0;box-shadow:none;text-decoration:underline;text-decoration-color:var(--nb-rule-strong);text-underline-offset:3px}
#app .gd2-also button:hover{color:var(--nb-pen);text-decoration-color:var(--nb-pen)}
#app .gd2-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding-top:26px;border-top:1px solid var(--nb-rule)}
#app .gd2-notes header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
#app .gd2 h3{margin:0 0 10px;font:600 .74rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .gd2-notes header h3{margin:0}
#app .gd2-notes header span{font-size:.78rem;color:var(--nb-muted)}
#app .gd2-notes textarea{display:block;width:100%;min-height:320px;margin:0;padding:0 2px;border:0;border-top:1px solid var(--nb-rule-strong);border-radius:0;background:transparent repeating-linear-gradient(to bottom,transparent 0 31px,var(--nb-rule) 31px 32px);background-attachment:local;color:var(--nb-ink);font:400 1.02rem/32px var(--nb-ui);resize:vertical;box-shadow:none}
#app .gd2-notes textarea:focus{outline:none;border-top-color:var(--nb-pen)}
#app .gd2-guide h3:not(:first-child){margin-top:24px}
#app .gd2-guide ol{counter-reset:move;list-style:none;margin:0;padding:0}
#app .gd2-guide ol li{counter-increment:move;position:relative;padding:0 0 8px 34px;font-size:.95rem;line-height:1.5}
#app .gd2-guide ol li::before{content:counter(move,decimal-leading-zero);position:absolute;left:0;top:1px;font:600 .78rem/1.5 var(--nb-data);color:var(--nb-pen)}
#app .gd2-guide ul{margin:0;padding:0 0 0 18px;font-size:.95rem;line-height:1.55}
#app .gd2-guide ul.gd-self{list-style:none;padding:0}
#app .gd2-guide .gd-self label{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-size:.95rem;cursor:pointer}
#app .gd2-twist{margin-top:20px;padding:0;border:0;background:none}
#app .gd2-twist summary{cursor:pointer;font-weight:700;color:var(--nb-pen);list-style:none}
#app .gd2-twist summary::-webkit-details-marker{display:none}
#app .gd2-twist summary::before{content:"↳ "}
#app .gd2-twist p{margin:8px 0 0;font-size:.95rem;color:var(--nb-ink-2)}
#app .gd2-foot{margin-top:34px;padding-top:16px;border-top:1px solid var(--nb-rule);font-size:.9rem}
@media (max-width:900px){#app .gd2-head{grid-template-columns:1fr}#app .gd2-cols{grid-template-columns:1fr;gap:30px}#app .gd2-topic{padding-left:16px}}
/* GD room chrome: quieter controls, no emoji in the frame */
.gdx-top>b{letter-spacing:-.01em}
.gdx-tools button{border-radius:6px}
.gdx-go,.gdx-mic{border-radius:10px}
#app .gd2-link span{display:inline-block}
@media (max-width:900px){#app .gd2-notes textarea{min-height:224px}}

/* ---------- Guesstimates, hand-set: the model reads as an equation ---------- */
#app .g2{max-width:1040px}
#app .g2 .g2-small{font-size:1rem}
#app .g2-formula{margin:10px 0 0;font:500 .9rem/1.4 var(--nb-data);color:var(--nb-muted)}
#app .g2-chain{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;list-style:none;margin:22px 0 0;padding:0}
#app .g2-chain label{display:grid;gap:6px}
#app .g2-chain label span{font:600 .74rem/1.25 var(--nb-data);letter-spacing:.03em;color:var(--nb-muted);max-width:18ch}
#app .g2-chain label small{display:block;font-weight:500;letter-spacing:0}
#app .g2-chain input{width:9.5ch;min-height:0;padding:4px 2px;border:0;border-bottom:2px solid var(--nb-ink);border-radius:0;background:transparent;color:var(--nb-ink);font:600 1.5rem/1.2 "Bricolage Grotesque",Georgia,serif;font-variant-numeric:tabular-nums;box-shadow:none}
#app .g2-chain input:focus{outline:none;border-bottom-color:var(--nb-pen)}
#app .g2-op{align-self:flex-end;padding-bottom:6px;font:400 1.5rem/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-muted)}
#app .g2-answer{display:flex;align-items:baseline;gap:12px;margin:22px 0 0}
#app .g2-answer span{font:400 2rem/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-muted)}
#app .g2-answer b{font:600 clamp(2rem,1.5rem + 1.6vw,2.8rem)/1 "Bricolage Grotesque",Georgia,serif;color:var(--nb-pen);font-variant-numeric:tabular-nums}
#app .g2 .guess-meter{margin-top:12px}
#app .g2-worked p{font-size:.92rem}
#app .g2-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#app .g2-fine{margin:0;font-size:.9rem;line-height:1.55;color:var(--nb-ink-2)}
@media (max-width:900px){#app .g2-chain input{width:8ch;font-size:1.3rem}}
#app .g2 h3{margin:0 0 10px;font:600 .74rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .g2 kbd{display:inline-block;min-width:1.4em;padding:1px 6px;border:1px solid var(--nb-rule-strong);border-bottom-width:2px;border-radius:4px;background:var(--nb-page);font:600 .74rem/1.4 var(--nb-data);text-align:center;color:var(--nb-ink)}
@media (max-width:900px){#app .g2-cols{grid-template-columns:1fr}}

/* ---------- Interviews, hand-set ---------- */
#app .i2-head{margin-bottom:22px}
#app .i2-head .g2-small{font-size:1rem}
#app .interview-stage.section{display:flex;flex-direction:column;gap:0;padding:0;border:0;background:none;box-shadow:none}
#app .interview-stage>.interview-heading{order:0;display:flex;align-items:center;gap:14px;margin:0 0 8px}
#app .interview-stage>h2{order:1;margin:0 0 6px;padding:4px 0 4px 22px;border-left:4px solid var(--nb-pen);max-width:30ch;font:600 clamp(1.6rem,1.2rem + 1.4vw,2.3rem)/1.15 "Bricolage Grotesque",Georgia,serif;letter-spacing:-.01em;color:var(--nb-ink)}
#app .interview-stage>.practice-origin{order:2;margin:0 0 18px 26px;font-size:.84rem;color:var(--nb-muted)}
#app .interview-stage>form{order:3}
#app .interview-stage>details.practice-library{order:8;margin-top:28px;padding-top:14px;border-top:1px solid var(--nb-rule)}
#app .interview-stage>details.practice-references{order:9}
#app .interview-stage form textarea[name="response"]{min-height:300px;padding:0 2px;border:0;border-top:1px solid var(--nb-rule-strong);border-radius:0;background:transparent repeating-linear-gradient(to bottom,transparent 0 31px,var(--nb-rule) 31px 32px);background-attachment:local;font:400 1.02rem/32px var(--nb-ui);box-shadow:none}
#app .interview-stage form textarea[name="response"]:focus{outline:none;border-top-color:var(--nb-pen)}
#app .interview-stage .interview-coach{padding:10px 0 0;border:0;border-top:1px dashed var(--nb-rule);border-radius:0;background:none}
#app .interview-stage form .actions{display:flex;align-items:center;gap:18px;margin-top:16px}
#app .interview-stage form .actions .button:not(.secondary){min-height:44px;padding:0 20px;border:0;border-radius:8px;background:var(--nb-ink);color:var(--nb-page)}
#app .interview-stage form .actions .button:not(.secondary):hover{background:var(--nb-pen)}
#app .interview-stage form .actions .button.secondary{min-height:0;padding:0;border:0;background:none;color:var(--nb-ink);text-decoration:underline;text-decoration-color:var(--nb-rule-strong);text-underline-offset:4px;box-shadow:none}
#app .int-panel figure{border-radius:10px}

.ws-masthead nav [data-view=practiceHub]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E")}

/* ---------- Practice overview: rows, not cards ---------- */
#app .hub{max-width:1040px}
#app .hub .gd2-head{margin-bottom:18px}
#app .hub-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 8px}
#app .hub-filter{display:inline-flex;padding:3px;border:1px solid var(--nb-rule-strong);border-radius:8px;background:var(--nb-page)}
#app .hub-filter button{min-height:0;padding:7px 12px;border:0;border-radius:6px;background:none;color:var(--nb-muted);font:600 .86rem/1 var(--nb-ui);cursor:pointer;box-shadow:none}
#app .hub-filter button[aria-pressed="true"]{background:var(--nb-ink);color:var(--nb-page)}
#app .hub-dice{min-height:0;padding:0;border:0;background:none;color:var(--nb-ink);font:600 .92rem/1.3 var(--nb-ui);cursor:pointer;box-shadow:none;text-decoration:underline;text-decoration-color:var(--nb-rule-strong);text-underline-offset:4px}
#app .hub-dice:hover{text-decoration-color:var(--nb-pen)}
#app .hub-said{flex-basis:100%;margin:0;min-height:1.3em;font-size:.9rem;color:var(--nb-muted)}
#app .hub-said b{color:var(--nb-pen)}
#app .hub-band{margin-top:22px}
#app .hub h2{margin:0 0 4px;font:600 .74rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .hub-band ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--nb-ink)}
#app .hub-row{border-bottom:1px solid var(--nb-rule)}
#app .hub-row>button{display:grid;grid-template-columns:64px minmax(0,1fr) 28px;align-items:center;gap:16px;width:100%;min-height:0;padding:14px 4px;border:0;background:none;color:var(--nb-ink);text-align:left;font:inherit;cursor:pointer;box-shadow:none;transition:background .15s}
#app .hub-row>button:hover{background:var(--nb-tint)}
#app .hub-row>button:hover .hub-go{transform:translateX(4px);color:var(--nb-pen)}
#app .hub-mins{font:600 1.5rem/1 "Bricolage Grotesque",Georgia,serif;font-variant-numeric:tabular-nums;color:var(--nb-ink)}
#app .hub-mins small{margin-left:3px;font:600 .7rem/1 var(--nb-data);color:var(--nb-muted)}
#app .hub-text{display:grid;gap:2px;min-width:0}
#app .hub-text b{font:600 1.15rem/1.25 "Bricolage Grotesque",Georgia,serif}
#app .hub-text>span{font-size:.92rem;color:var(--nb-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .hub-go{font-size:1.2rem;color:var(--nb-muted);transition:transform .15s}
#app .hub-row.is-done .hub-text b::after{content:" ✓";color:var(--nb-green)}
#app .hub-row.is-picked>button{background:var(--nb-pen-tint);box-shadow:inset 4px 0 0 var(--nb-pen)}
@media (prefers-reduced-motion:no-preference){#app .hub-row.is-picked>button{animation:hub-pick .6s ease-out}}
@keyframes hub-pick{0%{background:var(--nb-page)}30%{background:var(--nb-pen-tint)}60%{background:var(--nb-page)}100%{background:var(--nb-pen-tint)}}
@media (max-width:640px){#app .hub-row>button{grid-template-columns:48px minmax(0,1fr) 18px;gap:10px}#app .hub-text>span{white-space:normal}#app .hub-mins{font-size:1.2rem}}

/* ---------- Home: purpose, season line, today's plan ---------- */
#app .home-purpose{margin:8px 0 0;max-width:46em;font-size:1.02rem;color:var(--nb-ink-2)}
#app .home-season{margin:18px 0 6px}
#app .home-season ol{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}
#app .home-season ol::before{content:"";position:absolute;left:12px;right:12px;top:15px;height:6px;border-radius:3px;background:linear-gradient(90deg,#D99A00 0 33%,#2563A8 33% 66%,#C2410C 66%)}
#app .home-season li{position:relative}
#app .home-season button{display:grid;justify-items:start;gap:2px;width:100%;min-height:0;padding:0 12px 0 0;border:0;background:none;color:var(--nb-ink);text-align:left;font:inherit;cursor:pointer;box-shadow:none}
#app .home-season i{display:block;width:26px;height:26px;margin:5px 0 8px;border-radius:50%;background:var(--nb-page);border:5px solid var(--c);box-shadow:0 0 0 3px var(--nb-canvas)}
#app .home-season .is-find{--c:#D99A00}#app .home-season .is-practise{--c:#2563A8}#app .home-season .is-apply{--c:#C2410C}
#app .home-season small{font:600 .72rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .home-season b{font:600 1.15rem/1.25 "Bricolage Grotesque",Georgia,serif}
#app .home-season span{font-size:.86rem;color:var(--nb-muted)}
#app .home-season button:hover b{text-decoration:underline;text-decoration-color:var(--c);text-underline-offset:4px}
#app .agenda-next.home-plan{margin-top:20px;padding:0;border:0;background:none;box-shadow:none}
#app .home-plan header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--nb-ink)}
#app .home-plan h2{margin:0;font:600 1.45rem/1.15 "Bricolage Grotesque",Georgia,serif}
#app .home-plan header span{font:600 .8rem/1 var(--nb-data);color:var(--nb-muted)}
#app .home-plan-bar{height:3px;background:var(--nb-rule)}
#app .home-plan-bar i{display:block;height:100%;background:var(--nb-pen);transition:width .4s}
#app .home-plan ol{list-style:none;margin:0;padding:0}
#app .home-plan li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--nb-rule)}
#app .home-tick{display:grid;place-items:center;cursor:pointer}
#app .home-tick input{width:20px;height:20px;accent-color:var(--nb-pen);cursor:pointer}
#app .home-plan-go{display:grid;gap:2px;min-height:0;padding:0;border:0;background:none;color:var(--nb-ink);text-align:left;font:inherit;cursor:pointer;box-shadow:none}
#app .home-plan-go b{font:600 1.05rem/1.3 var(--nb-ui)}
#app .home-plan-go span{font-size:.88rem;color:var(--nb-muted)}
#app .home-plan-go:hover b{text-decoration:underline;text-decoration-color:var(--nb-pen);text-underline-offset:4px}
#app .home-plan li small{font:600 .76rem/1 var(--nb-data);color:var(--nb-muted);white-space:nowrap}
#app .home-plan li.is-done .home-plan-go b{text-decoration:line-through;text-decoration-color:var(--nb-pen);color:var(--nb-muted)}
#app .home-plan-foot{margin:10px 0 0;font-size:.9rem;color:var(--nb-muted)}
@media (max-width:640px){#app .home-season ol{grid-template-columns:1fr;gap:12px}#app .home-season ol::before{left:10px;right:auto;top:10px;bottom:10px;width:6px;height:auto;background:linear-gradient(#D99A00 0 33%,#2563A8 33% 66%,#C2410C 66%)}#app .home-season button{grid-template-columns:26px 1fr;column-gap:12px}#app .home-season i{grid-row:span 3;margin:0}}
#app .agenda-heading .home-purpose{display:block}
/* Interviews: hide the story picker until there is a story to pick; compact the "practise for" row */
#app .interview-stage label:has(> select#interview-story):has(option:only-child){display:none}
#app .interview-application-context{display:flex;align-items:center;gap:10px;margin:0 0 6px}
#app .interview-application-context label{display:flex;align-items:center;gap:10px;font:600 .8rem/1 var(--nb-data);letter-spacing:.04em;text-transform:uppercase;color:var(--nb-muted)}
#app .interview-application-context select{width:auto;min-width:260px;font:500 .95rem/1.2 var(--nb-ui);text-transform:none;letter-spacing:0}
#app .agenda-next.home-plan h2{color:var(--nb-ink)}
@media (max-width:640px){#app .interview-application-context label{flex-wrap:wrap;width:100%}#app .interview-application-context select{min-width:0;width:100%}}

/* ================= Print language for the app: rules, not floating cards ================= */
/* Page headers: a label-sized date or kicker, a serif headline, a rule. */
#app .ws-shell .ws-main .ws-heading{padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--nb-ink)}
#app .ws-shell .ws-main .ws-heading h1{letter-spacing:-.015em}
#app .ws-shell .ws-main .ws-heading p{color:var(--nb-ink-2)}
/* Content panels: no box, no shadow. A rule on top and a serif heading. */
#app .ws-shell .ws-main :is(.agenda-section,.cs-badges,.cs-radar,.product-section,.profile-panel,.profile-identity,.profile-tip,.story-coverage,.desk-board,.desk-news,.desk-case,.pc-remind,.lab-out,.outreach-preview,.agenda-side>section,.agenda-side>details){background:none;border:0;border-top:1px solid var(--nb-ink);border-radius:0;box-shadow:none;padding:16px 0 4px}
#app .ws-shell .ws-main .agenda-side>:is(section,details){margin:0 0 22px}
#app .ws-shell .ws-main :is(.agenda-section,.cs-badges,.cs-radar,.product-section,.profile-panel,.profile-identity,.profile-tip,.story-coverage,.desk-board,.desk-news,.pc-remind,.agenda-side>section)>:is(h2,header h2,header>h2){font:600 1.25rem/1.2 "Bricolage Grotesque",Georgia,serif;letter-spacing:-.005em}
#app .ws-shell .ws-main :is(.agenda-section,.product-section)>header{border:0;padding:0;margin-bottom:6px}
#app .ws-shell .ws-main .pc-every{border-style:solid;border-width:1px 0 0;border-color:var(--nb-ink);border-radius:0;background:none;padding:14px 0 4px}
/* Calendar summary boxes ("Confirmed open", "Opening soon", reminders) become columns under one rule. */
#app .ws-shell .ws-main .pc-summary>section,#app .ws-shell .ws-main .pc-top>section{background:none;border:0;border-top:1px solid var(--nb-ink);border-radius:0;box-shadow:none;padding:14px 0 4px}
/* Tables: square, hairline, small caps headers. */
#app .ws-shell .ws-main :is(.product-table-scroll,.ws-table-scroll){border-radius:0;box-shadow:none;border:0;border-top:1px solid var(--nb-ink)}
#app .ws-shell .ws-main :is(.product-table-scroll,.ws-table-scroll) th{background:none;font:600 .72rem/1.2 var(--nb-data);letter-spacing:.05em;text-transform:uppercase;color:var(--nb-muted)}
/* Tiles you click stay tiles, but flat: hairline, small radius, no floating shadow. */
#app .ws-shell .ws-main :is(.cs-comp,.direction-field-group.is-open article,.case-grid .case-file,.cs-compass-card,.student-event-list article){border-radius:6px;box-shadow:none}
#app .ws-shell .ws-main :is(.cs-comp,.direction-field-group.is-open article,.student-event-list article):hover{transform:none;border-color:var(--nb-ink)}
#app .ws-shell .ws-main .cs-compass.is-app{background:none;border:0;border-top:1px solid var(--nb-ink);border-radius:0;box-shadow:none}
/* Empty states: a quiet left rule, not a dashed box. */
#app .ws-shell .ws-main :is(.ws-empty,.empty){border:0;border-left:3px solid var(--nb-rule-strong);border-radius:0;background:none;padding:6px 0 6px 16px}
/* Inputs that were soft pills read as fields. */
#app .ws-shell .ws-main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border-radius:6px}
#app .ws-shell .ws-main :is(.lab-drop,fieldset){border-radius:6px;box-shadow:none}
/* Buttons: ink for the one primary action, outlined for secondary, text links stay links. */
#app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button):not(.gd2-go){background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-page);border-radius:8px;box-shadow:none}
#app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button):not(.gd2-go):hover{background:var(--nb-pen);border-color:var(--nb-pen);color:#fff}
#app .ws-shell .ws-main :is(.button,a.button).secondary{background:transparent;border:1px solid var(--nb-rule-strong);color:var(--nb-ink);border-radius:8px;box-shadow:none}
#app .ws-shell .ws-main :is(.button,a.button).secondary:hover{border-color:var(--nb-ink);background:var(--nb-tint)}
/* Profile save bar: a strip, not a floating card. */
#app .ws-shell .ws-main .profile-savebar{border-radius:0;box-shadow:0 -1px 0 var(--nb-ink);border:0}
/* Sidebar: active item gets a rule, not a filled pill. */
@media (min-width:1024px){
 #app .ws-masthead nav :is(.ws-current,[aria-current=page]){background:none;box-shadow:inset 3px 0 0 var(--nb-pen);border-radius:0 8px 8px 0;color:var(--nb-ink)}
 #app .ws-masthead nav button:hover{background:var(--nb-tint)}
}

/* Homepage chapters: numbered, monospaced markers with a rule, like a printed magazine */
#app .welcome .welcome-section-head small,#app .welcome .acct-copy small{display:flex;align-items:center;gap:10px;margin-bottom:12px;font:600 .78rem/1.2 var(--nb-data);letter-spacing:.06em;text-transform:uppercase;color:var(--nb-muted)}
#app .welcome .welcome-section-head small b,#app .welcome .acct-copy small b{font-weight:700;color:var(--w-brick,#2B4BEE)}
#app .welcome .welcome-section-head small::after{content:"";flex:0 0 48px;height:1px;background:currentColor;opacity:.6}
#app .welcome .acct-copy small{color:#FFD86B}#app .welcome .acct-copy small b{color:#FFD86B}
/* Try-it cards: flat paper with a rule, not floating rounded cards */
#app .welcome .welcome-try-card{border-radius:4px;box-shadow:none;border:1px solid var(--w-rule,#DCE0E8);border-top:3px solid var(--nb-ink)}
#app .welcome .welcome-play,#app .welcome .wb-card{box-shadow:none}
body.dark #app .welcome .welcome-section-head small b{color:#8FA2FF}

/* ================= Vibe layer ================= */
@keyframes cs-slap{from{opacity:0;transform:rotate(calc(var(--rot) * 3)) scale(1.6)}to{opacity:1;transform:rotate(var(--rot)) scale(1)}}
@keyframes cs-wiggle{0%,100%{transform:rotate(var(--rot))}25%{transform:rotate(calc(var(--rot) + 6deg))}75%{transform:rotate(calc(var(--rot) - 6deg))}}
@keyframes cs-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* Season Wrapped */
@keyframes cs-shimmer-bg{to{background-position:300% 0}}
.cs-wrapped{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:16px;background:rgba(13,18,16,.78);animation:gdx-in .3s ease-out both}
.cs-wrapped-in{display:grid;justify-items:center;gap:12px;max-height:100%;overflow:auto}
.cs-wrapped img{display:block;width:min(540px,88vw);height:auto;border:3px solid #121318;border-radius:18px;box-shadow:8px 8px 0 #000;animation:cs-slap .5s cubic-bezier(.2,1.5,.4,1) both;--rot:-2deg;transform:rotate(-2deg)}
.cs-wrapped-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cs-wrapped-bar :is(a,button){padding:11px 18px;border:2px solid #121318;border-radius:10px;background:#FFD86B;color:#121318;font:700 1rem/1 var(--nb-ui);text-decoration:none;cursor:pointer;box-shadow:3px 3px 0 #000}
.cs-wrapped-bar button[data-wrapped-close]{background:#F3F4F8}
.cs-wrapped p{margin:0;color:#D8E3DD;font-size:.85rem;text-align:center}
@media (prefers-reduced-motion:reduce){.cs-wrapped,.cs-wrapped img{animation:none}}

/* ---------- Homepage hero: stickers, chunky buttons, a live ticker ---------- */
#app .welcome .welcome-intro{position:relative}
#app .welcome .welcome-ticker{position:relative;z-index:2;display:flex;align-items:center;margin:0;border-block:2.5px solid #121318;background:#121318;color:#EEF0F5;overflow:hidden}
#app .welcome .welcome-ticker>b{flex:none;padding:12px 16px;background:#3D5BFF;color:#fff;font:700 .8rem/1 var(--nb-data);letter-spacing:.08em;text-transform:uppercase}
#app .welcome .wtk-track{flex:1;overflow:hidden;white-space:nowrap}
#app .welcome .wtk-track>div{display:inline-flex;gap:16px;align-items:center;padding:12px 0;font:600 1rem/1 var(--nb-ui)}
#app .welcome .wtk-track i{font-style:normal;color:#FFD86B}
#app .welcome .wtk-track .is-hot{color:#FFD86B}
@media (prefers-reduced-motion:no-preference){#app .welcome .wtk-track>div{animation:cs-tick 48s linear infinite}#app .welcome .welcome-ticker:hover .wtk-track>div{animation-play-state:paused}}

/* Calendar timeline: month header, a today line, colour by field, chunkier bars */
#app .pc-tl-head{position:sticky;top:48px;z-index:3;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;padding:8px 4px;background:var(--nb-canvas);border-bottom:2px solid var(--nb-ink)}
#app .pc-tl-months{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
#app .pc-tl-months small{padding-left:4px;border-left:1px solid var(--nb-rule-strong);font:700 .72rem/1.2 var(--nb-data);text-transform:uppercase;letter-spacing:.04em;color:var(--nb-muted)}
#app .pc-tl-now{position:absolute;top:-4px;bottom:-12px;width:2px;background:#3D5BFF;font-style:normal;z-index:2}
#app .pc-tl-months .pc-tl-now b{position:absolute;top:-2px;left:4px;padding:1px 6px;border-radius:4px;background:#3D5BFF;color:#fff;font:700 .66rem/1.3 var(--nb-data);text-transform:uppercase}
#app .pc-track .pc-tl-now{top:0;bottom:0;opacity:.55}
#app .pc-item .pc-bar{height:16px;top:5px;border-radius:5px;background:var(--fc);border:2px solid var(--nb-ink);min-width:10px}
#app .pc-item .pc-bar.is-expected{background:repeating-linear-gradient(135deg,var(--fc) 0 4px,transparent 4px 8px);border:2px dashed var(--fc)}
#app .pc-item .pc-bar.is-open{box-shadow:0 0 0 3px rgba(47,125,91,.25)}
#app .pc-item .pc-name b{border-left:4px solid var(--fc);padding-left:8px;margin-left:-12px}
#app .pc-item button.pc-row:hover .pc-bar{transform:scaleY(1.2)}
body.dark #app .pc-item .pc-bar{border-color:#000}
@media (max-width:760px){#app .pc-tl-head{display:none}}
#app .profile-explore,#app .profile-explore span{color:var(--nb-pen)}

/* Homepage: purpose first */
#app .welcome .welcome-purpose{max-width:44em;font-size:1.12rem;line-height:1.55}
#app .welcome .welcome-purpose b{color:var(--nb-pen)}
#app .welcome .welcome-pillars{margin:clamp(36px,5vw,64px) auto 8px}
#app .welcome .welcome-pillars>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}
#app .welcome .wp-col header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
#app .welcome .wp-num{font:700 .9rem/1 var(--nb-data);color:var(--c)}
#app .welcome .wp-col h3{margin:0;font:700 1.7rem/1.1 "Bricolage Grotesque","Source Sans 3",sans-serif;color:var(--nb-ink)}
#app .welcome .wp-col h3 small{display:block;margin-top:4px;font:500 .95rem/1.3 var(--nb-ui);color:var(--nb-muted)}
#app .welcome .wp-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
#app .welcome .wp-col li{display:grid;gap:2px;padding-left:14px;border-left:3px solid var(--c)}
#app .welcome .wp-col li b{font:700 1rem/1.3 var(--nb-ui);color:var(--nb-ink)}
#app .welcome .wp-col li span{font-size:.92rem;line-height:1.45;color:var(--nb-ink-2)}
@media (max-width:900px){#app .welcome .welcome-pillars>ol{grid-template-columns:1fr}}
/* Chai streak: one glass per day, filled by saved practice; today's glass steams */
#app .cs-week{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 4px}
#app .cs-week .cs-today{order:2;font:700 .8rem/1.2 var(--nb-data);letter-spacing:.03em;color:var(--nb-muted);text-transform:none}
#app .cs-week ol{display:flex;gap:6px;list-style:none;margin:0;padding:0}
#app .cs-week li{display:grid;justify-items:center;gap:2px;width:auto;height:auto;background:none;border:0}
#app .cs-week li i{display:block;width:24px;height:31px;border:0;border-radius:0;background:none;box-shadow:none}
#app .cs-week li i svg{display:block;width:100%;height:100%;overflow:visible}
#app .cs-week .g-glass{stroke:var(--nb-ink)}
#app .cs-week .g-fill{fill:#C98A3D}
#app .cs-week li:not(.is-done) .g-fill{fill:transparent}
#app .cs-week .g-steam{stroke:var(--nb-muted);opacity:0}
#app .cs-week li.is-today.is-done .g-steam{opacity:1}
@media (prefers-reduced-motion:no-preference){#app .cs-week li.is-today.is-done .g-steam{animation:g-steam 1.8s ease-in-out infinite}}
@keyframes g-steam{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(-3px);opacity:1}}
#app .cs-week li span{font:700 .66rem/1 var(--nb-data);color:var(--nb-muted)}
#app .cs-week li.is-today span{color:var(--nb-pen)}
#app .cs-week li.is-done i,#app .cs-week li.is-today i{background:none;border:0;box-shadow:none}
#app .cs-week .cs-today{padding:0;border:0;background:none;border-radius:0}

/* ATS roast mode */
#app .lab-notes-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
#app .lab-fine{font-size:.82rem;color:var(--nb-muted)}

/* Applications: the next move and the rejection jar */
#app .apps-jar .jar-lid{fill:var(--nb-ink)}
#app .apps-jar .m0{fill:#FF6B3D}#app .apps-jar .m1{fill:#2B4BEE}#app .apps-jar .m2{fill:#FFD86B}#app .apps-jar .m3{fill:#1F8A5B}
#app .ws-shell .ws-main .cs-band .button.secondary{background:#fff;color:#121318;border-color:#fff;backdrop-filter:none}
#app .ws-shell .ws-main .cs-band .button.secondary:hover{background:#e8edf4;color:#121318;border-color:#e8edf4}
@media(min-width:768px) and (max-width:1023px){
 #app .ws-masthead>nav{min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin}
 #app .ws-masthead>nav>button{flex-shrink:0}
 #app .ws-masthead .ws-tools{flex-shrink:0}
}

/* Source: product.css */
/* CareerStack product system.
   Calm surfaces you work on (hairline borders, soft depth, one accent) and a few loud moments (the Up next card,
   illustrations, drills). Bricolage Grotesque for display, Source Sans 3 for everything you read or operate.
   Loaded last, unlayered: it wins over identity.css without !important. */

:root{
 --cs-display:"Bricolage Grotesque","Source Sans 3",Arial,sans-serif;
 --cs-r-sm:8px;--cs-r:14px;--cs-r-lg:20px;
 --cs-line:rgba(18,19,24,.09);--cs-line-strong:rgba(18,19,24,.18);
 --cs-e1:0 1px 2px rgba(18,19,24,.04),0 0 0 1px var(--cs-line);
 --cs-e2:0 1px 2px rgba(18,19,24,.05),0 8px 24px -12px rgba(18,19,24,.18),0 0 0 1px var(--cs-line);
 --cs-e3:0 2px 6px rgba(18,19,24,.06),0 22px 44px -18px rgba(18,19,24,.32),0 0 0 1px var(--cs-line);
 --cs-ease:cubic-bezier(.2,.8,.2,1);
 --cs-surface:#FFFFFF;--cs-sunk:#F6F7FA;
 --nb-display:var(--cs-display);
}
body.dark{
 --cs-line:rgba(255,255,255,.08);--cs-line-strong:rgba(255,255,255,.18);
 --cs-e1:0 0 0 1px var(--cs-line);
 --cs-e2:0 0 0 1px var(--cs-line),0 12px 28px -14px rgba(0,0,0,.7);
 --cs-e3:0 0 0 1px var(--cs-line-strong),0 24px 48px -20px rgba(0,0,0,.8);
 --cs-surface:#16181D;--cs-sunk:#111216;
}

/* ---------- Type ---------- */
#app :is(h1,h2,h3){font-family:var(--cs-display);font-optical-sizing:auto}
#app .ws-main h1{font-weight:700;letter-spacing:-.02em}
#app .ws-main h2{font-weight:650;letter-spacing:-.015em}
#app .ws-main h3{font-weight:650;letter-spacing:-.01em}

/* ---------- Buttons: one solid primary, quiet secondary ---------- */
#app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button),#app .ws-shell .ws-main .gd2-go{background:var(--nb-pen);color:#fff;border:1px solid transparent;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(18,19,24,.2),0 6px 14px -8px rgba(43,75,238,.6);font-weight:700;transition:transform .14s var(--cs-ease),background-color .14s,box-shadow .14s}
#app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button):hover,#app .ws-shell .ws-main .gd2-go:hover{background:var(--nb-pen-hover);color:#fff;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 4px rgba(18,19,24,.2),0 10px 20px -10px rgba(43,75,238,.7)}
#app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button):active,#app .ws-shell .ws-main .gd2-go:active{transform:translateY(0) scale(.98)}
body.dark #app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button),body.dark #app .ws-shell .ws-main .gd2-go{color:#0E0F13;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
body.dark #app .ws-shell .ws-main :is(.button,a.button):not(.secondary):not(.text-button):hover,body.dark #app .ws-shell .ws-main .gd2-go:hover{color:#0E0F13}
#app .ws-shell .ws-main :is(.button,a.button).secondary{background:var(--cs-surface);color:var(--nb-ink);border:1px solid var(--cs-line-strong);border-radius:10px;box-shadow:0 1px 2px rgba(18,19,24,.05);font-weight:650;transition:background-color .14s,border-color .14s}
#app .ws-shell .ws-main :is(.button,a.button).secondary:hover{background:var(--nb-tint);border-color:var(--nb-ink);transform:none;box-shadow:0 1px 2px rgba(18,19,24,.05)}
@media (prefers-reduced-motion:reduce){#app .ws-shell .ws-main :is(.button,a.button){transition:none}#app .ws-shell .ws-main :is(.button,a.button):hover{transform:none}}

/* ---------- Sidebar: sections of the current area sit underneath it ---------- */
@media (min-width:1024px){
 #app .ws-context{display:none}
 #app .ws-masthead>nav{overflow-y:auto;min-height:0;flex:0 1 auto;scrollbar-width:thin;scrollbar-color:var(--nb-rule) transparent;padding-bottom:6px}
 #app .ws-masthead nav button{padding:9px 12px;border-radius:9px;font-weight:600}
 #app .ws-masthead nav :is(.ws-current,[aria-current=page]){background:var(--nb-tint);box-shadow:none;border-radius:9px;color:var(--nb-ink)}
 #app .ws-subnav{display:grid;gap:1px;margin:2px 0 10px 21px;padding-left:10px;border-left:1.5px solid var(--nb-rule)}
 #app .ws-subnav small{padding:10px 10px 4px;font:700 .68rem/1 var(--nb-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--nb-faint)}
 #app .ws-masthead nav .ws-subnav button{position:relative;padding:6px 10px;border-radius:7px;font:500 .93rem/1.25 var(--nb-ui);color:var(--nb-muted);background:none}
 #app .ws-masthead nav .ws-subnav button::before{display:none}
 #app .ws-masthead nav .ws-subnav button:hover{color:var(--nb-ink);background:var(--nb-tint)}
 #app .ws-masthead nav .ws-subnav [aria-current=page]{color:var(--nb-pen);background:var(--nb-pen-tint);font-weight:700}
 #app .ws-masthead nav .ws-subnav [aria-current=page]::after{content:"";display:block;position:absolute;left:-12px;top:7px;bottom:7px;width:2px;height:auto;border-radius:2px;background:var(--nb-pen)}
 #app .ws-masthead nav .ws-current:has(+ .ws-subnav [aria-current=page]){background:none}
}
@media (min-width:1024px) and (max-height:820px){#app .ws-masthead .cs-ticket{display:none}}

/* ---------- Hand-drawn layer: a handwriting face and marker strokes ---------- */
@font-face{font-family:'Caveat';src:url('/assets/caveat-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
#app .h4-hand{font:600 1.32rem/1 'Caveat','Bricolage Grotesque',cursive;letter-spacing:0;text-transform:none;color:#C2410C;display:inline-flex;align-items:center;gap:6px;transform:rotate(-2deg);transform-origin:left center}
body.dark #app .h4-hand{color:#FFB27A}
#app .dd{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:url(#cs-rough);overflow:visible}
#app .dd-arrow-down{width:22px;height:26px}
#app .dd-star{width:20px;height:20px}
#app .h4-link{min-height:0;padding:2px 0;border:0;background:none;color:var(--nb-pen);font:700 .94rem/1.3 var(--nb-ui);cursor:pointer;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--nb-pen) 35%,transparent)}
#app .h4-link:hover{text-decoration-color:var(--nb-pen)}

/* ---------- Home ---------- */
#app .h4{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:46px}
#app .h4>*{min-width:0}
#app .h4 h2{margin:0;font-size:1.5rem;line-height:1.15;letter-spacing:-.015em}
#app .h4 ul,#app .h4 ol{list-style:none;margin:0;padding:0}
#app .h4-sec{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-bottom:16px}
#app .h4-sec p{margin:0;color:var(--nb-muted)}

/* The photo hero */
#app .h4-hero{position:relative;display:grid;align-items:end;min-height:440px;border-radius:18px;overflow:hidden;isolation:isolate;background:#121318;color:#fff}
#app .h4-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2}
#app .h4-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,15,.92) 0%,rgba(10,11,15,.78) 38%,rgba(10,11,15,.15) 75%,rgba(10,11,15,0) 100%),linear-gradient(0deg,rgba(10,11,15,.55),transparent 45%)}
#app .h4-hero-copy{max-width:600px;padding:34px 38px}
#app .h4-hero-copy>small{font:650 .8rem/1 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:#C9D0DC}
#app .h4-hero h1{margin:10px 0 6px;color:#fff;font-size:clamp(2.3rem,1.5rem + 2.6vw,3.4rem);line-height:1}
#app .h4-quip{min-height:0;padding:0;border:0;background:none;color:#D5DAE4;font:500 1.04rem/1.45 var(--nb-ui);text-align:left;cursor:pointer}
#app .h4-quip::after{content:" ↻";color:#8E96A6}
@media (prefers-reduced-motion:no-preference){#app .h4-quip.is-flip{animation:h4-flip .35s var(--cs-ease)}}
@keyframes h4-flip{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#app .h4-next{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
#app .h4-next .h4-hand{color:#FFD86B}
#app .h4-next h2{margin:8px 0 6px;color:#fff;font-size:clamp(1.5rem,1.1rem + 1.2vw,2rem);line-height:1.1;max-width:24ch}
#app .h4-next p{margin:0;max-width:50ch;color:#C9D0DC;line-height:1.5}
#app .h4-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#app .h4-btn{display:inline-flex;align-items:center;gap:8px;min-height:0;padding:12px 18px;border:0;border-radius:10px;background:#FFD86B;color:#121318;font:750 1rem/1 var(--nb-ui);cursor:pointer;transition:transform .14s var(--cs-ease),background-color .14s}
#app .h4-btn:hover{background:#FFCE3D;transform:translateY(-1px)}
#app .h4-btn span{transition:transform .2s var(--cs-ease)}#app .h4-btn:hover span{transform:translateX(3px)}
#app .h4-btn.is-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
#app .h4-btn.is-ghost:hover{background:rgba(255,255,255,.1)}
@media (prefers-reduced-motion:no-preference){#app .h4-hero-img{animation:h4-zoom 18s ease-out both}#app .h4-hero-copy>*{animation:h4-up .6s var(--cs-ease) both}#app .h4-hero-copy>*:nth-child(2){animation-delay:.05s}#app .h4-hero-copy>*:nth-child(3){animation-delay:.1s}#app .h4-hero-copy>*:nth-child(4){animation-delay:.18s}}
@keyframes h4-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes h4-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Today and the week, side by side, no boxes */
#app .h4-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
#app .h4-today h2{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}
#app .h4-today li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--cs-line)}
#app .h4-today li:first-child{border-top:1.5px solid var(--nb-ink)}
#app .h4-today li>button{display:grid;gap:3px;min-height:0;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .h4-today li>button small{font:700 .72rem/1.2 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nb-faint)}
#app .h4-today li.is-next>button small{color:#C2410C}
body.dark #app .h4-today li.is-next>button small{color:#FFB27A}
#app .h4-today li>button b{font:650 1.12rem/1.3 var(--nb-ui);color:var(--nb-ink)}
#app .h4-today li>button span{font-size:.92rem;line-height:1.45;color:var(--nb-muted)}
#app .h4-today li>button:hover b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:#FFD86B}
#app .h4-today li.is-done>button b{color:var(--nb-faint);text-decoration:line-through;text-decoration-color:#C2410C;text-decoration-thickness:2px}
#app .h4-today li>em{font:600 1.15rem/1 'Caveat',cursive;font-style:normal;color:var(--nb-muted);white-space:nowrap;padding-top:2px}
#app .h4-tick{position:relative;display:block;width:30px;height:30px;cursor:pointer}
#app .h4-tick input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}
#app .h4-tick svg{width:30px;height:30px;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:url(#cs-rough)}
#app .h4-tick .box{stroke:var(--nb-ink);stroke-width:2}
#app .h4-tick .tick{stroke:#16794C;stroke-width:3.2;stroke-dasharray:32;stroke-dashoffset:32;transition:stroke-dashoffset .35s var(--cs-ease)}
body.dark #app .h4-tick .tick{stroke:#7DD69C}
#app .h4-tick input:checked+svg .tick{stroke-dashoffset:0}
#app .h4-tick input:focus-visible+svg{outline:2px solid var(--nb-pen);outline-offset:2px;border-radius:6px}
#app .h4-side{display:grid;gap:30px;padding-left:28px;border-left:1px solid var(--cs-line)}
#app .h4-side h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font-size:1.2rem;margin-bottom:12px}
#app .h4-glasses{display:flex;justify-content:space-between;gap:4px;max-width:300px}
#app .h4-glasses li{display:grid;justify-items:center;gap:4px}
#app .h4-glasses svg{width:28px;height:36px;overflow:visible}
#app .h4-glasses .g-glass{stroke:var(--nb-ink)}
#app .h4-glasses .g-fill{fill:#C98A3D}
#app .h4-glasses li:not(.is-done) .g-fill{fill:transparent}
#app .h4-glasses .g-steam{stroke:var(--nb-muted);opacity:0}
#app .h4-glasses li.is-today.is-done .g-steam{opacity:1}
@media (prefers-reduced-motion:no-preference){#app .h4-glasses li.is-today.is-done .g-steam{animation:g-steam 1.8s ease-in-out infinite}}
#app .h4-glasses span{font:700 .7rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .h4-glasses li.is-today span{color:var(--nb-pen)}
#app .h4-nums{margin:14px 0 0;color:var(--nb-muted);font-size:.92rem;line-height:1.6}
#app .h4-nums b{font:800 1.15rem/1 var(--cs-display);color:var(--nb-ink)}
#app .h4-flow{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 10px;color:var(--nb-muted)}
#app .h4-flow span b{font:800 1.5rem/1 var(--cs-display);color:var(--nb-faint)}
#app .h4-flow span.has b{color:var(--nb-ink)}
#app .h4-flow i{font-style:normal;color:var(--nb-faint)}
#app .h4-fine{margin:8px 0 0;color:var(--nb-muted);font-size:.9rem;line-height:1.5}
#app .h4-fine b{color:var(--nb-ink)}

/* The timeline */
#app .h4-line{position:relative;height:190px;margin:0 8px 18px}
#app .h4-line::before{content:"";position:absolute;left:0;right:0;top:95px;height:2.5px;border-radius:2px;background:var(--nb-ink);filter:url(#cs-rough)}
#app .h4-tickmark{position:absolute;top:89px;left:calc(var(--x) * 100%);width:1.5px;height:14px;background:var(--nb-ink);font:600 1rem/1 'Caveat',cursive;color:var(--nb-faint)}
#app .h4-tickmark::after{content:attr(data-w)}
#app .h4-tickmark{text-indent:6px;white-space:nowrap;line-height:44px}
#app .h4-now{position:absolute;left:0;top:79px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#C2410C;box-shadow:0 0 0 5px color-mix(in srgb,#C2410C 22%,transparent)}
#app .h4-now .h4-hand{position:absolute;left:-6px;top:30px;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){#app .h4-now{animation:h4-pulse 2.2s ease-in-out infinite}}
@keyframes h4-pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,#C2410C 0%,transparent)}}
#app .h4-pin{position:absolute;left:calc(var(--x) * 100%);width:0}
#app .h4-pin::before{content:"";position:absolute;left:-1px;width:2px;background:var(--fc);opacity:.7}
#app .h4-pin::after{content:"";position:absolute;left:-6px;top:89px;width:12px;height:12px;border-radius:50%;background:var(--nb-page);box-shadow:inset 0 0 0 3px var(--fc)}
#app .h4-pin.is-close::after{background:var(--fc)}
#app .h4-pin.is-high{top:0;height:95px}#app .h4-pin.is-high::before{top:30px;bottom:0}#app .h4-pin.is-high::after{top:89px}
#app .h4-pin.is-low{top:95px;height:95px}#app .h4-pin.is-low::before{top:0;bottom:36px}#app .h4-pin.is-low::after{top:-6px}
#app .h4-pin>button{position:absolute;left:-6px;display:grid;gap:1px;width:max-content;max-width:170px;min-height:0;padding:0 0 0 0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .h4-pin.is-high>button{top:0}
#app .h4-pin.is-low>button{bottom:0}
#app .h4-pin.is-right>button{left:auto;right:-6px;text-align:right}
#app .h4-pin small{font:700 .74rem/1.2 var(--nb-ui);color:var(--fc)}
body.dark #app .h4-pin small{filter:brightness(1.6) saturate(.8)}
#app .h4-pin b{font:650 .92rem/1.25 var(--nb-ui);color:var(--nb-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#app .h4-pin>button:hover b{text-decoration:underline;text-underline-offset:3px}
#app .h4-pin.is-watched b::before{content:"★ ";color:#C2410C}
#app .h4-dates-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
#app .h4-dates-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--cs-line)}
#app .h4-dates-list li>button:first-child{display:grid;grid-template-columns:62px minmax(0,1fr);gap:0 12px;min-height:0;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .h4-dates-list small{grid-row:span 2;font:800 .95rem/1.3 var(--cs-display);color:var(--fc)}
body.dark #app .h4-dates-list small{filter:brightness(1.6) saturate(.8)}
#app .h4-dates-list b{font:650 .98rem/1.3 var(--nb-ui);color:var(--nb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .h4-dates-list span{font-size:.86rem;color:var(--nb-muted)}
#app .h4-watch{min-height:0;padding:5px 12px;border:1.5px solid var(--nb-ink);border-radius:999px;background:none;color:var(--nb-ink);font:700 .8rem/1.2 var(--nb-ui);cursor:pointer}
#app .h4-watch:hover{background:var(--nb-tint)}
#app .h4-watch.is-on{background:var(--nb-ink);color:var(--nb-page)}

/* Drills */
#app .h4-drills li{border-top:1px solid var(--cs-line)}
#app .h4-drills li:last-child{border-bottom:1px solid var(--cs-line)}
#app .h4-drills li>button{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-height:0;padding:16px 4px;border:0;background:none;text-align:left;color:inherit;cursor:pointer;transition:background-color .15s}
#app .h4-drills li>button:hover{background:linear-gradient(90deg,color-mix(in srgb,#FFD86B 22%,transparent),transparent 70%)}
#app .h4-num{font:800 2.6rem/1 var(--cs-display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--nb-ink)}
#app .h4-drills li>button:hover .h4-num{color:#FFD86B}
#app .h4-drills b{display:block;margin-top:2px;font:600 1.08rem/1.4 var(--nb-ui);color:var(--nb-ink)}
#app .h4-drills em{font:700 .92rem/1 var(--nb-ui);font-style:normal;color:var(--nb-pen);white-space:nowrap}

#app .h4-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
#app .h4-pair h2{font-size:1.25rem;margin-bottom:8px}
#app .h4-pair li{border-top:1px solid var(--cs-line)}
#app .h4-pair li>button{display:grid;gap:2px;width:100%;min-height:0;padding:11px 0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .h4-pair b{font:650 1rem/1.35 var(--nb-ui);color:var(--nb-ink)}
#app .h4-pair small{font-size:.86rem;color:var(--nb-muted)}
#app .h4-pair li>button:hover b{color:var(--nb-pen)}

/* Everything */
#app .h4-map{padding-top:34px;border-top:1.5px solid var(--nb-ink)}
#app .h4-map-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
#app .h4-map-cols h3{display:grid;gap:6px;margin:0 0 12px;font-size:1.5rem;line-height:1}
#app .h4-map-cols h3::before{content:"";display:block;width:36px;height:5px;margin-bottom:8px;border-radius:3px;background:var(--mc)}
#app .h4-map-cols h3 .h4-hand{font-size:1.15rem;color:var(--nb-muted)}
#app .h4-map-cols li>button{display:grid;gap:1px;width:100%;min-height:0;padding:7px 0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .h4-map-cols b{font:700 .97rem/1.3 var(--nb-ui);color:var(--nb-ink)}
#app .h4-map-cols span{font-size:.86rem;line-height:1.4;color:var(--nb-muted)}
#app .h4-map-cols li>button:hover b{text-decoration:underline;text-decoration-color:var(--mc);text-decoration-thickness:3px;text-underline-offset:4px}
#app .h4-wrapped{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:-16px 0 0}

@media (max-width:1100px){#app .h4-map-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){#app .h4-cols,#app .h4-pair{grid-template-columns:1fr}#app .h4-side{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid var(--cs-line)}#app .h4-line{display:none}#app .h4-dates-list{grid-template-columns:1fr}}
@media (max-width:600px){
 #app .h4{gap:36px}
 #app .h4-hero{min-height:0;border-radius:14px}
 #app .h4-hero::before{background:linear-gradient(0deg,rgba(10,11,15,.95) 0%,rgba(10,11,15,.8) 55%,rgba(10,11,15,.35) 100%)}
 #app .h4-hero-copy{padding:120px 20px 22px}
 #app .h4-map-cols{grid-template-columns:1fr}
 #app .h4-drills li>button{grid-template-columns:44px minmax(0,1fr);gap:12px}
 #app .h4-drills em{display:none}
 #app .h4-num{font-size:1.9rem}
}


/* ---------- Public homepage: a quiet proof row instead of stickers ---------- */
#app .welcome .hero-proof{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0;margin:0 auto 18px;padding:5px;list-style:none;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(18,19,24,.08);backdrop-filter:blur(6px)}
#app .welcome .hero-proof li{padding:6px 14px;font:600 .9rem/1.2 var(--nb-ui);color:#2B2E38}
#app .welcome .hero-proof li+li{box-shadow:inset 1px 0 0 rgba(18,19,24,.12)}
#app .welcome .hero-proof b{margin-right:4px;padding:2px 7px;border-radius:999px;background:#121318;color:#FFD86B;font-weight:800}
body.dark #app .welcome .hero-proof{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
body.dark #app .welcome .hero-proof li{color:#DCE2EE}body.dark #app .welcome .hero-proof li+li{box-shadow:inset 1px 0 0 rgba(255,255,255,.14)}
@media (max-width:640px){#app .welcome .hero-proof{border-radius:16px}#app .welcome .hero-proof li:last-child{display:none}}

/* ---------- Practice overview ---------- */
#app .p3{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
#app .p3>*{min-width:0}
#app .p3-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
#app .p3-head small{font:650 .82rem/1 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nb-pen)}
#app .p3-head h1{margin:10px 0 8px;font-size:clamp(2.1rem,1.3rem + 2.4vw,3.1rem);line-height:1.02}
#app .p3-head p{max-width:56ch;margin:0;color:var(--nb-ink-2);font-size:1.04rem;line-height:1.5}
#app .p3-stats{display:flex;gap:10px;margin:0}
#app .p3-stats div{min-width:120px;padding:12px 14px;border-radius:12px;background:var(--cs-surface);box-shadow:var(--cs-e1)}
#app .p3-stats dt{font:600 .78rem/1.25 var(--nb-ui);color:var(--nb-muted)}
#app .p3-stats dd{margin:6px 0 0;font:800 1.7rem/1 var(--cs-display);color:var(--nb-ink)}
#app .p3-stats dd small{font-size:.55em;color:var(--nb-faint)}
#app .p3-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:-10px}
#app .p3-filter{display:inline-flex;padding:4px;border-radius:12px;background:var(--cs-surface);box-shadow:var(--cs-e1)}
#app .p3-filter button{min-height:0;padding:8px 14px;border:0;border-radius:9px;background:none;color:var(--nb-muted);font:650 .92rem/1 var(--nb-ui);cursor:pointer}
#app .p3-filter button:hover{color:var(--nb-ink)}
#app .p3-filter [aria-pressed=true]{background:var(--nb-ink);color:var(--nb-page)}
#app .p3-dice{display:inline-flex;align-items:center;gap:8px;min-height:0;padding:9px 14px;border:1px dashed var(--cs-line-strong);border-radius:12px;background:none;color:var(--nb-ink);font:650 .92rem/1 var(--nb-ui);cursor:pointer}
#app .p3-dice:hover{border-style:solid;background:var(--cs-surface)}
#app .p3-dice .hub-die{font-size:1.25rem;line-height:1;display:inline-block;transition:transform .5s var(--cs-ease)}
#app .p3-dice:hover .hub-die{transform:rotate(200deg)}
#app .p3-said{flex-basis:100%;margin:0;color:var(--nb-ink-2)}
#app .p3-said:empty{display:none}
#app .ws-main .p3 .p3-sec{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;font-size:1.4rem;line-height:1.2}
#app .ws-main .p3 .p3-sec small{font:500 .95rem/1.3 var(--nb-ui);color:var(--nb-muted);letter-spacing:0}
#app .p3 ul{list-style:none;margin:0;padding:0}
#app .p3-mins{display:inline-block;padding:3px 9px;border-radius:999px;background:rgba(18,19,24,.08);font:700 .76rem/1.3 var(--nb-ui);color:inherit;white-space:nowrap}
#app .p3 :is(.p3-live,.p3-card,.p3-row)>button{width:100%;min-height:0;border:0;text-align:left;font:inherit;cursor:pointer;color:inherit}
#app .p3 :is(.p3-live,.p3-card,.p3-row).is-dim{opacity:.35;filter:saturate(.3)}
#app .p3 :is(.p3-live,.p3-card,.p3-row).is-picked>button{outline:3px solid var(--nb-pen);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){#app .p3 .is-picked>button{animation:p3-pick .6s var(--cs-ease)}}
@keyframes p3-pick{0%{transform:scale(.96)}60%{transform:scale(1.02)}100%{transform:none}}
#app .p3 .is-done b::after{content:" ✓";color:var(--nb-green)}












#app .p3-art{display:block;pointer-events:none}
#app .p3-art svg{display:block;width:100%;height:auto}




/* Live rounds: a full-bleed photo card. The photo is a background because a button centres its contents, so an
   absolutely positioned image inside it cannot reliably fill the card. */
#app .p3-lives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#app .p3 .p3-live>button{position:relative;display:flex;align-items:flex-end;height:100%;min-height:330px;padding:0;border-radius:var(--cs-r-lg);color:#F4F6FB;overflow:hidden;background:linear-gradient(180deg,rgba(10,11,15,.9) 0%,rgba(10,11,15,.62) 48%,rgba(10,11,15,.35) 100%),var(--photo) center 30%/cover no-repeat,#121318;box-shadow:0 18px 40px -24px rgba(18,19,24,.6);transition:transform .25s var(--cs-ease),box-shadow .25s}
#app .p3 .p3-live>button:hover{transform:translateY(-3px);box-shadow:0 26px 50px -24px rgba(18,19,24,.7)}
#app .p3 .p3-live-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:460px;padding:26px 26px 24px}
#app .p3 .p3-live .p3-mins{background:rgba(255,255,255,.22)}
#app .p3 .p3-live b{font:700 clamp(1.6rem,1.2rem + 1vw,2.1rem)/1.05 var(--cs-display);letter-spacing:-.02em;color:#fff}
#app .p3 .p3-live-copy>span:not(.p3-mins){color:#CFD5E2;font-size:.98rem;line-height:1.45}
#app .p3 .p3-live em{margin-top:auto;padding:10px 16px;border-radius:11px;background:#fff;color:#121318;font:700 .95rem/1 var(--nb-ui);font-style:normal}
#app .p3 .p3-live em span{display:inline-block;transition:transform .2s var(--cs-ease)}
#app .p3 .p3-live>button:hover em span{transform:translateX(3px)}
body.dark #app .p3 .p3-live>button{box-shadow:0 0 0 1px var(--cs-line-strong)}
@media (max-width:900px){#app .p3-lives,#app .p3-split{grid-template-columns:1fr}}
@media (max-width:560px){#app .p3 .p3-live>button{min-height:280px}#app .p3 .p3-live-copy{padding:20px}}

#app .p3-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#app .p3-card>button{display:grid;grid-template-rows:auto 1fr;height:100%;padding:0;border-radius:var(--cs-r);background:var(--cs-surface);box-shadow:var(--cs-e1);overflow:hidden;transition:transform .2s var(--cs-ease),box-shadow .2s}
#app .p3-card>button:hover{transform:translateY(-3px);box-shadow:var(--cs-e2)}
#app .p3-card .p3-art{display:grid;place-items:center;height:132px;padding:12px 18px 0;background:var(--tint)}
#app .p3-card .p3-art svg{max-height:120px;width:auto;transition:transform .3s var(--cs-ease)}
#app .p3-card>button:hover .p3-art svg{transform:translateY(-4px) rotate(-2deg)}
#app .p3-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px 16px}
#app .p3-card-copy .p3-mins{background:var(--nb-tint);color:var(--nb-muted)}
#app .p3-card-copy b{font:700 1.12rem/1.2 var(--cs-display);color:var(--nb-ink)}
#app .p3-card-copy>span:not(.p3-mins){font-size:.9rem;line-height:1.45;color:var(--nb-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.dark #app .p3-card:not([data-hub=gdsolo]) .p3-art{background:color-mix(in srgb,var(--tint) 16%,#16181D)}

#app .p3-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px}
#app .p3-split>section{min-width:0}
#app .p3-rows{display:grid;gap:10px}
#app .p3-row>button{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px 10px 10px;border-radius:var(--cs-r);background:var(--cs-surface);box-shadow:var(--cs-e1);transition:box-shadow .2s,transform .2s var(--cs-ease)}
#app .p3-row>button:hover{box-shadow:var(--cs-e2);transform:translateX(2px)}
#app .p3-row .p3-art{display:grid;place-items:center;width:64px;height:56px;border-radius:10px;background:var(--tint);padding:4px}
#app .p3-row .p3-art svg{max-height:48px;width:auto}
body.dark #app .p3-row .p3-art{background:color-mix(in srgb,var(--tint) 18%,#16181D)}
#app .p3-row b{display:block;font:700 1rem/1.25 var(--nb-ui);color:var(--nb-ink)}
#app .p3-row button>span:nth-child(2)>span{margin-top:2px;font-size:.88rem;line-height:1.4;color:var(--nb-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#app .p3-row .p3-mins{background:var(--nb-tint);color:var(--nb-muted)}

@media (max-width:1100px){#app .p3-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:560px){
 #app .p3{gap:26px}
 #app .p3-cards{grid-template-columns:1fr 1fr;gap:12px}
 #app .p3-card .p3-art{height:96px}
 #app .p3-card .p3-art svg{max-height:86px}
 #app .p3-card-copy{padding:12px}
 #app .p3-stats{width:100%}
 #app .p3-stats div{flex:1;min-width:0}
 #app .p3-row>button{grid-template-columns:52px minmax(0,1fr)}
 #app .p3-row .p3-mins{display:none}
 #app .p3-row .p3-art{width:52px;height:48px}
}

/* ---------- Page headers everywhere: hairline, not an ink rule ---------- */
#app .ws-shell .ws-main .ws-heading{border-bottom:1px solid var(--cs-line-strong)}
#app .ws-shell .ws-main .gd2-head{border-bottom-color:var(--cs-line-strong)}

/* ---------- Applications: the next move and the rejection jar ---------- */
#app .apps-next{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:4px 0 24px;padding:16px 18px;border-radius:var(--cs-r);background:var(--cs-surface);box-shadow:var(--cs-e1)}
#app .apps-next>p{flex:1 1 320px;margin:0;font:600 1.02rem/1.45 var(--nb-ui);color:var(--nb-ink)}
#app .apps-next>p>span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:10px;background:var(--nb-pen-tint);vertical-align:middle}
#app .apps-next-go{min-height:0;padding:10px 16px;border:0;border-radius:10px;background:var(--nb-pen);color:#fff;font:700 .92rem/1 var(--nb-ui);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 6px 14px -8px rgba(43,75,238,.6);transition:transform .14s var(--cs-ease)}
#app .apps-next-go:hover{transform:translateY(-1px);background:var(--nb-pen-hover)}
body.dark #app .apps-next-go{color:#0E0F13}
#app .apps-jar{display:flex;align-items:center;gap:12px;flex-basis:100%;padding-top:12px;border-top:1px solid var(--cs-line)}
#app .apps-jar svg{width:40px;height:48px;flex:none}
#app .apps-jar .jar-body{fill:rgba(143,193,255,.22);stroke:var(--nb-ink);stroke-width:2}
#app .apps-jar p{margin:0;font-size:.92rem;color:var(--nb-ink-2)}

/* ---------- ATS roast mode ---------- */
#app .lab-roast-toggle{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--cs-surface);box-shadow:var(--cs-e1);font:700 .9rem/1 var(--nb-ui);cursor:pointer;transition:background-color .15s}
#app .lab-roast-toggle:has(:checked){background:#FF7A59;color:#121318;box-shadow:none}
#app .lab-roast-toggle input{accent-color:#121318}
#app .lab-roast{display:block;margin:0 0 8px;padding:10px 14px;border-radius:12px;background:#FFF1C2;color:#121318;font:600 1rem/1.4 var(--cs-display);quotes:none;border-left:4px solid #FF7A59}
#app .lab-notes.is-roast li:nth-child(even) .lab-roast{background:#FFE3EE;border-left-color:#C2387A}
@media (prefers-reduced-motion:no-preference){#app .lab-notes.is-roast .lab-roast{animation:h3-rise .35s var(--cs-ease) both}}

/* ---------- Offer reality check ---------- */
#app .offer .of-compare{margin:0 0 20px;padding:14px 18px;border-radius:var(--cs-r);background:#121318;color:#F4F6FB;font:500 1.05rem/1.45 var(--nb-ui)}
#app .offer .of-compare b{color:#FFD86B}
body.dark #app .offer .of-compare{box-shadow:0 0 0 1px var(--cs-line-strong)}
#app .offer .of-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#app .offer .of-col{min-width:0;padding:20px;border-radius:var(--cs-r);background:var(--cs-surface);box-shadow:var(--cs-e1)}
#app .offer .of-col>header h2{margin:0 0 14px;font-size:1.3rem}
#app .offer .of-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
#app .offer .of-field{display:grid;gap:5px;align-content:start;font:600 .86rem/1.3 var(--nb-ui);color:var(--nb-ink-2)}
#app .offer .of-field input{width:100%;min-height:42px;font:600 1rem/1 var(--nb-ui)}
#app .offer .of-field small{font-weight:500;font-size:.78rem;color:var(--nb-muted)}
#app .offer .of-ticks{display:grid;gap:6px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--cs-line)}
#app .offer .of-tick{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--nb-ink-2)}
#app .offer .of-result{margin-top:18px;padding:18px;border-radius:12px;background:var(--cs-sunk);box-shadow:inset 0 0 0 1px var(--cs-line)}
#app .offer .of-result>small{font:700 .76rem/1 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nb-muted)}
#app .offer .of-result>b{display:block;margin:6px 0 4px;font:800 clamp(2rem,1.6rem + 1.4vw,2.6rem)/1 var(--cs-display);letter-spacing:-.02em;color:var(--nb-ink)}
#app .offer .of-result>p{margin:0 0 14px;color:var(--nb-ink-2);font-size:.95rem;line-height:1.45}
#app .offer .of-bar{display:flex;gap:2px;height:16px;border-radius:999px;overflow:hidden;background:var(--nb-tint)}
#app .offer .of-bar i{min-width:3px}
#app .offer .of-legend{display:grid;gap:5px;list-style:none;margin:12px 0;padding:0}
#app .offer .of-legend li{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--nb-ink-2)}
#app .offer .of-legend i{width:10px;height:10px;border-radius:3px;flex:none}
#app .offer .of-legend b{margin-left:auto;color:var(--nb-ink);font-variant-numeric:tabular-nums}
#app .offer .of-lines{display:grid;gap:0;margin:0;border-top:1px solid var(--cs-line)}
#app .offer .of-lines div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--cs-line);font-size:.9rem}
#app .offer .of-lines dt{color:var(--nb-muted)}
#app .offer .of-lines dd{margin:0;font-weight:700;color:var(--nb-ink);text-align:right}
#app .offer .of-lines dd small{font-weight:500;color:var(--nb-muted)}
#app .offer .of-fine{margin:18px 0 0;font-size:.84rem;line-height:1.5;color:var(--nb-muted);max-width:80ch}
@media (max-width:900px){#app .offer .of-cols{grid-template-columns:1fr}}
@media (max-width:480px){#app .offer .of-fields{grid-template-columns:1fr}}

/* ---------- GD room: mic level and panel feedback ---------- */
.gdx-mic .gdx-lvl{display:flex;align-items:center;justify-content:center;gap:3px;width:46px;height:46px;border-radius:50%;background:#121318}
.gdx-mic .gdx-lvl i{display:block;width:4px;height:8px;border-radius:2px;background:#FFD86B;transform:scaleY(calc(.6 + var(--lvl,0) * 3.2));transition:transform .08s linear}
.gdx-mic .gdx-lvl i:nth-child(2){transform:scaleY(calc(.6 + var(--lvl,0) * 4.6))}
.gdx-mic .gdx-lvl i:nth-child(3){transform:scaleY(calc(.6 + var(--lvl,0) * 4))}
.gdx-mic[aria-pressed="true"] .gdx-lvl{animation:none}
.gdx-mic[aria-pressed="true"] .gdx-lvl i{background:#8FA2FF}
.gdx-lobby select{min-height:38px}
.gdx-verdict.is-panel{width:min(620px,94vw)}
.gdx-verdict.is-panel>small{font:700 .76rem/1 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:#545A68}
.gdx-verdict h3{margin:14px 0 6px;font:650 1.05rem/1.2 "Bricolage Grotesque",Arial,sans-serif;color:#121318}
.gdx-score{display:grid;gap:0;list-style:none;margin:10px 0 14px;padding:0;border-top:1px solid #E3E6EE}
.gdx-score li{display:grid;grid-template-columns:150px auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #E3E6EE;font-size:.9rem}
.gdx-score li>span{font-weight:700}
.gdx-score small{color:#545A68;font-size:.84rem;line-height:1.35}
.gdx-dots{display:inline-flex;gap:4px}
.gdx-dots b{width:12px;height:12px;border-radius:50%;background:#E3E6EE}
.gdx-dots b.on{background:#2B4BEE}
@media (max-width:560px){.gdx-score li{grid-template-columns:1fr auto}.gdx-score small{grid-column:1/-1}}

/* ---------- Practice: real photos on rounds, marker icons on rows ---------- */
#app .p3-photo{display:block;width:100%;height:100%;object-fit:cover}






#app .p3-card .p3-art{height:150px;padding:0;background:#121318;overflow:hidden}
#app .p3-card .p3-art img{transition:transform .5s var(--cs-ease)}
#app .p3-card>button:hover .p3-art img{transform:scale(1.06)}
#app .p3-card>button:hover .p3-art svg{transform:none}
#app .p3-row .p3-art{background:none;width:52px;height:52px;color:var(--nb-ink)}
#app .p3-row .dd-icon{width:40px;height:40px;stroke-width:2.4}
#app .p3-row>button:hover .p3-art{color:#C2410C}
body.dark #app .p3-row .p3-art{background:none}
body.dark #app .p3-card:not([data-hub=gdsolo]) .p3-art{background:#121318}
@media (max-width:560px){#app .p3-card .p3-art{height:110px}}
#app .ws-main .p3 .p3-sec,#app .ws-main .p3 .p3-sec small{text-transform:none;letter-spacing:-.01em}
#app .ws-main .p3 .p3-sec small{letter-spacing:0}

#app .p3 .p3-rows{gap:0}
#app .p3 .p3-row>button{background:none;box-shadow:none;border-radius:0;border-top:1px solid var(--cs-line);padding:14px 4px}
#app .p3 .p3-row:last-child>button{border-bottom:1px solid var(--cs-line)}
#app .p3 .p3-row>button:hover{box-shadow:none;transform:none;background:linear-gradient(90deg,color-mix(in srgb,#FFD86B 20%,transparent),transparent 70%)}


/* ---------- Public homepage: scrapbook photos ---------- */
#app .welcome .welcome-photos{margin:clamp(48px,7vw,88px) auto 12px;text-align:center}
#app .welcome .welcome-photos h2{margin:0 0 28px;font:700 clamp(1.8rem,1.2rem + 2vw,2.7rem)/1.05 var(--cs-display);letter-spacing:-.02em;color:var(--nb-ink)}
#app .welcome .welcome-photos h2 span{display:block;font:600 clamp(1.6rem,1.2rem + 1.4vw,2.2rem)/1.2 'Caveat',cursive;letter-spacing:0;color:#C2410C}
body.dark #app .welcome .welcome-photos h2 span{color:#FFB27A}
#app .welcome .welcome-photos ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0 8px}
#app .welcome .welcome-photos li{transform:rotate(var(--rot));transition:transform .3s cubic-bezier(.2,.8,.2,1)}
#app .welcome .welcome-photos li:hover{transform:rotate(0) scale(1.03);z-index:2}
#app .welcome .welcome-photos figure{margin:0;padding:10px 10px 14px;background:#fff;box-shadow:0 1px 2px rgba(18,19,24,.08),0 14px 30px -14px rgba(18,19,24,.35)}
#app .welcome .welcome-photos img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
#app .welcome .welcome-photos figcaption{margin-top:10px;font:600 1.25rem/1.15 'Caveat',cursive;color:#121318}
#app .welcome .welcome-photos-credit{margin:22px 0 0;font-size:.82rem;color:var(--nb-muted)}
@media (prefers-reduced-motion:no-preference){#app .welcome .welcome-photos li{animation:wph-in .6s calc(var(--i) * .08s) cubic-bezier(.2,.8,.2,1) both}}
@keyframes wph-in{from{opacity:0;transform:translateY(16px) rotate(var(--rot))}to{opacity:1;transform:rotate(var(--rot))}}
@media (max-width:900px){#app .welcome .welcome-photos ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Contrast fixes from the audit */

#app .h4-today li>button small,#app .ws-subnav small,#app .p3-stats dd small,#app .h4-tickmark{color:var(--nb-muted)}
#app .h4-pin small,#app .h4-dates-list small{color:var(--nb-ink-2);filter:none}
body.dark #app .h4-pin small,body.dark #app .h4-dates-list small{filter:none}
#app .h4-pin small::before,#app .h4-dates-list small::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--fc);vertical-align:1px}
#app .h4-today-label{position:absolute;left:-6px;top:110px}
#app .h4-num{color:var(--nb-muted);-webkit-text-stroke:0}
#app .h4-drills li>button:hover .h4-num{color:#C2410C}
body.dark #app .h4-drills li>button:hover .h4-num{color:#FFB27A}
#app .h4-tickmark{background:none}
#app .h4-tickmark::before{content:"";position:absolute;left:0;top:0;width:1.5px;height:14px;background:var(--nb-ink)}

/* ---------- Inner pages: photo band behind the page title ---------- */
#app .ws-main .cs-band{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;min-height:230px;margin-bottom:28px;padding:64px 32px 26px;border:0;border-radius:18px;background:#121318;color:#fff}
#app .ws-main .cs-band>.cs-band-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
#app .ws-main .cs-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,15,.9) 0%,rgba(10,11,15,.72) 45%,rgba(10,11,15,.2) 100%),linear-gradient(0deg,rgba(10,11,15,.5),transparent 60%)}
#app .ws-main .cs-band::after{display:none}
#app .ws-main .cs-band .cs-band-note{position:absolute;top:22px;left:32px;color:#FFD86B;font-size:1.4rem}
#app .ws-main .cs-band :is(h1,h2,p,small,dt,dd,span:not(.cs-band-note),.ws-meta,.gd2-kicker,label,b,strong){color:#fff}
#app .ws-main .cs-band h1{margin:0;font-size:clamp(2.1rem,1.4rem + 2.2vw,3rem);line-height:1.02;text-shadow:0 1px 18px rgba(0,0,0,.35)}
#app .ws-main .cs-band p{max-width:60ch;color:#D5DAE4;margin:8px 0 0;line-height:1.5}
#app .ws-main .cs-band>div:first-of-type{max-width:640px}
#app .ws-main .cs-band dt{color:#B8C0CE}
#app .ws-main .cs-band :is(.button,a.button).secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(6px)}
#app .ws-main .cs-band :is(.button,a.button).secondary:hover{background:rgba(255,255,255,.22);border-color:#fff}
#app .ws-main .cs-band :is(.button,a.button):not(.secondary):not(.text-button){background:#FFD86B;color:#121318;box-shadow:none}
#app .ws-main .cs-band :is(.button,a.button):not(.secondary):not(.text-button):hover{background:#FFCE3D;color:#121318}
#app .ws-main .cs-band :is(.text-button,a:not(.button)){color:#fff;text-decoration:underline;text-underline-offset:4px}
#app .ws-main .cs-band details,#app .ws-main .cs-band summary{color:#fff}
@media (prefers-reduced-motion:no-preference){#app .ws-main .cs-band>.cs-band-img{animation:h4-zoom 14s ease-out both}#app .ws-main .cs-band .cs-band-note{animation:h4-up .5s .15s var(--cs-ease) both}}
@media (max-width:600px){#app .ws-main .cs-band{min-height:200px;padding:58px 18px 18px;border-radius:14px}#app .ws-main .cs-band .cs-band-note{left:18px;top:18px;font-size:1.2rem}#app .ws-main .cs-band::before{background:linear-gradient(0deg,rgba(10,11,15,.94),rgba(10,11,15,.55))}}
#app .ws-main .cs-band [class*=kicker],#app .ws-main .cs-band [class*=eyebrow],#app .ws-main .cs-band small{color:#C9D0DC}
#app .story-coverage .story-questions li{display:block}
#app .story-coverage .story-questions li>button{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;width:100%;text-align:left}
#app .story-coverage .story-questions li>button>span:first-child{grid-row:span 2;align-self:start;margin-top:6px}
#app .ws-main .cs-band.gd2-head p.gd2-kicker,#app .ws-main .cs-band.gd2-head p:last-child{color:#C9D0DC}

/* GD room: the real room, faintly, behind the table */
.gdx{isolation:isolate}
.gdx::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/photos/gd-table.webp') center 30%/cover no-repeat;opacity:.16;filter:saturate(.7) blur(1px);pointer-events:none}
.gdx .gdx-lobby label{color:#C9D0DC}

/* ---------- Filmy moments: a talking clapperboard with a credited one-liner ---------- */
.fm{position:fixed;right:22px;bottom:22px;z-index:2500;display:flex;align-items:flex-end;gap:10px;max-width:min(440px,calc(100vw - 32px));pointer-events:auto;animation:fm-in .55s cubic-bezier(.2,1.4,.4,1) both}
.fm.is-out{animation:fm-out .35s ease-in both}
.fm.is-still,.fm.is-still *{animation:none!important}
.fm-clap{flex:none;width:86px;height:80px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}
.fm-clap-top{transform-origin:12px 34px;animation:fm-snap .9s .2s cubic-bezier(.3,1.6,.5,1) 2}
.fm-face{animation:fm-bob 1.6s 1s ease-in-out infinite}
.fm-eye{animation:fm-blink 3.2s 1.2s infinite}
.fm-mouth{transform-origin:58px 88px;animation:fm-talk .28s .8s ease-in-out 8 alternate}
.fm-bubble{position:relative;margin-bottom:22px;padding:14px 16px 12px;border-radius:16px 16px 16px 4px;background:#FFFDF5;color:#121318;box-shadow:0 18px 40px -16px rgba(0,0,0,.45),0 0 0 1.5px #121318}
.fm-bubble::before{content:"";position:absolute;left:-9px;bottom:10px;width:16px;height:16px;background:#FFFDF5;border-left:1.5px solid #121318;border-bottom:1.5px solid #121318;transform:rotate(45deg)}
.fm-bubble q{display:block;font:700 1.12rem/1.3 'Bricolage Grotesque',Arial,sans-serif;quotes:"“" "”";letter-spacing:-.01em}
.fm-gloss{display:block;margin-top:4px;font:600 1.05rem/1.2 'Caveat',cursive;color:#C2410C}
.fm-bubble cite{display:block;margin-top:6px;font:600 .78rem/1.2 'Source Sans 3',Arial,sans-serif;font-style:normal;color:#545A68}
.fm-x{position:absolute;top:-10px;right:-10px;width:28px;height:28px;min-height:0;padding:0;border:0;border-radius:50%;background:#121318;color:#fff;font:700 1rem/1 Arial;cursor:pointer}
.fm-confetti{position:absolute;left:-40px;right:-10px;bottom:30px;height:0;pointer-events:none}
.fm-confetti i{position:absolute;bottom:0;width:8px;height:12px;border-radius:2px;background:var(--c);animation:fm-pop var(--d) cubic-bezier(.15,.7,.4,1) both}
@keyframes fm-in{from{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:none}}
@keyframes fm-out{to{opacity:0;transform:translateY(24px) scale(.95)}}
@keyframes fm-snap{0%{transform:rotate(0)}35%{transform:rotate(-24deg)}70%{transform:rotate(0)}100%{transform:rotate(0)}}
@keyframes fm-bob{50%{transform:translateY(-2px)}}
@keyframes fm-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes fm-talk{to{transform:scaleY(1.9)}}
@keyframes fm-pop{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(calc(var(--x) * 160px),-260px) rotate(var(--r));opacity:0}}
.fm-eye{transform-box:fill-box;transform-origin:center}
@media (max-width:600px){.fm{right:12px;left:12px;bottom:76px}.fm-clap{width:64px;height:60px}}
body.dark .fm-bubble{box-shadow:0 18px 40px -16px rgba(0,0,0,.8),0 0 0 1.5px #000}

/* Empty states: a tumbleweed rolls through */
#app .has-tumble{position:relative;overflow:hidden}
#app .fm-tumble{display:flex;align-items:center;gap:8px;margin-top:10px;height:40px;pointer-events:none}
#app .fm-tumble svg{width:34px;height:34px;flex:none}
#app .fm-tumble em{font:600 1.15rem/1 'Caveat',cursive;font-style:normal;color:var(--nb-muted)}
@media (prefers-reduced-motion:no-preference){#app .fm-tumble svg{animation:fm-roll 6s linear infinite}#app .fm-tumble em{animation:fm-crick 6s linear infinite}}
@keyframes fm-roll{0%{transform:translateX(-40px) rotate(0)}10%{transform:translateX(0) rotate(180deg) translateY(-4px)}60%{transform:translateX(260px) rotate(900deg)}61%,100%{transform:translateX(320px) rotate(960deg);opacity:0}}
@keyframes fm-crick{0%,62%{opacity:0}70%,92%{opacity:1}100%{opacity:0}}

/* ---------- Fewer boxes around text ---------- */
/* Homepage: the joke is handwritten under the purpose line, not a pill; the proof row is plain text. */
#app .welcome .welcome-pill.welcome-quip{padding:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;font:600 clamp(1.35rem,1.1rem + .8vw,1.7rem)/1.2 'Caveat',cursive;color:#C2410C;transform:rotate(-1.5deg)}
body.dark #app .welcome .welcome-pill.welcome-quip{color:#FFB27A;background:none;box-shadow:none}
#app .welcome .hero-proof{padding:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
#app .welcome .hero-proof li{padding:2px 12px}
body.dark #app .welcome .hero-proof{background:none;box-shadow:none}
/* Applications: the next move is a sentence and a button, not a card. */
#app .apps-next{padding:4px 0 18px;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--cs-line)}
#app .apps-next>p{font:600 1.08rem/1.45 var(--nb-ui)}
#app .apps-next>p>span{width:auto;height:auto;margin-right:8px;border-radius:0;background:none}
/* Skills library: "pick up where you left off" reads as a line with a marker, not a floating card. */
#app .ws-main .practice-session{border:0;border-left:4px solid #FFD86B;border-radius:0;background:none;box-shadow:none;padding:6px 0 6px 18px}

/* ---------- Aptitude gym ---------- */
#app .apt h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 0 14px;font-size:1.45rem}
#app .apt ul,#app .apt ol{list-style:none;margin:0;padding:0}
#app .apt-pick li{border-top:1px solid var(--cs-line)}
#app .apt-pick li:last-child{border-bottom:1px solid var(--cs-line)}
#app .apt-pick li>button{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:0;padding:18px 6px;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .apt-pick li>button:hover{background:linear-gradient(90deg,color-mix(in srgb,#FFD86B 22%,transparent),transparent 70%)}
#app .apt-pick b{font:700 1.5rem/1 var(--cs-display);color:var(--nb-ink)}
#app .apt-pick span{color:var(--nb-ink-2)}
#app .apt-pick em{font:600 1.1rem/1 'Caveat',cursive;font-style:normal;color:var(--nb-muted)}
#app .apt-fine{margin:14px 0 0;color:var(--nb-muted);font-size:.9rem}
#app .apt-q{max-width:780px}
#app .apt-meta{display:flex;justify-content:space-between;gap:12px;font:650 .85rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .apt-clock{font:800 1.1rem/1 var(--cs-display);color:var(--nb-ink);font-variant-numeric:tabular-nums}
#app .apt-bar{height:4px;margin:10px 0 22px;border-radius:2px;background:var(--nb-tint);overflow:hidden}
#app .apt-bar i{display:block;height:100%;background:#FFD86B;transition:width .3s var(--cs-ease)}
#app .apt-q h2{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);line-height:1.25;margin-bottom:20px}
#app .apt-opts{display:grid;gap:8px;margin-bottom:16px}
#app .apt-opts button{display:flex;align-items:center;gap:14px;width:100%;min-height:0;padding:14px 16px;border:0;border-bottom:1px solid var(--cs-line);background:none;text-align:left;color:var(--nb-ink);font:600 1.08rem/1.3 var(--nb-ui);cursor:pointer;transition:background-color .12s,transform .12s var(--cs-ease)}
#app .apt-opts button:hover{background:color-mix(in srgb,#FFD86B 25%,transparent);transform:translateX(3px)}
#app .apt-opts kbd{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--nb-ink);color:var(--nb-page);font:800 .85rem/1 var(--nb-ui)}
#app .apt-score{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:0;font:600 1.4rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .apt-score b{font:800 4.2rem/1 var(--cs-display);color:var(--nb-ink);letter-spacing:-.04em}
#app .apt-review{margin:22px 0}
#app .apt-review li{padding:14px 0 14px 18px;border-top:1px solid var(--cs-line);border-left:4px solid #16794C}
#app .apt-review li.is-miss{border-left-color:#C2410C}
#app .apt-review small{font:700 .72rem/1 var(--nb-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--nb-muted)}
#app .apt-review b{display:block;margin:4px 0;font:650 1rem/1.4 var(--nb-ui);color:var(--nb-ink)}
#app .apt-review p{margin:2px 0;color:var(--nb-ink-2);font-size:.94rem}
#app .apt-why{color:var(--nb-muted)}
#app .apt-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:640px){#app .apt-pick li>button{grid-template-columns:1fr;gap:4px}}

/* ---------- Intro pitch ---------- */
#app .pitch-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
#app .pitch h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 0 14px;font-size:1.4rem}
#app .pitch h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 10px;font-size:1.15rem}
#app .pitch-field{display:grid;gap:6px;margin-bottom:14px;font:650 .92rem/1.3 var(--nb-ui);color:var(--nb-ink-2)}
#app .pitch-field textarea{width:100%;resize:vertical;font:500 1rem/1.5 var(--nb-ui)}
#app .pitch-saved,#app .pitch-fine{font-size:.84rem;color:var(--nb-muted)}
#app .pitch-out{position:sticky;top:20px}
#app .pitch-script{margin:0 0 16px;padding:4px 0 4px 20px;border-left:4px solid #FFD86B;font:500 1.15rem/1.6 var(--nb-ui);color:var(--nb-ink)}
#app .pitch-script span{color:var(--nb-muted)}
#app .pitch-checks{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:6px}
#app .pitch-checks li{position:relative;padding-left:26px;font-size:.92rem;line-height:1.45;color:var(--nb-ink-2)}
#app .pitch-checks li::before{content:"✗";position:absolute;left:0;top:0;font:700 1rem/1.4 var(--nb-ui);color:#C2410C}
#app .pitch-checks li.is-ok{color:var(--nb-muted)}
#app .pitch-checks li.is-ok::before{content:"✓";color:#16794C}
#app .pitch-rehearse{padding-top:18px;border-top:1.5px solid var(--nb-ink)}
#app .pitch-live{min-height:3em;margin:0 0 12px;font:500 1.05rem/1.5 var(--nb-ui);color:var(--nb-ink)}
#app .pitch-result{display:flex;gap:28px;margin:16px 0 6px}
#app .pitch-result dt{font:600 .8rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .pitch-result dd{margin:6px 0 0;font:800 1.8rem/1 var(--cs-display);color:var(--nb-ink)}
#app .pitch-result dd small{font:600 .8rem/1 var(--nb-ui);color:var(--nb-muted)}
#app .pitch-verdict{margin:6px 0;color:var(--nb-ink-2)}
@media (max-width:900px){#app .pitch-cols{grid-template-columns:1fr}#app .pitch-out{position:static}}
body.dark #app .pitch-checks li::before{color:#FFB27A}body.dark #app .pitch-checks li.is-ok::before{color:#7DD69C}
body.dark #app .apt-review li.is-miss{border-left-color:#FFB27A}body.dark #app .apt-review li{border-left-color:#7DD69C}
@media (min-width:1024px){#app .ws-masthead>nav>*{flex-shrink:0}}
#app .apt-opts kbd{background:#121318;color:#fff;box-shadow:none;border:0}
body.dark #app .apt-opts kbd{background:#EEF0F5;color:#0E0F13}







.fm-mute{position:absolute;right:4px;bottom:-22px;min-height:0;padding:2px 6px;border:0;border-radius:6px;background:rgba(18,19,24,.75);color:#fff;font:600 .72rem/1.2 "Source Sans 3",Arial,sans-serif;cursor:pointer}

/* ---------- Sign-in card: Google, reasons, kinder fields ---------- */
#app .welcome .acct-form input:focus{outline-color:rgba(43,75,238,.22)}
#app .welcome .acct-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:50px;margin:4px 0 0;border:1.5px solid #C6CBD6;border-radius:12px;background:#fff;color:#121318;font:700 1rem/1 var(--nb-ui);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s var(--cs-ease)}
#app .welcome .acct-google:hover{border-color:#121318;box-shadow:0 6px 16px -10px rgba(18,19,24,.5);transform:translateY(-1px)}
#app .welcome .acct-google:focus-visible{outline:3px solid rgba(43,75,238,.35);outline-offset:2px}
#app .welcome .acct-or{display:flex;align-items:center;gap:12px;margin:16px 0 10px;color:#545A68;font:600 .82rem/1 var(--nb-ui)}
#app .welcome .acct-or::before,#app .welcome .acct-or::after{content:"";flex:1;height:1px;background:#DCE0E8}
#app .welcome .acct-alert{margin:0 0 14px;padding:10px 12px;border-left:4px solid #C2410C;background:#FFF4EC;color:#7A2A08;font:600 .92rem/1.4 var(--nb-ui)}
#app .welcome .acct-pw{position:relative}
#app .welcome .acct-pw input{padding-right:70px}
#app .welcome .acct-eye{position:absolute;right:8px;top:29px;min-height:0;height:32px;padding:0 10px;border:0;border-radius:8px;background:#EEF0F5;color:#121318;font:700 .8rem/1 var(--nb-ui);cursor:pointer}
#app .welcome .acct-eye:hover{background:#DCE0E8}
#app .welcome .acct-meter{display:block;height:4px;margin-top:2px;border-radius:2px;background:#E3E6EE;overflow:hidden}
#app .welcome .acct-meter i{display:block;height:100%;width:0;border-radius:2px;background:#C2410C;transition:width .25s var(--cs-ease),background-color .25s}
#app .welcome .acct-meter.is-weak i{width:35%}
#app .welcome .acct-meter.is-ok i{width:70%;background:#B77900}
#app .welcome .acct-meter.is-strong i{width:100%;background:#16794C}
#app .welcome .acct-meter-say{font:500 .8rem/1.3 var(--nb-ui);color:#545A68}
#app .welcome .acct-typo{margin:-4px 0 8px;font:500 .88rem/1.3 var(--nb-ui);color:#545A68}
#app .welcome .acct-typo button{min-height:0;padding:0;border:0;background:none;color:#2B4BEE;font:700 .88rem/1.3 var(--nb-ui);text-decoration:underline;cursor:pointer}

/* GD room: cartoon classmates who talk and blink */
.gdx-seat .gdx-av{overflow:hidden;background:color-mix(in srgb,var(--c) 70%,#fff)}
.gdx-face{width:100%;height:100%;display:block}
.gdx-eyes{transform-box:fill-box;transform-origin:center}
.gdx-mouth{transform-box:fill-box;transform-origin:center top}
@media (prefers-reduced-motion:no-preference){
 .gdx-seat .gdx-eyes{animation:gdx-blink 4.2s calc(var(--i) * .7s) infinite}
 .gdx-seat.is-on .gdx-mouth{animation:gdx-talk .22s ease-in-out infinite alternate}
}
@keyframes gdx-blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@keyframes gdx-talk{from{transform:scaleY(.6)}to{transform:scaleY(2.2)}}

/* ---------- Homepage: in one look ---------- */
#app .welcome .welcome-look{margin:clamp(40px,6vw,76px) auto 8px}
#app .welcome .welcome-look ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);list-style:none;margin:0;padding:0}
#app .welcome .welcome-look li{display:grid;justify-items:center;text-align:center;gap:6px}
#app .welcome .welcome-look figure{margin:0 0 12px;padding:10px 10px 12px;background:#fff;transform:rotate(var(--rot));box-shadow:0 1px 2px rgba(18,19,24,.08),0 16px 30px -16px rgba(18,19,24,.4);transition:transform .3s var(--cs-ease)}
#app .welcome .welcome-look li:hover figure{transform:rotate(0) scale(1.03)}
#app .welcome .welcome-look img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
#app .welcome .welcome-look b{font:800 clamp(2rem,1.4rem + 2vw,2.8rem)/1 var(--cs-display);letter-spacing:-.03em;color:var(--c)}
body.dark #app .welcome .welcome-look b{filter:brightness(1.5) saturate(.85)}
#app .welcome .welcome-look span{max-width:24ch;font:600 1.3rem/1.15 'Caveat',cursive;color:var(--nb-ink-2)}
@media (prefers-reduced-motion:no-preference){#app .welcome .welcome-look li{animation:wph-in .6s calc(var(--i) * .1s) var(--cs-ease) both}}
@media (max-width:760px){#app .welcome .welcome-look ol{grid-template-columns:1fr;max-width:360px;margin:0 auto}}

/* ---------- Homepage: the GD room, acted out ---------- */
#app .welcome .welcome-gdscene{background:#FFFFFF;color:#121318;padding:clamp(56px,8vw,96px) 0}
body.dark #app .welcome .welcome-gdscene{background:#F6F4EF}
#app .welcome .gds-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(20px,4vw,48px);align-items:center}
#app .welcome .gds-kicker{font:700 .8rem/1 var(--nb-ui);letter-spacing:.1em;text-transform:uppercase;color:#16794C}
#app .welcome .gds-head h2{margin:10px 0 12px;font:800 clamp(2rem,1.3rem + 2.4vw,3rem)/1.02 var(--cs-display);letter-spacing:-.03em;color:#121318}
#app .welcome .gds-head h2 span{display:block;font:600 clamp(1.7rem,1.2rem + 1.4vw,2.3rem)/1.1 'Caveat',cursive;letter-spacing:0;color:#C2410C}
#app .welcome .gds-head p{margin:0 0 20px;max-width:38ch;color:#3A3E4A;font-size:1.05rem;line-height:1.5}
#app .welcome .gds-head .button{background:#121318;color:#fff;border-radius:12px}
#app .welcome .gds-stage{margin:0}
#app .welcome .gds-svg{display:block;width:100%;height:auto;overflow:visible}
#app .welcome .gds-stage figcaption{margin-top:6px;text-align:center}
#app .welcome .gds-stage figcaption .h4-hand{color:#545A68;transform:none;font-size:1.2rem}
/* Furniture */
#app .gds-svg .gs-chair{fill:#8A5A3B}
#app .gds-svg .gs-table{fill:#E0A458}
#app .gds-svg .gs-table-edge{fill:#B97A3D}
#app .gds-svg .gs-leg{stroke:#8A5A3B;stroke-width:10;stroke-linecap:round}
#app .gds-svg .gs-papers rect{fill:#fff;stroke:#D7CBB7;stroke-width:1}
#app .gds-svg .gs-desk{fill:#C98A3D}
#app .gds-svg .gs-clip rect{fill:#FFF8E6;stroke:#121318;stroke-width:2}
#app .gds-svg .gs-clip path{stroke:#9AA0AC;stroke-width:2}
#app .gds-svg .gs-pen{stroke:#2B4BEE;stroke-width:4}
#app .gds-svg .gs-clock circle{fill:#fff;stroke:#121318;stroke-width:3}
#app .gds-svg .gs-clock path{stroke:#121318;stroke-width:3;stroke-linecap:round}
#app .gds-svg .gs-name{font:700 15px 'Source Sans 3',Arial,sans-serif;fill:#545A68}
#app .gds-svg .gs-p.is-you .gs-name{fill:#C2410C}
#app .gds-svg .gs-p.is-speaking .gs-name{fill:#121318}
/* People */
#app .gds-svg .gs-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform .45s var(--cs-ease)}
#app .gds-svg .gs-eyes{transform:translateX(var(--look,0));transition:transform .5s var(--cs-ease)}
#app .gds-svg .gs-mouth{transform-box:fill-box;transform-origin:50% 0}
#app .gds-svg .gs-arm-r{transform-box:view-box;transform-origin:0 0}
#app .gds-svg .gs-judge .gs-eyes{transform:translateX(clamp(-3px,var(--look,0),3px))}
/* Speech bubbles */
#app .gds-svg .gs-bubble{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transition:opacity .25s,transform .35s cubic-bezier(.2,1.5,.4,1);transform:scale(.8)}
#app .gds-svg .gs-bubble rect{fill:#fff;stroke:#121318;stroke-width:2}
#app .gds-svg .gs-bubble path{fill:#fff;stroke:#121318;stroke-width:2;stroke-linejoin:round}
#app .gds-svg .gs-bubble text{font:700 15px 'Bricolage Grotesque',Arial,sans-serif;fill:#121318}
#app .gds-svg .gs-bubble.is-on{opacity:1;transform:scale(1)}
@media (prefers-reduced-motion:no-preference){
 #app .gds-svg .gs-p.is-speaking .gs-body{transform:translateY(-6px) rotate(-2deg)}
 #app .gds-svg .gs-p.is-speaking .gs-mouth{animation:gs-talk .2s ease-in-out infinite alternate}
 #app .gds-svg .gs-p.is-speaking .gs-arm-r{animation:gs-gesture 1.6s ease-in-out infinite}
 #app .gds-svg .gs-p .gs-eyes circle{animation:gs-blink 4.6s infinite;transform-box:fill-box;transform-origin:center}
 #app .gds-svg .gs-p[data-gs="1"] .gs-eyes circle{animation-delay:1.1s}#app .gds-svg .gs-p[data-gs="2"] .gs-eyes circle{animation-delay:2.3s}#app .gds-svg .gs-p[data-gs="3"] .gs-eyes circle{animation-delay:.6s}#app .gds-svg .gs-p[data-gs="4"] .gs-eyes circle{animation-delay:3.4s}
 #app .gds-svg .gs-pen{animation:gs-scribble .9s ease-in-out infinite}
 #app .gds-svg .gs-hand-m{transform-origin:0 0;animation:gs-tick 10s linear infinite}
}
@keyframes gs-talk{from{transform:scaleY(.5)}to{transform:scaleY(2.4)}}
@keyframes gs-gesture{0%,100%{transform:translate(0,0)}30%{transform:translate(4px,-22px)}60%{transform:translate(-2px,-10px)}}
@keyframes gs-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes gs-scribble{0%,100%{transform:translate(0,0)}25%{transform:translate(3px,1px)}50%{transform:translate(-2px,2px)}75%{transform:translate(2px,-1px)}}
@keyframes gs-tick{to{transform:rotate(360deg)}}
@media (max-width:900px){#app .welcome .gds-wrap{grid-template-columns:1fr}#app .welcome .gds-head{text-align:center}#app .welcome .gds-head p{margin-inline:auto}}

/* ---------- Homepage: everything inside, one row of drawn icons ---------- */
#app .welcome .welcome-rail{margin:26px auto 0}
#app .welcome .welcome-rail ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 4px;list-style:none;margin:0;padding:0}
#app .welcome .welcome-rail a{display:grid;justify-items:center;gap:6px;width:104px;padding:6px 2px;color:#121318;text-decoration:none;border-radius:14px;transition:transform .2s var(--cs-ease)}
#app .welcome .welcome-rail a:hover{transform:translateY(-3px)}
#app .welcome .wr-ico{display:grid;place-items:center;width:58px;height:58px;border-radius:18px 22px 16px 20px;background:var(--c);transform:rotate(calc((var(--i) - 3.5) * 1.5deg));box-shadow:0 8px 16px -10px rgba(18,19,24,.5)}
#app .welcome .wr-ico svg{width:36px;height:36px;fill:none;stroke:#121318;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:url(#cs-rough-w)}
#app .welcome .welcome-rail a:hover .wr-ico{animation:wr-wiggle .45s ease-in-out}
#app .welcome .wr-label{font:700 .86rem/1.15 var(--nb-ui);text-align:center}
body.dark #app .welcome .welcome-rail a{color:#EEF0F5}
@keyframes wr-wiggle{25%{transform:rotate(-8deg) scale(1.08)}75%{transform:rotate(6deg) scale(1.08)}}
@media (prefers-reduced-motion:no-preference){#app .welcome .welcome-rail li{animation:h4-up .5s calc(.3s + var(--i) * .05s) var(--cs-ease) both}}
@media (max-width:560px){#app .welcome .welcome-rail a{width:84px}#app .welcome .wr-ico{width:48px;height:48px}#app .welcome .wr-ico svg{width:30px;height:30px}#app .welcome .wr-label{font-size:.78rem}}

/* ---------- Homepage: feature spotlights ---------- */
#app .welcome .welcome-show{padding:clamp(56px,8vw,100px) 0;background:#FFFDF7;color:#121318}
#app .welcome .welcome-show.is-mail{background:#EEF3FF}
body.dark #app .welcome .welcome-show{background:#F4F1EA}body.dark #app .welcome .welcome-show.is-mail{background:#E7ECF8}
#app .welcome .ws-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);align-items:center}
#app .welcome .ws-grid.is-flip .ws-copy{order:2}
#app .welcome .ws-kicker{font:700 .8rem/1 var(--nb-ui);letter-spacing:.1em;text-transform:uppercase;color:#C2410C}
#app .welcome .is-mail .ws-kicker{color:#2B4BEE}
#app .welcome .ws-copy h2{margin:10px 0 12px;font:800 clamp(2rem,1.3rem + 2.4vw,3rem)/1.02 var(--cs-display);letter-spacing:-.03em;color:#121318}
#app .welcome .ws-copy h2 span{display:block;font:600 clamp(1.7rem,1.2rem + 1.4vw,2.3rem)/1.1 'Caveat',cursive;letter-spacing:0;color:#C2410C}
#app .welcome .is-mail .ws-copy h2 span{color:#2B4BEE}
#app .welcome .ws-copy p{margin:0 0 14px;max-width:40ch;color:#3A3E4A;font-size:1.05rem;line-height:1.5}
#app .welcome .ws-points{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:6px}
#app .welcome .ws-points li{position:relative;padding-left:24px;font:600 .98rem/1.35 var(--nb-ui);color:#121318}
#app .welcome .ws-points li::before{content:"✓";position:absolute;left:0;color:#16794C;font-weight:800}
#app .welcome .ws-copy .button{background:#121318;color:#fff;border-radius:12px}
#app .welcome .ws-stage{position:relative;margin:0;min-height:380px;display:grid;place-items:center}
/* The résumé */
#app .welcome .ats-sheet{position:relative;width:min(420px,100%);padding:30px 30px 34px;background:#fff;box-shadow:0 2px 4px rgba(18,19,24,.06),0 30px 60px -28px rgba(18,19,24,.45);transform:rotate(-1.5deg);overflow:visible}
#app .welcome .ats-name{display:block;font:800 1.3rem/1 var(--cs-display);letter-spacing:.04em}
#app .welcome .ats-h{display:block;margin:18px 0 8px;font:800 .72rem/1 var(--nb-ui);letter-spacing:.12em;text-transform:uppercase;color:#545A68;border-bottom:1px solid #DCE0E8;padding-bottom:4px}
#app .welcome .ats-line{display:block;height:8px;margin:8px 0;border-radius:4px;background:#E3E6EE}
#app .welcome .ats-line.w70{width:70%}#app .welcome .ats-line.w90{width:90%}#app .welcome .ats-line.w60{width:60%}
#app .welcome .ats-bullet{position:relative;margin:8px 0;padding-left:14px;font:500 .95rem/1.4 var(--nb-ui)}
#app .welcome .ats-bullet::before{content:"•";position:absolute;left:0}
#app .welcome .ats-bullet s{text-decoration-color:#C2410C;text-decoration-thickness:2.5px}
#app .welcome .ats-bullet ins{text-decoration:none;font-family:'Caveat',cursive;font-size:1.25rem;font-weight:700;color:#16794C}
#app .welcome .ats-bullet.is-bad::after{content:"";position:absolute;left:8px;right:-6px;top:-4px;bottom:-4px;border:2.5px solid #C2410C;border-radius:40% 55% 45% 60%/60% 45% 55% 40%;opacity:0}
#app .welcome .ats-scan{position:absolute;left:-12px;right:-12px;top:0;height:3px;background:#FF7A59;box-shadow:0 0 18px 4px rgba(255,122,89,.45);opacity:0}
#app .welcome .ats-note{position:absolute;max-width:200px;padding:10px 12px;background:#FFE14D;color:#121318;font:600 .86rem/1.3 var(--nb-ui);box-shadow:0 10px 20px -10px rgba(0,0,0,.4);opacity:0}
#app .welcome .ats-note.n1{right:-150px;top:84px;transform:rotate(3deg)}
#app .welcome .ats-note.n2{left:-140px;top:160px;background:#FFB8D9;transform:rotate(-4deg)}
#app .welcome .ats-score{position:absolute;right:4%;bottom:0;display:grid;place-items:center;width:120px;height:120px}
#app .welcome .ats-score svg{position:absolute;inset:0;transform:rotate(-90deg)}
#app .welcome .ats-ring-bg{fill:#fff;stroke:#E3E6EE;stroke-width:10}
#app .welcome .ats-ring{fill:none;stroke:#C2410C;stroke-width:10;stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:185}
#app .welcome .ats-score b{position:relative;display:grid;font:800 2rem/1 var(--cs-display)}
#app .welcome .ats-score b span{grid-area:1/1}
#app .welcome .ats-to{opacity:0}
#app .welcome .ats-score small{position:relative;margin-top:-26px;font:700 .66rem/1 var(--nb-ui);letter-spacing:.06em;text-transform:uppercase;color:#545A68}
/* The email */
#app .welcome .mail-win{width:min(470px,100%);background:#fff;border-radius:14px;box-shadow:0 2px 4px rgba(18,19,24,.06),0 30px 60px -28px rgba(18,19,24,.45);overflow:hidden;transform:rotate(1deg)}
#app .welcome .mail-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#121318;color:#fff;font:700 .82rem/1 var(--nb-ui)}
#app .welcome .mail-bar i{width:10px;height:10px;border-radius:50%;background:#FF7A59}#app .welcome .mail-bar i:nth-child(2){background:#FFD86B}#app .welcome .mail-bar i:nth-child(3){background:#7FE0B0}
#app .welcome .mail-bar span{margin-left:8px}
#app .welcome .mail-row{margin:0;padding:10px 16px;border-bottom:1px solid #E3E6EE;font:500 .92rem/1.3 var(--nb-ui);color:#121318}
#app .welcome .mail-row b{display:inline-block;width:64px;color:#545A68;font-weight:700}
#app .welcome .mail-body{padding:14px 16px 6px;font:500 .98rem/1.55 var(--nb-ui);color:#121318}
#app .welcome .mail-body p{margin:0 0 10px}
#app .welcome .mail-cringe{text-decoration-color:#C2410C;text-decoration-thickness:2.5px;color:#9AA0AC}
#app .welcome .mail-type{display:inline-block}
#app .welcome .mail-checks{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 16px}
#app .welcome .mail-checks span{padding:4px 10px;border-radius:999px;background:#E2FEF4;color:#16794C;font:700 .78rem/1.3 var(--nb-ui)}
#app .welcome .mail-sent{position:absolute;right:6%;bottom:6%;padding:10px 16px;border-radius:12px;background:#16794C;color:#fff;font:800 1rem/1 var(--nb-ui);transform:rotate(-6deg);box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:no-preference){
 #app .welcome .welcome-show.is-in .ats-scan{animation:ats-scan 9s ease-in-out infinite}
 #app .welcome .welcome-show.is-in .ats-bullet.is-bad::after{animation:ats-mark 9s ease-out infinite}
 #app .welcome .welcome-show.is-in .ats-note.n1{animation:ats-note1 9s cubic-bezier(.2,1.5,.4,1) infinite}
 #app .welcome .welcome-show.is-in .ats-note.n2{animation:ats-note2 9s cubic-bezier(.2,1.5,.4,1) infinite}
 #app .welcome .welcome-show.is-in .ats-ring{animation:ats-ring 9s ease-in-out infinite}
 #app .welcome .welcome-show.is-in .ats-from{animation:ats-from 9s infinite}
 #app .welcome .welcome-show.is-in .ats-to{animation:ats-to 9s infinite}
 #app .welcome .welcome-show.is-in .ats-bullet s{animation:ats-strike 9s infinite}
 #app .welcome .welcome-show.is-in .ats-bullet ins{animation:ats-ins 9s infinite}
 #app .welcome .welcome-show.is-in .mail-type{animation:mail-type 10s steps(24) infinite}
 #app .welcome .welcome-show.is-in .mail-type.t2{animation-name:mail-type2}
 #app .welcome .welcome-show.is-in .mail-type.t3{animation-name:mail-type3}
 #app .welcome .welcome-show.is-in .mail-type.t4{animation-name:mail-type4}
 #app .welcome .welcome-show.is-in .mail-cringe{animation:mail-cringe 10s infinite}
 #app .welcome .welcome-show.is-in .mail-checks span{animation:mail-check 10s infinite}
 #app .welcome .welcome-show.is-in .mail-sent{animation:mail-sent 10s cubic-bezier(.2,1.6,.4,1) infinite}
}
@keyframes ats-scan{0%{top:0;opacity:0}3%{opacity:1}24%{top:100%;opacity:1}27%,100%{top:100%;opacity:0}}
@keyframes ats-mark{0%,26%{opacity:0;transform:scale(1.15)}31%,90%{opacity:1;transform:scale(1)}96%,100%{opacity:0}}
@keyframes ats-note1{0%,33%{opacity:0;transform:rotate(3deg) translateY(10px) scale(.8)}38%,90%{opacity:1;transform:rotate(3deg)}96%,100%{opacity:0}}
@keyframes ats-note2{0%,42%{opacity:0;transform:rotate(-4deg) translateY(10px) scale(.8)}47%,90%{opacity:1;transform:rotate(-4deg)}96%,100%{opacity:0}}
@keyframes ats-strike{0%,52%{text-decoration-line:none}55%,100%{text-decoration-line:line-through}}
@keyframes ats-ins{0%,55%{opacity:0}60%,92%{opacity:1}96%,100%{opacity:0}}
@keyframes ats-ring{0%,62%{stroke-dashoffset:185;stroke:#C2410C}72%,92%{stroke-dashoffset:57;stroke:#16794C}100%{stroke-dashoffset:185;stroke:#C2410C}}
@keyframes ats-from{0%,64%{opacity:1}68%,94%{opacity:0}100%{opacity:1}}
@keyframes ats-to{0%,66%{opacity:0}70%,92%{opacity:1;color:#16794C}96%,100%{opacity:0}}
@keyframes mail-type{0%,4%{clip-path:inset(0 100% 0 0)}18%,94%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes mail-type2{0%,24%{clip-path:inset(0 100% 0 0)}30%,94%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes mail-type3{0%,30%{clip-path:inset(0 100% 0 0)}52%,94%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes mail-type4{0%,52%{clip-path:inset(0 100% 0 0)}66%,94%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes mail-cringe{0%,18%{text-decoration-line:none;color:#121318}22%,94%{text-decoration-line:line-through;color:#9AA0AC}100%{text-decoration-line:none;color:#121318}}
@keyframes mail-check{0%,68%{opacity:0;transform:translateY(6px)}72%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes mail-sent{0%,76%{opacity:0;transform:rotate(-6deg) scale(.4)}80%,94%{opacity:1;transform:rotate(-6deg) scale(1)}100%{opacity:0}}
@media (max-width:900px){#app .welcome .ws-grid{grid-template-columns:1fr}#app .welcome .ws-grid.is-flip .ws-copy{order:0}#app .welcome .ats-note.n1{right:-8px;top:-30px}#app .welcome .ats-note.n2{left:-8px;top:auto;bottom:-40px}#app .welcome .ws-stage{min-height:0;padding:40px 0}}

/* ---------- Interview room: a light, real-feeling room with one interviewer ---------- */
.ivx-open{overflow:hidden}
.ivx{position:fixed;inset:0;z-index:2000;display:grid;grid-template-rows:auto minmax(0,1fr);background:#F7F5F0;color:#121318;font-family:'Source Sans 3',Arial,sans-serif;animation:h4-up .3s ease-out both}
.ivx::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 500px at 25% 30%,#FFFFFF,transparent 70%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(18,19,24,.035) 119px 120px)}
.ivx-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid rgba(18,19,24,.08)}
.ivx-top b{font:800 1.1rem/1 'Bricolage Grotesque',Arial,sans-serif}
.ivx-stage{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:clamp(16px,3vw,48px);align-items:start;padding:clamp(16px,3vw,40px);overflow:auto}
.ivx-desk{position:sticky;top:0;display:grid;justify-items:center;gap:8px}
.ivx-person{width:min(340px,100%);height:auto;overflow:visible}
.ivx-who{text-align:center}.ivx-who b{display:block;font:800 1.2rem/1.2 'Bricolage Grotesque',Arial,sans-serif}.ivx-who span{color:#545A68;font-size:.92rem}
.ivx-eyes{transform-box:fill-box;transform-origin:center}
.ivx-mouth{transform-box:fill-box;transform-origin:50% 0}
.ivx-head{transform-box:view-box;transform-origin:0 40px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:no-preference){
 .ivx-eyes{animation:gs-blink 4.4s infinite}
 .ivx-person.is-talking .ivx-mouth{animation:gs-talk .2s ease-in-out infinite alternate}
 .ivx-person.is-talking .ivx-head{animation:ivx-talkhead 2.4s ease-in-out infinite}
 .ivx-person.is-listening .ivx-head,.ivx-person.is-nodding .ivx-head{animation:ivx-nod 2.2s ease-in-out infinite}
 .ivx-person.is-listening .ivx-pen{animation:gs-scribble .8s ease-in-out infinite}
 .ivx-body{animation:ivx-breathe 4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
}
@keyframes ivx-talkhead{0%,100%{transform:rotate(0)}30%{transform:rotate(-2deg)}70%{transform:rotate(2deg)}}
@keyframes ivx-nod{0%,60%,100%{transform:rotate(0)}70%{transform:translateY(4px) rotate(1deg)}80%{transform:rotate(0)}}
@keyframes ivx-breathe{50%{transform:scaleY(1.012)}}
.ivx-kicker{font:700 .78rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#C2410C}
.ivx h2{margin:8px 0 16px;font:800 clamp(1.7rem,1.2rem + 1.6vw,2.4rem)/1.05 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.02em}
.ivx h2 span{font-size:.6em;color:#545A68;margin-left:8px}
.ivx-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-bottom:18px}
.ivx-roles button{display:grid;gap:2px;min-height:0;padding:12px 4px 12px 30px;border:0;border-bottom:1px solid rgba(18,19,24,.1);background:none;text-align:left;color:#121318;cursor:pointer;position:relative}
.ivx-roles button::before{content:"";position:absolute;left:4px;top:15px;width:16px;height:16px;border-radius:50%;border:2px solid #121318}
.ivx-roles button[aria-checked="true"]::before{background:#FFD86B;box-shadow:inset 0 0 0 3px #fff}
.ivx-roles b{font:700 1rem/1.25 'Source Sans 3',Arial,sans-serif}.ivx-roles span{font-size:.86rem;color:#545A68}
.ivx-roles button:hover b{text-decoration:underline;text-decoration-color:#FFD86B;text-decoration-thickness:3px;text-underline-offset:4px}
.ivx-row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-bottom:18px}
.ivx-file{position:relative;display:grid;gap:2px;padding:10px 14px 10px 16px;border-left:4px solid #FFD86B;cursor:pointer}
.ivx-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ivx-file b{font-weight:700}.ivx-file span{font-size:.84rem;color:#545A68}
.ivx-file:focus-within{outline:3px solid rgba(43,75,238,.35);outline-offset:2px}
.ivx-len{display:flex;align-items:center;gap:8px;font-weight:700}.ivx-len select{min-height:38px}
.ivx-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.ivx-go{min-height:0;padding:12px 20px;border:0;border-radius:12px;background:#121318;color:#fff;font:800 1rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer;transition:transform .14s}
.ivx-go:hover{transform:translateY(-1px);background:#2B2E38}
.ivx-ghost{min-height:0;padding:10px 14px;border:1.5px solid rgba(18,19,24,.25);border-radius:12px;background:transparent;color:#121318;font:700 .92rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.ivx-ghost:hover{border-color:#121318}
.ivx-mic{display:inline-flex;align-items:center;gap:8px;min-height:0;padding:12px 18px;border:0;border-radius:12px;background:#FFD86B;color:#121318;font:800 1rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.ivx-mic span{color:#C2410C}
.ivx-mic[aria-pressed="true"]{background:#FF7A59}
@media (prefers-reduced-motion:no-preference){.ivx-mic[aria-pressed="true"] span{animation:h4-pulse 1s infinite}}
.ivx-fine{font-size:.84rem;color:#545A68;margin:10px 0 0}
.ivx-prep{padding:4px 0 4px 22px;border-left:1.5px solid rgba(18,19,24,.15)}
.ivx-prep h3{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font:800 1.25rem/1.2 'Bricolage Grotesque',Arial,sans-serif}
.ivx-prep h3 span{font:600 1.1rem/1 'Caveat',cursive;color:#C2410C}
.ivx-prep h4{margin:16px 0 6px;font:800 .78rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#545A68}
.ivx-prep ol,.ivx-prep ul{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.45}
.ivx-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0}
.ivx-links button{min-height:0;padding:0;border:0;background:none;color:#2B4BEE;font:700 .95rem/1.4 'Source Sans 3',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ivx-lobby{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.ivx-live{max-width:760px}
.ivx-meta{display:flex;justify-content:space-between;gap:10px;font:700 .85rem/1 'Source Sans 3',Arial,sans-serif;color:#545A68}
.ivx-kind{padding:4px 10px;border-radius:999px;background:#E9E1FF;color:#121318}
.ivx-q{position:relative;margin:16px 0 18px;padding:18px 20px;border-radius:18px 18px 18px 4px;background:#fff;box-shadow:0 1px 2px rgba(18,19,24,.06),0 18px 34px -22px rgba(18,19,24,.45);font:700 clamp(1.2rem,1rem + .7vw,1.5rem)/1.35 'Bricolage Grotesque',Arial,sans-serif}
.ivx-answer textarea{width:100%;min-height:140px;padding:14px;border:1.5px solid rgba(18,19,24,.2);border-radius:14px;background:#fff;font:500 1.05rem/1.55 'Source Sans 3',Arial,sans-serif;resize:vertical}
.ivx-note{min-height:1.2em;color:#C2410C;font-weight:600}
.ivx-report{max-width:860px}
.ivx-report>p{color:#3A3E4A;font-size:1.05rem}
.ivx-bw{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0 22px}
.ivx-bw div{padding:4px 0 4px 16px;border-left:4px solid #16794C}.ivx-bw div+div{border-left-color:#C2410C}
.ivx-bw small{display:block;font:800 .74rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#545A68}
.ivx-bw b{display:block;margin:6px 0;font-weight:700}.ivx-bw span{font:800 1.3rem/1 'Bricolage Grotesque',Arial,sans-serif}
.ivx-turns{list-style:none;margin:0 0 20px;padding:0}
.ivx-turns li{padding:16px 0;border-top:1px solid rgba(18,19,24,.12)}
.ivx-turns header{display:flex;justify-content:space-between;gap:12px}.ivx-turns header span{font:800 1.2rem/1 'Bricolage Grotesque',Arial,sans-serif;white-space:nowrap}
.ivx-said{margin:8px 0;padding-left:14px;border-left:3px solid #FFD86B;color:#3A3E4A;line-height:1.5}
.ivx-good{margin:6px 0;color:#16794C;font-weight:600}
.ivx-better{margin:6px 0;padding-left:20px;color:#3A3E4A}
.ivx-turns details summary{cursor:pointer;font-weight:700;color:#2B4BEE}
.ivx-report h3{font:800 1.2rem/1.2 'Bricolage Grotesque',Arial,sans-serif}
@media (max-width:860px){.ivx-stage{grid-template-columns:1fr}.ivx-desk{position:static}.ivx-person{width:200px}.ivx-lobby{grid-template-columns:1fr}.ivx-prep{border-left:0;padding-left:0;border-top:1px solid rgba(18,19,24,.12);padding-top:16px}.ivx-roles{grid-template-columns:1fr}.ivx-bw{grid-template-columns:1fr}}
/* Interviews page: the room comes first */
#app .ivx-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:0 0 28px;padding:4px 0 22px;border-bottom:1.5px solid var(--nb-ink)}
#app .ivx-cta h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 6px;font-size:1.5rem}
#app .ivx-cta p{margin:0;color:var(--nb-ink-2);max-width:52ch}
#app .ivx-cta-roles{display:flex;flex-wrap:wrap;gap:8px}
#app .ivx-cta-roles button{min-height:0;padding:9px 14px;border:0;border-radius:999px;background:var(--nb-ink);color:var(--nb-page);font:700 .9rem/1 var(--nb-ui);cursor:pointer;transition:transform .14s}
#app .ivx-cta-roles button:hover{transform:translateY(-2px);background:#C2410C;color:#fff}
#app .welcome .welcome-show.is-iv{background:#F7F5F0}
#app .welcome .is-iv .ws-kicker{color:#7A55D8}#app .welcome .is-iv .ws-copy h2 span{color:#7A55D8}
#app .welcome .wiv-stage{position:relative}
#app .welcome .wiv-art{width:min(320px,80%)}
#app .welcome .wiv-art svg{width:100%;height:auto}
#app .welcome .wiv-bubbles{position:absolute;left:52%;top:4%;width:min(300px,52%);height:90px}
#app .welcome .wiv-bubbles p{position:absolute;inset:0 auto auto 0;margin:0;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 0 0 2px #121318,0 14px 26px -16px rgba(0,0,0,.5);font:700 1rem/1.3 var(--cs-display);color:#121318;opacity:0}
#app .welcome .wiv-bubbles p:first-child{opacity:1}
@media (prefers-reduced-motion:no-preference){#app .welcome .is-iv.is-in .wiv-bubbles p{opacity:0;animation:wiv-q 12s calc(var(--i) * 3s) infinite}#app .welcome .is-iv.is-in .ivx-mouth{animation:gs-talk .2s ease-in-out infinite alternate}#app .welcome .is-iv.is-in .ivx-eyes{animation:gs-blink 4.4s infinite}}
@keyframes wiv-q{0%{opacity:0;transform:translateY(8px) scale(.95)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0}}
@media (max-width:900px){#app .welcome .wiv-bubbles{position:relative;left:auto;top:auto;width:100%;margin-top:12px}}
/* Light stages stay light in dark mode, with their own ink colours */
body.dark #app .welcome :is(.welcome-gdscene,.welcome-show){color:#121318}
#app .welcome :is(.welcome-gdscene .gds-head,.welcome-show .ws-copy) .button,body.dark #app .welcome :is(.welcome-gdscene .gds-head,.welcome-show .ws-copy) .button{background:#121318;color:#FFFFFF;border:0}
#app .welcome :is(.welcome-gdscene .gds-head,.welcome-show .ws-copy) .button:hover,body.dark #app .welcome :is(.welcome-gdscene .gds-head,.welcome-show .ws-copy) .button:hover{background:#2B2E38;color:#FFFFFF}
body.dark #app .welcome .welcome-gdscene .gds-kicker{color:#16794C}
body.dark #app .welcome .welcome-show .ws-kicker{color:#B23A0A}
body.dark #app .welcome .welcome-show.is-mail .ws-kicker{color:#2B4BEE}
body.dark #app .welcome .welcome-show.is-iv .ws-kicker{color:#6A45C8}
body.dark #app .welcome :is(.welcome-gdscene .gds-head p,.welcome-show .ws-copy p){color:#3A3E4A}
body.dark #app .welcome :is(.welcome-gdscene h2,.welcome-show h2,.welcome-show .ws-points li){color:#121318}
body.dark #app .welcome .mp-screen li small,body.dark #app .welcome .mp-screen li small *{color:#4A505E}

/* ================= The app shell: a dark sidebar with colour-coded areas, on warm paper ================= */
/* Each area has its own colour, used for its sidebar blob and nowhere loud. */
#app .ws-masthead nav [data-view=dashboard]{--gc:#FFD86B}
#app .ws-masthead nav [data-view=programCalendar]{--gc:#FFC4A8}
#app .ws-masthead nav [data-view=explore]{--gc:#8FC1FF}
#app .ws-masthead nav :is([data-view=practiceHub],[data-view=practice],[data-view=dailyTraining]){--gc:#7FE0B0}
#app .ws-masthead nav [data-view=applications]{--gc:#FF9C7A}
#app .ws-masthead nav [data-view=evidence]{--gc:#C4B1FF}
/* Warm paper with faint ruled lines instead of a cool grey canvas. */
body:not(.dark) #app .ws-shell{--nb-canvas:#F7F5F0}
body:not(.dark) #app .ws-shell .ws-main{background:#F7F5F0 repeating-linear-gradient(0deg,transparent 0 31px,rgba(18,19,24,.028) 31px 32px)}
@media (min-width:1024px){
 #app .ws-masthead{background:#121318;color:#E9EBF0;border-right:0}
 body.dark #app .ws-masthead{background:#0A0B0E;box-shadow:inset -1px 0 0 rgba(255,255,255,.06)}
 #app .ws-brand{color:#fff}
 #app .ws-brand img{filter:invert(1) hue-rotate(180deg) brightness(1.2)}
 #app .ws-search{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:#C9CDD6}
 #app .ws-search kbd{background:rgba(255,255,255,.1);color:#C9CDD6;border-color:transparent}
 #app .ws-search:hover{background:rgba(255,255,255,.12)}
 /* Main areas: a coloured hand-cut blob with the icon on top. */
 #app .ws-masthead>nav>button{position:relative;gap:14px;padding:8px 10px;color:#D5D8E0;font-weight:650}
 #app .ws-masthead>nav>button[data-view]::before{content:"";width:32px;height:32px;flex:none;border-radius:10px 13px 9px 12px;background:var(--gc,#545A68);-webkit-mask:none;mask:none;transform:rotate(-3deg);transition:transform .25s var(--cs-ease)}
 #app .ws-masthead>nav>button[data-view]::after{content:"";display:block;position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;background:#121318;-webkit-mask:var(--cs-icon) center/contain no-repeat;mask:var(--cs-icon) center/contain no-repeat;border-radius:0;box-shadow:none}
 #app .ws-masthead>nav>button:hover{background:rgba(255,255,255,.06);color:#fff}
 #app .ws-masthead>nav>button:hover::before{transform:rotate(6deg) scale(1.08)}
 #app .ws-masthead>nav>:is(.ws-current,[aria-current=page]){background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
 #app .ws-masthead>nav>:is(.ws-current,[aria-current=page])::before{transform:rotate(8deg) scale(1.1);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
 /* Sections under the current area, on dark. */
 #app .ws-subnav{border-left-color:rgba(255,255,255,.12);margin-left:25px}
 #app .ws-subnav small{color:#8E95A3}
 #app .ws-masthead nav .ws-subnav button{color:#B8BDC8}
 #app .ws-masthead nav .ws-subnav button:hover{color:#fff;background:rgba(255,255,255,.06)}
 #app .ws-masthead nav .ws-subnav [aria-current=page]{color:#121318;background:var(--gc-cur,#FFD86B);font-weight:800}
 #app .ws-masthead nav .ws-subnav [aria-current=page]::after{background:var(--gc-cur,#FFD86B)}
 #app .ws-masthead .cs-ticket{background:rgba(255,255,255,.07);color:#E9EBF0;border-left-color:#FFD86B}
 #app .ws-masthead .cs-ticket small{color:#FFD86B}#app .ws-masthead .cs-ticket span{color:#B8BDC8}
 #app .ws-masthead .cs-ticket::after{background:#121318}
 #app .ws-account>summary{background:#FFD86B;color:#121318}
 #app .ws-masthead .ws-quip{order:3;margin:auto 6px 10px;font:600 1.12rem/1.2 'Caveat',cursive;color:#8E95A3;transform:rotate(-1.5deg)}
}
/* The current area's colour carries into its section highlight. */
#app .ws-masthead nav:has([data-view=dashboard].ws-current){--gc-cur:#FFD86B}
#app .ws-masthead nav:has([data-view=programCalendar].ws-current){--gc-cur:#FFC4A8}
#app .ws-masthead nav:has([data-view=explore].ws-current){--gc-cur:#8FC1FF}
#app .ws-masthead nav:has([data-view=practiceHub].ws-current){--gc-cur:#7FE0B0}
#app .ws-masthead nav:has([data-view=applications].ws-current){--gc-cur:#FF9C7A}
#app .ws-masthead nav:has([data-view=evidence].ws-current){--gc-cur:#C4B1FF}
/* Phone bottom bar: the same colours, as a dot under the current area. */
#app .ws-mobile-nav :is(.ws-current,[aria-current=page]){color:#121318;font-weight:800}
body.dark #app .ws-mobile-nav :is(.ws-current,[aria-current=page]){color:#fff}
@media (max-width:1023px){#app .ws-quip{display:none}}
/* Home: the four headline tools */
#app .h4-power ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:-14px 0 0;padding:0}
#app .h4-power button{display:flex;align-items:center;gap:14px;width:100%;min-height:0;padding:12px 6px;border:0;background:none;text-align:left;color:inherit;cursor:pointer;border-radius:14px;transition:background-color .15s}
#app .h4-power button:hover{background:color-mix(in srgb,var(--c) 22%,transparent)}
#app .h4-power-ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:15px 19px 14px 17px;background:var(--c);transform:rotate(-4deg);transition:transform .25s var(--cs-ease)}
#app .h4-power button:hover .h4-power-ico{transform:rotate(6deg) scale(1.08)}
#app .h4-power svg{width:32px;height:32px;fill:none;stroke:#121318;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:url(#cs-rough)}
#app .h4-power b{display:block;font:800 1.05rem/1.2 var(--cs-display);color:var(--nb-ink)}
#app .h4-power small{display:block;margin-top:2px;font:600 1.05rem/1.1 'Caveat',cursive;color:var(--nb-muted)}
@media (max-width:900px){#app .h4-power ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Homepage refinements from the walkthrough ---------- */
/* The city note lives under the city. */
#app .welcome .welcome-scene-wrap .welcome-names-note{margin:4px auto 0;max-width:60ch;text-align:center;font-size:.8rem;color:#545A68}
body.dark #app .welcome .welcome-scene-wrap .welcome-names-note{color:#A3A8B5}
/* GD scene: text on top, a wide stage underneath, a topic on the table. */
#app .welcome .gds-wrap{grid-template-columns:1fr;gap:18px;justify-items:center}
#app .welcome .gds-head{display:grid;justify-items:center;text-align:center;max-width:720px}
#app .welcome .gds-head p{margin-inline:auto}
#app .welcome .gds-stage{width:100%;max-width:1040px;overflow:hidden}
#app .gds-svg{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
#app .gds-svg .gs-topic rect{fill:#FFF8E6;stroke:#121318;stroke-width:2}
#app .gds-svg .gs-topic text{font:800 12.5px 'Source Sans 3',Arial,sans-serif;fill:#121318;letter-spacing:.01em}
/* Phones: the photo row and the feature icons slide sideways instead of stacking. */
@media (max-width:760px){
 #app .welcome .welcome-look ol{display:flex;max-width:none;margin:0 -16px;padding:6px 16px 14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px}
 #app .welcome .welcome-look ol::-webkit-scrollbar{display:none}
 #app .welcome .welcome-look li{flex:0 0 74%;scroll-snap-align:center}
 #app .welcome .welcome-look b{font-size:1.9rem}
}
@media (max-width:560px){
 #app .welcome .welcome-rail ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:0 -16px;padding:4px 16px 8px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);mask:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent)}
 #app .welcome .welcome-rail ul::-webkit-scrollbar{display:none}
 #app .welcome .welcome-rail li{flex:none;scroll-snap-align:start}
}
/* Home timeline: four label lanes so nothing overlaps */
#app .h4 .h4-line{height:250px}
#app .h4 .h4-line::before{top:125px}
#app .h4 .h4-tickmark{top:119px}
#app .h4 .h4-now{top:118px}
#app .h4 .h4-today-label{top:142px}
#app .h4 .h4-pin{top:0;bottom:0;height:auto}
#app .h4 .h4-pin::after{top:119px}
#app .h4 .h4-pin.is-high>button{top:var(--off,0px);bottom:auto}
#app .h4 .h4-pin.is-high::before{top:calc(var(--off,0px) + 38px);height:calc(87px - var(--off,0px));bottom:auto}
#app .h4 .h4-pin.is-low>button{top:calc(150px + var(--off,0px));bottom:auto}
#app .h4 .h4-pin.is-low::before{top:131px;height:calc(17px + var(--off,0px));bottom:auto}
#app .h4 .h4-pin b em{font-style:normal;font-weight:700;color:var(--nb-muted)}
/* Home: everything, as rows of drawn icons */
#app .h4-dates-list small{white-space:nowrap}
#app .h4-dates-list li>button:first-child{grid-template-columns:72px minmax(0,1fr)}
#app .h4 .h4-map{padding-top:30px}
#app .h4-map-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-top:1px solid var(--cs-line)}
#app .h4-map-row h3{display:grid;gap:4px;margin:6px 0 0;font-size:1.5rem;line-height:1}
#app .h4-map-row h3::before{content:"";display:block;width:36px;height:5px;margin-bottom:8px;border-radius:3px;background:var(--mc)}
#app .h4-map-row h3 .h4-hand{font-size:1.1rem;color:var(--nb-muted)}
#app .h4-map-row ul{display:flex;flex-wrap:wrap;gap:6px 4px;list-style:none;margin:0;padding:0}
#app .h4-map-row li>button{display:grid;justify-items:center;gap:6px;width:108px;min-height:0;padding:8px 4px;border:0;border-radius:14px;background:none;color:inherit;cursor:pointer;text-align:center;transition:background-color .15s}
#app .h4-map-row li>button:hover{background:color-mix(in srgb,var(--mc) 12%,transparent)}
#app .h4-map-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:15px 18px 14px 17px;background:color-mix(in srgb,var(--mc) 22%,#fff);transition:transform .25s var(--cs-ease)}
body.dark #app .h4-map-ico{background:color-mix(in srgb,var(--mc) 40%,#16181D)}
#app .h4-map-row li:nth-child(odd) .h4-map-ico{transform:rotate(-3deg)}#app .h4-map-row li:nth-child(even) .h4-map-ico{transform:rotate(2deg)}
#app .h4-map-row li>button:hover .h4-map-ico{transform:rotate(6deg) scale(1.08)}
#app .h4-map-ico svg{width:32px;height:32px;fill:none;stroke:var(--nb-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:url(#cs-rough)}
#app .h4-map-row b{font:700 .88rem/1.2 var(--nb-ui);color:var(--nb-ink)}
@media (max-width:700px){#app .h4-map-row{grid-template-columns:1fr}#app .h4-map-row li>button{width:92px}}
/* ATS check: your bullets, marked up in red marker */
#app .lab-marked{margin:4px 0 22px}
#app .lab-marked h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
#app .lab-sheet{list-style:none;margin:10px 0 6px;padding:18px 20px 12px 34px;background:#fff;color:#121318;box-shadow:0 1px 2px rgba(18,19,24,.06),0 18px 34px -24px rgba(18,19,24,.45);transform:rotate(-.4deg)}
body.dark #app .lab-sheet{background:#F6F4EF}
#app .lab-sheet li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,200px);gap:4px 18px;padding:8px 0;border-bottom:1px dashed #DCE0E8;font:500 .95rem/1.45 var(--nb-ui)}
#app .lab-sheet li::before{content:"•";position:absolute;left:-14px;top:8px}
#app .lab-mk{padding:0 2px;background:none;color:inherit;border:2.5px solid #C2410C;border-radius:42% 58% 45% 55%/58% 42% 56% 44%}
#app .lab-mk-note{font:600 1.08rem/1.15 'Caveat',cursive;color:#C2410C;transform:rotate(-1deg)}
#app .lab-sheet li.is-clean .lab-mk-note{color:#16794C}
@media (prefers-reduced-motion:no-preference){#app .lab-mk{animation:lab-circle .5s var(--cs-ease) both}#app .lab-sheet li:nth-child(2) .lab-mk{animation-delay:.1s}#app .lab-sheet li:nth-child(3) .lab-mk{animation-delay:.2s}#app .lab-sheet li:nth-child(n+4) .lab-mk{animation-delay:.3s}}
@keyframes lab-circle{from{border-color:transparent}to{border-color:#C2410C}}
@media (max-width:640px){#app .lab-sheet li{grid-template-columns:1fr}}
/* ATS check: a friendlier drop zone */
#app .lab-drop{position:relative;padding-top:64px!important}
#app .lab-drop::before{content:"";position:absolute;left:50%;top:14px;width:40px;height:44px;margin-left:-20px;background:#FF9C7A;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6h26l10 10v42H14z'/%3E%3Cpath d='M32 46V26M24 34l8-8 8 8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6h26l10 10v42H14z'/%3E%3Cpath d='M32 46V26M24 34l8-8 8 8'/%3E%3C/svg%3E") center/contain no-repeat}
@media (prefers-reduced-motion:no-preference){#app .lab-drop:hover::before{animation:wr-wiggle .45s ease-in-out}}

/* ---------- Applications: a board you can drag cards across ---------- */
#app .ws-viewtoggle{display:inline-flex;padding:3px;margin:0 0 16px;border-radius:11px;background:var(--cs-surface);box-shadow:var(--cs-e1)}
#app .ws-viewtoggle button{min-height:0;padding:7px 14px;border:0;border-radius:8px;background:none;color:var(--nb-muted);font:700 .88rem/1 var(--nb-ui);cursor:pointer}
#app .ws-viewtoggle [aria-pressed=true]{background:var(--nb-ink);color:var(--nb-page)}
#app .ws-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:thin}
#app .ws-col{display:flex;flex-direction:column;min-height:280px;padding:10px;border-radius:14px;background:color-mix(in srgb,var(--sc) 22%,transparent);transition:background-color .15s,box-shadow .15s}
body.dark #app .ws-col{background:color-mix(in srgb,var(--sc) 12%,transparent)}
#app .ws-col.is-over{background:color-mix(in srgb,var(--sc) 45%,transparent);box-shadow:inset 0 0 0 2px var(--nb-ink)}
#app .ws-col header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}
#app .ws-col header b{font:800 1rem/1 var(--cs-display);color:var(--nb-ink)}
#app .ws-col header span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--sc);color:#121318;font:800 .78rem/1 var(--nb-ui)}
#app .ws-col ol{display:grid;gap:8px;list-style:none;margin:0;padding:0;align-content:start;flex:1}
#app .ws-card{padding:10px 10px 8px;border-radius:10px;background:var(--cs-surface);box-shadow:0 1px 2px rgba(18,19,24,.08),0 6px 14px -10px rgba(18,19,24,.4);cursor:grab;transition:transform .15s var(--cs-ease),box-shadow .15s;border-top:4px solid var(--sc)}
#app .ws-card:nth-child(odd){transform:rotate(-.6deg)}#app .ws-card:nth-child(even){transform:rotate(.5deg)}
#app .ws-card:hover{transform:translateY(-2px) rotate(0);box-shadow:0 2px 4px rgba(18,19,24,.1),0 12px 22px -12px rgba(18,19,24,.5)}
#app .ws-card.is-dragging{opacity:.45;cursor:grabbing}
#app .ws-card-open{display:grid;gap:2px;width:100%;min-height:0;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
#app .ws-card-open b{font:700 .95rem/1.25 var(--nb-ui);color:var(--nb-ink)}
#app .ws-card-open span{font-size:.85rem;color:var(--nb-muted)}
#app .ws-card footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px}
#app .ws-card footer small{font-size:.76rem;color:var(--nb-muted)}
#app .ws-card select{min-height:0;height:28px;max-width:112px;padding:0 6px;font:600 .76rem/1 var(--nb-ui);border-radius:7px}
#app .ws-col-empty{margin:auto 4px 4px;text-align:center;font:600 1.1rem/1.2 'Caveat',cursive;color:var(--nb-muted)}
@media (max-width:640px){#app .ws-board{grid-auto-columns:78%;scroll-snap-type:x mandatory}#app .ws-col{scroll-snap-align:start}}
#app .ws-main .page:has(.ws-board) .app-line{display:none}
#app .ws-board{grid-auto-columns:minmax(140px,1fr)}
#app .ws-card footer{flex-direction:column;align-items:stretch}
#app .ws-card select{max-width:none;width:100%}

/* ---------- Calendar: a year you can scan by colour ---------- */
#app .pc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 14px;padding:0;font:600 .84rem/1 var(--nb-ui);color:var(--nb-ink-2)}
#app .pc-legend li{display:inline-flex;align-items:center;gap:6px}
#app .pc-legend li:not(.pc-legend-kind)::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--fc)}
#app .pc-legend-kind{margin-left:auto;color:var(--nb-muted)}
#app .pc-legend-kind i{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--nb-ink-2)}
#app .pc-legend-kind i.is-closes{background:var(--nb-ink-2)}
#app .pc-month h3{display:flex;align-items:center;justify-content:space-between;gap:8px}
#app .pc-month h3 span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--nb-tint);font:800 .78rem/1 var(--nb-ui);color:var(--nb-ink-2)}
#app .pc-month.is-now h3{color:var(--nb-pen)}
#app .pc-month.is-now h3::after{content:"this month";margin-left:auto;margin-right:4px;font:600 1rem/1 'Caveat',cursive;color:#C2410C}
#app .pc-month ul{display:grid;gap:8px}
#app .pc-ev{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
#app .pc-day{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font:800 .95rem/1 var(--cs-display);color:#fff;background:var(--fc)}
#app .pc-ev.is-opens .pc-day{background:transparent;color:var(--fc);box-shadow:inset 0 0 0 2.5px var(--fc)}
body.dark #app .pc-ev.is-opens .pc-day{filter:brightness(1.5)}
#app .pc-ev.is-exp .pc-day{border-radius:50%}
#app .pc-ev-copy{display:grid;gap:1px;min-width:0}
#app .pc-ev-copy button{justify-self:start;text-align:left}
/* Interviews page: the panel as cartoon faces */
#app .ip-face{width:56px;height:56px;overflow:hidden;background:color-mix(in srgb,#C4B1FF 35%,#fff)}
#app figure:nth-child(2) .ip-face{background:color-mix(in srgb,#8FC1FF 35%,#fff)}
#app figure:nth-child(3) .ip-face{background:color-mix(in srgb,#FFD86B 40%,#fff)}
#app .ip-face svg{width:100%;height:100%;display:block}
/* Explore: role cards carry their field's colour */
#app .direction-field-group{--tc:#545A68}
#app .direction-field-group[data-track=Finance]{--tc:#1F8A5B}
#app .direction-field-group[data-track=Consulting]{--tc:#C2410C}
#app .direction-field-group[data-track=Analytics]{--tc:#2563A8}
#app .ws-shell .ws-main .direction-field-group.is-open article{border:0;border-top:4px solid var(--tc);border-radius:10px;background:var(--cs-surface);box-shadow:var(--cs-e1);transition:transform .2s var(--cs-ease),box-shadow .2s}
#app .ws-shell .ws-main .direction-field-group.is-open article:hover{transform:translateY(-3px);box-shadow:var(--cs-e2)}
#app .direction-field-group>header b{color:var(--tc)}
body.dark #app .direction-field-group>header b{filter:brightness(1.6)}
#app .direction-field-group article small{font:600 1.02rem/1 'Caveat',cursive;letter-spacing:0;text-transform:none;color:var(--tc)}
body.dark #app .direction-field-group article small{filter:brightness(1.6)}
#app .ws-shell .ws-main .direction-field-group>header b{color:var(--tc)}
#app .ws-shell .ws-main .direction-field-group article p small{display:block;margin-bottom:2px;font:600 1.05rem/1 'Caveat',cursive;letter-spacing:0;text-transform:none;color:var(--tc)}
body.dark #app .ws-shell .ws-main .direction-field-group :is(header b,article p small){filter:brightness(1.6)}
/* Contrast: field colours as text need deeper shades in light mode, lighter ones in dark mode */
#app .direction-field-group[data-track=Finance]{--tc:#146B43}
#app .direction-field-group[data-track=Consulting]{--tc:#A3360A}
#app .direction-field-group[data-track=Analytics]{--tc:#1D5590}
body.dark #app .direction-field-group{--tc:#B8BDC8}
body.dark #app .direction-field-group[data-track=Finance]{--tc:#7DD69C}
body.dark #app .direction-field-group[data-track=Consulting]{--tc:#FFB27A}
body.dark #app .direction-field-group[data-track=Analytics]{--tc:#8FC1FF}
body.dark #app .ws-shell .ws-main .direction-field-group :is(header b,article p small){filter:none}
#app .pc-day{background:color-mix(in srgb,var(--fc) 72%,#000)}
#app .pc-ev.is-opens .pc-day{color:color-mix(in srgb,var(--fc) 70%,#000);box-shadow:inset 0 0 0 2.5px color-mix(in srgb,var(--fc) 70%,#000)}
body.dark #app .pc-ev.is-opens .pc-day{filter:none;color:color-mix(in srgb,var(--fc) 45%,#fff);box-shadow:inset 0 0 0 2.5px color-mix(in srgb,var(--fc) 45%,#fff)}
#app .pc-ev.is-opens .pc-day{background:var(--cs-surface)}body.dark #app .pc-ev.is-opens .pc-day{background:#16181D}
body.dark #app .pc-ev.is-opens .pc-day{color:#EEF0F5}
/* Phone fixes from the walkthrough */
@media (max-width:900px){#app .p3 .p3-split{grid-template-columns:1fr}}
@media (max-width:600px){
 #app .h4-power ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin-top:-10px}
 #app .h4-power button{gap:10px;padding:8px 4px;align-items:center}
 #app .h4-power-ico{width:42px;height:42px}
 #app .h4-power svg{width:26px;height:26px}
 #app .h4-power b{font-size:.95rem}
 #app .h4-power small{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #app .h4-power button>span:last-child{min-width:0}
}

/* ================= Case reader: a case file you read and tap through ================= */
.crx-open{overflow:hidden}
.crx{position:fixed;inset:0;z-index:2000;display:grid;grid-template-rows:auto minmax(0,1fr);background:#F4EFE4;color:#121318;font-family:'Source Sans 3',Arial,sans-serif;animation:h4-up .3s ease-out both}
.crx::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 600px at 70% 0%,#FFFDF7,transparent 70%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(18,19,24,.035) 31px 32px)}
.crx-loading{display:grid;place-items:center;gap:12px;height:100%;font-size:1.6rem}
.crx-top{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid rgba(18,19,24,.1);background:rgba(255,253,247,.8);backdrop-filter:blur(6px)}
.crx-case{padding:5px 10px;border:2px solid #C2410C;border-radius:6px;color:#C2410C;font:800 .8rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.12em;transform:rotate(-2deg)}
.crx-dots{display:flex;flex:1;gap:5px;list-style:none;margin:0;padding:0}
.crx-dots li{flex:1;height:6px;border-radius:3px;background:rgba(18,19,24,.1);transition:background-color .3s}
.crx-dots li.is-done{background:#16794C}.crx-dots li.is-now{background:#FFD86B;box-shadow:0 0 0 2px #121318}
.crx-x{width:36px;height:36px;min-height:0;padding:0;border:0;border-radius:50%;background:#121318;color:#fff;font:700 1.2rem/1 Arial;cursor:pointer}
.crx-body{overflow:auto;padding:clamp(18px,4vw,48px) clamp(16px,4vw,48px) 80px;outline:none}
.crx-body>section{max-width:980px;margin:0 auto;animation:h4-up .35s var(--cs-ease) both}
.crx h2{margin:6px 0 14px;font:800 clamp(1.6rem,1.2rem + 1.5vw,2.3rem)/1.1 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.02em}
.crx h2 .h4-hand,.crx h3 .h4-hand{margin-left:10px;font-size:1.2rem}
.crx mark{padding:0 3px;border-radius:3px;background:linear-gradient(transparent 55%,#FFD86B 55%);color:inherit}
.crx-kicker{font:800 .78rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#C2410C}
.crx-fine{font-size:.86rem;color:#545A68}
/* The brief: a manila folder with a stamp and a paper clip */
.crx-brief{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:34px;align-items:start}
.crx-folder{position:relative;padding:44px 34px 30px;background:#E9C98F;border-radius:4px 14px 14px 14px;box-shadow:0 2px 4px rgba(0,0,0,.08),0 30px 50px -30px rgba(80,50,10,.6);transform:rotate(-.6deg)}
.crx-folder::before{content:"";position:absolute;left:0;top:-22px;width:150px;height:24px;border-radius:10px 10px 0 0;background:#E9C98F}
.crx-folder::after{content:"";position:absolute;inset:14px 14px 10px 10px;z-index:0;background:#FFFDF7;box-shadow:0 1px 2px rgba(0,0,0,.08);transform:rotate(1.2deg)}
.crx-folder>*{position:relative;z-index:1}
.crx-folder small{display:block;margin:0 0 6px;font:700 .82rem/1.3 'Source Sans 3',Arial,sans-serif;color:#7A5A2A;letter-spacing:.04em}
.crx-folder h2{max-width:20ch}
.crx-story{font:500 1.12rem/1.65 'Source Sans 3',Arial,sans-serif;color:#2B2E38}
.crx-stamp{position:absolute;right:26px;top:18px;padding:6px 12px;border:3px solid #B42318;border-radius:6px;color:#B42318;font:900 1rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;transform:rotate(9deg);opacity:.85}
@media (prefers-reduced-motion:no-preference){.crx-stamp{animation:crx-stamp .5s .4s cubic-bezier(.2,1.6,.4,1) both}}
@keyframes crx-stamp{from{opacity:0;transform:rotate(9deg) scale(2.4)}to{opacity:.85;transform:rotate(9deg) scale(1)}}
.crx-clip{position:absolute!important;left:40px;top:-30px;width:22px;height:64px;border:4px solid #9AA0AC;border-radius:12px;border-bottom-color:transparent;z-index:2!important}
.crx-mission h3{margin:0 0 12px;font:800 1.3rem/1.2 'Bricolage Grotesque',Arial,sans-serif}
.crx-mission ol{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px;counter-reset:m}
.crx-mission ol li{counter-increment:m;position:relative;padding:14px 16px 14px 46px;background:#FFF2A8;box-shadow:0 10px 18px -12px rgba(0,0,0,.45);transform:rotate(var(--r));font:600 1rem/1.4 'Source Sans 3',Arial,sans-serif}
.crx-mission ol li::before{content:counter(m);position:absolute;left:14px;top:12px;font:800 1.4rem/1 'Bricolage Grotesque',Arial,sans-serif;color:#C2410C}
.crx-mission h4{margin:0 0 6px;font:800 .76rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#545A68}
.crx-mission ul{margin:0 0 12px;padding-left:18px;display:grid;gap:4px;font-size:.92rem;color:#3A3E4A}
.crx-next{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:22px}
.crx-next kbd{font:700 .75rem/1 'Source Sans 3',Arial,sans-serif;color:#545A68;border:1px solid rgba(18,19,24,.2);border-radius:5px;padding:4px 6px}
.crx-go{min-height:0;padding:13px 22px;border:0;border-radius:12px;background:#121318;color:#fff;font:800 1rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer;transition:transform .14s}
.crx-go:hover{transform:translateY(-1px)}.crx-go[disabled]{opacity:.35;cursor:default;transform:none}
.crx-ghost{min-height:0;padding:12px 16px;border:1.5px solid rgba(18,19,24,.3);border-radius:12px;background:transparent;color:#121318;font:700 .95rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer}
/* Evidence: exhibits as pictures */
.crx-exs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px}
.crx-ex{padding:20px 22px;background:#FFFDF7;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 20px 36px -26px rgba(0,0,0,.45)}
.crx-ex header small{font:800 .72rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#2B4BEE}
.crx-ex h3{margin:4px 0 14px;font:800 1.15rem/1.2 'Bricolage Grotesque',Arial,sans-serif}
.crx-exq{margin:14px 0 0;padding-top:10px;border-top:1px dashed rgba(18,19,24,.2);font:600 1.15rem/1.25 'Caveat',cursive;color:#C2410C}
.crx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;list-style:none;margin:0;padding:0}
.crx-tiles li{display:grid;gap:4px;padding:12px;border-radius:10px;background:#F4EFE4}
.crx-tiles b{font:800 1.5rem/1 'Bricolage Grotesque',Arial,sans-serif;color:#121318;word-break:break-word}
.crx-tiles span{font-size:.84rem;line-height:1.3;color:#545A68}
@media (prefers-reduced-motion:no-preference){.crx-tiles li{animation:h4-up .45s calc(var(--i) * .07s) var(--cs-ease) both}}
.crx-legend{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;margin:0 0 10px;padding:0;font:700 .8rem/1 'Source Sans 3',Arial,sans-serif}
.crx-legend li{display:inline-flex;align-items:center;gap:6px}.crx-legend li::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--c)}
.crx-rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.crx-rl{display:block;margin-bottom:4px;font:700 .9rem/1.25 'Source Sans 3',Arial,sans-serif}
.crx-bars{display:grid;gap:3px}
.crx-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.crx-bar i{display:block;height:14px;width:var(--w);border-radius:0 4px 4px 0;background:var(--c);transform-origin:left}
@media (prefers-reduced-motion:no-preference){.crx-bar i{animation:h3-grow .8s var(--cs-ease) both}}
.crx-bar em{font:700 .82rem/1 'Source Sans 3',Arial,sans-serif;font-style:normal;color:#2B2E38;font-variant-numeric:tabular-nums}
.crx-multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.crx-multi figure{margin:0}.crx-multi figcaption{margin-bottom:6px;font:800 .82rem/1.2 'Source Sans 3',Arial,sans-serif;color:#2B2E38}
.crx-multi ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.crx-multi li>span:first-child{display:block;font-size:.78rem;color:#545A68}
.crx-raw summary{margin-top:10px;cursor:pointer;font:700 .85rem/1 'Source Sans 3',Arial,sans-serif;color:#2B4BEE}
.crx-table{width:100%;margin-top:8px;border-collapse:collapse;font-size:.88rem}.crx-table th,.crx-table td{padding:6px 8px;border-bottom:1px solid rgba(18,19,24,.1);text-align:left}.crx-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#545A68}
/* Steps */
.crx-step{max-width:820px!important}
.crx-count{margin:-6px 0 14px;font:600 1.2rem/1 'Caveat',cursive;color:#545A68}
.crx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.crx-card{position:relative;display:grid;gap:6px;width:100%;height:100%;min-height:96px;padding:16px;border:0;border-radius:10px;background:#FFFDF7;color:#121318;text-align:left;font:600 1rem/1.4 'Source Sans 3',Arial,sans-serif;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 22px -16px rgba(0,0,0,.45);transition:transform .2s var(--cs-ease),box-shadow .2s,background-color .2s}
.crx-card:hover:not([disabled]){transform:translateY(-3px) rotate(-.5deg)}
.crx-card.is-sel{background:#FFF2A8;box-shadow:0 0 0 3px #121318}
.crx-card.is-good{background:#DDF7E8;box-shadow:0 0 0 3px #16794C}
.crx-card.is-bad{background:#FFE4DC;box-shadow:0 0 0 3px #C2410C}.crx-card.is-bad span{text-decoration:line-through;text-decoration-color:#C2410C}
.crx-card em{font-size:1.1rem}.crx-card.is-good em{color:#16794C}
.crx-opts{display:grid;gap:10px;list-style:none;margin:0 0 14px;padding:0}
.crx-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:0;padding:15px 18px;border:0;border-radius:12px;background:#FFFDF7;color:#121318;text-align:left;font:650 1.08rem/1.35 'Source Sans 3',Arial,sans-serif;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 20px -16px rgba(0,0,0,.4);transition:transform .15s var(--cs-ease),background-color .15s}
.crx-opt:hover:not([disabled]){transform:translateX(4px);background:#FFF2A8}
.crx-opt kbd{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#121318;color:#fff;font:800 .85rem/1 'Source Sans 3',Arial,sans-serif}
.crx-opt.is-good{background:#DDF7E8;box-shadow:0 0 0 3px #16794C}.crx-opt.is-good kbd{background:#16794C}
.crx-opt.is-bad{background:#FFE4DC;box-shadow:0 0 0 3px #C2410C}.crx-opt.is-bad kbd{background:#C2410C}
.crx-opt.is-mine{box-shadow:0 0 0 3px #2B4BEE}
.crx-opt em{margin-left:auto;font-size:1.1rem;color:#16794C}
@media (prefers-reduced-motion:no-preference){.crx-opt.is-good{animation:crx-pop .45s cubic-bezier(.2,1.6,.4,1)}.crx-opt.is-bad{animation:crx-shake .4s ease-in-out}}
@keyframes crx-pop{50%{transform:scale(1.03)}}
@keyframes crx-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.crx-verdict{margin:0 0 8px;font:800 1.1rem/1.3 'Bricolage Grotesque',Arial,sans-serif}.crx-verdict.is-good{color:#16794C}.crx-verdict.is-bad{color:#C2410C}
.crx-working{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;border-left:4px solid #FFD86B;background:#FFFDF7;color:#2B2E38}
.crx-working code{font:600 1rem/1.4 Consolas,'Cascadia Mono',monospace;white-space:pre-wrap}
.crx-peek summary{cursor:pointer;font:700 .92rem/1 'Source Sans 3',Arial,sans-serif;color:#2B4BEE;margin:6px 0 10px}
.crx-exs.is-small .crx-ex{padding:14px 16px}
.crx-flips{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.crx-flip{position:relative;display:block;width:100%;min-height:150px;padding:0;border:0;background:none;cursor:pointer;perspective:900px;text-align:left}
.crx-flip>span{position:absolute;inset:0;display:grid;place-items:center;padding:16px;border-radius:12px;backface-visibility:hidden;transition:transform .55s var(--cs-ease);box-shadow:0 12px 22px -16px rgba(0,0,0,.5)}
.crx-front{background:#2B4BEE;color:#fff}.crx-front b{font:800 2.6rem/1 'Bricolage Grotesque',Arial,sans-serif}.crx-front em{position:absolute;bottom:14px;color:#FFD86B!important;font-size:1.15rem}
.crx-back{background:#FFFDF7;color:#121318;font:600 1rem/1.45 'Source Sans 3',Arial,sans-serif;transform:rotateY(180deg)}
.crx-flip.is-flipped .crx-front{transform:rotateY(-180deg)}.crx-flip.is-flipped .crx-back{transform:rotateY(0)}
@media (prefers-reduced-motion:reduce){.crx-flip>span{transition:none}}
.crx-rec{margin:6px 0 12px;padding:16px 18px;border-left:5px solid #16794C;background:#FFFDF7;font:500 1.05rem/1.55 'Source Sans 3',Arial,sans-serif}
.crx-rec small{display:block;margin-bottom:6px;font:800 .72rem/1 'Source Sans 3',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#16794C}
/* Debrief */
.crx-debrief{text-align:center}
.crx-ring{position:relative;display:grid;place-items:center;width:150px;height:150px;margin:10px auto 6px}
.crx-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.crx-ring circle{fill:none;stroke-width:9;stroke-linecap:round}.crx-ring-bg{stroke:rgba(18,19,24,.1)}.crx-ring-fg{stroke:#16794C;transition:stroke-dashoffset 1s var(--cs-ease)}
@media (prefers-reduced-motion:no-preference){.crx-ring-fg{animation:crx-ring 1.1s var(--cs-ease) both}}
@keyframes crx-ring{from{stroke-dashoffset:276}}
.crx-ring b{font:800 2.2rem/1 'Bricolage Grotesque',Arial,sans-serif}
.crx-tally{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;margin:16px 0;padding:0}
.crx-tally li{padding:6px 10px;border-radius:999px;font:700 .82rem/1.2 'Source Sans 3',Arial,sans-serif}
.crx-tally .is-good{background:#DDF7E8;color:#0F5C38}.crx-tally .is-bad{background:#FFE4DC;color:#8A2A08}
.crx-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0 8px}
@media (max-width:820px){.crx-brief{grid-template-columns:1fr}.crx-folder{padding:40px 20px 24px}.crx-top{gap:10px;padding:10px 12px}}
/* Casebook rows: the reader comes first */
#app .crx-done{align-self:center;padding:4px 10px;border-radius:999px;background:#DDF7E8;color:#0F5C38;font:700 .8rem/1.2 var(--nb-ui)}
.crx .h4-hand,.ivx .h4-hand{display:inline-block;font:600 1.25rem/1.1 'Caveat',cursive;letter-spacing:0;text-transform:none;color:#C2410C;transform:rotate(-1.5deg)}
.crx-card em.h4-hand{color:#C2410C}.crx-card.is-good em.h4-hand,.crx-opt em.h4-hand{color:#16794C}
.crx-front em.h4-hand{color:#FFD86B}
.crx :is(.crx-opt,.crx-card)[disabled]{opacity:1;cursor:default;color:#121318}
.crx .crx-opt[disabled]:not(.is-good):not(.is-bad):not(.is-mine),.crx .crx-card[disabled]:not(.is-good):not(.is-bad){opacity:.55}
@media (max-width:600px){.crx-stamp{top:6px;right:14px;font-size:.8rem}.crx-folder small{margin-top:18px}}

/* ---------- Casebook: colour-coded case files ---------- */
#app .ws-shell .ws-main .cbf{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 20px 16px;border:0;border-radius:4px 12px 12px 12px;background:var(--cs-surface);box-shadow:var(--cs-e1);border-top:6px solid var(--ic);transition:transform .2s var(--cs-ease),box-shadow .2s;overflow:visible}
#app .ws-shell .ws-main .cbf:hover{transform:translateY(-3px) rotate(-.3deg);box-shadow:var(--cs-e2)}
#app .ws-shell .ws-main .cbf::before{content:"";position:absolute;left:-0px;top:-18px;width:96px;height:14px;border-radius:8px 8px 0 0;background:var(--ic)}
#app .ws-shell .ws-main .cbf.is-active{box-shadow:0 0 0 2px var(--ic),var(--cs-e2)}
#app .cbf .cbf-ico{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:13px 16px 12px 15px;background:color-mix(in srgb,var(--ic) 16%,#fff);transform:rotate(4deg)}
body.dark #app .cbf .cbf-ico{background:color-mix(in srgb,var(--ic) 35%,#16181D)}
#app .cbf .cbf-ico svg{width:28px;height:28px;fill:none;stroke:var(--ic);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
body.dark #app .cbf .cbf-ico svg{stroke:color-mix(in srgb,var(--ic) 45%,#fff)}
#app .cbf:hover .cbf-ico{animation:wr-wiggle .45s ease-in-out}
#app .ws-shell .ws-main .cbf .case-file-label{background:none;padding:0;color:var(--nb-muted);font:800 .72rem/1 var(--nb-ui);letter-spacing:.12em}
#app .ws-shell .ws-main .cbf h3{margin:4px 60px 2px 0;font:750 1.15rem/1.25 var(--cs-display)}
#app .ws-shell .ws-main .cbf .case-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;color:var(--nb-ink-2)}
#app .ws-shell .ws-main .cbf .actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:10px}
#app .ws-shell .ws-main .cbf .actions [data-crx-open]{background:var(--ic);border-color:transparent;color:#fff;box-shadow:none}
#app .ws-shell .ws-main .cbf .actions [data-crx-open]:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.dark #app .ws-shell .ws-main .cbf .actions [data-crx-open]{color:#fff}
#app .ws-shell .ws-main .cbf .actions .text-button{font-size:.86rem}
#app .ws-shell .ws-main .cbf .case-file-label{position:absolute;left:12px;top:-16px;z-index:1;margin:0;color:#fff;font-size:.64rem;line-height:14px;letter-spacing:.14em}
#app .ws-shell .ws-main .cbf .actions .button[data-crx-open]:not(.secondary){background:var(--ic);border-color:transparent;color:#fff}
#app .ws-shell .ws-main .cbf .actions .button[data-crx-open]:not(.secondary):hover{background:var(--ic);color:#fff;filter:brightness(1.1)}
/* Guesstimates: drag the assumptions */
#app .g2-slide{display:block;width:100%;margin-top:10px;accent-color:#C2410C;cursor:grab;height:24px}
#app .g2-slide:active{cursor:grabbing}
/* Speak instead of typing */
.cs-dictate{display:inline-flex;align-items:center;gap:6px;width:max-content;min-height:0;margin:6px 0 2px;padding:5px 11px 5px 8px;border:1.5px dashed rgba(18,19,24,.25);border-radius:999px;background:transparent;color:inherit;font:700 .8rem/1 'Source Sans 3',Arial,sans-serif;cursor:pointer;transition:background-color .15s,border-color .15s}
.cs-dictate svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.cs-dictate:hover{border-style:solid;background:rgba(255,216,107,.25)}
.cs-dictate[aria-pressed=true]{border:1.5px solid #C2410C;background:#FFE4DC;color:#8A2A08}
body.dark .cs-dictate{border-color:rgba(255,255,255,.25)}body.dark .cs-dictate[aria-pressed=true]{color:#8A2A08}
@media (prefers-reduced-motion:no-preference){.cs-dictate[aria-pressed=true] svg{animation:h4-pulse 1s infinite;border-radius:50%}}

/* ---------- SQL lab: a real editor and a tap-to-build tray ---------- */
#app .sqlk-bar{display:flex;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;border-radius:10px 10px 0 0;background:#1B1D24;color:#9AA0AC;font:600 .78rem/1 Consolas,'Cascadia Mono',monospace}
#app .sqlk-bar i{width:10px;height:10px;border-radius:50%;background:#FF7A59}#app .sqlk-bar i:nth-child(2){background:#FFD86B}#app .sqlk-bar i:nth-child(3){background:#7FE0B0}
#app .sqlk-bar span{margin-left:8px}
#app textarea.sqlk-editor{display:block;width:100%;min-height:180px;margin:0;padding:14px 16px;border:0;border-radius:0 0 10px 10px;background:#121318;color:#E6E8EE;caret-color:#FFD86B;font:500 1rem/1.6 Consolas,'Cascadia Mono',ui-monospace,monospace;tab-size:2}
#app textarea.sqlk-editor::placeholder{color:#5A6070}
#app textarea.sqlk-editor:focus{outline:2px solid #FFD86B;outline-offset:2px}
#app .sqlk{display:grid;gap:8px;margin:12px 0 4px}
#app .sqlk-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#app .sqlk-row small{min-width:72px;font:800 .7rem/1 var(--nb-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--nb-muted)}
#app .sqlk-row button{min-height:0;padding:6px 10px;border:0;border-radius:8px;font:700 .82rem/1 Consolas,'Cascadia Mono',monospace;cursor:pointer;transition:transform .12s var(--cs-ease)}
#app .sqlk-row button:hover{transform:translateY(-2px)}
#app .sqlk-k{background:#E9E1FF;color:#3B2A80}#app .sqlk-t{background:#DDF7E8;color:#0F5C38}#app .sqlk-c{background:#FFF2C2;color:#6B4A00}
#app .sqlk-hint{font:600 1rem/1 'Caveat',cursive;color:var(--nb-muted)}
#app .sqlk-fine{margin:2px 0 0;font-size:.8rem;color:var(--nb-muted)}
#app .sqlk-fine kbd{padding:1px 5px;border:1px solid var(--cs-line-strong);border-radius:4px;font-size:.72rem}
#app .sqlk-clear{min-height:0;padding:0;border:0;background:none;color:var(--nb-pen);font:700 .8rem/1 var(--nb-ui);cursor:pointer;text-decoration:underline}
/* Case files: the label is the folder tab; buttons use a deeper shade so white text stays readable */
#app .ws-shell .ws-main .cbf::before{display:none}
#app .ws-shell .ws-main .cbf .case-file-label{top:-20px;left:0;padding:3px 12px;border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--ic) 78%,#000);color:#fff}
#app .ws-shell .ws-main .cbf .actions .button[data-crx-open]:not(.secondary),#app .ws-shell .ws-main .cbf .actions .button[data-crx-open]:not(.secondary):hover{background:color-mix(in srgb,var(--ic) 78%,#000)}

/* ---------- Case course and casebook library ---------- */
#app .cc{margin:0 0 30px}
#app .cc h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 4px;font-size:1.5rem}
#app .cc-head p{margin:0 0 14px;color:var(--nb-ink-2);max-width:62ch}
#app .cc-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;list-style:none;margin:0 0 22px;padding:0}
#app .cc-mods>li.is-open{grid-column:1/-1}
#app .cc-mod{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;align-items:center;width:100%;min-height:0;padding:12px 14px;border:0;border-radius:12px;background:var(--cs-surface);box-shadow:var(--cs-e1);text-align:left;color:inherit;cursor:pointer;transition:transform .15s var(--cs-ease),box-shadow .15s}
#app .cc-mod:hover{transform:translateY(-2px);box-shadow:var(--cs-e2)}
#app .cc-num{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:10px 13px 9px 12px;background:#FFD86B;color:#121318;font:800 1.05rem/1 var(--cs-display);transform:rotate(-4deg)}
#app .cc-t b{display:block;font:750 1rem/1.25 var(--nb-ui);color:var(--nb-ink)}
#app .cc-t small{font-size:.82rem;color:var(--nb-muted)}
#app .cc-bar{height:5px;border-radius:3px;background:var(--nb-tint);overflow:hidden}
#app .cc-bar i{display:block;height:100%;background:#16794C;border-radius:3px}
#app .cc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:10px;padding:16px 18px;border-left:4px solid #FFD86B;background:var(--cs-surface);border-radius:0 12px 12px 0}
#app .cc-tips{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.5;color:var(--nb-ink-2)}
#app .cc-cases{list-style:none;margin:0;padding:0;display:grid;gap:4px}
#app .cc-cases button{display:flex;align-items:center;gap:10px;width:100%;min-height:0;padding:8px 10px;border:0;border-radius:8px;background:none;text-align:left;color:var(--nb-ink);font:600 .94rem/1.3 var(--nb-ui);cursor:pointer}
#app .cc-cases button:hover{background:color-mix(in srgb,#FFD86B 25%,transparent)}
#app .cc-cases span{color:#16794C;font-weight:800}
#app .cc-cases em{margin-left:auto;font-style:normal;font-size:.8rem;color:var(--nb-muted)}
#app .cc-lib h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 10px;font-size:1.2rem}
#app .cc-lib ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;list-style:none;margin:0;padding:0}
#app .cc-lib a{display:grid;gap:3px;height:100%;padding:14px 14px 12px;border-radius:4px 12px 12px 12px;background:#FFF8E6;color:#121318;text-decoration:none;border-top:5px solid #C47F00;box-shadow:var(--cs-e1);transition:transform .15s var(--cs-ease)}
#app .cc-lib a:hover{transform:translateY(-2px) rotate(-.4deg)}
#app .cc-lib b{font:750 1rem/1.25 var(--cs-display)}#app .cc-lib span{font:700 .8rem/1.3 var(--nb-ui);color:#7A5A2A}#app .cc-lib small{font-size:.84rem;color:#3A3E4A}
#app .cc-fine{margin:10px 0 0;font-size:.82rem;color:var(--nb-muted)}
@media (max-width:760px){#app .cc-body{grid-template-columns:1fr}}
#app .cc-lib h3 .h4-hand{font:600 1.2rem/1 'Caveat',cursive;color:#C2410C}#app .cc-tips{align-content:start}

/* ================= GD room, take two: a bright room, people on chairs, a long table ================= */
.gdx.gdx2{background:#FBFAF6;color:#121318}
.gdx.gdx2::before{background:radial-gradient(1000px 520px at 50% 18%,#FFFFFF,transparent 70%),linear-gradient(180deg,transparent 62%,#EFE9DD 62%)!important;opacity:1!important;filter:none!important}
.gdx.gdx2 .gdx-top{border-bottom:1px solid rgba(18,19,24,.08)}
.gdx.gdx2 .gdx-top>b{color:#121318}
.gdx.gdx2 .gdx-clock{color:#C2410C}
.gdx.gdx2 .gdx-tools button{background:#fff;color:#121318;border:1.5px solid rgba(18,19,24,.2)}
.gdx.gdx2 .gdx-stage{display:grid;grid-template-rows:auto minmax(0,1fr);align-items:end;gap:6px;padding:10px 18px 0;overflow:hidden}
/* Topic card, pinned up front like the board in a real GD room */
.gdx.gdx2 .gdx-table{position:static;transform:none;width:auto;aspect-ratio:auto;border-radius:0;background:none;box-shadow:none;display:grid;justify-items:center;gap:8px}
.gdx.gdx2 .gdx-card{width:min(640px,92vw);transform:rotate(-1deg);background:#FFF8E6;box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 30px -20px rgba(0,0,0,.45)}
.gdx.gdx2 .gdx-card::before{content:"";position:absolute;left:50%;top:-9px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:#C2410C;box-shadow:inset -3px -3px 0 rgba(0,0,0,.2)}
.gdx.gdx2 .gdx-mod{min-height:1.4em;margin:0;color:#545A68;font:600 1.15rem/1.3 'Caveat',cursive;text-align:center}
/* The room: six chairs in a row, a table in front of them */
.gdx.gdx2 .gdx-room{position:relative;align-self:end;width:min(1100px,100%);margin:0 auto}
.gdx.gdx2 .gdx-seats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:0 6px;position:relative;z-index:1}
.gdx.gdx2 .gdx-seat{position:relative;left:auto;top:auto;width:auto;transform:none;display:grid;justify-items:center;gap:0;text-align:center}
.gdx.gdx2 .gdx-person{display:block;width:min(150px,100%);height:auto;overflow:visible}
.gdx.gdx2 .gp-chair{fill:#8A5A3B}
.gdx.gdx2 .gp-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.gdx.gdx2 .gp-head{transform-box:fill-box;transform-origin:50% 90%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.gdx.gdx2 .gp-arm-r{transform-box:fill-box;transform-origin:20% 0%}
.gdx.gdx2 .gdx-eyes{transform:translateX(var(--look,0));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.gdx.gdx2 .gdx-mouth{transform-box:fill-box;transform-origin:50% 0}
.gdx.gdx2 .gdx-seat>b{position:relative;z-index:2;margin-top:-4px;padding:3px 10px;border-radius:999px;background:#fff;color:#121318;font:800 .9rem/1.2 'Source Sans 3',Arial,sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.gdx.gdx2 .gdx-seat>small{position:relative;z-index:2;margin-top:4px;color:#545A68;font:600 .74rem/1.2 'Source Sans 3',Arial,sans-serif}
.gdx.gdx2 .gdx-you>b{background:#FFD86B}
.gdx.gdx2 .gdx-seat.is-on>b,.gdx.gdx2 .gdx-you.is-on>b{background:#121318;color:#fff}
.gdx.gdx2 .gdx-desk{position:relative;z-index:2;height:34px;margin:-58px -12px 0;border-radius:10px 10px 4px 4px;background:linear-gradient(#E0A458,#C98A3D);box-shadow:0 10px 18px -10px rgba(0,0,0,.45)}
.gdx.gdx2 .gdx-desk::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;border-radius:0 0 6px 6px;background:#9B6A36}
.gdx.gdx2 .gdx-desk i{position:absolute;top:8px;width:46px;height:12px;border-radius:2px;background:#fff;opacity:.9;transform:rotate(-3deg)}
.gdx.gdx2 .gdx-desk i:nth-child(1){left:6%}.gdx.gdx2 .gdx-desk i:nth-child(2){left:23%;transform:rotate(2deg)}.gdx.gdx2 .gdx-desk i:nth-child(3){left:40%;background:#FFF2A8}.gdx.gdx2 .gdx-desk i:nth-child(4){left:57%;transform:rotate(4deg)}.gdx.gdx2 .gdx-desk i:nth-child(5){left:74%}.gdx.gdx2 .gdx-desk i:nth-child(6){left:90%;transform:rotate(-1deg)}
.gdx.gdx2 .gdx-seat>b,.gdx.gdx2 .gdx-seat>small{transform:translateY(46px)}
.gdx.gdx2 .gdx-room{padding-bottom:58px}
/* Speech bubbles over heads */
.gdx.gdx2 .gdx-bubble{position:absolute;top:auto;bottom:calc(100% - 14px);left:50%;width:min(280px,46vw);padding:11px 14px;border:2px solid #121318;border-radius:16px 16px 16px 4px;background:#fff;color:#121318;font:600 .92rem/1.4 'Source Sans 3',Arial,sans-serif;box-shadow:0 12px 24px -16px rgba(0,0,0,.5);transform:translateX(-30%);z-index:5}
.gdx.gdx2 .gdx-bubble::before{top:auto;bottom:-9px;left:30%;width:14px;height:14px;background:#fff;border-right:2px solid #121318;border-bottom:2px solid #121318}
.gdx.gdx2 .gdx-seat:nth-child(1) .gdx-bubble{transform:none;left:4%}.gdx.gdx2 .gdx-seat:nth-child(1) .gdx-bubble::before{left:20%}
.gdx.gdx2 .gdx-seat:nth-child(6) .gdx-bubble,.gdx.gdx2 .gdx-seat:nth-child(5) .gdx-bubble{transform:translateX(-80%)}.gdx.gdx2 .gdx-seat:nth-child(6) .gdx-bubble::before,.gdx.gdx2 .gdx-seat:nth-child(5) .gdx-bubble::before{left:78%}
.gdx.gdx2 .gdx-you-bubble{width:min(420px,70vw);background:#FFF4CC;transform:translateX(-50%)}
.gdx.gdx2 .gdx-you-bubble::before{left:50%;background:#FFF4CC}
.gdx.gdx2 .gdx-you-bubble:empty{display:none}
@media (prefers-reduced-motion:no-preference){
 .gdx.gdx2 .gdx-seat.is-on .gp-body,.gdx.gdx2 .gdx-you.is-on .gp-body{transform:translateY(-8px) rotate(-1.5deg)}
 .gdx.gdx2 .gdx-seat.is-on .gp-head{animation:gdx2-nodtalk 1.8s ease-in-out infinite}
 .gdx.gdx2 .gdx-seat.is-on .gdx-mouth{animation:gs-talk .2s ease-in-out infinite alternate}
 .gdx.gdx2 .gdx-seat.is-on .gp-arm-r{animation:gdx2-gesture 1.5s ease-in-out infinite}
 .gdx.gdx2 .gdx-seat .gdx-eyes circle{animation:gs-blink 4.6s infinite;transform-box:fill-box;transform-origin:center}
 .gdx.gdx2 .gdx-seat:nth-child(2n) .gdx-eyes circle{animation-delay:1.7s}.gdx.gdx2 .gdx-seat:nth-child(3n) .gdx-eyes circle{animation-delay:3.1s}
 .gdx.gdx2 .gdx-seat:not(.is-on) .gp-body{animation:gdx2-breathe 4s ease-in-out infinite}
 .gdx.gdx2 .gdx-seat:nth-child(2n):not(.is-on) .gp-body{animation-delay:1.3s}
}
@keyframes gdx2-nodtalk{0%,100%{transform:rotate(0)}30%{transform:rotate(-3deg)}65%{transform:rotate(3deg)}}
@keyframes gdx2-gesture{0%,100%{transform:rotate(0)}30%{transform:rotate(-55deg) translate(-4px,-6px)}60%{transform:rotate(-30deg)}}
@keyframes gdx2-breathe{50%{transform:scaleY(1.015)}}
/* Controls at the bottom, on light */
.gdx.gdx2 .gdx-bar{background:#F4EFE4;border-top:1px solid rgba(18,19,24,.08)}
.gdx.gdx2 .gdx-lobby label,.gdx.gdx2 .gdx-voices,.gdx.gdx2 .gdx-fine{color:#3A3E4A}
.gdx.gdx2 .gdx-lobby select{background:#fff;color:#121318;border:1.5px solid rgba(18,19,24,.2)}
.gdx.gdx2 .gdx-type input{background:#fff;color:#121318;border:1.5px solid rgba(18,19,24,.25)}
.gdx.gdx2 .gdx-type button,.gdx.gdx2 .gdx-end{background:#121318;color:#fff;border:0}
.gdx.gdx2 .gdx-go{background:#121318;color:#fff}
.gdx.gdx2 .gdx-verdict{box-shadow:0 0 0 2px #121318,0 30px 60px -20px rgba(0,0,0,.4)}
@media (max-width:760px){
 .gdx.gdx2 .gdx-seats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px}
 .gdx.gdx2 .gdx-desk{display:none}
 .gdx.gdx2 .gdx-seat>b,.gdx.gdx2 .gdx-seat>small{transform:none}
 .gdx.gdx2 .gdx-room{padding-bottom:6px}
 .gdx.gdx2 .gdx-person{width:min(96px,100%)}
 .gdx.gdx2 .gdx-seat>small{display:none}
 .gdx.gdx2 .gdx-bubble{position:fixed;left:12px!important;right:12px;bottom:auto;top:96px;width:auto;transform:none!important}
 .gdx.gdx2 .gdx-bubble::before{display:none}
}
.gdx.gdx2 .gdx-seat.is-on .gdx-bubble.is-in,.gdx.gdx2 .gdx-you-bubble.is-in{animation:gdx2-bub .35s cubic-bezier(.2,1.4,.5,1) both}
@keyframes gdx2-bub{from{opacity:0;scale:.85;translate:0 8px}to{opacity:1;scale:1;translate:0 0}}
.gdx.gdx2 .gdx-ring circle{stroke:#E3DDD0}.gdx.gdx2 .gdx-ring .gdx-ring-on{stroke:#C2410C}.gdx.gdx2 .gdx-ring{background:#fff;border-radius:50%}
.gdx.gdx2 .gdx-you{bottom:auto}
.gdx.gdx2 .gdx-room{padding-bottom:84px}
.gdx.gdx2 .gdx-seat>small{max-width:16ch;text-wrap:balance}
@media (max-width:760px){.gdx.gdx2 .gdx-room{padding-bottom:6px}}
.gdx.gdx2 .gdx-seat>small{min-height:2.4em}
.gdx.gdx2 .gdx-ring circle{fill:#fff}.gdx.gdx2 .gdx-ring .gdx-ring-on{fill:none}
.gdx.gdx2 .gdx-person{width:min(176px,100%)}
.gdx.gdx2 .gdx-bubble i{background:#121318}
@media (max-width:760px){.gdx.gdx2 .gdx-person{width:min(96px,100%)}.gdx.gdx2 .gdx-seat>small{min-height:0}}
/* Phones: card on top, a strip for whoever is talking, then two rows of chairs */
@media (max-width:760px){
 .gdx.gdx2 .gdx-stage{grid-template-rows:auto auto;align-content:start;align-items:start;overflow-y:auto;padding:12px 12px 8px}
 .gdx.gdx2 .gdx-room{padding:96px 0 6px}
 .gdx.gdx2 .gdx-seats{padding:0}
 .gdx.gdx2 .gdx-seat{position:static}
 .gdx.gdx2 .gdx-bubble,.gdx.gdx2 .gdx-you-bubble{position:absolute;top:4px;bottom:auto;left:0!important;right:0;width:auto;max-height:84px;overflow:hidden;transform:none!important;font-size:.88rem}
 .gdx.gdx2 .gdx-person{width:min(84px,100%)}
 .gdx.gdx2 .gdx-card{width:100%}
}
@media (max-width:760px){.gdx.gdx2 .gdx-room{align-self:start}.gdx.gdx2 .gdx-seats{position:static}.gdx.gdx2 .gdx-mod{font-size:1rem}}
@media (max-width:760px){
 .gdx.gdx2 .gdx-bubble,.gdx.gdx2 .gdx-you-bubble{display:flex;flex-direction:column;justify-content:flex-end;max-height:88px}
 .gdx.gdx2 .gdx-you-bubble:empty{display:none}
 .gdx.gdx2 .gdx-bar{padding:8px 10px}
 .gdx.gdx2 .gdx-live:not([hidden]){display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
 .gdx.gdx2 .gdx-mic{padding:6px 12px 6px 6px;min-height:0}.gdx.gdx2 .gdx-mic b{font-size:.82rem}
 .gdx.gdx2 .gdx-type{min-width:0}.gdx.gdx2 .gdx-type input{min-width:0;padding:10px}
 .gdx.gdx2 .gdx-end{grid-column:1/-1;padding:9px 12px;font-size:.9rem}
 .gdx.gdx2 .gdx-fine{font-size:.68rem;margin-top:4px}
 .gdx.gdx2 .gdx-card{padding:14px 16px}.gdx.gdx2 .gdx-card h2{font-size:1.1rem}
}
@media (max-width:760px){.gdx.gdx2 .gdx-type button{white-space:nowrap;padding:0 14px}.gdx.gdx2 .gdx-type{display:flex;gap:6px}.gdx.gdx2 .gdx-type input{flex:1}}

/* Homepage: say what the site is for, in three steps you can see */
#app .welcome .welcome-steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(820px,100%);margin:20px auto 10px;padding:0;list-style:none;counter-reset:st}
#app .welcome .welcome-steps3 li{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border:2px solid #121318;border-radius:16px;background:#fff;text-align:left;box-shadow:4px 4px 0 #121318;transform:rotate(var(--r,0deg));transition:transform .2s cubic-bezier(.2,1.4,.5,1)}
#app .welcome .welcome-steps3 li:nth-child(1){--r:-1.2deg}#app .welcome .welcome-steps3 li:nth-child(2){--r:.8deg}#app .welcome .welcome-steps3 li:nth-child(3){--r:-.6deg}
#app .welcome .welcome-steps3 li:hover{transform:rotate(0) translateY(-3px)}
#app .welcome .welcome-steps3 svg{grid-row:1/3;width:44px;height:44px;padding:6px;border-radius:12px;background:var(--s);color:#121318}
#app .welcome .welcome-steps3 b{font:800 1.15rem/1.1 var(--nb-display,inherit);color:#121318}
#app .welcome .welcome-steps3 b::before{counter-increment:st;content:counter(st) " · ";color:#8A8F9C;font-weight:700}
#app .welcome .welcome-steps3 span{font:600 .88rem/1.3 var(--nb-ui);color:#3A3E4A}
#app .welcome .welcome-steps3 li+li::before{content:"";position:absolute;left:-12px;top:50%;width:14px;height:2px;background:#121318}
#app .welcome .welcome-notcourse{margin:8px auto 0;font:600 .95rem/1.4 var(--nb-ui);color:#3A3E4A}
body.dark #app .welcome .welcome-steps3 li{background:#1B1E27;border-color:#DCE2EE;box-shadow:4px 4px 0 #DCE2EE}
body.dark #app .welcome .welcome-steps3 b{color:#F4F6FB}body.dark #app .welcome .welcome-steps3 span,body.dark #app .welcome .welcome-notcourse{color:#C9D0DE}
body.dark #app .welcome .welcome-steps3 li+li::before{background:#DCE2EE}
@media (max-width:700px){
 #app .welcome .welcome-steps3{grid-template-columns:1fr;gap:8px;padding:0 6px}
 #app .welcome .welcome-steps3 li{padding:9px 12px}
 #app .welcome .welcome-steps3 li+li::before{left:34px;top:-10px;width:2px;height:10px}
 #app .welcome .welcome-steps3 svg{width:38px;height:38px}
}
#app .welcome .welcome-steps3{gap:34px;margin:22px auto 8px}
#app .welcome .welcome-steps3 li,body.dark #app .welcome .welcome-steps3 li{padding:4px 0;border:0;background:none;box-shadow:none;transform:none}
#app .welcome .welcome-steps3 li:hover{transform:translateY(-2px)}
#app .welcome .welcome-steps3 svg{width:52px;height:52px;padding:8px;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;box-shadow:inset 0 0 0 2px #121318;transform:rotate(var(--r,0deg))}
#app .welcome .welcome-steps3 li+li::before,body.dark #app .welcome .welcome-steps3 li+li::before{content:"→";left:-30px;top:50%;width:auto;height:auto;margin-top:-.7em;background:none;font:700 1.9rem/1 'Caveat',cursive;color:#C2410C}
#app .welcome .welcome-notcourse{font-size:.92rem}
@media (max-width:700px){
 #app .welcome .welcome-steps3{gap:6px;width:fit-content;max-width:100%}
 #app .welcome .welcome-steps3 li+li::before,body.dark #app .welcome .welcome-steps3 li+li::before{content:none}
 #app .welcome .welcome-steps3 svg{width:42px;height:42px;padding:6px}
}
#app .welcome .welcome-steps3 b::before{color:#5A606E}body.dark #app .welcome .welcome-steps3 b::before{color:#AEB6C6}
@media (max-width:640px){#app .welcome .hero-proof li+li,body.dark #app .welcome .hero-proof li+li{box-shadow:none}}

/* ================= JD decoder: the ad on paper, translated beside it ================= */
#app .jd-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:8px}
#app .jd-in-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
#app .jd-in-head label{font:800 1rem/1.2 var(--nb-ui);color:var(--nb-ink,#121318)}
#app .jd-sample{padding:2px 4px;border:0;background:none;color:#C2410C;font:700 1.25rem/1 'Caveat',cursive;text-decoration:underline wavy rgba(194,65,12,.5);text-underline-offset:4px;cursor:pointer}
#app .jd-paper{position:relative;border:2px solid #121318;border-radius:4px 14px 6px 12px;background:#FFFDF5 repeating-linear-gradient(transparent 0 31px,rgba(43,75,238,.08) 31px 32px);box-shadow:5px 6px 0 #121318;transform:rotate(-.4deg)}
#app .jd-paper textarea,#app .jd-hl{display:block;width:100%;min-height:440px;margin:0;padding:18px 20px;border:0;font:500 1rem/2 'Source Sans 3',Arial,sans-serif;letter-spacing:0;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:4}
#app .jd-paper textarea{position:relative;z-index:2;resize:vertical;background:transparent;color:transparent;caret-color:#121318;outline:none;box-shadow:none}
#app .jd-paper textarea::placeholder{color:#7A808E}
#app .jd-paper textarea::selection{background:rgba(43,75,238,.25);color:transparent}
#app .jd-paper:focus-within{box-shadow:5px 6px 0 #2B4BEE}
#app .jd-hl{position:absolute;inset:0;z-index:1;overflow:hidden;color:#121318;pointer-events:none}
#app .jd-hl mark{padding:0;border-radius:3px;color:inherit;box-shadow:0 0 0 2px var(--mk);background:var(--mk);transition:box-shadow .2s}
#app .jd-hl mark.is-red{--mk:#FFC9BE}#app .jd-hl mark.is-amber{--mk:#FFE59A}#app .jd-hl mark.is-green{--mk:#BFEBD0}#app .jd-hl mark.is-neutral{--mk:#DCE3F5}
#app .jd-hl mark.is-lit{box-shadow:0 0 0 2px var(--mk),0 0 0 4px #121318}
#app .jd-fine{margin:12px 0 0;color:#545A68;font-size:.86rem}
#app .jd-out{display:grid;gap:22px}
#app .jd-empty{padding:40px 10px;text-align:center;color:#545A68}#app .jd-empty .h4-hand{font-size:1.6rem;color:#C2410C}
#app .jd-verdict{justify-self:start;display:grid;gap:4px;padding:14px 18px;border-radius:12px 18px 10px 16px;background:var(--vb);color:#121318;transform:rotate(-1.2deg);box-shadow:0 14px 24px -18px rgba(0,0,0,.6);animation:jd-stamp .45s cubic-bezier(.2,1.5,.4,1) both}
#app .jd-verdict b{font:800 1.3rem/1.2 var(--nb-display,inherit)}#app .jd-verdict span{font:600 .85rem/1.3 var(--nb-ui);opacity:.8}
#app .jd-verdict.is-run{--vb:#FF7A59}#app .jd-verdict.is-careful{--vb:#FFB4A3}#app .jd-verdict.is-bingo{--vb:#FFD86B}#app .jd-verdict.is-ask{--vb:#FFE9A8}#app .jd-verdict.is-ok{--vb:#CDEFD9}#app .jd-verdict.is-good{--vb:#7FE0B0}
@keyframes jd-stamp{from{opacity:0;transform:rotate(-8deg) scale(1.3)}to{opacity:1;transform:rotate(-1.2deg) scale(1)}}
#app .jd-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
#app .jd-facts li{display:grid;gap:2px;padding:2px 12px;border-left:2px dashed rgba(18,19,24,.2)}#app .jd-facts li:first-child{padding-left:0;border-left:0}
#app .jd-facts small{font:700 .72rem/1.2 var(--nb-ui);letter-spacing:.06em;text-transform:uppercase;color:#545A68}
#app .jd-facts b{font:800 .98rem/1.3 var(--nb-ui);color:#121318}#app .jd-facts .is-missing b{color:#7A808E;font-style:italic;font-weight:600}
#app .jd-block h3{margin:0 0 10px;font:800 1.05rem/1.2 var(--nb-display,inherit)}
#app .jd-skills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
#app .jd-skills li{padding:5px 12px;border:2px solid #121318;border-radius:999px;background:#fff;font:700 .88rem/1.2 var(--nb-ui)}
#app .jd-skills li:nth-child(3n+1){background:#E9F0FF}#app .jd-skills li:nth-child(3n+2){background:#FFF4CC}#app .jd-skills li:nth-child(3n){background:#E3F7EC}
#app .jd-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
#app .jd-list li{display:grid;gap:2px;padding:9px 12px 9px 16px;border-radius:10px;cursor:pointer;position:relative;transition:background .2s}
#app .jd-list li::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:5px;border-radius:3px;background:var(--mk,#DCE3F5)}
#app .jd-list li.is-red{--mk:#F05A3A}#app .jd-list li.is-amber{--mk:#F2B620}#app .jd-list li.is-green{--mk:#2FA866}#app .jd-list li.is-neutral{--mk:#9AA6C4}
#app .jd-list li:hover,#app .jd-list li.is-lit{background:rgba(18,19,24,.05)}
#app .jd-list b{font:800 .95rem/1.25 var(--nb-ui);color:#121318}#app .jd-list span{font:500 .92rem/1.45 var(--nb-ui);color:#3A3E4A}
#app .jd-asks{display:grid;gap:6px;margin:0;padding:0;list-style:none}
#app .jd-asks li{position:relative;padding-left:26px;font:600 .95rem/1.4 var(--nb-ui)}
#app .jd-asks li::before{content:"?";position:absolute;left:4px;top:-4px;font:700 1.5rem/1 'Caveat',cursive;color:#C2410C}
#app .jd-next{display:flex;flex-wrap:wrap;gap:10px}
body.dark #app .jd-paper{background:#1B1E27 repeating-linear-gradient(transparent 0 31px,rgba(143,162,255,.1) 31px 32px);border-color:#DCE2EE;box-shadow:5px 6px 0 #DCE2EE}
body.dark #app .jd-paper textarea{caret-color:#F4F6FB}body.dark #app .jd-hl{color:#F4F6FB}
body.dark #app .jd-hl mark{color:#121318}
body.dark #app .jd-list b,body.dark #app .jd-facts b,body.dark #app .jd-in-head label{color:#F4F6FB}body.dark #app .jd-list span,body.dark #app .jd-fine,body.dark #app .jd-facts small,body.dark #app .jd-empty{color:#C9D0DE}
body.dark #app .jd-skills li{color:#121318;border-color:#DCE2EE}body.dark #app .jd-list li:hover,body.dark #app .jd-list li.is-lit{background:rgba(255,255,255,.06)}
body.dark #app .jd-facts li{border-color:rgba(255,255,255,.18)}
@media (max-width:900px){
 #app .jd-grid{grid-template-columns:1fr}
 #app .jd-paper textarea,#app .jd-hl{min-height:300px;padding:14px}
 #app .jd-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}#app .jd-facts li:nth-child(3){padding-left:0;border-left:0}
}
@media (prefers-reduced-motion:reduce){#app .jd-verdict{animation:none}}
@media (min-width:901px){#app .jd-in{position:sticky;top:16px}}

/* The plain-HTML description shown for a moment before the app starts (and to search engines) */
.seo-shell{max-width:46rem;margin:0 auto;padding:18vh 20px 48px;text-align:center;color:#121318}
.seo-shell h1{margin:0 0 14px;font:800 clamp(2rem,6vw,3.6rem)/1.05 var(--nb-display,system-ui,sans-serif);letter-spacing:-.02em}
.seo-shell p{margin:0 auto 16px;max-width:38rem;font:500 1.05rem/1.55 var(--nb-ui,system-ui,sans-serif);color:#3A3E4A}
.seo-shell ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0;list-style:none;font:600 .9rem/1.4 var(--nb-ui,system-ui,sans-serif);color:#545A68}

/* Sign-in: Google and phone side by side */
#app .welcome .acct-quick{display:grid;gap:8px}
#app .welcome .acct-phone{cursor:pointer}
@media (min-width:520px){#app .welcome .acct-quick:has(.acct-phone):has(a.acct-google){grid-template-columns:1fr 1fr}#app .welcome .acct-quick .acct-google span{white-space:nowrap}}
body.dark #app .welcome .acct-phone{color:#121318}

/* Phone sign-in window */
.phx{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(12,14,20,.55);backdrop-filter:blur(3px);animation:phx-in .2s ease both}
@keyframes phx-in{from{opacity:0}}
.phx-card{position:relative;width:min(420px,100%);padding:26px 24px 20px;border:2px solid #121318;border-radius:18px;background:#FFFDF5;color:#121318;box-shadow:6px 7px 0 #121318;font-family:'Source Sans 3',Arial,sans-serif;animation:phx-pop .3s cubic-bezier(.2,1.4,.5,1) both}
@keyframes phx-pop{from{transform:translateY(12px) scale(.96)}}
.phx-card h2{margin:0 0 6px;font:800 1.5rem/1.15 var(--nb-display,inherit)}
.phx-note{margin:0 0 16px;color:#3A3E4A}
.phx-card label{display:block;margin-bottom:6px;font-weight:800}
.phx-num{display:flex;align-items:stretch;border:2px solid #121318;border-radius:12px;background:#fff;overflow:hidden}
.phx-num span{display:grid;place-items:center;padding:0 12px;background:#FFF4CC;border-right:2px solid #121318;font-weight:800;white-space:nowrap}
.phx-num input{flex:1;min-width:0;padding:12px;border:0;font:600 1.15rem/1.2 inherit;letter-spacing:.04em;outline:none;background:#fff;color:#121318}
.phx-code{box-sizing:border-box;width:100%;padding:12px;border:2px solid #121318;border-radius:12px;font:800 1.6rem/1 ui-monospace,Consolas,monospace;letter-spacing:.5em;text-align:center;background:#fff;color:#121318}
.phx-num:focus-within,.phx-code:focus{outline:3px solid rgba(43,75,238,.35);outline-offset:2px}
.phx-go{width:100%;margin-top:14px;padding:13px;border:0;border-radius:12px;background:#121318;color:#fff;font:800 1rem/1 inherit;cursor:pointer}
.phx-go:disabled{opacity:.6;cursor:wait}
.phx-err{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#FFE3DC;color:#8A1C0B;font-weight:700}
.phx-fine{margin:12px 0 0;font-size:.82rem;color:#545A68}
.phx-link{padding:0;border:0;background:none;color:#2B4BEE;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.phx-link:disabled{color:#7A808E;text-decoration:none;cursor:default}
.phx-x{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#121318}
.phx-x:hover{background:rgba(18,19,24,.07)}
body.phx-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.phx,.phx-card{animation:none}}

/* ================= Owner dashboard ================= */
#app .od{display:grid;gap:18px;padding-bottom:40px}
#app .od-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px}
#app .od-head h1{margin:2px 0 4px;font:800 clamp(1.8rem,3.4vw,2.4rem)/1.05 var(--nb-display,inherit)}
#app .od-head p{margin:0;color:#545A68;font-size:.92rem}
#app .od-head .h4-hand{color:#C2410C;font-size:1.2rem}
#app .od-live{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#16794C}
#app .od-live i{width:9px;height:9px;border-radius:50%;background:#2FA866;box-shadow:0 0 0 0 rgba(47,168,102,.6);animation:od-pulse 1.8s infinite}
@keyframes od-pulse{70%{box-shadow:0 0 0 8px rgba(47,168,102,0)}100%{box-shadow:0 0 0 0 rgba(47,168,102,0)}}
#app .od-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#app .od-range{display:inline-flex;padding:3px;border:2px solid #121318;border-radius:999px;background:#fff}
#app .od-range button{padding:6px 12px;border:0;border-radius:999px;background:none;font:700 .85rem/1 var(--nb-ui);color:#3A3E4A;cursor:pointer}
#app .od-range button[aria-pressed="true"]{background:#121318;color:#fff}
#app .od-refresh{width:36px;height:36px;border:2px solid #121318;border-radius:50%;background:#fff;font-size:1.1rem;cursor:pointer}
#app .od-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
#app .od-kpis li{display:grid;gap:2px;padding:14px;border:2px solid #121318;border-radius:14px;background:#fff;box-shadow:3px 3px 0 #121318}
#app .od-kpis li:nth-child(1){background:#E9F0FF}#app .od-kpis li:nth-child(3){background:#FFF4CC}#app .od-kpis li:nth-child(5){background:#E3F7EC}
#app .od-kpis small{font:800 .72rem/1.2 var(--nb-ui);text-transform:uppercase;letter-spacing:.06em;color:#545A68}
#app .od-kpis b{font:800 1.9rem/1.05 var(--nb-display,inherit);color:#121318}
#app .od-kpis em{font:700 .8rem/1.2 var(--nb-ui);font-style:normal;color:#545A68}#app .od-kpis em.od-up{color:#16794C}#app .od-kpis em.od-down{color:#B42318}
#app .od-kpis span{font-size:.78rem;color:#545A68}
#app .od-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#app .od-card{min-width:0;padding:16px 18px;border:1.5px solid rgba(18,19,24,.14);border-radius:16px;background:#fff}
#app .od-card h2{margin:0 0 12px;font:800 1.05rem/1.2 var(--nb-display,inherit)}
#app .od-card h3{margin:14px 0 8px;font:800 .8rem/1.2 var(--nb-ui);text-transform:uppercase;letter-spacing:.06em;color:#545A68}
#app .od-cardhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}#app .od-cardhead h2{margin:0}
#app .od-trend{display:block;width:100%;height:auto}
#app .od-trend line{stroke:rgba(18,19,24,.08)}#app .od-trend text{font:600 11px 'Source Sans 3',Arial,sans-serif;fill:#7A808E}
#app .od-area{fill:rgba(43,75,238,.12)}#app .od-line-v{fill:none;stroke:#2B4BEE;stroke-width:2.5;stroke-linejoin:round}
#app .od-line-p{fill:none;stroke:#C2410C;stroke-width:2;stroke-dasharray:5 4;stroke-linejoin:round}
#app .od-dot{fill:#2FA866;stroke:#fff;stroke-width:2}#app .od-hit{fill:transparent}#app .od-hit:hover{fill:rgba(18,19,24,.04)}
#app .od-legend{display:flex;gap:16px;margin:6px 0 0;font-size:.82rem;color:#545A68}
#app .od-legend i{display:inline-block;width:14px;height:4px;margin-right:6px;vertical-align:middle;border-radius:2px}#app .od-legend .v{background:#2B4BEE}#app .od-legend .p{background:#C2410C}#app .od-legend .s{width:10px;height:10px;border-radius:50%;background:#2FA866}
#app .od-bars,#app .od-funnel,#app .od-depth{display:grid;gap:7px;margin:0;padding:0;list-style:none}
#app .od-bars li,#app .od-depth li{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.88rem}
#app .od-bars li small{grid-column:2/-1;margin-top:-5px;color:#7A808E;font-size:.74rem}
#app .od-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2B2E38;font-weight:600}
#app .od-bt,#app .od-ft{height:10px;border-radius:6px;background:#F0EEE8;overflow:hidden}
#app .od-bt i,#app .od-ft i{display:block;height:100%;border-radius:6px;background:#2B4BEE;transition:width .5s cubic-bezier(.2,.8,.2,1)}
#app .od-bars b,#app .od-depth b,#app .od-funnel b{font:800 .9rem/1 var(--nb-ui);color:#121318;text-align:right;min-width:2.5em}
#app .od-funnel li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:4px 10px;align-items:center;font-size:.88rem}
#app .od-funnel li small{grid-column:2/-1;margin-top:-3px;color:#7A808E;font-size:.74rem}
#app .od-ft{height:16px}#app .od-funnel li:nth-child(2) .od-ft i{background:#5B74F2}#app .od-funnel li:nth-child(3) .od-ft i{background:#F2B620}#app .od-funnel li:nth-child(4) .od-ft i{background:#2FA866}#app .od-funnel li:nth-child(5) .od-ft i{background:#C2410C}
#app .od-depth .od-bt i{background:#F2B620}
#app .od-hours{display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:3px;height:120px}
#app .od-hours span{height:calc(4px + var(--h)*100%);border-radius:4px 4px 1px 1px;background:#BFCBFA}#app .od-hours span.is-peak{background:#2B4BEE}
#app .od-axis{display:flex;justify-content:space-between;margin:4px 0 0;font-size:.72rem;color:#7A808E}
#app .od-stores{display:grid;gap:8px;margin:0;padding:0;list-style:none}
#app .od-stores li{display:grid;grid-template-columns:auto 1fr;gap:0 8px;font-size:.86rem}#app .od-stores b{font-family:ui-monospace,Consolas,monospace;font-size:.82rem}#app .od-stores small{color:#7A808E;font-weight:700}#app .od-stores span{grid-column:1/-1;color:#3A3E4A}
#app .od-table-wrap{overflow-x:auto;margin:0 -4px}
#app .od-table{width:100%;border-collapse:collapse;font-size:.88rem}
#app .od-table th{padding:6px 8px;text-align:left;font:800 .72rem/1.2 var(--nb-ui);text-transform:uppercase;letter-spacing:.06em;color:#545A68;border-bottom:2px solid #121318}
#app .od-table td{padding:9px 8px;border-bottom:1px solid rgba(18,19,24,.08);vertical-align:top}#app .od-table td span{color:#3A3E4A}#app .od-table td small{color:#7A808E}
#app .od-table tr.is-fail td{background:#FFF6F3}
#app .od-pill{display:inline-block;padding:2px 9px;border-radius:999px;background:#E9F0FF;font:800 .76rem/1.4 var(--nb-ui);color:#121318!important}#app .od-pill.is-google{background:#FFF4CC}#app .od-pill.is-phone{background:#E3F7EC}
#app .od-tag{display:inline-block;padding:2px 8px;border-radius:6px;background:#F0EEE8;font:700 .74rem/1.4 var(--nb-ui);color:#3A3E4A!important}#app .od-tag.is-new{background:#CDEFD9;color:#0F5132!important}#app .od-tag.is-bad{background:#FFE3DC;color:#8A1C0B!important}
#app .od-search{display:flex;gap:8px;max-width:560px}#app .od-search input{flex:1;min-width:0;padding:10px 12px;border:2px solid #121318;border-radius:10px;font:600 1rem/1.2 var(--nb-ui)}
#app .od-pager{display:flex;gap:8px;justify-content:flex-end}
#app .od-fine{margin:8px 0 0;font-size:.82rem;color:#545A68}#app .od-foot{max-width:60em}
#app .od-err{padding:12px;border-radius:10px;background:#FFE3DC;color:#8A1C0B;font-weight:700}
#app .od-skel{height:320px;border-radius:16px;background:linear-gradient(90deg,#F0EEE8,#F8F6F1,#F0EEE8);background-size:200% 100%;animation:od-skel 1.2s infinite linear}
@keyframes od-skel{to{background-position:-200% 0}}
body.dark #app .od-card,body.dark #app .od-range,body.dark #app .od-refresh{background:#1B1E27;border-color:rgba(255,255,255,.14)}
body.dark #app .od-kpis li{background:#1B1E27;border-color:#DCE2EE;box-shadow:3px 3px 0 #DCE2EE}
body.dark #app .od-kpis b,body.dark #app .od-bars b,body.dark #app .od-funnel b,body.dark #app .od-depth b,body.dark #app .od-bl,body.dark #app .od-head h1{color:#F4F6FB}
body.dark #app .od-head p,body.dark #app .od-kpis small,body.dark #app .od-kpis span,body.dark #app .od-fine,body.dark #app .od-table td span,body.dark #app .od-stores span{color:#C9D0DE}
body.dark #app .od-bt,body.dark #app .od-ft{background:#2A2E3A}body.dark #app .od-range button{color:#C9D0DE}body.dark #app .od-range button[aria-pressed="true"]{background:#F4F6FB;color:#121318}
body.dark #app .od-table th{color:#C9D0DE;border-color:#DCE2EE}body.dark #app .od-table tr.is-fail td{background:rgba(180,35,24,.15)}
@media (max-width:1100px){#app .od-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){#app .od-grid{grid-template-columns:1fr}#app .od-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#app .od-bars li,#app .od-depth li{grid-template-columns:minmax(0,7rem) minmax(0,1fr) auto}#app .od-funnel li{grid-template-columns:minmax(0,8rem) minmax(0,1fr) auto}#app .od-kpis b{font-size:1.5rem}}

/* Owner menu item: a small bar-chart icon on a grey tile */
.ws-masthead nav [data-view=ownerDashboard]{--cs-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M5 20V11M11 20V5M17 20v-7M3 20h18'/%3E%3C/svg%3E")}
#app .ws-masthead nav [data-view=ownerDashboard]{--gc:#DCE3F5}
#app .ws-masthead nav:has([data-view=ownerDashboard].ws-current){--gc-cur:#DCE3F5}

/* ================= Buy us a chai ================= */
#app .sup{display:grid;gap:22px;max-width:760px}
#app .sup .h4-hand{color:#C2410C;font-size:1.25rem}
#app .sup-test{margin:0;padding:10px 14px;border:2px dashed #C2410C;border-radius:12px;background:#FFF4EC;color:#7A2E0A;font-size:.9rem}
#app .sup-pick h2,#app .sup-history h2{margin:0 0 12px;font:800 1.15rem/1.2 var(--nb-display,inherit)}
#app .sup-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#app .sup-amounts button,#app .sup-custom{display:grid;align-content:start;gap:4px;min-height:92px;padding:14px;border:2px solid #121318;border-radius:14px;background:#fff;color:#121318;text-align:left;cursor:pointer;box-shadow:3px 3px 0 #121318;transition:transform .15s cubic-bezier(.2,1.4,.5,1),background .15s}
#app .sup-amounts button:hover{transform:translateY(-2px)}
#app .sup-amounts button[aria-checked="true"],#app .sup-custom.is-on{background:#FFD86B;transform:rotate(-1deg)}
#app .sup-amounts b{font:800 1.5rem/1 var(--nb-display,inherit)}
#app .sup-amounts button span{font:600 .82rem/1.3 var(--nb-ui);color:#3A3E4A}
#app .sup-custom span:first-child{font:700 .82rem/1.3 var(--nb-ui);color:#3A3E4A}
#app .sup-rs{display:flex;align-items:center;gap:2px;font:800 1.4rem/1 var(--nb-display,inherit)}
#app .sup-rs input{width:100%;min-width:0;padding:2px 0;border:0;border-bottom:2px solid #121318;background:transparent;font:800 1.4rem/1.1 var(--nb-display,inherit);color:#121318;outline:none}
#app .sup-err{margin:12px 0 0;padding:8px 12px;border-radius:8px;background:#FFE3DC;color:#8A1C0B;font-weight:700}
#app .sup-go{margin-top:16px;padding:14px 26px;font-size:1.05rem}
#app .sup-fine{margin:12px 0 0;max-width:46em;font-size:.84rem;color:#545A68}
#app .sup-history ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
#app .sup-history li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(18,19,24,.1);font-size:.92rem}
#app .sup-history em{font-style:normal;font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:6px;background:#F0EEE8}
#app .sup-history em.is-paid{background:#CDEFD9;color:#0F5132}#app .sup-history em.is-failed{background:#FFE3DC;color:#8A1C0B}
#app .sup-done{padding:28px;border:2px solid #121318;border-radius:18px;background:#FFF8E6;box-shadow:5px 6px 0 #121318;text-align:center}
#app .sup-done h1{margin:8px 0;font:800 2rem/1.1 var(--nb-display,inherit)}
#app .sup-done p{max-width:34em;margin:0 auto 16px;color:#3A3E4A}
#app .sup-cup{font-size:3rem;animation:sup-steam 1.6s ease-in-out infinite alternate}
@keyframes sup-steam{to{transform:translateY(-4px) rotate(-4deg)}}
body.dark #app .sup-amounts button,body.dark #app .sup-custom{background:#1B1E27;color:#F4F6FB;border-color:#DCE2EE;box-shadow:3px 3px 0 #DCE2EE}
body.dark #app .sup-amounts button[aria-checked="true"],body.dark #app .sup-custom.is-on{background:#FFD86B;color:#121318}
body.dark #app .sup-amounts button span,body.dark #app .sup-custom span:first-child,body.dark #app .sup-fine{color:#C9D0DE}
body.dark #app .sup-amounts button[aria-checked="true"] span{color:#3A3E4A}
body.dark #app .sup-rs input{color:inherit;border-color:currentColor}
body.dark #app .sup-done{background:#1B1E27;border-color:#DCE2EE;box-shadow:5px 6px 0 #DCE2EE}body.dark #app .sup-done p{color:#C9D0DE}
@media (max-width:640px){#app .sup-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){#app .sup-cup{animation:none}}
#app .od-kpis-pay{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
@media (max-width:760px){#app .od-kpis-pay{grid-template-columns:repeat(2,minmax(0,1fr))}}
#app .od-msgs{display:grid;gap:10px;margin:0;padding:0;list-style:none}
#app .od-msgs li{display:grid;gap:6px;padding:12px 14px;border:1.5px solid rgba(18,19,24,.14);border-radius:12px;background:#FFFDF5}
#app .od-msgs li.is-done{opacity:.6;background:transparent}
#app .od-msgs p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#app .od-msgs small{color:#7A808E}#app .od-msgs button{justify-self:start}
body.dark #app .od-msgs li{background:#1B1E27;border-color:rgba(255,255,255,.14)}
