:root{--bg: #100c1c;--panel: #1a152c;--panel-2: #221c38;--panel-3: #2c2448;--line: rgba(255, 255, 255, .08);--text: #f3f0fb;--muted: #9b92b8;--accent: #7b61ff;--accent-deep: #5a3fe0;--pink: #ff5fa2;--yellow: #f5c84b;--mint: #3ddc97;--sky: #4cc9f0;--danger: #ff5c7a;--tile: #1c1730;--tile-edge: rgba(255, 255, 255, .045);--radius: 12px;--radius-sm: 8px;--font-ui: "Plus Jakarta Sans", system-ui, sans-serif;--font-display: Fredoka, "Plus Jakarta Sans", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;font-family:var(--font-ui);color:var(--text);background:var(--bg);line-height:1.4;font-weight:450;letter-spacing:-.01em;color-scheme:dark;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg)}button,input,select{font:inherit;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:.5rem .85rem;background:var(--panel-3);font-weight:600;font-size:.9rem;transition:background .12s ease,border-color .12s ease,color .12s ease}button svg.lucide{width:1.05em;height:1.05em;flex-shrink:0}button:hover:not(:disabled){background:#362d55}button:active:not(:disabled){background:#2a2344}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#8b74ff}button.primary:active:not(:disabled){background:var(--accent-deep)}button.danger{background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:#ff738d}button.ghost{background:transparent;color:var(--muted)}button.ghost:hover:not(:disabled){background:#ffffff0d;color:var(--text)}button.big{padding:.7rem 1.25rem;font-size:.98rem}button.wide{width:100%}.icon-btn{padding:.35rem;background:transparent;color:var(--muted)}.icon-btn.solid{background:var(--panel-3);color:var(--text)}.chip-btn{padding:.28rem .65rem;font-size:.8rem;background:var(--accent);color:#fff}input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .8rem;background:#00000047;outline:none;transition:border-color .15s ease}input:focus{border-color:#7b61ffa6}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center}.code{color:var(--yellow);letter-spacing:.08em}.row{display:flex;gap:.5rem;flex-wrap:wrap}.warn{color:#ffb3c1;margin:0;text-align:center;max-width:28ch}.app-shell{height:100%}.card{background:var(--panel);border-radius:var(--radius);padding:var(--space-3);border:1px solid var(--line)}.card-title{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.card-title svg{width:1.05em;height:1.05em;color:var(--accent)}.card-title.center{justify-content:center}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.card-head .card-title{margin:0}.table-shell{display:grid;grid-template-columns:300px minmax(0,1fr) 330px;gap:12px;padding:12px;height:100vh}.column{display:flex;flex-direction:column;gap:12px;min-height:0}.column.right{overflow:auto}.stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0}.brand{display:flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;padding:.1rem .2rem}.brand-dot{width:.7em;height:.7em;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--accent))}.share-row{display:flex;gap:.4rem;align-items:center}.share-link{flex:1;min-width:0;background:#00000052;border-radius:10px;padding:.55rem .7rem;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share p{margin:.55rem 0 0}.chat-card{flex:1;min-height:0;display:flex;flex-direction:column}.tabs{display:flex;gap:.3rem;background:#00000040;border-radius:12px;padding:.25rem;margin-bottom:.6rem}.tabs button{flex:1;background:transparent;box-shadow:none;padding:.4rem;color:var(--muted)}.tabs button.on{background:var(--panel-3);color:var(--text)}.messages{flex:1;min-height:0;overflow:auto;list-style:none;margin:0;padding:0 .2rem;display:flex;flex-direction:column;gap:.45rem}.msg{display:flex;gap:.45rem;align-items:flex-end;animation:rise .25s ease both}.msg.mine{flex-direction:row-reverse}.msg .bubble{background:var(--panel-3);padding:.45rem .7rem;border-radius:14px 14px 14px 4px;max-width:80%;font-size:.9rem}.msg.mine .bubble{background:var(--accent);border-radius:14px 14px 4px}.msg-name{display:block;font-size:.72rem;color:var(--muted)}.msg.system{justify-content:center;font-size:.86rem;line-height:1.45;color:#d8d0f2;text-align:center;padding:.15rem .35rem}.log-list li{font-size:.9rem;line-height:1.45;color:#e2daf8;padding-bottom:.4rem;border-bottom:1px solid var(--line)}.money-chip{display:inline-flex;align-items:center;gap:.2em;margin:0 .12em;padding:.12em .45em .12em .35em;border-radius:999px;font-weight:800;font-variant-numeric:tabular-nums;font-size:.95em;letter-spacing:-.02em;vertical-align:baseline;animation:money-pop .45s cubic-bezier(.2,.9,.3,1.2) both}.money-chip.up{color:#0d3b28;background:linear-gradient(180deg,#7dffb5,#3dd68c);box-shadow:0 1px #ffffff59 inset}.money-chip.down{color:#4a1020;background:linear-gradient(180deg,#ff8aa6,#ff4f78);box-shadow:0 1px #ffffff47 inset}.money-arrow{font-size:.72em;line-height:1;animation:money-bounce .7s ease infinite alternate}.money-chip.down .money-arrow{animation-name:money-drop}@keyframes money-pop{0%{transform:scale(.7) translateY(4px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes money-bounce{0%{transform:translateY(1px)}to{transform:translateY(-2px)}}@keyframes money-drop{0%{transform:translateY(-1px)}to{transform:translateY(2px)}}.chat-form{display:flex;gap:.35rem;margin-top:.6rem}.chat-form input{flex:1;min-width:0}.players{display:flex;flex-direction:column;gap:.3rem;padding:.5rem}.player-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;border-radius:12px;transition:background .2s ease}.player-row:hover{background:var(--panel-2)}.player-row.turn{background:linear-gradient(90deg,rgba(124,92,255,.35),transparent)}.player-row.turn .player-avatar{animation:bob 1.4s ease-in-out infinite}.player-row.in-debt{background:linear-gradient(90deg,color-mix(in srgb,#f97316 28%,transparent),transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#f97316 45%,transparent)}.debt-chip{display:inline-flex;align-items:center;gap:.2rem;margin-left:.35rem;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:750;letter-spacing:.02em;text-transform:uppercase;color:#fdba74;background:color-mix(in srgb,#f97316 22%,transparent);vertical-align:middle}.debt-chip svg{width:.75rem;height:.75rem}.debt-banner{display:flex;align-items:center;gap:.55rem;width:100%;max-width:22rem;padding:.55rem .7rem;border-radius:12px;background:color-mix(in srgb,#f97316 16%,var(--panel));border:1px solid color-mix(in srgb,#f97316 50%,transparent);color:var(--text)}.debt-banner>svg{width:1.25rem;height:1.25rem;color:#fb923c;flex-shrink:0}.debt-banner-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0;font-size:.78rem;line-height:1.3}.debt-banner-body strong{font-size:.88rem}.debt-banner.mine{background:color-mix(in srgb,#f97316 24%,var(--panel));box-shadow:0 0 .8rem color-mix(in srgb,#f97316 25%,transparent)}.debt-actions{flex-direction:column;align-items:stretch}.player-row.out{opacity:.4;text-decoration:line-through}.player-row.open{opacity:.5}.player-avatar{display:grid;place-items:center;width:34px;height:34px;position:relative;flex-shrink:0}.player-avatar.empty{border:2px dashed var(--panel-3);border-radius:50%;color:var(--muted)}.player-avatar.empty svg{width:16px}.player-name{flex:1;display:flex;align-items:center;gap:.3rem;font-weight:500;min-width:0}.nation-banner{position:relative;flex:1;display:inline-flex;align-items:center;gap:.4rem;min-width:0;padding:.28rem .55rem .28rem .35rem;border-radius:999px;overflow:hidden;isolation:isolate;border:1px solid color-mix(in srgb,var(--nation) 55%,rgba(255,255,255,.2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nation) 25%,transparent),0 1px 4px #00000040}.nation-banner-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(105deg,color-mix(in srgb,var(--nation) 72%,#0a0614),color-mix(in srgb,var(--nation) 35%,rgba(10,6,20,.55)) 48%,color-mix(in srgb,var(--nation) 55%,#120a1c)),var(--flag-url);background-size:cover,cover;background-position:center,center;opacity:.95;filter:saturate(1.15) contrast(1.05)}.nation-banner-wash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#08051059,#0805102e 40%,#08051073)}.nation-banner-flag{position:relative;z-index:1;width:1.35em;height:1.35em;flex-shrink:0;box-shadow:0 0 0 1.5px #ffffff59}.nation-banner-body{position:relative;z-index:1;display:flex;align-items:center;gap:.3rem;min-width:0;flex:1}.nation-banner .player-name{flex:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.65);font-weight:650}.player-banner{margin-inline-end:.15rem}.crown{width:16px;color:var(--yellow)}.tag-icon{width:15px;color:var(--muted)}.player-cash{position:relative;font-weight:600;font-variant-numeric:tabular-nums}.cash-float{position:absolute;right:0;top:-.2rem;font-size:.8rem;font-weight:700;animation:float-up 1.6s ease forwards;pointer-events:none}.cash-float.up{color:var(--mint)}.cash-float.down{color:var(--danger)}.action-row{display:flex;gap:.5rem;flex-wrap:wrap}.action-row button{flex:1}.trade-item{background:var(--panel-2);border-radius:12px;padding:.6rem;display:grid;gap:.35rem;border:1px solid transparent}.trade-item.mine{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--panel-2))}.trade-item p{margin:0}.trade-parties{display:flex;align-items:center;gap:.35rem;font-weight:500}.trade-round-tag{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--yellow)}.trade-looking-line{font-size:.78rem;color:var(--muted)}.trade-looking-line.on{color:var(--mint)}.grow{flex:1;min-height:160px}.prop-list{list-style:none;margin:0;padding:0;display:grid}.prop-list button,.prop-list .prop-reward{width:100%;justify-content:flex-start;background:transparent;box-shadow:none;border-radius:10px;padding:.45rem .5rem;border-bottom:1px solid var(--line)}.prop-list .prop-reward{display:inline-flex;align-items:center;gap:.4rem;box-sizing:border-box;color:inherit;font:inherit}.prop-list button:hover{background:var(--panel-2)}.prop-list button.mortgaged{opacity:.5}.prop-reward-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:6px;background:color-mix(in srgb,var(--yellow, #e8b84a) 22%,transparent);color:var(--yellow, #c9922a);flex-shrink:0}.prop-reward-icon svg{width:.95rem;height:.95rem}.prop-reward-count{font-size:.8rem;font-weight:700;opacity:.85}.prop-reward-tag{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow, #c9922a);opacity:.9}.prop-list button.flag-raised-row .prop-flag.raised{width:1.85em;height:1.85em;box-shadow:0 0 0 2px color-mix(in srgb,var(--yellow) 70%,#fff)}.prop-raised{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--yellow)}.swatch{width:14px;height:14px;border-radius:5px;box-shadow:inset 0 -2px #00000040}.prop-name{flex:1;text-align:left}.prop-houses{display:inline-flex;align-items:flex-end;gap:.12rem;height:1.15rem}.prop-houses .building-glyph{width:1.05rem;height:1.05rem}.prop-houses .hotel-glyph{width:1.35rem;height:1.1rem}.board-stage{width:min(100%,calc(100vh - 24px));aspect-ratio:1;container-type:inline-size}.board{--track: calc((100cqw - 2.5cqw - 6.75cqw - 2px) / 11);--corner: calc(var(--track) * 1.5);position:relative;width:100%;height:100%;display:grid;grid-template-columns:var(--corner) repeat(8,var(--track)) var(--corner);grid-template-rows:var(--corner) repeat(8,var(--track)) var(--corner);gap:.55cqw;padding:1cqw;background:#12101c;border:0;border-radius:.8cqw;overflow:visible;box-shadow:none}.tile{position:relative;display:block;min-width:0;min-height:0;padding:0;overflow:visible;border:0;border-radius:.35cqw;background:#1a1529;box-shadow:none;font-weight:600;color:var(--text);text-align:center;transition:filter .12s ease;isolation:isolate}.tile:hover:not(:disabled){filter:brightness(1.08);z-index:3}.tile:active:not(:disabled){filter:brightness(.96)}.tile-face{position:absolute;left:50%;top:50%;width:var(--track);height:var(--corner);translate:-50% -50%;display:flex;flex-direction:column;align-items:center;z-index:1}.side-left .tile-face{rotate:90deg}.side-right .tile-face{rotate:-90deg}.tile.country .tile-face{padding-top:1.5cqw}.side-top.country .tile-face{padding-top:0;padding-bottom:1.5cqw}.tile-wash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}.tile-wash:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background-image:var(--flag-url);background-size:cover;background-position:center;opacity:.2;filter:blur(1.5px) saturate(1.05)}.tile-wash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0e0a1847}.tile.owned.kind-property{background:color-mix(in srgb,var(--owner) 32%,#1a1529);color:#fff}.tile.owned.kind-property .tile-wash:before{opacity:.12}.tile.owned.kind-transit,.tile.owned.kind-utility{background:color-mix(in srgb,var(--owner) 32%,#1a1529)}.tile.selected{outline:.2cqw solid rgba(255,255,255,.85);outline-offset:-.1cqw;z-index:5}.tile.highlight{filter:brightness(1.12);z-index:4}.tile.destination{box-shadow:inset 0 0 0 .22cqw color-mix(in srgb,var(--yellow, #e8b84a) 85%,#fff),0 0 .9cqw color-mix(in srgb,var(--yellow, #e8b84a) 45%,transparent);z-index:3}.tile.destination:after{content:"";position:absolute;top:.15cqw;right:.15cqw;bottom:.15cqw;left:.15cqw;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 .12cqw color-mix(in srgb,var(--yellow, #e8b84a) 55%,transparent)}.tile.spotlight{outline:.2cqw solid color-mix(in srgb,var(--yellow) 85%,#fff);outline-offset:-.1cqw;z-index:4}.tile.mortgaged{filter:grayscale(.6) brightness(.8);color:#7d7498}.tile-mid{flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqw;padding:0 .3cqw}.flag-slot{position:absolute;left:50%;top:0;translate:-50% -50%;display:grid;place-items:center;z-index:3;pointer-events:none}.side-top .flag-slot{top:auto;bottom:0;translate:-50% 50%}.side-left .flag-slot{rotate:-90deg}.side-right .flag-slot{rotate:90deg}.tile-icon{display:grid;place-items:center;width:4.4cqw;height:4.4cqw}.side-left .tile-icon{rotate:-90deg}.side-right .tile-icon{rotate:90deg}.tile-art{display:block;width:100%;height:100%;object-fit:contain;filter:none;-webkit-user-select:none;user-select:none;pointer-events:none}.flag{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;overflow:hidden;flex-shrink:0;background:transparent;border:0;outline:none;box-shadow:none}.flag img{width:128%;height:128%;max-width:none;object-fit:cover;object-position:center;display:block;margin:-14%}.tile-flag{width:2.9cqw;height:2.9cqw;aspect-ratio:1;flex-shrink:0;box-shadow:none;transition:width .35s ease,height .35s ease}.tile.colour-set:not(.owned){background:color-mix(in srgb,var(--band) 42%,#1a1529)}.tile.colour-set.owned.kind-property,.tile.colour-set.owned.kind-transit,.tile.colour-set.owned.kind-utility{background:color-mix(in srgb,var(--owner) 28%,color-mix(in srgb,var(--band) 30%,#1a1529))}.tile.colour-set .tile-wash:before{display:none}.tile.colour-set .tile-wash:after{background:color-mix(in srgb,var(--band) 18%,transparent)}.set-band{position:absolute;z-index:2;pointer-events:none;background:var(--band);border-radius:.2cqw}.side-top .set-band{left:12%;right:12%;bottom:.35cqw;height:.55cqw}.side-bottom .set-band{left:12%;right:12%;top:.35cqw;height:.55cqw}.side-left .set-band{top:12%;bottom:12%;right:.35cqw;width:.55cqw}.side-right .set-band{top:12%;bottom:12%;left:.35cqw;width:.55cqw}.tile.flag-raised .tile-flag{width:3.8cqw;height:3.8cqw;box-shadow:none;animation:flag-raise .55s cubic-bezier(.22,1.2,.36,1) both}@keyframes flag-raise{0%{transform:scale(.7);opacity:.5}to{transform:scale(1);opacity:1}}.tile-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;font-family:var(--font-display);font-size:1.15cqw;line-height:1.1;font-weight:700;letter-spacing:-.01em;color:#fff;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 .4cqw rgba(0,0,0,.4)}.kind-property .tile-name{font-size:1.28cqw}.tile-price{flex-shrink:0;margin-bottom:.35cqw;padding:.3cqw .75cqw;border-radius:.3cqw;font-family:var(--font-display);font-size:1.35cqw;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fffef6;background:#080610b8;box-shadow:none;text-shadow:none;white-space:nowrap}.tile-price.is-rent{color:#ffe8a3;background:color-mix(in srgb,var(--yellow, #e8b84a) 22%,rgba(8,6,16,.78))}.tile-price.is-mortgaged{color:#c4b8d8;background:#282037bf;font-size:1.2cqw;letter-spacing:.04em;text-transform:uppercase}.owner-badge{width:1.9cqw;height:1.9cqw;flex-shrink:0}.side-corner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25cqw;padding:.5cqw}.corner-icon{display:grid;place-items:center;width:6cqw;height:6cqw}.side-corner .tile-name{font-family:var(--font-display);font-size:1.4cqw;font-weight:700}.tile-sub{font-family:var(--font-display);font-size:1.05cqw;font-weight:600;color:var(--muted)}.corner-go{background:color-mix(in srgb,var(--mint) 12%,#1a1529)}.build-row{display:flex;align-items:flex-end;justify-content:center;gap:.05cqw}.build-slot{display:block;flex-shrink:0}.side-left .build-slot{rotate:-90deg}.side-right .build-slot{rotate:90deg}.build-slot.house-slot{width:1.75cqw;height:1.75cqw}.build-slot.hotel-slot{width:2.8cqw;height:2.8cqw}.building-glyph{display:block;width:100%;height:100%;object-fit:contain;filter:none}.tile-popup{--popup-nudge-x: 0px;--popup-nudge-y: 0px;position:absolute;z-index:60;width:max-content;max-width:min(220px,42cqw);padding:.55rem .6rem .65rem;border-radius:14px;background:linear-gradient(165deg,rgba(255,255,255,.08),transparent 42%),var(--panel);border:1px solid var(--line);box-shadow:0 .6cqw 1.6cqw #0000008c,0 .15cqw .35cqw #00000059,inset 0 1px #ffffff14;display:flex;flex-direction:column;gap:.4rem;pointer-events:auto}.tile-popup.toward-above{transform:translate(calc(-50% + var(--popup-nudge-x)),calc(-100% - 1.4cqw + var(--popup-nudge-y)))}.tile-popup.toward-below{transform:translate(calc(-50% + var(--popup-nudge-x)),calc(1.4cqw + var(--popup-nudge-y)))}.tile-popup.toward-left{transform:translate(calc(-100% - 1.4cqw + var(--popup-nudge-x)),calc(-50% + var(--popup-nudge-y)))}.tile-popup.toward-right{transform:translate(calc(1.4cqw + var(--popup-nudge-x)),calc(-50% + var(--popup-nudge-y)))}.tile-popup-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.tile-popup-head strong{font-size:.92rem;font-weight:750;letter-spacing:-.02em;line-height:1.2}.tile-popup-meta{margin:0;font-size:.72rem;color:var(--muted);line-height:1.3}.tile-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.popup-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.45rem .35rem;border-radius:11px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:.68rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.popup-btn svg{width:1rem;height:1rem;stroke-width:2.2}.popup-btn:hover:not(:disabled){background:var(--panel-3);border-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-1px)}.popup-btn:disabled{opacity:.35;cursor:not-allowed}.popup-btn.build{background:color-mix(in srgb,var(--mint) 16%,var(--panel-2));border-color:color-mix(in srgb,var(--mint) 35%,transparent);color:#b8ffe0}.popup-btn.sell{background:color-mix(in srgb,#f97316 12%,var(--panel-2));border-color:color-mix(in srgb,#f97316 30%,transparent);color:#ffd7b0}.popup-btn.mortgage{background:color-mix(in srgb,var(--sky) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--sky) 30%,transparent);color:#c8f0ff}.popup-btn.info{grid-column:1 / -1;flex-direction:row;gap:.35rem;background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.board-center{grid-row:2 / 10;grid-column:2 / 10;display:grid;place-items:center;overflow:auto;background:#131022;border:1px solid rgba(255,255,255,.04);border-radius:.5cqw;padding:1.8cqw}.center-stack{display:flex;flex-direction:column;align-items:center;gap:1.2cqw;width:100%;max-width:56cqw}.logo-mark{font-family:var(--font-display);font-size:2.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.board-center .logo-mark{font-size:3.4cqw;color:var(--muted);font-weight:600}.board-center .logo-mark.big{font-size:5cqw;color:var(--text)}.turn-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .35rem;border-radius:999px;background:#ffffff0d;border:1px solid var(--line);font-size:max(.75rem,1.2cqw);font-weight:600}.turn-pill .turn-label{color:var(--muted);font-weight:500;font-size:.85em;text-transform:uppercase;letter-spacing:.04em}.turn-pill.mine{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.center-hint{display:flex;align-items:center;gap:.4rem;margin:0;color:var(--muted);font-size:max(.8rem,1.25cqw);font-weight:500}.center-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem}.center-actions.row{flex-direction:row}.center-log{list-style:none;margin:.5cqw 0 0;padding:0;text-align:center;font-size:max(.82rem,1.35cqw);line-height:1.4;color:#c8bfef;display:grid;gap:.35cqw;max-width:44cqw}.center-log li:first-child{font-weight:650;color:#f2edff;font-size:1.05em;animation:rise .25s ease}.center-log .money-chip{font-size:.92em}.center-card{width:100%;background:#ffffff0a;border:1px solid var(--line);border-radius:16px;padding:.8rem}.avatar-row{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.lobby-avatar{position:relative;animation:bob 2s ease-in-out infinite}.lobby-avatar:nth-child(2n){animation-delay:-.6s}.lobby-avatar:nth-child(3n){animation-delay:-1.2s}.lobby-banner{flex:0 1 auto;max-width:11rem;padding:.2rem .55rem .2rem .25rem;gap:.35rem}.lobby-banner-name{font-size:.78rem;font-weight:650;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nation-picker{width:100%;background:#ffffff0a;border:1px solid var(--line);border-radius:16px;padding:.75rem;max-height:min(42vh,320px);display:flex;flex-direction:column;gap:.55rem;overflow:hidden}.nation-picker .card-title{margin:0;flex-wrap:wrap;gap:.35rem .6rem}.nation-picked{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:var(--mint)}.nation-mini{width:1.25em;height:1.25em}.nation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.2rem,1fr));gap:.35rem;overflow-y:auto;padding-right:.15rem}.nation-opt{justify-content:flex-start;gap:.4rem;padding:.35rem .45rem;background:var(--panel-2);border:1px solid transparent;font-size:.78rem;font-weight:550;text-align:left}.nation-opt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nation-opt-flag{width:1.4em;height:1.4em}.nation-opt:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--panel-3)}.nation-opt.mine{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 16%,var(--panel-2))}.nation-opt.taken{opacity:.35;cursor:not-allowed}.nation-opt.open-team{border-color:color-mix(in srgb,var(--sky) 45%,transparent)}.nation-count{margin-left:auto;font-style:normal;font-size:.7rem;font-weight:700;color:var(--sky);background:color-mix(in srgb,var(--sky) 18%,transparent);border-radius:999px;padding:.05rem .4rem}.team-swatch{width:1.15em;height:1.15em;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff40}.team-banner-wash{background-image:linear-gradient(105deg,color-mix(in srgb,var(--nation) 78%,#0a0614),color-mix(in srgb,var(--nation) 42%,rgba(10,6,20,.55)) 55%,color-mix(in srgb,var(--nation) 62%,#120a1c))!important;filter:none}.team-banner-dot{position:relative;z-index:1;width:.85em;height:.85em;border-radius:50%;background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--nation) 70%,#fff);flex-shrink:0}.player-group{display:grid;gap:.15rem}.player-group+.player-group{margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--line)}.team-group-label{display:flex;align-items:center;gap:.4rem;padding:.15rem .55rem .35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.team-group-label svg{width:.95em;height:.95em}.team-group-cash{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:650;color:var(--mint)}.player-cash.team-cash{display:inline-flex;align-items:center;gap:.3rem}.cash-tag{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mint);background:color-mix(in srgb,var(--mint) 16%,transparent);border-radius:999px;padding:.05rem .35rem}.teammate-tag{font-size:.72rem}.auction .card-title{justify-content:center}.auction-bid{display:flex;flex-direction:column;align-items:center;margin:0 0 .5rem;font-size:2rem;font-weight:700;color:var(--yellow)}.auction-bid span{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;color:var(--text);font-weight:500}.auction-timer{height:6px;border-radius:99px;background:#00000059;margin-bottom:.7rem;overflow:hidden}.auction-timer span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--yellow));transition:width .25s linear}.rules{display:grid;gap:.35rem}.rule-row{display:flex;align-items:center;gap:.6rem;padding:.35rem .45rem;border-radius:12px;background:#0000002e;cursor:pointer}.rules.readonly .rule-row{cursor:default}.rule-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--panel-3);color:var(--yellow);flex-shrink:0}.rule-row:nth-child(3n+1) .rule-icon{color:var(--sky)}.rule-row:nth-child(3n+2) .rule-icon{color:var(--pink)}.rule-row:nth-child(3n) .rule-icon{color:var(--mint)}.rule-icon svg{width:16px;height:16px}.rule-label{flex:1;display:grid;font-size:.9rem;font-weight:500;text-align:left}.rule-label small{font-size:.72rem;color:var(--muted);font-weight:400}.dropdown{position:relative;flex-shrink:0;min-width:5.5rem}.dropdown.disabled{opacity:.75;pointer-events:none}.dropdown-trigger{width:100%;justify-content:space-between;gap:.4rem;padding:.35rem .6rem;background:#00000059;font-size:.82rem}.dropdown-chevron{width:14px!important;height:14px!important;opacity:.7;transition:transform .15s ease}.dropdown.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:100%;margin:0;padding:4px;list-style:none;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.dropdown-menu button{width:100%;justify-content:flex-start;background:transparent;box-shadow:none;font-size:.85rem;padding:.4rem .65rem;border-radius:8px}.dropdown-menu button:hover{background:#ffffff0f}.dropdown-menu button.on{background:var(--accent);color:#fff}.toggle{position:relative;width:40px;height:22px;padding:0;border-radius:99px;background:#0006;flex-shrink:0;box-shadow:none}.toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px #00000040;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.toggle.on{background:var(--mint)}.toggle.on .toggle-knob{transform:translate(18px)}.toggle:disabled{cursor:default;opacity:.75}.spectator-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:30;display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .75rem;border-radius:999px;background:#140e28eb;border:1px solid var(--line);font-size:.85rem}.spectator-banner svg.lucide{width:1em;height:1em;color:var(--sky)}.spectator-label{display:flex;align-items:center;gap:.4rem;margin-top:.55rem;padding:.35rem .2rem .15rem;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--line)}.spectator-label svg.lucide{width:.95em;height:.95em}.player-row.spectator{opacity:.78}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1.5rem;background:#080414b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-modal{max-width:380px}.confirm-body{padding:0 1.25rem .5rem;color:var(--muted);font-size:.95rem}.modal-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;padding:.85rem 1.25rem 1.25rem}.modal-actions .big{flex:1}.pawn-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pawn{position:absolute;width:4.6cqw;height:4.6cqw;transform:translate(-50%,-62%);transition:left .28s cubic-bezier(.22,.7,.25,1),top .28s cubic-bezier(.22,.7,.25,1);will-change:left,top}.pawn-shadow{position:absolute;left:15%;right:15%;bottom:-8%;height:22%;border-radius:50%;background:#00000073;filter:blur(.25cqw);transform-origin:center}.pawn.moving .pawn-shadow{animation:shadow-leap .28s cubic-bezier(.2,.85,.3,1)}.pawn-bob,.pawn-hop{width:100%;height:100%}.pawn .avatar{display:block}.avatar{overflow:visible}.avatar-fluid{animation:goober-wobble 2.8s ease-in-out infinite;animation-delay:var(--wobble-delay, 0s);transform-origin:50% 65%}@keyframes goober-wobble{0%,to{transform:scale(1) rotate(0)}28%{transform:scale(1.05,.94) rotate(-2.5deg)}58%{transform:scale(.95,1.06) rotate(2deg)}78%{transform:scale(1.03,.97) rotate(-1deg)}}.pawn.moving .avatar-fluid{animation:none}.pawn-hop{animation:none;transform-origin:center bottom}.pawn.moving .pawn-hop{animation:pawn-leap .28s cubic-bezier(.2,.85,.3,1)}.pawn.current{width:5.4cqw;height:5.4cqw}.pawn.current:not(.moving) .pawn-bob{animation:bob 1.3s ease-in-out infinite}.pawn.moving .pawn-bob{animation:none}.pawn.current:before{content:"";position:absolute;left:12%;right:12%;bottom:-10%;height:22%;border-radius:50%;background:color-mix(in srgb,var(--pawn) 45%,transparent);filter:blur(.35cqw)}.moving-hint{font-weight:650;letter-spacing:.02em;animation:pulse-soft 1s ease-in-out infinite}.dice-wrap{display:flex;flex-direction:column;align-items:center;gap:.55cqw}.dice-pair{display:flex;gap:2.6cqw;perspective:600px}.dice-total{display:flex;align-items:baseline;gap:.45rem;font-family:var(--font-display);font-weight:700;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55)}.dice-nums{font-size:1.35cqw;opacity:.85}.dice-sum{font-size:1.85cqw;color:var(--yellow)}.drawn-card{width:min(240px,90%);margin:.2rem auto 0;padding:.7rem .85rem;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);text-align:center;z-index:6}.drawn-card.kind-chance{border-color:color-mix(in srgb,#ff8a3d 55%,var(--line));background:color-mix(in srgb,#ff8a3d 12%,var(--panel-2))}.drawn-card.kind-chest{border-color:color-mix(in srgb,#e8b84a 55%,var(--line));background:color-mix(in srgb,#e8b84a 12%,var(--panel-2))}.drawn-card-label{display:block;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin-bottom:.35rem}.drawn-card p{margin:0 0 .55rem;font-size:.92rem;font-weight:600;line-height:1.35}.rules-modal{width:min(420px,94vw);max-height:min(80vh,640px);overflow:auto;padding:.85rem 1rem 1.1rem}.rules-modal .rules{gap:.2rem}.rules-modal .rule-row{padding:.4rem .15rem}.die3d{width:7cqw;height:7cqw}.die-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.9,.25,1.08)}.die-side{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18%;background:radial-gradient(circle at 30% 25%,#fff,#ebe6f7 70%,#d4cdea);box-shadow:inset 0 0 .8cqw #3c287840}.s1{transform:translateZ(3.5cqw)}.s6{transform:rotateY(180deg) translateZ(3.5cqw)}.s3{transform:rotateY(90deg) translateZ(3.5cqw)}.s4{transform:rotateY(-90deg) translateZ(3.5cqw)}.s2{transform:rotateX(90deg) translateZ(3.5cqw)}.s5{transform:rotateX(-90deg) translateZ(3.5cqw)}.pip{position:absolute;width:17%;height:17%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#4a3a80,#1d1238);transform:translate(-50%,-50%)}.card-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#08051299;animation:fade .15s ease}.tile-card{width:min(300px,90vw);background:var(--panel);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.tile-card-title{display:flex;align-items:center;gap:.55rem;min-width:0}.tile-card-title small{font-weight:500;opacity:.85;font-size:.78em}.card-flag{width:1.55rem;height:1.55rem}.prop-flag{width:1.15rem;height:1.15rem}.tile-card header{display:flex;justify-content:space-between;align-items:center;padding:.8rem .6rem .8rem 1rem;font-size:1.05rem;font-weight:700;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.3)}.tile-card header .icon-btn{color:#fff}.card-buy{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1rem .55rem;border-bottom:1px solid var(--line)}.card-buy span{color:var(--muted);font-size:.85rem;font-weight:500}.card-buy strong{font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--yellow)}.rent-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem}.rent-table th{padding:.55rem 1rem .35rem;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.rent-table td{padding:.38rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.rent-table td:first-child{width:62%;color:#ddd6f5}.rent-table td:last-child{width:38%;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em}.meta-table{margin-top:.15rem;opacity:.92}.meta-table td:first-child{color:var(--muted)}.card-owner{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem}.card-owner span{flex:1}.card-owner strong{color:var(--yellow)}.card-actions{display:flex;gap:.4rem;padding:0 1rem 1rem;flex-wrap:wrap}.card-actions button{flex:1}.card-note{margin:0;padding:1rem;color:#d9d0ff}.modal{width:min(560px,94vw);max-height:90vh;overflow:auto;background:var(--panel);border-radius:var(--radius);padding:1.1rem;border:1px solid var(--line)}.trade-modal{width:min(640px,96vw)}.trade-presence{display:flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border-radius:10px;margin-bottom:.75rem;font-size:.82rem;font-weight:550}.trade-presence.on{background:color-mix(in srgb,var(--mint) 16%,var(--panel-2));color:var(--mint)}.trade-presence.off{background:var(--panel-2);color:var(--muted)}.trade-presence svg{width:1em;height:1em}.trade-roles{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.9rem}.trade-role{display:flex;align-items:center;gap:.5rem;background:var(--panel-2);border-radius:12px;padding:.45rem .7rem .45rem .45rem}.trade-role strong{display:block;font-size:.92rem}.trade-role small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.trade-swap-ico{color:var(--muted);width:1.1rem}.trade-summary{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}.trade-summary-col{background:var(--panel-2);border-radius:14px;padding:.7rem}.trade-summary-col h4{margin:0 0 .45rem;font-size:.85rem}.trade-cash-pill{display:inline-flex;margin:0 0 .4rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--yellow) 18%,transparent);color:var(--yellow);font-weight:700}.trade-tile-chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.trade-tile-chips li{display:flex;align-items:center;gap:.4rem;font-size:.82rem;padding:.25rem .4rem;border-radius:8px;background:#00000038;border-left:3px solid var(--band, #888)}.trade-tile-logo{width:1.25rem;height:1.25rem;flex-shrink:0;object-fit:contain}.pick .trade-tile-logo{width:1.35rem;height:1.35rem}.trade-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.trade-actions .wide{flex:1}.trade-wait{flex:1 1 100%;margin:0}button.warn-btn{background:color-mix(in srgb,var(--yellow) 22%,var(--panel-3));color:var(--yellow)}button.warn-btn:hover:not(:disabled){background:color-mix(in srgb,var(--yellow) 32%,var(--panel-3))}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.modal-head h2,.modal-head h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.15rem}.partner-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.partner{background:var(--panel-2);padding:.35rem .8rem .35rem .35rem}.partner.on{background:var(--accent);box-shadow:0 3px 0 var(--accent-deep)}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}.trade-cols section{background:var(--panel-2);border-radius:14px;padding:.7rem}.trade-cols h4{margin:0 0 .5rem}.cash-input{display:flex;align-items:center;gap:.3rem;margin-bottom:.6rem;color:var(--yellow);font-weight:600}.cash-input input{flex:1;min-width:0}.pick-list{display:flex;flex-wrap:wrap;gap:.3rem}.pick{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8rem;background:#0000004d;border:1px solid transparent}.pick.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.pick.on{background:var(--band);color:#1a1030}.winner{text-align:center;display:grid;justify-items:center;gap:.5rem}.winner h2{margin:0;font-size:2rem}.winner-avatar{animation:bob 1.4s ease-in-out infinite}.confetti span{position:fixed;top:-20px;width:10px;height:16px;border-radius:3px;animation:confetti 2.8s linear infinite}.toast{position:fixed;top:1rem;left:50%;translate:-50% 0;z-index:60;display:flex;align-items:center;gap:.5rem;background:#3a1730;border:1px solid rgba(255,92,122,.4);padding:.5rem .5rem .5rem 1rem;border-radius:99px}.entry{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:2rem;align-items:center;height:100%;padding:1.5rem 2.5rem}.entry-board{display:grid;place-items:center;min-width:0;pointer-events:none}.entry-board .board-stage{width:min(100%,calc(100vh - 3rem))}.entry-card{display:grid;gap:.85rem;padding:1.4rem;border-radius:16px}.entry-card .logo-mark{text-align:center;font-size:2.4rem}.lede{margin:-.4rem 0 0;text-align:center;color:var(--muted)}.hero-avatar{display:grid;justify-items:center;gap:.3rem}.hero-avatar>span{animation:bob 1.8s ease-in-out infinite}.token-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem;max-width:100%}.token-pick{padding:.25rem;border-radius:50%;background:transparent;box-shadow:none;transition:transform .15s ease}.token-pick:hover{transform:translateY(-3px) scale(1.06)}.token-pick.on{background:var(--panel-3);box-shadow:0 0 0 3px var(--accent)}.avatar-vibe{margin:0}.avatar-picker{width:100%;background:#ffffff0a;border:1px solid var(--line);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.55rem}.avatar-picker .card-title{margin:0}.avatar-picker-hero{display:flex;align-items:center;gap:.75rem}.avatar-picker-hero strong{display:block;font-size:1.05rem}.avatar-picker-hero p{margin:.15rem 0 0}.avatar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.avatar-opt{flex-direction:column;gap:.2rem;padding:.4rem .25rem;background:var(--panel-2);border:1px solid transparent;font-size:.68rem;font-weight:600;min-height:4.8rem}.avatar-opt:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--panel-3)}.avatar-opt.mine{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 14%,var(--panel-2))}.avatar-opt.taken{opacity:.4;cursor:not-allowed;filter:grayscale(.4)}.avatar-opt em{font-style:normal;font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.name-input{text-align:center;font-size:1.05rem}.join-row{display:flex;gap:.4rem}.join-row input{flex:1;min-width:0;text-align:center;letter-spacing:.15em;text-transform:uppercase}.conn{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:0;font-size:.82rem;color:var(--muted)}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:glow 1s ease-in-out infinite}.conn.ok .conn-dot{background:var(--mint);animation:none}.conn-rtt{opacity:.75;font-variant-numeric:tabular-nums}.conn-banner{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:.65rem;max-width:min(720px,94vw);padding:.55rem .75rem;border-radius:12px;background:#2a1830;border:1px solid color-mix(in srgb,var(--pink) 45%,transparent);color:#ffe4ef;font-size:.82rem;line-height:1.35;box-shadow:0 8px 28px #00000059}.conn-banner svg.lucide{width:1rem;height:1rem;flex-shrink:0}.conn-debug{display:grid;gap:.45rem;margin-top:.35rem;padding:.65rem .75rem;border-radius:12px;background:#00000047;border:1px solid var(--line);text-align:left}.conn-debug .conn{justify-content:flex-start;margin:0;font-weight:600;color:#f0e9ff}.conn-meta{display:grid;gap:.28rem;margin:0;font-size:.72rem;line-height:1.35;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.conn-meta>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.4rem}.conn-meta dt{margin:0;color:var(--muted)}.conn-meta dd{margin:0;color:#e8e0ff;overflow-wrap:anywhere}.small-btn{justify-self:start;font-size:.8rem;padding:.35rem .65rem}.pop{animation:pop .3s cubic-bezier(.3,1.5,.5,1) both}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}}@keyframes pawn-leap{0%{transform:translateY(0) scale(1)}18%{transform:translateY(-.15cqw) scale(1.06,.9)}45%{transform:translateY(-2.35cqw) scale(.94,1.08)}72%{transform:translateY(-.35cqw) scale(1.05,.94)}to{transform:translateY(0) scale(1)}}@keyframes shadow-leap{0%{transform:scale(1);opacity:.45}45%{transform:scale(.5);opacity:.2}to{transform:scale(1);opacity:.45}}@keyframes pulse-soft{0%,to{opacity:.7}50%{opacity:1}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10%)}}@keyframes ring{0%{transform:scale(.7);opacity:.9}to{transform:scale(1.5);opacity:0}}@keyframes glow{0%,to{opacity:1}50%{opacity:.35}}@keyframes float-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-26px);opacity:0}}@keyframes confetti{to{transform:translateY(110vh) rotate(720deg)}}.admin-modal{width:min(420px,94vw)}.admin-auth{display:flex;gap:.5rem;padding:.75rem 1.25rem 1.25rem}.admin-auth input{flex:1;min-width:0}.admin-actions{display:grid;gap:.5rem;padding:.25rem 1.25rem .75rem}.admin-actions button{justify-content:flex-start}.admin-kick-list{list-style:none;margin:0;padding:0 1.25rem 1.25rem;display:grid;gap:.45rem;max-height:280px;overflow:auto}.admin-kick-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.45rem .55rem;border-radius:10px;background:#ffffff0a}.admin-kick-list span{font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-modal .warn{margin:0 1.25rem 1rem;color:#ff8aa6;font-size:.88rem}@media(max-width:1280px){.table-shell{grid-template-columns:250px minmax(0,1fr) 280px}}@media(max-width:1000px){.table-shell{grid-template-columns:1fr;height:auto}.stage{order:-1}.board-stage{width:min(100%,92vh)}.chat-card{min-height:320px}.entry{grid-template-columns:1fr;height:auto;padding:1rem}.entry-board{display:none}}.word-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;flex-direction:column;background:#f3f3f3;color:#242424;font-family:Segoe UI,Segoe UI Variable,Calibri,Candara,system-ui,sans-serif;font-size:12px;line-height:1.3;-webkit-user-select:none;user-select:none}.word-titlebar{display:flex;align-items:center;gap:.6rem;height:30px;padding:0 0 0 6px;background:#fff;border-bottom:1px solid #e5e5e5;flex-shrink:0}.word-titlebar-left{display:flex;align-items:center;gap:.45rem;min-width:0;flex:1}.word-app-icon{width:18px;height:18px;border-radius:3px;background:linear-gradient(160deg,#2b7cd3,#185abd);color:#fff;font-weight:700;font-size:11px;display:grid;place-items:center;font-family:Segoe UI,sans-serif;flex-shrink:0}.word-quick{display:flex;align-items:center;gap:1px}.word-qbtn{width:24px;height:22px;padding:0;border:0;border-radius:3px;background:transparent;color:#424242;font-size:12px}.word-qbtn:hover{background:#f3f3f3}.word-ico-save{display:block;width:12px;height:12px;margin:0 auto;border:1.5px solid #185abd;border-radius:1px;background:#fff;box-shadow:inset 0 -3px #185abd;position:relative}.word-ico-save:after{content:"";position:absolute;top:1px;right:1px;width:4px;height:3px;background:#cce4ff}.word-doc-title{background:transparent;border:0;padding:.15rem .45rem;border-radius:3px;font-size:12px;font-weight:400;color:#242424;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-doc-title:hover{background:#f3f3f3}.word-doc-ext{color:#616161}.word-search{width:min(280px,28vw);height:22px;border:1px solid #d1d1d1;border-radius:4px;display:flex;align-items:center;padding:0 .55rem;color:#707070;background:#fafafa;flex-shrink:0}.word-window-controls{display:flex;align-self:stretch;margin-left:.35rem}.word-win-btn{width:46px;display:grid;place-items:center;font-size:11px;color:#424242}.word-win-btn.close:hover{background:#e81123;color:#fff}.word-ribbon-tabs{display:flex;align-items:flex-end;gap:0;padding:0 .35rem;background:#fff;border-bottom:1px solid #d2d2d2;flex-shrink:0;height:28px}.word-tab{border:0;background:transparent;padding:.35rem .7rem;border-radius:4px 4px 0 0;font-size:12px;font-weight:400;color:#242424;height:100%}.word-tab:hover{background:#f3f3f3}.word-tab.on{background:#f3f3f3;border:1px solid #d2d2d2;border-bottom-color:#f3f3f3;margin-bottom:-1px;font-weight:600;color:#185abd}.word-tab.file{background:#185abd;color:#fff;margin-right:.25rem;border-radius:0;height:100%}.word-tab.file:hover,.word-tab.file.on{background:#0f4a9e;color:#fff;border-color:transparent}.word-ribbon{display:flex;align-items:stretch;gap:.35rem;padding:.35rem .55rem .2rem;background:#f3f3f3;border-bottom:1px solid #d2d2d2;min-height:92px;flex-shrink:0}.word-ribbon.muted-ribbon{align-items:center;min-height:56px}.word-ribbon-empty{margin:0;color:#616161;padding:.5rem}.word-group{display:flex;flex-direction:column;justify-content:space-between;gap:.2rem;padding:0 .25rem}.word-group.grow{flex:1;min-width:0}.word-group-label{text-align:center;font-size:10px;color:#616161;padding-bottom:.1rem}.word-group-row,.word-font-row{display:flex;align-items:flex-start;gap:.2rem}.word-font-row{flex-wrap:wrap;align-items:center}.word-tool-stack{display:flex;flex-direction:column;gap:1px}.word-tool{border:1px solid transparent;background:transparent;border-radius:3px;padding:.2rem .4rem;font-size:11px;color:#242424;font-weight:400;gap:.2rem}.word-tool:hover{background:#e5e5e5;border-color:#c7c7c7}.word-tool.slim{justify-content:flex-start;font-size:11px;padding:.1rem .35rem;height:auto}.word-tool.tall{flex-direction:column;min-width:48px;min-height:58px;font-size:10px}.word-tool.sq{width:24px;height:24px;padding:0;font-size:13px}.word-tool.styles{min-width:88px}.word-paste{width:22px;height:26px;border:1.5px solid #185abd;border-radius:2px;background:linear-gradient(#fff 55%,#cce4ff 55%);margin-bottom:.15rem}.word-styles-preview{display:block;font-family:Calibri,Segoe UI,sans-serif;font-size:14px;color:#185abd;margin-bottom:.15rem}.word-find{font-size:12px;color:#185abd;font-weight:600;margin-bottom:.15rem}.word-font-box{display:inline-flex;align-items:center;height:24px;padding:0 .45rem;border:1px solid #8a8a8a;border-radius:2px;background:#fff;min-width:118px;font-size:12px}.word-font-box.narrow{min-width:36px;justify-content:center}.word-color-a{color:#c00000;font-weight:700;border-bottom:3px solid #c00000;line-height:1}.word-sep{width:1px;align-self:stretch;background:#c7c7c7;margin:.15rem .2rem 1.1rem}.word-ruler{display:flex;align-items:stretch;height:20px;background:#f3f3f3;border-bottom:1px solid #d2d2d2;flex-shrink:0;padding-left:calc(50% - min(420px,46vw))}.word-ruler-margin{width:96px;flex-shrink:0;background:repeating-linear-gradient(90deg,#e8e8e8,#e8e8e8 4px,#f3f3f3 4px,#f3f3f3 8px);border-right:1px solid #c7c7c7}.word-ruler-track{display:flex;flex:0 0 min(840px,92vw);max-width:min(840px,92vw);background:#fff;border-bottom:1px solid #c7c7c7}.word-ruler-tick{flex:1;text-align:center;font-size:9px;color:#616161;border-left:1px solid #dedede;line-height:18px}.word-workspace{flex:1;overflow:auto;background:#a0a0a0;padding:1.25rem 1rem 2rem;display:flex;justify-content:center;align-items:flex-start;-webkit-user-select:text;user-select:text}.word-page{width:min(840px,92vw);min-height:calc(min(840px,92vw)*1.294);background:#fff;box-shadow:0 0 0 1px #0000001f,0 4px 18px #00000038;padding:96px}.word-editor{min-height:100%;outline:none;font-family:Calibri,Candara,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:11pt;line-height:1.15;color:#000;caret-color:#000;word-break:break-word}.word-editor:empty:before{content:attr(data-placeholder);color:#a0a0a0;pointer-events:none}.word-statusbar{display:flex;align-items:center;gap:.65rem;height:24px;padding:0 .65rem;background:#185abd;color:#fff;font-size:12px;flex-shrink:0}.word-status-dot{width:1px;height:12px;background:#ffffff59}.word-status-spacer{flex:1}.word-zoom{letter-spacing:.04em;opacity:.95}.loan-list{display:flex;flex-direction:column;gap:.55rem}.loan-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem}.loan-card.pending{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.loan-card.active.bank{border-color:color-mix(in srgb,#f97316 50%,transparent);background:color-mix(in srgb,#f97316 8%,var(--panel-2))}.loan-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem}.loan-amount{font-weight:700;font-size:1rem}.loan-status{font-size:.65rem;padding:.15rem .45rem;border-radius:999px;background:var(--panel-3);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.loan-card.pending .loan-status{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text)}.loan-card.active .loan-status{background:color-mix(in srgb,var(--mint) 28%,transparent);color:var(--text)}.loan-card.bank .loan-status{background:color-mix(in srgb,#f97316 35%,transparent);color:#ffd7b0}.loan-card .small{margin:0;line-height:1.35}.loan-actions{display:flex;gap:.4rem;margin-top:.55rem;flex-wrap:wrap}.loan-actions .repay-btn,.loan-actions .accept-btn,.loan-actions .decline-btn{flex:1;min-width:5.5rem;padding:.45rem .55rem;border:0;border-radius:10px;font-size:.82rem;font-weight:650;cursor:pointer}.loan-actions .repay-btn{background:color-mix(in srgb,var(--mint) 55%,#0f766e);color:#04140f}.loan-actions .accept-btn{background:var(--accent);color:#0b1020}.loan-actions .decline-btn{background:color-mix(in srgb,#ef4444 70%,#7f1d1d);color:#fff}.loan-actions .repay-btn:disabled{opacity:.45;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06040eb8;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.loan-modal{width:min(420px,100%);max-height:min(90vh,640px);overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.loan-head-actions{display:inline-flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.loan-source-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.loan-source-tabs.secondary{margin-top:-.15rem}.loan-source-tabs.secondary button{font-size:.75rem;padding:.4rem .35rem;font-weight:600}.loan-source-tabs button{padding:.55rem .4rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-weight:650;font-size:.82rem;cursor:pointer}.loan-source-tabs button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel-2))}.loan-source-tabs button:disabled{opacity:.4;cursor:not-allowed}.loan-bank-warning{background:color-mix(in srgb,#f97316 12%,var(--panel-2));border:1px solid color-mix(in srgb,#f97316 40%,transparent);border-radius:12px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.45rem}.loan-bank-warning p{margin:0;font-size:.84rem;line-height:1.4;color:#ffd7b0}.loan-receive{margin:0}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.8rem;font-weight:650;color:var(--muted);display:flex;justify-content:space-between;gap:.5rem}.form-group label small{font-weight:500;opacity:.8}.form-group input,.form-group select{width:100%;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:.92rem;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.modal-actions{display:flex;gap:.5rem;margin-top:.25rem}.confirm-btn,.cancel-btn{flex:1;padding:.6rem;border:0;border-radius:10px;cursor:pointer;font-weight:700;font-size:.88rem}.confirm-btn{background:var(--accent);color:#0b1020}.confirm-btn.bank{background:#ea580c;color:#fff7ed}.confirm-btn:disabled{opacity:.45;cursor:not-allowed}.cancel-btn{background:var(--panel-3);color:var(--muted);border:1px solid var(--line)}
