@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:100;src:url(/assets/onest-latin-100-normal-DLXL-llt.woff2) format("woff2"),url(/assets/onest-latin-100-normal-4wr9CQWr.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:200;src:url(/assets/onest-latin-200-normal-RFF8ZXvp.woff2) format("woff2"),url(/assets/onest-latin-200-normal-B98ucyux.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/onest-latin-300-normal-DrpI1uke.woff2) format("woff2"),url(/assets/onest-latin-300-normal-vBF3HzYo.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-latin-400-normal-bladozIj.woff2) format("woff2"),url(/assets/onest-latin-400-normal-BAzPRZHg.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-latin-500-normal-qHiQtL66.woff2) format("woff2"),url(/assets/onest-latin-500-normal-oFTiz6Nq.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-latin-600-normal-jVaZHx2Z.woff2) format("woff2"),url(/assets/onest-latin-600-normal-6nn5mF7m.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/onest-latin-700-normal-Bd6qVL4Q.woff2) format("woff2"),url(/assets/onest-latin-700-normal-XTvQgpoh.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/onest-latin-800-normal-Bj4kkdU9.woff2) format("woff2"),url(/assets/onest-latin-800-normal-BoZfnNRa.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/onest-latin-900-normal-D9bqPV3E.woff2) format("woff2"),url(/assets/onest-latin-900-normal-CkQamDi9.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:100;src:url(/assets/onest-cyrillic-100-normal-PXfF0wcm.woff2) format("woff2"),url(/assets/onest-cyrillic-100-normal-BzaRAqqs.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:200;src:url(/assets/onest-cyrillic-200-normal-BXKiH7Hz.woff2) format("woff2"),url(/assets/onest-cyrillic-200-normal-_IDzTljp.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/onest-cyrillic-300-normal-CD-1T3GB.woff2) format("woff2"),url(/assets/onest-cyrillic-300-normal-Clj379Po.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-cyrillic-400-normal-DH8vlB-A.woff2) format("woff2"),url(/assets/onest-cyrillic-400-normal-BxvCLB5P.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-cyrillic-500-normal-DHyr8B2c.woff2) format("woff2"),url(/assets/onest-cyrillic-500-normal-CyY1vN0Q.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-cyrillic-600-normal-DiaWg2oX.woff2) format("woff2"),url(/assets/onest-cyrillic-600-normal-CXIKc6w5.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/onest-cyrillic-700-normal-CwpXuTGk.woff2) format("woff2"),url(/assets/onest-cyrillic-700-normal-DOtXtm0s.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/onest-cyrillic-800-normal-BvLlQFJL.woff2) format("woff2"),url(/assets/onest-cyrillic-800-normal--PCHELnA.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/onest-cyrillic-900-normal-CgrV0-_3.woff2) format("woff2"),url(/assets/onest-cyrillic-900-normal-Db2jskkB.woff) format("woff")}*{margin:0;padding:0;box-sizing:border-box}:root{--font-ui: "Onest", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "Onest", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bg-primary: #121822;--bg-secondary: #151d29;--bg-card: rgba(26, 33, 45, .72);--bg-panel: rgba(20, 28, 39, .78);--text-primary: #e9eef4;--text-secondary: #b3aa9d;--text-dim: #7d766a;--accent-primary: #d38d32;--accent-secondary: #b79668;--accent-warn: #ff8c2e;--accent-success: #c9a469;--panel-line: rgba(198, 184, 164, .2);--panel-line-bright: rgba(219, 204, 182, .34);--panel-shadow: 0 20px 48px rgba(2, 8, 16, .55);--color-core: #e38a2a;--color-infra: #8ca85a;--color-ops: #a279c4;--color-ai: #45a8b0;--color-business: #e1ba71;--color-risky: #c45646;--glow-core: 0 0 8px rgba(211, 141, 50, .35);--glow-infra: 0 0 8px rgba(180, 154, 113, .3);--glow-ops: 0 0 8px rgba(159, 143, 122, .3);--glow-ai: 0 0 8px rgba(200, 174, 134, .32);--glow-business: 0 0 8px rgba(225, 186, 113, .35);--glow-risky: 0 0 8px rgba(188, 106, 94, .35);--success: #7fe15e;--error: #ff5c5c;--warning: #ffbc56;--border: rgba(187, 173, 152, .3);--border-bright: rgba(224, 209, 186, .52);--radius: 2px;--radius-lg: 4px;--btn-primary-bg-top: #4a3418;--btn-primary-bg-bottom: #332313;--btn-primary-border: #c48324;--btn-primary-text: #ecd8b8;--btn-secondary-bg: rgba(32, 37, 45, .86);--btn-secondary-border: #97a2ad;--btn-secondary-text: #8f99a5;--icon-btn-text: #ffffff;--icon-btn-badge-border: #ffffff;--icon-btn-badge-text: #d4a84a;--icon-btn-badge-size: 28px;--accent-primary-hover: #f0a53a;--hud-icon-size: 34px;--hud-icon-radius: 2px;--hud-icon-border: rgba(255, 255, 255, .5);--hud-icon-border-hover: rgba(255, 255, 255, .85);--hud-icon-bg: transparent;--hud-icon-bg-hover: transparent;--hud-icon-color: var(--accent-primary);--hud-icon-color-hover: var(--accent-primary-hover);--panel-surface-top: rgba(34, 32, 29, .72);--panel-surface-bottom: rgba(24, 23, 21, .8);--panel-surface: linear-gradient(180deg, var(--panel-surface-top), var(--panel-surface-bottom));--panel-surface-border: rgba(210, 197, 178, .14);--modal-backdrop: rgba(5, 9, 16, .8);--glass-surface-top: rgba(255, 255, 255, .12);--glass-surface-bottom: rgba(255, 255, 255, .07);--glass-surface: linear-gradient(180deg, var(--glass-surface-top), var(--glass-surface-bottom));--glass-surface-shadow: 0 20px 36px rgba(5, 9, 16, .34);--glass-surface-blur: blur(8px);--icon-credits: var(--accent-primary);--icon-vp: var(--accent-primary);--icon-income: var(--success);--icon-debt: var(--error);--icon-time: var(--text-secondary);--icon-release: var(--accent-primary);--icon-neutral: var(--text-secondary)}html,body,#root{height:100%;width:100%;overflow:hidden}html{font-size:16px}body{font-family:var(--font-ui);font-size:16px;line-height:1.5;background:linear-gradient(122deg,#b87c271f,#121d2c00 42%,#2c81a51a),linear-gradient(125deg,#0a111b,#111d2e 46%,#0d1a2a);color:var(--text-primary);-webkit-font-smoothing:antialiased;letter-spacing:.04em}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#090e171f,#0509107a)}a,a:visited{color:var(--accent-primary)}a:hover,a:focus-visible{color:#efba72}input,.ui-action-btn,select,textarea{font-family:var(--font-ui);font-size:inherit;line-height:inherit}.auth-page{font-family:var(--font-ui);display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;position:relative;gap:28px;flex-direction:column}.auth-page-title{margin:0;color:var(--text-primary);font-size:28px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;text-align:center}.auth-page .ui-action-btn,.auth-page input,.auth-page .ui-label,.auth-page a,.auth-page p,.auth-page h1,.auth-page h2{font-family:var(--font-ui)}.auth-page .btn-primary,.auth-page .btn-oauth{width:100%;min-height:52px;padding-top:13px;padding-bottom:13px;font-size:15px;font-weight:400;letter-spacing:.08em;border-radius:2px}.auth-page:before{content:none}.ui-box{background:var(--glass-surface);border-radius:0;border:0;border-left:6px solid var(--accent-primary);box-shadow:var(--glass-surface-shadow);-webkit-backdrop-filter:var(--glass-surface-blur);backdrop-filter:var(--glass-surface-blur)}.auth-card{padding:40px;width:100%;max-width:400px;position:relative}.auth-card h1{text-align:center;color:var(--accent-primary);margin-bottom:8px;font-size:28px;letter-spacing:1.4px;text-transform:uppercase;font-family:inherit}.auth-card h2{text-align:center;margin-bottom:24px;font-weight:500;color:var(--text-secondary)}.form-group{margin-bottom:16px}.ui-label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--text-primary)}.ui-input{width:100%;min-height:56px;padding:14px 18px;border:1px solid var(--panel-surface-border);border-radius:2px;background:var(--panel-surface);color:var(--text-primary);font-size:16px;letter-spacing:.02em;transition:border-color .16s ease,color .16s ease}.ui-input::placeholder{color:var(--text-dim);letter-spacing:.05em}.ui-input:focus{outline:none;border-color:var(--accent-primary)}.btn-text{background:transparent;border:1px solid var(--panel-surface-border);border-radius:2px;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:5px 10px;font-family:inherit;transition:border-color .2s,color .2s,transform .15s}.btn-text:hover{border-color:var(--hud-icon-border-hover);color:var(--text-primary);transform:translateY(-1px)}.btn-oauth{width:100%;padding:10px;margin-top:8px;background:transparent;color:var(--text-secondary);border:1px solid var(--panel-surface-border);border-radius:2px;cursor:pointer}.auth-divider{text-align:center;margin:20px 0;color:var(--text-secondary);font-size:14px}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.auth-switch a{color:var(--accent-primary);text-decoration:none}.error-message{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error);padding:10px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}.lobby-page{height:100vh;display:flex;flex-direction:column}.lobby-content{flex:1;overflow-y:auto;padding:20px 24px 28px;max-width:920px;margin:0 auto;width:100%}.lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.action-card{padding:22px 22px 20px;position:relative}.action-card:before{display:none}.action-card h2{margin-bottom:8px;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary)}.action-card p{color:var(--text-secondary);margin-bottom:14px;font-size:13px}.game-mode-switch{display:flex;gap:8px;margin-bottom:12px}.game-mode-switch .ui-mode-switch-option.active{border-color:var(--accent-primary);color:var(--accent-primary);background:transparent}.action-card form{display:grid;gap:8px}.action-card .ui-input{flex:1;text-transform:uppercase;letter-spacing:2px;text-align:center}.invite-code{margin-top:16px;text-align:center}.invite-code code{display:inline-block;font-size:22px;letter-spacing:.18em;color:var(--accent-primary);padding:10px 18px;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;margin-top:8px}.game-list h2{margin-bottom:12px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.game-card{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-height:92px;padding:12px 14px;margin-bottom:8px;transition:transform .15s;position:relative}.game-card:before{display:none}.game-card-clickable{cursor:pointer}.game-card-clickable:hover{transform:translateY(-1px)}.game-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-card-body{display:flex;flex-direction:column;gap:6px;min-height:44px}.game-mode-label{font-size:12px;color:var(--text-secondary)}.review-mode{width:min(1240px,100%);margin:12px auto 24px;display:flex;flex-direction:column;gap:14px}.review-mode-brief.ui-box{width:100%;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:var(--panel-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.review-mode-brief .ui-box-body{padding:20px 22px}.review-brief-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.review-mode-brief h2{margin:0;font-size:28px;line-height:1.15;letter-spacing:.02em;color:var(--text-primary);font-weight:700;text-transform:uppercase}.review-brief-domain{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);border:0;background:transparent;padding:0}.review-brief-description{margin:0 0 14px;color:var(--text-secondary);font-size:15px;line-height:1.5}.review-brief-meta{display:flex;flex-wrap:wrap;gap:24px;padding-top:12px;border-top:1px solid var(--panel-surface-border)}.review-kpi{display:inline-flex;flex-direction:column;gap:4px;padding:0;border:0;background:transparent;color:var(--text-primary)}.review-kpi .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary)}.review-kpi strong{color:var(--text-primary);font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.review-kpi.risk strong{color:var(--error)}.review-mode-grid{display:grid;grid-template-columns:360px 1fr;gap:14px}.review-panel.ui-box{width:100%;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:var(--panel-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0}.review-panel .ui-box-body{padding:18px 20px}.review-panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--panel-surface-border)}.review-panel-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em}.review-subtitle{font-size:12px;color:var(--text-secondary)}.review-requirements-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}.review-requirement-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--text-primary);padding-left:10px;border-left:2px solid var(--accent-primary)}.review-requirement-item .marker{display:none}.review-submit-box{padding-top:14px;margin-top:14px;border-top:1px solid var(--panel-surface-border);display:flex;flex-direction:column;gap:8px}.review-submit-btn{width:100%}.review-submit-meta{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.review-link-controls{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--panel-surface-border);display:flex;flex-direction:column;gap:8px}.review-link-controls .btn-text.active,.review-link-controls .ui-action-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:transparent}.review-link-type-row{display:flex;gap:6px;flex-wrap:wrap}.review-link-hint{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.review-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:16px}.review-module-chip{border:1px solid var(--panel-surface-border);border-left:2px solid var(--accent-primary);border-radius:0;padding:10px 12px;background:var(--panel-surface);color:var(--text-primary);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,color .15s ease}.review-module-chip .name{font-size:13px;font-weight:700;line-height:1.2}.review-module-chip:hover{border-color:var(--accent-primary)}.review-module-chip.selected{border-left-color:var(--success);color:var(--success)}.review-board-scroll{width:100%;overflow-x:auto;overflow-y:hidden}.review-board{width:860px;min-width:860px;height:460px;border:1px solid var(--panel-surface-border);border-radius:0;position:relative;overflow:hidden;background:transparent}.review-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--panel-surface-border) 1px,transparent 1px),linear-gradient(90deg,var(--panel-surface-border) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:.5}.review-board.link-mode{border-color:var(--accent-primary)}.review-board-links{position:absolute;left:0;top:0;pointer-events:none}.review-board-link-line{stroke:var(--accent-primary);stroke-width:2;stroke-linecap:round}.review-board-link-line.transport-sync{stroke:var(--accent-primary)}.review-board-link-line.transport-async{stroke:var(--color-ai);stroke-dasharray:6 5}.review-board-link-line.operation-read{stroke:var(--color-business)}.review-board-link-line.operation-write{stroke:var(--error)}.review-board-link-line.operation-command{stroke-width:3}.review-board-link-line.operation-event{stroke-dasharray:4 3}.review-board-node{position:absolute;width:136px;min-height:56px;border-radius:0;border:1px solid var(--panel-surface-border);border-left:2px solid var(--accent-primary);background:var(--panel-surface),var(--bg-primary);color:var(--text-primary);padding:8px 10px;cursor:grab;-webkit-user-select:none;user-select:none;z-index:2}.review-board-node .node-title{font-size:13px;line-height:1.2;font-weight:700;color:var(--text-primary)}.review-board-node .node-type{margin-top:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary)}.review-board-node:active{cursor:grabbing}.review-board-node.link-anchor{border-left-color:var(--success)}.review-board-node.link-anchor .node-type{color:var(--success)}.review-results.ui-box{width:100%;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:var(--panel-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.review-results .ui-box-body{padding:18px 20px}.review-results h3{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.12em}.review-results>p{margin:0 0 12px;font-size:14px;color:var(--text-secondary)}.review-results>p strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.review-results-grid{margin-top:12px;padding-top:14px;border-top:1px solid var(--panel-surface-border);display:grid;gap:14px;grid-template-columns:1fr 1fr}.review-result-card{border:0;border-left:2px solid var(--accent-primary);border-radius:0;padding:4px 12px;background:transparent}.review-result-card h4{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.14em}.review-result-card p{margin:0 0 4px;font-size:13px;color:var(--text-primary);line-height:1.4}.review-result-card p strong{color:var(--accent-primary);font-variant-numeric:tabular-nums}.review-reference-list{display:flex;flex-wrap:wrap;gap:6px}.review-reference-chip{border:1px solid var(--panel-surface-border);border-left:2px solid var(--accent-primary);border-radius:0;padding:4px 10px;font-size:12px;color:var(--text-primary)}@media(max-width:1439px){.review-mode{margin:10px 12px 20px}.review-mode-grid{grid-template-columns:320px 1fr;gap:12px}.review-mode-brief .ui-box-body{padding:16px 18px}.review-mode-brief h2{font-size:22px}.review-panel .ui-box-body{padding:14px 16px}.review-panel-header h3{font-size:14px}.review-module-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.review-board{width:auto;min-width:0;max-width:100%}}.game-date{font-size:12px;color:var(--text-dim);white-space:nowrap}.game-matchup{font-size:13px;color:var(--text-primary);line-height:1.3}.game-invite-code{color:var(--accent-primary);letter-spacing:.18em;font-size:14px;font-weight:700;width:fit-content}.game-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border:0;border-left:2px solid var(--accent-primary);border-radius:0;background:transparent}.game-score-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-secondary)}.game-score-name:first-child{text-align:right}.game-score-name:last-child{text-align:left}.game-score-value{min-width:28px;text-align:center;padding:3px 6px;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.game-score-separator{color:var(--text-dim);font-size:13px;font-weight:700}.game-card-own-waiting{padding-right:108px}.game-card-delete-btn{position:absolute;top:10px;right:10px;z-index:2;padding:3px 8px;font-size:12px}.game-page{--metric-icon-color: var(--accent-primary);--metric-icon-size: 24px;--metric-divider-color: var(--panel-surface-border);--metric-divider-height: 32px;--metric-divider-gap: 10px;--metric-label-color: var(--text-secondary);--metric-label-size: 13px;--metric-label-weight: 700;--metric-value-color: var(--text-primary);--metric-value-size: 15px;--metric-value-weight: 700;--metric-gap: 14px;height:100vh;display:flex;flex-direction:column;background:transparent;position:relative;gap:10px;padding:10px}.game-page.review-layout{overflow-y:auto;overflow-x:hidden}.game-page:before{content:none}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 18px;border:0;border-radius:0;background:transparent;box-shadow:none;position:relative;z-index:2}.game-hud-left{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto}.game-hud-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.game-hud-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.game-hud-pill.metric{display:inline-flex;align-items:center;gap:8px;padding:0 10px;min-height:38px;background:transparent;border:0;color:var(--text-primary)}.game-hud-pill.metric svg{width:var(--metric-icon-size);height:var(--metric-icon-size);color:var(--metric-icon-color);flex-shrink:0}.game-hud-pill.metric .metric-divider{width:1px;height:var(--metric-divider-height);background:var(--metric-divider-color);flex-shrink:0;margin:0 var(--metric-divider-gap)}.game-hud-pill.metric .metric-copy{display:inline-flex;flex-direction:column;gap:2px;line-height:1;min-width:0}.game-hud-pill.metric .metric-label{font-size:var(--metric-label-size);font-weight:var(--metric-label-weight);letter-spacing:.08em;text-transform:uppercase;color:var(--metric-label-color);white-space:nowrap;line-height:1.2}.game-hud-pill.metric .metric-value{font-size:var(--metric-value-size);font-weight:var(--metric-value-weight);letter-spacing:.02em;color:var(--metric-value-color);white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums}.hud-icon{width:var(--hud-icon-size);height:var(--hud-icon-size);padding:0;border-radius:var(--hud-icon-radius);border:1px solid var(--hud-icon-border);background:var(--hud-icon-bg);color:var(--hud-icon-color);line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.hud-icon svg{display:block;width:18px;height:18px}.hud-icon:hover:not(:disabled){border-color:var(--hud-icon-border-hover);color:var(--hud-icon-color-hover);background:var(--hud-icon-bg-hover)}.hud-connection{display:inline-flex;align-items:center;gap:8px;height:var(--hud-icon-size);padding:0 12px;border:1px solid var(--hud-icon-border);background:var(--hud-icon-bg);border-radius:var(--hud-icon-radius);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hud-icon-color);font-variant-numeric:tabular-nums}.hud-connection-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);box-shadow:0 0 0 1px var(--hud-icon-border);flex-shrink:0}.hud-connection[data-status=connected] .hud-connection-dot{background:var(--success);box-shadow:0 0 10px color-mix(in srgb,var(--success) 55%,transparent)}.hud-connection[data-status=connecting] .hud-connection-dot{background:var(--warning);box-shadow:0 0 10px color-mix(in srgb,var(--warning) 55%,transparent);animation:hud-connection-pulse 1.2s ease-in-out infinite}.hud-connection[data-status=disconnected] .hud-connection-dot,.hud-connection[data-status=error] .hud-connection-dot{background:var(--error);box-shadow:0 0 10px color-mix(in srgb,var(--error) 55%,transparent)}@keyframes hud-connection-pulse{0%,to{opacity:.55}50%{opacity:1}}.game-top-track{margin:6px 18px 4px;padding:8px 4px 0;background:transparent;border:0;border-radius:0;box-shadow:none;position:relative;z-index:1;flex-shrink:0}.game-top-track-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.game-top-track-header strong{color:var(--text-primary);font-weight:700;letter-spacing:.08em;margin-left:4px}.track-turn-badge{display:inline-flex;align-items:baseline;gap:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;line-height:1}.track-turn-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}.track-turn-timer{font-size:13px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.track-turn-badge.my-turn .track-turn-label,.track-turn-timer.my-turn{color:var(--accent-primary)}.track-turn-badge.opponent-turn .track-turn-label,.track-turn-timer.opponent-turn{color:var(--text-secondary)}.game-top-track-bar{position:relative;height:6px;overflow:visible;border:0;border-radius:0;background:var(--panel-surface-border)}.game-top-track-fill{position:absolute;top:0;left:0;height:100%;border-radius:0}.game-top-track-fill.opp{background:color-mix(in srgb,var(--text-secondary) 50%,transparent)}.game-top-track-fill.you{background:var(--accent-primary)}.game-top-track-marker{position:absolute;top:-18px;transform:translate(-50%);font-size:10px;font-weight:600;letter-spacing:.06em;line-height:1;padding:0;border:0;border-radius:0;background:transparent;z-index:4;pointer-events:none;white-space:nowrap;text-transform:uppercase}.game-top-track-marker:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:6px;background:currentColor;transform:translate(-50%);opacity:.55}.game-top-track-marker.you{color:var(--accent-primary)}.game-top-track-marker.opp{top:auto;bottom:-18px;color:var(--text-secondary)}.game-top-track-marker.opp:after{top:auto;bottom:100%}.game-top-track-tick{position:absolute;top:-3px;bottom:-3px;width:1px;transform:translate(-50%);background:var(--panel-surface-border);pointer-events:none}.game-top-track-tick.checkpoint{top:-5px;bottom:-5px;width:1px;background:var(--accent-primary)}.game-top-track-scale{margin-top:18px;position:relative;height:12px;font-size:10px;letter-spacing:.06em;color:var(--text-dim)}.game-top-track-label{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;font-variant-numeric:tabular-nums}.game-top-track-label:first-child{transform:translate(0)}.game-top-track-label:last-child{transform:translate(-100%)}.game-top-track-label.checkpoint{color:var(--accent-primary);font-weight:700}.game-top-track-marker.you.checkpoint-hit{animation:checkpoint-marker-hit .95s ease-out}.game-top-track-fill.you.checkpoint-hit{animation:checkpoint-fill-hit 1.05s ease-out}.game-top-track-tick.checkpoint.checkpoint-hit{animation:checkpoint-tick-hit 1.1s ease-out}.game-top-track-label.checkpoint.checkpoint-hit{animation:checkpoint-label-hit 1.1s ease-out}.game-container{flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;overflow:hidden;gap:10px;padding:0;position:relative;z-index:1}.game-container.market-collapsed .game-market-strip,.game-container.right-panel-collapsed .game-right-panel{display:none}.game-container.right-panel-collapsed .game-board-area{padding-right:18px}.panel-toggle{position:absolute;width:var(--hud-icon-size);height:var(--hud-icon-size);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hud-icon-border);background:var(--hud-icon-bg);color:var(--hud-icon-color);border-radius:var(--hud-icon-radius);cursor:pointer;z-index:6;transition:border-color .15s ease,color .15s ease}.panel-toggle:hover{border-color:var(--hud-icon-border-hover);color:var(--hud-icon-color-hover)}.panel-toggle svg{display:block}.panel-toggle--right{top:12px;right:12px}.game-container.right-panel-collapsed .panel-toggle--right,.game-container:not(.right-panel-collapsed) .panel-toggle--right{top:12px;right:12px}.game-container:not(.right-panel-collapsed) .panel-toggle--right{right:calc(min(320px,34vw) + 24px)}.panel-toggle--market{bottom:248px;right:18px}.game-container.market-collapsed .panel-toggle--market{bottom:18px}.game-container.right-panel-collapsed .panel-toggle--market{right:18px}.game-board-area{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;padding-left:304px;padding-right:min(340px,36vw);position:relative;overflow:hidden;background:transparent;border:0;border-radius:0;box-shadow:none}.board-left-panel{position:absolute;left:12px;top:12px;bottom:12px;width:280px;z-index:3;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.endgame-goals{position:relative;z-index:1;width:100%;margin-top:auto;display:flex;flex-direction:column;gap:12px}.endgame-goals-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0;padding:0 2px}.endgame-goals-list{display:flex;flex-direction:column;gap:8px}.module-inspector{position:absolute;right:calc(min(320px,34vw) + 20px);bottom:16px;z-index:2;width:280px;max-height:40%;overflow:auto;padding:12px 14px;border:1px solid var(--panel-surface-border);border-left:2px solid var(--accent-primary);border-radius:0;background:var(--panel-surface);box-shadow:var(--panel-shadow);display:flex;flex-direction:column;gap:10px}.module-inspector[data-type=core]{border-left-color:var(--color-core)}.module-inspector[data-type=infra]{border-left-color:var(--color-infra)}.module-inspector[data-type=ops]{border-left-color:var(--color-ops)}.module-inspector[data-type=ai]{border-left-color:var(--color-ai)}.module-inspector[data-type=business]{border-left-color:var(--color-business)}.module-inspector[data-type=risky]{border-left-color:var(--color-risky)}.module-inspector-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);line-height:1}.module-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.module-inspector-name{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.2}.module-inspector-type{flex-shrink:0}.module-inspector-type.type-core{color:var(--color-core);border-color:color-mix(in srgb,var(--color-core) 55%,transparent);background:color-mix(in srgb,var(--color-core) 14%,transparent)}.module-inspector-type.type-infra{color:var(--color-infra);border-color:color-mix(in srgb,var(--color-infra) 55%,transparent);background:color-mix(in srgb,var(--color-infra) 14%,transparent)}.module-inspector-type.type-ops{color:var(--color-ops);border-color:color-mix(in srgb,var(--color-ops) 55%,transparent);background:color-mix(in srgb,var(--color-ops) 14%,transparent)}.module-inspector-type.type-ai{color:var(--color-ai);border-color:color-mix(in srgb,var(--color-ai) 55%,transparent);background:color-mix(in srgb,var(--color-ai) 14%,transparent)}.module-inspector-type.type-business{color:var(--color-business);border-color:color-mix(in srgb,var(--color-business) 55%,transparent);background:color-mix(in srgb,var(--color-business) 14%,transparent)}.module-inspector-type.type-risky{color:var(--color-risky);border-color:color-mix(in srgb,var(--color-risky) 55%,transparent);background:color-mix(in srgb,var(--color-risky) 14%,transparent)}.module-inspector-meta{display:flex;flex-wrap:wrap;gap:14px}.module-inspector-pill{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:700;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1}.module-inspector-pill .ui-icon-inline{margin-left:0;width:18px;height:18px}.module-inspector-pill--positive{color:var(--success)}.module-inspector-pill--debt{color:var(--error)}.module-inspector-rules{border-top:1px solid var(--panel-surface-border);padding-top:10px;margin-top:2px;display:flex;flex-direction:column;gap:6px}.module-inspector-rule{position:relative;padding-left:10px;font-size:13px;font-weight:600;line-height:1.4;color:var(--text-primary)}.module-inspector-rule:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--accent-primary)}@media(max-width:1280px){.module-inspector{right:calc(min(320px,34vw) + 20px);bottom:auto;top:16px}}.pixi-canvas{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:var(--hud-icon-radius);background:var(--panel-surface);border:1px solid var(--panel-surface-border)}.pixi-canvas canvas{display:block;border:0;border-radius:0;box-shadow:none}.game-right-panel{position:absolute;top:12px;right:12px;width:min(320px,34vw);max-height:calc(100% - 24px);display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;z-index:3}.panel-section{padding:12px 14px;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0}.panel-section.framed:before{content:none}.panel-section-title{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-bottom:8px}.panel-section-title:before{content:none}@keyframes checkpoint-marker-hit{0%{transform:translate(-50%) scale(1);box-shadow:none}35%{transform:translate(-50%) scale(1.2);box-shadow:0 0 16px #ffd679e6}to{transform:translate(-50%) scale(1);box-shadow:none}}@keyframes checkpoint-fill-hit{0%{filter:saturate(1);box-shadow:none}35%{filter:saturate(1.35) brightness(1.15);box-shadow:0 0 16px #ffd36699}to{filter:saturate(1) brightness(1);box-shadow:none}}@keyframes checkpoint-tick-hit{0%{transform:translate(-50%) scaleY(1);box-shadow:0 0 5px #ffd47173}25%{transform:translate(-50%) scaleY(1.5);box-shadow:0 0 14px #ffd980f2}to{transform:translate(-50%) scaleY(1);box-shadow:0 0 5px #ffd47173}}@keyframes checkpoint-label-hit{0%{transform:translate(-50%) scale(1);text-shadow:none}30%{transform:translate(-50%) scale(1.24);text-shadow:0 0 12px rgba(255,209,105,.95)}to{transform:translate(-50%) scale(1);text-shadow:none}}.board-legend .ui-box-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.legend-row{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.04em;margin:0}.legend-key{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--hud-icon-radius);border:1px solid var(--hud-icon-border);background:transparent;color:var(--accent-primary)}.legend-key svg,.legend-key .ui-icon{width:14px;height:14px;margin:0}.legend-val{color:var(--text-secondary);line-height:1.3;flex:1;min-width:0}.ui-icon{display:inline-block;vertical-align:-.18em;margin-left:.14em;color:var(--icon-neutral)}.ui-icon-inline{margin-left:.18em}.ui-icon-credits{color:var(--icon-credits)}.ui-icon-vp{color:var(--icon-vp)}.ui-icon-income{color:var(--icon-income)}.ui-icon-debt{color:var(--icon-debt)}.ui-icon-time{color:var(--icon-time)}.ui-icon-release{color:var(--icon-release)}.opponent-card .ui-box-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px 10px}.opponent-card-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.opponent-card-title{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);line-height:1}.opponent-card-name{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.opponent-card-status{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);line-height:1}.opponent-card-status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.opponent-card-status[data-status=connected]{color:var(--success)}.opponent-card-status[data-status=connected] .opponent-card-status-dot{background:var(--success);box-shadow:0 0 10px color-mix(in srgb,var(--success) 55%,transparent)}.opponent-card-status[data-status=disconnected]{color:var(--error)}.opponent-card-status[data-status=disconnected] .opponent-card-status-dot{background:var(--error);box-shadow:0 0 10px color-mix(in srgb,var(--error) 55%,transparent)}.opponent-card-turn{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);line-height:1}.opponent-card .ui-box-body{display:flex;flex-direction:column;gap:12px;padding:0 16px 14px}.opponent-stats{display:flex;flex-direction:column}.opponent-stats .game-hud-pill.metric{padding:8px 0;min-height:0;border-bottom:0}.opponent-stats .game-hud-pill.metric svg{width:16px!important;height:16px!important}.opponent-stats .game-hud-pill.metric .metric-divider{height:20px}.opponent-stats .game-hud-pill.metric .metric-label{font-size:10px;letter-spacing:.1em}.opponent-stats .game-hud-pill.metric .metric-value{font-size:14px;font-weight:700}.opponent-mini-board{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:8px;border-radius:var(--hud-icon-radius);background:var(--panel-surface)}.opponent-mini-cell{width:100%;aspect-ratio:1 / 1;border-radius:1px;background:var(--panel-surface-border);transition:opacity .15s ease,box-shadow .15s ease}.opponent-mini-cell.filled.type-core{background:var(--color-core)}.opponent-mini-cell.filled.type-infra{background:var(--color-infra)}.opponent-mini-cell.filled.type-ops{background:var(--color-ops)}.opponent-mini-cell.filled.type-ai{background:var(--color-ai)}.opponent-mini-cell.filled.type-business{background:var(--color-business)}.opponent-mini-cell.filled.type-risky{background:var(--color-risky)}.opponent-mini-board.has-hover .opponent-mini-cell{opacity:.22}.opponent-mini-board.has-hover .opponent-mini-cell.is-highlighted{opacity:1;box-shadow:0 0 0 1px var(--accent-primary),0 0 8px color-mix(in srgb,var(--accent-primary) 55%,transparent)}.opponent-module-list{display:flex;flex-direction:column;gap:8px}.opponent-module-list-title{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--text-secondary)}.opponent-module-empty{font-size:11px;color:var(--text-dim)}.opponent-module-chips{display:flex;flex-wrap:wrap;gap:6px}.opponent-module-chip{--chip-accent: var(--accent-primary);padding:4px 8px 4px 7px;border-radius:0;font-size:10px;font-weight:600;line-height:1.2;border:0;border-left:2px solid var(--chip-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--chip-accent) 22%,transparent),color-mix(in srgb,var(--chip-accent) 6%,transparent));color:var(--text-primary);max-width:100%;cursor:default;transition:background .15s ease,color .15s ease}.opponent-module-chip:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--chip-accent) 38%,transparent),color-mix(in srgb,var(--chip-accent) 14%,transparent))}.opponent-module-chip.type-core{--chip-accent: var(--color-core)}.opponent-module-chip.type-infra{--chip-accent: var(--color-infra)}.opponent-module-chip.type-ops{--chip-accent: var(--color-ops)}.opponent-module-chip.type-ai{--chip-accent: var(--color-ai)}.opponent-module-chip.type-business{--chip-accent: var(--color-business)}.opponent-module-chip.type-risky{--chip-accent: var(--color-risky)}.goal-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0}.goal-card.achieved{border-left-color:var(--success)}.goal-icon{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--hud-icon-radius);border:1px solid var(--hud-icon-border);background:transparent;color:var(--accent-primary)}.goal-icon svg{width:18px;height:18px}.goal-card.achieved .goal-icon{color:var(--success);border-color:var(--success)}.goal-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.goal-name{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.25}.goal-condition{font-size:12px;color:var(--text-secondary);letter-spacing:.02em;line-height:1.35}.goal-vp{font-size:16px;font-weight:800;color:var(--accent-primary);flex-shrink:0;display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-variant-numeric:tabular-nums}.goal-vp .ui-icon-inline{margin-left:0;width:16px;height:16px}.pattern-badge{display:inline-block;padding:4px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;background:transparent;color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:0;margin:2px}.pass-action{display:flex;flex-direction:column;gap:8px}.pass-action-btn{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;font-size:13px;font-weight:700}.pass-action-btn-label{letter-spacing:.08em}.pass-action-btn-rewards{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--btn-primary-text);opacity:.85}.pass-action-btn-reward{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.pass-action-btn-reward .ui-icon-inline{margin-left:0}.pass-action-btn--urgent{animation:pass-action-pulse 1.4s ease-in-out infinite}.pass-action-hint{margin:0;padding:0 2px;font-size:11px;line-height:1.4;color:var(--text-secondary)}.pass-action-hint--urgent{color:var(--accent-primary)}@keyframes pass-action-pulse{0%,to{box-shadow:inset 0 0 0 1px #ffdfae14,0 8px 22px #080b1057,0 0 color-mix(in srgb,var(--accent-primary) 45%,transparent)}50%{box-shadow:inset 0 0 0 1px #ffdfae33,0 8px 22px #080b1070,0 0 0 6px color-mix(in srgb,var(--accent-primary) 0%,transparent)}}.placement{--placement-accent: var(--accent-primary);padding:14px 16px;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--placement-accent);border-radius:0;display:flex;flex-direction:column;gap:12px}.placement[data-type=core]{--placement-accent: var(--color-core)}.placement[data-type=infra]{--placement-accent: var(--color-infra)}.placement[data-type=ops]{--placement-accent: var(--color-ops)}.placement[data-type=ai]{--placement-accent: var(--color-ai)}.placement[data-type=business]{--placement-accent: var(--color-business)}.placement[data-type=risky]{--placement-accent: var(--color-risky)}.placement-header{display:flex;flex-direction:column;gap:2px}.placement-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.placement-name{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.2}.placement-shape{margin:2px 0}.placement-shape .shape-cell{width:14px;height:14px}.placement-controls{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.icon-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;background:transparent;border:none;border-radius:0;color:var(--icon-btn-text);font-size:13px;font-weight:500;font-family:inherit;letter-spacing:.03em;cursor:pointer;white-space:nowrap}.icon-btn-badge{display:flex;align-items:center;justify-content:center;width:var(--icon-btn-badge-size);height:var(--icon-btn-badge-size);border-radius:50%;border:1px solid var(--icon-btn-badge-border);background:var(--icon-btn-badge-bg);color:var(--icon-btn-badge-text);font-size:13px;font-weight:700;line-height:1;flex-shrink:0}.icon-btn-label{display:inline-flex;align-items:center;gap:6px;line-height:1}.icon-btn-label-text{line-height:1}.icon-btn-kbd.ui-status-badge{min-height:0;gap:2px;padding:2px 6px;font-size:10px;font-weight:700;letter-spacing:.08em}.icon-btn-kbd svg{display:block}.icon-btn-kbd-sep{color:var(--text-dim);font-size:10px;line-height:1}.icon-btn.cancel{--icon-btn-text: var(--error);--icon-btn-badge-border: color-mix(in srgb, var(--error) 50%, transparent);--icon-btn-badge-text: var(--error)}.game-market-strip{grid-column:1;grid-row:2;background:transparent;border:0;border-radius:0;padding:12px 18px;display:flex;align-items:stretch;gap:12px;overflow-x:auto;height:230px;flex-shrink:0;box-shadow:none;scrollbar-width:thin;scrollbar-color:var(--panel-surface-border) transparent}.module-card{--module-accent: var(--accent-primary);flex-shrink:0;width:220px;height:100%;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--module-accent);border-radius:0;padding:12px 14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.module-card[data-type=core]{--module-accent: var(--color-core)}.module-card[data-type=infra]{--module-accent: var(--color-infra)}.module-card[data-type=ops]{--module-accent: var(--color-ops)}.module-card[data-type=ai]{--module-accent: var(--color-ai)}.module-card[data-type=business]{--module-accent: var(--color-business)}.module-card[data-type=risky]{--module-accent: var(--color-risky)}.module-card.affordable:hover{transform:translateY(-1px);border-color:var(--module-accent)}.module-card.unaffordable{opacity:.4;cursor:not-allowed}.module-card.unresolved{--module-accent: var(--error);color:var(--text-secondary)}.module-card.selected{border-color:var(--module-accent)}.module-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.module-card-name{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.2;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-card-cost{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:800;color:var(--accent-primary);white-space:nowrap;padding:0;border:0;background:transparent;font-variant-numeric:tabular-nums;line-height:1}.module-card-cost .ui-icon-inline{margin-left:0;width:16px;height:16px}.module-card-type{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.module-card-type.core{color:var(--color-core)}.module-card-type.infra{color:var(--color-infra)}.module-card-type.ops{color:var(--color-ops)}.module-card-type.ai{color:var(--color-ai)}.module-card-type.business{color:var(--color-business)}.module-card-type.risky{color:var(--color-risky)}.module-card-shape-grid{display:inline-grid;grid-template-columns:repeat(4,var(--shape-cell-size, 10px));grid-auto-rows:var(--shape-cell-size, 10px);gap:2px;background:transparent;border:0;border-radius:0;padding:0;width:fit-content;box-shadow:none}.module-card .module-card-shape-grid{margin-bottom:2px}.module-card-shape-grid .shape-cell{width:var(--shape-cell-size, 10px);height:var(--shape-cell-size, 10px);border-radius:0}.module-card-shape-grid .shape-cell.off{background:var(--panel-surface-border)}.module-card-shape-grid .shape-cell.on{background:var(--accent-primary)}.module-card-shape-grid.type-core .shape-cell.on{background:var(--color-core)}.module-card-shape-grid.type-infra .shape-cell.on{background:var(--color-infra)}.module-card-shape-grid.type-ops .shape-cell.on{background:var(--color-ops)}.module-card-shape-grid.type-ai .shape-cell.on{background:var(--color-ai)}.module-card-shape-grid.type-business .shape-cell.on{background:var(--color-business)}.module-card-shape-grid.type-risky .shape-cell.on{background:var(--color-risky)}.module-card-stats{display:flex;gap:14px;font-size:14px;font-weight:700;color:var(--text-primary);border-top:1px solid var(--panel-surface-border);padding-top:8px;font-variant-numeric:tabular-nums}.module-card-stats span{display:inline-flex;align-items:center;gap:4px}.module-card-stats .ui-icon-inline{margin-left:0;width:14px;height:14px}.module-card-stats .vp{color:var(--icon-vp)}.module-card-stats .debt{color:var(--error)}.module-card-stats .inc{color:var(--success)}.module-card-synergy{position:relative;font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;padding:8px 0 0 10px;margin-top:auto;border-top:1px solid var(--panel-surface-border);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;min-height:3em}.module-card-synergy:before{content:"";position:absolute;left:0;top:10px;bottom:2px;width:2px;background:var(--accent-primary)}.module-card-synergy.empty{visibility:hidden}.module-card-pool{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit}.module-card-pool-content{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);padding:6px 0;border:0;background:transparent;font-variant-numeric:tabular-nums}.market-empty-state{min-width:260px;max-width:360px;padding:12px 14px;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:var(--panel-surface);color:var(--text-secondary);font-size:12px;line-height:1.45;align-self:center}.game-right-panel::-webkit-scrollbar,.game-market-strip::-webkit-scrollbar,.lobby-content::-webkit-scrollbar{width:8px;height:8px}.game-right-panel::-webkit-scrollbar-track,.game-market-strip::-webkit-scrollbar-track,.lobby-content::-webkit-scrollbar-track{background:transparent}.game-right-panel::-webkit-scrollbar-thumb,.game-market-strip::-webkit-scrollbar-thumb,.lobby-content::-webkit-scrollbar-thumb{background:var(--panel-surface-border);border-radius:0}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.popup-card{background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;padding:24px 28px;min-width:500px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:none}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--panel-surface-border)}.popup-header h3{font-size:18px;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-shadow:none}.popup-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--panel-surface-border);display:flex;justify-content:flex-end;gap:12px}.popup-actions .ui-action-btn{min-width:0;width:auto;padding:12px 24px}.module-pool-popup{min-width:640px}.module-pool-stats{display:flex;gap:24px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--panel-surface-border);flex-wrap:wrap}.module-pool-stats .game-hud-pill.metric{padding:0;min-height:0}.module-pool-stats .game-hud-pill.metric svg{width:18px!important;height:18px!important}.module-pool-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.module-pool-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-bottom:8px}.module-pool-list{max-height:260px;overflow:auto;border:1px solid var(--panel-surface-border);border-radius:0;background:transparent;padding:0}.module-pool-item{font-size:12px;color:var(--text-primary);padding:8px 12px;border-radius:0;border-bottom:1px solid var(--panel-surface-border);transition:color .15s ease}.module-pool-item:hover{color:var(--accent-primary);background:transparent}.module-pool-item:last-child{border-bottom:none}.rules-popup{min-width:740px}.rules-copy p{font-size:15px;line-height:1.55;color:var(--text-primary);margin-bottom:12px}.rules-copy h4{margin:18px 0 10px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.rules-list{margin:0 0 10px;padding-left:20px}.rules-list li{font-size:14px;line-height:1.55;color:var(--text-primary);margin-bottom:6px}.rules-note{font-size:13px;line-height:1.5;color:var(--text-secondary);margin-top:8px}.onboarding-card{width:min(94vw,1120px);min-width:820px;padding:0;position:relative;overflow-x:hidden;overflow-y:auto}.onboarding-brief{display:grid;grid-template-columns:206px 1fr;gap:16px;align-items:start;margin-bottom:16px;padding:16px;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:var(--panel-surface)}.onboarding-client-avatar{width:206px;height:206px;border-radius:0;border:1px solid var(--panel-surface-border);background:var(--bg-primary);object-fit:cover}.onboarding-client-message h4{margin:2px 0 10px;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-primary);font-family:inherit;font-weight:700;line-height:1}.onboarding-client-message p{margin:0 0 8px;font-size:14px;line-height:1.4;color:var(--text-primary)}.onboarding-client-message ul{margin:0;padding-left:22px}.onboarding-client-message li{color:var(--text-primary);font-size:14px;line-height:1.4;margin-bottom:4px}.onboarding-card .popup-header{justify-content:flex-start;padding:20px 28px 16px;margin-bottom:0;border-bottom:1px solid var(--panel-surface-border)}.onboarding-card .popup-header h3{font-size:24px;font-family:inherit;letter-spacing:.08em;font-weight:700;color:var(--text-primary);text-shadow:none;text-transform:uppercase}.onboarding-copy{padding:20px 28px 8px;font-family:inherit;position:relative;z-index:1}.onboarding-copy>p{margin:0;font-size:14px;line-height:1.45;color:var(--text-primary)}.onboarding-line{border-top:1px solid var(--panel-surface-border);margin-top:12px;padding-top:12px;padding-bottom:4px;font-size:13px;color:var(--text-primary);line-height:1.45}.onboarding-goals-list{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.onboarding-goals-list li{font-size:14px;color:var(--text-primary);line-height:1.35;padding-left:12px;position:relative}.onboarding-goals-list li:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--accent-primary)}.onboarding-card .popup-actions{margin-top:14px;padding:16px 28px 22px;justify-content:flex-end;border-top:1px solid var(--panel-surface-border);position:relative;z-index:1}.onboarding-card .settings-main-btn{min-height:48px;font-size:14px;min-width:200px}.onboarding-overlay{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-loading,.game-disconnected,.game-waiting,.game-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-secondary);gap:12px}.game-waiting h2{color:var(--text-primary)}.game-over-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--modal-backdrop);z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px}.game-over-card{width:min(560px,92vw);border-radius:0;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);background:var(--panel-surface);box-shadow:none;padding:24px 28px;text-align:left}.game-over-card.win{border-left-color:var(--success)}.game-over-card.lose{border-left-color:var(--error)}.game-over-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--text-secondary);margin-bottom:6px}.game-over-card h2{margin:0;font-size:32px;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);text-shadow:none;font-weight:700}.game-over-card.win h2{color:var(--success)}.game-over-card.lose h2{color:var(--error)}.game-over-subtitle{margin:10px 0 18px;font-size:13px;line-height:1.45;color:var(--text-secondary)}.game-over-client-brief{display:flex;align-items:flex-start;gap:12px;border:0;border-top:1px solid var(--panel-surface-border);border-bottom:1px solid var(--panel-surface-border);background:transparent;padding:14px 0;margin:0 0 18px;text-align:left;box-shadow:none}.game-over-client-brief.win,.game-over-client-brief.lose{box-shadow:none}.game-over-client-avatar{width:56px;height:56px;border-radius:0;object-fit:cover;border:1px solid var(--panel-surface-border);flex-shrink:0}.game-over-client-copy h4{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-primary)}.game-over-client-copy p{margin:0;font-size:12px;line-height:1.45;color:var(--text-secondary)}.game-over-score-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch}.game-over-score-block{border:0;background:transparent;padding:6px 0;display:flex;flex-direction:column;gap:6px;text-align:center}.game-over-score-block .name{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.14em}.game-over-score-block .value{font-size:38px;font-weight:800;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.game-over-score-block.you .value{color:var(--accent-primary)}.game-over-score-divider{display:flex;align-items:center;justify-content:center;padding:0 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--text-dim)}.game-over-delta{margin-top:14px;padding-top:14px;border-top:1px solid var(--panel-surface-border);font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.game-over-rule{margin-top:4px;font-size:11px;color:var(--text-dim);letter-spacing:.02em;font-variant-numeric:tabular-nums}.game-over-btn{width:100%;margin-top:18px;min-height:46px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary)}@media(max-width:1439px){.game-page{padding:8px}.game-hud{padding:6px 14px;min-height:46px}.game-hud-pill.metric{padding:0 8px;gap:6px}.game-hud-pill.metric svg{width:20px;height:20px}.game-hud-pill.metric .metric-label{font-size:11px}.game-hud-pill.metric .metric-value{font-size:13px}.game-top-track{margin:4px 12px 2px}.game-board-area{padding-left:268px;padding-right:min(300px,30vw)}.board-left-panel{left:8px;width:248px;top:8px}.game-right-panel{width:min(292px,28vw);top:8px;right:8px}.game-market-strip{height:210px;padding:10px 14px;gap:10px}.module-card{width:198px;padding:10px 12px;gap:8px}.module-card-name{font-size:13px}.module-card-cost{font-size:15px}.module-card-stats{font-size:13px;gap:12px}.pixi-canvas{padding:8px}.pixi-canvas canvas{max-width:100%;height:auto}.module-inspector{width:260px;right:calc(min(292px,28vw) + 16px)}.panel-toggle--market{bottom:224px}.game-container.right-panel-collapsed .game-board-area{padding-right:16px}.game-container:not(.right-panel-collapsed) .panel-toggle--right{right:calc(min(292px,28vw) + 20px)}.onboarding-card{min-width:unset;width:min(94vw,960px)}.onboarding-card .popup-header h3{font-size:22px}.onboarding-client-avatar{width:160px;height:160px}.onboarding-brief{grid-template-columns:160px 1fr}.rules-popup{min-width:min(92vw,680px)}.module-pool-popup{min-width:min(92vw,580px)}.lobby-actions{gap:12px}}.auth-page,.lobby-page,.game-page{position:relative}.auth-card:before{display:none}.auth-card{max-width:460px;padding:40px 36px}.auth-page .auth-card{background:var(--glass-surface);border:0;border-left:6px solid var(--accent-primary);border-radius:0;box-shadow:var(--glass-surface-shadow);-webkit-backdrop-filter:var(--glass-surface-blur);backdrop-filter:var(--glass-surface-blur)}.auth-page .auth-divider,.auth-page .auth-switch{color:var(--text-primary)}.auth-card h1{font-family:var(--font-ui);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary)}.auth-card h2,.action-card h2,.game-list h2{color:var(--text-primary);letter-spacing:.08em;font-weight:600;text-transform:uppercase}.btn-oauth,.btn-text,.game-card-delete-btn{background:transparent;border:1px solid var(--panel-surface-border);border-radius:2px;color:var(--text-primary)}.btn-primary{border-radius:2px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--btn-primary-text);border:1px solid var(--btn-primary-border);background:linear-gradient(180deg,var(--btn-primary-bg-top),var(--btn-primary-bg-bottom))}.btn-primary:hover:not(:disabled){border-color:var(--accent-primary-hover)}.btn-text,.btn-oauth{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.btn-text:hover,.btn-oauth:hover:not(:disabled){border-color:var(--hud-icon-border-hover);color:var(--text-primary);transform:translateY(-1px)}.lobby-page{padding:22px 28px 30px}.ui-close-btn{width:var(--hud-icon-size);height:var(--hud-icon-size);padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--hud-icon-radius);border:1px solid var(--hud-icon-border);background:var(--hud-icon-bg);color:var(--hud-icon-color);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.ui-close-btn svg{display:block}.ui-close-btn:hover:not(:disabled){border-color:var(--hud-icon-border-hover);color:var(--hud-icon-color-hover);background:var(--hud-icon-bg-hover)}.ui-close-btn.lobby-close-btn{position:fixed;top:0;right:0;width:74px;height:66px;border-radius:0;border:0;background:transparent;color:var(--text-secondary);z-index:20}.ui-close-btn.lobby-close-btn svg{width:34px;height:34px;stroke-width:1.2}.ui-close-btn.lobby-close-btn:hover:not(:disabled){background:transparent;color:var(--error);border:0}.app-shell{position:relative;min-height:100vh;overflow:hidden;isolation:isolate;background:transparent}.app-shell:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0;pointer-events:none;background:radial-gradient(60% 60% at 18% 12%,color-mix(in srgb,var(--accent-primary) 22%,transparent) 0%,transparent 55%),radial-gradient(70% 60% at 88% 22%,color-mix(in srgb,var(--color-ai) 14%,transparent) 0%,transparent 55%);filter:blur(84px);opacity:.8}.app-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-primary) 0%,transparent),color-mix(in srgb,var(--bg-primary) 55%,transparent))}.app-shell-content{position:relative;z-index:1}.lobby-content{max-width:1280px;margin:0 auto;padding:6px 2px 20px}.lobby-actions{gap:18px}.action-card{padding:22px;position:relative}.action-card:first-child:after{display:none}.action-card p,.auth-divider,.auth-switch,.game-mode-label,.game-date,.rules-note,.popup-patch-stats .time,.lobby-page .action-card p,.lobby-page .game-mode-label,.lobby-page .game-date{color:var(--text-secondary)}.game-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--panel-surface-border);border-radius:0;overflow:hidden;background:transparent;margin-bottom:14px}.game-mode-switch .ui-mode-switch-option{min-height:40px;border:0!important;border-right:1px solid var(--panel-surface-border)!important;border-radius:0!important;background:transparent!important;color:var(--text-secondary)!important;font-size:12px;letter-spacing:.08em;padding:10px 12px;transition:background-color .16s ease,color .16s ease}.game-mode-switch .ui-mode-switch-option:last-child{border-right:0!important}.game-mode-switch .ui-mode-switch-option:hover:not(:disabled){color:var(--text-primary)!important;transform:none!important}.game-mode-switch .ui-mode-switch-option.active{background:color-mix(in srgb,var(--accent-primary) 20%,transparent)!important;color:var(--accent-primary)!important}.game-card{border-radius:0}.lobby-action-btn{width:100%;min-height:52px;padding:13px 16px;font-size:15px;letter-spacing:.08em}.lobby-action-btn.ui-action-btn--primary{color:var(--btn-primary-text);border:1px solid var(--btn-primary-border);background:linear-gradient(180deg,var(--btn-primary-bg-top),var(--btn-primary-bg-bottom));box-shadow:inset 0 0 0 1px #ffdfae14,0 8px 22px #080b1057;animation:none!important}.lobby-action-btn.ui-action-btn--primary:hover:not(:disabled){color:#f4e4ca;border-color:#d3912d;background:linear-gradient(180deg,#5a3f1e,#3a2815);transform:translateY(-1px);animation:none!important}.lobby-join-form{display:grid;gap:10px;grid-template-columns:1fr}.lobby-join-form .ui-input,.lobby-join-form .ui-action-btn{width:100%}.lobby-page .game-card{padding:14px 16px;gap:10px}.lobby-page .ui-box{background:var(--glass-surface);border:0;border-left:6px solid var(--accent-primary);border-radius:0;box-shadow:var(--glass-surface-shadow);-webkit-backdrop-filter:var(--glass-surface-blur);backdrop-filter:var(--glass-surface-blur)}.lobby-page .game-card-head{align-items:flex-start;gap:12px}.lobby-page .game-card-body{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.lobby-page .game-card.finished .game-card-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.lobby-page .game-card-main{display:grid;gap:8px;min-width:0}.lobby-page .game-card-side{display:inline-flex;align-items:center;justify-content:flex-end}.lobby-page .game-date{color:var(--text-dim);font-size:11px;letter-spacing:.04em}.lobby-page .game-matchup{color:var(--text-primary);font-size:14px;line-height:1.3;font-weight:500}.lobby-page .game-mode-label{width:fit-content;padding:2px 8px;border:1px solid var(--panel-surface-border);background:transparent;color:var(--text-secondary);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.lobby-page .game-invite-code{width:fit-content;padding:3px 9px;border:1px solid color-mix(in srgb,var(--accent-primary) 55%,transparent);background:color-mix(in srgb,var(--accent-primary) 14%,transparent);color:var(--accent-primary);font-size:13px;letter-spacing:.14em}.lobby-page .game-card-delete-btn{min-height:24px;padding:2px 8px;border-radius:0;border-color:var(--panel-surface-border);color:var(--text-secondary);background:transparent}.lobby-page .game-card-delete-btn:hover:not(:disabled){border-color:var(--error);color:var(--error);background:transparent}.ui-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 11px;border:1px solid var(--panel-surface-border);border-radius:0;background:transparent;color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ui-status-badge--waiting{border-color:color-mix(in srgb,var(--warning) 55%,transparent);color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.ui-status-badge--active,.ui-status-badge--win{border-color:color-mix(in srgb,var(--success) 55%,transparent);color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.ui-status-badge--loss{border-color:color-mix(in srgb,var(--error) 55%,transparent);color:var(--error);background:color-mix(in srgb,var(--error) 14%,transparent)}.ui-status-badge--draw{border-color:var(--panel-surface-border);color:var(--text-secondary);background:transparent}.lobby-page .game-scoreboard{display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--panel-surface-border);border-left:3px solid var(--accent-primary);border-radius:0;background:transparent;font-variant-numeric:tabular-nums;line-height:1}.lobby-page .game-score-value{min-width:0;width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.lobby-page .game-score-value:first-child{color:var(--accent-primary)}.lobby-page .game-score-separator{color:var(--text-dim);font-size:16px;font-weight:700;letter-spacing:.1em}.error-message{border-radius:2px;border:1px solid color-mix(in srgb,var(--error) 50%,transparent);background:color-mix(in srgb,var(--error) 20%,transparent);color:color-mix(in srgb,var(--error) 60%,var(--text-primary))}.device-blocker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.device-blocker-card{max-width:420px;width:100%;padding:28px 32px;background:var(--glass-surface);border:0;border-left:6px solid var(--accent-primary);box-shadow:var(--glass-surface-shadow);-webkit-backdrop-filter:var(--glass-surface-blur);backdrop-filter:var(--glass-surface-blur);text-align:left;display:flex;flex-direction:column;gap:14px}.device-blocker-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hud-icon-border);color:var(--accent-primary)}.device-blocker-title{margin:0;font-size:22px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}.device-blocker-text{margin:0;font-size:14px;line-height:1.55;color:var(--text-primary)}.device-blocker-meta{margin:0;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--text-primary) 20%,transparent);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(max-width:1439px){.lobby-page{padding:18px 22px 24px}.lobby-actions{gap:12px}.action-card{padding:20px}.auth-card{max-width:420px;padding:32px 28px}.auth-card h1{font-size:24px}}.ui-action-btn{border-radius:2px;text-transform:uppercase;letter-spacing:.11em;font-weight:400;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.ui-action-btn:disabled{cursor:not-allowed}.ui-action-btn.ui-action-btn--primary{color:var(--btn-primary-text);border:1px solid var(--btn-primary-border);background:linear-gradient(180deg,var(--btn-primary-bg-top),var(--btn-primary-bg-bottom))}.ui-action-btn.ui-action-btn--primary:hover:not(:disabled){border-color:var(--accent-primary-hover);transform:translateY(-1px)}.ui-action-btn.ui-action-btn--secondary{color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg)}.ui-action-btn.ui-action-btn--secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--hud-icon-border-hover);background:transparent;transform:translateY(-1px)}.ui-action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.lobby-page .game-card-head,.lobby-page .game-scoreboard,.lobby-page .game-card-delete-btn{border-color:var(--panel-surface-border)}.game-page:not(.review-layout) .game-right-panel .panel-section{background:var(--panel-surface);border:1px solid var(--panel-surface-border)}.lobby-top-actions{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:10px;z-index:5}.lobby-top-actions .lobby-close-btn,.lobby-top-actions .lobby-leaderboard-btn{position:static}.leaderboard-page{font-family:var(--font-ui);min-height:100vh;padding:48px 24px 64px;position:relative;color:var(--text-primary);overflow-y:auto}.leaderboard-back-btn{position:fixed;top:20px;left:20px;z-index:5}.leaderboard-content{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.leaderboard-header{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.leaderboard-title{margin:0;font-size:30px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary)}.leaderboard-subtitle{margin:0;color:var(--text-secondary);font-size:14px;letter-spacing:.04em}.leaderboard-empty-box{margin:0 auto;max-width:520px;text-align:center}.leaderboard-empty-text{margin:0;color:var(--text-secondary);padding:28px 8px;font-size:15px}.leaderboard-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:18px;align-items:end}.leaderboard-podium-card.ui-box{display:flex;flex-direction:column;gap:18px;padding:22px 22px 24px;position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.leaderboard-podium-card.ui-box:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:currentColor;opacity:.4;color:var(--accent-primary)}.leaderboard-podium-card.rank-1{--podium-accent: var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--panel-surface-border));transform:translateY(-14px)}.leaderboard-podium-card.rank-1:before{background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);opacity:1;height:4px}.leaderboard-podium-card.rank-1 .leaderboard-podium-rank-icon{color:var(--accent-primary);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent-primary) 50%,transparent))}.leaderboard-podium-card.rank-1 .leaderboard-podium-winrate-value{color:var(--accent-primary);font-size:42px}.leaderboard-podium-card.rank-2{--podium-accent: var(--color-infra);border-color:color-mix(in srgb,var(--color-infra) 40%,var(--panel-surface-border))}.leaderboard-podium-card.rank-2:before{background:linear-gradient(90deg,transparent,var(--color-infra),transparent);opacity:.85}.leaderboard-podium-card.rank-2 .leaderboard-podium-rank-icon,.leaderboard-podium-card.rank-2 .leaderboard-podium-winrate-value{color:var(--color-infra)}.leaderboard-podium-card.rank-3{--podium-accent: var(--color-risky);border-color:color-mix(in srgb,var(--color-risky) 40%,var(--panel-surface-border))}.leaderboard-podium-card.rank-3:before{background:linear-gradient(90deg,transparent,var(--color-risky),transparent);opacity:.85}.leaderboard-podium-card.rank-3 .leaderboard-podium-rank-icon,.leaderboard-podium-card.rank-3 .leaderboard-podium-winrate-value{color:var(--color-risky)}.leaderboard-podium-card.is-you{outline:1px dashed color-mix(in srgb,var(--accent-primary) 65%,transparent);outline-offset:3px}.leaderboard-podium-rank{display:flex;align-items:center;justify-content:space-between}.leaderboard-podium-rank-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:2px;border:1px solid var(--panel-surface-border);background:color-mix(in srgb,var(--panel-surface-top) 80%,transparent)}.leaderboard-podium-rank-number{font-size:20px;font-weight:700;color:var(--text-dim);letter-spacing:.08em;font-variant-numeric:tabular-nums}.leaderboard-podium-card.rank-1 .leaderboard-podium-rank-number{color:var(--accent-primary)}.leaderboard-podium-identity{display:flex;flex-direction:column;gap:6px;min-width:0}.leaderboard-podium-name{margin:0;font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-podium-card.rank-1 .leaderboard-podium-name{font-size:24px}.leaderboard-you-badge{align-self:flex-start}.leaderboard-podium-winrate{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.leaderboard-podium-winrate-value{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-primary);letter-spacing:.02em}.leaderboard-podium-winrate-label{font-size:11px;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase}.leaderboard-podium-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding-top:14px;border-top:1px solid var(--panel-surface-border)}.leaderboard-podium-stat{display:flex;flex-direction:column;gap:2px;margin:0;text-align:left}.leaderboard-podium-stat dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0}.leaderboard-podium-stat dd{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0}.leaderboard-podium-stat--wins dd{color:var(--success)}.leaderboard-podium-stat--losses dd{color:var(--error)}.leaderboard-podium-stat--draws dd{color:var(--text-secondary)}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 18px;background:var(--panel-surface);border:1px solid var(--panel-surface-border);border-radius:var(--radius);transition:border-color .15s ease}.leaderboard-row:hover{border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--panel-surface-border))}.leaderboard-row.is-you{border-color:color-mix(in srgb,var(--accent-primary) 65%,var(--panel-surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-primary) 8%,var(--panel-surface-top)),var(--panel-surface-bottom))}.leaderboard-row-rank{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim);letter-spacing:.05em}.leaderboard-row-identity{display:flex;align-items:center;gap:12px;min-width:0}.leaderboard-row-name{font-size:16px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-row-metrics{display:grid;grid-template-columns:repeat(5,minmax(64px,auto));gap:18px;align-items:center}.leaderboard-row-metric{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:64px}.leaderboard-row-metric-value{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.leaderboard-row-metric-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.leaderboard-row-metric--wins .leaderboard-row-metric-value{color:var(--success)}.leaderboard-row-metric--losses .leaderboard-row-metric-value{color:var(--error)}.leaderboard-row-metric--draws .leaderboard-row-metric-value{color:var(--text-secondary)}.leaderboard-row-metric--rate .leaderboard-row-metric-value{color:var(--accent-primary)}@media(max-width:1439px){.leaderboard-podium{gap:14px}.leaderboard-podium-card.ui-box{padding:18px 16px 20px}.leaderboard-podium-card.rank-1{transform:translateY(-10px)}.leaderboard-podium-card.rank-1 .leaderboard-podium-name{font-size:20px}.leaderboard-podium-card.rank-1 .leaderboard-podium-winrate-value{font-size:34px}.leaderboard-row{padding:12px 14px;gap:12px}.leaderboard-row-metrics{gap:12px}}
