:root{color:#dbe7f1;background:#101820;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button{border:0;border-radius:6px;cursor:pointer;font:inherit}.app-shell{min-height:100vh;padding:32px;background:radial-gradient(circle at 20% 0%,rgba(45,135,164,.28),transparent 28rem),linear-gradient(180deg,#122332fa,#091018),#101820}.top-bar,.storefront-toolbar,.game-card-heading,.game-card-footer{align-items:center;display:flex;justify-content:space-between;gap:16px}.eyebrow{color:#8fd694;font-size:.75rem;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.room-pill,.primary-action,.game-card button,.game-list-row button{background:#8cc152;color:#091018;font-weight:700;padding:10px 14px}.primary-action:disabled{cursor:default;opacity:.62}.doctrine-strip{background:#132435;border:1px solid #2b4d68;border-radius:8px;margin:28px 0;padding:16px}.landing-layout{display:grid;gap:24px;grid-template-columns:minmax(300px,1fr) minmax(320px,1.2fr);align-items:start}.landing-copy,.lobby-panel,.room-control-bar,.player-strip,.scoreboard-strip,.side-panel{background:#12202df5;border:1px solid #2e4f6a;border-radius:8px;padding:18px}.lead{color:#c8d9e6;font-size:1.1rem;line-height:1.5}.lobby-panel{display:grid;gap:14px}.identity-section{background:#12202df5;border:1px solid #2e4f6a;border-radius:8px;padding:18px;display:grid;gap:8px}.identity-label{color:#a7bbc9;display:grid;gap:6px;font-weight:700;font-size:.92rem}.identity-helper{color:#6b7f8e;font-size:.78rem;font-weight:400}.name-hint{color:#e5a84b;font-size:.82rem;font-weight:600;margin:0;animation:hint-appear .2s ease}@keyframes hint-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.input-highlight{border-color:#e5a84b!important;box-shadow:0 0 0 2px #e5a84b33}.create-room-action{display:grid}.create-room-action .primary-action{background:#66c0f4;border:0;border-radius:8px;color:#091018;cursor:pointer;font:inherit;font-size:1rem;font-weight:700;padding:14px 20px;transition:background .12s ease}.create-room-action .primary-action:hover{background:#7fccf7}.landing-hero{display:grid;gap:18px}.join-code-section{background:#12202df5;border:1px solid #2e4f6a;border-radius:8px;padding:14px 18px}.join-code-label{color:#a7bbc9;font-size:.88rem;font-weight:700;margin:0 0 10px}.join-code-form{align-items:center;display:flex;gap:10px}.join-code-form input{flex:1;font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:.08em;text-transform:uppercase}.join-code-form button{background:#1c344a;color:#dbe7f1;font-weight:700;padding:10px 16px;white-space:nowrap}.join-code-form button:hover{background:#244360}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.room-browser{background:#12202df5;border:1px solid #2e4f6a;border-radius:8px;padding:18px;min-height:260px}.room-browser-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.room-browser-header h2{font-size:1.15rem;margin:0}.room-browser-meta{color:#8f98a0;font-size:.78rem}.room-browser-body{display:grid;gap:10px}.room-card{background:linear-gradient(180deg,#172a3d,#111e2c);border:1px solid #2d4c65;border-left:3px solid #2d4c65;border-radius:8px;display:grid;gap:8px;padding:14px 16px;transition:border-color .16s ease,background .16s ease}.room-card:hover{border-color:#66c0f4;background:linear-gradient(180deg,#1c3349,#142736)}.room-card--lobby{border-left-color:#8fd694}.room-card--lobby:hover{border-left-color:#a8e8ac}.room-card-top{align-items:center;display:flex;justify-content:space-between;gap:10px}.room-card-code{color:#dbe7f1;font-family:JetBrains Mono,Fira Code,monospace;font-size:1rem;font-weight:800;letter-spacing:.1em}.room-card-info{color:#a7bbc9;display:flex;flex-wrap:wrap;font-size:.86rem;gap:6px 14px}.room-card-host{color:#c8d9e6;font-weight:600}.room-card-round{color:#8f98a0}.room-card-join{background:#8cc152;border:0;border-radius:6px;color:#091018;cursor:pointer;font:inherit;font-weight:700;justify-self:end;padding:8px 20px;transition:background .12s ease}.room-card-join:hover{background:#9dd363}.phase-pill{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.phase-pill--lobby{background:#8fd6942e;color:#8fd694}.phase-pill--active{background:#66c0f426;color:#66c0f4}.room-browser-empty{padding:32px 16px;text-align:center}.empty-title{color:#c8d9e6;font-size:1.05rem;font-weight:700;margin:0 0 6px}.empty-hint{color:#8f98a0;font-size:.9rem;margin:0}.room-browser-loading{color:#8f98a0;font-size:.9rem;padding:32px 16px;text-align:center}.loading-dot{animation:pulse-dot 1.2s ease-in-out infinite;background:#66c0f4;border-radius:50%;display:inline-block;height:8px;margin-right:6px;vertical-align:middle;width:8px}@keyframes pulse-dot{0%,to{opacity:.3}50%{opacity:1}}label{color:#a7bbc9;display:grid;gap:6px;font-weight:700}input{background:#0c1722;border:1px solid #365c78;border-radius:6px;color:#dbe7f1;font:inherit;padding:10px 12px}select{background:#0c1722;border:1px solid #365c78;border-radius:6px;color:#dbe7f1;font:inherit;padding:9px 10px}.error-banner{background:#4a2328;border:1px solid #9b4d5b;border-radius:8px;color:#ffd7dd;margin:0;padding:12px 14px}.room-control-bar,.control-actions,.player-strip{align-items:center;display:flex;gap:12px;justify-content:space-between}.phase-task-strip{align-items:center;background:linear-gradient(90deg,#20394d,#172636);border:1px solid #3f6884;border-left:4px solid #66c0f4;border-radius:8px;display:flex;gap:12px;margin-top:14px;padding:12px 14px}.phase-task-strip span{background:#66c0f4;border-radius:999px;color:#091018;flex:none;font-size:.76rem;font-weight:900;padding:5px 9px;text-transform:uppercase}.phase-task-strip strong{color:#dbe7f1;font-weight:700}.control-actions{justify-content:flex-end}.control-actions button{background:#1c344a;color:#dbe7f1;padding:10px 14px}.player-strip{flex-wrap:wrap;justify-content:flex-start;margin:18px 0}.scoreboard-strip{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.scoreboard-list{display:flex;flex-wrap:wrap;gap:10px}.scoreboard-list span{background:#0c1722;border:1px solid #29465d;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.scoreboard-list small{color:#a7bbc9}.player-chip{background:#0c1722;border:1px solid #29465d;border-radius:8px;display:grid;gap:2px;min-width:130px;padding:10px 12px}.player-chip span,.muted{color:#a7bbc9}.browse-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(230px,280px) minmax(420px,1fr) minmax(240px,300px)}.round-briefing-panel{background:linear-gradient(180deg,#182b3cfa,#0c1722fa);border:1px solid #66c0f4;border-radius:8px;box-shadow:0 18px 50px #00000052;display:grid;gap:18px;margin:26px auto 0;max-width:760px;padding:24px}.round-briefing-panel h2{font-size:2rem;margin-bottom:8px}.briefing-loop{color:#dbe7f1;font-size:1.05rem;font-weight:700;line-height:1.45;margin:0}.round-briefing-panel .primary-action{justify-self:start}.constraint-card,.constraint-briefing{display:grid;gap:10px}.constraint-card h2,.constraint-briefing h2{color:#fff;margin:0}.constraint-help{background:#0c1722;border:1px solid #3f6884;border-radius:8px;color:#c8d9e6;font-weight:700;line-height:1.4;margin:0;padding:10px}.constraint-list{display:grid;gap:8px;list-style:none;margin:0 0 8px;padding:0}.constraint-list li{background:#0c1722;border:1px solid #29465d;border-radius:8px;line-height:1.35;padding:10px}.hard-constraint-list li{border-color:#e5a84b}.storefront-column{min-width:0}.sticky-rail{align-self:start;max-height:calc(100vh - 36px);overflow:auto;position:sticky;top:18px}.side-panel h2,.side-panel h3{margin-bottom:8px}.side-panel ul{padding-left:20px}.storefront-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:18px}.storefront-controls{background:#0d1924b8;border:1px solid #29465d;border-radius:8px;display:grid;gap:12px;margin-top:16px;padding:12px}.catalog-control-row,.filter-chip-row,.view-toggle,.catalog-count{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sort-control{align-items:center;display:flex;flex-direction:row;gap:8px}.sort-control span,.search-control span{color:#a7bbc9}.search-control{align-items:center;display:flex;flex:1 1 240px;flex-direction:row;gap:8px;min-width:min(100%,240px)}.search-control input{flex:1;min-width:0}.view-toggle{background:#0c1722;border:1px solid #29465d;border-radius:8px;padding:3px}.view-toggle button,.filter-chip,.filter-reset{background:#1d4056;color:#c7e4f7;font-weight:700;padding:8px 10px}.view-toggle button.is-active,.filter-chip.is-active{background:#8cc152;color:#091018}.filter-reset{background:#25394a}.filter-reset:disabled{color:#6f8495;cursor:default;opacity:.72}.catalog-count{color:#a7bbc9;margin:0 0 0 auto}.catalog-count strong{color:#dbe7f1}.catalog-count span{color:#8f98a0}.empty-catalog-state{background:#0c1722;border:1px solid #29465d;border-radius:8px;margin-top:18px;padding:18px}.game-card{background:linear-gradient(180deg,#172a3d,#111e2c);border:1px solid #2d4c65;border-radius:8px;cursor:pointer;overflow:hidden;transition:border-color .16s ease,transform .16s ease}.game-card.is-selected{border-color:#8fd694}.game-card:hover,.game-card:focus-visible{border-color:#66c0f4;transform:translateY(-2px)}.capsule-art{align-items:center;aspect-ratio:16 / 7;background:linear-gradient(135deg,#66c0f44d,#8cc1523d),linear-gradient(145deg,#224a5f,#381f46 55%,#742f3d);color:#fff;display:flex;font-size:2.5rem;font-weight:800;justify-content:center}.game-card-body{padding:16px}.storefront-list{display:grid;gap:10px;margin-top:18px}.game-list-row{align-items:stretch;background:linear-gradient(90deg,#172a3d,#111e2c);border:1px solid #2d4c65;border-radius:8px;cursor:pointer;display:grid;gap:12px;grid-template-columns:112px minmax(0,1fr) minmax(126px,auto);min-width:0;padding:10px;transition:border-color .16s ease,transform .16s ease}.game-list-row.is-selected{border-color:#8fd694}.game-list-row:hover,.game-list-row:focus-visible{border-color:#66c0f4;transform:translateY(-1px)}.list-capsule{align-items:center;aspect-ratio:16 / 10;background:linear-gradient(135deg,#66c0f44d,#8cc15238),linear-gradient(145deg,#224a5f,#742f3d);border-radius:6px;color:#fff;display:flex;font-size:1.4rem;font-weight:900;justify-content:center;min-height:76px}.list-main{min-width:0}.list-title-row{align-items:start;display:flex;gap:12px;justify-content:space-between}.list-title-row h3,.game-card-heading h3{overflow-wrap:anywhere}.list-title-row p{color:#a7bbc9;margin:4px 0 0}.list-actions{align-content:start;display:grid;margin:0}.price{color:#8ee28e;font-weight:800}.tag-row,.metric-row,.status-row,.pressure-trait-row,.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tag-row span,.metric-row span,.status-row span,.pressure-trait-row span{background:#1d4056;border-radius:6px;color:#c7e4f7;font-size:.85rem;padding:6px 8px}.status-row .shortlist-state,.status-row .final-state,.status-row .vote-state{background:#315d39;color:#d8f7cc}.status-row .veto-state{background:#5a2730;color:#ffd7dd}.status-row .deal-state{background:#4c6b22;color:#beee11}.comparison-summary{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0}.comparison-summary div{background:#0c1722;border:1px solid #29465d;border-radius:6px;min-width:0;padding:8px}.comparison-summary dt{color:#8f98a0;font-size:.72rem;font-weight:800;text-transform:uppercase}.comparison-summary dd{color:#dbe7f1;font-size:.86rem;font-weight:800;margin:3px 0 0;overflow-wrap:anywhere}.pressure-trait-row{margin-bottom:8px}.game-card-footer{color:#a7bbc9;font-size:.9rem;margin:14px 0}.card-actions button{padding:8px 10px}.action-list{display:grid;gap:8px;list-style:none;padding:0}.action-list li,.result-box{background:#0c1722;border:1px solid #29465d;border-radius:8px;padding:10px}.vote-callout{background:#102033;border:1px solid #66c0f4;border-radius:8px;display:grid;gap:8px;margin:14px 0;padding:12px}.timer-callout{align-items:center;background:#0c1722;border:1px solid #e5a84b;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:14px;padding:10px}.timer-callout span{color:#e5a84b;font-size:1.1rem;font-weight:900}.alignment-status,.failure-confirm-box{background:#102033;border:1px solid #29465d;border-radius:8px;display:grid;gap:8px;margin:10px 0 14px;padding:12px}.alignment-status span,.failure-confirm-box p{color:#c8d9e6;margin:0}.danger-action{background:#e5a84b;color:#091018;font-weight:800;justify-self:start;padding:9px 12px}.failure-result{border-color:#e5a84b}.vote-callout p{color:#c8d9e6;margin:0}.vote-callout .primary-action{justify-self:start}.vote-status-list{margin-bottom:14px}.vote-counts{display:grid;gap:8px;margin:12px 0}.vote-counts div{background:#132435;border:1px solid #29465d;border-radius:8px;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.vote-counts dt,.vote-counts dd{margin:0}.vote-counts dd{color:#8fd694;font-weight:800}.review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.action-list li{display:grid;gap:4px}.score-line{color:#8fd694;display:flex;flex-wrap:wrap;font-weight:800;gap:10px}.result-card-list{display:grid;gap:10px}.player-result{background:#132435;border:1px solid #2e4f6a;border-radius:8px;padding:10px}.player-result>div{align-items:center;display:flex;justify-content:space-between;gap:10px}.player-result span{color:#8fd694;font-weight:800}.storefront-toolbar-meta{align-items:flex-end;color:#a7bbc9;display:flex;flex-direction:column;font-size:.9rem;gap:4px}.price-block{align-items:center;color:#b6f275;display:inline-flex;flex:none;font-weight:800;gap:8px;white-space:nowrap}.price-block-large{font-size:1.1rem}.discount-badge{background:#4c6b22;color:#beee11;font-weight:900;padding:5px 7px}.price-stack{display:grid;gap:1px;justify-items:end}.base-price{color:#8f98a0;font-size:.8rem;font-weight:600;text-decoration:line-through}.product-page{display:grid;gap:18px;min-width:0}.product-breadcrumbs,.product-title-row,.store-purchase-row,.product-actions{align-items:center;display:flex;gap:12px}.product-breadcrumbs{color:#8f98a0;flex-wrap:wrap;font-size:.88rem}.secondary-action,.product-actions button{background:#1d4056;color:#c7e4f7;font-weight:700;padding:9px 12px}.product-title-row{justify-content:space-between}.product-title-row h2{font-size:2rem;margin-bottom:4px;overflow-wrap:anywhere}.product-subtitle{color:#a7bbc9}.product-round-state{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.product-round-state span{background:#1d4056;border-radius:6px;color:#c7e4f7;padding:6px 8px}.product-hero,.product-content-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr)}.product-media,.product-summary,.store-section,.facts-card{background:#0d1924f2;border:1px solid #29465d;border-radius:8px}.product-main-art{align-items:flex-end;aspect-ratio:16 / 9;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62)),linear-gradient(135deg,#2e6e88,#273f5c 45%,#743b58);display:flex;min-height:260px;padding:24px}.product-main-art span{color:#fff;font-size:clamp(1.6rem,3vw,3rem);font-weight:900;overflow-wrap:anywhere;text-shadow:0 2px 12px rgba(0,0,0,.55)}.product-thumbs{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:10px}.product-thumb{background:linear-gradient(180deg,#66c0f42e,#00000014),#14283a;border-radius:6px;min-height:70px;overflow:hidden;padding:8px}.product-thumb span,.product-thumb small{display:block}.product-thumb small{color:#8f98a0;font-size:.72rem;line-height:1.25;margin-top:6px}.product-summary{align-content:start;display:grid;gap:14px;padding:14px}.summary-capsule{align-items:center;aspect-ratio:16 / 7;background:linear-gradient(135deg,#224a5f,#742f3d);color:#fff;display:flex;font-size:2rem;font-weight:900;justify-content:center}.review-summary{background:#0c1722;border-radius:8px;display:grid;gap:3px;padding:10px}.review-summary span,.review-summary small,.store-purchase-row span,.game-layer-note{color:#a7bbc9}.review-summary strong{color:#66c0f4}.store-purchase-row{background:linear-gradient(90deg,#25394a,#0c1722);border-radius:8px;justify-content:space-between;padding:12px}.store-purchase-row>div{display:grid;gap:4px}.product-actions{flex-wrap:wrap}.product-actions button:first-child{background:#8cc152;color:#091018}.game-layer-note{font-size:.86rem;margin:0}.product-main-column,.product-facts{display:grid;gap:18px}.product-facts{align-content:start}.store-section,.facts-card{padding:16px}.store-section h3,.facts-card h3{border-bottom:1px solid #29465d;padding-bottom:8px}.feature-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.feature-grid span{background:#14283a;border-radius:6px;padding:10px}.two-column-list,.requirements-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.two-column-list h4,.requirements-grid h4{color:#c7e4f7;margin:0 0 8px}.facts-list{display:grid;gap:8px 12px;grid-template-columns:minmax(95px,auto) 1fr;margin:0}.facts-list dt{color:#8f98a0;text-transform:uppercase}.facts-list dd{margin:0}.meter-stack{display:grid;gap:10px}.meter-row{align-items:center;display:grid;gap:8px;grid-template-columns:74px 1fr 34px}.meter-row>span{color:#a7bbc9}.meter-row strong{color:#c7e4f7;font-size:.86rem;text-align:right}.meter-track{background:#0c1722;border-radius:999px;height:8px;overflow:hidden}.meter-track span{background:linear-gradient(90deg,#66c0f4,#8cc152);display:block;height:100%}@media (max-width: 1180px){.browse-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}.decision-rail{grid-column:1 / -1;max-height:none;overflow:visible;position:static}.game-list-row{grid-template-columns:96px minmax(0,1fr)}.list-actions{display:flex;grid-column:1 / -1}.product-hero,.product-content-grid{grid-template-columns:1fr}}@media (max-width: 680px){.app-shell{padding:18px}.top-bar,.storefront-toolbar,.game-card-heading,.game-card-footer,.room-control-bar,.control-actions,.phase-task-strip,.scoreboard-strip{align-items:flex-start;flex-direction:column}.landing-layout,.browse-layout{grid-template-columns:1fr}.room-browser{min-height:auto}.sticky-rail{max-height:none;overflow:visible;position:static}.product-title-row,.store-purchase-row,.storefront-toolbar-meta,.catalog-control-row,.list-title-row{align-items:flex-start;flex-direction:column}.catalog-count{margin-left:0}.sort-control,.search-control{align-items:stretch;flex-direction:column;width:100%}.sort-control select,.search-control input{width:100%}.game-list-row{grid-template-columns:1fr}.list-capsule{aspect-ratio:16 / 7}.comparison-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.product-main-art{min-height:200px;padding:16px}}
