:root{--paper:#F4F1EC;--ink:#111;--bg:#EDE8E0;--line:rgba(17,17,17,.1);--line2:rgba(17,17,17,.24);--mute:rgba(17,17,17,.58);--safe:env(safe-area-inset-bottom,0px);--mono:.18em;--track:-.045em}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;letter-spacing:-.005em}.case-shell{max-width:620px;margin:0 auto;min-height:100svh;padding:0 18px calc(28px + var(--safe))}.topbar{position:sticky;top:0;z-index:20;margin:0 -18px;padding:12px 18px calc(10px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:12px;background:rgba(244,241,236,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.mark{width:30px;height:40px;display:block;flex:0 0 auto}.mark img{width:100%;height:100%;display:block}.topbar div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.topbar span,.label,.progress span,.case-tag{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:var(--mono);text-transform:uppercase;color:var(--mute)}.topbar strong{font-size:15px;letter-spacing:-.02em}.notes{border:1px solid var(--line2);border-radius:999px;min-height:36px;padding:9px 13px;text-decoration:none;color:var(--ink);font:700 12px Inter}.intro{padding:58px 0 44px}.label{margin-bottom:18px}.intro h1{font-size:clamp(64px,17vw,104px);line-height:.86;letter-spacing:var(--track);font-weight:900;margin:0 0 24px}.intro p{font-size:20px;line-height:1.42;color:rgba(17,17,17,.7);margin:0 0 16px}.primary,.secondary,.choice{min-height:50px;border-radius:999px;border:1px solid var(--ink);font:750 15px Inter;padding:0 22px}.primary{background:var(--ink);color:var(--paper);margin-top:14px}.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--line2)}.hidden{display:none!important}.case{padding:18px 0 0}.progress{margin:3px 0 16px}.progress span{display:flex;justify-content:space-between;margin-bottom:9px}.progress i{display:block;height:8px;width:12.5%;background:var(--ink);border-radius:999px}.progress:after{content:'';display:block;height:8px;background:var(--bg);border-radius:999px;margin-top:-8px;position:relative;z-index:-1}.case-card{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden}.case-head{background:var(--bg);padding:22px;border-bottom:1px solid var(--line)}.case-tag{margin-bottom:13px}.case-head h2{font-size:clamp(38px,11vw,60px);line-height:.96;letter-spacing:var(--track);font-weight:900;margin:0 0 14px}.case-head p{font-size:16px;line-height:1.45;color:rgba(17,17,17,.68);margin:0}.artifact{margin:18px 18px 0;padding:18px;background:var(--ink);color:var(--paper);border-radius:18px;white-space:pre-wrap;font:14px/1.55 'JetBrains Mono',monospace;letter-spacing:.01em}.question{padding:20px 18px 18px}.question h3{font-size:25px;line-height:1.05;letter-spacing:-.035em;margin:0 0 14px}.choices{display:grid;gap:10px}.choice{width:100%;border-color:var(--line2);background:var(--paper);text-align:left;border-radius:18px;height:auto;min-height:58px;padding:14px 15px;line-height:1.25;color:var(--ink)}.choice.correct{background:#111;color:var(--paper);border-color:#111}.choice.wrong{background:#fff;border-color:rgba(220,38,38,.55);color:#B91C1C}.reveal{padding:0 18px 20px}.read,.fix{border-radius:18px;padding:16px;margin-top:12px}.read{background:var(--bg)}.fix{background:var(--paper);border:1px solid var(--line)}.read strong,.fix strong{display:block;margin-bottom:7px}.read p,.fix p{margin:0;font-size:15px;line-height:1.45;color:rgba(17,17,17,.72)}.nav-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin:16px 0 0}.report{padding:58px 0 34px}.report h2{font-size:clamp(52px,14vw,86px);line-height:.9;letter-spacing:var(--track);font-weight:900;margin:0 0 18px}.report>p{font-size:19px;line-height:1.45;color:rgba(17,17,17,.7)}.missed{display:grid;gap:10px;margin:22px 0}.missed-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.missed-item strong{display:block;margin-bottom:6px}.missed-item p{margin:0;color:var(--mute);line-height:1.4}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:rgba(244,241,236,.88);backdrop-filter:blur(18px)}.brand{width:34px;height:45px;color:var(--ink);display:block}.brand img{width:100%;height:100%;display:block}.header-meta{display:flex;gap:16px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:var(--mono);color:var(--mute);text-transform:uppercase}.library-shell{max-width:1180px;margin:0 auto;padding:0 28px}.article{max-width:820px;margin:0 auto;padding:36px 0 96px}.article p,.article li{font-size:17px;line-height:1.62;color:rgba(17,17,17,.78)}.article h1{font-size:clamp(48px,8vw,92px);line-height:.96;letter-spacing:-.04em}.article h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.04em;margin-top:64px}.article h3{font-size:32px;letter-spacing:-.035em}.article blockquote{margin:32px 0;padding:22px 26px;background:var(--bg);border-left:4px solid var(--ink)}.article hr{border:0;border-top:1px solid var(--line);margin:48px 0}.article code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:var(--bg);padding:2px 5px;border-radius:4px}@media(min-width:760px){.case-shell{max-width:760px}.intro{padding-top:88px}.intro h1{font-size:110px}.intro p{max-width:610px}.case-head{padding:32px}.case-head h2{font-size:68px}.artifact{margin:24px 24px 0}.question,.reveal{padding-left:24px;padding-right:24px}.choices{grid-template-columns:1fr}.choice{font-size:16px}}@media(max-width:380px){.case-shell{padding-left:14px;padding-right:14px}.topbar{margin-left:-14px;margin-right:-14px}.intro h1{font-size:56px}.case-head h2{font-size:36px}.artifact{font-size:12px}}

/* iPhone polish pass */
.case-card{box-shadow:0 0 0 1px rgba(17,17,17,.02)}
.artifact{position:relative;padding-top:42px;font-size:13px;line-height:1.48;max-height:210px;overflow:auto;-webkit-overflow-scrolling:touch}
.artifact:before{content:'BROKEN ARTIFACT';position:absolute;top:14px;left:18px;font:700 9px/1 'JetBrains Mono',monospace;letter-spacing:.18em;color:rgba(244,241,236,.55)}
.choice{display:flex;align-items:center;gap:10px;position:relative;padding-left:46px}
.choice:before{content:'';position:absolute;left:16px;width:18px;height:18px;border:1.5px solid rgba(17,17,17,.32);border-radius:50%;background:rgba(244,241,236,.7)}
.choice.correct:before{border-color:rgba(244,241,236,.8);background:var(--paper)}
.choice.wrong:before{border-color:#B91C1C;background:rgba(220,38,38,.08)}
.case-head p{font-size:15.5px}.question h3{font-size:24px}.read p,.fix p{font-size:14.5px}
@media(max-width:430px){.intro{padding-top:48px}.intro p{font-size:18px}.case-head{padding:20px}.case-head h2{font-size:clamp(34px,10vw,46px)}.artifact{margin:14px 14px 0;padding:40px 15px 15px;font-size:12.5px;max-height:185px}.question{padding:18px 14px 16px}.choice{min-height:64px;font-size:14px}.reveal{padding-left:14px;padding-right:14px}.read,.fix{padding:14px}.nav-actions{position:sticky;bottom:calc(10px + var(--safe));background:rgba(244,241,236,.88);backdrop-filter:blur(14px);padding:8px;border:1px solid var(--line);border-radius:999px}}
