@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#030805;--ui:#9dffb0;--line:#2c5a37;--dim:#1f3d27;--anchor:#5f8f69;--white:#f2fff4;--p0:#6dff8a;--p1:#ffb347;--p2:#5ee7ff;--p3:#ff6ad5;--miss:#ff3b3b;--bait:#ffe066;--bio:#b6ff3b;--fin:#a98bff;--mil:#ff5a5a;--card-claim:#ffc857;--card-stream:#4fb3ff;--card-hack:#ff5252;--card-misc:#c39bff;--glow:0 0 5px currentColor;--fs-body:20px;--fs-header:24px;--fs-button:22px;--fs-log:19px;--fs-pane-title:18px;--fs-rules:17px;--fs-card:21px;--tile:30px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ui);font-family:VT323,ui-monospace,monospace;font-size:var(--fs-body);line-height:1.15}button,input{font:inherit;color:inherit}.crt:after{content:"";pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,#00000047 0 1px,#0000 1px 3px),radial-gradient(#0000 65%,#00000073 100%);position:fixed;inset:0}.glow{text-shadow:var(--glow)}@keyframes blink{50%{opacity:.25}}@keyframes flicker{0%,40%,80%{filter:brightness(2.2)}20%,60%,to{filter:brightness()}}.pane{border:1px solid var(--line);min-width:0;padding:12px 12px 10px;position:relative}.pane>.pane-title{background:var(--bg);font-size:var(--fs-pane-title);color:var(--p0);padding:0 6px;position:absolute;top:0;left:10px;transform:translateY(-55%)}.btn{border:1px solid var(--p0);color:var(--p0);font-size:var(--fs-button);cursor:pointer;text-shadow:var(--glow);background:0 0;padding:4px 12px}.btn:disabled{border-color:var(--line);color:var(--anchor);text-shadow:none;cursor:default}.btn+.btn{margin-left:8px}.field{margin:10px 0;display:block}.field input{border:1px solid var(--line);width:100%;color:var(--white);background:0 0;outline:none;margin-top:4px;padding:4px 8px;display:block}.field input:focus{border-color:var(--p0)}.error-text{color:var(--p3);text-shadow:var(--glow)}.muted{color:var(--anchor)}.center-screen{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100%;padding:24px;display:flex}.logo{color:var(--p0);text-shadow:var(--glow);margin:0;font-size:16px;line-height:1}.landing-forms{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.landing-forms .pane{width:340px}.lobby{width:min(640px,100%)}.lobby-code{letter-spacing:.2em;color:var(--white);text-shadow:var(--glow);font-size:48px}.seat-row{border-left:3px solid;align-items:center;gap:12px;margin:6px 0;padding:4px 8px;display:flex}.seat-row .tags{margin-left:auto;font-size:18px}.seat-row .btn{padding:0 8px;font-size:18px}.game{flex-direction:column;gap:10px;height:100%;padding:12px;display:flex}.game-header{font-size:var(--fs-header);text-shadow:var(--glow);align-items:baseline;gap:24px;display:flex}.game-header .status{margin-left:auto}.game-main{flex:1;gap:10px;min-height:0;display:flex}.board-pane{flex:1;min-width:0;display:flex}.board-scroll{flex:1;min-width:0;display:flex;overflow:auto}.sidebar{flex-direction:column;gap:14px;width:330px;min-height:0;display:flex}.sidebar-panels{flex-direction:column;flex:0 auto;gap:14px;min-height:0;margin-top:-12px;padding-top:12px;display:flex;overflow-y:auto}.sidebar .market{flex:1 0 auto}.board-sizer{flex:none;margin:auto;position:relative}.board{transform-origin:0 0;grid-template-columns:repeat(var(--cols), var(--tile));grid-auto-rows:var(--tile);display:grid;position:absolute;top:0;left:0}.tile{cursor:default;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.tile i{font-style:normal;font-size:calc(var(--tile) * .62);justify-content:center;align-items:center;line-height:1;display:flex;overflow:hidden}.tile.own{background:color-mix(in srgb, var(--own) 24%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--own) 55%, transparent);margin:1px}.tile .t-white{color:var(--white);text-shadow:0 0 3px}.tile .t-anchor{color:var(--anchor)}.tile .t-dim{color:var(--dim)}.tile .t-owner{color:var(--own);text-shadow:0 0 3px}.tile .t-bait{color:var(--bait);text-shadow:0 0 3px}.tile .t-bio{color:var(--bio);text-shadow:0 0 3px}.tile .t-fin{color:var(--fin);text-shadow:0 0 3px}.tile .t-mil{color:var(--mil);text-shadow:0 0 3px}.tile .t-p0{color:var(--p0);text-shadow:0 0 3px}.tile .t-p1{color:var(--p1);text-shadow:0 0 3px}.tile .t-p2{color:var(--p2);text-shadow:0 0 3px}.tile .t-p3{color:var(--p3);text-shadow:0 0 3px}.tile .t-flow{color:var(--own);text-shadow:0 0 3px;animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:calc(var(--to-sink,0) * -.15s)}.tile.flow1 .t-flow{animation-name:stream-flow-1;animation-duration:1.2s}.tile.flow2 .t-flow{animation-name:stream-flow-2;animation-duration:2.4s}.tile.flow3 .t-flow{animation-name:stream-flow-3;animation-duration:3.6s}@keyframes stream-flow-1{0%,40%{color:var(--own)}50%,90%{color:var(--r1)}to{color:var(--own)}}@keyframes stream-flow-2{0%,20%{color:var(--own)}25%,45%{color:var(--r1)}50%,70%{color:var(--own)}75%,95%{color:var(--r2)}to{color:var(--own)}}@keyframes stream-flow-3{0%,13.33%{color:var(--own)}16.67%,30%{color:var(--r1)}33.33%,46.67%{color:var(--own)}50%,63.33%{color:var(--r2)}66.67%,80%{color:var(--own)}83.33%,96.67%{color:var(--r3)}to{color:var(--own)}}.tile.legal{cursor:pointer;outline:1px dotted color-mix(in srgb, var(--actor) 70%, transparent);outline-offset:-3px}.tile.ghost{animation:1.1s steps(2,end) infinite blink}.tile.ghost i{color:var(--actor);text-shadow:0 0 3px}.tile.cursor{outline:2px solid var(--white);outline-offset:-2px}.tile.flicker{animation:.6s linear flicker}.tooltip.above{transform:translateY(-100%)}.tooltip{z-index:10;pointer-events:none;background:var(--bg);border:1px solid var(--line);white-space:nowrap;padding:4px 8px;font-size:18px;position:absolute}.chip{text-shadow:var(--glow);border-left:3px solid;justify-content:space-between;margin:4px 0;padding:4px 8px;display:flex}.chip.me{background:#6dff8a14}.chip{flex-wrap:wrap}.chip>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.chip-line2.shares{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.chip-line2.shares .btn+.btn{margin-left:0}.chip-line2.shares .btn.mini{padding:0 4px;font-size:14px}.owners{max-width:90vw}.chip-line2{font-size:var(--fs-rules);opacity:.85;white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;overflow:hidden}.ticker b{font-weight:400}.feed-row{gap:10px;display:flex}.feed-row>.pane:first-child{flex:1;min-width:0}.feed-row .hand.feed{flex-wrap:nowrap}.feed-row .hand.feed>.card{flex:0 auto;min-width:min-content;overflow:hidden}.feed-row .hand.feed>.card>div:first-child{min-width:0}.feed-row .hand.feed>.card .title{align-items:baseline;display:flex}.feed-row .hand.feed>.card .name{white-space:nowrap}.feed-row .hand.feed>.card .cost{flex:none}.feed-row .hand.feed>.card .rules{word-break:break-all;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.feed-row .hand.feed>.btn{flex:none}.store-row{align-items:center;gap:6px;margin:2px 0;display:flex}.store-type{width:64px}.btn.mini{font-size:var(--fs-rules);padding:0 6px}.store-row .btn+.btn{margin-left:0}.store-row .btn{white-space:nowrap}.contracts{gap:6px;margin-top:6px;display:flex}.contract-row .contracts{margin-top:0}.contract{border:1px solid var(--line);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:2px 6px;display:flex;overflow:hidden}.contract .card-actions{flex:none;display:flex}.contract .n i{font-style:normal}.contract .card-actions .btn+.btn{margin-left:4px}.contract.reserve{border-style:dashed}.contract.empty{opacity:.4}.chip.offline{opacity:.55}.chip-btn{margin-left:8px;padding:0 6px;font-size:16px}.log-popup{flex-direction:column;width:min(900px,90vw);max-height:80vh;display:flex}.log-popup .log-lines{flex:1;min-height:0;overflow-y:auto}.log-line{font-size:var(--fs-log);opacity:.8;margin:2px 0}.log-line.error{color:var(--p3);opacity:1}.log-line.turn-break{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:4px}.hand{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.card{--card:var(--ui);border:1px solid color-mix(in srgb, var(--card) 55%, transparent);background:color-mix(in srgb, var(--card) 7%, transparent);text-align:left;cursor:pointer;gap:10px;min-width:160px;padding:6px 10px;display:flex}.card[data-card-group=claim]{--card:var(--card-claim)}.card[data-card-group=stream]{--card:var(--card-stream)}.card[data-card-group=hack]{--card:var(--card-hack)}.card[data-card-group=misc]{--card:var(--card-misc)}.card .name{font-size:var(--fs-card);color:var(--card)}.card .cost{color:var(--white);opacity:.85;margin-left:10px}.card .rules{font-size:var(--fs-rules);opacity:.65;margin-top:2px}.card.selected{border-color:var(--card);background:color-mix(in srgb, var(--card) 18%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--card) 55%, transparent);text-shadow:var(--glow)}.card.dim{opacity:.45}.card-actions{white-space:nowrap;gap:6px;margin-top:6px;display:flex}.card-actions .btn{padding:0 8px;font-size:18px}.pattern{grid-template-columns:repeat(var(--pcols), 7px);grid-auto-rows:7px;align-self:center;gap:1px;display:grid}.pattern i.on{background:color-mix(in srgb, var(--card) 60%, transparent)}.pattern i.anchor{background:var(--white)}.overlay{z-index:100;background:#030805d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .pane{background:var(--bg);min-width:420px;max-width:90vw}.keep-bar{z-index:100;background:var(--bg);white-space:nowrap;align-items:center;gap:16px;display:flex;position:fixed;bottom:16px;right:68px}.results-table{border-collapse:collapse;margin:8px 0 12px}.results-table td,.results-table th{text-align:right;padding:2px 12px}.results-table td:nth-child(2),.results-table th:nth-child(2){text-align:left}.results-table tr.winner{color:var(--white);text-shadow:var(--glow)}.game-header .pips{letter-spacing:2px}.tile.own.offline{background:color-mix(in srgb, var(--own) 10%, transparent);box-shadow:none;outline:1px dashed color-mix(in srgb, var(--own) 55%, transparent);outline-offset:-1px}.tile.own.fort{box-shadow:inset 0 0 0 2px var(--own)}.tile.nfort{box-shadow:inset 0 0 0 2px var(--anchor);margin:1px}.tile.fort-ghost{box-shadow:inset 0 0 0 2px var(--actor);animation:1.1s steps(2,end) infinite blink}.turn-flash{z-index:900;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 45%, color-mix(in srgb, var(--flash) 22%, transparent) 100%);box-shadow:inset 0 0 90px color-mix(in srgb, var(--flash) 45%, transparent);animation:1.3s ease-out turn-flash;position:fixed;inset:0}@keyframes turn-flash{0%{opacity:0}12%{opacity:1}32%{opacity:.2}50%{opacity:.85}to{opacity:0}}.tile.miss-ghost{background:color-mix(in srgb, var(--miss) 45%, transparent);box-shadow:inset 0 0 0 2px var(--miss);animation:1.1s steps(2,end) infinite blink}.action-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-bar .btn+.btn{margin-left:0}.action-bar .cost{color:var(--white);opacity:.85}.btn.active{background:color-mix(in srgb, var(--p0) 18%, transparent)}.feed .card{min-width:140px}.feed>.btn{align-self:center}.pane>.pane-actions{background:var(--bg);gap:8px;padding:0 8px;display:flex;position:absolute;top:0;right:10px;transform:translateY(-55%)}.pane-actions .btn{font-size:var(--fs-pane-title);padding:0 8px}.pane-actions .btn+.btn{margin-left:0}.btn.error-text{border-color:var(--p3)}.card{position:relative}.card .count{background:var(--bg);font-size:var(--fs-rules);color:var(--white);padding:0 4px;line-height:1;position:absolute;top:0;right:6px;transform:translateY(-55%)}.deck-browser{flex-direction:column;width:min(1100px,90vw);max-height:88vh;display:flex}.deck-browser .deck-list{row-gap:14px;padding:10px 2px 4px;overflow-y:auto}.deck-tabs{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.deck-tabs .btn+.btn{margin-left:0}.deck-browser .card{cursor:default;min-width:190px}.board-scroll{-webkit-user-select:none;user-select:none}.board-scroll.dragging{cursor:grabbing}.quest-offer{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.game-header .event{color:var(--p1)}.game-header>*{white-space:nowrap;flex:none}.game-header>.event{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.objectives .objective{white-space:pre;margin:3px 0}.objectives .cur{color:var(--p0)}.objectives .done{opacity:.6}.objectives .desc,.objectives .res{font-size:var(--fs-rules);white-space:normal;padding-left:26px}.objectives .desc{opacity:.65}.objectives .res{color:var(--white);opacity:.85}.quests .quest{justify-content:space-between;gap:8px;margin:3px 0;display:flex}.quests .pr{white-space:nowrap;color:var(--white);opacity:.85;flex-shrink:0}@media (height<=1100px){.objectives .objective:not(.cur) .desc{display:none}}.editor-login{width:340px}.editor-tools{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.editor-tools .btn+.btn,.map-list .btn+.btn{margin-left:0}.editor-tools .btn,.map-list .btn,.editor .game-header .btn{padding:0 8px;font-size:18px}.editor-field{align-items:center;gap:8px;margin:6px 0;display:flex}.editor-field input,.editor-field select,.map-row select{background:var(--bg);color:var(--white);border:1px solid var(--line);font:inherit;padding:0 6px}.editor-field input[type=number]{width:4.5em}.editor-field input:not([type]){flex:1;min-width:0}.problems{color:var(--p3);margin:0;padding-left:1.2em}.map-list{margin:8px 0 0;padding:0;list-style:none}.map-list li{align-items:center;gap:8px;margin:4px 0;display:flex}.map-list li span{flex:1;min-width:0}.map-preview{grid-template-columns:repeat(var(--cols), 5px);border:1px solid var(--line);grid-auto-rows:5px;width:max-content;margin-top:8px;display:grid}.map-preview i{display:block}.map-preview .mp-wall{background:var(--dim)}.map-preview .mp-anchor{background:var(--anchor)}.map-preview .mp-node{background:var(--ui)}.map-preview .mp-res{background:var(--white)}.map-preview .mp-base{background:var(--own)}.sound-button{z-index:110;background:var(--bg);justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:16px;right:16px}.sound-button .cog{filter:drop-shadow(0 0 3px)}.sound-overlay{z-index:120}.volume-row{grid-template-columns:90px 1fr 56px;align-items:center;gap:12px;margin:14px 0;display:grid}.volume-value{text-align:right}.volume-row input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px}.volume-row input[type=range]:focus-visible{outline:1px dashed var(--p0);outline-offset:4px}.volume-row input[type=range]::-webkit-slider-runnable-track{background:var(--line);height:4px}.volume-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--p0);width:14px;height:14px;box-shadow:0 0 5px var(--p0);border:none;margin-top:-5px}.volume-row input[type=range]::-moz-range-track{background:var(--line);height:4px}.volume-row input[type=range]::-moz-range-progress{background:var(--p0);height:4px}.volume-row input[type=range]::-moz-range-thumb{background:var(--p0);width:14px;height:14px;box-shadow:0 0 5px var(--p0);border:none;border-radius:0}.timeline{align-items:center;gap:8px;display:flex}.timeline .btn+.btn{margin-left:0}.tl-play{min-width:5.5em}.tl-strip,.tl-message{flex:1;min-width:0}.tl-strip{-webkit-user-select:none;user-select:none;align-items:flex-end;gap:12px;padding:2px 4px 6px;display:flex;overflow-x:auto}.tl-round{flex:none;align-items:flex-end;gap:6px;min-height:26px;display:flex}.tl-label{font-size:var(--fs-rules);opacity:.7}.tl-turn{gap:2px;display:flex}.tl-stop{cursor:pointer;flex:none}.tl-tick{background:color-mix(in srgb, var(--tick) 40%, transparent);width:11px;height:18px}.tl-tick.current{background:var(--tick);height:26px;box-shadow:0 0 6px var(--tick)}.tl-end{font-size:var(--fs-rules);border:1px solid var(--line);padding:0 6px}.tl-end.current{border-color:var(--p0);color:var(--white);box-shadow:0 0 6px var(--p0)}.replay-scores .score-row{grid-template-columns:1fr auto auto 3.5em;align-items:baseline;gap:10px;display:grid}.replay-scores .change{text-align:right}.quest-owner{margin-top:4px}.hands-all .hand-line{white-space:nowrap;align-items:baseline;gap:6px;display:flex;overflow:hidden}.hands-all .who{flex:none;min-width:6em}.card-chip{--card:var(--ui);color:var(--card);border:1px solid color-mix(in srgb, var(--card) 55%, transparent);font-size:var(--fs-rules);flex:none;padding:0 6px}.card-chip .cost{color:var(--white);opacity:.85}.card-chip[data-card-group=claim]{--card:var(--card-claim)}.card-chip[data-card-group=stream]{--card:var(--card-stream)}.card-chip[data-card-group=hack]{--card:var(--card-hack)}.card-chip[data-card-group=misc]{--card:var(--card-misc)}
