@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:dark;--bg:#111e1c;--panel:#1b2b27;--ink:#e8e4d5;--muted:#adb9ad;--gold:#dfbf82;--line:#3b4a3d;--paper:#ece6d4;--paperink:#2d3e34;font-family:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--gold)}button{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:4px;padding:11px 14px;transition:background .15s}button:hover{background:#34473c}button:disabled{opacity:.55;cursor:default}.brandline{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;border-bottom:1px solid var(--line);gap:15px}.wordmark{font-family:'Libre Caslon Display',Georgia,serif;font-size:25px;letter-spacing:.6px}.wordmark small{font:10px 'DM Sans',sans-serif;display:block;color:var(--gold);letter-spacing:3px;margin-bottom:5px}.tools{display:flex;gap:8px}.tools button{font-size:12px}.shell{max-width:1520px;margin:0 auto;padding:32px 4% 22px}.case-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase}.case-line span:first-child{color:var(--gold)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:28px}.roomhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{font:44px/1.05 'Libre Caslon Display',Georgia,serif;margin-bottom:9px}h2{font:32px/1.1 'Libre Caslon Display',Georgia,serif}h3{font:24px 'Libre Caslon Display',Georgia,serif;margin-bottom:12px}.sub{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:12px}.scene{position:relative;border:1px solid #78816a;overflow:hidden;background:#283e32;aspect-ratio:900/560}.scene svg{width:100%;height:100%;display:block}.spot{position:absolute;transform:translate(-50%,-50%);padding:0;border:1px solid #e2c98a;background:#182c24d9;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#f5dda0;font-size:21px;box-shadow:0 0 0 5px #14271d44}.spot.seen{background:#314c3b;color:#d5d8c5;font-size:15px}.spot:hover{background:#51684b}.spot .tip{display:none;position:absolute;bottom:40px;white-space:nowrap;padding:7px 9px;border:1px solid #a49470;background:#142a21;color:#f2e6ce;font-size:12px;pointer-events:none}.spot:hover .tip,.spot:focus-visible .tip{display:block}.scene-caption{padding:11px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.roomnav{display:grid;grid-template-columns:repeat(6,1fr);margin-top:17px;border:1px solid var(--line)}.roomnav button{border:0;border-right:1px solid var(--line);border-radius:0;padding:16px 5px;font-size:11px;color:var(--muted);min-height:66px}.roomnav button:last-child{border:0}.roomnav button.active{color:var(--gold);background:#273b30;box-shadow:inset 0 -2px var(--gold)}.roomnav .num{display:block;font-size:10px;letter-spacing:1px;opacity:.7;margin-bottom:6px}.journal{background:var(--paper);color:var(--paperink);padding:26px 23px;align-self:start;min-height:490px;box-shadow:4px 5px 0 #080f0d}.journal .eyebrow{color:#56623e}.journal p{font-size:13px;line-height:1.8}.journal h2{font-size:31px}.journal hr{border:0;border-top:1px solid #bcc1aa;margin:22px 0}.journal button{color:#2d3e34;border-color:#a6b099;text-align:left;font-size:12px;width:100%;margin:4px 0}.journal button:hover{background:#d8dec8}.journal .quote{font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.7}.portrait{width:52px;height:60px;background:#546b55;color:#f0e3c9;border:3px double #9b9f7e;display:grid;place-items:center;font:23px Georgia,serif;float:left;margin:0 13px 14px 0}.personname{font-family:Georgia,serif;font-size:19px;margin:6px 0}.role{font-size:11px;color:#526049}.count{color:var(--gold);font-size:12px}.bottomline{display:flex;gap:20px;justify-content:space-between;margin-top:25px;font-size:11px;color:var(--muted)}.boardbtn{color:var(--gold);border-color:#8d815d}.detail{border-top:1px solid #b6bca4;padding-top:18px;margin-top:18px}.journal .back{font-size:11px;width:auto;margin:0 0 15px}.feedback{background:#d6ddc7;color:#2d3e34;padding:12px;line-height:1.7;font-size:13px;margin:12px 0}.muted{color:var(--muted)}dialog{background:var(--panel);color:var(--ink);border:1px solid #8f835e;border-radius:5px;width:min(980px,94vw);max-height:90vh;padding:28px;box-shadow:0 20px 120px #000b}dialog::backdrop{background:#07130fd9;backdrop-filter:blur(5px)}.modalhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:18px}.modalhead h2{margin:0}.modalhead button{padding:6px 12px;font-size:20px}.tabs{display:flex;gap:7px;margin-bottom:22px;flex-wrap:wrap}.tabs .active{color:var(--gold);border-color:var(--gold)}.evidencegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.evidence{border:1px solid var(--line);padding:17px;background:#22362d}.evidence h3{font-size:22px;color:var(--gold)}.evidence p{font-size:12px;line-height:1.8;color:#c5cdbf;margin-bottom:0}.deductions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.deduction{border:1px solid var(--line);padding:18px}.deduction.done{border-color:#829268;background:#283d30}.deduction p{font-size:13px;line-height:1.7}.need{font-size:11px;color:var(--muted);margin:10px 0}.deduction button{display:block;font-size:12px;width:100%;margin-top:8px;text-align:left}.need b{color:var(--gold);font-weight:400}textarea{width:100%;min-height:220px;background:#142720;color:var(--ink);border:1px solid #73816c;padding:16px;line-height:1.8;resize:vertical}select{background:#263c30;border:1px solid #849573;color:var(--ink);padding:12px;margin:10px 0;width:100%}.timeline-item{border-left:1px solid var(--gold);padding:0 0 22px 22px;margin-left:5px}.timeline-item strong{font-size:13px;color:var(--gold)}.timeline-item p{font-size:13px;color:var(--muted);margin:6px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:#e4ddc6;color:#26392e;padding:14px 22px;border:1px solid #6d785d;z-index:10;font-size:13px}.endcopy{max-width:620px;margin:auto;font:17px/1.9 Georgia,serif}.endcopy .eyebrow{font-family:'DM Sans',sans-serif}.primary{background:var(--gold);color:#172b21;border-color:var(--gold)}.primary:hover{background:#ecd49f}.mapline{font-size:11px;color:var(--muted);margin-top:14px}.empty{line-height:1.8;color:var(--muted);font-size:14px}.filelabel{display:inline-block;border:1px solid var(--line);padding:11px 14px;border-radius:4px;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1450px){.shell{padding-top:40px}.layout{grid-template-columns:minmax(0,1fr) 355px}.journal{padding:30px}}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.shell{padding:24px 3%}.journal{padding:20px 17px}h1{font-size:36px}.roomnav{grid-template-columns:repeat(3,1fr)}.roomnav button{min-height:54px;padding:10px 4px}}@media(max-width:720px){.brandline{padding:16px 5%;align-items:flex-start}.wordmark{font-size:22px}.wordmark small{font-size:8px}.tools{gap:5px}.tools button{padding:9px;font-size:11px}.shell{padding:20px 4%}.case-line{font-size:9px;letter-spacing:1px}.layout{display:flex;flex-direction:column;gap:24px}.roomhead{align-items:flex-start}h1{font-size:36px}.sub{font-size:12px}.roomhead .boardbtn{padding:11px 9px;white-space:nowrap;font-size:11px}.scene{aspect-ratio:900/620}.scene svg{object-fit:cover}.spot{width:34px;height:34px}.scene-caption{font-size:10px}.roomnav{margin-top:8px}.journal{width:100%;min-height:0;padding:24px}.journal h2{font-size:31px}.evidencegrid,.deductions{grid-template-columns:1fr}dialog{padding:20px;max-height:92vh}.modalhead h2{font-size:28px}.bottomline{font-size:10px}.tools .hintlabel{display:none}.tabs button{font-size:12px;padding:10px}.endcopy{font-size:16px}.spot .tip{max-width:140px;white-space:normal}.roomnav .num{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}} 

@media(max-width:720px){.tools button{min-width:44px;min-height:44px}.spot{width:44px;height:44px}.journal,.roomhead{scroll-margin-top:16px}}
