:root{--daily-bg:#101d24;--daily-text:#e4ece6;--daily-muted:#9eb5b8;--briefing-width:1120px;--briefing-gutter:32px}
body{background:var(--daily-bg)}
.masthead{background:var(--daily-bg)}
.assignment-screen{min-height:calc(100dvh - 128px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 40%,#23483e55,transparent 60%)}
.assignment{position:relative;width:min(var(--briefing-width),calc(100% - 2 * var(--briefing-gutter)));margin:36px auto;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);column-gap:clamp(12px,1.5vw,20px);row-gap:28px;align-items:center;padding:32px 40px 40px;border:1px solid #354e55;border-radius:24px;background:#14272d80;box-shadow:0 16px 50px #07131826}
.mission-title{grid-column:1/-1;margin:-32px -40px 0;padding:32px 40px;border-bottom:1px solid #354e55;text-align:center;font-size:clamp(48px,6.4vw,84px);font-weight:550;line-height:1.02;letter-spacing:-.045em;color:var(--daily-text)}
.mission-title em,.debrief-title em{font-style:normal;color:var(--orange)}
.debrief-title{margin:-35px -35px 28px;padding:30px 48px;text-align:center;border-bottom:1px solid #466068;font-size:clamp(36px,4.5vw,52px);line-height:1.06;font-weight:550;letter-spacing:-.045em;color:var(--daily-text)}
/* The portrait sits directly beside its speech, without a surrounding card. */
.chief-portrait{align-self:center}
.chief-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;image-rendering:pixelated}
.chief-speech{position:relative;background:#1b333b;border:1px solid #466068;border-radius:18px;padding:30px 32px;box-shadow:0 8px 24px #06101618}
.chief-speech::before{content:"";position:absolute;left:-9px;top:72px;width:16px;height:16px;background:#1b333b;border-left:1px solid #466068;border-bottom:1px solid #466068;transform:rotate(45deg)}
.chief-speech{font-family:var(--sans,Arial,sans-serif);font-size:22px;font-weight:400;line-height:1.6;color:#dae7dc}
.chief-speech h1,.chief-speech p{font:inherit;letter-spacing:normal;color:inherit;margin:0}
.chief-speech>*+*{margin-top:18px}
.assignment-copy>.chief-speech::before{top:calc(100% - 50px)}
.assignment-actions{margin-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
#readyCase{min-width:150px;min-height:52px;font-size:15px;background:#efbd8b;border-color:#efbd8b;color:#192c30;border-radius:6px;padding:14px 28px}
#readyCase:hover{background:#ffd4a9}
.assignment-status{font:10px/1.6 var(--mono);color:#8fa9ac;min-height:17px;margin:20px 0 0}
.assignment-footer{width:100%;display:flex;justify-content:space-between;gap:20px;padding:24px max(30px,calc((100vw - 1048px)/2));border-top:1px solid #2c424a;font:9px/1.6 var(--mono);letter-spacing:1px;color:#849fa3}
.assignment-footer span:first-child{color:#afc3ba}
.tutorial-speaker{display:grid;grid-template-columns:94px minmax(0,1fr);gap:20px;align-items:start}
.tutorial-chief{display:block;width:94px;height:94px;object-fit:contain;image-rendering:pixelated;border:1px solid #476261;border-radius:8px;background:#13282c;padding:3px}
.chief-result{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:25px}
.chief-result>img{width:150px;height:150px;object-fit:contain;image-rendering:pixelated;background:none;border:0;border-radius:0}
.chief-result .chief-speech{padding:22px 24px}.chief-result .chief-speech::before{top:50%;margin-top:-8px}
.dialog-actions{flex-wrap:wrap}
@media(max-width:780px){
 :root{--briefing-width:560px;--briefing-gutter:16px}
 .assignment-screen{min-height:calc(100dvh - 119px)}
 .assignment{width:calc(100% - 32px);grid-template-columns:1fr;gap:30px;padding:24px;max-width:560px;margin:24px auto;border-radius:20px}
 .chief-portrait{width:clamp(170px,48vw,240px);justify-self:center;margin-left:0}
 .assignment{gap:18px}
 .mission-title{margin:-24px -24px 4px;padding:24px}
 .debrief-title{margin:-34px -22px 24px;padding:28px 42px 24px}
 .assignment-copy>.chief-speech{padding:24px}
 .assignment-copy>.chief-speech::before{left:calc(50% - 8px);top:-9px;transform:rotate(135deg)}
 .assignment-actions{gap:12px}#readyCase{min-width:136px}
 .assignment-footer{padding:20px 24px;flex-wrap:wrap;gap:8px;font-size:8px}
 .tutorial-speaker{grid-template-columns:56px minmax(0,1fr);gap:12px}.tutorial-chief{width:56px;height:56px}
 .chief-result{grid-template-columns:85px minmax(0,1fr);gap:15px}.chief-result>img{width:85px;height:85px}
 .chief-result .chief-speech{padding:16px}
 dialog{padding:34px 22px 24px}.resolved-score{font-size:56px}
}
.masthead .edition{display:block;margin-left:auto}
.site-legal-links{min-height:52px;padding:12px 24px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 24px;font:12px/20px var(--sans,Arial,sans-serif);background:var(--daily-bg)}
.site-legal-links a{color:#a9bfbd;text-decoration:underline;text-underline-offset:4px}
.site-legal-links a:hover{color:#efbd8b}
.site-legal-links a:focus-visible{outline:2px solid #efbd8b;outline-offset:5px;border-radius:2px}
.masthead nav:has(#caseLibrary[hidden]){display:none}
@media(max-width:600px){
 .mission-title{font-size:clamp(46px,12vw,64px)}
 .mission-title span,.mission-title em{display:block}
 .masthead{gap:16px}
 .masthead .edition{max-width:130px;font-size:8px;line-height:1.7;letter-spacing:1px;text-align:right}
 body.playing .masthead .edition{display:none}
}
@media(max-width:480px){
 .chief-result{grid-template-columns:1fr;gap:16px}
 .chief-result>img{width:100px;height:100px;margin-left:16px}
 .chief-result .chief-speech::before{left:44px;top:-9px;margin-top:0;transform:rotate(135deg)}
}

.daily-timing{font:12px/1.6 var(--sans,Arial,sans-serif);color:var(--daily-muted);margin:8px 0 0}
.share-score-text{display:block;box-sizing:border-box;width:100%;min-height:190px;margin:18px 0;padding:16px;border:1px solid #466068;border-radius:8px;background:#14272d;color:#e4ece6;font:16px/1.6 var(--sans,Arial,sans-serif);resize:vertical}

/* The landing page shares one pair of edges from masthead to closing line. */
body:not(.playing) .masthead,
.assignment-footer{
 padding-inline:max(var(--briefing-gutter),calc((100% - var(--briefing-width)) / 2));
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:center;
 column-gap:16px;
}
body:not(.playing) .masthead .brand{justify-self:start}
body:not(.playing) .masthead .edition{
 display:block;
 justify-self:end;
 margin:0;
 text-align:right;
 line-height:1.7;
}
body:not(.playing) .masthead nav:has(#caseLibrary[hidden]){display:none!important}
.assignment-footer span{min-width:0}
.assignment-footer span:last-child{text-align:right}
