:root{--ink:#120f0a;--paper:#efe8d8;--paper-dim:#dcd2b8;--stamp:#7a1f2b;--stamp-dim:#591620;--gold:#b08d4f;--gold-dim:#8a6c39;--cleared:#4e6b47;--cleared-dim:#37502f;--muted:#8a8270;--serif:"Fraunces", serif;--sans:"Bricolage Grotesque", sans-serif;--mono:"IBM Plex Mono", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--paper);font-family:var(--sans);min-height:100vh;position:relative}body:before{content:"";opacity:.05;mix-blend-mode:overlay;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button{font-family:inherit}@keyframes enter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.enter{animation:enter-up .26s var(--ease-out) both}.enter-1{animation-delay:0s}.enter-2{animation-delay:40ms}.enter-3{animation-delay:80ms}.enter-4{animation-delay:.12s}.enter-5{animation-delay:.16s}.enter-6{animation-delay:.2s}.wrap{z-index:1;max-width:1160px;margin:0 auto;padding:40px 32px 80px;position:relative}.layout{display:block}.side-col{display:none}@media (width>=900px){.layout{grid-template-columns:1fr 300px;align-items:start;gap:44px;display:grid}.side-col{display:block;position:sticky;top:40px}}.icon-btn{border:1.5px solid var(--paper-dim);background:var(--ink);width:38px;height:38px;color:var(--paper);cursor:pointer;transition:transform .14s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn svg{width:18px;height:18px}@media (hover:hover) and (pointer:fine){.icon-btn:hover{transform:translateY(-2px)}}.icon-btn:active{transform:scale(.94)}.icon-btn .badge{background:var(--stamp);min-width:16px;height:16px;color:var(--paper);font-family:var(--mono);border-radius:8px;justify-content:center;align-items:center;padding:0 3px;font-size:9.5px;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.profile-trigger:before{content:"";background:var(--gold);clip-path:circle(50%);width:16px;height:16px;margin:auto;position:absolute;inset:0;-webkit-mask:radial-gradient(5px at 8px 6px,#0000 98%,#000 100%);mask:radial-gradient(5px at 8px 6px,#0000 98%,#000 100%)}@media (width>=900px){.profile-trigger{display:none}}@media (width<=640px){.wrap{padding:28px 18px 56px}.topline{margin-bottom:var(--sp-5)}.deck{padding:7px 14px;font-size:13px}.tabs{margin-bottom:var(--sp-5);gap:10px}.tab{padding:9px 14px 11px;font-size:11px}.panel{max-width:100%;padding:24px 20px}.board{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 12px}.provenance{letter-spacing:.06em;font-size:9px}}.profile-card{padding:20px 18px;transform:rotate(-1deg)}.profile-card .p-name{font-family:var(--serif);margin-bottom:2px;font-size:19px;font-weight:700}.profile-card .p-title{font-family:var(--mono);color:var(--stamp-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;font-size:10px}.profile-card .p-balance{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1}.profile-card .p-balance-unit{color:var(--muted);margin-left:3px;font-size:14px;font-weight:500}.profile-card .p-stats{border-top:1px dashed var(--paper-dim);grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 4px;padding-top:14px;display:grid}.p-stat-val{font-family:var(--mono);font-size:15px;font-weight:600}.p-stat-lbl{font-family:var(--mono);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.overlay-backdrop{z-index:50;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out);background:#120f0adb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay-backdrop.open{opacity:1;pointer-events:auto}.profile-full{width:100%;max-width:420px;max-height:86vh;padding:32px 28px;overflow-y:auto;transform:rotate(-.4deg)}.profile-full .close-x{float:right;font-family:var(--mono);color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px}.profile-full .close-x:hover{color:var(--ink)}.profile-full .p-stats-full{border-top:1px dashed var(--paper-dim);border-bottom:1px dashed var(--paper-dim);grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;padding:18px 0;display:grid}.profile-full .p-stats-full .stat-val{font-family:var(--serif);font-size:22px;font-weight:700}.profile-full .p-stats-full .stat-lbl{font-family:var(--mono);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-size:9.5px}.game-breakdown{font-family:var(--mono);margin:14px 0;font-size:11.5px}.game-breakdown-row{border-bottom:1px solid var(--paper-dim);justify-content:space-between;padding:6px 0;display:flex}.stake-input-row{border:1.5px solid var(--ink);margin:var(--sp-3) 0 var(--sp-5);align-items:center;display:flex}.stake-input-row input{font-family:var(--serif);color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 4px 12px 16px;font-size:22px;font-weight:700}.stake-input-row .unit{font-family:var(--mono);color:var(--muted);padding-right:16px;font-size:12px}.chip-row{margin:var(--sp-3) 0 var(--sp-5);flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--mono);letter-spacing:.03em;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;transition:background .12s var(--ease-out);background:0 0;padding:8px 14px;font-size:11.5px}.chip.active{background:var(--ink);color:var(--paper)}@media (hover:hover) and (pointer:fine){.chip:hover:not(.active){background:var(--paper-dim)}}.custom-timer-row{gap:8px;margin-top:8px;display:flex}.custom-timer-row input{border:1.5px solid var(--ink);width:80px;font-family:var(--mono);color:var(--ink);background:0 0;padding:8px;font-size:13px}.custom-timer-row select{border:1.5px solid var(--ink);background:var(--paper);font-family:var(--mono);color:var(--ink);padding:8px;font-size:13px}.share-hero{text-align:center;padding:6px 0 4px}.share-hero .big-link{font-family:var(--mono);border:1.5px dashed var(--stamp-dim);word-break:break-all;margin:16px 0;padding:14px;font-size:14px}.share-actions{flex-direction:column;gap:10px;display:flex}.status-banner{border:1.5px solid var(--ink);margin:var(--sp-4) 0;font-family:var(--mono);padding:14px 16px;font-size:12px;line-height:1.6}.status-banner.urgent{border-color:var(--stamp);color:var(--stamp-dim);background:#7a1f2b0f;font-weight:600}.status-banner .countdown{font-weight:700;font-family:var(--serif);font-size:15px;font-style:italic}.status-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.status-dot{background:var(--cleared);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.pending{background:var(--muted)}.status-dot.urgent{background:var(--stamp)}.mycases-full{width:100%;max-width:520px;max-height:86vh;padding:30px 26px;overflow-y:auto}.mycase-row{border:1.5px solid var(--ink);margin-bottom:10px;padding:14px 16px}.mycase-row.needs-action{border-color:var(--stamp);background:#7a1f2b0d}.mycase-top{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.mycase-game{font-family:var(--serif);font-size:16px;font-weight:700}.mycase-stake{font-family:var(--mono);color:var(--muted);font-size:12px}.mycase-status{font-family:var(--mono);color:var(--muted);margin-bottom:8px;font-size:11px}.mycase-status.urgent{color:var(--stamp-dim);font-weight:600}.mycases-empty{font-family:var(--mono);color:var(--muted);text-align:center;padding:30px 0;font-size:12px}.mycases-section-label{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:18px 0 8px;font-size:10px}.mycases-section-label:first-child{margin-top:0}.topline{margin-bottom:var(--sp-6)}.title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.header-btns{flex-shrink:0;gap:10px;margin-top:6px;display:flex}.masthead{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:16px;margin:0 0 10px;font-size:clamp(48px,8vw,92px);font-style:italic;font-weight:900;line-height:.88;display:flex}.masthead-icon{border-radius:14%;flex-shrink:0;width:.72em;height:.72em}.deck{background:var(--paper);color:var(--ink);font-family:var(--sans);box-shadow:4px 4px 0 var(--stamp-dim);clip-path:polygon(0% 4%,3% 0%,97% 2%,100% 8%,99% 92%,96% 100%,2% 98%,0% 90%);padding:9px 18px;font-size:15px;font-style:italic;font-weight:500;display:inline-block;transform:rotate(-1.4deg)}.tabs{margin-bottom:var(--sp-6);flex-wrap:wrap;gap:16px;display:flex}.tab{font-family:var(--mono);letter-spacing:.07em;background:var(--ink);color:var(--paper);border:1.5px solid var(--paper-dim);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 6px 0 0 var(--stamp-dim);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);padding:11px 20px 13px;font-size:12px;transform:translateY(0)}.tab:first-child{transform:rotate(-1.5deg)}.tab:nth-child(2){transform:rotate(1deg)}.tab:nth-child(3){transform:rotate(-.8deg)}.tab:nth-child(4){transform:rotate(1.2deg)}.tab.active{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:0 6px 0 0 var(--gold)}@media (hover:hover) and (pointer:fine){.tab:hover{transform:rotate(0)translateY(-2px)}}.tab:active{box-shadow:0 1px 0 0 var(--stamp-dim);transition-duration:80ms;transform:rotate(0)translateY(5px)scale(.98)}.tab.active:active{box-shadow:0 1px 0 0 var(--gold)}.provenance{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin:-10px 0 var(--sp-6);border-top:1px solid #efe8d81f;align-items:center;gap:10px;padding-top:14px;font-size:10px;display:flex}.provenance .sep{color:var(--stamp-dim)}.section-label{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:var(--sp-4);font-size:11px}.btn3{font-family:var(--mono);letter-spacing:.05em;background:var(--ink);color:var(--paper);border:1.5px solid var(--paper-dim);cursor:pointer;box-shadow:0 6px 0 0 var(--gold-dim);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);padding:14px 22px;font-size:13px;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.btn3:hover:not(:disabled){transform:translateY(-2px)}}.btn3:active:not(:disabled){box-shadow:0 1px 0 0 var(--gold-dim);transition-duration:.1s;transform:translateY(5px)scale(.98)}.btn3:disabled{opacity:.35;cursor:not-allowed;box-shadow:0 6px 0 0 var(--line,#3a362c)}.btn3.outline{color:var(--ink);border:1.5px solid var(--ink);box-shadow:0 6px 0 0 var(--stamp-dim);background:0 0;font-weight:600}.btn3.outline:active:not(:disabled){box-shadow:0 1px 0 0 var(--stamp-dim)}.btn3.wide{text-align:center;width:100%}.btn3.small{padding:9px 16px;font-size:11.5px}.torn{background:var(--paper);color:var(--ink);clip-path:polygon(0% 3%,2% 0%,98% 1%,100% 5%,99% 97%,97% 100%,3% 99%,0% 94%);box-shadow:5px 5px 0 var(--ink)}.board{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:26px 20px;display:grid}.case-card{transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);padding:22px 18px 18px;position:relative}.case-card:nth-child(3n+1){transform:rotate(-2.2deg)}.case-card:nth-child(3n+2){transform:rotate(1.4deg)}.case-card:nth-child(3n+3){transform:rotate(-.9deg)}@media (hover:hover) and (pointer:fine){.case-card:hover{box-shadow:6px 8px 0 var(--ink);transform:rotate(0)translateY(-4px)}}.pin{background:var(--gold);border-radius:50%;width:13px;height:13px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.stake-big{font-family:var(--serif);font-size:32px;font-weight:700;line-height:1}.stake-unit{color:var(--muted);margin-left:3px;font-size:15px;font-weight:500}.case-sub{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:10px;font-size:10px}.create-card{border:2px dashed var(--paper-dim);color:var(--paper);text-align:center;cursor:pointer;clip-path:none;min-height:150px;transition:background .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(.8deg)}@media (hover:hover) and (pointer:fine){.create-card:hover{background:#efe8d80d;transform:rotate(0)translateY(-2px)}}.create-card:active{transition-duration:.1s;transform:rotate(0)scale(.98)}.create-card .plus{font-family:var(--serif);font-size:34px;font-style:italic}.create-card .lbl{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:6px;font-size:11px}.panel{max-width:560px;padding:34px 30px;transform:rotate(-.6deg)}.panel-title{font-family:var(--serif);margin:0 0 4px;font-size:26px;font-weight:700}.panel-hint{font-family:var(--mono);color:var(--muted);margin-top:var(--sp-4);font-size:11px;line-height:1.6}.back-link{font-family:var(--mono);letter-spacing:.05em;color:var(--stamp-dim);cursor:pointer;margin-bottom:var(--sp-4);background:0 0;border:none;padding:0;font-size:10.5px}.back-link:hover{color:var(--stamp)}.stake-row{margin:var(--sp-4) 0 var(--sp-5);gap:10px;display:flex}.stake-opt{font-family:var(--mono);text-align:center;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;transition:background .14s var(--ease-out), transform .1s var(--ease-out);background:0 0;flex:1;padding:12px 8px;font-size:14px}.stake-opt.active{background:var(--ink);color:var(--paper)}@media (hover:hover) and (pointer:fine){.stake-opt:hover:not(.active){background:var(--paper-dim)}}.stake-opt:active{transform:scale(.96)}.link-box{align-items:center;gap:var(--sp-2);border:1.5px dashed var(--stamp-dim);padding:var(--sp-3);margin-top:var(--sp-4);display:flex}.link-box code{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.pulse-wrap{padding:var(--sp-6) 0 var(--sp-4);flex-direction:column;align-items:center;display:flex}.pulse-dot{background:var(--stamp);border-radius:50%;width:10px;height:10px;margin-bottom:16px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.waiting-msg{font-family:var(--mono);text-align:center;font-size:13px;line-height:1.6}.tiles{margin:var(--sp-4) 0 var(--sp-5);gap:12px;display:grid}.tiles.c3{grid-template-columns:repeat(3,1fr)}.tiles.c2{grid-template-columns:repeat(2,1fr)}.tile{aspect-ratio:1;border:1.5px solid var(--ink);cursor:pointer;transition:background .14s var(--ease-out), transform .14s var(--ease-out);text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex}@media (hover:hover) and (pointer:fine){.tile:hover{background:var(--paper-dim);transform:translateY(-2px)}}.tile:active{transition-duration:.1s;transform:scale(.96)}.tile.picked{background:var(--ink);color:var(--paper)}.tile .glyph{justify-content:center;align-items:center;font-size:26px;display:flex}.tile .glyph svg{width:46px;height:46px}.tile .label{font-family:var(--mono);letter-spacing:.08em;font-size:10px}.tile .sub{font-family:var(--mono);color:var(--muted);margin-top:-2px;font-size:9px}.tile.picked .sub{color:var(--paper-dim)}.parties{margin:var(--sp-4) 0;grid-template-columns:1fr 1fr;gap:14px;display:grid}.party{border:1.5px solid var(--ink);text-align:center;padding:14px 12px}.party .who{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:10px}.redaction{background:repeating-linear-gradient(45deg,var(--ink),var(--ink) 6px,#2a2214 6px,#2a2214 12px);justify-content:center;align-items:center;height:34px;display:flex}.redaction .lockglyph{color:var(--paper);opacity:.85;font-size:13px;font-family:var(--mono);letter-spacing:.05em}.reveal-glyph{animation:flip-in .32s var(--ease-out);justify-content:center;align-items:center;font-size:32px;display:flex}.reveal-glyph svg{width:52px;height:52px}@keyframes flip-in{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.stamp-zone{padding:var(--sp-5) 0 var(--sp-2);justify-content:center;align-items:center;display:flex}.stamp{font-family:var(--serif);letter-spacing:.01em;border:5px solid var(--gold);color:var(--gold);opacity:0;animation:stamp-down .34s var(--ease-out) forwards;text-align:center;box-shadow:5px 5px 0 var(--gold-dim);padding:12px 26px;font-size:26px;font-style:italic;font-weight:900;transform:rotate(-4deg)scale(.7)}.stamp.lose{border-color:var(--stamp);color:var(--stamp);box-shadow:5px 5px 0 var(--stamp-dim)}.stamp.tie{border-color:var(--muted);color:var(--muted);box-shadow:5px 5px 0 var(--ink)}@keyframes stamp-down{0%{opacity:0;transform:rotate(-4deg)scale(2)}70%{opacity:1;transform:rotate(-4deg)scale(.94)}to{opacity:1;transform:rotate(-4deg)scale(1)}}.result-line{font-family:var(--mono);text-align:center;margin-top:var(--sp-3);font-size:12.5px;line-height:1.7}.result-line b{color:var(--stamp-dim)}.your-card{padding:var(--sp-5) 0 var(--sp-2);flex-direction:column;align-items:center;display:flex}.playing-card{border:2px solid var(--ink);width:92px;height:126px;font-family:var(--serif);background:var(--paper);box-shadow:4px 4px 0 var(--ink);border-radius:6px;justify-content:center;align-items:center;margin-bottom:10px;font-size:38px;font-weight:700;display:flex}.card-caption{font-family:var(--mono);color:var(--muted);letter-spacing:.05em;font-size:11px}.pot-strip{font-family:var(--mono);color:var(--muted);border-top:1px dashed var(--paper-dim);border-bottom:1px dashed var(--paper-dim);margin:var(--sp-4) 0;justify-content:space-between;padding:10px 2px;font-size:11px;display:flex}.pot-strip b{color:var(--ink)}.bet-log{font-family:var(--mono);margin-bottom:var(--sp-3);font-size:11.5px;line-height:2}.bet-log .them{color:var(--stamp-dim)}.btn-row{gap:10px;display:flex}.btn-row .btn3{flex:1}.assassin-wrap{align-items:center;gap:var(--sp-4);flex-direction:column;display:flex}.role-tag{font-family:var(--mono);letter-spacing:.1em;border:1.5px solid var(--ink);text-transform:uppercase;padding:6px 14px;font-size:11px}.grid16{grid-template-columns:repeat(4,1fr);gap:6px;width:min(100%,280px);display:grid}.gtile{aspect-ratio:1;background:var(--ink);border:1.5px solid var(--paper-dim);color:var(--paper);font-family:var(--mono);cursor:pointer;transition:background .12s var(--ease-out), transform .1s var(--ease-out);font-size:11px}@media (hover:hover) and (pointer:fine){.gtile:hover{background:#241e13}}.gtile:active{transform:scale(.9)}.gtile.picked{background:var(--gold);color:var(--ink);border-color:var(--gold);animation:tile-pick .22s var(--ease-out)}@media (hover:hover) and (pointer:fine){.gtile.picked:hover{background:var(--gold)}}@keyframes tile-pick{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.gtile.mark-a{background:var(--stamp);color:var(--paper);border-color:var(--stamp)}.gtile.mark-t{background:var(--gold);color:var(--ink);border-color:var(--gold)}.gtile.mark-both{background:repeating-linear-gradient(45deg,var(--stamp),var(--stamp) 6px,var(--gold) 6px,var(--gold) 12px);color:var(--paper);border-color:var(--ink)}.pick-counter{font-family:var(--mono);color:var(--muted);font-size:11px}.grid-legend{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:16px;font-size:10px;display:flex}.grid-legend span{align-items:center;gap:5px;display:inline-flex}.legend-swatch{width:10px;height:10px;display:inline-block}.ic{vertical-align:middle;flex-shrink:0;display:inline-flex}.ic svg{width:100%;height:100%;display:block}.tab .ic{margin-right:2px}
