:root{--ground: #12161c;--surface: #1b212a;--surface-2: #161b22;--line: #2e3642;--line-strong: #3a4350;--text: #ece9e2;--text-2: #c3c7ce;--muted: #a3a9b3;--accent: #e0a43a;--accent-ink: #1a1408;--danger: #b5402f;--danger-text: #f08a78;--ok: #6fbf7e;--paper: #ede6d6;--paper-line: #cfc6b2;--ink: #1e1c18;--ink-2: #3d3830;--ink-muted: #5c564c;--sans: Archivo, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}.screen{min-height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:max(env(safe-area-inset-top),48px) 20px max(env(safe-area-inset-bottom),28px)}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}h1,h2{margin:0}.title-xl{font-size:46px;line-height:1.02;font-weight:800;letter-spacing:-.02em}.title{font-size:22px;font-weight:700}.lede{margin:0;font-size:17px;line-height:1.5;color:var(--text-2);max-width:320px}.spacer{flex-grow:1}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.btn{min-height:54px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;font-size:17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;cursor:pointer;text-decoration:none;color:var(--text);transition:transform .08s ease,opacity .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.btn-sm{min-height:44px;font-size:15px;border-radius:10px;padding:0 14px}.btn-ghost{border-color:transparent}.btn:focus-visible,.field input:focus-visible,.case-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:44px;height:44px;border-radius:22px;border:1px solid var(--line);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field input{height:50px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:16px;padding:0 14px;outline:none}.field input.code{font-family:var(--mono);font-size:20px;letter-spacing:.08em;text-transform:uppercase}.error{background:#2a1714;border:1px solid #5a2a22;color:var(--danger-text);border-radius:10px;padding:12px 14px;font-size:15px}.banner{position:fixed;left:50%;top:max(env(safe-area-inset-top),12px);transform:translate(-50%);background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;padding:8px 14px;font-size:14px;color:var(--text-2);z-index:10}.dossier-wrap{flex-grow:1;display:flex;align-items:center;justify-content:center;min-height:260px}.dossier{width:220px;height:270px;background:var(--paper);transform:rotate(-4deg);box-shadow:0 18px 40px #00000073;padding:22px;display:flex;flex-direction:column;gap:10px;color:var(--ink);position:relative}.dossier .bar{height:8px;background:var(--paper-line)}.stamp{border:3px solid var(--danger);color:var(--danger);font-family:var(--mono);font-weight:600;letter-spacing:.12em;padding:6px 10px;display:inline-block}.dossier .stamp{position:absolute;right:18px;bottom:30px;transform:rotate(-12deg);font-size:15px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.code-card{display:flex;gap:18px;align-items:center}.qr{width:112px;height:112px;border-radius:8px;background:#fff;flex-shrink:0;image-rendering:pixelated}.code-text{font-family:var(--mono);font-size:26px;font-weight:600;color:var(--accent)}.player{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border-radius:12px}.avatar{width:36px;height:36px;border-radius:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#12161c}.player.offline .avatar{opacity:.4}.player .name{flex-grow:1;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{font-size:12px;border-radius:6px;padding:3px 8px}.tag-host{color:var(--accent);border:1px solid #6b5320}.dot{width:8px;height:8px;border-radius:4px;display:inline-block}.waiting{padding:12px 14px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);font-size:15px}.case-card{background:var(--paper);color:var(--ink);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:10px;text-align:left;border:none;cursor:pointer;width:100%}.case-card.selected{box-shadow:0 0 0 3px var(--accent)}.case-card.disabled{background:var(--surface);color:var(--muted);border:1px solid var(--line);cursor:not-allowed}.case-card .kicker{font-family:var(--mono);font-size:11px;color:var(--ink-muted);text-transform:uppercase}.case-card.disabled .kicker{color:var(--muted)}.case-card h2{font-size:21px;font-weight:800}.case-card p{margin:0;font-size:15px;line-height:1.45;color:var(--ink-2)}.case-card .facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--mono);font-size:13px;color:#4a453c}.case-card.disabled .facts{color:var(--muted)}.pill{font-size:12px;font-weight:700;background:var(--ink);color:var(--paper);border-radius:4px;padding:3px 8px}.selected-case{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.label-ink{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ink-muted);text-transform:uppercase}.icon-btn.ghost{border-color:transparent}.icon-btn.sm{width:36px;height:36px;flex-shrink:0}.link{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.field textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:16px;padding:10px 14px;resize:vertical;outline:none;font-family:var(--sans)}.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card .field input{background:var(--surface-2)}.btn-danger{border-color:var(--danger);color:var(--danger-text);font-weight:700}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff4f1;font-weight:700}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-selected{background:#2a1714;border-color:#7a3a2f;color:var(--danger-text)}.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 4px #b5402f59}}.stamp-sm{font-size:11px;padding:3px 7px;border-width:2px;transform:rotate(8deg);letter-spacing:.1em}.stamp-lg{font-size:24px;padding:8px 16px;border-width:4px;transform:rotate(-5deg);letter-spacing:.16em}.game{min-height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column}.game-head{position:sticky;top:0;z-index:5;background:var(--ground);padding:max(env(safe-area-inset-top),40px) 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #232a34}.game-body{flex-grow:1;padding:16px 20px 110px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #232a34;background:var(--surface-2);padding:6px 6px max(env(safe-area-inset-bottom),10px)}.tab{position:relative;background:none;border:none;color:var(--muted);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;min-height:56px;cursor:pointer}.tab.active{color:var(--accent);font-weight:600}.badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.vote-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0;border:none;width:100%;background:#2a2416;color:var(--accent);padding:12px 20px;font-size:14px;cursor:pointer;text-align:left}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(max(env(safe-area-inset-bottom),10px) + 80px);z-index:30;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:440px;pointer-events:none}.toast{background:#232a34;border:1px solid var(--line-strong);color:var(--text);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.35;box-shadow:0 10px 24px #0006;animation:toast-in .2s ease-out}.toast-error{background:#2a1714;border-color:#5a2a22;color:var(--danger-text)}.toast-result{border-color:var(--ok)}.toast-proposal{border-color:var(--accent)}.toast-evidence{border-color:#5b8db8}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--ground);display:flex;flex-direction:column;max-width:480px;margin:0 auto;animation:sheet-in .18s ease-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}.sheet-head{display:flex;align-items:center;gap:8px;padding:max(env(safe-area-inset-top),36px) 12px 12px;border-bottom:1px solid #232a34}.sheet-body{flex-grow:1;overflow-y:auto;padding:16px 20px 24px;-webkit-overflow-scrolling:touch}.sheet-foot{padding:12px 20px max(env(safe-area-inset-bottom),16px);border-top:1px solid #232a34;background:var(--surface-2)}.status-line{font-size:13px;color:var(--muted)}.status-line.is-shared{color:var(--ok)}.paper{background:var(--paper);color:var(--ink);border-radius:4px;padding:18px;box-shadow:0 8px 24px #0000004d}.paper.briefing{display:flex;flex-direction:column;gap:14px;padding:20px}.md{display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.55;color:#2a2620}.md-p{margin:0}.md strong{color:var(--ink)}.md code{font-family:var(--mono);font-size:13px;background:#e2d9c4;padding:1px 4px;border-radius:3px}.md-pre{margin:0;background:var(--ink);color:#c9e3b9;font-family:var(--mono);font-size:12px;line-height:1.7;padding:12px;border-radius:3px;overflow-x:auto;white-space:pre}.md-table-wrap{overflow-x:auto;margin:0 -4px}.md-table{border-collapse:collapse;width:100%;font-size:14px}.md-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:2px solid var(--ink);padding:6px 8px}.md-table td{border-bottom:1px solid var(--paper-line);padding:8px;vertical-align:top}.md-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.photo{margin:0;background:#2b333d;color:#c3c7ce;border-radius:4px;padding:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;border:1px dashed #4a5563}.photo figcaption{font-size:14px;line-height:1.45;font-style:italic}.evidence{background:var(--paper);color:var(--ink);border-radius:4px;overflow:hidden}.evidence-main{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:none;border:none;padding:16px 16px 10px;color:inherit;cursor:pointer}.evidence-title{font-size:17px;font-weight:700}.evidence-snippet{font-size:14px;line-height:1.4;color:#4a453c}.evidence-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 12px 16px;min-height:44px}.shared-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#2f7a3e}.private-tag{font-size:13px;color:var(--ink-muted)}.hint-box{display:flex;gap:10px;align-items:center;padding:14px 16px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);font-size:14px;line-height:1.4}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border-radius:10px;padding:4px;gap:4px}.segmented button{min-height:38px;border:none;border-radius:7px;background:transparent;color:var(--text-2);font-size:13px;cursor:pointer}.segmented button.on{background:var(--text);color:var(--ground);font-weight:600}.holdings{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}.holdings .avatar{font-size:10px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{display:grid;grid-template-columns:56px 14px 1fr 36px;gap:10px;align-items:start;padding-bottom:12px;position:relative}.timeline li:before{content:"";position:absolute;left:72px;top:0;bottom:0;width:2px;background:var(--line)}.tl-time{font-family:var(--mono);font-size:13px;color:var(--accent);padding-top:12px}.tl-dot{width:12px;height:12px;border-radius:6px;background:var(--accent);margin-top:14px;position:relative;z-index:1}.tl-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sticky{background:#e8d27a;color:#2a2410;border-radius:2px;padding:12px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;box-shadow:0 6px 14px #00000059;min-height:110px;word-break:break-word}.budget{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.budget span{height:8px;border-radius:4px;background:var(--accent)}.budget span.spent{background:var(--line-strong)}.proposal{background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.category{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.category-head{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 16px;background:none;border:none;color:var(--text);font-size:16px;font-weight:600;cursor:pointer}.request-option{display:block;width:100%;text-align:left;background:var(--surface-2);border:none;border-top:1px solid var(--line);color:var(--text);padding:14px 16px;font-size:15px;line-height:1.35;cursor:pointer;min-height:48px}.request-option:disabled{color:var(--muted);cursor:not-allowed}.used{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--surface);border-radius:10px}.hint{background:#2a2416;border:1px solid #6b5320;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.option{min-height:48px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:15px;text-align:left;padding:10px 14px;line-height:1.35;cursor:pointer}.option.chosen{border:2px solid var(--accent);background:#2a2416;font-weight:600;padding:9px 13px}.option.right{border:2px solid var(--ok);background:#16261a;padding:9px 13px}.option.wrong{border:2px solid var(--danger);background:#2a1714;padding:9px 13px}.option:disabled{cursor:default}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid .option{text-align:center}.person{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:var(--surface);border-radius:10px}.role-card{background:var(--paper);color:var(--ink);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px #0006}.rules{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.45;color:var(--text-2)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-chip{display:flex;gap:10px;align-items:center;background:var(--surface);border-radius:10px;padding:10px;min-width:0}.team-chip.me{box-shadow:inset 0 0 0 1px var(--accent)}.mission{background:var(--surface);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px}.approvals{display:flex;align-items:center;gap:12px}.approvals .avatar{border:2px solid var(--surface-2)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tile{background:var(--surface);border-radius:10px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.tile-num{font-family:var(--mono);font-size:20px;font-weight:600;color:var(--text)}.answer{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:10px;padding:12px 14px}.answer-mark{width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.answer.ok .answer-mark{background:#1f3a25;color:var(--ok)}.answer.bad .answer-mark{background:#3a1e19;color:var(--danger-text)}.truth{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.truth li{display:grid;grid-template-columns:52px 1fr;gap:10px;background:var(--surface);border-radius:8px;padding:10px 12px}.ability-card{background:var(--paper);color:var(--ink);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:10px}.uses{display:flex;gap:6px;padding-top:4px}.uses span{width:14px;height:14px;border-radius:7px;background:var(--accent);border:2px solid var(--ink)}.uses span.spent{background:transparent;border-color:var(--paper-line)}.pick{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;min-height:56px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:15px;cursor:pointer;line-height:1.35}.pick.on{border:2px solid var(--accent);background:#2a2416;padding:11px 13px}.pick:disabled{opacity:.55;cursor:default}.pick-done{font-size:12px;color:var(--ok);font-weight:600}.sticky-action{position:sticky;bottom:96px;padding-top:8px;background:linear-gradient(transparent,var(--ground) 30%)}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type-card{display:flex;flex-direction:column;gap:4px;text-align:left;min-height:72px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:15px;cursor:pointer}.request-option{display:flex;gap:8px;align-items:center}.evidence-image{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in;border-radius:4px;overflow:hidden}.evidence-image img{display:block;width:100%;height:auto}.image-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#000000eb;border:none;padding:12px;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.image-zoom img{max-width:100%;max-height:100%}.photo-loading{min-height:180px;justify-content:center;align-items:center;font-size:14px}.tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}.tab{font-size:11px}
