.edition-switch{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 12px;border:1px dashed #b9b097;border-radius:4px;background:#f3ede0;font:600 13.5px/1.35 var(--sans);color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s}
.edition-switch b{color:var(--red);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.edition-switch:hover{background:#ebe1cb;border-color:var(--red)}
.signs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.sign-card{padding:18px 20px;border:1px solid #c7bfaa;border-top:3px solid var(--ink);background:#fbf8ed;border-radius:3px}
.sign-card h3{font-size:21px;line-height:1.18;letter-spacing:-.035em;margin:6px 0 8px}
.sign-card p{font-size:14px;line-height:1.52;color:var(--muted)}
.faq-block{margin-top:30px}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.faq-card{padding:18px 20px;border:1px solid #c9c2ae;background:#fbf9f0;border-radius:3px}
.faq-card h3{font-size:19.5px;line-height:1.24;letter-spacing:-.03em;margin-bottom:7px}
.faq-card p{font-size:14px;line-height:1.56;color:#4e4e44}
.faq-card a,.dossier-article a:not(.btn){color:var(--red);font-weight:600;text-underline-offset:3px}
.dossier-article{max-width:820px;margin:0 auto;padding:clamp(34px,5vw,64px) 0 56px}
.dossier-article h1{font-size:clamp(38px,4.8vw,62px);line-height:1.03;letter-spacing:-.052em;font-weight:500;margin:16px 0 20px}
.aeo-summary{padding:20px 22px;border:1px solid #bfb8a2;border-left:4px solid var(--red);background:#fbf8ec;border-radius:3px;font-size:16.5px;line-height:1.6;color:#2f3029;margin:20px 0 26px}
.dossier-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 32px}
.dossier-sec{border-top:1px solid var(--rule);padding-top:28px;margin-top:30px}
.article-banner{display:grid;justify-items:center;justify-content:center;gap:8px;margin:32px 0;color:var(--muted)}
.article-banner iframe{display:block;max-width:100vw;border:0}
/* At the smallest phone widths the banner needs the margins outside the paper. */
@media(max-width:362px){.verdict-file:has(.results-banner){overflow:visible}}
.dossier-sec h2{font-size:clamp(26px,2.8vw,36px);line-height:1.12;letter-spacing:-.042em;font-weight:500;margin:6px 0 14px}
.dossier-sec p{font-size:16px;line-height:1.65;color:#3d3e35;margin-top:12px}
.meme-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.meme-card{padding:16px 18px;border:1px solid #c7bfaa;background:#fbf8ed;border-radius:3px}
.meme-card h3{font-size:19px;line-height:1.22;letter-spacing:-.03em;margin:5px 0 7px}
.meme-card p{font-size:14px;line-height:1.54;color:var(--muted);margin:0}
.cta-banner{margin-top:34px;padding:24px 26px;border:1px solid var(--ink);border-top:4px solid var(--red);background:#fbf7e8;box-shadow:3px 4px 0 #dfdace;border-radius:3px}
.cta-banner h2{font-size:clamp(26px,2.8vw,34px);letter-spacing:-.04em;font-weight:500;margin:6px 0 10px}
.cta-banner p{font-size:15.5px;line-height:1.55;color:#494a41;max-width:62ch}
.restart-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:17px}.restart-row .text-link{margin-top:0}
.story-shell{width:min(100%,860px);margin:0 auto}.story-shell>.breadcrumb{margin-bottom:18px}
.story-sheet,.verdict-file,.machine{border:1px solid #aba896;border-radius:3px;box-shadow:3px 4px 0 #ded8c9;overflow:hidden;background:#fdfaf0}
.sheet-head,.sheet-foot,.clue-stats,.machine-rail{display:flex;justify-content:space-between;align-items:center;gap:16px}
.sheet-head{padding:16px clamp(19px,5vw,48px);background:#e9e2cc;border-bottom:1px solid #b8b19a;background-image:repeating-linear-gradient(135deg,transparent 0 7px,#b39b6b0c 7px 8px)}
.sheet-head .eyebrow{color:#585343;font-size:9.5px}.case-name{margin-top:4px;font:italic 26px/1.15 var(--serif);letter-spacing:-.035em}
.hound-tag{flex:none;background:#f8f0d6;color:#664731;display:grid;place-items:center;border:1px solid #a78d6a;border-radius:50%;width:74px;height:46px;transform:rotate(-8deg)}
.hound{width:90%;height:100%}.sheet-body{padding:clamp(22px,4.2vw,46px) clamp(19px,5vw,48px) 28px}
.clue-meter{display:flex;gap:4px}.clue-meter i{width:15px;height:4px;background:#d7d1c1}.clue-meter .filled{background:var(--red)}
.scene-setting{font:clamp(17px,1.7vw,22px)/1.5 var(--serif);color:#504e42;margin:22px 0 13px;max-width:65ch}
.story-sheet .story-question{font:500 clamp(32px,3.8vw,50px)/1.05 var(--serif);letter-spacing:-.05em;max-width:26ch}
.story-sheet .answers{gap:10px;margin-top:24px}.story-sheet .answer{background:#f6f2e6;border-color:#c7bfaa}.story-sheet .answer:hover,.story-sheet .answer:focus-visible{background:#f4e5d6;border-color:var(--red)}
.origin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:24px}
.origin-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:14px;border:1px solid #c7bfaa;border-radius:3px;background:#f6f2e6;min-width:0;transition:background .15s,border-color .15s,transform .15s}
.origin-card:hover,.origin-card:focus-visible{background:#f4e5d6;border-color:var(--red);transform:translateY(-1px)}
.origin-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}
.origin-flag{font-size:22px;line-height:1}
.origin-name{font:600 20px/1.15 var(--serif);letter-spacing:-.03em;color:var(--ink)}
.origin-desk{font:650 9.5px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.origin-tag{font:13px/1.42 var(--sans);color:var(--muted)}
.origin-stamp{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;padding:4px 9px;background:#f1ebda;border:1px solid #d5ccb4;font:650 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#5a4d39}
.sheet-foot{border-top:1px dashed #bdb79f;padding:12px clamp(19px,5vw,48px);font:10px var(--mono);color:#666153;flex-wrap:wrap}.sheet-foot button{min-height:29px}
.machine,.verdict-file{--accent:#edaf83;background:#22271f;color:#fcf7e5}.verdict-file.spy{--accent:#ffab88}.verdict-file.civilian{--accent:#b3dfab}
.machine-rail{text-transform:uppercase;font:650 10px/1.4 var(--mono);letter-spacing:.09em;border-bottom:1px solid #5a6050;padding:17px clamp(16px,4vw,34px);color:#e1e1ce}
.machine{text-align:center;padding-bottom:25px}.scan-screen{margin:26px auto 15px;height:145px;width:min(78%,370px);border:1px solid #6e8164;border-radius:8px;overflow:hidden;position:relative;background:#323d2f;color:#c3e5ab}
.scanner-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 19px,#a4be9222 19px 20px),repeating-linear-gradient(90deg,transparent 0 19px,#a4be9222 19px 20px)}.scan-dog{position:absolute;left:21%;top:12%;width:58%;height:81%}
.scan-beam{position:absolute;left:0;top:0;bottom:0;width:21%;background:linear-gradient(90deg,transparent,#c3e79048);border-right:2px solid #c5dbaf;animation:sweep 1.3s ease-in-out both}
.paper-slip{position:absolute;left:29%;bottom:-2px;width:42%;padding:12px 5px 8px;background:#f7ecce;color:#47382b;box-shadow:1px 2px 5px #2225;transform-origin:bottom;animation:feed .5s 1.15s both cubic-bezier(.2,.7,.3,1)}
.paper-slip span,.paper-slip b{display:block}.paper-slip span{font:8px var(--mono);letter-spacing:.07em}.paper-slip b{font:bold 22px var(--serif);margin-top:5px}
.console-copy{padding:0 12px}.console-copy .eyebrow{color:#c7d8b9}.console-copy h1{font:500 clamp(33px,5vw,60px)/1.1 var(--serif);letter-spacing:-.055em;margin:10px auto}.console-copy>p:last-child,.verdict-sub{color:#e3e0ce;font:16px/1.5 var(--serif)}
.skip-reveal{margin-top:18px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#d5d7c6;font:12px var(--mono);min-height:37px}
.verdict-hero{position:relative;text-align:center;padding:clamp(28px,4.5vw,52px) 14px 32px;background:radial-gradient(ellipse at 50% 0%,#404636,transparent 78%);overflow:hidden}
.seal-label{color:#dad9c4;font-size:9px}.verdict-stamp{position:relative;display:table;max-width:100%;margin:18px auto;color:var(--accent);border:5px double currentColor;padding:.06em .18em .04em;line-height:.98;font-size:clamp(43px,7.8vw,104px);font-family:var(--mono);font-weight:900;letter-spacing:-.07em;transform:rotate(-3deg)}
.ink-dust{pointer-events:none;position:absolute;inset:0;opacity:.28;background:radial-gradient(circle at 18% 47%,var(--accent) 0 2px,transparent 3px),radial-gradient(circle at 22% 33%,var(--accent) 0 1px,transparent 2px),radial-gradient(circle at 78% 55%,var(--accent) 0 2px,transparent 3px),radial-gradient(circle at 84% 37%,var(--accent) 0 1px,transparent 2px)}
.result-paper{border-top:5px double #c9c0a4;color:var(--ink);background:#fcf9ee;padding:clamp(22px,4vw,42px) clamp(19px,5vw,48px)}
.result-paper h2{font:500 clamp(37px,5vw,60px)/1 var(--serif);letter-spacing:-.055em;margin:7px 0}.profile-role{color:var(--muted);font:italic 19px var(--serif)}
.finding{padding:10px 14px;margin:21px 0 0;border-left:3px solid var(--red);background:#f1ebda}.finding .eyebrow{font-size:9px;color:#605440}.finding p{font:19px/1.4 var(--serif);margin:4px 0}
.dispatch-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.dispatch-head span:last-child{font:12px/1.4 var(--sans);color:var(--muted)}
.format-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}
.format-tab{padding:9px 10px;border:1px solid #b9b096;border-radius:3px;background:#f8f4e6;text-align:center;font:650 11px/1.25 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:#524f43;transition:background .15s,border-color .15s,color .15s}
.format-tab small{display:block;margin-top:3px;font:11px/1.2 var(--sans);text-transform:none;letter-spacing:0;color:var(--muted)}
.format-tab:hover{border-color:var(--red);background:#f4e6d8}
.format-tab[aria-pressed="true"]{background:#25261f;border-color:#25261f;color:#fbf7ea}
.format-tab[aria-pressed="true"] small{color:#d8d3c1}
.preview-well{display:grid;place-items:center;padding:8px 0 4px}
.postage-preview{display:block;max-width:100%;height:auto;max-height:620px;width:auto;margin:0 auto;border-radius:3px;background:#faf5e6;box-shadow:0 10px 24px #221f152e,3px 4px 0 #cfc7b0;transform:rotate(-.45deg)}
.postage-preview[data-ratio="square"]{width:min(100%,540px);aspect-ratio:1/1}
.postage-preview[data-ratio="story"]{width:min(100%,348px);aspect-ratio:9/16}
.postage-preview[data-ratio="wide"]{width:min(100%,640px);aspect-ratio:16/9}
.social-grid-label{margin:16px 0 8px;font:650 10px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:#5b5545}
.roast-strip{margin-top:12px;padding:10px 12px;background:#faf6e9;border:1px dashed #b9b097;border-radius:3px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.roast-strip p{font:13px/1.45 var(--sans);color:#3b3a31;min-width:0;overflow-wrap:anywhere}
.roast-copy{flex:none;padding:6px 10px;border:1px solid var(--ink);border-radius:3px;background:#f1ebda;font:650 10.5px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.roast-copy:hover{background:#e6dec8}
.file-trail{border-top:1px solid var(--rule);margin-top:20px;padding-top:12px}.file-trail summary{cursor:pointer;font:13px var(--mono)}.file-trail li{margin:8px 0}.file-trail p{font:14px/1.4 var(--sans);margin-top:4px}
.stamp-in .verdict-stamp{animation:stamp .48s cubic-bezier(.22,.85,.28,1) both}.stamp-in .ink-dust{animation:dust .6s ease-out both}.sheet-body{animation:scene-in .19s ease-out}
@keyframes sweep{0%{transform:translateX(-105%)}100%{transform:translateX(485%)}}
@keyframes feed{from{transform:translateY(105%) rotate(-3deg)}to{transform:translateY(0) rotate(-3deg)}}
@keyframes stamp{0%{opacity:0;transform:scale(1.5) rotate(-13deg)}52%{opacity:1;transform:scale(.93) rotate(-3deg)}76%{transform:scale(1.035) rotate(-3deg)}100%{transform:scale(1) rotate(-3deg)}}
@keyframes dust{0%,37%{opacity:0;transform:scale(.75)}55%{opacity:.8}100%{opacity:.28;transform:scale(1)}}
@keyframes scene-in{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.origin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.signs-grid,.faq-grid,.meme-list{grid-template-columns:1fr}}
@media(max-width:480px){.origin-grid{grid-template-columns:1fr}.format-tabs{grid-template-columns:1fr}.social-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-head{padding:12px 18px}.hound-tag{width:60px;height:38px}.case-name{font-size:22px}.sheet-body{padding:19px 16px}.story-sheet .choice-text{font-size:17px}.story-sheet .answer{gap:9px;padding:10px}.scene-setting{margin-top:17px}.clue-stats{flex-wrap:wrap;gap:8px}.machine-rail{font-size:8px}.sheet-foot{flex-wrap:wrap;font-size:9px;gap:6px}.verdict-stamp{border-width:4px}.postage-preview{transform:none;max-height:520px}.roast-strip{flex-direction:column;align-items:stretch}.roast-copy{width:100%;text-align:center;padding:9px}}
@media(prefers-reduced-motion:reduce){.scan-beam,.paper-slip,.stamp-in .verdict-stamp,.stamp-in .ink-dust,.sheet-body{animation:none}.postage-preview{transform:none}}
.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-card .origin-name{font-size:24px}
.role-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.role-chips span{font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-right:2px}
.role-chips a{padding:7px 13px;border:1px solid #b9b097;border-radius:999px;background:#f3ede0;font:600 14px/1.2 var(--sans);color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s}
.role-chips a:hover,.role-chips a:focus-visible{background:#ebe1cb;border-color:var(--red)}
