:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}:root{--bg-color:#f4f5f7;--text-color:#1f2430;--surface-color:#fff;--border-color:#d8dbe2;--muted-bg:#eceef2;--muted-text:#5b6472;--accent-bg:#e4edff;--accent-text:#2f5fdb;--accent-contrast:#fff;--danger-bg:#fde8e8;--danger-text:#c62828;--success-bg:#e6f6ec;--success-text:#1e7d43;--warn-bg:#fff4e0;--warn-text:#a06400;--info-bg:#e7f4fb;--info-text:#1f6f96}@media (prefers-color-scheme:dark){:root{--bg-color:#12141a;--text-color:#e7e9ee;--surface-color:#1b1e27;--border-color:#2c3140;--muted-bg:#232733;--muted-text:#9aa3b2;--accent-bg:#1c2c4d;--accent-text:#7ea2ff;--accent-contrast:#0c1220;--danger-bg:#3a1f22;--danger-text:#ff8a8a;--success-bg:#1c3323;--success-text:#7fd89b;--warn-bg:#3a2c14;--warn-text:#f0b96b;--info-bg:#17293a;--info-text:#7fc4e8}}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--bg-color);color:var(--text-color);margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;overflow-x:hidden}button,input,select,textarea{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-color);border-radius:8px;padding:10px 12px;font-family:inherit}button{cursor:pointer;background:var(--muted-bg);min-height:44px}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{width:100%;min-height:44px}textarea{min-height:72px}a{color:var(--accent-text)}.screen{box-sizing:border-box;width:100%;min-height:100dvh}.title-page{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.title-page__panel{text-align:center;flex-direction:column;gap:16px;width:100%;max-width:420px;display:flex}.title-page__heading{margin:0;font-size:1.6rem}.title-page__tagline{color:var(--muted-text);margin:0;font-size:.9rem}.title-page__name-field{text-align:left;color:var(--muted-text);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.title-page__name-field input{text-align:left;font-size:1rem}.title-page__cta{background:var(--accent-text);color:var(--accent-contrast);border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:700}.title-page__settings-link{border:1px solid var(--border-color);color:var(--text-color);background:0 0;font-size:.85rem}.title-page__dev-link{color:var(--muted-text);background:0 0;border:none;min-height:auto;padding:4px;font-size:.75rem;text-decoration:underline}@media (width>=640px){.title-page__heading{font-size:2rem}}.settings-panel{flex-direction:column;gap:20px;display:flex}.settings-panel__group{border-bottom:1px solid var(--border-color);flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.settings-panel__group:last-of-type{border-bottom:none}.settings-panel__group-title{color:var(--muted-text);margin:0;font-size:.95rem}.settings-panel__row{align-items:center;gap:10px;font-size:.9rem;display:flex}.settings-panel__row>span:first-child{flex:none;min-width:96px}.settings-panel__row input[type=range]{background:0 0;border:none;flex:auto;width:auto;min-height:44px;padding:0}.settings-panel__row select{flex:auto}.settings-panel__value{text-align:right;min-width:3.2em;color:var(--muted-text);font-variant-numeric:tabular-nums;flex:none}.settings-panel__checkbox-row{align-items:center;gap:8px;min-height:44px;font-size:.9rem;display:flex}.settings-panel__checkbox-row input[type=checkbox]{flex:none;width:20px;height:20px;min-height:auto}.settings-panel__hint{color:var(--muted-text);margin:0;font-size:.78rem}.settings-panel__test-se{align-self:flex-start}.settings-panel__actions{justify-content:flex-end;display:flex}@media (width>=640px){.settings-panel__row>span:first-child{min-width:130px}}.settings-page{flex-direction:column;min-height:100dvh;display:flex}.settings-page__header{border-bottom:1px solid var(--border-color);background:var(--surface-color);align-items:center;gap:12px;padding:12px 16px;display:flex}.settings-page__back{min-height:44px;color:var(--accent-text);background:0 0;border:none;padding:8px;font-size:.95rem}.settings-page__heading{margin:0;font-size:1.1rem}.settings-page__body{box-sizing:border-box;flex:auto;width:100%;max-width:640px;margin:0 auto;padding:16px}@media (width>=640px){.settings-page__body{padding:24px}}.create-room-form{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.create-room-form__heading{margin:0;font-size:1rem}.create-room-form__field{color:var(--muted-text);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.create-room-form__field input,.create-room-form__field select{color:var(--text-color);font-size:1rem}.create-room-form__row{gap:10px;display:flex}.create-room-form__row .create-room-form__field{flex:1}.create-room-form__advanced-toggle{color:var(--accent-text);background:0 0;border:none;align-self:flex-start;min-height:auto;padding:4px 0;font-size:.85rem;text-decoration:underline}.create-room-form__error{color:var(--danger-text);margin:0;font-size:.85rem}@media (width>=640px){.create-room-form__submit{align-self:flex-start}}.room-card{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.room-card__main{flex:1;min-width:0}.room-card__name{overflow-wrap:anywhere;margin:0 0 4px;font-size:1rem;font-weight:700}.room-card__meta{align-items:center;gap:8px;margin:0 0 4px;font-size:.85rem;display:flex}.room-card__status{background:var(--muted-bg);color:var(--muted-text);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.room-card__status--waiting{background:var(--accent-bg);color:var(--accent-text)}.room-card__status--playing{background:var(--warn-bg);color:var(--warn-text)}.room-card__status--finished{background:var(--muted-bg);color:var(--muted-text)}.room-card__sub{color:var(--muted-text);overflow-wrap:anywhere;margin:0;font-size:.75rem}.room-card__join-button{flex-shrink:0}.room-list-page{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:16px;display:flex}.room-list-page__header{align-items:center;gap:12px;display:flex}.room-list-page__back{color:var(--muted-text);background:0 0;border:none;min-height:auto;padding:4px}.room-list-page__heading{margin:0;font-size:1.2rem}.room-list-page__list-section{flex-direction:column;gap:10px;display:flex}.room-list-page__error{background:var(--danger-bg);color:var(--danger-text);border-radius:8px;margin:0;padding:10px 12px;font-size:.85rem}.room-list-page__hint{color:var(--muted-text);text-align:center;padding:24px 0;font-size:.85rem}.room-list-page__grid{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}@media (width>=720px){.room-list-page__grid{grid-template-columns:repeat(2,1fr);display:grid}}.player-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.player-list__row{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.player-list__identity{flex-direction:column;gap:4px;min-width:0;display:flex}.player-list__name{overflow-wrap:anywhere;font-weight:600}.player-list__you{color:var(--muted-text);font-weight:400}.player-list__badges{flex-wrap:wrap;gap:4px;display:flex}.player-list__badge{background:var(--muted-bg);color:var(--muted-text);border-radius:999px;padding:2px 8px;font-size:.7rem}.player-list__badge--host{background:var(--accent-bg);color:var(--accent-text)}.player-list__badge--cpu{background:var(--info-bg);color:var(--info-text)}.player-list__badge--disconnected{background:var(--danger-bg);color:var(--danger-text)}.player-list__badge--ready{background:var(--success-bg);color:var(--success-text)}.player-list__actions{flex-shrink:0;gap:8px;display:flex}.cpu-slot-controls{flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem;display:flex}.cpu-slot-controls__hint{color:var(--danger-text);font-size:.8rem}.chat-panel{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-panel__messages{flex-direction:column;flex:1;gap:6px;min-height:160px;max-height:320px;margin:0;padding:10px 12px;list-style:none;display:flex;overflow-y:auto}.chat-panel__message{overflow-wrap:anywhere;flex-direction:column;font-size:.85rem;display:flex}.chat-panel__message--system{color:var(--muted-text);align-self:center;font-size:.78rem;font-style:italic}.chat-panel__meta{color:var(--muted-text);gap:6px;font-size:.7rem;display:flex}.chat-panel__author{font-weight:600}.chat-panel__error{color:var(--danger-text);margin:0;padding:4px 12px;font-size:.8rem}.chat-panel__form{border-top:1px solid var(--border-color);align-items:center;gap:8px;padding:8px 10px;display:flex}.chat-panel__input{flex:1;min-width:0}.chat-panel__counter{color:var(--muted-text);white-space:nowrap;font-size:.7rem}.room-waiting-page{flex-direction:column;gap:14px;max-width:960px;margin:0 auto;padding:16px;display:flex}.room-waiting-page__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.room-waiting-page__heading{overflow-wrap:anywhere;margin:0;font-size:1.2rem}.room-waiting-page__leave{border:1px solid var(--border-color);color:var(--danger-text);background:0 0;flex-shrink:0}.room-waiting-page__error{background:var(--danger-bg);color:var(--danger-text);border-radius:8px;margin:0;padding:10px 12px;font-size:.85rem}.room-waiting-page__hint{color:var(--muted-text);font-size:.85rem}.room-waiting-page__capacity{color:var(--muted-text);margin:0;font-size:.85rem}.room-waiting-page__body{flex-direction:column;gap:16px;display:flex}.room-waiting-page__main{flex-direction:column;gap:12px;display:flex}.room-waiting-page__start-button{background:var(--accent-text);color:var(--accent-contrast);border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:700}.room-waiting-page__start-button:disabled{background:var(--muted-bg);color:var(--muted-text)}.room-waiting-page__chat{flex-direction:column;display:flex}@media (width>=860px){.room-waiting-page__body{flex-direction:row;align-items:flex-start}.room-waiting-page__main{flex:2}.room-waiting-page__chat{flex:1;position:sticky;top:16px}}.effect-selector{flex-direction:column;gap:12px;display:flex}.effect-selector__notice{color:var(--muted-text);margin:0;font-size:.8rem}.effect-selector__group{border:1px solid var(--border-color);border-radius:10px;padding:8px 10px 10px}.effect-selector__group legend{color:var(--muted-text);padding:0 4px;font-size:.8rem;font-weight:700}.effect-selector__chips{flex-wrap:wrap;gap:8px;display:flex}.effect-selector__chip{border:1px solid var(--border-color);background:var(--muted-bg);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:8px 10px;font-size:.8rem;display:inline-flex}.effect-selector__chip--selected{background:var(--accent-bg);border-color:var(--accent-text);color:var(--accent-text)}.effect-selector__chip input{width:16px;height:16px;margin:0}.effect-selector__chip-cost{opacity:.8;font-weight:700}.card-preview{border:2px solid var(--accent-text);background:var(--surface-color);border-radius:14px;flex-direction:column;gap:8px;width:100%;max-width:280px;padding:14px;display:flex;box-shadow:0 4px 10px #00000014}.card-preview__timing{color:var(--muted-text);margin:0;font-size:.7rem}.card-preview__name{overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:700}.card-preview__description{color:var(--muted-text);overflow-wrap:anywhere;margin:0;font-size:.85rem}.card-preview__effects{margin:0;padding-left:18px;font-size:.85rem}.card-preview__effect-empty{color:var(--muted-text);margin-left:-18px;padding-left:-18px;list-style:none}.card-preview__cost{text-align:right;margin:0;font-size:.9rem;font-weight:700}.card-creation-page{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:16px;display:flex}.card-creation-page__heading{margin:0 0 6px;font-size:1.2rem}.card-creation-page__notice{color:var(--muted-text);margin:0;font-size:.85rem}.card-creation-page__error{background:var(--danger-bg);color:var(--danger-text);border-radius:8px;margin:0;padding:10px 12px;font-size:.85rem}.card-creation-page__submitted{text-align:center;color:var(--success-text);background:var(--success-bg);border-radius:10px;padding:20px}.card-creation-page__body{flex-direction:column-reverse;gap:20px;display:flex}.card-creation-page__form{flex-direction:column;gap:12px;display:flex}.card-creation-page__field{color:var(--muted-text);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.card-creation-page__field input,.card-creation-page__field textarea{color:var(--text-color);resize:vertical;font-size:1rem}.card-creation-page__timing{border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;gap:10px;padding:8px 10px;display:flex}.card-creation-page__timing legend{color:var(--muted-text);padding:0 4px;font-size:.8rem}.card-creation-page__timing-option{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.card-creation-page__budget{margin:0;font-size:.85rem;font-weight:600}.card-creation-page__violations{color:var(--danger-text);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.8rem;display:flex}.card-creation-page__submit{background:var(--accent-text);color:var(--accent-contrast);border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:700}.card-creation-page__submit:disabled{background:var(--muted-bg);color:var(--muted-text)}.card-creation-page__preview{justify-content:center;display:flex}@media (width>=860px){.card-creation-page__body{flex-direction:row;align-items:flex-start}.card-creation-page__form{flex:2}.card-creation-page__preview{flex:1;position:sticky;top:16px}}.game-modal-backdrop{padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));box-sizing:border-box;z-index:40;background:#0f11168c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-modal{overscroll-behavior:contain;background:var(--surface-color);width:100%;max-width:420px;max-height:90dvh;color:var(--text-color);border:1px solid var(--border-color);box-sizing:border-box;border-radius:12px;padding:16px;overflow-y:auto}.game-modal__title{margin:0 0 12px;font-size:1.05rem}.game-modal__body{flex-direction:column;gap:10px;display:flex}@media (width<=640px){.game-modal-backdrop{align-items:flex-end;padding:0}.game-modal{width:100%;max-width:100%;max-height:85dvh;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0}}.topbar{background:var(--surface-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;grid-area:top;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.topbar__main{flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.topbar__my-turn{color:var(--accent-text);margin-left:4px}.topbar__phase{color:var(--muted-text)}.topbar__side{align-items:center;gap:8px;display:flex}.topbar__status{background:var(--muted-bg);color:var(--muted-text);border-radius:999px;padding:4px 8px;font-size:.8rem}.topbar__status--ok{background:var(--success-bg);color:var(--success-text)}.topbar__status--warn{background:var(--warn-bg);color:var(--warn-text)}.topbar__status--danger{background:var(--danger-bg);color:var(--danger-text)}.topbar__settings-button{padding:6px 10px;font-size:.8rem}.topbar__menu-button{display:none}@media (width<=720px){.topbar__menu-button{display:inline-flex}}.route-choice-banner{box-sizing:border-box;background:var(--surface-color);border:1px solid var(--border-color);z-index:20;border-radius:10px;max-width:calc(100% - 24px);padding:10px 14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.route-choice-banner__title{margin:0 0 6px;font-size:.85rem}.route-choice-banner__options{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.route-choice-banner__options button{white-space:normal;overflow-wrap:anywhere}.decision-dialog__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.decision-dialog__list button{text-align:left;overflow-wrap:anywhere;width:100%}.decision-dialog__hint{color:var(--muted-text);overflow-wrap:anywhere;font-size:.85rem}.card-use-banner{background:var(--info-bg);color:var(--info-text);border-radius:8px;flex-direction:column;grid-area:banner;gap:6px;margin:0 12px;padding:8px 12px;display:flex}.space-creation-seam{flex-direction:column;gap:8px;display:flex}.board-area{background:#0f172a;grid-area:board;min-width:0;min-height:320px;position:relative}.board-area__canvas{width:100%;height:100%}@media (height<=480px) and (orientation:landscape){.board-area{min-height:140px}}.hand-panel{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));background:var(--surface-color);border-top:1px solid var(--border-color);flex-direction:column;grid-area:hand;gap:8px;min-width:0;display:flex}.hand-panel__cards{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;min-width:0;margin:0;padding:0 0 4px;scroll-padding-inline:4px;list-style:none;display:flex;overflow:auto hidden}.hand-panel__cards li{scroll-snap-align:start;flex:none}.hand-card{text-align:left;background:var(--muted-bg);box-sizing:border-box;flex-direction:column;gap:4px;min-width:140px;max-width:180px;display:flex}.hand-card--playable{border-color:var(--accent-text)}.hand-card--disabled{opacity:.55}.hand-card__name{overflow-wrap:anywhere;font-size:.85rem;font-weight:700}.hand-card__desc{color:var(--muted-text);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.72rem;display:-webkit-box;overflow:hidden}.hand-card__target-list{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.hand-card__target-list button{overflow-wrap:anywhere;width:100%}.hand-panel__actions{justify-content:center;display:flex}.hand-panel__roll-button{background:var(--accent-bg);min-width:200px;color:var(--accent-text);font-weight:700}@media (height<=480px) and (orientation:landscape){.hand-panel{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:center;gap:8px}.hand-panel__cards{flex:auto;padding-bottom:0}.hand-card{min-width:120px;max-width:150px}.hand-card__desc{display:none}.hand-panel__actions{flex:none}.hand-panel__roll-button{min-width:120px}}.assets-panel{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.assets-panel__row{border:1px solid var(--border-color);border-radius:8px;padding:8px}.assets-panel__name{justify-content:space-between;font-size:.82rem;font-weight:700;display:flex}.assets-panel__category{color:var(--muted-text);font-size:.7rem;font-weight:400}.assets-panel__meta{color:var(--muted-text);flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.72rem;display:flex}.assets-panel__empty{color:var(--muted-text);font-size:.8rem}.career-panel__summary{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.career-panel__summary dt{color:var(--muted-text);font-size:.7rem}.career-panel__summary dd{margin:0;font-size:.85rem;font-weight:700}.career-panel__unemployed{color:var(--muted-text);font-size:.85rem}.career-panel__business{border-top:1px solid var(--border-color);margin-top:10px;padding-top:8px;font-size:.78rem}.career-panel__business h3{margin:0 0 4px;font-size:.82rem}.career-panel__meta{color:var(--muted-text);margin-top:10px;font-size:.75rem}.players-panel{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.players-panel__row{border:1px solid var(--border-color);border-radius:8px;padding:8px}.players-panel__row--current{border-color:var(--accent-text);background:var(--accent-bg)}.players-panel__name{align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.players-panel__me-badge{background:var(--muted-bg);border-radius:999px;padding:1px 6px;font-size:.7rem}.players-panel__disconnected{color:var(--danger-text);font-size:.7rem}.players-panel__meta{color:var(--muted-text);flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.72rem;display:flex}.players-panel__finished{color:var(--success-text)}.bank-panel__summary{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.bank-panel__summary dt{color:var(--muted-text);font-size:.7rem}.bank-panel__summary dd{margin:0;font-weight:700}.bank-panel__section-title{margin:12px 0 4px;font-size:.85rem}.bank-panel__debt-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.bank-panel__empty{color:var(--muted-text);font-size:.8rem}.insurance-panel{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.insurance-panel__row{border:1px solid var(--border-color);border-radius:8px;flex-direction:column;padding:6px 8px;display:flex}.insurance-panel__name{font-size:.82rem;font-weight:700}.insurance-panel__meta{color:var(--muted-text);font-size:.7rem}.insurance-panel__empty{color:var(--muted-text);font-size:.8rem}.log-panel{flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.log-panel__entry{background:var(--muted-bg);border-radius:6px;padding:4px 6px;font-size:.78rem}.log-panel__entry--warning{background:var(--warn-bg);color:var(--warn-text)}.log-panel__entry--system{background:var(--info-bg);color:var(--info-text)}.log-panel__entry--success{background:var(--success-bg);color:var(--success-text)}.log-panel__empty{color:var(--muted-text);font-size:.8rem}.side-panel-tabs{flex-direction:column;height:100%;min-height:0;display:flex}.side-panel-tabs__tablist{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.side-panel-tabs__tab{background:var(--muted-bg);min-height:36px;padding:4px 10px;font-size:.78rem}.side-panel-tabs__tab--active{background:var(--accent-bg);color:var(--accent-text)}.side-panel-tabs__body{flex:1;padding:10px;overflow-y:auto}.board-edit{z-index:30;background:var(--surface-color);max-height:60dvh;color:var(--text-color);border-top:1px solid var(--border-color);padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));box-sizing:border-box;border-radius:16px 16px 0 0;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 16px #00000040}.board-edit--narrow{max-height:70dvh}.board-edit__header{flex-direction:column;gap:4px;display:flex}.board-edit__title{margin:0;font-size:1rem}.board-edit__progress{color:var(--muted-text);margin:0;font-size:.85rem}.board-edit__steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board-edit__steps li{background:var(--muted-bg);color:var(--muted-text);border-radius:999px;padding:4px 8px;font-size:.78rem}.board-edit__steps li[aria-current=step]{background:var(--accent-bg);color:var(--accent-text);font-weight:600}.board-edit__hint{color:var(--muted-text);margin:0;font-size:.85rem}.board-edit__candidate-summary{margin:0;font-weight:600}.board-edit__coords{flex-wrap:wrap;gap:10px;display:flex}.board-edit__coords label{flex-direction:column;flex:1;gap:4px;min-width:100px;font-size:.8rem;display:flex}.board-edit__actions{flex-wrap:wrap;gap:8px;display:flex}.candidate-tray{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:40dvh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.candidate-tray__button{text-align:left;border-width:2px;align-items:flex-start;gap:8px;width:100%;min-height:44px;padding:8px;display:flex}.candidate-tray__icon{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;display:flex}.candidate-tray__body{flex-direction:column;gap:2px;min-width:0;display:flex}.candidate-tray__title{font-size:.85rem;font-weight:600}.candidate-tray__kind{color:var(--muted-text);font-size:.7rem}.candidate-tray__description,.candidate-tray__effect{color:var(--muted-text);font-size:.75rem}.connection-picker{flex-direction:column;gap:10px;display:flex}.connection-picker__group{border:1px solid var(--border-color);border-radius:8px;padding:8px}.connection-picker__list{flex-direction:column;gap:6px;max-height:30dvh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.connection-picker__option{align-items:center;gap:8px;min-height:44px;display:flex}.connection-picker__shortcut,.connection-picker__road-type{align-items:center;gap:8px;display:flex}.board-edit__placed-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board-edit__placed-list li{justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;display:flex}.board-edit__bulk-actions{gap:8px;margin-top:6px;display:flex}.board-edit__violations{color:var(--danger-text);background:var(--danger-bg);border-radius:8px;margin:0;padding:8px 8px 8px 24px;font-size:.8rem}.board-edit__ok-hint{color:var(--success-text);background:var(--success-bg);border-radius:8px;margin:0;padding:6px 10px;font-size:.8rem}.board-edit__footer{justify-content:flex-end;gap:8px;display:flex}.board-edit__confirm{background:var(--accent-bg);color:var(--accent-text);font-weight:600}@media (width>=720px){.board-edit{border-radius:16px 16px 0 0;width:min(720px,92vw);max-height:55dvh;left:50%;right:auto;transform:translate(-50%)}}@media (width>=960px){.board-edit{max-height:48dvh}}.game-screen{background:var(--bg-color);height:100dvh;color:var(--text-color);grid-template:"top top""board side"1fr"banner banner""hand hand"/minmax(0,1fr) 280px;display:grid;overflow:hidden}.game-screen>*{min-width:0}.game-screen__side{border-left:1px solid var(--border-color);background:var(--surface-color);grid-area:side;min-height:0;overflow-y:auto}.game-screen__host-lost{color:#fff;text-align:center;z-index:60;background:#0f1116d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.game-screen__toasts{z-index:50;flex-direction:column;gap:8px;max-width:min(320px,100vw - 24px);display:flex;position:fixed;top:12px;right:12px}.game-toast{background:var(--muted-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.82rem;display:flex;box-shadow:0 2px 8px #0003}.game-toast--error{background:var(--danger-bg);color:var(--danger-text)}.game-toast--info{background:var(--info-bg);color:var(--info-text)}.game-toast button{background:0 0;border:none;min-width:auto;min-height:auto;padding:2px 6px}.game-drawer{z-index:45;background:var(--surface-color);flex-direction:column;display:flex;position:fixed;inset:0}.game-drawer__close{align-self:flex-end;margin:8px}@media (width<=720px){.game-screen{grid-template:"top""board"1fr"banner""hand"/minmax(0,1fr)}}.placeholder-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;padding:24px 16px;display:flex}.placeholder-page__heading{margin:0;font-size:1.3rem}.placeholder-page__body{max-width:480px;color:var(--muted-text);overflow-wrap:anywhere;margin:0}.placeholder-page__error{background:var(--danger-bg);color:var(--danger-text);overflow-wrap:anywhere;border-radius:8px;max-width:480px;margin:0;padding:10px 12px;font-size:.85rem}.result-screen{flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:16px;display:flex}.result-screen__heading{text-align:center}.result-screen__section h2{border-bottom:1px solid var(--border-color);padding-bottom:4px;font-size:1rem}.result-screen__ranking,.result-screen__goal-ranking{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.result-screen__ranking li{border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.result-screen__winner{background:var(--success-bg);border-color:var(--success-text)!important}.result-screen__rank-number{min-width:44px;font-weight:700}.result-screen__winner-badge{background:var(--success-text);color:var(--surface-color);border-radius:999px;padding:2px 8px;font-size:.7rem}.result-screen__net-worth{margin-left:auto;font-weight:700}.result-screen__settlements{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.result-screen__settlement-card{border:1px solid var(--border-color);background:var(--surface-color);border-radius:10px;padding:12px}.result-screen__breakdown{grid-template-columns:1fr auto;gap:2px 8px;margin:8px 0;font-size:.8rem;display:grid}.result-screen__breakdown dt{color:var(--muted-text)}.result-screen__breakdown dd{text-align:right;margin:0}.result-screen__final-net-worth{font-weight:700;display:contents}.result-screen__stats{color:var(--muted-text);grid-template-columns:1fr auto;gap:2px 8px;margin:4px 0 0;padding:0;font-size:.75rem;list-style:none;display:grid}
