:root{--paper: #f4ead2;--paper-2: #eadfc1;--paper-3: #dfd2ae;--ink: #1b1a1f;--ink-soft: #5b5660;--blue: #2b4fb8;--blue-soft: rgba(43, 79, 184, .16);--orange: #ff5f1f;--orange-soft: rgba(255, 95, 31, .2);--red: #e63b2e;--red-soft: rgba(230, 59, 46, .14);--shadow: 4px 4px 0 var(--ink);--shadow-sm: 3px 3px 0 var(--ink);--radius: 6px;--font-display: "Alfa Slab One", "Rockwell", "Georgia", serif;--font-body: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Space Mono", ui-monospace, "Courier New", monospace;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.11 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.app{max-width:540px;margin:0 auto;padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;min-height:100vh;min-height:100dvh}.screen{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}h1,h2,h3{margin:0 0 8px;line-height:1.1;font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em}h2{font-size:1.15rem;display:inline-block;background:linear-gradient(transparent 62%,var(--orange-soft) 62%);padding-right:4px}p{margin:0 0 8px;line-height:1.4}b{font-weight:700}.card{background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;position:relative}.card.inset{background:var(--paper-2);box-shadow:none;border-style:dashed}button{font-family:var(--font-body);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 16px;min-height:46px;cursor:pointer;touch-action:manipulation;transition:transform .06s ease-out,box-shadow .06s ease-out;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}button:disabled{cursor:default;color:var(--ink-soft);background:var(--paper-2);border-style:dashed;box-shadow:none}button.primary,button.gold{background:var(--orange)}button.danger{background:var(--red);color:var(--paper)}button.big{width:100%;font-size:1.1rem;min-height:54px}button.small{min-height:34px;padding:4px 10px;font-size:.78rem;box-shadow:2px 2px 0 var(--ink);border-width:2px}button.small:active:not(:disabled){transform:translate(2px,2px)}button.ghost{background:transparent;border-color:transparent;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:500;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;color:var(--blue)}button.ghost:active:not(:disabled){transform:none}input{font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--paper-2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:10px 12px;min-height:46px;width:100%;box-shadow:inset 2px 2px #1b1a1f1f}input:focus{outline:3px solid var(--blue);outline-offset:2px}input::placeholder{color:var(--ink-soft)}label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:14px}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.tiny{font-size:.72rem}.mono{font-family:var(--font-mono)}.center{text-align:center}.pos{color:var(--blue)}.neg{color:var(--red)}.accent{color:var(--orange)}.riso{display:inline-block;vertical-align:middle;flex-shrink:0}.riso-fill{mix-blend-mode:multiply}.home{display:flex;flex-direction:column;gap:16px;padding-top:18px}.masthead{text-align:center;padding:10px 0 4px}.masthead .line{font-family:var(--font-display);font-size:clamp(2.3rem,11vw,3.4rem);line-height:.95;text-transform:uppercase;color:var(--ink);text-shadow:3px 3px 0 var(--orange);letter-spacing:.01em}.masthead .n{display:inline-grid;place-items:center;font-family:var(--font-display);font-size:1.5rem;width:2.4rem;height:2.4rem;margin:6px 0;background:var(--orange);color:var(--ink);border:3px solid var(--ink);border-radius:50%;transform:rotate(-10deg);box-shadow:var(--shadow-sm);text-shadow:none}.masthead .sub{font-family:var(--font-mono);font-weight:700;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--blue);margin-top:12px}.hero{display:flex;justify-content:center;align-items:flex-end;gap:6px;margin:4px 0 2px}.hero .riso{width:68px;height:68px}.hero .riso:nth-child(1){transform:rotate(-8deg) translateY(4px)}.hero .riso:nth-child(2){width:84px;height:84px}.hero .riso:nth-child(3){transform:rotate(9deg) translateY(4px)}.code-input{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.35em;font-weight:700;font-size:1.3rem;text-align:center}.divider{text-align:center;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:12px}.divider:before,.divider:after{content:"";flex:1;border-top:2px dashed var(--ink-soft)}.rules summary{cursor:pointer;font-family:var(--font-display);text-transform:uppercase;font-size:1rem;list-style:none;display:flex;justify-content:space-between;align-items:center}.rules summary:after{content:"+";font-family:var(--font-mono);font-size:1.3rem}.rules[open] summary:after{content:"–"}.rules ul{padding-left:18px;margin:10px 0 0}.rules li{margin-bottom:8px;font-size:.92rem;line-height:1.4}.rules li::marker{color:var(--orange);font-weight:700}.ticket{text-align:center;background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 16px;position:relative;overflow:hidden}.ticket:before,.ticket:after{content:"";position:absolute;top:50%;width:22px;height:22px;background:var(--paper);border:2.5px solid var(--ink);border-radius:50%;transform:translateY(-50%)}.ticket:before{left:-13px}.ticket:after{right:-13px}.ticket .label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}.room-code{font-family:var(--font-display);font-size:3rem;letter-spacing:.22em;padding-left:.22em;color:var(--blue);text-shadow:3px 3px 0 var(--orange);margin:2px 0 10px;line-height:1.1}.dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);flex-shrink:0}.dot.on{background:var(--blue)}.badge{font-family:var(--font-mono);font-size:.6rem;font-weight:700;padding:2px 6px;border:2px solid var(--ink);border-radius:3px;margin-left:8px;letter-spacing:.1em;vertical-align:middle;background:var(--paper)}.badge.you{background:var(--orange)}.setting{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:2px dashed var(--paper-3)}.setting:last-of-type{border-bottom:none}.seg{display:flex;gap:6px}.seg button{min-width:44px;min-height:38px;padding:4px 10px;font-family:var(--font-mono)}.seg button.active{background:var(--blue);color:var(--paper)}.header{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;border-radius:4px;white-space:nowrap}.header .riso{color:var(--paper)}.header .you-coins{color:var(--orange);font-size:.95rem;display:inline-flex;align-items:center;gap:5px}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.good{background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 4px 8px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;min-height:104px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .08s,box-shadow .08s}.good:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.good .name{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.good .value{font-family:var(--font-mono);font-weight:700;font-size:.9rem}.good.contraband{background:var(--orange-soft)}.good.contraband:after{content:"CONTRABAND";position:absolute;top:3px;left:50%;transform:translate(-50%) rotate(-2deg);font-family:var(--font-mono);font-size:.5rem;font-weight:700;letter-spacing:.14em;color:var(--red)}.good.selected{outline:3px solid var(--blue);outline-offset:2px}.good.selected:before{content:"✓";position:absolute;top:-10px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:var(--paper);border:2px solid var(--ink);font-weight:700;font-size:.8rem;display:grid;place-items:center}.good.dim{opacity:.35}.stamp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-14deg);font-family:var(--font-display);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);border:3px double var(--red);border-radius:4px;padding:1px 8px;background:#f4ead2bf;white-space:nowrap;animation:slam .35s cubic-bezier(.2,1.4,.4,1);pointer-events:none}.stamp.inline{position:static;transform:rotate(-4deg);font-size:.72rem;padding:0 6px;animation:none}.stamp.blue{color:var(--blue);border-color:var(--blue)}@keyframes slam{0%{transform:translate(-50%,-50%) rotate(-14deg) scale(2.4);opacity:0}to{transform:translate(-50%,-50%) rotate(-14deg) scale(1);opacity:1}}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.pcard{background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;position:relative}.pcard.busted{border-color:var(--red);box-shadow:4px 4px 0 var(--red);background:var(--red-soft)}.pcard.immune{border-color:var(--blue);box-shadow:4px 4px 0 var(--blue)}.pcard-head{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:5px}.pcard-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}.pcard-foot:empty{display:none}.pname{font-family:var(--font-display);font-size:1.05rem;text-transform:uppercase}.coins{font-family:var(--font-mono);font-weight:700;font-size:1rem;display:inline-flex;align-items:center;gap:4px}.tag{font-family:var(--font-mono);font-size:.64rem;font-weight:700;padding:3px 7px;border:2px solid var(--ink);border-radius:3px;background:var(--paper);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.tag.ok{color:var(--blue);border-color:var(--blue)}.tag.gold{background:var(--orange)}.tag.bad{color:var(--red);border-color:var(--red)}.pips{display:inline-flex;gap:2px;align-items:center}.pips .riso.off{opacity:.22;filter:grayscale(1)}.pips .count{font-family:var(--font-mono);font-weight:700;margin-left:6px}.stepper{display:flex;align-items:center;gap:12px}.stepper .val{font-family:var(--font-mono);font-size:1.6rem;font-weight:700;min-width:3.2ch;text-align:center;display:inline-flex;align-items:center;gap:4px}.stepper button{width:50px;font-size:1.4rem;font-family:var(--font-mono)}.log{display:flex;flex-direction:column;gap:5px}.log-entry{font-family:var(--font-mono);font-size:.74rem;line-height:1.38;padding:2px 0 2px 9px;border-left:3px solid var(--ink)}.log-entry.tip{border-color:var(--blue);font-style:italic}.log-entry.wanted{border-color:var(--red);color:var(--red);font-weight:700}.mini.wanted,.tag.wanted{background:var(--red);border-color:var(--ink);color:var(--paper)}.recap{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"title value" "text text";align-items:center;gap:4px 8px;padding:8px 10px;border:2.5px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:3px 3px 0 var(--orange);animation:pop .25s cubic-bezier(.2,1.3,.4,1)}.recap-title{grid-area:title;justify-self:start;font-family:var(--font-display);text-transform:uppercase;font-size:.95rem;letter-spacing:.06em;color:var(--red);border:2.5px double var(--red);border-radius:3px;padding:0 7px;transform:rotate(-2deg);animation:stampin .35s cubic-bezier(.2,1.4,.4,1)}.recap-value{grid-area:value;justify-self:end;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:1.2rem;text-shadow:2px 2px 0 var(--orange)}.recap-text{grid-area:text;font-family:var(--font-mono);font-size:.74rem;line-height:1.35}.log-entry.shakedown{border-color:var(--orange);font-weight:700}.dispatch{padding:8px 10px 10px}.dispatch h2{font-size:.9rem;margin-bottom:6px}.dispatch.fill{flex:1 1 0;min-height:84px;display:flex;flex-direction:column;overflow:hidden}.dispatch.fill .log{flex:1;min-height:0;overflow-y:auto}.log-entry.bust{border-color:var(--red);color:var(--red);font-weight:700}.log-entry.legal{border-color:var(--blue)}.log-entry.bribe,.log-entry.payout{border-color:var(--orange)}.log-entry.round{border-color:transparent;padding-left:0;font-family:var(--font-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.log-entry.end,.log-entry.info{color:var(--ink-soft)}.confirm-bar{position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:3px solid var(--ink);padding:10px 12px calc(12px + env(safe-area-inset-bottom));z-index:10;box-shadow:0 -5px 0 var(--orange);animation:rise .2s ease-out}.confirm-bar.urgent{background:linear-gradient(var(--orange-soft),var(--orange-soft)),var(--paper);box-shadow:0 -5px 0 var(--red)}.confirm-bar .inner{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.confirm-bar .text{font-family:var(--font-mono);font-size:.76rem;line-height:1.38;border-bottom:2px dashed var(--ink-soft);padding-bottom:8px}.confirm-bar .inner .row button{min-height:44px}.confirm-bar .inner .row button{flex:1}@keyframes rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.toast{position:fixed;top:14px;left:50%;transform:translate(-50%) rotate(-2deg);background:var(--red);color:var(--paper);border:3px solid var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;padding:10px 16px;border-radius:4px;z-index:20;max-width:90vw;box-shadow:var(--shadow);animation:slamflat .3s cubic-bezier(.2,1.4,.4,1)}@keyframes slamflat{0%{transform:translate(-50%) rotate(-2deg) scale(1.6);opacity:0}to{transform:translate(-50%) rotate(-2deg) scale(1);opacity:1}}.banner{background:var(--red);color:var(--paper);font-family:var(--font-mono);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:4px;text-align:center;border:2px solid var(--ink)}.podium{text-align:center;padding:16px 12px 12px;overflow:hidden}.podium .trophy{display:flex;justify-content:center;margin-bottom:6px}.podium .trophy .riso{width:110px;height:110px}.podium h2{font-size:1.4rem;background:none;text-shadow:3px 3px 0 var(--orange);display:block}.podium .winner-stamp{position:absolute;top:12px;right:12px;font-family:var(--font-display);color:var(--red);border:3px double var(--red);border-radius:4px;padding:2px 10px;letter-spacing:.15em;text-transform:uppercase;transform:rotate(12deg);font-size:.8rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}button.active{background:var(--blue);color:var(--paper)}.crate-wrap{--lbl: 16px;display:grid;grid-template-columns:var(--lbl) minmax(0,1fr);grid-template-rows:var(--lbl) auto;column-gap:3px;row-gap:3px;flex-shrink:0}.crate-wrap.xs{width:100%}.crate-wrap.xs.thumb{width:96px}.crate-wrap.sm{width:min(52%,170px)}.crate-wrap.md{width:min(58%,216px)}.crate-wrap.lg{width:min(100%,340px);margin:4px auto 0}.crate-wrap.picking{--lbl: 26px}.crate-cols,.crate-rows{display:grid;gap:4px;font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--ink-soft)}.crate-cols{grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 7px;align-items:end;text-align:center}.crate-rows{grid-column:1;grid-row:2;grid-template-rows:repeat(3,minmax(0,1fr));padding:7px 0;align-items:center;justify-items:center}.line-btn{min-height:0;height:100%;width:100%;padding:0;font-family:var(--font-mono);font-size:.78rem;box-shadow:2px 2px 0 var(--orange);border-width:2px;border-color:var(--orange);color:var(--ink)}.line-btn.active{background:var(--orange);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.line-btn:disabled{border-color:var(--paper-3)}.crate{grid-column:2;grid-row:2;aspect-ratio:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:3px solid var(--ink);border-radius:5px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(27,26,31,.06) 18px 20px),var(--paper-2);box-shadow:3px 3px 0 var(--blue)}.ccell{border-radius:3px;display:grid;place-items:center;min-width:0;min-height:0;position:relative}.ccell.empty{border:2px dashed rgba(27,26,31,.28)}.ccell.lid{border:2px solid var(--ink);background:radial-gradient(circle at 16% 16%,var(--ink) 0 1.5px,transparent 2.2px),radial-gradient(circle at 84% 16%,var(--ink) 0 1.5px,transparent 2.2px),radial-gradient(circle at 16% 84%,var(--ink) 0 1.5px,transparent 2.2px),radial-gradient(circle at 84% 84%,var(--ink) 0 1.5px,transparent 2.2px),linear-gradient(transparent 32%,rgba(27,26,31,.5) 32% calc(32% + 1.5px),transparent calc(32% + 1.5px) 66%,rgba(27,26,31,.5) 66% calc(66% + 1.5px),transparent calc(66% + 1.5px)),var(--paper-3)}.ccell.open{border:2px dashed var(--ink-soft);background:var(--paper)}.ccell.open:after{content:"";width:34%;height:34%;background:linear-gradient(45deg,transparent 44%,var(--ink-soft) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--ink-soft) 44% 56%,transparent 56%);opacity:.6}.ccell.tappable{cursor:pointer}.ccell.tappable.empty:active{background:var(--blue-soft)}.ccell.hint:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);opacity:.55}.ctile{container-type:size;position:relative;min-width:0;min-height:0;border:2.5px solid var(--ink);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;-webkit-user-select:none;user-select:none;animation:pop .22s cubic-bezier(.2,1.3,.4,1)}.ctile.legal{background:linear-gradient(var(--blue-soft),var(--blue-soft)),var(--paper);box-shadow:2px 2px 0 var(--blue)}.ctile.contra{background:repeating-linear-gradient(-45deg,transparent 0 9px,rgba(255,95,31,.14) 9px 14px),linear-gradient(var(--orange-soft),var(--orange-soft)),var(--paper);box-shadow:2px 2px 0 var(--orange)}.ctile.tappable{cursor:pointer}.ctile.tappable:active{transform:translate(1px,1px)}.ctile .good-art{flex:1 1 0;min-height:0;align-self:stretch;margin:13px 4px 3px}.ctile.wide .good-art{margin:3px 14px 3px 4px}.ctile.wide.opened .good-art{margin-left:16px}.ctile .nm{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1;white-space:nowrap;margin-bottom:3px}.ctile .pay{position:absolute;top:2px;right:4px;font-family:var(--font-mono);font-size:.6rem;font-weight:700}.ctile.contra .pay{color:var(--red)}.ctile.seized .riso,.ctile.seized .nm,.ctile.seized .pay{opacity:.3}.ctile .stamp{font-size:.6rem;padding:0 4px;border-width:2px;letter-spacing:.08em}.ctile .seen{position:absolute;top:1px;left:3px;line-height:0}.ctile .seen .riso{width:14px;height:14px}@container (max-height: 70px) or (max-width: 64px){.ctile .nm{display:none}}@container (max-width: 46px){.ctile .pay,.ctile .seen{display:none}.ctile .good-art,.ctile.wide .good-art,.ctile.wide.opened .good-art{margin:2px}}.chl{z-index:2;pointer-events:none;border-radius:4px;background:var(--orange-soft);outline:3px solid var(--orange);outline-offset:-2px}.crate-placeholder{width:min(58%,196px);aspect-ratio:1;border:2.5px dashed var(--ink-soft);border-radius:5px;display:grid;place-items:center;color:var(--ink-soft);flex-shrink:0}.market{display:flex;flex-direction:column;gap:8px}.mcard{min-height:0;padding:11px 3px 4px;gap:0}.mcard .mtop .good-art{width:100%;height:100%;max-width:88px}.mcard .name{font-size:.66rem;margin-top:1px}.mcard .value{font-size:.8rem}.mcard .mtop{display:flex;justify-content:center;width:100%;height:32px;margin-top:3px}.good.compact .mtop{height:28px}.mcard .mrow{display:flex;align-items:center;gap:6px}.mcard .footprint{grid-template-columns:repeat(3,5px);grid-template-rows:repeat(3,5px);gap:1.5px}.mcard .value{display:inline-flex;gap:4px;align-items:baseline}.mcard .cost{color:var(--ink-soft)}.mcard .arrow{font-family:var(--font-body);font-size:.85rem;color:var(--ink-soft)}.mcard .pay{color:var(--blue);font-size:.95rem}.mcard.contraband .pay{color:var(--red)}.mcard .rot-hint{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.mcard.dim{cursor:not-allowed}.good.compact{cursor:default;box-shadow:none;padding:13px 2px 6px}.good.compact:active{transform:none;box-shadow:none}.footprint{display:inline-grid;grid-template-columns:repeat(3,6px);grid-template-rows:repeat(3,6px);gap:2px}.footprint i{border:1px solid rgba(27,26,31,.22);border-radius:1px}.footprint i.on{background:var(--blue);border-color:var(--ink)}.footprint.contra i.on{background:var(--orange)}.stage{display:flex;flex-direction:column;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.stage>.card{min-height:236px}.stage-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.stage-dots i{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--ink)}.stage-dots i.on{background:var(--orange)}.award{display:flex;flex-direction:column;justify-content:center;gap:12px;animation:pop .25s cubic-bezier(.2,1.3,.4,1)}.award-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.award-title{font-family:var(--font-display);text-transform:uppercase;font-size:1.3rem;letter-spacing:.06em;color:var(--red);border:3px double var(--red);border-radius:4px;padding:1px 10px;transform:rotate(-3deg);animation:stampin .35s cubic-bezier(.2,1.4,.4,1)}@keyframes stampin{0%{transform:rotate(-3deg) scale(1.9);opacity:0}to{transform:rotate(-3deg) scale(1);opacity:1}}.award-body{display:flex;align-items:center;justify-content:space-between;gap:10px}.award-faces{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.award-faces .portrait{border:2.5px solid var(--ink);border-radius:6px;background:var(--paper-2);box-shadow:3px 3px 0 var(--orange)}.award-with{font-family:var(--font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--ink-soft)}.award-value{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:2.3rem;line-height:1;text-shadow:3px 3px 0 var(--orange);white-space:nowrap}.award-text{font-family:var(--font-mono);font-size:.82rem;line-height:1.4;margin:0}.opened-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px}.opened{min-width:0;display:flex;flex-direction:column;gap:3px;padding:4px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:2px 2px 0 var(--ink)}.opened.busted{border-color:var(--red);background:var(--red-soft)}.opened.immune{border-color:var(--blue)}.opened.law{border-color:var(--orange);box-shadow:2px 2px 0 var(--orange)}.opened .rank{font-size:.62rem;font-weight:700;color:var(--ink-soft)}.opened .purse{display:flex;justify-content:space-between;align-items:baseline;font-size:.72rem;padding:0 2px}.opened .purse b{font-size:.86rem}.opened .badge-slot{aspect-ratio:1;max-width:110px;width:100%;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px dashed var(--orange);border-radius:3px;color:var(--ink-soft);text-transform:uppercase}.standings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.standings li{display:flex;align-items:center;gap:6px;min-width:0;padding:3px 4px;border-bottom:2px dashed var(--paper-3);font-weight:500;font-size:.86rem}.standings li.winner{background:var(--orange-soft);border-radius:4px;font-weight:700}.standings .rank{width:16px;font-size:.7rem;color:var(--ink-soft);text-align:center}.standings .portrait{border:2px solid var(--ink);border-radius:4px;background:var(--paper-2);flex-shrink:0}.standings .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opened .crate-wrap.xs{max-width:110px;align-self:center}.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:0 8px}.ticket-row .room-code{font-size:2.2rem;margin:0}.ticket-actions{display:flex;flex-direction:column;gap:6px}.lobby .ticket{padding:8px 14px}.roster{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.roster li{display:flex;align-items:center;gap:7px;min-width:0;min-height:32px}.roster-name{display:flex;align-items:center;gap:4px;min-width:0;font-weight:700;font-size:.82rem}.roster-name .nm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-name .badge{margin-left:2px;flex-shrink:0}.roster .kick{min-height:28px;padding:0 6px;font-size:1.1rem;text-decoration:none;color:var(--ink-soft)}.house-rules summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--font-display);text-transform:uppercase;font-size:.95rem}.house-rules summary::-webkit-details-marker{display:none}.house-rules[open] summary{margin-bottom:6px}.lobby .picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.lobby .face{padding:2px;border-width:2px;box-shadow:2px 2px 0 var(--ink)}.lobby .face.mine{outline-width:2px}.face.random{display:grid;place-items:center;background:var(--paper)}.face.random span{font-family:var(--font-display);font-size:1.6rem;line-height:1;color:var(--orange);text-shadow:2px 2px 0 var(--ink)}.lobby .taker{font-size:.45rem;bottom:-5px}.wanted-for{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.lobby .wanted-for{font-size:.6rem;text-align:right}.pack-top{padding:10px}.pack-head{display:flex;justify-content:space-between;align-items:baseline}.pack-head h2{margin-bottom:4px}.pack-body{display:flex;gap:10px;align-items:flex-start}.pack-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding-top:18px}.pack-side .holding{margin:0;padding:0;border:none;min-height:0;flex-direction:column;align-items:flex-start;gap:5px}.pack-side .ledger>div{padding:2px 0;font-size:.74rem;border-bottom-width:1.5px}.pack-side button.ghost{align-self:flex-start;min-height:0;padding:0}.market-card{padding:10px}.seal-row{display:flex;gap:10px;align-items:center}.seal-row button.primary{min-height:50px;font-size:1rem}.stepper .label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.pack-clock{font-family:var(--font-mono);font-weight:700;margin-left:6px}.seal-row button.primary{position:relative;white-space:nowrap}button .pack-clock{position:absolute;top:-10px;right:-6px;margin:0;font-size:.72rem;background:var(--ink);color:var(--paper);padding:1px 6px;border-radius:3px;border:2px solid var(--paper)}.pack-clock.hurry,button.hurry .pack-clock{color:var(--red)}button.hurry .pack-clock{color:var(--paper);background:var(--red);animation:pulse .8s ease-in-out infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.packing-status{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:5px}.pstatus{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;border:2px dashed var(--ink-soft);border-radius:var(--radius);font-size:.64rem;font-weight:700;text-transform:uppercase}.pstatus.done{border-style:solid;border-color:var(--blue);color:var(--blue)}.pstatus .mugshot{border-width:1.5px;border-radius:4px}.pstatus{min-width:0}.pstatus .nm{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pstatus .mini{flex-shrink:0}.pstatus .dots{font-family:var(--font-mono);color:var(--ink-soft)}.holding{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;min-height:34px;padding-top:10px;border-top:2px dashed var(--paper-3)}.ledger>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:2px dashed var(--paper-3);font-size:.92rem}.ledger>div:last-child{border-bottom:none}.ledger b{font-family:var(--font-mono);white-space:nowrap}.ledger .total{border-bottom:2px solid var(--ink);font-weight:700}.mugshot{position:relative;display:inline-block;flex-shrink:0;border:2.5px solid var(--ink);border-radius:6px;background:var(--paper-2);box-sizing:content-box}.mugshot .portrait{display:block;width:100%;height:100%;border-radius:4px}.mugshot.law{box-shadow:3px 3px 0 var(--orange)}.star-badge{position:absolute;right:-10px;bottom:-10px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;padding:1px}.who{display:flex;flex-direction:column;gap:3px;min-width:0}.who .badge{margin-left:0}.who .pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard-body{display:flex;gap:12px;align-items:flex-start}.pcard-side{flex:1;min-width:0}.actions-col{display:flex;flex-direction:column;gap:5px;align-items:stretch}.actions-col button.small{min-height:31px;padding:2px 8px}.pcard-head{flex-wrap:nowrap}.pcard-head .who-line{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.pcard-head .coins{flex-shrink:0}.pcard-head .who-line .pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pcard-head .who-line .badge{margin-left:0;flex-shrink:0}.actions-col.mono{gap:5px;font-family:var(--font-mono)}.offer-desk{border-top:2px dashed var(--ink-soft);padding-top:7px;display:flex;flex-direction:column;gap:6px}.desk-note{font-family:var(--font-mono);font-size:.78rem;margin:0}.stepper.compact{gap:6px}.stepper.compact button{width:38px;min-height:34px;padding:0;font-size:1.1rem;box-shadow:2px 2px 0 var(--ink);border-width:2px}.stepper.compact .val{font-size:1.1rem;min-width:2.6ch}.statusbar{display:flex;align-items:center;gap:8px;padding:7px 9px}.status-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.status-who .title{font-family:var(--font-display);text-transform:uppercase;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-who .pips .count{font-size:.75rem}.lineup{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px}.lineup.swipe{flex-wrap:nowrap;overflow-x:auto;padding:0 4px 5px 0;margin-bottom:-5px;scrollbar-width:none}.lineup.swipe::-webkit-scrollbar{display:none}.chip{flex-shrink:0;width:68px;min-width:0;display:flex;flex-direction:column;gap:3px;padding:4px 4px 3px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:2px 2px 0 var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.chip.on{background:var(--paper-2);outline:3px solid var(--blue);outline-offset:1px}.chip.busted{border-color:var(--red);background:var(--red-soft)}.chip.immune{border-color:var(--blue)}.chip.hot{box-shadow:3px 3px 0 var(--orange)}.chip-head{display:flex;align-items:center;gap:4px;min-width:0}.chip-head .mugshot{border-width:1.5px;border-radius:4px}.chip-name{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-tags{display:flex;flex-wrap:wrap;gap:3px}.chip-tags:empty{display:none}.mini{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-mono);font-size:.5rem;font-weight:700;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;padding:0 3px;border:1.5px solid var(--ink);border-radius:2px}.mini.gold{background:var(--orange)}.mini.tip{background:var(--blue);color:var(--paper)}.mini.blue{color:var(--blue);border-color:var(--blue)}.mini.red{color:var(--red);border-color:var(--red)}.crate-wrap.bare{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.crate-wrap.bare .crate{grid-column:1;grid-row:1}.crate-wrap.xs .crate{gap:2px;padding:2px;border-width:2px;border-radius:3px;box-shadow:2px 2px 0 var(--blue)}.crate-wrap.xs .ccell.lid,.crate-wrap.xs .ccell.open,.crate-wrap.xs .ccell.empty{border-width:1px}.crate-wrap.xs .ctile{border-width:1.5px;box-shadow:none}.crate-wrap.xs .ctile .stamp{display:none}.crate-wrap.xs .ctile.seized{background:var(--red-soft)}.banner-note{display:block;font-family:var(--font-mono);font-size:.74rem;line-height:1.35;padding:6px 9px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper)}.banner-note.hot{background:linear-gradient(var(--orange-soft),var(--orange-soft)),var(--paper);box-shadow:2px 2px 0 var(--orange)}.banner-note .secs{float:right;margin-left:6px}.secs{margin-left:auto;font-family:var(--font-mono);font-weight:700;background:var(--ink);color:var(--paper);padding:0 6px;border-radius:3px}.confirm-bar .secs{float:right;margin-left:6px}.tag.tip{color:var(--blue);border-color:var(--blue);white-space:normal;text-transform:none;letter-spacing:.02em}.stepper.price{justify-content:center}.stepper.price .label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-right:4px}.market-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.mstrip{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 0 2px;border:2px solid var(--ink);border-radius:4px;background:linear-gradient(var(--blue-soft),var(--blue-soft)),var(--paper);font-size:.62rem;font-weight:700}.mstrip .good-art{width:calc(100% - 6px);height:22px}.mstrip.contra{background:linear-gradient(var(--orange-soft),var(--orange-soft)),var(--paper)}.picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.face{padding:3px;min-height:0;aspect-ratio:1;position:relative;background:var(--paper-2)}.face .portrait{width:100%;height:100%}.face.mine{background:var(--orange);outline:3px solid var(--blue);outline-offset:2px}.face.taken .portrait{opacity:.4}.taker{position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(-5deg);font-family:var(--font-mono);font-size:.5rem;font-weight:700;letter-spacing:.04em;background:var(--ink);color:var(--paper);padding:1px 4px;border-radius:2px;white-space:nowrap;max-width:110%;overflow:hidden;text-overflow:ellipsis}.mug-sm{position:relative;display:inline-flex;border:2px solid var(--ink);border-radius:5px;background:var(--paper-2);flex-shrink:0}.mug-sm .dot{position:absolute;right:-5px;bottom:-5px}@media(max-width:420px){.hide-narrow{display:none}}.podium-faces{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.podium-face{display:inline-flex;border:3px solid var(--ink);border-radius:8px;background:var(--paper-2);box-shadow:4px 4px 0 var(--orange);transform:rotate(-3deg)}.podium-face:nth-child(2n){transform:rotate(3deg)}.trophy-sm{display:flex;justify-content:center;margin:-16px 0 6px;position:relative}.hero .portrait{border:3px solid var(--ink);border-radius:8px;background:var(--paper-2);box-shadow:var(--shadow-sm)}.hero .portrait:nth-child(1){transform:rotate(-8deg) translateY(6px)}.hero .portrait:nth-child(3){transform:rotate(8deg) translateY(6px)}.coins.sealed{flex-direction:column;align-items:flex-end;gap:0}.coins .purse-note{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
