@font-face{font-family:Unbounded;font-weight:800;font-display:swap;src:url(/fonts/unbounded-800-cyrillic.woff2)format("woff2")}:root{--felt:#1f5e46;--felt-dark:#0f3324;--felt-center:#174a37;--felt-gold:#f1d58a;--bg:#0b231a;--panel:#102c21;--text:#eef5ee;--muted:#9dbcaa;--border:#24503e;--accent:#e8c25e;--accent-text:#1a2a1f;--warn:#ef6c00;--danger:#c62828;--current:#2f3d22;--cell-gap:var(--felt-dark);--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=navy]{--felt:#1c3a6e;--felt-dark:#0b1a33;--felt-center:#152d55;--felt-gold:#ffd36b;--bg:#08142a;--panel:#0e1e3a;--text:#eaf0fb;--muted:#a3b3d1;--border:#22396a;--accent:#ffd36b;--accent-text:#0b1628;--current:#2b3350}:root[data-theme=wine]{--felt:#6b1f2e;--felt-dark:#2e0b12;--felt-center:#561826;--felt-gold:#f0c987;--bg:#1e080d;--panel:#2a0e15;--text:#f7ecec;--muted:#c7a2a8;--border:#4e1d27;--accent:#e9b949;--accent-text:#2a0e15;--current:#46271a}:root[data-theme=brown]{--felt:#6b4a2e;--felt-dark:#2f1e10;--felt-center:#5a3d24;--felt-gold:#f0c987;--bg:#1f140b;--panel:#2b1c10;--text:#f5ece1;--muted:#c8b39b;--border:#4f3825;--accent:#e9b949;--accent-text:#2b1c10;--current:#47331c}:root[data-theme=grey]{--felt:#d6d9dd;--felt-dark:#aeb3ba;--felt-center:#e9ebee;--felt-gold:#2f3338;--cell-gap:#eef0f2;--bg:#c9cdd2;--panel:#eef0f2;--text:#1f2328;--muted:#5f6670;--border:#c2c7cd;--accent:#3d4a5c;--accent-text:#fff;--current:#dce1e8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=graphite]{--felt:#2a2e34;--felt-dark:#15171a;--felt-center:#24272c;--felt-gold:#e8e6e3;--bg:#17191c;--panel:#22252a;--text:#e8e6e3;--muted:#9aa0a6;--border:#3a3f46;--accent:#2e7d32;--accent-text:#fff;--current:#3a3420}:root[data-theme=paper]{--felt:#fbf6ec;--felt-dark:#e9dcc3;--felt-center:#fffaf1;--felt-gold:#2b2620;--cell-gap:#fffaf1;--bg:#f4f1ea;--panel:#fff;--text:#1f2328;--muted:#6b7280;--border:#ddd6c8;--accent:#2e7d32;--accent-text:#fff;--current:#fff7d6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{margin:0 0 .5em}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:1rem}button{font:inherit;border:1px solid var(--border);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:8px;padding:.55em 1em}button:disabled{opacity:.45;cursor:not-allowed}button.ok{background:var(--accent)}button.warn{background:var(--warn);color:#fff}button.danger{background:var(--danger);color:#fff}button.link{color:var(--muted);background:0 0;border:none;padding:0 .4em;text-decoration:underline}input,select{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:.5em .7em}.muted{color:var(--muted)}.small{font-size:.8em}.error{color:var(--danger);margin:0}.row{flex-wrap:wrap;align-items:center;gap:.5em;display:flex}.spread{justify-content:space-between}.center-page{place-items:center;min-height:100vh;padding:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,100%);padding:24px}.panel.wide{width:min(640px,100%)}.form{flex-direction:column;gap:14px;display:flex}.form label{flex-direction:column;gap:4px;display:flex}.code-input{letter-spacing:.4em;text-align:center;font-size:2rem}.big-code{letter-spacing:.2em;text-align:center;font-size:4rem;font-weight:700}.game-layout{grid-template:"header header header"48px"left board right"1fr"footer footer footer"/280px 1fr 300px;min-width:1024px;height:100vh;display:grid;position:relative}.game-layout>header{background:var(--panel);border-bottom:1px solid var(--border);grid-area:header;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.game-layout>.left,.game-layout>.right{background:var(--panel);padding:16px;overflow-y:auto}.game-layout>.left{border-right:1px solid var(--border);grid-area:left}.game-layout>.right{border-left:1px solid var(--border);flex-direction:column;grid-area:right;gap:12px;display:flex}.game-layout>.board-area{grid-area:board;place-items:center;display:grid;position:relative;overflow:hidden}.game-layout>footer{background:var(--panel);border-top:1px solid var(--border);grid-area:footer;padding:12px 16px}.game-layout.is-paused>:not(.pause-overlay):not(.toast){opacity:.35;pointer-events:none}.pause-overlay{z-index:10;place-items:center;display:grid;position:absolute;inset:0}.pause-banner{background:var(--panel);border:2px solid var(--border);border-radius:var(--radius);padding:20px 40px;font-size:1.6rem;font-weight:600}.badge{background:var(--border);border-radius:999px;padding:2px 8px;font-size:.8em}.badge-open{color:#1b5e20;background:#c8e6c9}.badge-reconnecting,.badge-connecting{color:#8a4b00;background:#ffe0b2}.chip{vertical-align:calc(.35em - 6px);border-radius:50%;flex:none;width:12px;height:12px;margin-right:.45em;display:inline-block}.players li>.chip{margin-right:0}.players{margin:0;padding:0;list-style:none}.players li{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.players li.current{background:var(--current)}.players .name{flex:1}.players .turn{color:var(--muted);font-size:.75em}.log{flex:1;min-height:120px;font-size:.9em;overflow-y:auto}.log-line{border-bottom:1px solid var(--border);padding:3px 0}.finance dl{grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 12px;display:grid}.finance dd{text-align:right;margin:0}.finance .strong{font-weight:700}.card{background:var(--panel);border-radius:var(--radius);border:3px solid;width:330px;box-shadow:0 10px 34px #00000059}.card-category{color:#fff;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.85em;font-weight:600;display:flex}.card-body{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.card-body h3,.card-body p{margin:0}.card-numbers{gap:4px;margin:0;display:grid}.card-numbers div{border-bottom:1px dashed var(--border);justify-content:space-between;padding-bottom:3px;display:flex}.card-numbers dd{margin:0;font-weight:700}.card-chip{color:#fff;border:none;box-shadow:0 4px 14px #0000004d}.sell{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.sell-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sell-row .qty{width:70px}button.link.light{color:#fff;opacity:.85}.negative{color:var(--danger)}.modal-backdrop{z-index:30;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius);border:1px solid var(--border);width:min(760px,100%);max-height:90vh;padding:18px 20px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.sheet{flex-direction:column;gap:14px;display:flex}.sheet-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.sheet h3{border-bottom:2px solid var(--border);padding-bottom:4px;font-size:.9rem}.sheet-row{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:.92em;display:flex}.sheet-row.strong{border-top:1px solid var(--border);font-weight:700}.sheet-cashflow{background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:1.1em;display:flex}.sheet-cashflow.negative{background:color-mix(in srgb, var(--danger) 18%, transparent)}.money-input{align-items:center;gap:4px;display:inline-flex}.money-input input{width:96px;padding:.3em .5em}.money-input button,.small-button{padding:.3em .7em;font-size:.9em}button.secondary{background:var(--panel);color:var(--text);width:100%;margin-top:12px}.finance .cash{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.finance .cash b{font-size:1.4rem}.finance h3{color:var(--muted);margin:12px 0 4px;font-size:.85rem}.exit-progress .bar{background:var(--border);border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.exit-progress .bar div{background:var(--accent);height:100%;transition:width .4s}ul.plain{margin:0;padding:0;font-size:.9em;list-style:none}.clickable{cursor:pointer}.players li.clickable:hover,.overview tr.clickable:hover{outline:1px solid var(--border)}.game-layout>.board-area{padding:12px}.board{aspect-ratio:1;max-width:100%;height:100%;position:relative}.board svg{width:100%;height:100%;display:block}.game-layout>.board-area{background:radial-gradient(120% 90% at 50% 45%, var(--felt) 0%, var(--felt-dark) 100%)}.board .cell{stroke:var(--cell-gap);stroke-width:3px}.board .cell-icon{pointer-events:none}.board .cell:hover{filter:brightness(1.15)}.board-center{fill:var(--felt-center);stroke:color-mix(in srgb, var(--felt-gold) 20%, transparent);stroke-width:2px}.board-center-ring{fill:none;stroke:var(--felt-gold);stroke-opacity:.25;stroke-width:1.5px;stroke-dasharray:3 7}.board-title{text-anchor:middle;letter-spacing:2px;fill:var(--felt-gold);font-family:Unbounded,system-ui,sans-serif;font-size:40px;font-weight:800}.token{filter:drop-shadow(0 3px 3px #00000073)}.token-label{text-anchor:middle;pointer-events:none;font-family:Unbounded,system-ui,sans-serif;font-size:13px;font-weight:800}.board-middle{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:46%;height:46%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board-middle>*{pointer-events:auto}.board-loading{color:var(--muted)}.landing{background:var(--panel);border-radius:var(--radius);border:3px solid;max-width:70%;padding:8px 14px;animation:.25s ease-out landing-in;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}@keyframes landing-in{0%{opacity:0;transform:translate(-50%,-8px)}}.legend{background:var(--panel);border-radius:8px;padding:4px 6px;font-size:.85em;position:absolute;bottom:0;left:0}.legend ul{margin:6px 0 0;padding:0;list-style:none}.dice-row{perspective:700px;gap:18px;display:flex}.die-slot{--die-size:54px;--die-half:27px;width:var(--die-size);height:var(--die-size);position:relative}.die-shadow{background:radial-gradient(closest-side,#00000073,#0000);border-radius:50%;height:12px;position:absolute;bottom:-10px;left:4px;right:4px}.die-flight,.die{transform-style:preserve-3d;position:absolute;inset:0}.die-face,.die-core{border-radius:12px;position:absolute;inset:0}.die-face{backface-visibility:hidden;background:radial-gradient(circle at 30% 25%,#fff 0%,#fff0 55%),linear-gradient(145deg,#fdfcf8,#e6e0d2);grid-template:repeat(3,1fr)/repeat(3,1fr);padding:8px;display:grid;box-shadow:inset 0 0 0 1px #00000014,inset -3px -4px 8px #0000001f}.die-core{background:#e9e3d6;border-radius:4px}.die-face span{border-radius:50%;place-self:center;width:10px;height:10px}.die-face .pip{background:radial-gradient(circle at 35% 30%,#4a4f57,#111418 70%);box-shadow:inset 0 1px 2px #0009,0 1px #ffffffb3}.face-1 .pip{background:radial-gradient(circle at 35% 30%,#e0565b,#a3171c 70%);width:14px;height:14px}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:var(--panel);color:var(--text);border:none;border-radius:0;min-width:42px}.segmented button.active{background:var(--accent);color:var(--accent-text)}.icon-button{background:0 0;border:none;padding:2px 6px;font-size:1.2rem}.winner{font-size:1.5rem;font-weight:700;position:absolute;top:24px}.actions{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;display:flex}.actions .qty{width:90px}.request{color:var(--muted);margin-left:auto}.approvals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.approvals li{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.host-controls{gap:8px;display:flex}.overview{border-collapse:collapse;width:100%;font-size:.85em}.overview td,.overview th{text-align:right;padding:4px}.overview td:first-child{text-align:left}.overview tr.current{background:var(--current)}.games{padding-left:18px}.toast{background:var(--danger);color:#fff;z-index:20;cursor:pointer;border-radius:8px;padding:10px 18px;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.presence{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.presence.on{background:#43a047;box-shadow:0 0 0 2px #43a04740}.presence.off{border:1.5px solid var(--muted);background:0 0}.host-footer{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.act-for{border-left:1px solid var(--border);align-items:center;gap:8px;margin-left:auto;padding-left:16px;display:flex}.log-filter{padding:.3em .5em;font-size:.85em}.approvals input{padding:.3em .5em}.sound{position:relative}.sound-panel{z-index:25;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;width:280px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000004d}.sound-panel hr{border:none;border-top:1px solid var(--border);margin:2px 0}.slider{grid-template-columns:1fr 110px 38px;align-items:center;gap:8px;font-size:.9em;display:grid}.slider input{width:100%;padding:0}@media (width<=1280px){.game-layout{grid-template-columns:240px 1fr 250px}.game-layout>.left,.game-layout>.right{padding:12px;font-size:.92em}.game-layout>.board-area{padding:8px}.host-controls .label{display:none}.host-controls button{min-width:44px;font-size:1.1em}.overview{font-size:.78em}.overview td,.overview th{padding:4px 2px}}.profession-icon{vertical-align:middle;object-fit:contain;line-height:1;display:inline-block}.exit-ready{color:var(--accent);margin:6px 0 0;font-size:13px;font-weight:600}.welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:18px;display:flex}.players .turn.offer,.offer-note{color:var(--warn);font-weight:600}.loan-offer{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.lend{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.lend h3{margin:0 0 8px}.lend input[type=number]{width:110px}.lend .qty{width:60px}.dream-star{stroke:#fff;stroke-width:2px;stroke-linejoin:round;pointer-events:auto}.dream-star-me{stroke-width:3.5px}.dream-mark{text-shadow:0 0 1px #000c}.dreams{text-align:left;width:100%;font-size:15px}.dreams ul{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}button.dream{text-align:left;white-space:normal;width:100%;height:100%;color:inherit;background:0 0;flex-direction:column;align-items:stretch;gap:4px;display:flex}button.dream:hover:not(:disabled){border-color:var(--accent)}.dream-head{flex-direction:column;gap:2px;display:flex}.dream-head span{white-space:nowrap;color:var(--accent);font-weight:600}.dream-chosen{font-size:16px}.legend li{align-items:center;gap:6px;padding:1px 0;display:flex}.legend-chip{border-radius:6px;place-items:center;width:22px;height:22px;display:inline-grid}.legend-chip .cell-icon{width:17px;height:17px}.theme-picker{position:relative}.theme-picker>.icon-button{place-items:center;display:grid}.theme-swatch{border:1px solid #7f7f7f80;border-radius:50%;flex:none;width:20px;height:20px;display:inline-block}.theme-menu{z-index:25;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000004d}.theme-menu button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.theme-menu button:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.theme-menu button.active{background:var(--current);font-weight:600}
