:root{--ink:#e8e1cf;--amber:#ffb347;--red:#d7263d;--teal:#3fd0c9;--cork:#6b4a2b;--bg:#0b0d0c;--term:#7dff9a}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 Georgia,"Times New Roman",serif;-webkit-tap-highlight-color:transparent}
.mono,#tlog,input{font-family:"Courier New",ui-monospace,monospace}
#crt{pointer-events:none;position:fixed;inset:0;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);animation:flick 4s infinite}
@keyframes flick{0%,100%{opacity:.55}47%{opacity:.6}48%{opacity:.3}49%{opacity:.62}}
.screen{display:none;padding:12px 12px 90px;max-width:1100px;margin:0 auto}.screen.on{display:block}
#intro{position:relative;min-height:100vh;padding:0;display:none;overflow:hidden}#intro.on{display:flex;align-items:flex-end}
.titlecard{position:absolute;inset:0;background:#111 center/cover;filter:brightness(.45) contrast(1.2) sepia(.3)}
.intro-txt{position:relative;padding:24px 22px 40px;text-shadow:0 2px 8px #000}
h1{font:700 56px/1 "Courier New",monospace;letter-spacing:6px;margin:6px 0;color:var(--amber);text-shadow:0 0 18px rgba(255,179,71,.5)}
h2{margin:0 0 18px;font-weight:400;letter-spacing:3px;text-transform:uppercase;font-size:15px;color:var(--teal)}
h3{font-size:24px;margin:8px 0}.tag{font-style:italic;opacity:.9}.fine{font-size:12px;opacity:.65}
.stamp{display:inline-block;border:3px solid var(--red);color:var(--red);padding:2px 10px;font:700 18px "Courier New";transform:rotate(-6deg);letter-spacing:3px}
.btn{background:#1b1f1d;color:var(--amber);border:1px solid var(--amber);padding:9px 14px;font:700 14px "Courier New",monospace;letter-spacing:1px;border-radius:3px;cursor:pointer}
.btn.big{font-size:18px;padding:14px 22px;margin:14px 0}.btn:disabled{opacity:.35}.btn.on{background:var(--amber);color:#000}
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:rgba(8,9,9,.94);border-bottom:1px solid #2a2a22;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}
.logo{font:700 18px "Courier New";color:var(--amber);letter-spacing:3px}
nav button{background:none;border:0;color:var(--ink);font:14px "Courier New";padding:6px 8px;opacity:.6}nav button.on{opacity:1;color:var(--amber);border-bottom:2px solid var(--amber)}
.brief{background:#151815;border-left:3px solid var(--amber);padding:10px 12px;margin:6px 0 10px;font-size:14px}
.tools{display:flex;gap:10px;align-items:center;margin-bottom:10px}
#board{position:relative;border-radius:6px;padding:16px 10px;min-height:60vh;background:radial-gradient(circle at 20% 30%,rgba(0,0,0,.25) 0 2px,transparent 3px) 0 0/23px 23px,radial-gradient(circle at 70% 60%,rgba(255,220,170,.08) 0 1px,transparent 2px) 0 0/17px 17px,linear-gradient(135deg,#7a5532,var(--cork) 50%,#5a3d22);box-shadow:inset 0 0 60px #000;border:10px solid #3b2714}
#strings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
#strings line{stroke:var(--red);stroke-width:2.5;filter:drop-shadow(0 2px 2px #000)}
#cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px;position:relative}
.card{position:relative;background:#efe6cf;color:#222;padding:10px 10px 12px;border-radius:2px;box-shadow:0 6px 14px rgba(0,0,0,.55);cursor:pointer;transition:transform .15s}
.card:nth-child(3n){transform:rotate(1.6deg)}.card:nth-child(3n+1){transform:rotate(-1.4deg)}.card:nth-child(4n+2){transform:rotate(.7deg)}
.card.sel{outline:3px solid var(--red)}.card .pin{position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff6b6b,#8b0000);z-index:4;box-shadow:0 2px 3px #000}
.card.photo{background:#fafafa;padding:8px 8px 22px}.card.document{background:#f2e3b3}.card.claim{background:#fff6a8}.card.source{background:#dfe9ee}
.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:grayscale(.5) contrast(1.15) sepia(.25)}
.card .ty{font:700 10px "Courier New";letter-spacing:2px;color:#8b0000;text-transform:uppercase}.card .tt{font:700 14px/1.2 "Courier New";margin-top:4px}
.redact{background:#000;color:transparent;border-radius:1px;cursor:pointer;user-select:none}.redact.open{background:rgba(215,38,61,.18);color:inherit}
#modal{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.75);display:flex;align-items:flex-end;justify-content:center}#modal[hidden]{display:none}
.sheet{background:#f1e8d0;color:#1c1c1c;max-width:640px;width:100%;max-height:88vh;overflow:auto;padding:18px 18px 34px;border-radius:10px 10px 0 0;position:relative;font-size:15px}
.sheet img{width:100%;border:6px solid #fff;box-shadow:0 3px 10px #0008;margin:6px 0}.sheet a{color:#8b0000}
.x{position:absolute;right:10px;top:8px;background:none;border:0;font-size:22px}
.quote{border-left:3px solid #8b0000;padding-left:10px;font-style:italic}
#wlist{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}
.wit{flex:0 0 auto;background:#141714;border:1px solid #333;padding:10px;border-radius:4px;color:var(--ink);text-align:left;max-width:240px}.wit.on{border-color:var(--term)}
.wit b{display:block;color:var(--amber);font-family:"Courier New"}.wit small{opacity:.7}
.terminal{background:#020802;border:2px solid #1d3a22;border-radius:12px;padding:12px;box-shadow:inset 0 0 40px rgba(125,255,154,.08),0 0 20px rgba(125,255,154,.06);margin-top:8px}
#tlog{min-height:300px;max-height:52vh;overflow:auto;color:var(--term);font-size:14px;text-shadow:0 0 6px rgba(125,255,154,.6);white-space:pre-wrap}
#tlog .me{color:var(--amber);text-shadow:0 0 6px rgba(255,179,71,.5)}#tlog .sys{opacity:.6}
#ask{display:flex;gap:6px;align-items:center;margin-top:8px}.prompt{color:var(--term)}
#ask input{flex:1;background:#000;border:1px solid #1d3a22;color:var(--term);padding:10px;font-size:16px}
.claim-box{background:#141714;border:1px solid #2c2c24;border-radius:6px;padding:12px;margin:10px 0}
.claim-box .ct{font-size:17px;margin-bottom:8px}.rul{display:flex;gap:6px;flex-wrap:wrap}.rul .btn{flex:1}
.rul .btn[data-r=TRUTH].on{background:#2a9d8f;border-color:#2a9d8f;color:#000}.rul .btn[data-r=CONSPIRACY].on{background:var(--red);border-color:var(--red);color:#fff}
.chips{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.chip{font:12px "Courier New";border:1px dashed #777;background:none;color:var(--ink);padding:4px 7px;border-radius:12px}.chip.on{border:1px solid var(--amber);color:var(--amber)}
#result .score{font:700 44px "Courier New";color:var(--amber)}.ok{color:#5fe0a0}.bad{color:#ff6b6b}
#result canvas{width:100%;max-width:360px;border-radius:8px;margin:10px 0;box-shadow:0 8px 24px #000}
.share{display:flex;gap:8px;flex-wrap:wrap}pre.sharetxt{background:#000;padding:10px;border:1px solid #333;white-space:pre-wrap}
html,body{overflow-x:hidden}.claim-box,.terminal,.screen{overflow-wrap:anywhere}
.rul .btn{min-width:0;padding:9px 4px;font-size:12px}#ask input{min-width:0}nav button{padding:6px 5px;font-size:13px}
@media(max-width:400px){.logo{font-size:15px;letter-spacing:1px}}
#wlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow-x:visible}.wit{max-width:none;min-width:0}
.chip{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere;line-height:1.25}
#intro{min-height:100svh}.card .tt,.card{overflow-wrap:anywhere;min-width:0}
@media(max-width:400px){h1{font-size:48px;letter-spacing:4px}#cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.arch-row{display:flex;flex-direction:column;gap:4px;padding:12px;margin:8px 0;border:1px solid #333;border-left:4px solid var(--teal);color:inherit;text-decoration:none;background:rgba(255,255,255,.03)}
.arch-row.cur{border-left-color:#ffb347}.arch-row .ok{color:#2a9d8f}.arch-row .warn{color:#ffb347}
#arch-btn{margin-top:14px}
#strings path{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 3px 2px #000)}
.card.seen::after{content:"EXAMINED";position:absolute;right:6px;bottom:4px;font:700 9px "Courier New";letter-spacing:2px;color:#8b0000;border:1.5px solid #8b0000;padding:1px 4px;transform:rotate(-8deg);opacity:.75}
#board-stat{margin:-4px 0 10px}
.howto{padding-left:20px;line-height:1.5}.howto li{margin:8px 0}#help-btn{min-width:32px}
