:root{--bg:#0f1720;--panel:#16212e;--panel2:#1d2c3d;--ink:#e8eef4;--muted:#93a4b5;--line:#2a3b4f;--accent:#2e7d32;--accent2:#1565c0;--danger:#c62828;--gold:#f9a825;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:radial-gradient(1200px 800px at 50% -10%, #1b2a3a 0%, var(--bg) 60%);color:var(--ink)}button{font-family:inherit}input,select{color:var(--ink);border:1px solid var(--line);background:#0e1620;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:15px}input[type=number]{width:90px}.menu{text-align:center;max-width:560px;margin:0 auto;padding:32px 18px 48px}.logo-title{letter-spacing:1px;margin:12px 0 6px;font-size:44px}.tagline{color:var(--muted);margin:0 0 24px}.menu-card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:16px;margin:0 0 18px;padding:20px;box-shadow:0 8px 30px #0000004d}.menu-card h2{margin:0 0 14px;font-size:20px}.field{color:var(--muted);flex-direction:column;gap:6px;margin-bottom:12px;font-size:14px;display:flex}.field select,.field input{color:var(--ink)}.join-row{gap:8px;margin-top:10px;display:flex}.join-row input{flex:1}.player-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 4px;display:flex}.foot{color:var(--muted);margin-top:18px;font-size:13px}.btn{background:var(--panel2);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:15px;transition:filter .15s,transform 50ms}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:#0000}.btn.danger{background:var(--danger);border-color:#0000}.btn.ghost{background:0 0}.btn.big{width:100%;margin-top:6px;padding:14px;font-size:17px;font-weight:600}.btn.tiny{border-radius:7px;padding:4px 8px;font-size:12px}.link{color:var(--accent2);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table{flex-direction:column;min-height:100vh;display:flex}.table-top{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;display:flex;position:sticky;top:0}.bank-info{color:var(--muted);font-size:14px}.turn-info{font-weight:600}.table-main{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px;padding:16px;display:flex}.board{aspect-ratio:1;background:#0c141d;border:3px solid #0c141d;border-radius:10px;grid-template-rows:repeat(11,1fr);grid-template-columns:repeat(11,1fr);gap:2px;width:min(92vw,720px);display:grid}.field{cursor:default;background:#12303a;border-radius:3px;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.field-body{flex-direction:column;flex:1;justify-content:flex-start;gap:1px;padding:2px;display:flex}.group-bar{width:100%;height:18%;min-height:8px}.field-name{color:var(--ink);word-break:break-word;font-size:8px;font-weight:600;line-height:1.05}.field-price{color:var(--muted);margin-top:auto;font-size:8px}.field-corner{background:#143a2a}.field-corner .field-name{text-align:center;margin:auto;font-size:10px}.field-go{background:#14402c}.field-jail{background:#3a2a14}.field-gotojail{background:#3a1414}.field-parking{background:#14303a}.field-chance,.field-chest{background:#172a3a}.field.mortgaged{filter:grayscale(.6)brightness(.7)}.mort-badge{color:var(--gold);font-size:6px;font-weight:700}.owner-flag{border-top:12px solid;border-left:12px solid #0000;width:0;height:0;position:absolute;top:0;right:0}.houses{flex-wrap:wrap;gap:1px;display:flex}.house{background:#35d07f;border-radius:1px;width:5px;height:5px;display:inline-block}.hotel{font-size:9px}.tokens{flex-wrap:wrap;gap:1px;display:flex;position:absolute;bottom:1px;left:1px}.token{border:1px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:13px;height:13px;font-size:8px;display:flex;box-shadow:0 1px 3px #00000080}.board-center{text-align:center;background:linear-gradient(135deg,#123 0%,#0e1a24 100%);border-radius:8px;flex-direction:column;grid-area:2/2/11/11;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.brand{letter-spacing:3px;color:var(--gold);font-size:clamp(20px,5vw,46px);font-weight:800;transform:rotate(-6deg)}.brand-sub{color:var(--muted);letter-spacing:2px;margin-top:-6px;font-size:12px}.dice-big{gap:8px;font-size:clamp(28px,7vw,56px);line-height:1;display:flex}.die{color:#fff}.center-status{color:var(--ink);max-width:80%;font-size:clamp(11px,1.6vw,15px)}.panel{flex-direction:column;gap:12px;width:min(92vw,360px);display:flex}.scoreboard{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}.sb-row{border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.sb-row.active{outline:1px solid var(--accent);background:#2e7d3238}.sb-row.bankrupt{opacity:.45;text-decoration:line-through}.sb-token{border:1px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.sb-name{flex:1;font-size:14px}.sb-money{font-variant-numeric:tabular-nums;font-weight:600}.action-area{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.action-area.waiting{color:var(--muted);text-align:center}.action-area.debt{border-color:var(--danger)}.big-status{margin:0 0 10px;font-weight:600}.hint{color:var(--muted);margin:8px 0 0;font-size:13px}.log{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;flex-direction:column;gap:3px;max-height:200px;padding:10px 12px;font-size:12px;display:flex;overflow-y:auto}.log-line:first-child{color:var(--ink)}.overlay{z-index:20;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:16px;width:100%;max-width:520px;max-height:88vh;padding:22px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000080}.overlay-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px;position:absolute;top:10px;right:12px}.overlay-card h2{margin-top:0}.overlay-card .row{justify-content:center;margin-top:14px}.trade-cols{text-align:left;gap:16px;margin:12px 0;display:flex}.trade-cols>div{background:var(--panel2);border-radius:10px;flex:1;padding:10px}.trade-cols h4{margin:0 0 8px}.trade-items{margin:0;padding:0;font-size:14px;list-style:none}.trade-items li{padding:3px 0}.chk{align-items:center;gap:6px;padding:3px 0;font-size:13px;display:flex}.manage-list{text-align:left;flex-direction:column;gap:6px;margin-top:10px;display:flex}.manage-row{background:var(--panel2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.mr-name{font-size:13px}.mr-btns{flex-shrink:0;gap:4px;display:flex}.spectator-note{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:8px 16px;font-size:13px;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}@media (width<=820px){.panel{width:min(94vw,720px)}}
