:root{--color-brand:#1f8a70;--color-brand-strong:#166c58;--color-brand-soft:#e6f3ef;--color-wood:#d9ad63;--color-wood-deep:#9e6739;--color-paper:#f6f1e7;--color-ink:#17211d;--color-text:#27332f;--color-muted:#66736f;--color-border:#dce5df;--color-border-strong:#c7d5ce;--color-surface:#ffffffb8;--color-surface-strong:#ffffffeb;--color-surface-warm:#f6f1e7e0;--color-page:#f8faf7;--color-table:#e7d0a0;--color-success:#22966e;--color-warning:#c58a2c;--color-danger:#c94c4c;--color-offline:#8b93a1;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Courier New", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:56px;--radius-control:8px;--radius-card:8px;--radius-panel:12px;--radius-feature:16px;--shadow-card:0 18px 44px #24302b17;--shadow-soft:0 8px 22px #24302b12;--shadow-control:0 8px 18px #1f8a702e;--blur-glass:blur(18px) saturate(128%);--content-flow:960px;--content-admin:1360px;--content-game:1120px}*{box-sizing:border-box}html{background:linear-gradient(135deg, #ffffffdb, #f6f1e76b 46%, #e6f3ef9e), var(--color-page);min-height:100%;color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:linear-gradient(180deg, transparent 0, #1f8a7009 100%), var(--color-page);min-width:320px;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-ink);letter-spacing:0;font-weight:780}::selection{color:var(--color-ink);background:#1f8a7033}code{color:var(--color-ink);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}a{color:var(--color-brand-strong)}.button{border-radius:var(--radius-control);min-height:44px;color:var(--color-ink);cursor:pointer;border:1px solid #0000;padding:0 18px;font-size:15px;font-weight:760;line-height:1;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible{outline-offset:2px;outline:3px solid #0a8f6a3d}.button:disabled{cursor:not-allowed;opacity:.58}.button--primary{background:linear-gradient(180deg, #239878, var(--color-brand));color:#fff;box-shadow:var(--shadow-control)}.button--primary:hover:not(:disabled){background:var(--color-brand-strong)}.button--secondary{border-color:var(--color-border);-webkit-backdrop-filter:blur(18px);background:#ffffffad}.button--secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:#ffffffe6}.button--danger{background:linear-gradient(180deg, #dc5a57, var(--color-danger));color:#fff;box-shadow:0 8px 18px #c94c4c2e}.panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--blur-glass)}.statusBadge{min-height:26px;color:var(--color-muted);-webkit-backdrop-filter:blur(14px);background:#ffffff8a;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:760;line-height:1;display:inline-flex}.statusBadge--success{color:var(--color-brand-strong);background:#1f8a7021}.statusBadge--warning{color:#8d5c12;background:#c58a2c29}.statusBadge--danger{color:#963232;background:#c94c4c24}.statusBadge--offline{color:#596272;background:#8b93a124}.textField{gap:var(--space-2);min-width:0;color:var(--color-ink);font-size:14px;font-weight:720;display:grid}.textField input{border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:44px;color:var(--color-ink);background:#ffffffd1;padding:0 14px;font-size:15px;font-weight:650;transition:background-color .16s,border-color .16s,box-shadow .16s;box-shadow:inset 0 1px #ffffff70}.textField input:focus{border-color:var(--color-brand);background:#fff;outline:3px solid #1f8a7029}.textField input::placeholder{color:#66736fc7}.textField small{color:var(--color-danger);font-weight:600}.flowLayout{background:linear-gradient(135deg, #ffffffd1, transparent 34%), linear-gradient(90deg, #1f8a7014, transparent 56%), var(--color-page);grid-template-columns:minmax(0,1fr) minmax(300px,420px);min-height:100vh;display:grid}.flowLayout__content,.flowLayout__aside{padding:clamp(28px, 5vw, var(--space-8))}.flowLayout__content{justify-content:center;gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.flowLayout__aside{border-left:1px solid var(--color-border);-webkit-backdrop-filter:var(--blur-glass);background:#ffffff6b}.flowLayout--room{grid-template-columns:1fr;align-content:start}.flowLayout--single{grid-template-columns:1fr}.flowLayout--room .flowLayout__content{justify-content:flex-start}.flowLayout--room .flowLayout__aside{border-top:1px solid var(--color-border);border-left:0;display:none}@media (width<=1080px){.flowLayout{grid-template-columns:1fr}.flowLayout__content,.flowLayout__aside{padding:var(--space-6) 22px}.flowLayout__aside{border-top:1px solid var(--color-border);border-left:0}}@media (width<=640px){.flowLayout__content,.flowLayout__aside{padding:28px 18px}}.duelGame{--duel-card-w:104px;--duel-card-h:156px;--duel-row-step:96px;gap:16px;width:100%;min-width:0;max-width:1540px;margin:0 auto;display:grid}.duelWorkspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;min-width:0;display:grid}.duelBoardColumn{gap:12px;min-width:0;display:grid}.duelHeader,.duelHeader__status,.duelResult,.duelResult>div,.duelChoiceDock__heading,.duelActionDock,.duelActionDock__commands,.duelCity,.duelCity__identity,.duelCity__stats,.duelCity__cards,.duelCity__wonders,.duelCity__progress,.duelMilitary,.duelProgressRow,.duelWonderChoices,.duelCardChoices,.duelChoiceButtons{align-items:center;display:flex}.duelHeader{justify-content:space-between}.duelHeader h1{letter-spacing:0;margin:2px 0 0;font-size:30px}.duelHeader__status{gap:12px}.duelHeader__status>span{color:var(--color-text-muted);font-size:14px;font-weight:700}.duelResult{color:#f7faf8;background:#43584f;border:1px solid #72867d;border-radius:8px;justify-content:space-between;gap:18px;padding:16px 18px}.duelResult>div:first-child{flex-direction:column;align-items:flex-start}.duelResult strong{font-size:22px}.duelScoreGrid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:620px;display:grid!important}.duelScoreGrid>div{background:#53685f;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.duelScoreGrid small{color:#d9e2de}.duelCity{background:#f6f7f4;border:1px solid #d7dcd5;border-left:4px solid #9da69e;border-radius:6px;flex-wrap:wrap;gap:10px 18px;min-width:0;padding:10px 12px}.duelCity.is-current{border-left-color:#b06d57;box-shadow:0 0 0 1px #ddc2b8}.duelCity__identity{gap:7px;min-width:135px}.duelCity__identity>span{color:var(--color-text-muted);font-size:12px}.duelCity__stats,.duelCity__cards,.duelCity__wonders,.duelCity__progress,.duelCity__science{flex-wrap:wrap;gap:5px}.duelCity__stats>span,.duelCity__wonders>span,.duelCity__progress>span,.duelCity__science>span{background:#fff;border:1px solid #dfe3dd;border-radius:4px;align-items:center;gap:3px;min-height:26px;padding:3px 6px;font-size:12px;display:inline-flex}.duelCity__science{align-items:center;display:flex}.duelCity__scienceCount{color:#435c52;font-weight:750}.duelCity__scienceEmpty{color:var(--color-text-muted)}.duelScienceMark{color:#315f50;white-space:nowrap}.duelCity__wonders>span{color:#8b918b;text-decoration:line-through}.duelCity__wonders>span.is-built{color:#5a4713;background:#fff6d8;border-color:#d9b958;text-decoration:none}.duelColorCount{color:#fff;border:1px solid #00000024;border-radius:3px;place-items:center;width:25px;height:25px;font-size:12px;font-weight:800;display:grid}.duelColorCount--brown{background:#8c5735}.duelColorCount--gray{background:#6e7472}.duelColorCount--blue{background:#286e9b}.duelColorCount--yellow{background:#b98515}.duelColorCount--red{background:#a33b31}.duelColorCount--green{background:#287459}.duelColorCount--purple{background:#79537e}.duelMilitary{gap:10px;min-width:0;padding:0 8px}.duelMilitary>svg:first-child{color:#286e9b}.duelMilitary>svg:last-child{color:#a33b31}.duelMilitary__track{flex:1;grid-template-columns:repeat(19,minmax(4px,1fr));min-width:0;height:24px;display:grid}.duelMilitary__space{background:#e6e9e4;border-left:1px solid #fff;min-width:0;position:relative;overflow:visible}.duelMilitary__space:first-child{border-radius:4px 0 0 4px}.duelMilitary__space:last-child{border-radius:0 4px 4px 0}.duelMilitary__space.is-penalty{background:#e8c39d}.duelMilitary__space i{z-index:1;background:#202825;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.duelMilitary__pawn{object-fit:contain;z-index:2;width:25px;height:30px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.duelProgressRow{flex-wrap:wrap;gap:7px}.duelProgress{color:#214d34;text-align:center;background:#edf5ee;border:1px solid #98b29c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:68px;height:68px;padding:5px;font-family:inherit;font-size:10px;line-height:1.1;display:inline-flex;position:relative;overflow:hidden}.duelProgress>:not(.duelProgress__art),.duelWonder>:not(.duelWonder__art),.duelCard>:not(.duelCard__art){z-index:1;position:relative}.duelProgress__art,.duelWonder__art,.duelCard__art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.duelProgress.has-art,.duelWonder.has-art,.duelCard.has-art{padding:0}.duelProgress.has-art>:not(.duelProgress__art),.duelWonder.has-art>:not(.duelWonder__art),.duelCard.has-art>:not(.duelCard__art){display:none}button.duelProgress:not(:disabled){cursor:pointer}button.duelProgress:not(:disabled):hover{border-color:#326744;transform:translateY(-2px)}.duelProgress small{font-size:9px}.duelChoiceDock,.duelActionDock{background:#f4f2eb;border:1px solid #d5d0c0;border-radius:7px;padding:12px}.duelChoiceDock{gap:10px;display:grid}.duelChoiceDock__heading{justify-content:space-between;gap:12px}.duelChoiceDock__heading span{color:#8f5545;font-size:13px}.duelWonderChoices,.duelCardChoices,.duelChoiceButtons{flex-wrap:wrap;align-items:stretch;gap:8px}.duelWonderChoices{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.duelWonder{color:#4b3b11;text-align:left;background:#fff8dc;border:1px solid #d0ae4c;border-radius:5px;gap:6px;min-height:82px;padding:9px;font-family:inherit;display:grid;position:relative;overflow:hidden}.duelWonder:not(:disabled){cursor:pointer}.duelWonder:not(:disabled):hover{background:#fff2bb;border-color:#9f7e22}.duelWonder:disabled{cursor:default}.duelWonder.has-art{aspect-ratio:1.54;min-height:0}.duelWonder>span{align-items:center;gap:5px;display:flex}.duelWonder small{color:#78662f}.duelWonder.is-taken .duelWonder__art{filter:grayscale()contrast(.72);opacity:.6}.duelWonder.has-art>.duelWonder__taken,.duelWonder__taken{color:#fff;text-align:center;z-index:2;background:#2d3431c2;justify-content:center;align-items:center;min-height:32px;padding:5px 7px;font-size:12px;font-weight:750;display:flex;position:absolute;inset:auto 0 0}.duelTableau{height:calc(var(--duel-card-h) + 4 * var(--duel-row-step) + 24px);background:#64766d;border:1px solid #87978f;border-radius:8px;min-width:0;position:relative;overflow:hidden}.duelTableau--age-3{height:calc(var(--duel-card-h) + 6 * var(--duel-row-step) + 24px)}.duelTableau__slot{left:calc(50% - 3 * var(--duel-card-w) + var(--duel-card-x) * var(--duel-card-w));top:calc(12px + var(--duel-card-y) * var(--duel-row-step));width:var(--duel-card-w);z-index:calc(var(--duel-card-y) + 1);position:absolute}.duelCard{color:#fff;height:var(--duel-card-h);isolation:isolate;text-align:left;width:var(--duel-card-w);border:2px solid #ffffff6b;border-radius:5px;grid-template-rows:24px 1fr auto 16px;padding:5px;font-family:inherit;display:grid;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000040}button.duelCard:not(:disabled){cursor:pointer}.duelCard:disabled{opacity:1}.duelCard.is-accessible:not(:disabled){box-shadow:0 0 0 3px #e7cf78,0 4px 10px #00000040}.duelCard.is-accessible:not(:disabled):hover{transform:translateY(-5px)}.duelCard.is-selected{box-shadow:0 0 0 4px #f8f8f4,0 0 0 7px #a96550}.duelCard--brown{background:#845234}.duelCard--gray{background:#626b69}.duelCard--blue{background:#25698e}.duelCard--yellow{background:#ad7d19}.duelCard--red{background:#98382f}.duelCard--green{background:#246c50}.duelCard--purple{background:#714c78}.duelCard--back{background:repeating-linear-gradient(45deg,#30453e,#30453e 8px,#405b52 8px 16px);place-items:center}.duelCard--back span{font-size:28px;font-weight:800}.duelCard__cost{min-height:22px;font-size:10px;line-height:1.15}.duelCard>strong{text-align:center;align-self:center;font-size:17px}.duelCard__effect{overflow-wrap:anywhere;font-size:10px;line-height:1.25}.duelCard>small{opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.duelActionDock{gap:12px;min-height:62px}.duelActionDock--empty{color:var(--color-text-muted);justify-content:center}.duelActionDock__card{flex:0 0 100px;gap:3px;display:grid}.duelActionDock__card span{color:var(--color-text-muted);font-size:12px}.duelActionDock__commands{flex-wrap:wrap;gap:7px}.duelActionDock__commands .button{align-items:center;gap:5px;display:inline-flex}.duelActionDock__wonders{color:#665a38;gap:3px;margin-left:auto;font-size:11px;display:grid}.duelInfoRail{background:#f3f5f2;border:1px solid #d7ded9;border-radius:7px;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}.duelInfoSection{gap:10px;padding:14px;display:grid}.duelInfoSection+.duelInfoSection{border-top:1px solid #d7ded9}.duelInfoSection h2{color:#35473f;align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.duelLegendList,.duelProgressGuide,.duelHistoryList{gap:8px;margin:0;padding:0;display:grid}.duelLegendItem,.duelProgressGuide__item{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;display:grid}.duelLegendItem>svg,.duelProgressGuide__item>svg{color:#5b7469;justify-self:center}.duelLegendItem div,.duelProgressGuide__item div{gap:1px;display:grid}.duelLegendItem strong,.duelProgressGuide__item strong{color:#39443f;font-size:12px}.duelLegendItem span,.duelProgressGuide__item span{color:var(--color-text-muted);font-size:11px;line-height:1.35}.duelProgressGuide__item img{object-fit:cover;border-radius:50%;width:28px;height:28px}.duelHistoryList{list-style:none}.duelHistoryList__item{grid-template-columns:36px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.duelHistoryList__item time{color:#78857f;font-variant-numeric:tabular-nums;font-size:10px}.duelHistoryList__item span,.duelHistoryEmpty{color:#4a5651;font-size:11px;line-height:1.4}.duelHistoryEmpty{margin:0}@media (width<=1180px){.duelWorkspace{grid-template-columns:1fr}.duelInfoRail{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;display:grid;position:static;overflow:visible}.duelInfoSection+.duelInfoSection{border-top:0;border-left:1px solid #d7ded9}}@media (width<=720px){.duelGame{--duel-card-w:58px;--duel-card-h:87px;--duel-row-step:58px;gap:10px}.duelHeader{align-items:flex-start;gap:8px}.duelHeader h1{font-size:22px}.duelHeader__status{flex-direction:column-reverse;align-items:flex-end;gap:5px}.duelHeader__status>span{font-size:11px}.duelResult{flex-direction:column;align-items:stretch}.duelScoreGrid{grid-template-columns:1fr;width:100%}.duelCity{gap:7px 10px;padding:8px}.duelCity__identity{width:100%;min-width:auto}.duelCity__stats>span,.duelCity__wonders>span,.duelCity__progress>span,.duelCity__science>span{min-height:23px;padding:2px 4px;font-size:10px}.duelProgress{width:54px;height:54px}.duelProgress svg{width:14px;height:14px}.duelMilitary{gap:5px;padding:0}.duelMilitary>svg{width:16px;height:16px}.duelMilitary__pawn{width:21px;height:26px;top:-1px}.duelTableau{border-radius:5px}.duelCard{border-width:1px;grid-template-rows:15px 1fr auto;padding:3px}.duelCard__cost{min-height:14px;font-size:7px}.duelCard>strong{font-size:12px}.duelCard__effect{font-size:7px;line-height:1.12}.duelCard>small{display:none}.duelCard.is-accessible:not(:disabled){box-shadow:0 0 0 2px #f0cf5a,0 3px 7px #00000047}.duelActionDock{flex-direction:column;align-items:flex-start;padding:9px}.duelActionDock__card{flex-basis:auto;gap:8px;display:flex}.duelActionDock__commands{width:100%}.duelActionDock__commands .button{flex:130px;justify-content:center}.duelActionDock__wonders{margin-left:0}.duelWonderChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.duelWonder{min-height:70px;font-size:11px}.duelWonder__taken{min-height:27px;font-size:10px}.duelChoiceDock{padding:9px}.duelInfoRail{grid-template-columns:1fr}.duelInfoSection+.duelInfoSection{border-top:1px solid #d7ded9;border-left:0}}@media (width<=390px){.duelGame{--duel-card-w:52px;--duel-card-h:78px;--duel-row-step:54px}.duelHeader h1{font-size:20px}.duelCity__cards{display:none}.duelTableau__slot{left:calc(50% - 3 * var(--duel-card-w) + var(--duel-card-x) * var(--duel-card-w))}.duelCard__effect{font-size:6.5px}}.splendorGamePanel{width:min(100%, var(--content-admin))}.splendorTopbar h1{font-size:38px}.splendorEmptyState{gap:var(--space-2);max-width:520px;padding:var(--space-5);display:grid}.splendorEmptyState p,.splendorHint{color:var(--color-muted);line-height:1.5}.splendorTurnBar{align-items:center;gap:var(--space-4);min-height:58px;padding:10px var(--space-4);border-radius:var(--radius-card);background:#e6f3efd1;border:1px solid #1f8a702e;display:flex}.splendorTurnBar>div{gap:2px;margin-right:auto;display:grid}.splendorTurnBar span,.splendorSectionHeading span,.actionGroupHeader span,.resourceGroup>span{color:var(--color-muted);font-size:12px;font-weight:720}.splendorTurnBar strong{color:var(--color-ink);font-size:20px}.splendorFinalRound{color:var(--color-warning)!important}.splendorMessage{padding:10px var(--space-3);border-left:3px solid var(--color-warning);background:#ffffff8f}.splendorLayout{align-items:start;gap:var(--space-4);grid-template-columns:minmax(220px,260px) minmax(620px,1fr) minmax(260px,300px);display:grid}.splendorControlColumn,.splendorPlayerColumn,.splendorTable,.marketTiers{gap:var(--space-4);min-width:0;display:grid}.splendorControlColumn,.splendorPlayerColumn{top:var(--space-4);position:sticky}.splendorPanel{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface-strong);display:grid}.splendorSectionHeading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.splendorSectionHeading>div{gap:3px;display:grid}.splendorSectionHeading h2{font-size:18px}.tokenPoolGrid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tokenAmount{align-items:center;gap:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);background:#ffffffa6;grid-template-columns:18px auto;min-width:0;padding:8px;display:grid}.tokenAmount strong{color:var(--color-ink);font-size:18px}.tokenAmount>span:last-child{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin-top:3px;font-size:11px;overflow:hidden}.gemMark{background:var(--gem-color);border:1px solid #17211d33;border-radius:5px;flex:none;width:16px;height:16px;display:inline-block;box-shadow:inset 0 1px #ffffff7a}.gemMark--white{--gem-color:#f4f2e9}.gemMark--blue{--gem-color:#397eb8}.gemMark--green{--gem-color:#3f8f63}.gemMark--red{--gem-color:#bf554f}.gemMark--black{--gem-color:#303735}.gemMark--gold{--gem-color:#d8aa42}.gemLabel{color:var(--color-ink);align-items:center;gap:7px;font-size:13px;font-weight:720;display:inline-flex}.actionPanel--required{background:#fff9ebf5;border-color:#c58a2c5c}.requiredCount{color:var(--color-warning);font-size:13px}.actionGroup{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:grid}.actionGroup:first-of-type{border-top:0;padding-top:0}.actionGroup>strong,.actionGroupHeader strong{color:var(--color-ink);font-size:14px}.actionGroupHeader{justify-content:space-between;gap:var(--space-2);display:flex}.tokenChoiceGrid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tokenChoice{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;background:#ffffffad;min-height:40px;padding:8px}.tokenChoice.is-selected{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:0 0 0 2px #1f8a701f}.tokenChoice:disabled{cursor:not-allowed;opacity:.45}.quickActionList,.nobleChoiceList{gap:var(--space-2);display:grid}.quickActionList{grid-template-columns:repeat(2,minmax(0,1fr))}.quickActionList .button{min-width:0;padding:0 10px;font-size:13px}.discardList{display:grid}.discardRow{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);min-height:42px;display:flex}.discardStepper{text-align:center;grid-template-columns:34px 30px 34px;align-items:center;display:grid}.discardStepper button{border:1px solid var(--color-border);border-radius:var(--radius-control);width:32px;height:32px;color:var(--color-ink);cursor:pointer;background:#fff;padding:0;font-size:20px}.discardStepper button:disabled{cursor:not-allowed;opacity:.4}.nobleSection,.marketSection,.reservedSection{gap:var(--space-3);display:grid}.nobleGrid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.nobleTile{aspect-ratio:1;border-radius:var(--radius-card);background:var(--color-paper);box-shadow:var(--shadow-soft);border:1px solid #9e67393d;overflow:hidden}.nobleTile img{object-fit:cover;width:100%;height:100%;display:block}.marketTier{align-items:start;gap:var(--space-3);grid-template-columns:66px minmax(0,1fr);display:grid}.tierDeck{aspect-ratio:326/468;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-strong);box-shadow:var(--shadow-soft);display:grid;position:relative;overflow:hidden}.tierDeck>img{object-fit:cover;width:100%;height:100%;display:block}.tierDeckCount{color:#fff;background:#141815d1;border:1px solid #ffffff6b;border-radius:5px;grid-template-columns:1fr;justify-items:center;padding:3px 2px;display:grid;position:absolute;bottom:5px;left:5px;right:5px}.tierDeckCount span,.tierDeckCount small{font-size:11px;font-weight:720}.tierDeckCount strong{font-size:16px;line-height:1}.tierDeckCount small{opacity:.72}.developmentCardGrid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.developmentCardGrid--reserved{grid-template-columns:repeat(4,minmax(0,1fr))}.developmentCard{border:1px solid var(--color-border-strong);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-soft);background:#fffffff5;flex-direction:column;gap:7px;padding:5px;display:flex}.developmentCard.is-buyable{border-color:#1f8a7075;box-shadow:0 8px 22px #1f8a7033}.developmentCardImage{aspect-ratio:326/468;object-fit:cover;border-radius:4px;width:100%;display:block}.cardActions{flex-wrap:wrap;gap:6px;min-height:32px;margin-top:auto;display:flex}.cardActions .button{flex:60px;min-height:34px;padding:0 9px;font-size:12px}.cardUnavailable{color:var(--color-muted);align-self:center;font-size:11px}.resourceLedger{gap:var(--space-2);display:grid}.resourceLedger__total{justify-content:space-between;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.resourceLedger__total span{color:var(--color-muted);font-size:11px;font-weight:720}.resourceLedger__total strong{color:var(--color-ink);font-size:17px}.resourceLedger__total.is-at-limit strong{color:var(--color-warning)}.resourceLedger__total.is-over-limit strong{color:#b53f38}.resourceLedger__grid{grid-template-columns:repeat(6,minmax(30px,44px));justify-content:space-between;gap:5px;padding:4px 1px 10px;display:grid}.resourceLedger__slot{--resource-accent:#bdb7aa;--resource-surface:#e8e4da;--resource-text:#27312d;aspect-ratio:4/5;background:var(--resource-surface);border:1px solid #1c252138;border-radius:8px;min-width:0;position:relative;box-shadow:inset 0 1px #ffffff61}.resourceLedger__slot--white{--resource-accent:#b9b3a7;--resource-surface:#e8e4da;--resource-text:#27312d}.resourceLedger__slot--blue{--resource-accent:#2472ad;--resource-surface:#4f82a5;--resource-text:#fff}.resourceLedger__slot--green{--resource-accent:#347957;--resource-surface:#648a70;--resource-text:#fff}.resourceLedger__slot--red{--resource-accent:#bd4039;--resource-surface:#c95749;--resource-text:#fff}.resourceLedger__slot--black{--resource-accent:#303735;--resource-surface:#4b514f;--resource-text:#fff}.resourceLedger__slot--gold{--resource-accent:#bd8c27;--resource-surface:#d0aa54;--resource-text:#27312d}.resourceLedger__slot>.gemMark{z-index:2;border:2px solid #fff;border-radius:6px;width:17px;height:13px;position:absolute;top:-5px;right:-3px;transform:rotate(10deg);box-shadow:0 1px 3px #19221e47}.resourceLedger__discount{color:var(--resource-text);text-shadow:0 1px 2px #141c1875;place-items:center;font-size:22px;line-height:1;display:grid;position:absolute;inset:0}.resourceLedger__slot--white .resourceLedger__discount,.resourceLedger__slot--gold .resourceLedger__discount{text-shadow:0 1px #ffffff85}.resourceLedger__tokenCount{z-index:3;aspect-ratio:1;border:3px solid var(--resource-accent);color:#26312d;background:#f8f6f0;border-radius:50%;place-items:center;width:min(31px,86%);font-size:15px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-10px;left:-2px;box-shadow:0 2px 4px #19221e47,inset 0 0 0 1px #ffffffc7}.resourceLedger--compact{padding-top:var(--space-2);border-top:1px dashed var(--color-border);grid-column:1/-1;margin-top:3px}.resourceLedger--compact .resourceLedger__total{border-bottom:0;padding-bottom:4px}.resourceLedger--compact .resourceLedger__total strong{font-size:13px}.resourceLedger--compact .resourceLedger__grid{padding-top:2px}.standingsPanel ol,.splendorEventsPanel ul{margin:0;padding:0;list-style:none;display:grid}.standingsPanel li{gap:var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;padding:10px 0;display:grid}.standingsPanel li:last-child,.splendorEventsPanel li:last-child{border-bottom:0}.standingsPanel li.is-current{border-radius:var(--radius-control);background:var(--color-brand-soft);padding-left:8px;padding-right:8px}.standingIdentity{gap:3px;min-width:0;display:grid}.standingIdentity>strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.standingIdentity>span{color:var(--color-muted);font-size:11px;line-height:1.4}.standingsPanel .statusBadge{grid-column:1/-1;justify-self:start}.standingScore{align-content:start;justify-items:end;display:grid}.standingScore strong{color:var(--color-ink);font-size:20px}.standingScore span{color:var(--color-muted);font-size:10px}.splendorEventsPanel li{border-bottom:1px solid var(--color-border);color:var(--color-muted);padding:8px 0;font-size:12px;line-height:1.45}@media (width<=1180px){.splendorLayout{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.splendorPlayerColumn{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));position:static}.nobleGrid,.developmentCardGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.splendorLayout{grid-template-columns:1fr}.splendorControlColumn,.splendorPlayerColumn{grid-column:auto;position:static}.splendorControlColumn{order:1}.splendorTable{order:2}.splendorPlayerColumn{order:3;grid-template-columns:1fr}.nobleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketTier{gap:var(--space-2);grid-template-columns:48px minmax(0,1fr)}.tierDeck{border-radius:6px}.developmentCardGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px){.splendorTopbar h1{font-size:32px}.splendorTurnBar{flex-wrap:wrap;align-items:flex-start}.splendorTurnBar>div{flex:160px}.splendorPanel{padding:var(--space-3)}.developmentCard{padding:4px}.developmentCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.developmentCardGrid--reserved{grid-template-columns:repeat(2,minmax(0,1fr))}}.rummikubPanel{width:min(100%,1180px)}.rummikubTopbarActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.rummikubStats,.rummikubPlayers{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.rummikubStats>.panel,.rummikubPlayer{padding:var(--space-3)}.rummikubStats span,.rummikubPlayer span,.rummikubTableHeader span,.rummikubRackHeader span{color:var(--color-muted);font-size:12px}.rummikubStats strong{margin-top:4px;font-size:18px;display:block}.rummikubTimerPanel{transition:border-color .16s,background-color .16s}.rummikubTimerPanel.is-warning{background:#fffaf0;border-color:#c48a1a}.rummikubTimerPanel.is-critical{background:#fff1f1;border-color:#c73b3b}.rummikubTimerValue.is-warning{color:#946200}.rummikubTimerValue.is-critical{color:#b42318;animation:.9s ease-in-out infinite alternate rummikubTimerPulse}.rummikubTimerPanel small{color:#a13b22;margin-top:3px;font-size:11px;font-weight:760;display:block}@keyframes rummikubTimerPulse{0%{opacity:.72}to{opacity:1}}.rummikubLayout{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;display:grid}.rummikubTable,.rummikubRackPanel{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-strong);box-shadow:var(--shadow-card)}.rummikubTableHeader,.rummikubRackHeader,.rummikubPlayer,.rummikubRoundBanner,.rummikubResult{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.rummikubTableHeader h2,.rummikubRackHeader h2{margin:0;font-size:20px}.rummikubGroups{min-height:190px;margin-top:var(--space-4);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 78%, var(--color-brand) 22%);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rummikubGroup{border:1px solid var(--color-border);background:#ffffffd6;border-radius:8px;gap:3px;min-width:82px;min-height:70px;padding:7px;display:flex;box-shadow:0 8px 18px #231d1414}.rummikubEmptyTable{color:var(--color-muted);align-items:center;gap:8px;font-size:13px;display:flex}.rummikubRack{min-height:126px;margin-top:var(--space-4);border:1px solid var(--color-border);background:#f4efe5;border-radius:8px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.rummikubTile{color:#24211c;cursor:pointer;background:#fffdf8;border:2px solid;border-radius:6px;flex:0 0 42px;place-items:center;width:42px;height:58px;padding:0;font-size:20px;font-weight:780;display:inline-grid;box-shadow:0 3px #0000001f}.rummikubTile--red{color:#b42318;background:#fff1f0}.rummikubTile--blue{color:#075985;background:#eff8ff}.rummikubTile--black{color:#111827;background:#e9eef5;border-style:double}.rummikubTile--yellow{color:#8a4b08;background:#fff8d6}.rummikubTile--joker{color:#8a5b31;background:#f2d48c}.rummikubTile.is-selected{outline:3px solid var(--color-brand);outline-offset:2px;transform:translateY(-3px)}.rummikubToolbar{margin-top:var(--space-3);flex-wrap:wrap;gap:8px;display:flex}.rummikubToolbar button{flex:auto}.rummikubDraftNotice{color:var(--color-brand-strong);margin:10px 0 0;font-size:12px;font-weight:700}.rummikubOpeningHint,.rummikubSortControls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rummikubOpeningHint{color:#8a4b08;margin:10px 0 0;font-size:12px;font-weight:700}.rummikubSortControls{color:var(--color-muted);margin-top:10px;font-size:12px;font-weight:760}.rummikubSortControls .button{min-height:34px;padding:0 11px;font-size:12px}.rummikubPlayers{grid-template-columns:repeat(4,minmax(0,1fr))}.rummikubPlayer{align-items:flex-start}.rummikubPlayer strong,.rummikubPlayer b{display:block}.rummikubPlayer--current{border-color:var(--color-brand)}.rummikubRoundBanner,.rummikubResult{padding:var(--space-4)}.rummikubRoundBanner strong,.rummikubResult strong{margin-top:4px;font-size:20px;display:block}@media (width<=900px){.rummikubLayout{grid-template-columns:1fr}.rummikubStats,.rummikubPlayers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.rummikubStats,.rummikubPlayers{grid-template-columns:1fr 1fr;gap:8px}.rummikubTable,.rummikubRackPanel{padding:12px}.rummikubTile{flex-basis:35px;width:35px;height:50px;font-size:17px}.rummikubGroup{min-width:70px;padding:5px}.rummikubRoundBanner,.rummikubResult{flex-direction:column;align-items:flex-start}.rummikubTopbarActions{justify-content:flex-start;width:100%}}.heroPanel,.gamesPanel,.adminPanel,.roomPanel,.gamePanel,.systemPanel{gap:var(--space-5);flex-direction:column;display:flex}.heroPanel,.gamesPanel,.adminPanel,.roomPanel{width:min(100%, var(--content-flow))}.gamePanel{width:min(100%, var(--content-game))}.eyebrow{color:var(--color-brand-strong);margin:0;font-size:13px;font-weight:780}h1{font-size:44px;line-height:1.06}h2{font-size:22px}.summary{max-width:520px;color:var(--color-muted);font-size:17px;line-height:1.65}.heroPanel{max-width:680px;position:relative}.heroPanel .summary{max-width:450px}.heroPanel>*{z-index:1;position:relative}.heroPanel:after{border-radius:var(--radius-feature);background:radial-gradient(circle at 47% 42%, #111312 0 23px, transparent 24px), radial-gradient(circle at 70% 64%, #fbfaf7 0 22px, #00000024 23px, transparent 24px), radial-gradient(circle at 35% 73%, var(--color-brand) 0 11px, transparent 12px), linear-gradient(145deg, #edcd86, var(--color-wood));content:"";z-index:0;border:1px solid #9e67392e;width:168px;height:168px;position:absolute;top:138px;right:4px;transform:rotate(-3deg);box-shadow:0 18px 42px #523a1c29}.accessCard{max-width:430px;padding:var(--space-5);background:var(--color-surface-strong)}.accessForm{gap:var(--space-4);display:grid}.adminPanel{width:min(100%, var(--content-admin))}.accountActions{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.accountActions>span{color:var(--color-muted);font-size:14px;font-weight:720}.createUserCard{padding:var(--space-4);background:var(--color-surface-strong)}.createUserForm{align-items:end;gap:var(--space-3);grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;display:grid}.userList{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-strong);box-shadow:var(--shadow-card);display:grid;overflow:hidden}.userRow{align-items:center;gap:var(--space-4);padding:var(--space-4);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(180px,.7fr) minmax(360px,1.3fr);display:grid}.userRow+.userRow{border-top:1px solid var(--color-border)}.userIdentity,.userIdentity>div{align-items:center;gap:var(--space-3);display:flex}.userIdentity{justify-content:space-between}.userIdentity>div{align-items:flex-start;gap:var(--space-1);flex-direction:column}.userIdentity span,.protectedAccount{color:var(--color-muted);font-size:13px}.userActions{align-items:end;gap:var(--space-3);grid-template-columns:minmax(180px,1fr) auto auto;display:grid}.protectedAccount{text-align:right}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);width:100%;display:flex}.brandTitle{line-height:0}.brandLogo{width:260px;height:auto;display:block}.inlineMessage{max-width:var(--content-flow);color:var(--color-muted);font-weight:720}.playerSetupCard,.joinRoomCard,.currentRoomCard{padding:var(--space-4)}.playerSetupCard{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.selectField{align-content:end;gap:var(--space-2);color:var(--color-muted);font-size:13px;font-weight:720;display:grid}.selectField select{border:1px solid var(--color-border);background:var(--color-surface-strong);min-height:42px;color:var(--color-ink);font:inherit;border-radius:8px;padding:0 12px}.gamesPanel .playerSetupCard,.gamesPanel .joinRoomCard,.gamesPanel .currentRoomCard,.gamesPanel .gameGrid{-webkit-backdrop-filter:var(--blur-glass);background:#ffffff8f}.joinRoomForm{align-items:end;gap:var(--space-3);grid-template-columns:minmax(180px,1fr) minmax(160px,.85fr) auto;display:grid}.joinRoomForm__error{color:var(--color-danger);grid-column:1/-1;font-size:13px;font-weight:600}.accountNickname{align-content:center;gap:var(--space-2);min-height:68px;color:var(--color-muted);font-size:13px;font-weight:720;display:grid}.accountNickname strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.currentRoomCard{justify-content:space-between;align-items:center;gap:var(--space-4);background:linear-gradient(135deg,#e6f3eff5,#ffffffbd);border-color:#1f8a7033;display:flex}.currentRoomCard span{color:var(--color-muted);font-size:13px;font-weight:720}.currentRoomCard strong{color:var(--color-ink);font-family:var(--font-mono);letter-spacing:.04em;margin-top:4px;font-size:30px;display:block}.currentRoomCard__actions{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.gameGrid{border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);gap:0;display:grid;overflow:hidden}.gameCard{gap:var(--space-4);min-height:68px;padding:12px var(--space-4);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.gameCard+.gameCard{border-top:1px solid var(--color-border)}.gameCard__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.gameCard__header>div{min-width:0}.gameCard__header h2{font-size:20px;line-height:1.2}.gameCard__header p{color:var(--color-muted);white-space:nowrap;margin-top:2px;font-size:13px;line-height:1.35}.gameCard .button{white-space:nowrap;grid-area:1/2;align-self:center}.roomCodeCard{gap:var(--space-3);max-width:560px;padding:var(--space-6);background:linear-gradient(135deg, #ffffffe6, #f6f1e7d6), var(--color-paper);border-color:#9e673933;display:grid}.roomCodeCard span,.roomMeta span{color:var(--color-muted);font-size:13px;font-weight:720}.roomCodeCard strong{color:var(--color-ink);font-family:var(--font-mono);letter-spacing:.04em;font-size:52px;font-weight:780}.roomCodeCard p{color:var(--color-muted)}.roomMetaGrid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.roomMeta{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#ffffff9e;display:grid}.roomMeta strong{color:var(--color-ink)}.playersCard,.roomEventsCard{gap:var(--space-3);padding:var(--space-5);display:grid}.playersCard ul,.roomEventsCard ul{margin:0;padding:0;list-style:none;display:grid}.playersCard li{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);min-height:50px;padding:10px 0;display:flex}.playersCard li:last-child,.roomEventsCard li:last-child{border-bottom:0}.playersCard span{color:var(--color-ink);font-weight:720}.playerBadges{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.botRemoveButton{min-height:34px;padding:0 12px;font-size:13px}.botControls{align-items:end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.botControls label{gap:var(--space-2);display:grid}.botControls label>span{color:var(--color-muted);font-size:13px;font-weight:720}.botControls select{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:132px;min-height:44px;color:var(--color-ink);font:inherit;background:#ffffffdb;padding:0 36px 0 13px}.botControls select:focus-visible{outline-offset:2px;outline:3px solid #0a8f6a3d}.roomEventsCard li{border-bottom:1px solid var(--color-border);color:var(--color-muted);padding:9px 0;line-height:1.5}.roomActions{gap:var(--space-3);flex-wrap:wrap;display:flex}.gomokuLayout{align-items:start;gap:var(--space-5);grid-template-columns:minmax(420px,680px) minmax(280px,360px);display:grid}.resultBanner{align-items:center;gap:var(--space-3);padding:var(--space-5);background:linear-gradient(135deg,#e6f3eff5,#ffffffb8);border-color:#1f8a7033;grid-template-columns:minmax(0,1fr) auto;display:grid}.resultBanner span,.resultBanner p{color:var(--color-muted);font-weight:720}.resultBanner strong{color:var(--color-ink);font-size:28px}.gomokuBoard{--gomoku-edge:clamp(18px, 5%, 30px);aspect-ratio:1;border-radius:var(--radius-feature);background:linear-gradient(135deg, #ffffff2e, transparent 34%), var(--color-table);border-color:#9e673942;width:min(100%,680px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff73,0 18px 40px #523a1c21}.gomokuGrid,.gomokuPointLayer{inset:var(--gomoku-edge);position:absolute}.gomokuGrid{pointer-events:none;z-index:0}.gomokuGridLine{background:#6046236b;position:absolute}.gomokuGridLine--horizontal{height:1px;left:0;right:0;transform:translateY(-50%)}.gomokuGridLine--vertical{width:1px;top:0;bottom:0;transform:translate(-50%)}.gomokuPointLayer{z-index:1}.gomokuCell{aspect-ratio:1;box-sizing:border-box;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:clamp(30px,7.2%,42px);padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.gomokuCell:disabled{cursor:default}.gomokuCell:not(:disabled):hover,.gomokuCell.winning{background:#1f8a702e}.gomokuCell:focus-visible{outline-offset:2px;outline:2px solid #1f8a70b8}.gomokuCell span{aspect-ratio:1;border-radius:999px;width:78%}.gomokuCell.black span{background:#111312;box-shadow:inset 0 -5px 9px #ffffff14,0 2px 7px #00000047}.gomokuCell.white span{background:#fbfaf7;border:1px solid #00000029;box-shadow:inset 0 -5px 8px #0000000f,0 2px 7px #00000024}.gameSidebar{gap:var(--space-3);display:grid}.gameActions{justify-content:flex-start;display:flex}.turnCard{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface-strong);display:grid}.turnCard span{color:var(--color-muted);font-size:13px;font-weight:720}.turnCard strong{color:var(--color-ink);font-size:24px}.turnCard--current{background:linear-gradient(135deg,#e6f3effa,#ffffffd1);border-color:#1f8a7038}.systemPanel{gap:var(--space-4)}.systemPanel__header{gap:var(--space-2);display:grid}.checks{gap:var(--space-3);display:grid}.check{align-items:center;gap:var(--space-3);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft);background:#ffffffb3;grid-template-columns:14px minmax(0,1fr);padding:16px;display:grid}.checkHeader{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.check strong,.check span{display:block}.check strong{color:var(--color-ink)}.check span{overflow-wrap:anywhere;color:var(--color-muted)}.dot{background:var(--color-offline);border-radius:999px;width:12px;height:12px}.dot.ok,.dot.open,.dot.success{background:var(--color-success);box-shadow:0 0 0 5px #22966e24}.dot.error,.dot.danger{background:var(--color-danger);box-shadow:0 0 0 5px #c94c4c24}.dot.checking,.dot.connecting,.dot.warning{background:var(--color-warning);box-shadow:0 0 0 5px #c58a2c29}.logPanel{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);-webkit-backdrop-filter:blur(14px);background:#ffffff94}.logPanel ul{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.logPanel li{border-bottom:1px solid var(--color-border);padding:12px 0}.logPanel li:last-child{border-bottom:0}.empty{color:var(--color-muted);margin-top:18px}@media (width<=1120px){.heroPanel:after{opacity:.3;transform:rotate(-3deg)scale(.84)}}@media (width<=1080px){h1{font-size:36px}.heroPanel:after{display:none}.topbar{flex-direction:column;align-items:stretch}.topbar .button{align-self:flex-start}.brandLogo{width:224px}.accountActions{flex-wrap:wrap;justify-content:flex-start}.joinRoomForm,.createUserForm,.userRow,.userActions,.playerSetupCard,.roomMetaGrid,.gomokuLayout,.resultBanner{grid-template-columns:1fr}.gomokuLayout,.resultBanner,.gameSidebar{width:min(100%,680px)}.gomokuBoard{--gomoku-edge:clamp(16px, 5%, 24px)}}@media (width<=640px){h1{font-size:34px}h2{font-size:20px}.summary{font-size:16px}.accessCard,.createUserCard,.userRow,.playerSetupCard,.joinRoomCard,.currentRoomCard,.roomCodeCard,.playersCard,.roomEventsCard,.resultBanner{padding:18px}.currentRoomCard,.currentRoomCard__actions{flex-direction:column;align-items:stretch}.currentRoomCard__actions{justify-content:flex-start}.currentRoomCard .button,.createUserForm .button,.joinRoomForm .button,.userActions .button,.roomActions .button,.gameActions .button{width:100%}.protectedAccount{text-align:left}.roomCodeCard strong{font-size:42px}.playersCard li{flex-direction:column;align-items:flex-start}.playerBadges{justify-content:flex-start}.roomActions,.gameActions{flex-direction:column;align-items:stretch}.gomokuBoard{--gomoku-edge:clamp(14px, 5%, 20px);border-radius:var(--radius-panel)}.gomokuCell{width:clamp(30px,8.2%,38px)}}
