.notifications{flex:none;position:relative}.notification-button{position:relative}.notification-dot,.notification-unread{background:var(--coral);border-radius:50%;width:8px;height:8px}.notification-dot{box-shadow:0 0 0 2px var(--canvas);position:absolute;top:5px;right:5px}.notification-panel{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(360px,100vw - 24px);max-height:min(65dvh,480px);color:var(--ink);border-radius:16px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 36px #0a1a1a33}.notification-heading{justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 10px;display:flex}.notification-heading button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.notification-panel ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.notification-item{text-align:left;width:100%;color:var(--ink);background:var(--surface-soft);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.notification-item:hover,.notification-item:focus-visible{border-color:var(--growth)}.notification-item.unread{background:var(--surface-card)}.notification-item-icon{background:var(--surface-strong);width:34px;height:34px;color:var(--growth);border-radius:10px;flex:none;place-items:center;font-weight:700;display:grid}.notification-item>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.notification-item small{color:var(--muted);overflow-wrap:anywhere}.notification-empty{color:var(--muted);margin:8px 4px}.details-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.details-tab{border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:9px 16px}.details-tab[aria-current=page]{background:var(--ink);color:var(--canvas)}.news-list{gap:20px;display:grid}.news-post{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;overflow:hidden}.news-post-hero{color:#fff8e8;background:linear-gradient(90deg,#143527f5,#143527ab),url(/art/season-storm-island.jpg) 50% 52%/cover;flex-direction:column;justify-content:end;min-height:180px;padding:clamp(22px,4vw,36px);display:flex;position:relative;overflow:hidden}.news-post-hero-invite-friends-2026{background-image:linear-gradient(90deg,#143527f5,#1435278a),url(/art/news-friends-island.jpg)}.news-post-hero:after{content:"";pointer-events:none;border:1px solid #ebd39759;border-radius:12px;position:absolute;inset:10px}.news-ornament{color:#e8d29b;opacity:.8;letter-spacing:.2em;position:absolute;top:24px;right:28px}.news-post time{color:#e8d29b;font-size:13px;font-weight:600}.news-post h2{color:inherit;max-width:22ch;margin:8px 0 0;font-size:clamp(24px,3vw,36px);line-height:1.1;position:relative}.news-post-body{padding:clamp(20px,3vw,32px)}.news-post p{max-width:70ch;color:var(--body);margin:0 0 14px;line-height:1.65}.news-post p:last-child{margin-bottom:0}:is(.home-nav:has(.notification-panel),.room-bar:has(.notification-panel)){z-index:45}@media (width<=600px){.notification-panel{width:calc(100vw - 24px);position:fixed;top:64px;right:12px}}.profile-referral,.referral-invite{border:1px solid var(--line);background:var(--surface-card);color:var(--ink);border-radius:16px}.profile-referral{gap:12px;margin:18px 0;padding:clamp(16px,2.5vw,24px);display:grid}.profile-referral-copy{align-items:center;gap:14px;display:flex}.profile-referral-icon{width:46px;height:46px;color:var(--forest);background:var(--sun);border-radius:12px;flex:none;place-items:center;font-size:23px;display:grid}.profile-referral h2{font-size:20px}.profile-referral p,.referral-invite p{color:var(--body);margin:5px 0 0}.profile-referral-controls{flex-wrap:wrap;gap:8px;display:flex}.profile-referral-controls input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:12px;flex:220px;padding:10px 12px}.profile-referral small:empty{display:none}.referral-invite{margin-bottom:16px;padding:16px 18px}@keyframes board-water-sighting{0%{opacity:0;transform:translate(-10px,2px)}20%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(12px,1px)}}.board-water-find{animation:6s ease-in-out both board-water-sighting}@media (prefers-reduced-motion:reduce){.board-water-find{display:none}}.board-wrap:has(>svg.board.board-has-water-kit){background:#1f4c88 url(/art/board-cells/neutral/water/deep-still.svg) 50%/268px 168px}.art-drawn .board-wrap:has(>svg.board.board-has-water-kit){background:#255671 url(/art/board-cells/realistic/water/deep-still.png) 50%/375px 375px}.board-wrap:has(>svg.board.board-has-water-kit):before{display:none}.modal.subscription-welcome{background:var(--canvas);width:min(860px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);padding:clamp(20px,3vw,34px);overflow-y:auto}.subscription-welcome .modal-head{align-items:start;gap:16px}.subscription-welcome .modal-head h2{font-size:clamp(26px,3vw,36px);line-height:1.12}.welcome-intro{justify-content:space-between;align-items:center;gap:16px;margin:14px 0 20px;display:flex}.welcome-intro p{color:var(--body);margin:10px 0 0}.welcome-badge{background:var(--mint);color:var(--forest);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.welcome-island{background:url(/art/season-storm-island.jpg) 50%/cover;border-radius:12px;flex:none;width:132px;height:76px}.welcome-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.welcome-benefit{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:flex-start;gap:12px;min-width:0;padding:13px;display:flex}.welcome-icon{background:var(--surface-strong);width:38px;height:38px;color:var(--growth);border-radius:10px;flex:none;place-items:center;display:grid}.welcome-icon svg{width:22px;height:22px}.welcome-benefit b{line-height:1.25}.welcome-benefit p,.welcome-gift p{color:var(--body);margin:4px 0 0;font-size:13px;line-height:1.4}.welcome-gift{background:var(--surface-card);border-radius:16px;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex}.welcome-gift svg{flex:none}.welcome-gift h3{margin:0;font-size:17px}.welcome-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.subscription-welcome button:focus-visible{outline:3px solid var(--growth);outline-offset:3px}@media (width<=600px){.welcome-benefits{grid-template-columns:1fr}.welcome-island{width:84px;height:66px}.welcome-actions{display:grid}}.welcome-title{margin-top:10px;display:block}.modal.subscription-welcome{isolation:isolate;color:#f8f5e9;border-color:var(--welcome-accent);background:var(--welcome-background);position:relative}.modal.subscription-welcome.welcome-keeper{--welcome-accent:#e2c685;--welcome-background:linear-gradient(155deg,#3e5031,#182f26)}.modal.subscription-welcome.welcome-owner{--welcome-accent:#f8d676;--welcome-background:linear-gradient(155deg,#64512a,#2e2a1d)}.modal.subscription-welcome.welcome-overlord{--welcome-accent:#d1b4ee;--welcome-background:linear-gradient(155deg,#4d3b68,#211d38)}.subscription-welcome>:not(.welcome-ornament){z-index:1;position:relative}.subscription-welcome .welcome-ornament{z-index:0;width:min(65%,500px);height:180px;color:var(--welcome-accent);opacity:.32;pointer-events:none;position:absolute;top:0;right:0;overflow:hidden}.welcome-ornament .membership-tapestry{width:100%;height:100%}.subscription-welcome .modal-head h2,.subscription-welcome .welcome-gift h3{color:#fff9ed}.subscription-welcome .modal-head .icon-btn{color:#f8f5e9;border:1px solid var(--welcome-accent);background:0 0}.subscription-welcome .welcome-badge{background:var(--welcome-accent);color:#19251d}.subscription-welcome .welcome-intro p,.subscription-welcome .welcome-benefit p,.subscription-welcome .welcome-gift p{color:#e4e4dc}.subscription-welcome .welcome-benefit{border-color:color-mix(in srgb,var(--welcome-accent) 35%,transparent);background:#00000029}.subscription-welcome .welcome-icon{color:var(--welcome-accent);background:#0003}.subscription-welcome .welcome-gift{border:1px solid color-mix(in srgb,var(--welcome-accent) 45%,transparent);background:#00000038}.subscription-welcome .welcome-island{border:1px solid var(--welcome-accent);color:var(--welcome-accent);background:#0000002e;place-items:center;display:grid}.subscription-welcome .welcome-island .membership-emblem{width:47px;height:52px}.subscription-welcome .welcome-actions .primary{background:var(--welcome-accent);border-color:var(--welcome-accent);color:#19251d}.subscription-welcome .welcome-actions .secondary{color:#fff9ed;border-color:var(--welcome-accent);background:0 0}.subscription-welcome button:focus-visible{outline-color:var(--welcome-accent)}.subscription-welcome .welcome-renew-checkout{margin-top:18px}.subscription-welcome .welcome-renew-checkout>p{color:#e4e4dc;margin:8px 0}.subscription-welcome .welcome-renew-checkout .membership-demo-warning{color:var(--ink)}.subscription-welcome .welcome-renew-checkout .cash-checkout{margin-top:12px}.subscription-welcome .welcome-renew-checkout .cash-checkout>button{background:var(--welcome-accent);border-color:var(--welcome-accent);color:#19251d}.report-toolbar,.report-finance{gap:14px;min-width:0;display:grid}.report-toolbar{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:14px;padding:16px 20px}.report-toolbar-head,.report-finance-heading,.report-filters,.report-filters form{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.report-toolbar-head,.report-finance-heading{justify-content:space-between}.report-toolbar-head strong{font:600 clamp(17px,2vw,23px)/1.2 Rubik,sans-serif}.report-toolbar-head small{color:var(--admin-muted);margin-inline-start:8px}.report-toolbar .admin-period,.report-finance .admin-period{flex-wrap:wrap}.report-filters{justify-content:space-between}.report-filters form{align-items:flex-end;gap:8px}.report-filters label{color:var(--admin-muted);gap:3px;font-size:12px;display:grid}.report-filters input{width:9rem;max-width:100%;color:var(--admin-ink);background:var(--admin-surface);border:1px solid var(--admin-line);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;padding:6px}[data-theme=dark] .report-filters input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.report-toolbar [role=alert]{color:var(--error);margin:0}.report-finance-heading h2{margin:0}.report-comparison th[scope=row]{white-space:normal;color:var(--admin-ink)}.report-comparison :is(th,td):not(:first-child),.report-products :is(th,td):not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.report-comparison td:nth-child(2){background:var(--admin-soft)}.report-comparison th,.report-comparison td{padding:9px 12px}.report-readout{font-variant-numeric:tabular-nums;gap:3px;margin:8px 0 16px;display:grid}.report-readout strong{font:600 26px Rubik,sans-serif}.report-readout span{color:var(--admin-muted);font-size:12px}.report-trend svg{cursor:crosshair;width:100%;height:125px}.report-trend rect{fill:var(--admin-green)}.report-trend rect.on{fill:var(--admin-gold)}.report-toolbar :focus-visible,.report-trend svg:focus-visible{outline:2px solid var(--admin-green);outline-offset:2px}@media (width<=640px){.report-toolbar{padding:12px}.report-filters form{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.report-filters input{width:100%;min-width:0}.report-filters form button{grid-column:1/-1}.report-comparison :is(th,td){padding-inline:7px}}@media (width<=1050px){.admin-app .admin-layout{grid-template-columns:minmax(0,1fr)}.admin-sidebar,.admin-main>*{min-width:0}.admin-main{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.admin-app .admin-top{flex-wrap:wrap;gap:8px;height:auto;padding-block:10px}.admin-app .admin-top-actions{flex-wrap:wrap;margin-inline-start:0}.admin-app .admin-panels{grid-template-columns:minmax(0,1fr)}.admin-user-controls select{max-width:100%}}.admin-user-controls.report-filters{justify-content:flex-start}.admin-user-controls.report-filters input[type=search]{width:min(100%,22rem);font-size:14px}.admin-user-controls.report-filters select{width:auto}.analytics-app{background:var(--canvas);min-height:100dvh;color:var(--ink);font-size:14px}.analytics-app button,.analytics-app input,.analytics-app select{font:inherit}.analytics-top{border-bottom:1px solid var(--line);background:var(--surface-card);align-items:center;gap:24px;height:78px;padding:0 32px;display:flex}.analytics-top>a{display:flex}.analytics-top .logo{flex:none;width:auto}.analytics-top>span{font-weight:600}.analytics-top>div{align-items:center;gap:12px;margin-left:auto;display:flex}.analytics-layout{grid-template-columns:220px minmax(0,1fr);max-width:1920px;margin:auto;display:grid}.analytics-nav{border-right:1px solid var(--line);align-self:start;max-height:100dvh;padding:28px 16px;position:sticky;top:0;overflow:auto}.analytics-nav nav{gap:4px;display:grid}.analytics-nav nav button{color:var(--body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:11px 14px;display:flex}.analytics-nav nav button:hover{background:var(--surface-strong)}.analytics-nav nav button.selected{background:var(--ink);color:var(--canvas);font-weight:600}.analytics-nav>a,.analytics-nav>details{color:var(--muted);margin:24px 12px 0;font-size:12px;display:block}.analytics-nav summary{cursor:pointer}.analytics-live-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.analytics-main{min-width:0;padding:32px clamp(16px,3vw,48px) 60px}.analytics-heading{justify-content:space-between;gap:16px;margin-bottom:24px;display:flex}.analytics-heading h1{margin:0 0 6px;font-size:30px}.analytics-heading p{color:var(--muted);margin:0}.analytics-heading>div:last-child{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.analytics-heading small{color:var(--muted);font-size:11px}.analytics-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:16px;padding:18px 0;display:flex}.analytics-periods{flex-wrap:wrap;align-self:center;gap:2px;display:flex}.analytics-periods button{color:var(--body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 10px}.analytics-periods button[aria-pressed=true]{background:var(--surface-strong);border-color:var(--line);font-weight:600}.analytics-toolbar form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.analytics-app label{color:var(--muted);gap:5px;font-size:12px;display:grid}.analytics-app input:not([type=checkbox]):not([type=range]),.analytics-app select{background:var(--surface-card);border:1px solid var(--line);color:var(--ink);border-radius:6px;min-width:0;max-width:100%;padding:8px 10px}.analytics-app input[type=date]{width:148px}.analytics-app .analytics-check{align-self:center;align-items:center;gap:8px;display:flex}.analytics-filter-row{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 0;display:flex}.analytics-filter-row label{min-width:130px}.analytics-filter-row input{width:160px}.analytics-search{flex:1}.analytics-search input{width:100%}.analytics-save{color:var(--muted);margin-left:auto;font-size:12px}.analytics-save summary{cursor:pointer;padding:8px}.analytics-save form{gap:8px;margin-top:8px;display:flex}.analytics-status{color:var(--muted);min-height:22px;margin-bottom:12px;font-size:12px}.analytics-content{gap:24px;display:grid}.analytics-content.is-updating{opacity:.65;transition:opacity .1s}.analytics-note{border-left:3px solid var(--ochre);background:var(--surface-soft);color:var(--body);max-width:100%;margin:0;padding:12px 16px;font-size:13px;line-height:1.6}.analytics-metrics{border:1px solid var(--line);background:var(--surface-card);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;display:grid;overflow:hidden}.analytics-metric{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:20px}.analytics-metric>button{text-align:left;width:100%;color:var(--body);cursor:pointer;background:0 0;border:0;gap:12px;padding:0;display:grid}.analytics-metric>button>span{min-height:36px;line-height:1.4}.analytics-metric strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:28px;font-weight:600}.analytics-metric small{color:var(--muted);margin-top:8px;font-size:11px;display:block}.analytics-comparison{color:var(--body);margin-top:10px;font-size:11px;line-height:1.5;display:block}.analytics-metric details{color:var(--muted);margin-top:12px;font-size:11px}.analytics-metric details p{margin:8px 0;line-height:1.5}.analytics-metric summary{cursor:pointer}.analytics-panel{background:var(--surface-card);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.analytics-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.analytics-panel h2{margin:0;font-size:16px;line-height:1.4}.analytics-panel header p{color:var(--muted);max-width:75ch;margin:6px 0 0;font-size:12px;line-height:1.5}.analytics-panel header>span{color:var(--muted);font-size:12px}.analytics-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.analytics-trend header>div{text-align:right;gap:4px;display:grid}.analytics-trend header strong{font-variant-numeric:tabular-nums}.analytics-trend header small{color:var(--muted);font-size:11px}.analytics-trend svg{width:100%;height:auto;padding:0 12px;display:block}.analytics-trend svg text{fill:var(--muted);font-family:inherit;font-size:10px}.analytics-grid{stroke:var(--line);stroke-width:1px}.analytics-line{stroke:var(--water);stroke-width:2.5px;fill:none;stroke-linejoin:round}.analytics-point{fill:var(--water);stroke:var(--surface-card);stroke-width:2px}.analytics-trend input[type=range]{width:calc(100% - 48px);accent-color:var(--water);height:12px;margin:4px 24px 18px;display:block}.analytics-breakdowns{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.analytics-bars{gap:14px;margin:0;padding:0 22px 22px;list-style:none;display:grid}.analytics-bars li>div{justify-content:space-between;gap:14px;font-size:12px;line-height:1.4;display:flex}.analytics-bars li>div>span{overflow-wrap:anywhere}.analytics-bars li strong{font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-bars li>span{background:var(--water);border-radius:2px;min-width:2px;height:5px;margin-top:6px;display:block}.analytics-table-scroll{max-width:100%;overflow:auto}.analytics-panel table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.analytics-panel th{color:var(--muted);background:var(--surface-soft);white-space:normal;font-weight:500;line-height:1.35}.analytics-panel td,.analytics-panel th{border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:100px;max-width:380px;padding:12px 16px}.analytics-panel td{color:var(--body);line-height:1.4}.analytics-panel .is-number{font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-panel tbody tr:last-child td{border-bottom:0}.analytics-panel tbody tr:hover{background:var(--surface-soft)}.analytics-empty{color:var(--muted);padding:10px 22px 24px;font-size:13px}.analytics-detail-link{color:var(--water);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px}.analytics-pagination{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px;font-size:12px;display:flex}.analytics-coverage{border-top:1px solid var(--line);color:var(--muted);padding-top:8px;font-size:11px;line-height:1.6}.analytics-funnel{gap:24px;margin:0;padding:0 22px 22px;list-style:none;display:flex}.analytics-funnel li{flex:1;min-width:0}.analytics-funnel li>div:first-child{justify-content:space-between;gap:12px;font-size:13px;display:flex}.analytics-funnel-track{background:var(--surface-strong);border-radius:4px;height:8px;margin:10px 0}.analytics-funnel-track span{background:var(--growth);border-radius:4px;height:100%;display:block}.analytics-funnel small{color:var(--muted)}.analytics-retention-cell{background:var(--surface-strong);font-variant-numeric:tabular-nums}.analytics-saved{gap:8px;margin-top:8px;display:flex}.analytics-saved button{color:var(--body);text-align:left;cursor:pointer;background:0 0;border:0;padding:4px}.analytics-saved button:first-child{flex:1}.analytics-access{text-align:center;padding:50px 20px}.analytics-toast{background:var(--surface-card);box-shadow:0 4px 24px var(--line);border:1px solid var(--line);border-radius:8px;padding:16px 24px;position:fixed;bottom:24px;right:24px}.modal:has(.analytics-detail){width:1100px;max-width:min(1100px,94vw)}.analytics-detail{gap:16px;min-width:0;display:grid}.analytics-app :focus-visible{outline:2px solid var(--water);outline-offset:3px}@media (width<=1200px){.analytics-metrics,.analytics-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-layout{grid-template-columns:190px minmax(0,1fr)}.analytics-main{padding:24px 20px}.analytics-top{padding:0 20px}}@media (width<=760px){.analytics-top{flex-wrap:wrap;gap:12px;height:auto;min-height:64px;padding:12px 16px}.analytics-top>span{display:none}.analytics-top>div{gap:8px}.analytics-top .logo{max-width:none}.analytics-top .btn{padding:8px;font-size:11px}.analytics-layout{display:block}.analytics-nav{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:12px 16px;position:static}.analytics-nav nav{gap:4px;display:flex;overflow-x:auto}.analytics-nav nav button{white-space:nowrap;flex-shrink:0;padding:9px 12px;font-size:12px}.analytics-nav>a,.analytics-nav>details{margin:12px 12px 0 0;display:inline-block}.analytics-main{padding:24px 16px}.analytics-heading h1{font-size:25px}.analytics-heading p{font-size:12px}.analytics-heading small{text-align:right;max-width:130px}.analytics-toolbar{gap:12px}.analytics-toolbar form{width:100%}.analytics-app input[type=date]{width:132px}.analytics-check{font-size:11px}.analytics-charts,.analytics-breakdowns{grid-template-columns:1fr}.analytics-metric{padding:16px 12px}.analytics-metric strong{font-size:24px}.analytics-metric>button>span{min-height:34px;font-size:12px}.analytics-funnel{flex-direction:column;gap:12px}.analytics-filter-row{gap:12px}.analytics-filter-row label{flex:1;min-width:0}.analytics-filter-row input{width:100%}.analytics-panel>header{padding:16px}.analytics-register header .btn{font-size:11px}.analytics-panel td,.analytics-panel th{padding:10px 12px}.analytics-save{margin-left:0}.analytics-content{gap:18px}}@media (prefers-reduced-motion:reduce){.analytics-content.is-updating{transition:none}}.measurement-choice{z-index:80;background:var(--surface-card);width:min(460px,100vw - 32px);color:var(--body);border:1px solid var(--line);box-shadow:0 4px 20px var(--line);border-radius:12px;padding:18px;font-size:13px;line-height:1.5;position:fixed;bottom:16px;left:16px}.measurement-choice p{margin:0 0 14px}.measurement-choice>div{justify-content:flex-end;gap:10px;display:flex}.measurement-settings{margin:24px 0;font-size:14px;line-height:1.6}.measurement-settings h3{font-size:17px}.analytics-sort{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.analytics-sort:hover{text-decoration:underline}:is(.analytics-charts:has(>section:only-child),.analytics-breakdowns:has(>section:only-child)){grid-template-columns:minmax(0,1fr)}.gift-slot{background:var(--surface-card);position:relative}.gift-slot.ready{background:var(--surface-soft);border-color:var(--terra-gold-ink)}.gift-slot b{font-size:12px}.gift-count{color:var(--forest);background:var(--sun);border-radius:8px;padding:2px 5px;font-weight:700;position:absolute;top:3px;right:5px}.weekly-gift-dialog{gap:14px;display:grid}.weekly-gift-dialog>p,.gift-spin p{margin:0}.weekly-gift-dialog summary{cursor:pointer;font-size:13px}.gift-parcel{background:var(--surface-card);border-radius:16px;place-content:center;justify-items:center;gap:8px;padding:18px;display:grid}.gift-pool,.gift-winners,.gift-revealed{margin:0;padding:0;list-style:none}.gift-pool{max-height:170px;margin-top:8px;overflow-y:auto}.gift-pool li,.gift-winners li{align-items:center;gap:12px;display:flex}.gift-winners{gap:4px;display:grid}.gift-winners li{background:var(--surface-card);border-radius:12px;padding:3px 12px}.gift-reel-window{background:var(--surface-card);border-radius:14px;height:128px;position:relative;overflow:hidden}.gift-reel-window:after{content:"";border:8px solid #0000;border-top-color:var(--terra-gold-ink);position:absolute;top:0;left:50%;transform:translate(-50%)}.gift-strip{height:100%;animation:3.2s cubic-bezier(.12,.72,.13,1) both island-gift-roll;display:flex;position:absolute;top:0;left:50%}.gift-strip>div{flex:0 0 var(--gift-reel-slot);place-items:center;display:grid}@keyframes island-gift-roll{0%{transform:translateX(var(--gift-reel-start))}to{transform:translateX(var(--gift-reel-end))}}.gift-spin p{text-align:center;margin-top:10px;font-weight:700}.gift-revealed{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.gift-box-button{width:160px;height:160px;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:20px;place-items:center;padding:0;display:grid}.gift-box-button:focus-visible{outline:3px solid var(--terra-gold-ink);outline-offset:2px}.gift-box-button:disabled{cursor:wait}.gift-box-shake{transform-origin:50% 85%;display:block}.gift-press-1 .gift-box-shake{animation:.24s cubic-bezier(.2,.8,.2,1) both gift-tap-one}.gift-press-2 .gift-box-shake{animation:.26s cubic-bezier(.2,.8,.2,1) both gift-tap-two}.gift-press-3 .gift-box-shake,.gift-press-4 .gift-box-shake{animation:.28s cubic-bezier(.2,.8,.2,1) both gift-tap-three}@keyframes gift-tap-one{0%{transform:scale(1)rotate(0)}38%{transform:scale(1.11)rotate(-7deg)}70%{transform:scale(1.04)rotate(4deg)}to{transform:scale(1.05)}}@keyframes gift-tap-two{0%{transform:scale(1.05)}38%{transform:scale(1.17)rotate(8deg)}70%{transform:scale(1.1)rotate(-5deg)}to{transform:scale(1.1)}}@keyframes gift-tap-three{0%{transform:scale(1.1)}35%{transform:scale(1.24)rotate(-10deg)}70%{transform:scale(1.13)rotate(6deg)}to{transform:scale(1.15)}}.gift-parcel small,.gift-parcel [role=status]{color:var(--muted);font-size:13px}.gift-burst{place-items:center;min-height:190px;display:grid;position:relative;overflow:hidden}.gift-burst:before{content:"";background:var(--sun);opacity:0;border-radius:50%;width:100px;height:100px;animation:.42s ease-out both gift-flash;position:absolute}.gift-burst span{background:var(--sun);border-radius:3px;width:12px;height:12px;animation:.42s ease-out both gift-spark;position:absolute}.gift-burst span:first-child{--x:-90px;--y:-55px}.gift-burst span:nth-child(2){--x:84px;--y:-65px}.gift-burst span:nth-child(3){--x:-100px;--y:22px}.gift-burst span:nth-child(4){--x:98px;--y:26px}.gift-burst span:nth-child(5){--x:-40px;--y:72px}.gift-burst span:nth-child(6){--x:48px;--y:70px}.gift-burst-box{animation:.42s ease-out both gift-box-burst}@keyframes gift-box-burst{0%{opacity:1;transform:scale(1.15)}55%{opacity:.8;transform:scale(1.35)}to{opacity:0;transform:scale(1.5)}}@keyframes gift-flash{0%{opacity:.65;transform:scale(.25)}to{opacity:0;transform:scale(2.2)}}@keyframes gift-spark{0%{opacity:1;transform:translate(0)scale(.5)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(90deg) scale(.8)}}.gift-reveal{text-align:center;justify-items:center;gap:10px;display:grid}.gift-reveal p{color:var(--muted);margin:0}.gift-reveal-art{background:var(--surface-card);border-radius:50%;place-items:center;width:166px;height:166px;animation:.3s cubic-bezier(.2,.8,.2,1) both gift-reveal-in;display:grid}.gift-reveal strong{font-size:18px}@keyframes gift-reveal-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.gift-box-shake,.gift-burst:before,.gift-burst span,.gift-burst-box,.gift-reveal-art{animation:none!important}.gift-strip{transform:translateX(var(--gift-reel-end));animation:none}}.ad-layout{min-width:0;margin-inline:auto;position:relative}.ad-content{min-width:0}.ad-rail{width:160px;height:min(480px,60dvh);position:absolute;top:96px}.ad-rail-left{left:12px}.ad-rail-right{right:12px}.ad-slot{width:160px;height:100%}.ad-rail-label{text-align:center;letter-spacing:.04em;color:var(--muted);font-size:10px;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.ad-rail[data-status=empty]{display:none}@media (width>=1440px) and (height>=600px){.ad-layout-menu:has(>.ad-rail:not([data-status=empty])){max-width:2288px;padding-inline:184px}.ad-layout-menu:has(>.ad-rail:not([data-status=empty])) .home{width:100%;padding-inline:12px}.ad-layout-menu:has(>.ad-rail:not([data-status=empty])) .home-main{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px}.ad-layout-menu:has(>.ad-rail:not([data-status=empty])) .home-content-col{container-type:inline-size}.ad-layout-menu .home-panel,.ad-layout-menu .shop-section{min-width:0}}@container (width<=1000px){.ad-layout-menu .membership-grid,.ad-layout-menu .shop-currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1680px) and (height>=600px){.ad-layout-game:has(>.ad-rail:not([data-status=empty])){padding-inline:184px}}@media (width<=1439px),(height<=599px){.ad-rail{display:none}}@media (width<=1679px){.ad-layout-game>.ad-rail{display:none}}.end-backdrop-floor{padding-bottom:128px}.end-backdrop-floor .end-card{max-height:calc(100dvh - 144px)}:root{--canvas:#fffaf0;--surface-soft:#faf5e8;--surface-card:#f5f0e0;--surface-strong:#ebe6d6;--ink:#0a0a0a;--body:#3a3a3a;--muted:#6a6a6a;--muted-soft:#8f8a80;--hairline:#e5dfd0;--line:#0a0a0a24;--pink:#ff4d8b;--teal:#1a3a3a;--teal-2:#234b4a;--lavender:#b8a4ed;--peach:#ffb084;--ochre:#e8b94a;--mint:#a4d4c5;--coral:#ff6b5a;--success:#1b7f4a;--error:#c62f2f;--seat-red:#e0453f;--seat-blue:#3466e0;--seat-orange:#f28a2e;--seat-white:#f7f3ea;--seat-green:#2f9e5c;--seat-brown:#93603a;--seat-purple:#8e5ad8;--seat-teal:#14a3a0;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--gap:16px;--font-display:"Rubik", "Inter", ui-rounded, system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--you:var(--seat-red);--bar-h:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--canvas);color:var(--body);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;margin:0;font-weight:500;line-height:1.12}button,input,select{font:inherit;color:inherit}a{color:inherit}kbd{font-family:var(--font-body);border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink);border-radius:4px;padding:1px 6px;font-size:11px}:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:13px}.warn{color:var(--error)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}.lead{margin:10px 0 0;font-size:17px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.empty{text-align:center;color:var(--muted);margin:0;padding:24px 8px;font-size:14px}.tag{vertical-align:2px;background:var(--surface-strong);color:var(--body);font-size:11px;font-weight:600;font-family:var(--font-body);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px}.tag.host{background:var(--lavender);color:var(--ink)}.tag.bot{background:var(--mint);color:var(--ink)}.pill{background:var(--surface-card);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.btn{border-radius:var(--r-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform 80ms,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.42}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover:not(:disabled){background:#1f1f1f}.btn.secondary{background:var(--canvas);border-color:var(--line);color:var(--ink)}.btn.secondary:hover:not(:disabled){border-color:var(--ink)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-card)}.btn.danger{color:var(--error)}.btn.on-dark{background:var(--canvas);color:var(--ink)}.btn.on-dark-ghost{color:#fff;background:0 0;border-color:#ffffff59}.btn.copied{background:var(--mint);color:var(--ink);border-color:#0000}.btn.big{height:52px;padding:0 24px;font-size:15px}.btn.small{border-radius:var(--r-sm);height:34px;padding:0 12px;font-size:13px}.btn.icon-only{width:38px;padding:0}.icon-btn{border-radius:var(--r-sm);cursor:pointer;width:34px;height:34px;color:var(--muted);background:0 0;border:none;font-size:22px;line-height:1}.icon-btn:hover{background:var(--surface-card);color:var(--ink)}.dot-count{background:var(--pink);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.field{color:var(--ink);gap:6px;font-size:13px;font-weight:600;display:grid}.field small{font-weight:400}.cash-receipt-field{margin-bottom:16px}input:not([type]),input[type=text],input[type=email],select{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface,#fff);width:100%;min-width:0;height:44px;padding:0 14px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #ff4d8b33}input[type=range]{accent-color:var(--ink);flex:1;min-width:120px}.segmented{border-radius:var(--r-md);background:var(--surface-card);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:7px 12px;font-size:13px;font-weight:600}.segmented button.on{background:var(--ink);color:#fff}.segmented button:disabled{cursor:not-allowed}.segmented button:disabled:not(.on){opacity:.5}.segmented.sm button{padding:6px 10px}.toggle{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;font-weight:600;display:flex}.toggle.disabled{cursor:default;opacity:.7}.toggle-text{display:grid}.toggle-text small{color:var(--muted);font-size:12px;font-weight:400}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.toggle-knob{background:var(--surface,#fff);border:1px solid var(--line);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:var(--ink)}.toggle input:checked+.toggle-track .toggle-knob{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:3px solid var(--pink);outline-offset:2px}.stepper{border-radius:var(--r-sm);background:var(--surface-card);align-items:center;display:inline-flex}.stepper button{cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;width:30px;height:30px;font-size:18px;font-weight:600}.stepper.big button{width:36px;height:36px}.stepper button:hover:not(:disabled){background:var(--surface-strong)}.stepper button:disabled{opacity:.3;cursor:not-allowed}.stepper output{text-align:center;min-width:26px;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.avatar{font-family:var(--font-display);border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;position:relative}.avatar-mark{position:absolute;bottom:-4px;right:-4px}.avatar.dim{filter:grayscale(.85);opacity:.55}.avatar.empty{border:2px dashed var(--muted-soft);background:0 0;width:44px;height:44px}.player-mark{vertical-align:-2px;flex:none}.res-icon{vertical-align:-3px;flex:none;display:inline-block}.cards-inline{vertical-align:middle;flex-wrap:wrap;gap:6px;display:inline-flex}.cards-inline-item{color:var(--ink);align-items:center;gap:2px;font-weight:600;display:inline-flex}.badge{color:var(--ink);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.road{background:var(--peach)}.badge.army{background:var(--lavender)}.chip{border:1px solid var(--line);background:var(--canvas);cursor:pointer;color:var(--ink);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.spinner-wrap{color:var(--muted);align-items:center;gap:12px;display:flex}.spinner{border:3px solid var(--surface-strong);border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.spinner.small{border-width:2px;border-color:#fff #ffffff4d #ffffff4d;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:100;pointer-events:none;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-md);background:var(--ink);color:#fff;padding:12px 16px;font-weight:500;animation:.25s cubic-bezier(.2,.9,.3,1.2) rise}.toast.error{background:var(--error)}.toast.success{background:var(--teal)}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.98)}}.conn-banner{z-index:90;background:var(--error);color:#fff;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:14px;font-weight:600;display:flex;position:fixed;inset:0 0 auto}.conn-pill{background:var(--surface-card);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.conn-pill:before{content:"";background:var(--muted-soft);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.conn-pill.online:before{background:var(--success)}.conn-pill.offline:before{background:var(--error)}.logo{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:22px;font-weight:600;text-decoration:none;display:inline-flex}.lang-switch{background:var(--surface-card);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lang-switch button{letter-spacing:.06em;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.lang-switch button.on{background:var(--ink);color:#fff}.home{max-width:1200px;margin:0 auto;padding:0 24px}.home-nav{justify-content:space-between;align-items:center;height:68px;display:flex}.home-nav-main{gap:8px;height:auto;min-height:68px;padding-block:8px}.home-nav-main>.row{justify-content:flex-end}.preset-chips{flex-wrap:wrap;gap:6px;display:flex}.code-input{text-transform:uppercase;letter-spacing:.24em;font-family:ui-monospace,SF Mono,Menlo,monospace!important;font-weight:700!important}.preview-board{border-radius:var(--r-xl);aspect-ratio:1.08;background:radial-gradient(120% 90% at 50% 42%,#1f4c88 0%,#10284d 72%);place-items:center;display:grid;overflow:hidden}.preview-board .board{width:100%;height:100%}.tone-peach{background:var(--peach)}.tone-lavender{background:var(--lavender)}.tone-mint{background:var(--mint)}.tone-ochre{background:var(--ochre)}.home-foot{border-top:1px solid var(--hairline);color:var(--muted);padding:24px 0 40px;font-size:13px}.center-page{place-content:center;justify-items:center;gap:24px;min-height:100vh;padding:24px 16px;display:grid}.center-top{align-items:center;gap:16px;display:flex}.panel{background:var(--surface,#fff);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.panel-title{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700}.notice{border-radius:var(--r-xl);gap:12px;width:min(440px,100vw - 32px);padding:26px;display:grid}.notice h2{font-size:26px}.notice p{margin:0}.room-bar{height:var(--bar-h);border-bottom:1px solid var(--hairline);background:var(--canvas);z-index:20;align-items:center;gap:14px;padding:0 16px;display:flex;position:sticky;top:0}.room-code{align-items:center;gap:8px;min-width:0;display:flex}.room-code b{letter-spacing:.14em;color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:15px}.room-bar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.menu{position:relative}.menu-pop{z-index:40;border-radius:var(--r-lg);background:var(--canvas);border:1px solid var(--ink);gap:8px;width:260px;padding:12px;animation:.15s rise;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu-row{justify-content:space-between;align-items:center;display:flex}.lobby{max-width:1920px;margin:0 auto;padding:20px 20px 48px}.invite-strip{border-radius:var(--r-xl);background:var(--teal);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:20px 24px;display:flex}.invite-strip .eyebrow{color:#ffffffb3}.room-code-big{letter-spacing:.18em;color:#fff;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:clamp(34px,6vw,52px);font-weight:700}.invite-actions{flex:1;gap:8px;max-width:560px;display:grid}.invite-actions p{color:#ffffffc7;margin:0;font-size:14px}.invite-link{flex:1;min-width:180px;color:#fff!important;background:#ffffff1a!important;border-color:#ffffff40!important;height:34px!important;font-size:13px!important}.lobby-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:16px;display:grid}.lobby-main{gap:16px;display:grid}.table-card{border-radius:var(--r-xl);background:var(--surface-card);padding:16px}.map-stage{border-radius:var(--r-lg);background:radial-gradient(120% 90% at 50% 42%,#1f4c88 0%,#10284d 72%);position:relative;overflow:hidden}.map-stage .board{width:100%;height:360px;display:block}.map-caption{background:var(--canvas);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.map-caption>div:first-child{flex:220px;display:grid}.map-caption b{color:var(--ink)}.section-title{margin:16px 0 10px;font-size:20px}.seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.seat{border-radius:var(--r-md);background:var(--canvas);border:1px solid var(--line);align-items:center;gap:12px;min-height:66px;padding:10px 12px;animation:.25s both rise;display:flex}.seat.you{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.seat.empty{background:0 0;border-style:dashed;animation:none}.seat.empty .btn{margin-left:auto}.seat-name{flex:1;min-width:0;display:grid}.seat-name b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-bot-controls{align-items:center;gap:4px;display:flex}.seat-bot-controls select{width:auto;height:34px;padding:0 8px;font-size:13px}.ready-pill{background:var(--surface-strong);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.ready-pill.on{background:var(--mint);color:var(--ink)}.color-pick{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:transform .12s;display:grid}.swatch.on{border-color:var(--ink)}.swatch:disabled{opacity:.25;cursor:not-allowed}.swatch:hover:not(:disabled){transform:scale(1.08)}.lobby-lower{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.rules-summary{border-radius:var(--r-xl);background:var(--lavender);color:var(--ink);padding:16px 18px}.rules-summary h3{margin-bottom:8px;font-size:18px}.rules-summary ul{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.lobby-chat .chat-list{max-height:200px}.lobby-side{top:calc(var(--bar-h) + 12px);max-height:calc(100dvh - var(--bar-h) - 24px);gap:12px;padding-bottom:4px;display:grid;position:sticky;overflow:auto}.notice-line{border-radius:var(--r-md);background:var(--surface-card);margin:0;padding:10px 14px;font-size:13px}.settings-section{border-radius:var(--r-lg);background:var(--surface,#fff);border:1px solid var(--line);gap:8px;padding:14px 16px;display:grid}.settings-section h3{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.preset-grid,.map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.map-grid{grid-template-columns:1fr}.preset-card,.map-card{text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);cursor:pointer;color:var(--ink);gap:2px;padding:10px 12px;display:grid}.preset-card.on,.map-card.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.preset-card.on.preset-classic{background:var(--surface-card)}.preset-card.on.preset-friendly{background:#d9eee6}.preset-card.on.preset-duel{background:#ffe0cf}.preset-card.on.preset-quick{background:#f6e7b8}.map-card.on{background:#e6f1ec}.preset-card:disabled,.map-card:disabled{cursor:default}.preset-card:disabled:not(.on),.map-card:disabled:not(.on){opacity:.55}.preset-name,.map-name{font-size:14px;font-weight:700}.preset-desc,.map-desc{color:var(--body);font-size:12px;line-height:1.4}.map-meta{color:var(--muted);font-size:11px;font-weight:600}.diff-line{color:var(--body);margin:2px 0 0;font-size:12.5px}.field-row{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.field-col{color:var(--ink);gap:6px;font-size:14px;font-weight:600;display:grid}.field-col small{font-weight:400}.start-panel{border-radius:var(--r-lg);background:var(--surface-card);gap:8px;padding:14px 16px;display:grid;position:sticky;bottom:0}.reasons{color:var(--ink);font-size:13px}.reasons ul{margin:4px 0 0;padding-left:18px}.ok-line{color:var(--success);margin:0;font-weight:600}.room-page.status-playing,.room-page.status-ended{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.game{flex:1;grid-template-columns:228px minmax(0,1fr) 316px;gap:14px;min-height:0;padding:14px;display:grid}.game-left,.game-right{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:auto}.game-center{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.taskbar{border-radius:var(--r-md);background:var(--surface-card);color:var(--ink);align-items:center;gap:10px;min-height:48px;padding:8px 14px;font-weight:600;display:flex}.taskbar.mine{background:var(--ink);color:#fff}.taskbar.mine .who{color:inherit}.task-dot{border:1.5px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px}.taskbar.mine .task-dot{border-color:#fff;animation:1.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{50%{box-shadow:0 0 0 6px #ffffff26}}.task-text{flex:1;min-width:0}.turn-chip{opacity:.7;white-space:nowrap;font-size:12px;font-weight:600}.timer-chip{background:var(--canvas);color:var(--ink);font-variant-numeric:tabular-nums;border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 5px;font-size:12px;font-weight:700;display:inline-flex}.timer-chip.mine{background:var(--ochre);border-color:#0000}.timer-chip.urgent{background:var(--coral);color:var(--ink);border-color:#0000;animation:1s ease-in-out infinite pulse-urgent}@keyframes pulse-urgent{50%{transform:scale(1.06)}}.board-wrap{border-radius:var(--r-xl);background:radial-gradient(110% 100% at 50% 44%,#1b4656 0%,#153b4a 66%,#102f3d 100%);flex:1;place-items:center;min-height:260px;display:grid;position:relative;overflow:hidden}.board-wrap.water-classic{background:radial-gradient(78% 76% at 50% 49%,#39758a 0%,#2b5c70 49%,#14394a 100%)}.board-wrap:before{content:"";pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='190'%3E%3Cg fill='none' stroke='%23d5e9e7' stroke-opacity='.32' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M22 48c23-12 42 8 65 1s34-13 56-4'/%3E%3Cpath d='M196 142c20-11 37 7 57 1s28-12 44-5'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 190px;position:absolute;inset:-40px -160px}.board-wrap>.board{z-index:1;position:relative}.water-anim .board-wrap:before{will-change:transform;animation:32s ease-in-out infinite alternate water-drift}.art-drawn .board-wrap:before{opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='330' height='210'%3E%3Cg fill='none' stroke='%23c5e5e4' stroke-opacity='.42' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M18 46c18-9 33 6 51 1s26-10 43-3'/%3E%3Cpath d='M213 148c16-9 30 5 46 1s24-9 37-4'/%3E%3C/g%3E%3C/svg%3E");background-size:330px 210px}.art-drawn.water-anim .board-wrap:before{animation-duration:36s}.water-anim:not(.art-drawn) .board-wrap:before{opacity:.14}.board-wrap.water-classic:before{opacity:.19;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='220'%3E%3Cg fill='none' stroke='%23d7ebea' stroke-opacity='.44' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M10 56c27-13 49 8 75 1s39-13 61-4'/%3E%3Cpath d='M205 162c24-11 43 7 66 1s34-11 55-5'/%3E%3C/g%3E%3C/svg%3E");background-size:360px 220px}.water-anim .board-wrap.water-classic:before{animation-duration:38s}.art-drawn .board-wrap{background-image:linear-gradient(#0a273394,#092330a6),url(/art/water-realistic.png);background-size:auto,720px 720px}.art-drawn .board-wrap.water-classic{background-image:radial-gradient(78% 76% at 50% 49%,#44879133,#0a2b38b3),url(/art/water-realistic.png)}.art-drawn .board-wrap:before,.art-drawn .board-wrap.water-classic:before{opacity:.16;background-image:url(/art/water-realistic.png);background-size:720px 720px}.sea-waves{pointer-events:none;fill:none}.sea-wave{stroke:#bfd9d9;stroke-width:1.4px;stroke-linecap:round;opacity:.12}.tide-crest{fill:none;stroke:#d4e6e3;stroke-width:1.8px;stroke-linecap:round;opacity:0}.tide-foam{fill:none;stroke:#e4eeea;stroke-width:1.1px;stroke-linecap:round;opacity:0}.water-anim .shore-swell{animation:10s ease-in-out infinite tide-surge}.water-anim .tide-crest{animation:10s ease-in-out infinite tide-crest}.water-anim .tide-foam{animation:10s ease-in-out infinite tide-foam}.tide-kind-1 .tide-crest{stroke-width:1.55px}.tide-kind-2 .tide-crest{stroke-width:1.35px}.art-drawn .tide-crest{stroke:#c9deda;stroke-width:1.65px}.art-drawn .tide-foam{stroke:#e0e9e4;stroke-width:1px}.water-anim:not(.art-drawn) .tide-crest{stroke:#d7e8e7;stroke-width:1.8px}.water-anim:not(.art-drawn) .tide-foam{stroke:#edf3ef;stroke-width:1.15px}.water-anim .open-swell{stroke:#b7d5d4;stroke-width:1.6px;animation:24s ease-in-out infinite open-drift}.sea-shark{opacity:0}.water-anim .sea-shark{animation:42s linear infinite shark-pass}.sea-shark path{fill:#173b49;stroke:none}.shark-phase-1{animation-delay:-8s}.shark-phase-2{animation-delay:-16s}.art-drawn .sea-shark,.art-drawn .open-swell{display:none}@keyframes tide-surge{0%,to{transform:translate(var(--tide-away-x), var(--tide-away-y))}52%{transform:translate(0)}}@keyframes tide-crest{0%,to{opacity:.04}44%,58%{opacity:.32}}@keyframes tide-foam{0%,to{opacity:0}50%{opacity:.24}}@keyframes open-drift{0%,to{opacity:.07;transform:translateY(2px)}50%{opacity:.16;transform:translateY(-2px)}}@keyframes shark-pass{0%,to{opacity:0;transform:translate(-22px)}12%{opacity:0}22%{opacity:.18}40%{opacity:.12;transform:translate(22px)}48%{opacity:0}}@keyframes water-drift{0%{transform:translate(-28px)}to{transform:translate(28px,-6px)}}@media (prefers-reduced-motion:reduce){.water-anim .board-wrap:before,.water-anim .shore-swell,.water-anim .tide-crest,.water-anim .tide-foam,.water-anim .open-swell,.water-anim .sea-shark{animation:none}.water-anim .tide-crest{opacity:.2}.water-anim .tide-foam{opacity:.08}.water-anim .open-swell,.water-anim .sea-shark{opacity:0}}.board{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:100%;height:100%;display:block}.board-dice{position:absolute;top:12px;right:12px}.tap-hint{color:#fff;white-space:nowrap;background:#0a1a1ab3;border-radius:999px;margin:0;padding:6px 12px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.confirm-bar{gap:8px;animation:.2s rise;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.tile{cursor:default}.mode-idle .tile{cursor:pointer}.tile .tile-face{transition:filter .2s}.mode-idle .tile:hover .tile-face{filter:brightness(1.06)}.tile .tile-ring{stroke:#0000;stroke-width:4px;transition:stroke .15s}.tile.selected .tile-ring{stroke:#fffaf0;stroke-dasharray:8 6}.tile.muted{opacity:.42}.tile.targetable{cursor:pointer}.tile.targetable .tile-ring{stroke:var(--pink);animation:1.2s ease-in-out infinite ring-pulse}.tile.targetable:hover .tile-ring,.tile.targetable:focus-visible .tile-ring,.tile.pending .tile-ring{stroke:#fff;stroke-width:6px;animation:none}.tile:focus-visible,.board :focus{outline:none}.board .grain{pointer-events:none}@keyframes ring-pulse{50%{stroke-opacity:.35}}.tile.producing .tile-ring{stroke:#fffaf0;stroke-width:6px;animation:1.3s ease-out produce}.tile.producing .token{transform-box:fill-box;transform-origin:50%;animation:.6s cubic-bezier(.2,.9,.3,1.5) token-bump}@keyframes produce{to{stroke-opacity:0}}@keyframes token-bump{40%{transform:scale(1.14)}}.token-num{font-family:var(--font-display);fill:#0a0a0a;font-size:19px;font-weight:600}.token-num.hot{fill:#c62f2f}.harbor-any{font-family:var(--font-display);fill:#0a0a0a;font-size:12px;font-weight:700}.harbor-ratio{font-family:var(--font-body);fill:#fff;font-size:9.5px;font-weight:700}.robber{pointer-events:none}.target{cursor:pointer}.target .hint{fill:#fffaf0;stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite hint-pulse}.edge-target .hint{stroke:#fffaf0;fill:none}.target .ghost{opacity:0;pointer-events:none;transition:opacity .12s}.target:hover .ghost,.target:focus-visible .ghost,.target.pending .ghost{opacity:.92}.target:hover .hint,.target:focus-visible .hint,.target.pending .hint{opacity:0}.target:focus-visible{outline:none}.target:focus-visible .ghost{filter:drop-shadow(0 0 3px #ff4d8b)drop-shadow(0 0 3px #ff4d8b)}@keyframes hint-pulse{50%{opacity:.55;transform:scale(.85)}}.fresh{transform-box:fill-box;transform-origin:bottom;animation:.45s cubic-bezier(.2,.9,.3,1.6) piece-pop}@keyframes piece-pop{0%{opacity:0;transform:scale(.3)translateY(-6px)}}.turn-banner{background:var(--canvas);border:3px solid var(--c);font-family:var(--font-display);color:var(--ink);pointer-events:none;white-space:nowrap;border-radius:999px;padding:12px 26px;font-size:24px;font-weight:600;animation:1.7s cubic-bezier(.2,.9,.3,1.2) both banner;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30%)scale(.9)}15%,80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-60%)scale(.98)}}.tile-info{background:var(--canvas);border:1px solid var(--ink);border-radius:var(--r-md);min-width:200px;max-width:min(310px,100% - 16px);color:var(--ink);z-index:3;gap:2px;padding:10px 36px 10px 14px;font-size:14px;animation:.15s tile-info-enter;display:grid;position:absolute;transform:none}@keyframes tile-info-enter{0%{opacity:0}}.tile-yields{border-top:1px solid var(--line);gap:5px;margin-top:6px;padding-top:7px;font-size:13px;display:grid}.tile-yield-row{justify-content:space-between;align-items:start;gap:12px;display:flex}.tile-yield-row>span:last-child{flex-wrap:wrap;justify-content:end;gap:4px 8px;display:flex}.tile-yield-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.tile-yield-own{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.tile-yields small{color:var(--muted);font-size:11px;line-height:1.3}.tile-info .icon-btn{width:28px;height:28px;font-size:18px;position:absolute;top:4px;right:4px}.tile-info ul{margin:6px 0 0;padding:0;font-size:13px;list-style:none}.robber-note{color:var(--error);font-size:12px;font-weight:600}.dice{border-radius:var(--r-md);background:#0a1a1a8c;align-items:center;gap:6px;padding:8px;display:flex}.dice.idle{opacity:.55}.die{width:38px;height:38px}.die rect{stroke:#0a0a0a;stroke-width:4px}.die-light rect{fill:#fffaf0}.die-light circle{fill:#0a0a0a}.die-red rect{fill:#ff4d8b}.die-red circle{fill:#fff}.dice.rolling .die{animation:.14s linear infinite tumble}.dice.rolling .die:nth-child(2){animation-direction:reverse}@keyframes tumble{50%{transform:rotate(14deg)translateY(-4px)}}.dice-total{text-align:center;min-width:30px;font-family:var(--font-display);color:#fff;font-size:24px;font-weight:600}.dice-total.seven{color:var(--peach)}.dock{border-radius:var(--r-lg);background:var(--surface,#fff);border:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:10px 14px;padding:10px;display:flex}.hand{flex:none;gap:8px;display:flex}.res-card{border-radius:var(--r-md);border:1px solid var(--line);align-content:center;justify-items:center;width:70px;height:82px;transition:opacity .2s;display:grid;position:relative}.res-card .res-count{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600;line-height:1.1}.res-card .res-name{max-width:100%;color:var(--body);white-space:nowrap;text-overflow:ellipsis;text-align:center;padding:0 3px;font-size:10.5px;font-weight:600;line-height:1.2;overflow:hidden}.res-card.empty{opacity:.5}.res-wood{background:#d3ecdb}.res-brick{background:#fbd8c6}.res-wheat{background:#fde9ad}.res-sheep{background:#ddf2cf}.res-ore{background:#e1dff2}.float{pointer-events:none;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:14px;font-weight:800;animation:1.6s ease-out forwards float-up;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.float.gain{background:var(--success);color:#fff}.float.loss{background:var(--error);color:#fff}@keyframes float-up{0%{opacity:0;transform:translate(-50%,8px)scale(.8)}15%{opacity:1;transform:translate(-50%,-6px)scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-26px)}}.actions{flex:1;justify-content:flex-end;align-items:stretch;gap:10px;display:flex}.build-group{grid-template-columns:repeat(3,minmax(112px,1fr));gap:6px;display:grid}.build-btn{border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon label label""icon cost left";align-items:center;gap:2px 8px;min-width:0;padding:5px 10px;transition:border-color .15s,background .15s;display:grid}.build-icon{grid-area:icon;place-items:center;display:grid}.build-label{min-width:0;color:var(--ink);overflow-wrap:anywhere;grid-area:label;font-size:13px;font-weight:700;line-height:1.2}.build-cost{grid-area:cost;min-width:0;font-size:12px}.build-left{color:var(--muted);white-space:nowrap;grid-area:left;font-size:11px}.build-btn:hover:not(:disabled){border-color:var(--ink)}.build-btn.on{border-color:var(--ink);background:var(--ochre)}.build-btn:disabled{opacity:.42;cursor:not-allowed}.turn-group{flex-direction:column;gap:6px;min-width:132px;display:flex}.turn-group .btn{flex:1;height:auto;min-height:36px}.roll-btn{justify-content:center;align-items:center;gap:8px;animation:1.6s ease-in-out infinite hint-pulse-soft;display:inline-flex}@keyframes hint-pulse-soft{50%{box-shadow:0 0 0 4px #ff4d8b59}}.dev-cards{border-top:1px dashed var(--hairline);flex-wrap:wrap;flex-basis:100%;gap:6px;padding-top:10px;display:flex}.dev-card{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-soft);height:36px;color:var(--ink);cursor:default;border-left:5px solid var(--tint);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.dev-card.playable{border-color:var(--ink);border-left-color:var(--tint);background:color-mix(in srgb, var(--tint) 45%, #fff);cursor:pointer}.dev-card.playable:hover{background:color-mix(in srgb, var(--tint) 70%, #fff)}.dev-card.just-ready{animation:1.4s ease-out just-ready}@keyframes just-ready{0%,40%{box-shadow:0 0 0 4px color-mix(in srgb, var(--tint) 70%, transparent)}}.dev-knight{--tint:var(--peach)}.dev-victoryPoint{--tint:var(--ochre)}.dev-roadBuilding{--tint:var(--mint)}.dev-yearOfPlenty{--tint:var(--lavender)}.dev-monopoly{--tint:#ff9ec0}.dev-count{color:var(--muted)}.dev-note{background:#0a0a0a14;border-radius:999px;padding:1px 6px;font-size:11px}.players{gap:8px;margin:0;padding:0;list-style:none;display:grid}.player-card{border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);border-left:5px solid var(--seat);padding:10px;transition:border-color .2s,background .2s}.player-card.current{background:var(--surface,#fff);border-color:var(--ink);border-left-color:var(--seat);box-shadow:inset 0 0 0 1px var(--ink)}.player-head{align-items:center;gap:10px;display:flex}.avatar-wrap{position:relative}.presence{border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;left:-2px}.presence.on{background:var(--success)}.presence.off{background:var(--muted-soft)}.player-name{flex:1;min-width:0;display:grid}.player-name .name{min-width:0;color:var(--ink);align-items:center;font-weight:700;display:flex}.name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-name .status{color:var(--muted);font-size:12px}.player-card.current .status{color:var(--ink);font-weight:600}.points{font-family:var(--font-display);color:var(--ink);text-align:right;font-size:26px;font-weight:600;line-height:1}.points small{font-family:var(--font-body);letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700;display:block}.player-stats{color:var(--body);gap:12px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.player-stats>span{align-items:center;gap:4px;display:inline-flex}.mini-card{border:1.5px solid var(--ink);border-radius:3px;width:11px;height:15px;display:inline-block}.mini-card.res{background:var(--ochre)}.mini-card.dev{background:var(--lavender)}.badges{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.bank-grid{gap:4px;display:grid}.bank-card{border-radius:var(--r-sm);min-height:28px;color:var(--ink);border:1px solid #0a0a0a14;grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"icon name count";align-items:center;column-gap:8px;padding:2px 10px 2px 8px;display:grid}.bank-card>.res-icon,.dev-deck-stack{grid-area:icon}.bank-card-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.bank-card-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;grid-area:count;align-self:center;font-size:18px;line-height:1}.bank-goal{margin:8px 0 0}.side-head{align-items:center;gap:6px;display:flex}.side-head .tabs{flex:1}.collapse-btn{border:1px solid var(--line);background:var(--canvas);flex:none}.game.side-collapsed{grid-template-columns:228px minmax(0,1fr)}.side-collapsed .side-head{flex-direction:column-reverse;align-items:stretch}.side-collapsed .game-right .tabs{flex-direction:column}.side-collapsed .game-right .tabs button{justify-content:space-between}.game-right .tabs{align-self:stretch;margin:0;display:flex}.game-right .tabs button{flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.side-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.side-panel.panel-trades{overflow:auto}.log{flex:1;align-content:start;gap:4px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid;overflow-y:auto}.log li{border-radius:var(--r-xs);padding:4px 6px;animation:.2s both rise}.log .log-turn{background:var(--surface-card);margin-top:6px;font-size:12px;font-weight:600}.log .log-win{background:var(--ochre);color:var(--ink)}.log .log-system{background:#e6f1ec;font-size:12.5px}.log .roll-num{font-family:var(--font-display);font-size:15px}.production{flex-wrap:wrap;gap:4px 12px;display:inline-flex}.who{color:var(--ink);align-items:center;gap:3px;font-weight:700;display:inline-flex}.offers{gap:8px;display:grid}.offer{border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);gap:8px;padding:10px;animation:.25s rise;display:grid}.offer.mine{background:#fbefc9}.offer-line{margin:0;font-size:14px}.offer-terms{gap:4px;margin:0;display:grid}.terms-row{border-radius:var(--r-sm);border-left:3px solid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px;padding:4px 8px;display:grid}.terms-row.out{border-color:var(--brand-coral,#ff6b5a);background:#ff6b5a1a}.terms-row.in{border-color:var(--success,#22c55e);background:#22c55e1a}.terms-row dt{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.terms-row dd{margin:0}.terms-sign{font-size:16px;font-weight:700;line-height:1}.terms-row.out .terms-sign{color:#c2412f}.terms-row.in .terms-sign{color:#15803d}.offer-actions{gap:6px;display:flex}.responses{gap:4px;margin:0;padding:0;list-style:none;display:grid}.response{justify-content:space-between;align-items:center;font-size:13px;display:flex}.chat{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.chat-list{flex:1;align-content:start;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid;overflow-y:auto}.chat-msg{border-radius:var(--r-md);background:var(--surface-soft);border-left:3px solid var(--pc,var(--muted-soft));gap:1px;padding:6px 10px;display:grid}.chat-msg.mine{background:#fbefc9}.chat-author{color:var(--ink);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.chat-text{overflow-wrap:anywhere;color:var(--ink)}.chat-system{text-align:center;color:var(--muted);padding:2px 0;font-size:12px}.chat-form{align-items:flex-end;gap:6px;display:flex}.chat-input{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface,#fff);min-width:0;min-height:38px;max-height:110px;font:inherit;color:inherit;resize:none;flex:1;padding:8px 12px;font-size:15px;line-height:1.35;overflow-y:auto}.chat-input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #ff4d8b33}.tabs{border-radius:var(--r-md);background:var(--surface-card);gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.tabs button{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:14px;font-weight:600}.tabs button.on{background:var(--surface,#fff);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.mini-players,.sheet-tabs{display:none}.modal-backdrop,.sheet-backdrop{z-index:50;background:#0a1a1a80;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--canvas);border:1.5px solid var(--ink);border-radius:var(--r-xl);width:min(540px,100%);max-height:calc(100dvh - 32px);padding:22px;animation:.22s cubic-bezier(.2,.9,.3,1.15) modal-in;overflow:auto}.modal.wide{width:min(760px,100%)}.modal.tone-peach{border-top:10px solid var(--peach)}.modal.tone-lavender{border-top:10px solid var(--lavender)}.modal.tone-mint{border-top:10px solid var(--mint)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.modal-head h2{font-size:24px}.modal-lead{margin:0 0 14px}.modal-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.counter{color:var(--muted);font-weight:700}.counter.done{color:var(--success)}.hint-text{color:var(--muted);margin:10px 0 0;font-size:13px}.sheet-backdrop{place-items:end stretch;padding:0}.sheet{background:var(--canvas);border-top:1.5px solid var(--ink);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:78dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;animation:.25s cubic-bezier(.2,.9,.3,1) sheet-in;display:flex}.sheet-grip{background:var(--surface-strong);border-radius:999px;width:44px;height:5px;margin:0 auto 8px}.sheet-body{flex-direction:column;min-height:160px;display:flex;overflow:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(40%)}}.picker{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.picker-cell{border-radius:var(--r-md);border:1px solid var(--line);justify-items:center;gap:4px;padding:10px 4px;transition:border-color .15s;display:grid}.picker-cell.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.picker-cell.off{opacity:.35}.picker-label{color:var(--ink);font-size:12px;font-weight:600}.picker-max{color:var(--muted);font-size:11px}.trade-form{gap:14px;display:grid}.trade-side h4,.bank-form h4{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;font-size:12px;font-weight:700}.bank-form{gap:4px;display:grid}.resource-choices{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px;display:grid}.resource-choice{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink);cursor:pointer;justify-items:center;gap:4px;padding:12px 4px;font-size:12px;font-weight:600;display:grid;position:relative}.resource-choice:hover:not(:disabled){border-color:var(--ink)}.resource-choice.on{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:var(--surface-card)}.resource-choice:disabled{opacity:.35;cursor:not-allowed}.ratio{color:var(--muted);font-size:11px;font-weight:700}.ratio.good{color:var(--success)}.choice-count{font-weight:800;position:absolute;top:4px;right:6px}.amount{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.victims{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.victim{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface,#fff);cursor:pointer;justify-items:center;gap:6px;padding:16px;display:grid}.victim:hover,.victim:focus-visible{border-color:var(--ink)}.victim-name{color:var(--ink);font-weight:700}.end-backdrop{z-index:60;background:#0a1a1a9e;place-items:center;padding:16px;animation:.3s fade;display:grid;position:fixed;inset:0}.end-card{background:var(--canvas);border:1.5px solid var(--ink);border-radius:var(--r-xl);width:min(780px,100%);max-height:calc(100dvh - 32px);animation:.4s cubic-bezier(.2,.9,.3,1.2) modal-in;overflow:auto}.end-hero{background:var(--surface-card);text-align:center;justify-items:center;gap:8px;padding:28px 24px 20px;display:grid}.end-card.won .end-hero{background:var(--ochre)}.end-hero h2{font-size:38px}.end-hero p{margin:0}.crown{z-index:1;margin-bottom:-18px;animation:.7s cubic-bezier(.2,.9,.3,1.6) .2s both crown;position:relative}@keyframes crown{0%{opacity:0;transform:translateY(-20px)rotate(-12deg)}}.table-wrap{padding:8px 24px 0;overflow-x:auto}.results{border-collapse:collapse;width:100%;font-size:14px}.results th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hairline);padding:12px 8px 8px;font-size:11px}.results td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:10px 8px}.results td:first-child{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:flex}.results .num{text-align:right;font-variant-numeric:tabular-nums}.results .strong{font-family:var(--font-display);color:var(--ink);font-size:20px}.results .from{flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.winner-row{background:#e8b94a29}.rank{width:18px;color:var(--muted)}.end-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:18px 24px 22px;display:flex}.board.zoomable{touch-action:pan-y}.board.zoomed{touch-action:none;cursor:grab}.board.zoomed:active{cursor:grabbing}.zoom-controls{border-radius:var(--r-md);z-index:2;background:#0a1a1a99;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:12px;left:12px}.zoom-btn{border-radius:var(--r-sm);background:var(--canvas);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;place-items:center;font-size:20px;font-weight:700;display:grid}.zoom-btn:disabled{opacity:.4;cursor:default}.zoom-level{text-align:center;color:#fff;font-variant-numeric:tabular-nums;min-width:42px;font-size:12px;font-weight:700}.map-stage{min-height:220px}.map-stage .zoom-controls{top:10px;bottom:auto}.map-current{gap:4px;display:grid}.map-facts{flex-wrap:wrap;gap:4px;display:flex}.map-facts>span{background:var(--surface-card);color:var(--body);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.tab-count{color:var(--muted);margin-left:6px;font-size:11px}.map-filters{flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin-bottom:14px;display:flex}.map-filters .toggle{padding:0}.map-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.map-tile{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.map-tile:hover:has(.map-tile-pick:not(:disabled)){border-color:var(--ink)}.map-tile:has(.map-tile-pick:focus-visible){border-color:var(--ink)}.map-tile.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.map-tile.locked{opacity:.7}.map-tile-pick{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;grid-template-rows:auto 1fr;padding:0;display:grid}.map-tile-pick:disabled{cursor:not-allowed}.map-tile-pick:focus-visible{outline:none}.map-tile-layout{padding:0 12px 12px}.layout-switch{justify-items:start;gap:4px;display:grid}.layout-hint{color:var(--muted);font-size:12px}.map-highlights{flex-wrap:wrap;gap:4px 10px;display:flex}.map-highlight{color:var(--body);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.map-tile-art{aspect-ratio:1.5;background:radial-gradient(120% 90% at 50% 42%,#1f4c88 0%,#10284d 72%);display:block}.map-tile-art .board{width:100%;height:100%}.map-tile-body{align-content:start;gap:6px;padding:10px 12px 12px;display:grid}.lock-reason{color:var(--error);font-size:12px;font-weight:600}.seed-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.seed{color:var(--muted);font-size:13px}.seed code{font-variant-numeric:tabular-nums;min-width:10ch;color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;display:inline-block}.copy-stack{display:inline-grid}.copy-stack>span{text-align:center;grid-area:1/1}.copy-stack>.off{visibility:hidden}.seed-form{gap:4px;display:flex}.seed-form input{width:130px;height:34px;font-family:ui-monospace,SF Mono,Menlo,monospace}.deck-panel-wrap{padding:12px}.dev-deck{gap:6px;display:grid;position:relative}.deck-draw{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);width:100%;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:12px 12px 12px 10px;transition:border-color .15s,background .15s;display:grid}.dev-deck.ready .deck-draw{border-color:var(--ink);background:#f3effd}.deck-draw:hover:not(:disabled){border-color:var(--ink)}.deck-draw:hover:not(:disabled) .deck-card.top{transform:translate(-2px,-3px)rotate(-2deg)}.deck-draw:active:not(:disabled) .deck-card.top{transform:translateY(1px)}.deck-draw:disabled{cursor:not-allowed}.deck-draw:disabled .deck-stack{filter:saturate(.6)}.deck-stack{width:50px;height:68px;margin:0 0 6px 2px;position:relative}.deck-card{border:1.5px solid var(--ink);border-radius:8px;transition:transform .18s;position:absolute;inset:0}.deck-card.top{background:linear-gradient(var(--lavender), var(--lavender)) padding-box, repeating-linear-gradient(45deg, #9d87dc 0 3px, var(--lavender) 3px 7px);box-shadow:inset 0 0 0 3px var(--lavender), inset 0 0 0 4px #0a0a0a40;background-image:repeating-linear-gradient(45deg,#0a0a0a12 0 3px,#0000 3px 7px);background-color:var(--lavender);place-items:center;display:grid}.deck-card.under.u1{background:#d9cff5;transform:translate(4px,4px)rotate(4deg)}.deck-card.under.u2{background:#cbbdef;transform:translate(8px,7px)rotate(8deg)}.deck-slot{border:2px dashed var(--muted-soft);border-radius:8px;position:absolute;inset:0}.deck-fly{border:1.5px solid var(--ink);background:var(--lavender);pointer-events:none;border-radius:8px;animation:.55s cubic-bezier(.3,.7,.4,1) forwards deck-fly;position:absolute;inset:0}@keyframes deck-fly{0%{opacity:1;transform:none}to{opacity:0;transform:translate(70px,-26px)rotate(14deg)scale(.9)}}.deck-text{gap:3px;min-width:0;display:grid}.deck-name{font-size:14px;font-weight:700}.deck-count{font-variant-numeric:tabular-nums}.deck-num{font-family:var(--font-display);font-size:28px;line-height:1;animation:.35s ease-out count-bump;display:inline-block}@keyframes count-bump{0%{color:var(--pink);transform:scale(1.3)}}.deck-of{color:var(--muted);font-size:13px;font-weight:600}.deck-state{border-radius:999px;justify-self:start;padding:1px 8px;font-size:11px;font-weight:700}.deck-state.full{background:var(--mint)}.deck-state.partial{background:#f6e7b8}.deck-state.empty{background:#ffd5cf}.deck-cost{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.deck-why{color:var(--muted);margin:0;padding:0 4px;font-size:12.5px}.deck-why.ok{color:var(--success);font-weight:600}.deck-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.deck-info{border:1px solid var(--line);background:var(--surface,#fff);height:28px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px 0 4px;font-size:12px;font-weight:700;display:inline-flex}.deck-info>span:first-child{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-family:Georgia,serif;font-size:12px;font-style:italic;display:grid}.deck-info[aria-expanded=true],.deck-info:hover{border-color:var(--ink)}.deck-tip{border-radius:var(--r-md);background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:20;padding:8px 10px;font-size:12.5px;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 6px);left:0;right:0;transform:translateY(4px)}.deck-draw:hover~.deck-tip,.deck-draw:focus-visible~.deck-tip{opacity:1;transition-delay:.35s;transform:none}.deck-panel{z-index:30;border-radius:var(--r-lg);border:1.5px solid var(--ink);background:var(--canvas);width:min(380px,100vw - 32px);max-height:min(70vh,560px);padding:14px;animation:.18s rise;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.deck-panel header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.deck-panel h3{font-size:18px}.deck-summary{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.deck-summary span{border-radius:var(--r-sm);background:var(--surface-card);color:var(--muted);padding:6px 8px;font-size:11px;display:grid}.deck-summary b{font-family:var(--font-display);color:var(--ink);font-size:20px}.deck-types{gap:6px;margin:0;padding:0;list-style:none;display:grid}.deck-type{border-radius:var(--r-md);border:1px solid var(--line);border-left:5px solid var(--tint);background:var(--surface,#fff);grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:10px;padding:8px;display:grid}.deck-type-icon{border-radius:var(--r-sm);background:var(--tint);width:38px;height:38px;color:var(--ink);place-items:center;display:grid}.deck-type-body{gap:2px;min-width:0;display:grid}.deck-type-head{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deck-type-kind{background:var(--surface-strong);border-radius:999px;padding:0 6px;font-size:10.5px;font-weight:700}.deck-type-desc{color:var(--body);font-size:13px}.deck-type-rule{color:var(--muted);font-size:11.5px}.deck-type-counts{text-align:right;color:var(--muted);white-space:nowrap;gap:2px;font-size:11px;display:grid}.deck-type-counts b{color:var(--ink);font-size:15px}.deck-secret{color:var(--muted);margin:10px 0 0;font-size:12px}.dev-deck.compact{flex-direction:column;display:flex}.dev-deck.compact .deck-draw{border-radius:var(--r-md);text-align:center;flex:1;grid-template-columns:1fr;justify-items:center;gap:2px;height:auto;min-height:54px;padding:4px 2px}.dev-deck.compact .deck-stack{width:22px;height:30px;margin:2px 6px 4px 0}.dev-deck.compact .deck-card{border-radius:4px}.dev-deck.compact .deck-card.top svg{width:13px;height:13px}.dev-deck.compact .deck-name{font-size:11.5px}.dev-deck.compact .deck-num{font-size:15px}.dev-deck.compact .deck-of{font-size:10px}.dev-deck.compact .deck-cost{justify-content:center;gap:0;font-size:10px}.dev-deck.compact .deck-cost .cards-inline{justify-content:center;gap:2px}.dev-deck.compact .deck-cost .cards-inline-item{gap:1px}.deck-panel-cost{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.dev-deck.compact .deck-info{justify-content:center;width:100%;min-height:44px;padding:3px;font-size:11px;position:static}.dev-deck.compact .deck-panel{inset:auto 0 calc(100% + 8px) auto}.dev-deck.compact .deck-tip{display:none}.sound-btn.muted-sound{color:var(--muted)}.volume-row{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.hc{--muted:#3a3a3a;--muted-soft:#555;--line:#0a0a0a80}.hc .model-contrast{filter:drop-shadow(0 0 1px #fffaf0)drop-shadow(0 0 1px #0a0a0a)}.hc .piece-outline{stroke-width:2.8px}.hc .piece-halo{stroke-width:7px}.hc .piece-emblem{transform-box:fill-box;transform-origin:50%;transform:scale(1.25)}.hc .tile-face{stroke:#0a0a0a;stroke-width:2.5px}.hc .token-num{font-weight:800}.hc .target .hint{stroke-width:5px}.hc .btn.secondary,.hc .build-btn,.hc .res-card{border-color:var(--ink)}@media (width<=1240px){.game{grid-template-columns:216px minmax(0,1fr) 280px}.build-group{grid-template-columns:repeat(3,minmax(100px,1fr))}}@media (width<=1080px){.lobby-grid{grid-template-columns:1fr}.lobby-side{max-height:none;position:static;overflow:visible}.game{grid-template-columns:210px minmax(0,1fr)}.game-right{grid-column:1/-1;max-height:260px}.room-page.status-playing,.room-page.status-ended{height:auto;min-height:100dvh;overflow:visible}.board-wrap{flex:none;height:clamp(420px,64vh,720px)}}@media (width<=860px){.room-page.status-playing,.room-page.status-ended{height:auto;min-height:100dvh;overflow:visible}.game{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}.game-center{gap:8px}.mini-players{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.mini-player{border:1px solid var(--line);background:var(--surface-soft);min-height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.mini-player.current{border-color:var(--ink);background:var(--surface,#fff);box-shadow:inset 0 0 0 1px var(--ink)}.mini-name{text-overflow:ellipsis;max-width:90px;overflow:hidden}.taskbar{padding:6px 12px;font-size:14px}.board-wrap{border-radius:var(--r-lg);flex:none;min-height:0;display:block}.game .board-wrap{height:auto}.board-wrap .board{height:auto;max-height:62dvh}.board-dice{top:6px;right:6px}.game .board-wrap>.zoom-controls{inset:3px auto auto max(3px, env(safe-area-inset-left));background:0 0;gap:0;margin:0;padding:0;position:absolute}.game .board-wrap>.board-dice{top:3px;right:max(6px, env(safe-area-inset-right));min-height:44px}.game .zoom-btn{isolation:isolate;touch-action:manipulation;background:0 0;width:44px;height:44px;font-size:17px;position:relative}.game .zoom-btn:before{content:"";z-index:-1;background:var(--canvas);border:1px solid var(--line);border-radius:7px;position:absolute;inset:7px}.game .zoom-level{display:none}.game .board.zoomed+.zoom-controls .zoom-level{min-width:0;color:var(--ink);background:var(--canvas);pointer-events:none;border-radius:4px;padding:1px 5px;display:block;position:absolute;top:100%;left:7px}.phone-board-confirm{z-index:25;bottom:0;padding:8px max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset-inline:0}.phone-board-confirm .btn{white-space:normal;touch-action:manipulation;min-height:46px}.phone-board-confirm .btn.primary{flex:auto;max-width:22rem}.game .board-wrap>.tap-hint{white-space:normal;text-align:center;pointer-events:none;max-width:calc(100% - 12px);line-height:1.2;bottom:4px}.die{width:28px;height:28px}.dice{padding:4px}.dice-total{font-size:18px}.sheet-tabs{gap:6px;display:flex;overflow-x:auto}.sheet-tabs .btn{flex:1;height:44px}.dock{border-radius:var(--r-lg) var(--r-lg) 0 0;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));flex-direction:column;position:relative}.hand{justify-content:space-between}.res-card{flex:1;width:auto;height:58px}.res-card .res-name{font-size:8.5px}.actions{flex-direction:column}.build-group{grid-template-columns:repeat(4,1fr);width:100%}.build-btn{text-align:center;grid-template-columns:1fr;grid-template-areas:"icon""label""left";justify-items:center;min-width:0;min-height:54px;padding:4px 2px}.build-label{font-size:11.5px}.build-cost{display:none}.turn-group{flex-direction:row;width:100%}.turn-group .btn{height:44px}.roll-btn{width:100%}.turn-group .route-switch{justify-content:center}.seats,.lobby-lower{grid-template-columns:1fr}.lobby{padding:12px 12px 48px}.hide-sm{display:none}.turn-banner{padding:8px 18px;font-size:18px}.tile-info{min-width:170px}.confirm-bar{bottom:8px}}@media (width<=560px){.map-stage .board{height:260px}.home{padding:0 16px}.home-nav .conn-pill,.home-nav-main .logo .logo-wordmark{display:none}.picker,.resource-choices{grid-template-columns:repeat(3,1fr)}.preset-grid{grid-template-columns:1fr}.room-code .muted,.hide-xs{display:none}.modal,.invite-strip{padding:16px}}@media (pointer:coarse){.deck-info{min-width:44px;min-height:44px}.zoom-btn{width:44px;height:44px}.btn,.btn.small,.chip,.segmented button,.lang-switch button,.tabs button,.icon-btn,.stepper button,.dev-card,.swatch{min-width:44px;min-height:44px}.segmented button,.lang-switch button{justify-content:center;align-items:center;display:inline-flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ship-wrap,.pirate{pointer-events:none}.ship-wrap .ship{filter:drop-shadow(0 2px #0a0a0a47)}.ship-wrap.lifted .ship{filter:drop-shadow(0 0 4px #ff4d8b)drop-shadow(0 4px #0a0a0a4d);transition:transform .15s;transform:translateY(-5px)}.ship-target .hint{stroke:#fffaf0;fill:none}.ship-target.pick .hint{stroke-width:3.5px;stroke-dasharray:5 5}.ship-target.pick:hover .hint,.ship-target.pick:focus-visible .hint,.ship-target.pick.pending .hint{opacity:1;stroke:#ff4d8b!important}.tile-sea .tile-face{stroke:none}.tile-fog .tile-face{filter:saturate(.6)}.board.mode-robber .tile-sea.muted{opacity:1}.route-switch{border:1px solid var(--line);background:var(--canvas);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.route-switch button{min-height:36px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 14px 4px 8px;font-size:13px;font-weight:700;display:inline-flex}.route-switch button.on{background:var(--ochre)}.route-switch button:disabled{opacity:.4;cursor:not-allowed}.badge.island,.map-facts>.sea-fact{background:var(--mint)}.log-islandBonus .island-line{font-weight:700}.board-offers{z-index:3;gap:8px;width:min(320px,100% - 140px);max-height:calc(100% - 90px);display:grid;position:absolute;top:12px;left:12px;overflow-y:auto}.board-offers .offer{background:var(--canvas);border:2px solid var(--ink);box-shadow:0 6px 18px #0a1a1a40}.board-offers .offer.mine{background:#fbefc9}@media (width<=860px){.board-offers{width:min(280px,100% - 110px);top:62px;left:6px}.board-offers .offer{padding:8px}}.res-paper{background:#d9ecdf}.res-cloth{background:#f8e8bf}.res-coin{background:#d8e3f4}.hand.with-goods{gap:5px}.hand.with-goods .res-card{width:58px}.picker-heading{margin:12px 0 6px;font-size:13px}.knight-wrap,.metropolis-mark,.wall-ring,.merchant{pointer-events:none}.knight.idle{filter:saturate(.55)}.knight.active{filter:drop-shadow(0 0 3px #fffaf0)}.pick-vertex .hint{fill:none;stroke-width:3.5px}.pick-vertex.picked .hint{opacity:1;stroke-width:5px;animation:none;stroke:#ff4d8b!important}.pick-edge .hint{stroke:#ff4d8b}.knights-panel{gap:14px;display:grid}.knights-panel-wrap{flex:none;padding:12px}.game-left>.panel{flex-shrink:0}.barbarian-track header{justify-content:space-between;align-items:baseline;display:flex}.track-steps{grid-template-columns:repeat(8,1fr);gap:3px;margin:6px 0;padding:0;list-style:none;display:grid}.track-steps li{background:var(--surface-card,#f5f0e0);border:1px solid var(--line);border-radius:8px;place-items:center;height:28px;display:grid}.track-steps li.passed{background:#f3d2c8}.track-steps li.shore{background:#e7d4a0}.track-steps li.here{background:var(--canvas);border-color:var(--ink)}.barbarian-track.near .track-steps li.here{border-color:var(--error);animation:1.2s ease-in-out infinite ring-pulse}.versus{justify-content:space-between;font-size:13px;display:flex}.defense-state{margin:4px 0 2px;font-size:13px;font-weight:700}.defense-state.ok{color:#1f7a45}.defense-state.short{color:var(--error)}.improvements{gap:8px;display:grid}.improvement{border-radius:var(--r-md);border:1px solid var(--line);border-left:5px solid var(--track);background:var(--canvas);gap:4px;padding:8px 10px;display:grid}.improvement-head{align-items:center;gap:6px;display:flex}.level-dots{gap:3px;margin-left:auto;display:flex}.level-dots span{border:1.5px solid var(--track);border-radius:50%;width:10px;height:10px}.level-dots span.on{background:var(--track)}.level-dots span.ability:not(.on){border-style:dashed}.improvement .ability{color:var(--muted);margin:0;font-size:12px}.improvement .ability.unlocked{color:var(--ink);font-weight:600}.improvement .metro{margin:0}.improve-btn{justify-self:start;align-items:center;gap:4px;display:inline-flex}.deck-counts{gap:6px;display:flex}.deck-count-chip{background:var(--track);color:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-weight:700;display:inline-flex}.knight-actions,.progress-hand{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.knight-actions-label,.progress-hand-label{margin-right:4px;font-size:13px;font-weight:700}.progress-card{text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);cursor:pointer;gap:2px;max-width:190px;padding:6px 10px;display:grid}.progress-card.playable{border-color:var(--ink);background:#e9f3ec}.progress-card:disabled{cursor:not-allowed;opacity:.7}.progress-name{font-size:13px;font-weight:700}.progress-desc{color:var(--muted);font-size:11px;line-height:1.3}.progress-note{font-size:11px;font-weight:600}.event-die{background:var(--track,#fffaf0);border:2px solid #0a0a0a;border-radius:10px;place-items:center;width:38px;height:38px;display:inline-grid}.event-die.rolling{animation:.14s linear 3 tumble}.board-dice{align-items:center;gap:6px;display:flex}.dice-pick{gap:6px;margin-bottom:10px;display:grid}.dice-pick-row{gap:6px;display:flex}.die-choice{border:2px solid var(--ink);width:42px;height:42px;font-family:var(--font-display);cursor:pointer;border-radius:10px;font-size:18px;font-weight:600}.die-choice.yellow{background:#fff3c4}.die-choice.red{background:#ffd0df}.die-choice.on{background:var(--ink);color:#fff}.player-tracks{gap:8px;font-size:12px;font-weight:700;display:flex}.track-chip{align-items:center;gap:2px;display:inline-flex}.badge.defender{background:var(--pink);color:#fff}.badge.merchant{background:var(--ochre)}.badge.progress-pts{background:var(--lavender)}.badge.metro{background:var(--mint)}.bank-grid.goods{margin-top:6px}.attack-line.defended{color:#1f7a45;font-weight:600}.attack-line.lost{color:var(--error);font-weight:600}.build-group.knights{grid-template-columns:repeat(3,minmax(100px,1fr))}@media (width<=1080px){.build-group.knights{grid-template-columns:repeat(4,1fr)}}@media (width<=860px){.event-die{width:28px;height:28px}.progress-card{flex:140px;max-width:none}.hand.with-goods{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;width:100%;display:grid}.hand.with-goods .res-card{width:auto;min-width:0;height:52px}.hand.with-goods .res-card .res-name{display:none}.hand.with-goods .res-card .res-count{font-size:17px}.game .dock .hand:not(.painted){grid-template-columns:minmax(0,1.35fr) repeat(4,minmax(0,1fr));gap:4px;width:100%;display:grid}.game .dock .hand.with-goods:not(.painted){grid-template-columns:repeat(4,minmax(0,1fr))}.game .dock .hand .res-card:not(.art){grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;width:auto;min-width:0;height:auto;padding:4px 2px}.game .dock .hand .res-card:not(.art) .res-name{white-space:normal;overflow-wrap:anywhere;padding:0;font-size:11px;line-height:1.2;display:block;overflow:visible}.game .dock .hand .res-card:not(.art) .res-icon{width:20px;height:20px}.game .dock .hand .res-card:not(.art) .res-count{font-size:18px}.game .dock .hand:not(.painted) .hand-total{grid-column:-3/-1;justify-self:end}.game .dock .hand.painted{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%;padding:6px 7px 0 0;display:flex}.game .dock .hand.painted .res-card.art{flex:none}.game .dock .hand.painted .res-card:not(.art){flex:0 0 60px}.game .dock .build-count{display:none}.knight-actions .btn{flex:auto}}.points-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.pt{white-space:nowrap;grid-template-columns:minmax(150px,1fr) 6ch 4ch;align-items:baseline;gap:8px;font-size:13px;display:grid}.pt-label{color:var(--body)}.pt-math{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.pt-val{text-align:right;min-width:28px;color:var(--ink);font-variant-numeric:tabular-nums}.pt-longestRoad .pt-label,.pt-largestArmy .pt-label,.pt-island .pt-label,.pt-metropolis .pt-label,.pt-defender .pt-label{font-weight:600}.menu-pop{width:300px;max-height:min(80vh,640px);overflow-y:auto}.menu-section{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.menu-heading{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.menu-note{margin:0;line-height:1.4}.volume-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:4ch;font-size:13px;font-weight:600}.age-badge{background:var(--error);color:#fff;letter-spacing:0;border-radius:999px;padding:1px 7px;font-size:11px}.confirm-18{border-radius:var(--r-md);background:#ffe7e3;gap:8px;padding:10px;display:grid}.confirm-18 p{margin:0}.robber-scene{z-index:90;background:#0a0a0ab8;place-items:center;padding:24px;animation:.32s both scene-in;display:grid;position:fixed;inset:0}.robber-scene.leaving{animation:.3s both scene-out}@keyframes scene-in{0%{opacity:0}}@keyframes scene-out{to{opacity:0}}.robber-stage{justify-content:center;align-items:center;gap:8px;width:100%;max-width:1040px;display:flex}.villain{filter:drop-shadow(0 10px 24px #00000073);transform-origin:50% 100%;flex:none;width:min(30vw,300px);height:auto;animation:.5s cubic-bezier(.2,.9,.3,1.4) both villain-pop}@keyframes villain-pop{0%{opacity:0;transform:translateY(30px)scale(.85)}}.speech{background:var(--surface,#fff);border:6px solid #0a0a0a;border-radius:46% 46% 44% 44%/52% 52% 48% 48%;max-width:560px;padding:44px 48px 64px;animation:.45s cubic-bezier(.2,.9,.3,1.4) .12s both bubble-pop;position:relative;box-shadow:0 0 0 6px #fffaf0}.speech:before{content:"";background:var(--surface,#fff);border-bottom:6px solid #0a0a0a;border-left:6px solid #0a0a0a;border-radius:0 0 0 12px;width:60px;height:46px;position:absolute;top:58%;left:-34px;transform:skewY(-28deg)rotate(8deg)}@keyframes bubble-pop{0%{opacity:0;transform:scale(.6)}}.karaoke{font-family:var(--font-display);text-align:center;letter-spacing:-.5px;margin:0;font-size:clamp(22px,3.2vw,44px);font-weight:600;line-height:1.25;position:relative}.kw{transition:color .12s}.karaoke.long{font-size:clamp(18px,2.1vw,28px);line-height:1.3}.kw.next{color:#0a0a0a38}.kw.sung{color:#0a0a0a}.kw.now{background:linear-gradient(90deg, var(--pink) calc(var(--p) * 100%), #0a0a0a38 calc(var(--p) * 100%));color:#0000;-webkit-background-clip:text;background-clip:text}.loss-chip{background:var(--surface,#fff);white-space:nowrap;font-family:var(--font-display);color:#e0321f;border:4px solid #0a0a0a;border-radius:999px;align-items:center;gap:10px;padding:10px 22px;font-size:clamp(18px,2.2vw,28px);font-weight:700;display:inline-flex;position:absolute;bottom:-30px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000040}.robber-skip{background:#fffaf0eb;position:fixed;bottom:18px;right:18px}@media (width<=760px){.robber-stage{flex-direction:column;gap:0}.villain{order:2;width:min(46vw,200px)}.speech{border-radius:40px;padding:28px 26px 48px}.speech:before{top:auto;bottom:-40px;left:50%;transform:translate(-50%)rotate(-45deg)}}@media (prefers-reduced-motion:reduce){.robber-scene,.robber-scene.leaving,.villain,.speech{animation:none}}.room-bar-slot{flex:1;justify-content:center;min-width:0;display:flex}.barbarian-strip{border:1px solid var(--line);background:var(--surface-card);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;min-width:0;padding:5px 14px;font-size:13px;display:flex}.barbarian-strip.near{border-color:var(--error);background:#fde9e4}.strip-title{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.strip-title b{color:var(--ink);letter-spacing:0}.barbarian-strip .track-steps{gap:2px;width:220px;margin:0}.barbarian-strip .track-steps li{border-radius:6px;height:22px}.barbarian-strip .defense-state{margin:0;font-size:13px}.defense-state-line{margin:4px 0 2px}@media (width<=1240px){.strip-versus{display:none}}@media (width<=1020px){.barbarian-strip .defense-state{display:none}}@media (width<=860px){.room-bar-slot{display:none}}.preset-card-wrap{display:grid;position:relative}.preset-card-wrap .rules-q{position:absolute;top:8px;right:8px}.rules-q{border:1.5px solid var(--ink);background:var(--canvas);width:26px;height:26px;color:var(--ink);cursor:pointer;vertical-align:middle;border-radius:50%;place-items:center;font-size:14px;font-weight:700;line-height:1;display:inline-grid}.rules-q:hover{background:var(--ochre)}.mode-desc{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.mode-rules{gap:18px;max-height:62vh;padding-right:4px;display:grid;overflow-y:auto}.mode-rules-section h3{margin:0 0 4px;font-size:18px}.mode-rules-section ul{gap:8px;margin:8px 0 0;padding-left:20px;line-height:1.5;display:grid}.preset-card-wrap .preset-card{padding-right:42px}@media (width>=861px){.dock{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid;container:dock/inline-size}.dock-extras{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 18px;display:flex}.dock-extras:empty{display:none}.dock-extras .knight-actions,.dock-extras .progress-hand{width:auto}.dock-extras .dev-cards{border-top:0;flex-basis:auto;padding-top:0}.hand.with-goods{grid-template-columns:repeat(4,58px);gap:4px;display:grid}.hand.with-goods .res-card{grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:4px;width:58px;height:46px}.hand.with-goods .res-card .res-name{display:none}.hand.with-goods .res-card .res-count{font-size:18px}}@container dock (width>=1500px){.build-group,.build-group.knights,.build-group.sea{grid-template-columns:none;grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column}.hand.with-goods{grid-template-columns:repeat(8,50px)}.hand.with-goods .res-card{width:50px}.turn-group .btn{min-height:30px;padding-top:4px;padding-bottom:4px}}@container dock (width<=820px){.hand,.actions{grid-column:1/-1}}.task-row{align-items:stretch;gap:10px;display:flex}.task-row .taskbar{flex:1;min-width:0}.panel-quick{align-items:center;gap:6px;display:flex}.panel-quick .btn{align-items:center;gap:6px;height:100%;min-height:40px;display:inline-flex}.mini-feed{flex:360px;gap:6px;min-width:260px;max-width:560px;margin-left:auto;display:flex}.mini-feed-item{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-soft,#faf5e8);min-width:0;height:34px;font:inherit;color:inherit;cursor:pointer;flex:1 1 0;align-items:center;gap:8px;padding:0 10px;display:flex}.mini-feed-item:hover{border-color:var(--ink)}.mini-feed-title{letter-spacing:1px;text-transform:uppercase;color:var(--muted);flex:none;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.mini-feed-line{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.rule-cards{margin:10px 0 0;list-style:none;display:grid;gap:10px!important;padding:0!important}.rule-card{border-radius:var(--r-lg);background:var(--surface-soft,#faf5e8);border:1px solid var(--line);grid-template-columns:300px minmax(0,1fr);align-items:center;gap:16px;padding:10px;display:grid}.rule-card:not(:has(.rule-scene)){grid-template-columns:minmax(0,1fr)}.rule-card p{margin:0;line-height:1.5}.rule-scene{background:#fffaf0;border-radius:12px;width:300px;height:177px;display:block}@media (width<=640px){.rule-card{grid-template-columns:minmax(0,1fr)}.rule-scene{width:100%;height:auto}}.immersive-btn{border:1px solid var(--line);background:var(--canvas);color:var(--ink);flex:none;align-self:center}.immersive-btn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}@media (width>=861px){.game.immersive{--hud:12px;--side-l:256px;--side-r:360px;padding:0;display:block;position:relative}.immersive .game-center{pointer-events:none;display:block;position:absolute;inset:0}.immersive .game-center>*{pointer-events:auto}.immersive .board-wrap{--bt:var(--hud);--bb:var(--hud);--bl:calc(var(--side-l) + var(--hud) * 2);--br:calc(var(--side-r) + var(--hud) * 2);border-radius:0;min-height:0;display:block;position:absolute;inset:0}.immersive .board-wrap>.board{top:var(--bt);left:var(--bl);width:calc(100% - var(--bl) - var(--br));height:calc(100% - var(--bt) - var(--bb));position:absolute}.immersive .board-dice{top:var(--bt);right:var(--br)}.immersive .zoom-controls{left:var(--bl);bottom:var(--bb)}.immersive .board-offers{top:var(--bt);left:var(--bl)}.immersive .confirm-bar,.immersive .tap-hint{bottom:var(--bb)}.immersive .task-row,.immersive .dock,.immersive .game-right{z-index:4;right:var(--hud);width:var(--side-r);position:absolute}.immersive .task-row{top:var(--hud);flex-wrap:wrap}.immersive .game-right{z-index:3;top:calc(var(--task-h,56px) + var(--hud) * 2);bottom:calc(var(--dock-h,200px) + var(--hud) * 2)}.immersive .dock{bottom:var(--hud);max-height:min(var(--dock-max,100vh), calc(100% - var(--task-h,56px) - var(--hud) * 4 - 150px));overscroll-behavior:contain;overflow:auto}.immersive.side-collapsed .dock{top:calc(var(--task-h,56px) + var(--hud) * 2);max-height:min(var(--dock-max,100vh), calc(100% - var(--task-h,56px) - var(--hud) * 3 - 20px));bottom:auto}.immersive .panel-quick{flex-wrap:wrap}.immersive.side-collapsed .task-row .taskbar{flex-basis:100%}.immersive .game-left{z-index:3;top:var(--hud);bottom:var(--hud);left:var(--hud);width:var(--side-l);position:absolute}.immersive .hand{grid-column:1/-1}.immersive .hand .res-card{width:58px;height:64px}.immersive .hand.with-goods{grid-template-columns:repeat(4,minmax(0,1fr))}.immersive .hand.with-goods .res-card{width:auto}.immersive .actions{flex-direction:column;gap:6px}.immersive .build-group,.immersive .build-group.knights,.immersive .build-group.sea{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.immersive .build-btn{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label""icon cost""icon left";padding:4px 8px}.immersive .turn-group{flex-direction:row;min-width:0}.immersive .turn-group .btn{flex:1 1 0}.immersive .bank-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.immersive .bank-card{grid-template-columns:none;grid-template-areas:"icon""count";justify-items:center;row-gap:2px;padding:4px 2px}.immersive .bank-card-name{display:none}.immersive .bank-card-count{font-size:16px}}.menu-field{gap:6px;display:grid}.menu-field-label{color:var(--ink);font-weight:600}.menu-field .segmented{width:100%}.menu-field .segmented button{flex:1}.modal .segmented+.mode-rules{margin-top:12px}.rules-note{border-radius:var(--r-md);background:var(--surface-card);color:var(--body);margin:8px 0 0;padding:8px 12px;font-size:13px;font-weight:600}.rules-turn{margin-top:12px}.rules-turn-title,.rule-title{color:var(--ink);margin:0;font-size:16px;font-weight:700}.rules-turn ol{grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0 0;list-style:none;display:grid;gap:6px!important;padding:0!important}.rules-turn li{border-radius:var(--r-md);background:var(--ochre);color:var(--ink);align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:700;line-height:1.25;display:flex}.rules-step-n{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.rule-body{gap:6px;min-width:0;display:grid}.rule-body p{margin:0}.rule-body ul{color:var(--body);font-size:14px;display:grid;gap:3px!important;margin:0!important;padding-left:18px!important;line-height:1.45!important}.rule-costs-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:700}.rule-costs{gap:4px;margin:0;display:grid}.rule-costs>div{border-radius:var(--r-sm);background:var(--canvas);justify-content:space-between;align-items:center;gap:10px;padding:4px 8px;display:flex}.rule-costs dt{font-size:13px;font-weight:600}.rule-costs dd{margin:0}@media (width<=640px){.rules-turn ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-msg.taunt{background:#fde3dc}.chat-taunt-tag{background:var(--coral);color:var(--ink);white-space:nowrap;border-radius:999px;justify-self:start;padding:0 6px;font-size:11px;font-weight:700}.progress-card.track-science,.progress-ref.track-science{--track:#3f8f5e;--track-tint:#e3f1e7;--track-ink:#245c3a}.progress-card.track-trade,.progress-ref.track-trade{--track:#d39a1f;--track-tint:#fbf0d6;--track-ink:#7a5208}.progress-card.track-politics,.progress-ref.track-politics{--track:#3e6fb8;--track-tint:#e2eaf7;--track-ink:#244a80}.progress-card{border-left:5px solid var(--track,var(--line));background:var(--track-tint,var(--canvas))}.progress-card.playable{border-color:var(--track,var(--ink));background:var(--track-tint,#e9f3ec);box-shadow:inset 0 0 0 1px var(--track,var(--ink));border-left-width:5px}.progress-card .progress-name{color:var(--track-ink,var(--ink))}.progress-ref{color:var(--track-ink);font-weight:700}.barbarian-line{color:#8c391b;font-weight:600}.fold-btn{width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.fold-chevron{color:var(--muted);font-size:14px}.improvements.folded .improvement{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:4px 8px}.improvements.folded .improvement .ability,.improvements.folded .improvement .metro,.improvements.folded>p,.improvements.folded .improve-word{display:none}.improvements.folded .improve-btn{justify-self:end;min-height:28px;padding:2px 8px}.info-pop{display:inline-flex;position:relative}.info-trigger{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.info-pop.award .info-trigger .badge{cursor:pointer}.info-pop.award .info-trigger:hover .badge,.info-pop.award .info-trigger[aria-expanded=true] .badge{outline:1.5px solid var(--ink);outline-offset:1px}.info-bubble{z-index:1000;border-radius:var(--r-md);background:var(--ink);color:#fff;text-align:left;white-space:normal;padding:8px 10px;font-size:12.5px;font-weight:500;line-height:1.45;animation:.12s rise;position:fixed;box-shadow:0 6px 20px #0a0a0a2e}.hint-host{min-width:0;display:grid;position:relative}.hint-host>.btn{width:100%}.hint-host>.build-btn{width:100%;height:100%}.turn-group>.hint-host,.knight-actions>.hint-host{display:flex}.turn-group>.hint-host,.turn-group>.hint-host>.btn{flex:1}.info-pop.hint{z-index:2;position:absolute;top:3px;right:3px}.info-pop.hint .info-trigger{border:1px solid var(--muted-soft,#9a9a9a);width:15px;height:15px;color:var(--muted,#6a6a6a);opacity:.6;background:0 0;border-radius:50%;place-items:center;font-size:10px;font-weight:600;line-height:1;display:grid}.info-pop.hint .info-trigger:hover,.info-pop.hint .info-trigger[aria-expanded=true]{opacity:1;color:var(--ink);border-color:var(--ink)}.board-wrap>.board-dice,.board-wrap>.tap-hint,.board-wrap>.confirm-bar{z-index:3}.board-wrap>.turn-banner{z-index:4}.dock-resizer{display:none}@media (width>=861px){.dock-resizer{cursor:row-resize;touch-action:none;place-items:center;height:10px;margin:-8px 0 -6px;display:grid}.dock-resizer span{background:var(--line);border-radius:999px;width:44px;height:4px}.dock-resizer:hover span,.dock-resizer:focus-visible span{background:var(--muted);width:64px}.game:not(.immersive) .dock{max-height:var(--dock-max,none);flex:none;overflow-y:auto}.immersive .dock-resizer{z-index:5;right:var(--hud);width:var(--side-r);bottom:calc(var(--dock-h,200px) + var(--hud));cursor:row-resize;touch-action:none;pointer-events:auto;place-items:center;height:20px;display:grid;position:absolute}.immersive.side-collapsed .dock-resizer{top:calc(var(--task-h,56px) + var(--hud) * 2 + var(--dock-h,200px));bottom:auto}.immersive .dock-resizer span{background:#ffffffb3;border-radius:999px;width:44px;height:4px}.immersive .dock-resizer:hover span,.immersive .dock-resizer:focus-visible span{background:var(--surface,#fff);width:64px}}.player-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:7px 8px;display:grid}.player-card .player-name .status{line-height:1.2}.player-head{display:contents}.player-card .avatar-wrap{grid-area:1/1/span 2;align-self:start}.player-card .player-name{grid-area:1/2;min-width:0;display:grid}.player-card .player-name .name{min-width:0;font-size:14px}.player-card .player-name .status{flex:none;font-size:11px}.player-card .points{grid-area:1/3/span 2;font-size:22px}.player-card .timer-chip{grid-area:3/2/auto/-1;justify-self:start}.player-card .player-stats{flex-wrap:wrap;grid-area:2/2;gap:2px 9px;margin-top:0;font-size:12px}.player-card .player-tracks,.player-card .badges{grid-column:1/-1}.player-card .player-tracks{margin-top:4px}.player-card .tag{padding:0 5px;font-size:10px}.bank-card{column-gap:6px;padding:2px 8px 2px 6px}.bank-card-count{font-size:16px}@media (width>=861px){.game.immersive{--side-l:228px}.immersive .dock-resizer{margin:0}.game:not(.immersive) .build-group,.game:not(.immersive) .build-group.knights,.game:not(.immersive) .build-group.sea{flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-flow:row;min-width:0}}.barbarian-ship{transition:transform 1.2s}.barbarian-ship>svg{animation:2.4s ease-in-out infinite alternate ship-bob;animation-delay:inherit;transform-box:fill-box}@keyframes ship-bob{0%{transform:translateY(-1.5px)rotate(-3deg)}to{transform:translateY(1.5px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.barbarian-ship,.barbarian-ship>svg{transition:none;animation:none}}.red-die{color:#c62f2f}.res-gold{background:#fbefc4}.hand.painted{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.hand.painted .res-card.art{background:0 0;border:0;grid-template-columns:none;grid-auto-flow:row;justify-items:center;gap:3px;width:54px;height:auto;padding:0;display:grid;overflow:visible}.hand.painted .res-card.art .card-art{aspect-ratio:236/350;background-repeat:no-repeat;background-size:100% 100%;border-radius:6px;width:54px;display:block;box-shadow:0 1px 3px #0a0a0a40}.hand.painted .res-card.art .res-count{font-size:15px;line-height:1}.hand.painted.with-goods .res-card.art,.hand.painted.with-goods .res-card.art .card-art{width:46px}.hand-empty{align-self:center;padding:0 8px}.dev-card{flex:none;justify-content:flex-start;width:190px}.dev-card .dev-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dev-card .dev-count{flex:none}.dev-card .dev-note{flex:none;margin-left:auto}.gold-pick{border-radius:var(--r-md);background:#fbefc4;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;display:flex}.gold-pick-name{color:#7a5208;font-weight:700}.protect-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.protect-chip{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--canvas);cursor:pointer;place-items:center;width:32px;height:32px;display:inline-grid;position:relative}.protect-chip.on{border-color:var(--error);background:#fde2e2}.protect-x{color:var(--error);place-items:center;font-size:20px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.offer.counter{border-color:var(--ochre)}.offer-kind{background:var(--ochre);border-radius:999px;margin-bottom:4px;padding:0 8px;font-size:11px;font-weight:700;display:inline-block}.btn.edit-offer{border:1.5px solid var(--ink);border-radius:var(--r-sm);background:var(--canvas);min-width:34px;color:var(--ink);font-size:16px}.btn.edit-offer:hover:not(:disabled){background:var(--surface-card)}.art-drawn .bank-card[class*=res-],.art-drawn .picker-cell[class*=res-],.art-drawn .gold-pick{background:var(--canvas);border:1px solid var(--line)}.art-drawn .res-icon.painted{flex:none}.draft-bar,.suggestion{border-radius:var(--r-lg);border:1px solid var(--line);gap:8px;padding:12px 14px;display:grid}.draft-bar{background:var(--canvas);border-style:dashed;border-color:var(--ink)}.suggestion{background:var(--surface-card)}.draft-head,.suggestion-head{color:var(--ink);margin:0;font-size:13px;font-weight:600}.suggestion-lines{color:var(--body,#3a3a3a);margin:0;padding-left:18px;font-size:13px}.suggestion-actions{flex-wrap:wrap;gap:6px;display:flex}.hand-total{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--canvas);min-width:52px;color:var(--ink);align-content:center;align-self:center;justify-items:center;gap:2px;padding:6px 8px;display:inline-grid}.hand-total-sum{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;line-height:1}.hand-total-name{color:var(--muted);font-size:11px}.hand-total.over{border-color:var(--error);background:#fde2e2}.hand-total.over .hand-total-sum{color:#b42318}.knight-cost{vertical-align:middle;margin-left:6px;display:inline-flex}.embargo-chip{border-radius:var(--r-pill,999px);border:1px solid var(--line);background:var(--canvas);min-height:32px;color:var(--ink);cursor:pointer;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.embargo-chip.on{border-color:var(--ink);background:var(--surface-card)}.embargo-chip.danger.on{border-color:var(--error);color:#b42318;background:#fde2e2}.chat-system.embargo,.embargo-line{color:#b42318}.pause-menu{position:relative}.pause-btn.on{color:var(--ink);background:var(--surface-card)}.pause-pop{z-index:50;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--canvas);gap:10px;width:260px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0a0a0a1f}.pause-lead{color:var(--muted);margin:0;font-size:13px}.pause-minutes{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.pause-minutes button{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface,#fff);cursor:pointer;min-height:36px;padding:0;font-size:12px;font-weight:600}.pause-minutes button.on{border-color:var(--ink);background:var(--ink);color:#fff}.pause-banner{z-index:6;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--canvas);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;max-width:calc(100% - 24px);padding:10px 16px;font-size:14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0a0a0a24}.pause-banner.active{background:var(--ink);border-color:var(--ink);color:#fff}.pause-clock{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px}.pause-actions{gap:6px;display:inline-flex}.game.paused .board,.game.paused .dock{filter:grayscale(.5);opacity:.7;pointer-events:none}.replay-screen{z-index:900;background:var(--teal);color:#fff;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.replay-top,.replay-bar{flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 16px;display:flex}.replay-title{font-family:var(--font-display);font-size:18px;font-weight:500}.replay-players{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.replay-players li{background:var(--canvas);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.replay-players li.winner{box-shadow:inset 0 0 0 2px var(--ochre,#e8b94a)}.replay-player-name{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.replay-top-actions{gap:6px;display:flex}.replay-stage{place-items:center;min-height:0;padding:0 12px;display:grid;position:relative}.replay-stage .board{width:100%;height:100%}.replay-events{border-radius:var(--r-md);max-width:min(440px,100% - 32px);color:var(--ink);background:#fffaf0eb;gap:4px;margin:0;padding:10px 12px;font-size:13px;list-style:none;display:grid;position:absolute;bottom:8px;left:16px}.replay-events:empty{display:none}.replay-buttons{align-items:center;gap:4px;display:flex}.replay-play{gap:6px;min-width:96px}.replay-seek{min-width:160px;accent-color:var(--ochre,#e8b94a);flex:1}.replay-step{font-variant-numeric:tabular-nums;opacity:.85;font-size:13px}.replay-bar .segmented{background:#ffffff1f}.replay-bar .segmented button{color:#fff}.replay-bar .segmented button.on{background:var(--canvas);color:var(--ink)}@media (width<=640px){.replay-top,.replay-bar{padding:8px 10px}.replay-events{max-width:calc(100% - 16px);font-size:12px;left:8px}.replay-play span{display:none}.replay-top{justify-content:space-between}.replay-players{flex-basis:100%;order:3}.replay-play{min-width:44px}}.video-render-host{pointer-events:none;width:1200px;height:1000px;position:fixed;top:0;left:-20000px}.video-render-board{width:1200px;height:900px}.video-render-host *,.video-render-host :before,.video-render-host :after{transition:none!important;animation:none!important}.video-render-board .board{width:100%;height:100%}.video-export{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.video-preview{gap:6px;margin:0;display:grid;position:sticky;top:0}.video-preview canvas{border-radius:var(--r-md);background:var(--teal);width:100%;height:auto}.video-settings fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.video-field{color:var(--ink);gap:6px;font-size:13px;font-weight:600;display:grid}.video-field small{font-weight:400}.video-field input[type=range]{width:100%;accent-color:var(--ink)}.video-tracks{gap:4px;max-height:190px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.video-tracks li{gap:4px;display:flex}.video-tracks button[role=radio]{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface,#fff);text-align:left;cursor:pointer;flex:1;min-height:34px;padding:4px 10px;font-size:13px;font-weight:500}.video-tracks button[role=radio].on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface-card)}.video-listen{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--canvas);cursor:pointer;width:34px}.video-progress,.video-result{gap:6px;margin-top:14px;font-size:13px;display:grid}.video-progress progress{width:100%;height:10px;accent-color:var(--ink)}.video-warn{color:#b42318;font-weight:600}.video-result video{border-radius:var(--r-md);background:#000;width:100%;max-height:320px}.video-error{color:#b42318;margin:14px 0 0;font-size:13px}@media (width<=760px){.video-export{grid-template-columns:1fr}.video-preview{position:static}}@media (width>=1081px){.game:not(.immersive){grid-template:"left task right""left board right"minmax(0,1fr)/228px minmax(0,1fr) 340px}.game:not(.immersive).side-collapsed{grid-template-columns:228px minmax(0,1fr) 340px;grid-template-areas:"left task dock""left board dock"}.game:not(.immersive) .game-center{display:contents}.game:not(.immersive) .game-left{grid-area:left}.game:not(.immersive) .task-row{grid-area:task}.game:not(.immersive) .board-wrap{grid-area:board;min-height:0}.game:not(.immersive) .game-right{height:max(0px, calc(100% - var(--dock-h,200px) - 14px));grid-area:right;align-self:start}.game:not(.immersive) .dock{grid-area:right;align-self:end;max-height:none}.game:not(.immersive).side-collapsed .dock{grid-area:dock;align-self:start}.game:not(.immersive) .dock-resizer{display:none}}@media (width>=861px){.game .dock{flex-flow:column;gap:8px;padding:10px;display:flex}.game .dock .actions{flex-direction:column;flex:none;gap:8px;display:flex}.game .dock .build-group,.game .dock .build-group.knights,.game .dock .build-group.sea{flex-wrap:wrap;flex:none;grid-template-columns:none;align-content:flex-start;align-items:flex-start;gap:6px;display:flex}.game .dock .build-btn{grid-template-columns:none;grid-template-areas:none;place-items:center;width:52px;height:52px;padding:0;display:grid;position:relative}.game .dock .build-btn .build-label,.game .dock .build-btn .build-cost,.game .dock .build-btn .build-left{display:none}.game .dock .build-btn.on{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:var(--surface-card)}.game .dock .build-btn:disabled{pointer-events:none}.build-count{display:none}.game .dock .build-count{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.game .dock .build-btn:disabled .build-count{background:var(--muted)}.game .dock .turn-group{flex-direction:row;gap:6px;min-width:0;display:flex}.game .dock .turn-group .btn{flex:1 1 0;min-height:44px}.game .dock .dock-extras{flex-wrap:wrap;gap:6px;display:flex}}.cost-tip{z-index:70;border-radius:var(--r-md);background:var(--ink);color:#fff;pointer-events:none;gap:6px;max-width:260px;padding:10px 12px;font-size:13px;display:grid;position:fixed;box-shadow:0 6px 18px #0a0a0a33}.cost-tip-title{font-weight:600}.cost-cards{flex-wrap:wrap;gap:4px;display:flex}.cost-card{opacity:.72;filter:saturate(.7);background:#ffffff1f;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.cost-card.art{aspect-ratio:236/350;background-size:100% 100%;width:36px;height:auto}@media (width>=861px){.game .dock{overscroll-behavior-x:contain;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:var(--muted-soft) transparent;overflow:hidden auto}.game .dock>*{flex-shrink:0}.game .dock .dock-extras>.knight-actions,.game .dock .dock-extras>.progress-hand{flex:100%;width:100%;min-width:0}.game .dock .knight-actions>.hint-host{flex:auto;max-width:100%}.game .dock .knight-actions .btn{white-space:normal;max-width:100%}.game .dock .progress-hand{overflow-wrap:anywhere;align-items:flex-start}.game .dock .progress-hand-label{flex-basis:100%}.game .dock .progress-card{flex:140px;min-width:0;max-width:100%}.game .dock .hand.with-goods:not(.painted){grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}.game .dock .hand.with-goods:not(.painted) .res-card{width:auto;min-width:0}}.cost-card.have{opacity:1;filter:none;box-shadow:0 0 0 2px #e8b94a}.cost-tip-note{color:#ffffffbf;font-size:12px}.hand.painted .res-card.art{position:relative}.hand.painted .res-card.art .res-count{background:var(--ink);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;line-height:1;display:grid;position:absolute;top:-5px;right:-6px}.hand-total{min-width:0;color:var(--muted);background:0 0;border:0;align-self:center;align-items:baseline;gap:4px;padding:0 4px;display:inline-flex}.hand-total-sum{font-family:var(--font-body);color:var(--ink);font-size:14px;font-weight:600}.hand-total-name{font-size:12px}.hand-total.over{background:0 0;border:0}.hand-total.over .hand-total-sum,.hand-total.over .hand-total-name{color:#b42318}.player-stats{flex-wrap:wrap;align-items:center;gap:4px 10px}.player-stats>.key-stat{border-radius:var(--r-sm);background:var(--surface-card);color:var(--ink);font-variant-numeric:tabular-nums;gap:5px;padding:2px 8px 2px 5px;font-size:16px;font-weight:700}.player-stats>.key-stat .mini-card{width:14px;height:19px}.player-stats>span:not(.key-stat){color:var(--muted);font-size:12px}.player-stats .player-tracks{gap:8px;margin:0;display:inline-flex}@media (width>=861px){.game .dock>*,.game .dock .dock-extras>*{min-width:0;max-width:100%}.game .dock .dock-extras,.game .dock .dev-cards{width:100%}.game .dock .dev-card{flex:100%;width:auto;min-width:0;height:auto;min-height:36px;padding:6px 10px}.game .dock .dev-card .dev-name{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;flex:1}}@media (width>=1081px){.game:not(.immersive) .dock{max-height:min(var(--dock-max,62vh), 62vh);overflow-y:auto}}@media (width>=1081px) and (width<=1240px){.game:not(.immersive),.game:not(.immersive).side-collapsed{grid-template-columns:196px minmax(0,1fr) 286px;gap:10px;padding:10px}.game .dock .hand.painted .res-card.art,.game .dock .hand.painted .res-card.art .card-art{width:44px}}@media (width>=861px){.game .dock .build-group>.cost-host{flex:56px;align-self:flex-start;max-width:112px;height:56px;display:block}.game .dock .build-btn{justify-content:center;align-items:center;width:100%;height:56px;display:flex}.game .dock .build-btn .build-icon{grid-area:auto}.game .dock .cost-host>.info-pop.hint{top:auto;bottom:4px;right:4px}.game .dock .hand{flex-wrap:wrap;align-items:center}.hand-total{white-space:nowrap;flex:none}.game .dock .build-group{width:100%}.game .dock .hand:not(.painted) .res-card{width:56px;height:64px}}button.board-dice{cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;padding:0;animation:1.6s ease-in-out infinite dice-invite}button.board-dice:hover,button.board-dice:focus-visible{outline-offset:3px;outline:3px solid #fffaf0d9;transform:translateY(-2px)}@keyframes dice-invite{50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){button.board-dice{animation:none}}.board-wrap{overflow:clip}@media (width>=861px){.game .dock>.actions,.game .dock>.hand{width:100%}.game .dock .build-btn .build-icon svg{width:40px;height:40px}}.logo span{text-transform:uppercase;letter-spacing:.14em;font-weight:600}.home{max-width:1280px}.home-main{grid-template-columns:minmax(300px,400px) minmax(0,1fr);align-items:start;gap:24px;padding:12px 0 48px;display:grid}.home-menu-col{gap:12px;display:grid}.home-player{border-radius:var(--r-lg);background:var(--surface-card);align-items:center;gap:12px;padding:12px 14px;display:flex}.home-player-field{flex:1;gap:4px;min-width:0;display:grid}.home-player-label{color:var(--muted);font-size:12px;font-weight:600}.home-player input{height:40px}.home-menu{gap:8px;display:grid}.menu-item{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface,#fff);width:100%;min-height:76px;color:var(--ink);text-align:left;cursor:pointer;align-items:center;gap:14px;padding:12px 16px;transition:background .15s,border-color .15s;display:flex}.menu-item:hover{border-color:var(--ink)}.menu-item.on{background:var(--teal);border-color:var(--teal);color:#fff}.menu-icon{border-radius:var(--r-md);background:var(--surface-card);width:48px;height:48px;color:var(--teal);flex:none;place-items:center;display:grid}.menu-item.on .menu-icon{color:var(--ochre);background:#fffaf01f}.menu-text{flex:1;gap:2px;min-width:0;display:grid}.menu-text b{font-family:var(--font-display);letter-spacing:-.01em;font-size:18px;font-weight:500}.menu-text small{color:var(--muted);font-size:13px}.menu-item.on .menu-text small{color:#fffaf0bf}.menu-chevron{opacity:.6;flex:none}.soon-badge{background:var(--ochre);color:var(--ink);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}.home-demo{gap:6px;margin:0;display:grid}.home-demo figcaption{color:var(--muted);font-size:12px}.home-demo figcaption b{color:var(--ink)}.home-panel{border-radius:var(--r-xl);background:var(--teal);color:#fff;align-content:start;gap:18px;min-height:560px;padding:28px;display:grid;position:sticky;top:12px}.home-panel-head{align-items:center;gap:16px;display:flex}.home-panel-icon{width:56px;height:56px;color:var(--ochre);border:1.5px solid #e8b94ab3;border-radius:50%;flex:none;place-items:center;display:grid}.home-panel-head h1{letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(28px,3vw,40px)}.home-panel-head p{color:#fffaf0c7;margin:4px 0 0}.section-body{align-content:start;gap:14px;display:grid}.section-card{border-radius:var(--r-lg);background:var(--canvas);color:var(--ink);gap:14px;padding:20px;display:grid}.section-card h3{margin:0;font-size:18px}.coming-soon ul{gap:6px;margin:0;padding-left:20px;display:grid}.coming-soon .soon-badge{justify-self:start}@media (width<=860px){.home-main{grid-template-columns:1fr}.home-panel{order:2;min-height:0;padding:20px;position:static}.home-menu-col{display:contents}.home-player,.home-menu{order:1}.home-demo{order:3}}.lobby-choice{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.choice-card{border-radius:var(--r-lg);color:#fff;text-align:left;cursor:pointer;background:#fffaf00f;border:1.5px solid #fffaf02e;justify-items:start;gap:4px;padding:18px;transition:background .15s,border-color .15s;display:grid}.choice-card:hover{border-color:#fffaf080}.choice-card.on{background:var(--canvas);border-color:var(--ochre);color:var(--ink)}.choice-icon{width:44px;height:44px;color:var(--ochre);background:#e8b94a2e;border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.choice-card.on .choice-icon{background:var(--teal)}.choice-card b{font-family:var(--font-display);font-size:18px;font-weight:500}.choice-card small{opacity:.8;font-size:13px}.field-label{font-size:13px;font-weight:600}.map-tile .map-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.map-facts>span{align-items:center;gap:4px;display:inline-flex}.map-facts svg{color:var(--muted)}.map-tile .layout-hint{display:none}.account-loading{min-height:68px}.account-welcome{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.account-welcome-text b{font-family:var(--font-display);letter-spacing:-.3px;font-size:18px;font-weight:500}.account-welcome-text p{color:var(--muted);margin:4px 0 0;font-size:13px}.account-welcome-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-guest-row{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.account-picture{object-fit:cover;border-radius:50%;flex:none}.account-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.join-as{margin:0;font-weight:600}.signin{gap:14px;display:grid}.signin-lead{color:var(--muted);margin:0;font-size:14px}.signin-providers{gap:8px;display:grid}.signin-provider{justify-content:flex-start;gap:12px;width:100%}.signin-email{gap:10px;display:grid}.signin-email .btn.big{width:100%}.signin-sent{margin:0;font-size:14px}.signin-code{letter-spacing:6px;font-variant-numeric:tabular-nums;font-size:22px}.signin-error{color:var(--error);margin:0;font-size:13px}.signin-email-links{justify-content:space-between;gap:8px;display:flex}.signin-more{justify-self:center}.account-chip{border:1px solid var(--line);background:var(--canvas);max-width:180px;height:36px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 4px;font-size:13px;font-weight:600;display:inline-flex}.account-chip:hover{border-color:var(--ink)}.account-chip .avatar-mark{display:none}.account-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-guest-note{color:var(--muted);font-size:12px}@media (width<=560px){.account-chip-name{display:none}.account-chip{padding:0 4px}}.profile-main{gap:20px;padding:8px 0 64px;display:grid}.profile-back{justify-self:start}.profile-hero{border-radius:var(--r-xl);background:var(--surface-card);grid-template-columns:auto minmax(0,1fr) minmax(220px,320px) auto;align-items:center;gap:20px;padding:28px;display:grid}.profile-who h1{font-family:var(--font-display);letter-spacing:-.5px;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:500;line-height:1.15}.profile-signed-in{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 0;font-size:14px;display:flex}.profile-signed-in .btn{border:1px solid var(--line);height:28px;padding:0 10px}.profile-level{gap:6px;display:grid}.profile-level-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;display:flex}.profile-level-head b{font-family:var(--font-display);font-size:20px;font-weight:500}.profile-bar{background:var(--surface-strong);border-radius:999px;height:10px;overflow:hidden}.profile-bar span{border-radius:inherit;background:var(--ochre);height:100%;display:block}.profile-bar.on-dark{background:#ffffff2e}.profile-bar.on-dark span{background:var(--mint)}.profile-empty{border-radius:var(--r-lg);border:1px dashed var(--line);color:var(--body);margin:0;padding:16px 20px}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.profile-card{border-radius:var(--r-xl);color:var(--ink);align-content:start;gap:16px;padding:28px;display:grid}.profile-card h2{color:inherit;font-family:var(--font-display);letter-spacing:-.3px;margin:0;font-size:22px;font-weight:500}.profile-card.profile-dark{background:var(--teal);color:#fff}.profile-card.tone-lavender{background:var(--lavender)}.profile-card.tone-peach{background:var(--peach)}.profile-big{display:grid}.profile-big b{font-family:var(--font-display);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:56px;font-weight:500;line-height:1}.profile-big span,.profile-stat span{opacity:.8;font-size:13px}.profile-split{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.profile-stat{display:grid}.profile-stat b{font-variant-numeric:tabular-nums;font-size:22px}.profile-card-sub{margin:-8px 0 0;font-size:14px}.profile-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.profile-cards li{grid-template-columns:28px 76px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:14px;display:grid}.profile-cards li b{text-align:right;font-variant-numeric:tabular-nums;min-width:3ch}.profile-cards-bar{background:#0a0a0a1f;border-radius:999px;height:8px;overflow:hidden}.profile-cards-bar span{border-radius:inherit;background:var(--ink);height:100%;display:block}.profile-card-note{opacity:.75;font-size:12px}.profile-xp-how{margin:0}@media (width<=1024px){.profile-grid{grid-template-columns:1fr 1fr}.profile-hero{grid-template-columns:auto minmax(0,1fr)}.profile-level{grid-column:1/-1}}@media (width<=680px){.profile-grid{grid-template-columns:1fr}.profile-hero{padding:20px}.profile-who h1{font-size:24px}}.lang-menu{position:relative}.lang-button{background:var(--surface-card);height:34px;color:var(--ink);letter-spacing:.5px;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:4px;padding:0 10px 0 12px;font-size:12px;font-weight:700;display:inline-flex}.lang-button:hover,.lang-button[aria-expanded=true]{background:var(--surface-strong)}.lang-list{z-index:40;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;min-width:170px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0a0a0a1f}.lang-list button{border-radius:var(--r-sm);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.lang-list button b{width:22px;color:var(--muted);font-size:12px}.lang-list button:hover,.lang-list button.on{background:var(--surface-card)}.lang-list button.on b{color:var(--ink)}.terra{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.terra-icon{object-fit:contain;filter:drop-shadow(0 0 2px #b07912)drop-shadow(0 0 4px #f6cb6580);flex:none;display:inline-block}.terra-pill{background:var(--surface-card);border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 3px 0 12px;font-size:13px;display:inline-flex}.profile-terra{justify-items:start;gap:6px;display:grid}.profile-terra-amount{font-family:var(--font-display);font-size:26px;font-weight:500}.profile-terra-amount .terra-icon{width:15px;height:25px}.profile-period{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-ach{border-radius:var(--r-xl);background:var(--surface-soft);border:1px solid var(--hairline);gap:16px;padding:28px;display:grid}.profile-ach-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.profile-ach-head h2{font-family:var(--font-display);letter-spacing:-.5px;margin:0;font-size:26px;font-weight:500}.profile-ach-head p{margin:2px 0 0}.profile-ach-filters{flex-wrap:wrap;gap:8px;display:flex}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ach{--ach-tint:var(--surface-strong);--ach-hex:#c9c2ad;--ach-star:#fffaf0;border-radius:var(--r-lg);background:var(--canvas);border:1px solid var(--hairline);grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.ach.rarity-common{--ach-tint:var(--surface-card);--ach-hex:#8a8172}.ach.rarity-rare{--ach-tint:var(--mint);--ach-hex:#2e8cb7}.ach.rarity-epic{--ach-tint:var(--lavender);--ach-hex:#7a5cd6}.ach.rarity-legendary{--ach-tint:var(--ochre);--ach-hex:#c98a12}.ach.done{background:var(--ach-tint);border-color:#0000}.ach-hex{fill:var(--ach-hex)}.ach-star{fill:var(--ach-star)}.ach-veil{fill:var(--canvas);opacity:.62}.ach-text{gap:2px;min-width:0;display:grid}.ach-text b{font-size:15px}.ach-rarity{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.ach-desc{color:var(--body);font-size:13px}.ach-when{color:var(--muted);font-size:12px}.ach-progress{color:var(--muted);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:grid}.ach-progress-bar{background:var(--surface-strong);border-radius:999px;height:6px;overflow:hidden}.ach-progress-bar span{background:var(--ink);height:100%;display:block}.ach-reward{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}:root[data-theme=dark] .ach.done{--ink:#0a0a0a;--body:#3a3a3a;--muted:#5d5d5d;color:var(--ink)}@media (width<=1024px){.profile-terra{grid-column:1/2}}@media (width<=680px){.profile-ach{padding:18px}}:root{--terra-gold:#e0a812;--terra-gold-ink:#9a6a00}:root[data-theme=dark]{--terra-gold:#f4c561;--terra-gold-ink:#f4c561}.terra.rich,.ach:not(.done) .ach-reward{color:var(--terra-gold-ink)}.btn.topup{color:#2a1d00;background:linear-gradient(#f6cf5c,#e0a812);border-color:#c99208}.btn.topup:hover:not(:disabled){background:linear-gradient(#f8d873,#e8b120)}.btn.topup.icon-only{border-radius:999px;width:28px;height:28px}.profile-terra-row{align-items:center;gap:10px;display:inline-flex}.lobby-actions{flex-wrap:wrap;gap:8px;display:flex}.btn.lobby-action{color:#fff;background:#fffaf014;border-color:#fffaf038}.btn.lobby-action:hover:not(:disabled),.btn.lobby-action.on{background:var(--canvas);border-color:var(--canvas);color:var(--ink)}.open-rooms{gap:12px;display:grid}.open-rooms-head{align-items:center;gap:10px;display:flex}.open-rooms-head h2{font-family:var(--font-display);letter-spacing:-.3px;color:#fff;margin:0;font-size:22px;font-weight:500}.open-rooms-count{color:#fff;background:#fffaf01f;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.btn.open-rooms-refresh{color:#fff;margin-left:auto}.btn.open-rooms-refresh:hover:not(:disabled){background:#fffaf01f}.open-rooms-note{color:#ffffffbf;margin:0}.open-rooms-empty{border-radius:var(--r-lg);color:#ffffffd9;border:1.5px dashed #fffaf047;justify-items:start;gap:12px;padding:24px;display:grid}.open-rooms-empty p{margin:0}.room-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-row{border-radius:var(--r-lg);background:var(--canvas);color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.room-row-main{gap:3px;min-width:0;display:grid}.room-mode{background:var(--surface-strong);letter-spacing:.6px;text-transform:uppercase;border-radius:999px;justify-self:start;padding:2px 10px;font-size:11px;font-weight:700}.room-mode.preset-sea{background:#cfe6f2}.room-mode.preset-knights{background:var(--lavender)}.room-mode.preset-seaKnights{background:var(--peach)}.room-row-map{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.room-row-meta{color:var(--muted);font-size:13px}.room-seats{font-variant-numeric:tabular-nums;justify-items:center;gap:4px;font-size:13px;font-weight:600;display:grid}.room-seat-dots{gap:3px;display:flex}.room-seat-dots i{border:1.5px solid var(--line);border-radius:50%;width:9px;height:9px}.room-seat-dots i.human{background:var(--ink);border-color:var(--ink)}.room-seat-dots i.bot{background:var(--muted-soft);border-color:var(--muted-soft)}:root[data-theme=dark] .room-mode{color:#0a0a0a}@media (width<=560px){.room-row{grid-template-columns:minmax(0,1fr) auto}.room-row .btn{grid-column:1/-1}}.paint-defs{width:0;height:0;position:absolute;overflow:hidden}.swatch.rare-first{margin-left:10px}.swatch.rare{position:relative}.swatch.rare:after{content:"";background:var(--terra-gold);width:7px;height:7px;box-shadow:0 0 0 1.5px var(--canvas);border-radius:50%;position:absolute;top:1px;right:1px}.account-name-row{align-items:center;gap:6px;min-width:0;display:flex}.account-rename{border:1px solid var(--line);background:var(--canvas);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;place-items:center;display:inline-grid}.account-rename:hover{border-color:var(--ink)}.guest-rename{gap:16px;display:grid}.guest-rename p{margin:0}.room-tags{flex-wrap:wrap;gap:6px;display:flex}.room-mode.ranked{background:var(--terra-gold);color:#2a1d00}.lb-modes{overflow-x:auto}.lb-signin{border-radius:var(--r-lg);color:#fff;border:1.5px dashed #fffaf04d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.lb-table{border-collapse:collapse;width:100%;font-size:14px}.lb-table th{text-align:left;color:var(--muted);padding:0 8px 8px;font-size:12px;font-weight:600}.lb-table td{border-top:1px solid var(--hairline);padding:8px}.lb-table .num{text-align:right;font-variant-numeric:tabular-nums}.lb-place{font-variant-numeric:tabular-nums;width:3ch;font-weight:700}.lb-table tr.top-1 .lb-place{color:var(--terra-gold-ink)}.lb-table tr.you td{background:var(--surface-card)}.lb-table tr.gap td{border-top:2px dashed var(--line)}.lb-player{align-items:center;gap:8px;min-width:0;display:inline-flex}.lb-player .avatar-mark{display:none}.lb-rating{font-weight:700}.lb-you{margin:10px 0 0}.lb-how{color:#ffffffbf}@media (width<=480px){.lb-table .hide-xs{display:none}}.open-room-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.open-room-filters label{color:var(--muted);gap:4px;font-size:11px;display:grid}.open-room-filters select{width:100%;min-width:0}@media (width<=800px){.open-room-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-nav{background:var(--surface-soft);border:1px solid var(--line);border-radius:15px;gap:6px;width:fit-content;max-width:100%;margin:0 0 18px;padding:5px;display:flex;overflow-x:auto}.profile-nav button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;padding:10px 16px;font-weight:700}.profile-nav button:hover{color:var(--ink);background:var(--surface-card)}.profile-nav button.active{background:var(--ink);color:var(--canvas)}.profile-medals{flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px;display:flex}.pixel-medal{image-rendering:pixelated;background-repeat:no-repeat;background-size:400% 400%;flex:none;display:inline-block}.profile-medal{background:var(--surface);border:1px solid var(--line);border-radius:10px;display:inline-flex}.profile-add-medal{border:1px dashed var(--muted-soft);color:var(--body);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:8px 10px;font-size:12px}.profile-add-medal:hover{border-color:var(--ink);color:var(--ink)}.ach-badge{place-items:center;display:grid}.ach:not(.done) .pixel-medal{opacity:.68}.ach-feature{grid-column:2/-1;justify-self:start;margin-top:4px}.xp-dashboard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:18px 0;padding:22px 24px}.xp-dashboard>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.xp-dashboard h2,.friends-panel h2,.profile-accessories h2{font-family:var(--font-display);margin:4px 0;font-size:22px}.xp-dashboard header p,.friends-panel header p,.profile-accessories p{color:var(--muted);margin:0;font-size:13px}.xp-eyebrow{color:var(--growth);letter-spacing:.1em;font-size:10px;font-weight:800}.xp-total{white-space:nowrap;color:var(--growth)}.xp-total strong{font-family:var(--font-display);font-size:32px}.xp-chart{gap:clamp(4px,1.5vw,18px);height:155px;margin-top:22px;display:flex}.xp-chart-column{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.xp-chart-track{border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top, transparent 0, transparent 40px, var(--line) 41px, transparent 42px);align-items:end;height:125px;display:flex}.xp-chart-bar{background:linear-gradient(#8fbf6b,#3e7d4a);border-radius:4px 4px 0 0;width:100%;min-width:2px}.xp-chart-column small{white-space:nowrap;color:var(--muted);margin-top:5px;font-size:10px;overflow:visible}.xp-chart-column:last-child small{text-align:right}.xp-empty{background:var(--surface-soft);border:1px dashed var(--line);min-height:126px;color:var(--muted);text-align:center;border-radius:12px;place-items:center;margin-top:18px;padding:20px;font-size:13px;display:grid}.xp-chart-details{color:var(--muted);font-size:12px}.xp-chart-details summary{cursor:pointer}.xp-chart-details ul{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:4px;padding-left:20px;display:grid}.friends-panel,.profile-accessories{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}.profile-accessories{text-align:center;padding:46px 24px}.accessory-emblem{background:var(--surface-card);width:68px;height:68px;color:var(--growth);border-radius:20px;place-items:center;margin-bottom:12px;font-size:32px;display:inline-grid}.friend-search{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.friend-search input{border:1px solid var(--line);min-width:160px;font:inherit;border-radius:10px;flex:1;padding:10px 12px}.friends-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;display:grid}.friends-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.friends-group h3{margin:0 0 14px;font-size:15px}.friends-group h3 span{color:var(--muted);font-size:12px}.friends-group>p{margin:0;font-size:13px}.friends-group ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.friends-group li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.friends-group li b{overflow-wrap:anywhere;flex:1;min-width:90px}.friends-avatar{color:#fff;background:#3e7d4a;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.friends-actions{flex-wrap:wrap;gap:4px;display:flex}.friends-error{color:var(--error)}@media (width<=640px){.profile-nav{width:100%}.profile-nav button{padding:9px 12px}.xp-dashboard,.friends-panel{padding:17px}.xp-dashboard>header{flex-wrap:wrap}}.medal-frame{--metal:#a65f35;--metal-light:#eab37b;--metal-dark:#63341e;border:3px solid var(--metal);outline:1px solid var(--metal-dark);outline-offset:-1px;background:linear-gradient(135deg, var(--metal-light), var(--metal) 55%, var(--metal-dark));box-shadow:inset 0 0 0 2px var(--metal-light), 0 2px 0 var(--metal-dark);border-radius:25%;flex:none;padding:4px;display:inline-flex;position:relative}.medal-frame:before,.medal-frame:after{content:"";z-index:1;background:var(--metal-light);width:4px;height:4px;box-shadow:1px 1px 0 var(--metal-dark);position:absolute}.medal-frame:before{top:2px;left:2px}.medal-frame:after{bottom:2px;right:2px}.medal-frame.medal-rare{--metal:#9baab1;--metal-light:#f1f7f5;--metal-dark:#51626d}.medal-frame.medal-epic{--metal:#d29b29;--metal-light:#ffdf80;--metal-dark:#80600e}.medal-frame.medal-legendary{--metal:#7acfe2;--metal-light:#edffff;--metal-dark:#2b7190;box-shadow:inset 0 0 0 2px var(--metal-light), 0 2px 0 var(--metal-dark), 0 0 10px #85dff788}.medal-frame .pixel-medal{border-radius:18%;width:100%;height:100%}.ach{grid-template-columns:64px minmax(0,1fr) auto}.ach-feature{color:#fffaf0;font:inherit;cursor:pointer;background:#1b3a2e;border:1px solid #1b3a2e;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.ach-feature.selected{color:var(--ink);background:0 0;border-color:currentColor}.ach-feature:disabled{opacity:.6;cursor:wait}.medal-frame{box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;padding:0}.medal-frame.medal-legendary{box-shadow:none}.medal-frame:before,.medal-frame:after{display:none}.medal-frame .pixel-medal{isolation:isolate;border-radius:0;position:relative}.pixel-medal:after{content:"";background:var(--medal-tint,#a45f36);mix-blend-mode:color;pointer-events:none;-webkit-mask-image:radial-gradient(circle, transparent 42%, #000 63%), var(--medal-image);mask-image:radial-gradient(circle, transparent 42%, #000 63%), var(--medal-image);-webkit-mask-size:100% 100%,400% 400%;mask-size:100% 100%,400% 400%;-webkit-mask-position:center, var(--medal-position);mask-position:center, var(--medal-position);position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}.medal-rare{--medal-tint:#bdc7d0}.medal-epic{--medal-tint:#f2c34e}.medal-legendary{--medal-tint:#80d9ff}.profile-nav{margin:0}.profile-medals{align-items:stretch;gap:10px;margin-top:14px}.profile-medal-slot{border:1px solid var(--line);background:var(--surface);width:90px;height:90px;color:var(--body);font:inherit;text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:5px;font-size:10px;line-height:1.15;display:flex}.profile-medal-slot:hover:not(:disabled){border-color:var(--ink)}.profile-medal-slot.empty{border:1px dashed var(--muted-soft)}.profile-medal-slot .slot-plus{color:var(--muted);font-size:28px;line-height:1}.profile-medal-slot .slot-lock{color:var(--muted);font-size:22px;line-height:1}.profile-medal-slot.locked b{color:var(--terra-gold-ink);align-items:center;gap:3px;font-size:13px;display:inline-flex}.profile-medal-slot:disabled{cursor:not-allowed;opacity:.7}.profile-medal-slot.filled{padding:4px}.ach:not(.done) .medal-frame{filter:grayscale();opacity:.82}.ach:not(.done) .ach-reward{color:var(--ink)}.ach.done .ach-reward{color:#845900}:root[data-theme=dark] .ach:not(.done){--ink:#161b18;--body:#374039;--muted:#59625c;color:var(--ink);background:#e9e5d9}.xp-dashboard{padding:24px 28px 26px}.xp-dashboard-head{align-items:flex-start}.xp-dashboard h2{letter-spacing:-.025em;font-weight:650}.xp-dashboard header p{margin-top:4px}.xp-total{color:#397b54;text-align:right;grid-template-columns:auto auto;align-items:baseline;gap:0 5px;display:grid}.xp-total strong{font-size:30px;line-height:1}.xp-total small{color:var(--muted);grid-column:1/-1;margin-top:6px;font-size:11px}.xp-insight{min-height:50px;color:var(--muted);background:var(--surface-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px 14px;margin:22px 0 14px;padding:10px 13px;font-size:12px;display:flex}.xp-insight strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.xp-insight small{color:var(--muted)}.xp-plot{gap:12px;display:flex}.xp-axis{width:44px;color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:0 0 25px;font-size:10px;display:flex}.xp-plot-content{flex:1;min-width:0}.xp-bars{border-bottom:1px solid var(--line);background:linear-gradient(to bottom, var(--line) 1px, transparent 1px), linear-gradient(to bottom, transparent calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px));align-items:stretch;gap:clamp(4px,1.1vw,14px);height:180px;display:flex}.xp-bar-button{cursor:pointer;background:0 0;border:0;border-radius:7px 7px 0 0;flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;padding:0;display:flex;position:relative}.xp-bar-button:hover,.xp-bar-button:focus-visible,.xp-bar-button.active{background:#6a9e791f;outline:none}.xp-bar-button:focus-visible{box-shadow:inset 0 0 0 2px #397b54}.xp-bar-fill{background:#79a67d;border-radius:5px 5px 0 0;width:min(80%,44px);transition:background .15s,height .2s;display:block}.xp-bar-button.active .xp-bar-fill{background:#2e7952}.xp-axis-dates{color:var(--muted);justify-content:space-between;gap:5px;padding-top:7px;font-size:10px;display:flex}.profile-medal-slot.filled{background:0 0;border:0;padding:0}.profile-medal-slot.filled:hover:not(:disabled){filter:brightness(1.12)}.profile-medal-slot.filled:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.pixel-medal.single{background-size:contain}.pixel-medal.single:after{-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%}.medal-detail{align-items:center;gap:20px;padding:16px 0;display:flex}.medal-detail-copy{gap:8px;min-width:0;display:grid}.medal-detail-copy p{margin:0;font-size:15px;line-height:1.45}.medal-detail-copy small{color:var(--muted)}.medal-rarity{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.medal-detail-reward{color:var(--terra-gold-ink);font-size:13px;font-weight:700}.medal-detail-actions{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.public-profile-hero{grid-template-columns:auto minmax(0,1fr) auto}.public-profile-count{color:var(--muted);justify-items:end;font-size:12px;display:grid}.public-profile-count strong{color:var(--ink);font-size:28px}.public-profile-intro{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:24px}.public-profile-intro h2{margin:0 0 6px}.public-profile-intro p{color:var(--muted)}.public-ach-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.public-ach-card{border:1px solid var(--line);text-align:left;background:var(--surface);width:100%;min-height:96px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.public-ach-card:hover{border-color:var(--ink)}.public-ach-card>span:nth-child(2){flex:1;gap:4px;display:grid}.public-ach-card small{color:var(--muted)}.friend-profile-link{text-align:left;min-width:90px;color:var(--ink);font:inherit;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-weight:700}.friend-profile-link:hover{text-decoration:underline}@media (width<=680px){.xp-dashboard{padding:18px}.xp-plot{gap:6px}.xp-axis{width:34px}.xp-bars{height:145px}.medal-detail{gap:12px}.public-profile-hero{grid-template-columns:auto minmax(0,1fr)}.public-profile-count{grid-column:2;justify-items:start}}.pixel-medal.single:after{display:none}.medal-frame.medal-epic,.medal-frame.medal-legendary{place-items:center;display:grid}.ach.rarity-exclusive{--ach-tint:#e8d9f6;--ach-hex:#7b3bb2}.medal-id-foundingFather .pixel-medal{animation:3.5s ease-in-out infinite founder-glimmer}@keyframes founder-glimmer{0%,to{filter:drop-shadow(0 0 2px #933bce99)}50%{filter:drop-shadow(0 0 8px #d983ff)brightness(1.13)}}@media (prefers-reduced-motion:reduce){.medal-id-foundingFather .pixel-medal{animation:none}}.medal-frame .pixel-medal{image-rendering:auto}.ach:not(.done) .medal-frame,.ach:not(.done) .pixel-medal{opacity:1}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.ach{flex-direction:column;align-items:stretch;gap:0;padding:12px;display:flex}.ach-open{width:100%;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1;align-items:center;gap:10px;padding:0;display:flex}.ach-open:hover .medal-frame{transform:translateY(-3px)}.ach-open:focus-visible{outline-offset:4px;outline:2px solid}.ach-open .medal-frame{transition:transform .18s}.ach-card-top{justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:18px;display:flex}.ach-card-top .ach-rarity{letter-spacing:.06em;font-size:9px}.ach-card-name{text-align:center;min-height:38px;font-size:14px;line-height:1.3}.ach-open .ach-progress{width:100%;margin:0}.ach .ach-feature{align-self:center;margin:12px 0 0}@media (width<=480px){.ach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ach{padding:10px}}.logo .logo-wordmark{width:132px;height:auto;display:block}:root[data-theme=dark] .logo .logo-wordmark{filter:brightness(0)invert(96%)sepia(7%)saturate(530%)hue-rotate(340deg)}.medal-locked{filter:grayscale()}.medal-id-foundingFather:not(.medal-locked) .pixel-medal{animation:3.2s ease-in-out infinite founder-glimmer-bright}.medal-id-foundingFather.medal-locked .pixel-medal{animation:none}.founder-sparkles{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:visible}.founder-gem{background:radial-gradient(circle,#fff 0%,#ffeaff 12%,#ef8cff 30%,#a231ff99 55%,#0000 72%);border-radius:50%;width:12%;height:12%;animation:2.8s ease-in-out infinite founder-gem-sparkle;position:absolute;translate:-50% -50%;box-shadow:0 0 8px 3px #d957ffb3,0 0 16px 4px #9d35f066}.founder-gem:before,.founder-gem:after{content:"";background:linear-gradient(90deg,#0000,#fff7ff,#0000);position:absolute;top:50%;left:50%;translate:-50% -50%}.founder-gem:before{width:170%;height:12%}.founder-gem:after{background:linear-gradient(#0000,#fff7ff,#0000);width:12%;height:170%}.gem-top{top:10%;left:50%}.gem-left{animation-delay:-.7s;top:49%;left:10%}.gem-right{animation-delay:-1.4s;top:49%;left:90%}.gem-bottom{animation-delay:-2.1s;top:89%;left:50%}@keyframes founder-gem-sparkle{0%,to{opacity:.35;transform:scale(.55)rotate(0)}45%{opacity:1;transform:scale(1.25)rotate(12deg)}60%{opacity:.8;transform:scale(.9)rotate(20deg)}}@keyframes founder-glimmer-bright{0%,to{filter:drop-shadow(0 0 3px #a63bdfb3)}50%{filter:drop-shadow(0 0 9px #e07aff)brightness(1.13)}}@media (prefers-reduced-motion:reduce){.medal-id-foundingFather:not(.medal-locked) .pixel-medal,.founder-gem{animation:none}.founder-gem{opacity:.6}}.logo-emblem{object-fit:contain;flex:none;display:block}:root:not([data-theme=dark]) :is(.home-panel,.home-menu .menu-item.on){--home-olive-ink:#101a0c;color:var(--home-olive-ink);background:#749045}:root:not([data-theme=dark]) .home-menu .menu-item.on{border-color:#749045}:root:not([data-theme=dark]) .home-menu .menu-item.on .menu-text small{color:#101a0c}:root:not([data-theme=dark]) .home-menu .menu-item.on .menu-icon{color:#28341d;background:#e6d2a2}:root:not([data-theme=dark]) .home-panel-head :is(h1,p),:root:not([data-theme=dark]) .home-panel-head p{color:#101a0c}:root:not([data-theme=dark]) .home-panel-icon{color:#28341d;background:#e6d2a2;border-color:#344b28}:root:not([data-theme=dark]) .home-panel :is(.open-rooms-head h2,.open-rooms-count,.btn.open-rooms-refresh,.open-rooms-note,.open-rooms-empty,.open-room-filters label,.lb-how){color:#101a0c}:root:not([data-theme=dark]) .home-panel .open-rooms-count{background:#101a0c1f}:root:not([data-theme=dark]) .home-panel .open-rooms-empty{border-color:#101a0c80}:root:not([data-theme=dark]) .home-panel .btn.lobby-action{color:#101a0c;background:#fffaf047;border-color:#101a0c73}:root:not([data-theme=dark]) .home-panel .btn.lobby-action:hover:not(:disabled),:root:not([data-theme=dark]) .home-panel .btn.lobby-action.on{color:#101a0c;background:#fffaf0;border-color:#101a0c}:root:not([data-theme=dark]) .home-panel .btn.open-rooms-refresh:hover:not(:disabled){background:#101a0c1f}.medal-frame.medal-epic:not(.medal-locked) .pixel-medal{filter:drop-shadow(0 0 4px #d5a03966)}.medal-frame.medal-legendary:not(.medal-locked) .pixel-medal{filter:drop-shadow(0 0 5px #6bcdea88)}.ranked-switch-row{align-items:flex-start;gap:10px;display:flex}.ranked-switch-row .toggle{flex:1;min-width:0}.ranked-info-button{width:26px;height:26px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ranked-info-button:hover{color:var(--ink)}.ranked-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ranked-score-grid section{background:var(--surface-card);border-radius:12px;padding:14px}.ranked-score-grid h3{margin:0 0 10px;font-size:16px}.ranked-score-grid ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ranked-score-grid li{justify-content:space-between;gap:8px;display:flex}.open-rooms-head{flex-wrap:wrap}.open-rooms-head .segmented{max-width:100%}@media (width<=800px){.open-room-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.open-rooms-head h2{order:0}.open-rooms-head .open-rooms-refresh{order:1}.open-rooms-head .segmented{order:2}.open-rooms-head .segmented.sm button{padding-inline:6px}.open-rooms-head .open-rooms-count{order:3}.ranked-score-grid{grid-template-columns:1fr}}.season-banner{--season-deep:#142e39;--season-mid:#28586a;--season-light:#c5d5ce;--season-accent:#e6c98a;--season-face:Georgia, "Times New Roman", serif;isolation:isolate;border:2px solid var(--season-accent);background:linear-gradient(125deg, var(--season-deep) 22%, var(--season-mid));color:#fff9eb;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:22px;min-height:176px;padding:25px 30px;display:flex;position:relative;overflow:hidden}.season-banner:before{content:"";z-index:-1;border:1px solid color-mix(in srgb, var(--season-accent) 48%, transparent);pointer-events:none;border-radius:12px;position:absolute;inset:7px}.season-banner:after{content:"";z-index:-1;border:1px solid color-mix(in srgb, var(--season-light) 30%, transparent);width:320px;height:160px;box-shadow:0 -15px 0 -14px var(--season-light), 0 -31px 0 -30px var(--season-light), 0 -47px 0 -46px var(--season-light);opacity:.36;pointer-events:none;border-radius:50%;position:absolute;bottom:-82px;right:12%;transform:rotate(-8deg)}.season-banner-copy{max-width:540px}.season-number{color:var(--season-accent);font-size:13px;font-weight:750}.season-banner h2{color:#fff9eb;font:700 clamp(26px, 3vw, 38px)/1.05 var(--season-face);letter-spacing:-.02em;margin:7px 0 9px}.season-banner p{color:#edf1e9;max-width:45ch;margin:0;font-size:13px;line-height:1.45}.season-time{border-left:1px solid color-mix(in srgb, var(--season-accent) 58%, transparent);color:#edf1e9;gap:3px;min-width:150px;padding-left:18px;font-size:12px;display:grid}.season-time strong{color:var(--season-accent);font:700 32px/1 var(--season-face);font-variant-numeric:tabular-nums}.season-time strong small{font:600 13px/1.2 system-ui,sans-serif}.season-frost{--season-deep:#263c4e;--season-mid:#597f94;--season-light:#d6eef5;--season-accent:#d5eaf0}.season-bloom{--season-deep:#233d32;--season-mid:#647d50;--season-light:#e7eac7;--season-accent:#d7d990;--season-face:"Palatino Linotype", Palatino, serif}.season-voyage{--season-deep:#173a42;--season-mid:#3a7774;--season-light:#b6ddd4;--season-accent:#d9bd83;--season-face:"Trebuchet MS", sans-serif}.season-sun{--season-deep:#614b26;--season-mid:#a07b3e;--season-light:#f8e6af;--season-accent:#ffe3a1;--season-face:"Palatino Linotype", Palatino, serif}.season-harvest{--season-deep:#503522;--season-mid:#8f653c;--season-light:#e0cb9b;--season-accent:#f2d18b}@media (width<=600px){.season-banner{gap:16px;padding:23px}.season-banner:after{right:-150px}.season-time{border-left:0;border-top:1px solid color-mix(in srgb, var(--season-accent) 58%, transparent);grid-template-columns:auto auto;align-items:center;width:100%;padding:12px 0 0}.season-time strong{text-align:right;grid-row:span 2}}.season-frost{border-width:3px;border-radius:6px}.season-frost:before{border-style:dashed;border-radius:2px}.season-bloom{border-radius:32px 10px}.season-bloom:before{border-radius:25px 5px}.season-voyage{border-style:double;border-width:5px;border-radius:8px}.season-sun{border-radius:32px 32px 8px 8px}.season-harvest{border-style:double;border-width:5px;border-radius:24px 8px}.season-label{align-items:center;gap:9px;display:flex}.season-info-button{border:1px solid var(--season-accent);width:23px;height:23px;color:var(--season-accent);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font:700 14px/1 Georgia,serif;display:grid}.season-info-button:hover,.season-info-button:focus-visible{background:var(--season-accent);color:var(--season-deep)}.season-rewards-tabs{margin:12px 0;overflow-x:auto}.season-rewards-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.season-rewards-list li{text-align:center;background:#071b24cc;border:1px solid #ffffff26;border-radius:12px;align-content:center;justify-items:center;gap:12px;min-height:94px;padding:14px 6px;display:grid}.season-rewards-list li>span{font-size:12px}.season-reward-amount{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;font-size:22px;display:inline-flex}@media (width<=600px){.season-rewards-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.piece-paint-gold{animation:8s ease-in-out infinite gold-piece-shimmer}.piece-paint-rainbow{animation:12s linear infinite rainbow-piece-shimmer}@keyframes gold-piece-shimmer{0%,to{stop-color:var(--gold-dark)}50%{stop-color:var(--gold-light)}}@keyframes rainbow-piece-shimmer{0%,to{stop-color:#e8443a}16.667%{stop-color:#f39c2c}33.333%{stop-color:#f4d33c}50%{stop-color:#4cb85c}66.667%{stop-color:#3d8be0}83.333%{stop-color:#8a55d6}}@media (prefers-reduced-motion:reduce){.piece-paint-gold,.piece-paint-rainbow{animation:none!important}}.season-banner.season-storm{background:linear-gradient(90deg,#04141df7 0%,#051a22c7 39%,#071c231f 76%),linear-gradient(#0000 35%,#04151d7a),url(/art/season-storm-island.jpg) 50% 58%/cover;border-color:#d5b675;align-items:end;min-height:228px}.season-banner.season-storm:before{border-color:#e3cc9761}.season-banner.season-storm:after{display:none}.season-storm .season-banner-copy{max-width:410px}.season-storm .season-banner h2{text-shadow:0 2px 18px #0000008c;font-size:clamp(30px,3.2vw,40px)}.season-storm .season-time{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#051a22db;border:1px solid #e3cc976e;border-radius:10px;padding:11px 14px;position:relative}.season-modal{--season-deep:#142e39;--season-mid:#28586a;--season-accent:#e6c98a;color:#f7f3e8;background:linear-gradient(145deg, var(--season-deep), var(--season-mid));border:1px solid #a98d59;padding:28px;box-shadow:0 20px 70px #00000061,inset 0 0 0 5px #d8b97714}.season-modal.season-storm{background:linear-gradient(#04141c94 0%,#051920e0 39%,#0a222b 68%),url(/art/season-storm-island.jpg) top/100% no-repeat,#0a222b}.season-modal .modal-head{align-items:start}.season-modal .modal-head h2{color:#f8f1df;letter-spacing:.02em;font-size:14px;font-weight:600}.season-modal .modal-head .icon-btn{color:#f8f1df;background:#051a22b8;border:1px solid #e9d8ae61}.season-modal-hero{max-width:430px;padding:20px 0 25px}.season-modal-hero>span{color:var(--season-accent);font-size:13px;font-weight:700}.season-modal-hero h3{color:#fff8e9;text-shadow:0 2px 18px #0009;margin:7px 0 10px;font:700 clamp(29px,4vw,39px)/1.05 Georgia,Times New Roman,serif}.season-modal-hero p{color:#e8ece7;max-width:43ch;margin:0;font-size:14px;line-height:1.45}.season-modal-hero p+p{margin-top:14px}.season-modal .season-rewards-tabs{margin:0 0 16px}.season-modal .segmented{background:#05141bc2;border:1px solid #e6c98a45}.season-modal .segmented button{color:#e4ebe8}.season-modal .segmented button[aria-checked=true]{color:#182726;background:#e6c98a}.season-modal .season-rewards-list{background:0 0;border:0;gap:10px;margin:0;padding:0}.season-modal .season-rewards-list li{color:#f2f2e9;border:1px solid #ffffff26;min-height:94px;padding:14px 6px}.season-modal .season-rewards-list b{color:#f4d894}.season-modal .season-rewards-list .season-place-1{color:#ffe8ad;background:linear-gradient(145deg,#65501de6,#1a251ee6);border-color:#dbb458}.season-modal .season-rewards-list .season-place-1 b{color:#ffdc83}.season-modal .season-rewards-list .season-place-2{color:#edf2f7;background:linear-gradient(145deg,#45535fe6,#14262de6);border-color:#b8c4d0}.season-modal .season-rewards-list .season-place-2 b{color:#e2eaf1}.season-modal .season-rewards-list .season-place-3{color:#ffe1cb;background:linear-gradient(145deg,#67442ee6,#202623e6);border-color:#c58963}.season-modal .season-rewards-list .season-place-3 b{color:#edb087}.season-rewards-note{color:#ccd5d1;margin:15px 0 0;font-size:12px;line-height:1.45}@media (width<=600px){.season-banner.season-storm{background-position:50%,50%,63%;min-height:260px}.season-storm .season-time{border:1px solid #e3cc976e;width:100%;padding:10px 13px}.season-modal{padding:22px}.season-modal.season-storm{background-position:50%,64% 0,50%;background-size:auto,auto 255px,auto}.season-modal-hero{padding:12px 0 21px}}.shop{gap:18px;min-width:0;display:grid}.shop-intro{isolation:isolate;color:#fff8e9;background:linear-gradient(90deg,#061a20f2,#081f26c2 50%,#081f264d),url(/art/season-storm-island.jpg) 50% 56%/cover;border:1px solid #e2c176ad;border-radius:17px;justify-content:space-between;align-items:end;gap:18px;min-height:192px;padding:24px;display:flex;position:relative;overflow:hidden}.shop-intro h2{color:#fff8e9;margin:7px 0;font:700 clamp(25px,2.7vw,34px)/1.08 Georgia,serif}.shop-intro p{color:#e4ebe2;max-width:38ch;margin:0;font-size:14px}.shop-intro-label{color:#f2d692;font-size:12px;font-weight:700}.shop-balance{background:#051920cc;border:1px solid #e7cd9866;border-radius:10px;flex:none;gap:2px;min-width:128px;padding:10px 13px;display:grid}.shop-balance>span:first-child{color:#d8e4df;font-size:12px}.shop-balance .terra{color:#f5d68c;font-size:20px}.shop-tabs{flex-wrap:wrap;gap:6px;display:flex}.shop-tabs button{color:inherit;cursor:pointer;background:#051a1721;border:1px solid #0000;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:600}.shop-tabs button:hover{background:#051a1740}.shop-tabs button.on{color:#16251d;background:#f8f2df;border-color:#e6d4a5}.shop-demo-notice{color:#fff;background:#05181642;border-left:3px solid #ddbd70;border-radius:0 9px 9px 0;margin:0;padding:11px 14px;font-size:13px}.shop-section{gap:16px;display:grid}.shop-section-title{justify-content:space-between;align-items:end;gap:12px;display:flex}.shop-section-title h2{color:inherit;font-size:23px}.shop-section-title p{opacity:.85;max-width:60ch;margin:5px 0 0;font-size:13px}.shop-section-title>span{white-space:nowrap;opacity:.8;font-size:12px}.shop-plans,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.shop-plan{color:#f9f4e7;background:#213c32;border:1px solid #b79d63;border-radius:16px;align-content:start;justify-items:start;gap:9px;min-height:270px;padding:20px;display:grid;position:relative;overflow:hidden}.shop-plan-captain{background:linear-gradient(145deg,#303054,#1c253c 75%);border-color:#a9a0cf}.shop-plan h3{color:#fffaf0;margin:0;font:700 25px/1.1 Georgia,serif}.shop-plan p{color:#e1e8da;max-width:30ch;min-height:60px;margin:0;font-size:13px}.shop-plan-symbol{color:#e2c98d26;pointer-events:none;font:130px/1 Georgia,serif;position:absolute;top:-20px;right:15px}.shop-tag{color:#f5d18b;font-size:11px;font-weight:750}.shop-plan-note{color:#e8ddbd;font-size:12px}.shop-action,.shop-item-button,.shop-more{cursor:pointer;border-radius:9px;font-weight:700}.shop-action{color:#18251e;background:#ead19a;border:1px solid #ead19a;margin-top:5px;padding:9px 16px}.shop-action:hover{background:#fff1ce}.shop-item{border:1px solid var(--line);background:var(--canvas);min-width:0;color:var(--ink);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.shop-art{justify-content:center;align-items:center;height:156px;display:flex;position:relative;overflow:hidden}.shop-map-art{background:#1b3e51}.shop-map-art>svg{pointer-events:none;width:100%;height:100%}.shop-piece-art{background:linear-gradient(140deg,#29493a,#182d25);gap:8px}.shop-art-rainbow{background:linear-gradient(140deg,#323652,#25243c)}.shop-art-black{background:linear-gradient(140deg,#414a42,#222b29)}.shop-art-white{background:linear-gradient(140deg,#7b856c,#465647)}.shop-piece-art svg:first-child{width:90px;height:90px}.shop-piece-art svg:nth-child(2){width:64px;height:64px}.shop-terra-art{color:#f6c75e;background:radial-gradient(circle,#76612f,#203b31 70%)}.shop-terra-art.tier-1{background:radial-gradient(circle,#998046,#274641 70%)}.shop-terra-art.tier-2{background:radial-gradient(circle,#8e7440,#2b334b 70%)}.shop-terra-art.tier-3{background:radial-gradient(circle,#b08b4a,#493b30 70%)}.shop-terra-art span{color:#f4d591;margin:-64px 0 0 58px;font-size:22px;position:absolute}.shop-item-body{flex-direction:column;flex:1;align-items:start;gap:7px;padding:16px;display:flex}.shop-item-kind{color:var(--muted);font-size:11px;font-weight:700}.shop-item h3{color:var(--ink);font-size:19px}.shop-item p{color:var(--body);margin:0 0 7px;font-size:13px;line-height:1.45}.shop-item-button{border:1px solid var(--line);background:var(--surface-card);color:var(--ink);margin-top:auto;padding:8px 14px}.shop-item-button:hover{border-color:var(--ink)}.shop-more{color:inherit;background:0 0;border:1px solid #ffffff8c;justify-self:start;padding:10px 16px}.shop-modal-category{color:var(--muted);margin:6px 0 0;font-size:12px;font-weight:700;display:inline-block}.shop-modal-note{color:var(--muted);font-size:13px}.shop-order-warning{background:var(--surface-card);color:var(--body);border-radius:10px;padding:14px;font-size:13px}.shop-order-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.shop-order-mark{color:#1b5e36;background:#c5e6bf;border-radius:50%;place-items:center;width:50px;height:50px;margin:15px 0;font-size:26px;font-weight:700;display:grid}:root:not([data-theme=dark]) .shop{color:#101a0c}:root:not([data-theme=dark]) .shop-demo-notice{color:#1d2b19;background:#f9f4e17a;border-color:#384d24}:root:not([data-theme=dark]) .shop-more{border-color:#101a0c8c}@media (width<=600px){.shop-intro{background-position:50%,62%;flex-direction:column;align-items:start;min-height:225px;padding:19px}.shop-balance{min-width:0}.shop-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.shop-tabs button{padding:9px 5px;font-size:12px}.shop-plans{grid-template-columns:1fr}.shop-grid{gap:8px}.shop-art{height:125px}.shop-item-body{padding:12px}.shop-item h3{font-size:16px}}@media (width<=370px){.shop-grid{grid-template-columns:1fr}}.gold-pick.off{opacity:.4}@media (width>=1100px){.home{width:calc(100% - 64px);max-width:1920px}.home-main{grid-template-columns:clamp(280px,23vw,390px) minmax(0,1fr)}.panel-shop .shop-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.shop-pagination{justify-content:center;align-items:center;gap:15px;display:flex}.shop-pagination .shop-more{min-width:44px;font-size:19px;line-height:1}.shop-pagination .shop-more:disabled{opacity:.4;cursor:default}.plans-intro{justify-content:space-between;align-items:end;gap:12px;display:flex}.plans-intro h2{color:inherit;font-size:26px}.plans-intro p{margin:5px 0 0;font-size:13px}.plans-intro>span{opacity:.8;font-size:12px}.membership-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;display:grid}.membership-card{--plan-accent:#d8caa1;isolation:isolate;border:1px solid color-mix(in srgb,var(--plan-accent) 65%,transparent);color:#f8f5e9;background:linear-gradient(155deg,#30433c,#172c28);border-radius:16px;flex-direction:column;gap:10px;padding:20px;display:flex;position:relative;overflow:hidden}.membership-keeper{--plan-accent:#e2c685;background:linear-gradient(155deg,#3e5031,#182f26)}.membership-owner{--plan-accent:#f8d676;background:linear-gradient(155deg,#64512a,#2e2a1d)}.membership-overlord{--plan-accent:#d1b4ee;background:linear-gradient(155deg,#4d3b68,#211d38)}.membership-crest{border:1px solid var(--plan-accent);clip-path:polygon(50% 0,94% 23%,94% 76%,50% 100%,6% 76%,6% 23%);width:48px;height:53px;color:var(--plan-accent);background:#00000038;place-items:center;font:30px Georgia,serif;display:grid}.membership-top{color:var(--plan-accent);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.membership-top b{border:1px solid;border-radius:30px;padding:2px 7px;font-size:10px}.membership-card h3{color:#fff9ed;min-height:2.2em;font:700 22px/1.1 Georgia,serif}.membership-description{color:#dee5d8;min-height:3.8em;margin:0;font-size:13px}.membership-price{color:#fff9ec;margin:4px 0;font-weight:700}.membership-price strong{color:var(--plan-accent);font-size:26px}.membership-price small{color:#e4e4dc;font-size:12px;font-weight:400}.membership-card ul{border-top:1px solid #fff3;flex:1;align-content:start;gap:9px;margin:0;padding:14px 0 0;font-size:12px;line-height:1.4;list-style:none;display:grid}.membership-card li{padding-left:16px;position:relative}.membership-card li:before{content:"✓";color:var(--plan-accent);position:absolute;left:0}.membership-button,.membership-current-label{text-align:center;border:1px solid var(--plan-accent);background:var(--plan-accent);color:#19251d;cursor:pointer;border-radius:9px;width:100%;margin-top:8px;padding:10px;font-size:13px;font-weight:700;display:block}.membership-current-label{color:var(--plan-accent);cursor:default;background:0 0}.membership-button:disabled,.membership-evening:disabled{opacity:.6;cursor:not-allowed}.membership-modal .segmented{max-width:100%;overflow-x:auto}.membership-checkout-price strong{font-size:25px}.membership-choice{background:var(--surface-card);border-radius:10px;padding:12px}.membership-choice p{color:var(--muted);font-size:13px}.membership-demo-warning{background:var(--surface-card);border-radius:10px;padding:12px;font-size:13px}.shop-map-detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;display:grid}.shop-map-detail-art{background:#1b3e51;border-radius:12px;height:260px;overflow:hidden}.shop-map-detail-art>svg{width:100%;height:100%}@media (width<=1450px){.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.membership-grid,.shop-map-detail{grid-template-columns:1fr}.shop-map-detail-art{height:190px}.membership-card h3,.membership-description{min-height:0}}.profile-date-range{background:var(--surface-card);border-radius:12px;flex-wrap:wrap;align-items:end;gap:10px;padding:14px;display:flex}.profile-date-range label{color:var(--muted);gap:3px;font-size:12px;display:grid}.profile-date-range input{min-width:0}.profile-history{border:1px solid var(--line);background:var(--canvas);border-radius:16px;padding:20px}.profile-history h2{font-size:22px}.profile-history ul{margin:12px 0 0;padding:0;list-style:none}.profile-history li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.profile-history li>div{flex:1;gap:3px;display:grid}.profile-history small{color:var(--muted)}.open-room-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-other-prices{color:#e8e1cc;margin:0;font-size:12px}.profile-membership-link{border:1px solid var(--line);background:var(--surface-card);color:var(--ink);cursor:pointer;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:700}.panel-shop .shop-map-pages{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1450px){.panel-shop .shop-map-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.panel-shop .shop-map-pages{grid-template-columns:1fr}}@media (width>=861px) and (width<=1099px){.home{width:calc(100% - 40px)}.home-main{grid-template-columns:250px minmax(0,1fr);gap:18px}}.profile-hero-member{border:2px solid #bd9b4b;box-shadow:inset 0 0 0 3px #bd9b4b29}.profile-hero-owner{border-color:#d5a832;box-shadow:inset 0 0 0 3px #d5a8322e}.profile-hero-overlord{border-color:#9b76c6;box-shadow:inset 0 0 0 3px #9b76c633}.profile-membership-link:not(.profile-membership-free){text-align:left;color:#f9f2dd;background:#273d31;border:1px solid #b89950;border-radius:11px;align-items:center;gap:9px;padding:7px 12px;display:inline-flex}.profile-membership-owner{border-color:#d3ae4a!important}.profile-membership-overlord{background:#3b3052!important;border-color:#b899d8!important}.profile-membership-link:not(.profile-membership-free)>span:last-child{gap:2px;display:grid}.profile-membership-link:not(.profile-membership-free) b{color:#e4cf95;font-size:11px;font-weight:500}.profile-membership-link:not(.profile-membership-free) strong{font-size:13px}.profile-membership-link:not(.profile-membership-free) small{color:#e1e5d9;font-size:11px;font-weight:400}.profile-membership-mark{color:#ead596;border:1px solid #d5bd7f;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.profile-ledger{border:1px solid var(--line);background:var(--canvas);border-radius:18px;padding:26px}.profile-ledger-head{justify-content:space-between;align-items:start;gap:20px;padding-bottom:16px;display:flex}.profile-ledger-head h2{margin:0;font-size:24px}.profile-ledger-head p{color:var(--muted);margin:6px 0 0;line-height:1.5}.profile-ledger-count{background:var(--surface-card);color:var(--muted);border-radius:999px;flex:none;padding:5px 11px;font-weight:700}.profile-ledger ul{margin:0;padding:0;list-style:none}.profile-ledger li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:15px 0;display:flex}.profile-ledger-info{flex:200px;gap:4px;min-width:0;display:grid}.profile-ledger-info small{color:var(--muted);line-height:1.5}.profile-result,.profile-purchase-mark{background:var(--surface-card);width:40px;height:40px;color:var(--ink);border-radius:12px;flex:none;place-items:center;font-size:20px;display:grid}.profile-result.win{color:#356437;background:#e2efd7}.profile-result.loss{background:var(--surface-card);color:var(--muted)}.profile-result-label{font-size:13px;font-weight:700}.profile-result-label.win{color:#44824e}.profile-purchase-mark{color:#a9802f}.profile-purchase-meta{text-align:right;gap:4px;font-size:13px;display:grid}.profile-purchase-meta b{color:var(--muted);font-size:12px}.profile-ledger-empty{border:1px dashed var(--line);color:var(--muted);border-radius:14px;margin:0;padding:24px}.profile-ledger-empty p{margin:0 0 12px}@media (width<=640px){.profile-ledger{padding:18px}.profile-ledger li{gap:10px}.profile-ledger-info{flex-basis:calc(100% - 56px)}}.shop-terra-price,.shop-free-price{color:#9a6808;align-items:center;gap:5px;margin:2px 0 5px;font-size:15px;display:inline-flex}.shop-terra-price b{font-size:19px}.shop-terra-price span{color:var(--muted);font-size:12px;font-weight:600}.shop-free-price{color:#396b36;font-weight:750}[data-theme=dark] .shop-terra-price{color:#f4c960}[data-theme=dark] .shop-free-price{color:#a9d596}.shop-discount{color:#255332;background:#d7edc4;border-radius:20px;align-items:center;padding:4px 9px;font-size:12px;font-weight:750;display:inline-flex}.shop-discount-basis{color:inherit;opacity:.9;margin:0 0 12px;font-size:12px}.shop-pack-price{gap:3px;margin:2px 0 7px;display:grid}.shop-pack-price strong{font-size:22px}.shop-pack-price small,.shop-bundle-reference{color:var(--muted);font-size:12px}.shop-bundle-reference{margin:-4px 0 6px}.shop-detail-price{align-items:center;gap:12px;margin:12px 0;font-size:20px;display:flex}.shop-bundle-art{color:#eed393;background:linear-gradient(145deg,#263f34,#3a3151);gap:22px}.shop-bundle-art strong{border:1px solid #e1c487;border-radius:50%;place-items:center;width:70px;height:70px;font:700 28px Georgia,serif;display:grid}.shop-bundle-art span{opacity:.8;font-size:20px}.shop-terra-art.tier-4{background:radial-gradient(circle,#c2a05a,#37304c 70%)}.membership-year{border:1px solid color-mix(in srgb, var(--plan-accent) 55%, transparent);background:#00000024;border-radius:10px;gap:5px;margin:2px 0;padding:10px;display:grid}.membership-year>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.membership-year>div span,.membership-year small{color:#e5e1d2;font-size:11px}.membership-year strong{color:#fff8e7;white-space:nowrap;font-size:16px}.membership-evening{text-align:start;font:inherit;color:inherit;border:1px solid var(--plan-accent);cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.membership-evening span{display:grid}.membership-evening b,.membership-evening strong{color:var(--plan-accent)}.membership-evening small{font-size:12px}.membership-evening:not(:disabled):hover,.membership-evening:focus-visible{background:color-mix(in srgb, var(--plan-accent) 12%, transparent)}.membership-saving{background:var(--plan-accent);color:#202b23;border-radius:6px;width:fit-content;padding:4px 7px;font-size:11px;font-weight:750}.membership-checkout-saving{color:#245b38;background:#e3f1d9;border-radius:10px;gap:3px;padding:10px 12px;font-size:13px;display:grid}.membership-checkout-saving span{color:#3c6046;font-size:12px}.membership-card-art{min-width:0;height:62px;color:var(--plan-accent);align-items:center;gap:10px;display:flex}.membership-emblem{flex:none;width:47px;height:52px;display:block;overflow:visible}.membership-card-art .membership-pattern{opacity:.8;flex:auto;min-width:0;max-width:240px;height:48px}.membership-pattern{width:100%;height:auto;display:block}.membership-header-ornament{pointer-events:none;flex:auto;justify-content:center;align-items:center;min-width:0;height:48px;margin:0 22px;display:flex}.membership-decor-keeper{color:#728b43}.membership-decor-owner{color:#ab812b}.membership-decor-overlord{color:#8964aa}[data-theme=dark] .membership-decor-keeper{color:#b0c78b}[data-theme=dark] .membership-decor-owner{color:#e5c471}[data-theme=dark] .membership-decor-overlord{color:#c9a8eb}.home-player-member{border:1px solid var(--member-edge);background:var(--member-card)}.home-player-member input{border-color:var(--member-edge);background:var(--member-input);color:var(--member-ink);font-weight:700}.home-player-member input:focus-visible{outline:3px solid var(--member-edge);outline-offset:2px}.home-player-plan{color:var(--member-ink);font-weight:700}.home-player-keeper{--member-edge:#9db66d;--member-card:#ecf1dc;--member-input:#fcfdf5;--member-ink:#3e612c}.home-player-owner{--member-edge:#c9a548;--member-card:#f5ebce;--member-input:#fffdf4;--member-ink:#785311}.home-player-overlord{--member-edge:#b19ac9;--member-card:#efe7f5;--member-input:#fffbff;--member-ink:#694189}[data-theme=dark] .home-player-keeper{--member-edge:#839c5d;--member-card:#283c2b;--member-input:#16291d;--member-ink:#c8e4ae}[data-theme=dark] .home-player-owner{--member-edge:#b59346;--member-card:#403a26;--member-input:#2b281c;--member-ink:#f3d78e}[data-theme=dark] .home-player-overlord{--member-edge:#9a7eb6;--member-card:#372c43;--member-input:#261f30;--member-ink:#e0c5f2}.account-chip-keeper{border-color:#9db66d}.account-chip-owner{border-color:#c9a548}.account-chip-overlord{border-color:#b19ac9}.account-chip-keeper .account-chip-name{color:#3e612c}.account-chip-owner .account-chip-name{color:#785311}.account-chip-overlord .account-chip-name{color:#694189}[data-theme=dark] .account-chip-keeper .account-chip-name{color:#c8e4ae}[data-theme=dark] .account-chip-owner .account-chip-name{color:#f3d78e}[data-theme=dark] .account-chip-overlord .account-chip-name{color:#e0c5f2}@media (width<=1000px){.membership-header-ornament{margin:0 8px}}@media (width<=700px){.membership-header-ornament{display:none}}.membership-card-art{isolation:isolate;height:126px;margin:-20px -20px 2px;padding:18px 20px;position:relative;overflow:hidden}.membership-card-art .membership-tapestry{z-index:-1;width:100%;height:100%;color:var(--plan-accent);position:absolute;inset:0}.membership-card-art .membership-emblem{z-index:1;filter:drop-shadow(0 2px 5px #00000040);width:52px;height:58px;position:relative}.admin-entry{color:#433b20;white-space:nowrap;font:inherit;cursor:pointer;background:#f4e9c7;border:1px solid #b9a66d;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}[data-theme=dark] .admin-entry{color:#f4e3ae;background:#353a26;border-color:#8a8058}.admin-app{--admin-ink:#18281d;--admin-muted:#6f796e;--admin-surface:#fffef9;--admin-soft:#f1f1e5;--admin-line:#dfe3d7;--admin-green:#557b4a;--admin-gold:#c3953e;min-height:100vh;color:var(--admin-ink);background:#f5f6ee}[data-theme=dark] .admin-app{--admin-ink:#ecf2e8;--admin-muted:#a6b5a8;--admin-surface:#172c22;--admin-soft:#1d3529;--admin-line:#365143;--admin-green:#a7cf93;--admin-gold:#e2c075;background:#0d1e17}.admin-top{border-bottom:1px solid var(--admin-line);background:var(--admin-surface);align-items:center;gap:18px;height:70px;padding:0 clamp(18px,3vw,48px);display:flex}.admin-top-divider{background:var(--admin-line);width:1px;height:24px}.admin-top-label{color:var(--admin-muted);font-size:13px;font-weight:700}.admin-top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.admin-layout{grid-template-columns:225px minmax(0,1fr);max-width:1920px;min-height:calc(100vh - 70px);margin:auto;display:grid}.admin-sidebar{border-right:1px solid var(--admin-line);background:var(--admin-surface);flex-direction:column;gap:25px;padding:30px 16px;display:flex}.admin-sidebar-title{color:var(--admin-muted);letter-spacing:.04em;padding:0 12px;font-size:11px;font-weight:800}.admin-sidebar-title span{color:#c4a04f;padding:0 5px}.admin-sidebar nav{gap:5px;display:grid}.admin-sidebar nav button{text-align:left;width:100%;color:var(--admin-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:12px;font-size:13px;font-weight:700;display:flex}.admin-sidebar nav button>span{text-align:center;color:#9a9f7e;width:20px;font-size:18px}.admin-sidebar nav button.on{color:#f7f7e9;background:#294535}.admin-sidebar nav button.on>span{color:#e5c56e}.admin-sidebar nav button:focus-visible,.admin-period button:focus-visible,.admin-refresh:focus-visible,.admin-chart g:focus-visible{outline-offset:2px;outline:3px solid #d09f37}.admin-sidebar-foot{color:var(--admin-muted);align-items:flex-start;gap:7px;margin:auto 10px 0;font-size:11px;line-height:1.5;display:flex}.admin-live-dot{background:#8dd19a;border-radius:50%;flex:none;width:8px;height:8px;margin-top:4px;display:inline-block;box-shadow:0 0 0 4px #82c89029}.admin-main{align-content:start;gap:18px;min-width:0;padding:clamp(22px,3vw,42px);display:grid}.admin-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.admin-eyebrow{color:#879579;letter-spacing:.07em;font-size:11px;font-weight:800}.admin-heading h1{color:var(--admin-ink);letter-spacing:-.035em;margin:5px 0;font-size:clamp(28px,3.1vw,42px);line-height:1.1}.admin-heading p{color:var(--admin-muted);margin:0;font-size:14px}.admin-heading-actions{color:var(--admin-muted);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.admin-refresh{border:1px solid var(--admin-line);width:39px;height:39px;color:var(--admin-ink);background:var(--admin-surface);cursor:pointer;border-radius:10px;font-size:22px}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-toolbar>span{color:var(--admin-muted);text-align:right;flex:400px;font-size:11px;line-height:1.5}.admin-period{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:11px;gap:3px;padding:4px;display:inline-flex}.admin-period button{color:var(--admin-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:700}.admin-period button.on{color:#fff;background:#294535}.admin-hero{color:#f5f4e8;background:radial-gradient(circle at 75% -50%,#657c4c,#0000 50%),#203c2e;border-radius:18px;justify-content:space-between;align-items:stretch;gap:30px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.admin-hero:after{content:"";pointer-events:none;border:1px solid #ebda951f;border-radius:50%;width:220px;height:220px;position:absolute;top:-70px;right:35%;box-shadow:0 0 0 22px #ebda9509,0 0 0 44px #ebda9509}.admin-hero>div{z-index:1;position:relative}.admin-hero-kicker{color:#cfdfc8;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.admin-hero h2{color:#e7eee2;margin:15px 0 0;font-size:16px;font-weight:600}.admin-hero strong{color:#fffdf0;letter-spacing:-.05em;margin:2px 0;font-size:58px;line-height:1.1;display:block}.admin-hero p{color:#b9cbbb;margin:0;font-size:12px}.admin-hero-side{align-items:end;gap:28px;display:flex}.admin-hero-side>span{color:#d5e2d4;align-content:end;gap:3px;min-width:105px;font-size:12px;display:grid}.admin-hero-side b{color:#f5e5b5;font-size:25px}.admin-hero-side small{color:#abc0af;max-width:130px;font-size:10px;line-height:1.35}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.admin-metric{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:19px;display:flex}.admin-metric>span{color:var(--admin-muted);font-size:12px;font-weight:650}.admin-metric strong{color:var(--admin-ink);letter-spacing:-.03em;font-size:29px;line-height:1}.admin-metric small{color:var(--admin-muted);font-size:11px;line-height:1.45}.admin-metric.muted strong{color:var(--admin-muted)}.admin-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-panel{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:16px;min-width:0;padding:22px}.admin-panel>header{margin-bottom:16px}.admin-panel h2{color:var(--admin-ink);margin:0;font-size:17px}.admin-panel header p{color:var(--admin-muted);margin:5px 0 0;font-size:12px;line-height:1.45}.admin-chart-key{color:var(--admin-muted);flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.admin-chart-key span{align-items:center;gap:6px;display:inline-flex}.admin-chart-key i{background:var(--admin-green);border-radius:50%;width:9px;height:9px}.admin-chart-key .series-1{background:var(--admin-gold)}.admin-chart-value{min-height:34px;color:var(--admin-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.admin-chart-value>b{color:var(--admin-ink)}.admin-chart svg{width:100%;height:160px;display:block;overflow:visible}.admin-chart-grid{stroke:var(--admin-line);stroke-width:1px;vector-effect:non-scaling-stroke}.admin-chart-line{fill:none;stroke:var(--admin-green);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.admin-chart-line.line-1{stroke:var(--admin-gold)}.admin-chart-point{fill:var(--admin-green);vector-effect:non-scaling-stroke}.admin-chart-point.point-1{fill:var(--admin-gold)}.admin-chart g{cursor:crosshair}.admin-chart-axis{color:var(--admin-muted);justify-content:space-between;font-size:10px;display:flex}.admin-chart-hint,.admin-small-note{color:var(--admin-muted);margin:10px 0 0;font-size:11px;line-height:1.4}.admin-empty{color:var(--admin-muted);padding:19px 0 6px;font-size:13px}.admin-online-list,.admin-room-list,.admin-distribution{margin:0;padding:0;list-style:none}.admin-online-list li,.admin-room-list li{border-top:1px solid var(--admin-line);align-items:center;gap:12px;padding:12px 0;display:flex}.admin-online-list li>div,.admin-room-list li>div{flex:1;gap:4px;min-width:0;display:grid}.admin-online-list b,.admin-room-list b{color:var(--admin-ink);text-overflow:ellipsis;font-size:13px;overflow:hidden}.admin-online-list small,.admin-room-list small{color:var(--admin-muted);font-size:11px}.admin-user-avatar{color:#385038;background:#e1edda;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.admin-online-badge,.admin-tag{color:#466c48;background:#e8f1df;border-radius:7px;flex:none;padding:5px 8px;font-size:10px;font-weight:700}.admin-stat-list>div{border-top:1px solid var(--admin-line);color:var(--admin-muted);justify-content:space-between;gap:12px;padding:13px 0;font-size:13px;display:flex}.admin-stat-list b{color:var(--admin-ink)}.admin-single-number{color:var(--admin-green);padding:18px 0 2px;font-size:46px;font-weight:800}.admin-distribution li{gap:6px;margin:13px 0;display:grid}.admin-distribution li>div:first-child{color:var(--admin-ink);justify-content:space-between;gap:10px;font-size:12px;display:flex}.admin-distribution-track{background:var(--admin-soft);border-radius:8px;height:7px;overflow:hidden}.admin-distribution-track>span{border-radius:inherit;background:#85a765;height:100%;display:block}.admin-finance-banner{color:#4c4225;background:#f7efd7;border:1px solid #d7c592;border-radius:15px;align-items:start;gap:16px;padding:22px;display:flex}.admin-finance-banner>span{color:#a37b29;font-size:26px}.admin-finance-banner h2{color:inherit;margin:0;font-size:17px}.admin-finance-banner p{margin:6px 0 0;font-size:13px;line-height:1.5}[data-theme=dark] .admin-finance-banner{color:#f0e1b5;background:#383824;border-color:#807047}.admin-user-controls{margin:0 0 14px;display:flex}.admin-user-controls input{background:var(--admin-soft);max-width:360px;color:var(--admin-ink);border-color:var(--admin-line)}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.admin-table th{color:var(--admin-muted);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}.admin-table td{border-top:1px solid var(--admin-line);color:var(--admin-ink);vertical-align:top;padding:13px 12px}.admin-table td small{color:var(--admin-muted);margin-top:4px;font-size:10px;display:block}.admin-online-inline{color:#588b59;margin-left:7px;font-size:10px;font-weight:700;display:inline-block}.admin-pagination{color:var(--admin-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:11px;display:flex}.admin-pagination>div{gap:6px;display:flex}.admin-economy-note{color:var(--admin-muted);align-items:center;gap:15px;font-size:13px;display:flex}.admin-economy-note span{color:var(--admin-gold);font-size:38px}.admin-access{border:1px solid var(--admin-line);background:var(--admin-surface);border-radius:18px;max-width:480px;margin:100px auto;padding:30px}.admin-access h1{color:var(--admin-ink)}.admin-access p{color:var(--admin-muted)}.admin-access-mark{color:var(--admin-gold);font-size:35px}.admin-loading{color:var(--admin-muted);text-align:center;padding:80px 20px}@media (width<=1050px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--admin-line);padding:12px 18px}.admin-sidebar-title,.admin-sidebar-foot{display:none}.admin-sidebar nav{display:flex;overflow-x:auto}.admin-sidebar nav button{flex:none;width:auto}}@media (width<=720px){.admin-top-divider,.admin-top-label{display:none}.admin-main{padding:20px 14px}.admin-heading,.admin-hero{flex-direction:column;align-items:stretch}.admin-heading-actions{justify-content:space-between}.admin-toolbar>span{text-align:left}.admin-panels{grid-template-columns:1fr}.admin-hero-side{flex-wrap:wrap;gap:18px}.admin-hero-side>span{min-width:80px}.admin-hero strong{font-size:46px}.admin-room-list li{flex-wrap:wrap}}.admin-event-time{color:var(--admin-muted);white-space:nowrap;font-size:11px}.admin-chart-y{fill:var(--admin-muted);font-family:inherit;font-size:10px}.admin-chart svg:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #d09f37}.panel-shop .shop-currency-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shop-currency-featured{grid-column:1/-1}.shop-currency-item .shop-terra-art{height:172px}.shop-currency-featured .shop-terra-art{height:clamp(195px,19vw,260px)}.terra-pack-illustration{width:100%;height:100%;display:block}.terra-pack-sparkle{animation:3.6s ease-in-out infinite terra-pack-twinkle}@keyframes terra-pack-twinkle{0%,to{opacity:.42}50%{opacity:1}}@media (width>=701px){.shop-currency-featured .shop-item-body{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px 28px;padding:20px 24px;display:grid}.shop-currency-featured .shop-item-kind{grid-area:1/1}.shop-currency-featured h3{grid-area:2/1;font-size:25px}.shop-currency-featured .shop-discount{grid-area:3/1;justify-self:start}.shop-currency-featured .shop-pack-price{grid-area:1/2/span 3;margin:0}.shop-currency-featured .shop-item-button{grid-area:1/3/span 3;margin:0}}@media (width<=1100px){.panel-shop .shop-currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.panel-shop .shop-currency-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.terra-pack-sparkle{animation:none}}.membership-card-art .membership-tapestry{opacity:.48;-webkit-mask-image:linear-gradient(90deg,#0000 0 80px,#000 104px);mask-image:linear-gradient(90deg,#0000 0 80px,#000 104px)}.home-nav{isolation:isolate;position:relative}.home-nav>:not(.membership-header-ornament){z-index:1;position:relative}.membership-header-ornament{opacity:.17;z-index:0;width:100%;height:100%;margin:0;display:block;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 13% 87%,#0000);mask-image:linear-gradient(90deg,#0000,#000 13% 87%,#0000)}.membership-header-ornament .membership-pattern{opacity:1;width:100%;max-width:none;height:100%}.profile-hero{grid-template-columns:auto minmax(260px,1.3fr) minmax(200px,.7fr) auto;gap:16px 24px;padding:22px 26px}.profile-name-line{align-items:center;gap:10px;min-width:0;display:flex}.profile-name-emblem{flex:none}.profile-membership-link:not(.profile-membership-free){color:var(--muted);font:inherit;text-align:left;border:0;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:5px 0 0;padding:0;font-size:12px;display:inline-flex;background:0 0!important}.profile-membership-link:not(.profile-membership-free) strong{color:var(--ink);font-size:inherit}.profile-membership-link:not(.profile-membership-free):hover{text-decoration:underline}.profile-membership-link:not(.profile-membership-free):focus-visible{outline-offset:3px;outline:2px solid}.profile-medals{margin-top:8px}.seat-member{isolation:isolate;border-color:var(--member-seat-edge);box-shadow:inset 0 0 0 1px var(--member-seat-edge), 0 0 13px var(--member-seat-glow);position:relative;overflow:hidden}.seat-member.you{border-color:var(--member-seat-edge);box-shadow:inset 0 0 0 1px var(--member-seat-edge), 0 0 13px var(--member-seat-glow)}.seat-member:before{content:"";pointer-events:none;z-index:-1;opacity:.3;background:repeating-linear-gradient(150deg, transparent 0 13px, var(--member-seat-edge) 14px, transparent 15px 27px);width:120px;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.seat-member-keeper{--member-seat-edge:#839b59;--member-seat-glow:#738f4b2e}.seat-member-owner{--member-seat-edge:#c7a44d;--member-seat-glow:#c49a3333}.seat-member-overlord{--member-seat-edge:#a887ca;--member-seat-glow:#9765c63d}.seat-membership-emblem{vertical-align:middle;color:var(--member-seat-edge);margin-left:6px;display:inline-flex}.seat-membership-emblem .membership-emblem{width:18px;height:20px}@media (width<=1024px){.profile-hero{grid-template-columns:auto minmax(0,1fr)}}@media (width<=700px){.membership-header-ornament{opacity:.12;margin:0;display:block}}@media (width<=680px){.profile-hero{grid-template-columns:72px minmax(0,1fr) minmax(68px,auto);grid-template-areas:"avatar name emblem""avatar signed signed""avatar.membership""medals medals medals""level level level""terra terra terra";align-items:start;gap:8px 12px;padding:16px}.profile-who,.profile-name-line{display:contents}.profile-avatar{grid-area:avatar;align-self:start}.profile-name-line h1{grid-area:name;align-self:center;font-size:22px}.profile-name-emblem{grid-area:emblem;justify-self:center}.profile-signed-in{grid-area:signed;gap:4px 8px;margin:0;font-size:12px}.profile-signed-in .profile-signout{height:26px;min-height:26px;padding:0 8px;font-size:12px}.profile-membership-link,.profile-membership-link:not(.profile-membership-free){grid-area:membership;justify-self:center;margin:0;font-size:11px;line-height:1.25}.profile-medals{grid-area:medals;gap:8px;margin:0}.profile-medal-slot{width:72px;height:72px}.profile-medal-slot.filled .medal-frame{max-width:68px;max-height:68px}.profile-level,.profile-hero .profile-level-member{grid-area:level;min-height:0}.profile-terra{grid-area:terra;grid-template-columns:auto auto;align-items:center;gap:4px 12px}.profile-terra>.muted{grid-column:1/-1}.profile-terra .topup{grid-area:2/2}}.profile-name-emblem .membership-emblem{width:43px;height:48px}.profile-name-emblem.membership-decor-keeper{color:#a0c46b}.profile-name-emblem.membership-decor-owner{color:#e3b84d}.profile-name-emblem.membership-decor-overlord{color:#c6a0f0}.profile-level-member{isolation:isolate;color:var(--ink);align-content:center;align-self:stretch;position:relative}.profile-level-member .profile-level-ornament{z-index:-1;color:#8f6cb4;opacity:.16;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.profile-level-member.membership-decor-keeper .profile-level-ornament{color:#6e8b4d}.profile-level-member.membership-decor-owner .profile-level-ornament{color:#aa8337}.seat-avatar-profile{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0}.seat-avatar-profile:focus-visible,.lobby-profile-medal-list button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.seat-avatar-profile:hover{filter:brightness(1.12)}.lobby-profile-modal{width:min(490px,100%)}.lobby-profile-identity{align-items:center;gap:16px;padding:12px 0 18px;display:flex}.lobby-profile-identity h3{color:var(--ink);overflow-wrap:anywhere;margin:0 0 4px;font-size:22px}.lobby-profile-identity>div>span{color:var(--muted);font-size:13px}.lobby-profile-stats{background:var(--surface-card);border-radius:14px;padding:16px}.lobby-profile-level{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.lobby-profile-level strong{font-size:18px}.lobby-profile-level span,.lobby-profile-stats>small{color:var(--muted);font-size:12px}.lobby-profile-stats>small{margin-top:7px;display:block}.lobby-profile-numbers{gap:38px;margin-top:15px;display:flex}.lobby-profile-numbers span{color:var(--muted);gap:2px;font-size:12px;display:grid}.lobby-profile-numbers strong{color:var(--ink);font-size:20px}.lobby-profile-medals{padding:18px 0 4px}.lobby-profile-medals h4{margin:0 0 10px;font-size:14px}.lobby-profile-medal-list{flex-wrap:wrap;gap:10px;display:flex}.lobby-profile-medal-list button{border:1px solid var(--line);background:var(--surface-card);width:94px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;justify-items:center;gap:4px;padding:5px;font-size:11px;display:grid}.lobby-profile-medal-list button:hover{border-color:var(--ink)}.lobby-profile-medal-list p,.lobby-profile-notice{color:var(--muted);font-size:13px;line-height:1.5}.lobby-profile-actions{margin-top:16px}.lobby-profile-actions p{color:#bd4141;font-size:12px}.lobby-profile-medal-detail{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding-top:14px;display:grid}.lobby-profile-medal-detail h3{margin:0;font-size:19px}.lobby-profile-medal-detail p{line-height:1.5}.lobby-profile-medal-detail small{color:var(--muted)}.lobby-profile-medal-detail>button{grid-column:1/-1;justify-self:start}@media (width<=1024px){.profile-level-member{min-height:100px}}.medal-magnifier{cursor:zoom-in;background:0 0;border:0;border-radius:10px;flex:none;padding:0;display:inline-flex;position:relative}.medal-magnifier:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.medal-magnifier-preview{z-index:1000;cursor:zoom-out;background:#050f0ca3;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:fixed;inset:0}@media (hover:hover) and (pointer:fine){.medal-magnifier-preview{pointer-events:none}}.medal-magnifier-preview>.medal-frame{animation:.2s ease-out medal-preview-in;width:min(400px,100vw - 32px,100dvh - 32px)!important;height:min(400px,100vw - 32px,100dvh - 32px)!important}@keyframes medal-preview-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.medal-magnifier-preview>.medal-frame{animation:none}}.lobby-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 0 16px;display:flex}.lobby-name-heading{min-width:0}.lobby-name-heading>span,.lobby-name-form label{color:var(--muted);font-size:12px;font-weight:700;display:block}.lobby-name-heading h2{color:var(--ink);overflow-wrap:anywhere;margin:3px 0 0;font-size:20px}.lobby-name-form{flex:100%;gap:6px;display:grid}.lobby-name-controls{flex-wrap:wrap;gap:8px;display:flex}.lobby-name-controls input{flex:220px;min-width:0}.lobby-name-form small{color:var(--muted);font-size:12px}:root[data-theme=dark] .room-mode.preset-classic{color:#f3fbf5;background:#355e4d}.support-dialog p{line-height:1.5}.support-address{color:var(--ink);overflow-wrap:anywhere;font-weight:700;display:inline-block}.support-dialog .btn{width:fit-content}.admin-grant-form{gap:12px;display:grid}.admin-grant-form p{margin:0;line-height:1.5}.admin-grant-form label{gap:5px;font-size:13px;font-weight:700;display:grid}.admin-grant-form input{width:100%}.admin-player-table{min-width:1150px}.membership-decor-free{color:#d8bd7d}.lobby-profile-membership{align-items:center;gap:7px;margin-top:4px;display:flex}.lobby-profile-membership .membership-emblem{width:30px;height:33px}.lobby-profile-membership>span{color:var(--muted);font-size:13px;font-weight:650}.profile-name-emblem.membership-decor-free{color:#d8bd7d}.avatar.wardrobe-avatar{background:0 0;border:0;border-radius:0;display:inline-flex;overflow:visible}.wardrobe-token{width:100%;height:100%;display:block;overflow:visible}.wardrobe-avatar-preview .wardrobe-token{overflow:visible}.wardrobe{text-align:left;gap:18px;margin-bottom:32px;display:grid}.wardrobe-heading h2,.wardrobe-collection h3{color:inherit;margin:0}.wardrobe-heading p,.wardrobe-collection-head p{opacity:.8;margin:6px 0 0;font-size:13px;line-height:1.5}.wardrobe-fitting{color:#f9f6e9;background:#18382b;border:1px solid #778e72;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;padding:18px 22px;display:grid}.wardrobe-fitting-hero{border-right:1px solid #ffffff24;justify-content:center;align-items:center;gap:18px;padding:10px 18px 10px 4px;display:flex;overflow:visible}.wardrobe-size-sample{color:#cad9c6;white-space:nowrap;justify-items:center;gap:8px;font-size:11px;display:grid}.wardrobe-fitting-details{min-width:0}.wardrobe-fitting-details h3{color:#fff9ed;margin:0;font-size:18px}.wardrobe-fitting-details p{color:#d5e2d5;margin:4px 0 12px;font-size:12px;line-height:1.4}.wardrobe-fitting-details label{color:#d5e2d5;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.wardrobe-fitting-details select{width:auto;min-width:150px}.wardrobe-equipped-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.wardrobe-equipped-list>div{background:#ffffff0b;border:1px solid #ffffff1c;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 7px;padding:6px 9px;font-size:12px;display:flex}.wardrobe-equipped-list>div>span{color:#bacfbd}.wardrobe-equipped-list b{font-weight:650}.wardrobe-equipped-list button{color:#f2d283;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.wardrobe-filters{flex-wrap:wrap;gap:6px;display:flex}.wardrobe-filters button{border:1px solid var(--line);background:var(--canvas);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.wardrobe-filters button.on{color:#fffaf0;background:#182e23;border-color:#182e23}.wardrobe-collection{gap:12px;display:grid}.wardrobe-collection-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.wardrobe-collection-head>span{background:#fff3;border-radius:50%;place-items:center;min-width:31px;height:31px;font-size:12px;font-weight:700;display:grid}.wardrobe-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.wardrobe-item{border:1px solid var(--line);background:var(--canvas);min-width:0;color:var(--ink);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.wardrobe-item.selected{border-color:#c19a43;box-shadow:inset 0 0 0 1px #c19a43}.wardrobe-item-art{background:#e9ebd6;place-items:center;min-height:122px;padding:12px;display:grid;overflow:visible}.wardrobe-collection-meme .wardrobe-item-art{background:#eee2cb}.wardrobe-item-copy{flex:1;align-content:start;gap:5px;padding:12px;display:grid}.wardrobe-item-copy>span,.wardrobe-item-copy small{color:var(--muted);font-size:11px}.wardrobe-item-copy h4{overflow-wrap:anywhere;margin:0 0 5px;font-size:14px;line-height:1.3}.wardrobe-item-copy button{justify-self:start;margin-top:auto}.profile-wardrobe{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px}.wardrobe-profile{margin-bottom:0}.wardrobe-store-link{justify-self:start}.public-wardrobe{background:var(--surface-card);border-radius:18px;flex-wrap:wrap;align-items:center;gap:38px;padding:30px;display:flex}.public-wardrobe h2{margin:0 0 12px}.public-wardrobe ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.public-wardrobe li{gap:14px;font-size:13px;display:flex}.public-wardrobe li span{color:var(--muted);min-width:95px}[data-theme=dark] .wardrobe-item-art{background:#294537}[data-theme=dark] .wardrobe-collection-meme .wardrobe-item-art{background:#514632}@media (width<=650px){.wardrobe-fitting{grid-template-columns:1fr;gap:14px;padding:16px}.wardrobe-fitting-hero{border-bottom:1px solid #ffffff24;border-right:0;justify-content:flex-start;padding:4px 0 14px}.wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-wardrobe{padding:15px}}.admin-wardrobe-actions{gap:6px;display:grid}.tutorial-intro{margin:0;line-height:1.5}.tutorial-task-body{flex-direction:column;min-height:0;padding:0 13px 12px;font-size:13px;line-height:1.4;display:flex;overflow:hidden}.tutorial-task-body p{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;margin:0 0 8px;overflow-y:auto}.tutorial-task-actions{flex-wrap:wrap;flex:none;gap:7px;display:flex}.tutorial-stage-count{color:#596d55;font-variant-numeric:tabular-nums;flex:none}.tutorial-topic-list{overflow-y:auto}.tutorial-step-roll .roll-btn,.tutorial-step-trade:not(.tutorial-trade-open) [data-tutorial-target=trade],.tutorial-step-road .build-btn[data-tutorial-target=build-road]:not(.on),.tutorial-step-ship .build-btn[data-tutorial-target=build-ship]:not(.on),.tutorial-step-settlement .build-btn[data-tutorial-target=build-settlement]:not(.on),.tutorial-step-activate [data-tutorial-target=activate]:not([aria-pressed=true]),.tutorial-step-improve [data-tutorial-target=science],.tutorial-step-tradeUpgrade [data-tutorial-target=improveTrade],.tutorial-step-politicsUpgrade [data-tutorial-target=politics],.tutorial-step-scienceUpgrade [data-tutorial-target=science],.tutorial-step-card [data-tutorial-target=roadWorks],[data-tutorial-highlight=true]{outline-offset:3px;outline:3px solid #ffcc4c;box-shadow:0 0 0 5px #20382d}.tutorial-trade-hint{color:inherit;font-weight:600}.tutorial-step-moveShip [data-tutorial-target=moveShip]:not(.on),.tutorial-step-recruit .build-btn[data-tutorial-target=build-knight]:not(.on),.tutorial-step-wall .build-btn[data-tutorial-target=build-wall]:not(.on),.tutorial-step-moveKnight [data-tutorial-target=moveKnight]:not([aria-pressed=true]),.tutorial-step-metropolis [data-tutorial-target=science]{outline-offset:3px;outline:3px solid #ffcc4c;box-shadow:0 0 0 5px #20382d}.tutorial-topic-list{flex-wrap:wrap;gap:7px;display:flex}.board .tile.tutorial-highlight .tile-face{stroke:#fff1a6;stroke-width:5px}.board .tutorial-blocked-edges line{stroke:#ffe39a;stroke-width:5px;stroke-linecap:round;opacity:.9}.tutorial-scene-intro .player-card.you .points,.tutorial-scene-intro .mini-player.current{outline-offset:3px;outline:3px solid #ffcc4c}.tutorial-consequence [data-tutorial-target=trade]{box-shadow:none!important;outline:none!important}.tutorial-focus-dice .board-dice,.tutorial-focus-hand[data-tutorial-resource=wood] .res-card.res-wood,.tutorial-focus-hand[data-tutorial-resource=brick] .res-card.res-brick,.tutorial-focus-hand[data-tutorial-resource=wheat] .res-card.res-wheat,.tutorial-focus-hand[data-tutorial-resource=sheep] .res-card.res-sheep,.tutorial-focus-hand[data-tutorial-resource=ore] .res-card.res-ore{outline-offset:3px;outline:3px solid #ffcc4c}.board .tutorial-building{filter:drop-shadow(0 0 7px #fff09d)}.board .tutorial-reward rect{fill:#102c20;stroke:#f5d887;stroke-width:2px}.board .tutorial-reward text{fill:#fff8e5;font:700 12px system-ui,sans-serif}.board .tutorial-goal-vertex{fill:#fff3b655;stroke:#ffe39a;stroke-width:4px}.tutorial-guided .ship-target .hint{stroke-width:4px;filter:drop-shadow(0 0 3px #fff5b2)}.tutorial-guide{color:#203a2b;background:#fbf5e4;border:1px solid #c8b77c;border-radius:14px;flex-direction:column;flex:none;min-width:0;max-height:min(36vh,300px);display:flex;overflow:auto;box-shadow:0 4px 14px #10291c1a}.tutorial-guide-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;display:flex}.tutorial-guide-head>div{align-items:center;gap:8px;min-width:0;display:flex}.tutorial-compass{color:#9b710d;font-size:19px}.tutorial-guide-mode{color:#596d55;font-size:12px}.tutorial-toggle{color:#405f45;cursor:pointer;font:inherit;background:0 0;border:0;flex-shrink:0;padding:5px;font-size:12px;text-decoration:underline}.tutorial-guide-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px;padding:0 13px 11px;font-size:13px;line-height:1.38;display:grid}.tutorial-guide-content p{margin:3px 0}.tutorial-recent{border-left:1px solid #d9cba3;padding-left:15px}.tutorial-recent>span{color:#6b745b;font-size:11px;font-weight:700}.tutorial-recent small{color:#4d5f4a;font-size:12px}.tutorial-score{border-top:1px solid #e0d5b8;grid-column:1/-1;padding-top:6px}.tutorial-score summary{cursor:pointer;font-weight:700}.tutorial-score ul{margin:7px 0;padding:0;list-style:none}.tutorial-score li{justify-content:space-between;gap:12px;display:flex}.immersive .tutorial-guide{z-index:5;top:72px;left:calc(var(--side-l) + 24px);width:min(560px, calc(100% - var(--side-l) - var(--side-r) - 48px));position:absolute}@media (width<=860px){.tutorial-guide{z-index:12;max-height:min(28dvh,210px);position:sticky;top:58px}.game.tutorial-scene-intro .tutorial-guide{max-height:min(38dvh,310px)}.game.has-tutorial .dock{position:relative;bottom:auto}.game.has-tutorial .board .target{scroll-margin-top:240px;scroll-margin-bottom:80px}.tutorial-guide-content{grid-template-columns:1fr}.tutorial-recent{border-top:1px solid #e0d5b8;border-left:0;padding:6px 0 0}.tutorial-score{grid-column:auto}}.tutorial-event-head{color:#6b745b;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.tutorial-event-nav{align-items:center;gap:5px;display:flex}.tutorial-event-nav button{color:#203a2b;cursor:pointer;background:0 0;border:1px solid #c8b77c;border-radius:5px;padding:0 6px;font-size:16px;line-height:20px}.tutorial-event-nav button:disabled{opacity:.35;cursor:default}@media (width>=1081px){.game.has-tutorial:not(.immersive){grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"left task right""left tutorial right""left board right"}.game.has-tutorial:not(.immersive).side-collapsed{grid-template-areas:"left task dock""left tutorial dock""left board dock"}.game.has-tutorial:not(.immersive) .tutorial-guide{grid-area:tutorial}}.piece-skin-lantern{animation:2.8s ease-in-out infinite alternate piece-lantern-glow}@keyframes piece-lantern-glow{0%{opacity:.52;filter:brightness(.85)}to{opacity:1;filter:brightness(1.3)drop-shadow(0 0 2px #ffdd69)}}@media (prefers-reduced-motion:reduce){.piece-skin-lantern{animation:none}}.membership-card li.membership-unavailable{color:#bac0b6}.membership-card li.membership-unavailable:before{content:"×";color:#bac0b6}.membership-card li.membership-unavailable span{text-decoration:line-through;text-decoration-thickness:1px}.wardrobe-open-stage{color:#fff9e9;cursor:pointer;text-align:left;width:fit-content;font:inherit;background:#173b2a;border:1px solid #b9cead66;border-radius:14px;align-items:center;gap:14px;padding:9px 16px;display:flex}.wardrobe-open-stage>span:nth-child(2){gap:3px;display:grid}.wardrobe-open-stage small{color:#ccddc9;font-size:12px}.wardrobe-open-stage>span:last-child{color:#efca74;margin-left:8px;font-size:20px}.wardrobe-stage{color:#fff9e9;background:#173b2a;border:1px solid #b2cba155;border-radius:16px;align-items:center;gap:18px;padding:13px 18px;display:flex}.wardrobe-stage-person{border-right:1px solid #fff3;flex:none;align-items:center;gap:12px;padding-right:16px;display:flex}.wardrobe-stage-person>div{gap:5px;display:grid}.wardrobe-stage-person small{color:#bfd1bd;white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.wardrobe-stage-controls{flex:1;gap:9px;min-width:0;display:grid}.wardrobe-swatches{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.wardrobe-swatches button{cursor:pointer;border:2px solid #fff6;border-radius:50%;width:25px;height:25px}.wardrobe-swatches button.on{outline-offset:2px;outline:2px solid #f2ca70}.wardrobe-swatches button:focus-visible,.wardrobe-open-stage:focus-visible{outline-offset:3px;outline:3px solid #f2ca70}.wardrobe-current{flex-wrap:wrap;gap:6px;display:flex}.wardrobe-current>span{color:#eff6e8;border:1px solid #ffffff45;border-radius:99px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;display:inline-flex}.wardrobe-current button{color:#f7d780;cursor:pointer;background:0 0;border:0;padding:0;font-size:16px;line-height:1}.wardrobe-stage>.btn{flex:none}.wardrobe-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.wardrobe-item-art{background:linear-gradient(150deg,#e2e8d1,#f1efdf);min-height:142px}.wardrobe-item-copy{gap:7px}.wardrobe-item-copy h4{min-height:2.6em}.wardrobe-item-price{color:#8a650b;font-size:14px;font-weight:700}.wardrobe-card-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.wardrobe-card-actions .btn{margin:0}.wardrobe-detail-art{background:#183b2a;border-radius:16px;place-items:center;min-height:205px;margin:8px 0 18px;display:grid}.wardrobe-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.wardrobe-loan-notice{color:var(--ink);background:var(--surface-card);border:1px solid #d9c89f;border-radius:10px;margin:0;padding:10px 14px}.wardrobe-friend-list{gap:8px;margin:16px 0;display:grid}.wardrobe-friend-list label{align-items:center;gap:8px;display:flex}.figure-catalog{gap:24px;display:grid}.figure-profile{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.figure-group{gap:12px;display:grid}.figure-group h3{margin:0}.figure-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.figure-card{border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:15px;flex-direction:column;display:flex;overflow:hidden}.figure-card-art{background:#193c2c;justify-content:center;align-items:center;gap:12px;min-height:150px;display:flex;position:relative}.figure-card-art>span{color:#ffe4a1;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.figure-card-body{flex:1;align-content:start;gap:8px;padding:14px;display:grid}.figure-card-body h4,.figure-card-body p{margin:0}.figure-card-body p{color:var(--muted);font-size:12px;line-height:1.4}.figure-card-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}@media (width<=700px){.wardrobe-stage{flex-wrap:wrap}.wardrobe-stage-person{border:0}.wardrobe-stage-controls{flex-basis:100%}.wardrobe-grid,.figure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-card-actions .btn{padding:7px 8px;font-size:11px}}@keyframes figure-beam{0%{transform:translate(-15px)}to{transform:translate(65px)}}@keyframes figure-belt{0%{transform:translate(0)}to{transform:translate(4px)}}@keyframes figure-magma{0%{opacity:.35}to{opacity:1}}@keyframes figure-ice{0%{transform:translate(-25px)}to{transform:translate(70px)}}@keyframes figure-paw{0%,28%{opacity:1}40%,to{opacity:.18}}@keyframes figure-rainbow{to{filter:hue-rotate(360deg)}}@keyframes figure-gold{0%{opacity:.88}to{opacity:1}}.figure-road-motion .beam{animation:2.8s linear infinite figure-beam}.figure-road-motion .belt{animation:.8s linear infinite figure-belt}.figure-road-motion .magma{animation:2.6s ease-in-out infinite alternate figure-magma}.figure-road-motion .ice-light{animation:3s linear infinite figure-ice}.figure-road-motion .paw-0,.figure-road-motion .paw-1,.figure-road-motion .paw-2{animation:2.4s linear infinite figure-paw}.figure-road-motion .paw-1{animation-delay:-.8s}.figure-road-motion .paw-2{animation-delay:-1.6s}.figure-rainbow{animation:9s linear infinite figure-rainbow}.figure-gold{animation:3s ease-in-out infinite alternate figure-gold}@media (prefers-reduced-motion:reduce){.figure-road-motion .beam,.figure-road-motion .belt,.figure-road-motion .magma,.figure-road-motion .ice-light,.figure-road-motion .paw-0,.figure-road-motion .paw-1,.figure-road-motion .paw-2,.figure-rainbow,.figure-gold{animation:none}}:is(.home-nav:has(.menu-pop),.home-nav:has(.lang-list)),:is(.room-bar:has(.menu-pop),.room-bar:has(.lang-list),.room-bar:has(.pause-pop)){z-index:45}.menu-pop{width:min(300px,100vw - 24px);max-height:min(640px, calc(100dvh - var(--bar-h) - 20px));overscroll-behavior:contain}.support-documents{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.support-documents h3{margin:0 0 6px;font-size:16px}.support-documents p{color:var(--muted);margin:0;font-size:14px}.home-details-button{text-align:left;height:auto;min-height:max-content}.home-details-button .menu-text{overflow-wrap:anywhere}.home-details-button.on{background:var(--teal);border-color:var(--teal);color:#fff}.home-details-button.on .menu-icon{color:var(--ochre);background:#fffaf01f}.home-details-button.on .menu-text small{color:#fffaf0bf}:root:not([data-theme=dark]) .home-details-button.on{color:#101a0c;background:#749045;border-color:#749045}:root:not([data-theme=dark]) .home-details-button.on .menu-icon{color:#28341d;background:#e6d2a2}:root:not([data-theme=dark]) .home-details-button.on .menu-text small{color:#101a0c}.details-content{gap:24px;max-width:880px;display:grid}.details-content h2{margin:0 0 10px;font-size:21px}.details-content p{margin:0;line-height:1.55}.details-about p+p{margin-top:10px}.details-contact{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);color:var(--ink);align-items:flex-start;gap:16px;padding:24px;display:flex}.details-contact-icon{color:#344b28;background:#e6d2a2;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.details-contact-content{justify-items:start;gap:10px;display:grid}.details-contact-content h2{margin:0}.details-contact-content p{color:var(--muted)}.details-email{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.details-contact-action{margin-top:4px}.details-documents{border-top:1px solid;padding-top:18px}.details-documents p{opacity:.85}:root:not([data-theme=dark]) .panel-details .details-about,:root:not([data-theme=dark]) .panel-details .details-documents{color:#101a0c}@media (width<=860px){.home-details-button{order:4}}@media (width<=480px){.details-contact{gap:12px;padding:18px}.details-contact-icon{width:40px;height:40px}}.figure-details-button{cursor:pointer;border:0;padding:0}.figure-details-button:focus-visible{outline-offset:-4px;outline:3px solid #f1d995}.figure-lore{max-width:65ch;line-height:1.5}.figure-ship-lore{font-weight:400}.figure-set-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.figure-set-stage{text-align:center;align-content:start;gap:9px;display:grid}.figure-set-stage-art{background:#193c2c;border-radius:12px;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;height:150px;padding:10px;display:grid}.figure-set-stage-art svg{max-width:100%;max-height:100%}.figure-set-price{align-items:center;gap:8px;font-size:14px;display:flex}@media (width<=480px){.figure-set-stages{gap:6px}.figure-set-stage-art{height:100px;padding:4px}.figure-set-stage{font-size:12px}}.player-skiff-moving{transform-box:fill-box;transform-origin:50% 82%;animation:3.8s ease-in-out infinite player-skiff-rock}@keyframes player-skiff-rock{0%,to{transform:translateY(.45px)rotate(-1.75deg)}50%{transform:translateY(-.45px)rotate(1.75deg)}}@media (prefers-reduced-motion:reduce){.player-skiff-moving{animation:none}}.fleet-vessel{pointer-events:none}.fleet-animated .fleet-vessel{transition:transform 1.2s ease-in-out}.fleet-landing{pointer-events:none}.fleet-soldier{opacity:1}.fleet-landing.moving .fleet-soldier{animation:2.55s ease-in-out infinite fleet-soldier-fade}@keyframes fleet-soldier-fade{0%,to{opacity:0}15%,80%{opacity:1}}@media (prefers-reduced-motion:reduce){.fleet-animated .fleet-vessel{transition:none}.fleet-landing .fleet-soldier{animation:none}}.fleet-animated.fleet-retreat .fleet-vessel{opacity:0;transition:transform 4s ease-in,opacity 3.8s ease-in}.fleet-retreat:not(.fleet-animated) .fleet-vessel{opacity:0}.shop-mobile-nav{display:none}@media (width>=861px){.home:has(>.home-main){grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid}.home-main{grid-template-rows:minmax(0,1fr);min-height:0;padding-bottom:12px}.home-menu-col,.home-content-col{overscroll-behavior-y:contain;scrollbar-width:thin;grid-auto-rows:max-content;align-content:start;min-width:0;min-height:0;max-height:100%;overflow-y:auto}.home-content-col>.home-panel{position:static}.home-menu-col{scrollbar-width:none}.home-menu-col::-webkit-scrollbar{display:none}.home-demo .preview-board{width:100%;max-height:clamp(112px,100dvh - 620px,340px)}.home-foot{margin-top:12px;padding-block:8px}}@media (width<=860px){.home-content-col{display:contents}.home-foot{order:5;padding-block:8px}.shop-mobile-nav{z-index:5;border:1px solid var(--line);background:var(--surface-card);color:var(--ink);border-radius:12px;order:1;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;display:flex;position:sticky;top:0}.shop-mobile-nav select{min-height:36px;font:inherit;max-width:70%}}@media (prefers-reduced-motion:no-preference){.raider-ship{transform-box:fill-box;transform-origin:50% 85%;animation:4s ease-in-out infinite alternate raider-ship-bob}@keyframes raider-ship-bob{0%{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}}.raider-pair-preview,.road-ship-preview{width:min(85%,174px);height:96px}.figure-road-pair small{margin-top:4px;display:block}@media (prefers-reduced-motion:no-preference){.pawn-bill{transform-origin:10px -6px;animation:2s ease-in-out infinite alternate pawn-peep}.pawn-glint{animation:2s ease-in-out infinite alternate pawn-glint}.pawn-lamp{animation:2s ease-in-out infinite alternate pawn-lamp}.pawn-card{animation:2s ease-in-out infinite alternate pawn-card}@keyframes pawn-peep{to{transform:rotate(10deg)}}@keyframes pawn-glint{0%{transform:translate(-.8px)}to{transform:translate(.8px)}}@keyframes pawn-lamp{0%{opacity:.25}to{opacity:.95}}@keyframes pawn-card{0%{transform:translateY(1.5px)}to{transform:translateY(-1.5px)}}}.home-demo figcaption{gap:2px;display:grid}.access-lock .info-trigger{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);background:var(--canvas);cursor:help;border-radius:50%;place-items:center;display:inline-grid}.preset-card-wrap>.access-lock{position:absolute;top:8px;right:8px}.mode-chip-pair{align-items:center;gap:3px;display:inline-flex}.shop-mode-choices{border:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:6px;max-height:min(38dvh,320px);margin:8px 0;padding:2px;display:grid;overflow:auto}.shop-mode-choices label{border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:8px;padding:8px;display:flex}.shop-mode-choices input{accent-color:var(--teal);flex:none}.legal-links{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.legal-links a,.legal-form a{text-underline-offset:3px;text-decoration:underline}.legal-form{gap:14px;display:grid}.legal-form p{color:var(--body);margin:0}.legal-form label{align-items:flex-start;gap:10px;display:flex}.legal-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--growth);flex:none}.ufo-beam{opacity:.3}.ufo-window-light{animation:3.8s ease-in-out infinite alternate ufo-window-light}@keyframes ufo-window-light{0%{opacity:.15}to{opacity:.9}}@media (prefers-reduced-motion:reduce){.ufo-window-light{opacity:.5;animation:none}}.medal-seasonal .pixel-medal{image-rendering:auto}.season-place-label{flex-direction:column;align-items:center;gap:6px;display:flex}.ach.rarity-seasonal{--ach-tint:var(--surface-soft);--ach-hex:var(--terra-gold-ink)}:root{--forest:#1b3a2e;--growth:#3e7d4a;--land:#8fbf6b;--sun:#f4c561;--water:#2e8cb7;--mountain:#2d3e50;--surface:#fff;--teal:var(--forest);--teal-2:#24473a;--ochre:var(--sun);--mint:#b9d9a4;--success:var(--growth)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0e1b15;--surface:#14281f;--surface-soft:#12231b;--surface-card:#1b3a2e;--surface-strong:#24473a;--ink:#f3efe1;--body:#d4d9cd;--muted:#a5b4a8;--muted-soft:#7f9184;--hairline:#2b4a3d;--line:#f3efe129;--teal:#10261d;--teal-2:#1b3a2e;--mint:#3e7d4a;--lavender:#6f63a8;--peach:#b8704a;--pink:#d9467c;--coral:#e0614f;--success:#74c088;--error:#ff8a80}:root[data-theme=dark] body{background:var(--canvas);color:var(--ink)}:root[data-theme=dark] :is(.btn.primary,.segmented button.on,.chip.on,.toast,.lang-switch button.on,.taskbar.mine,.deck-info>span:first-child,.deck-tip,.die-choice.on,.immersive-btn[aria-pressed=true],.rules-step-n,.info-bubble,.pause-minutes button.on,.pause-banner.active,.build-count,.cost-tip){color:var(--canvas)}:root[data-theme=dark] .cost-tip-note{color:#0e1b15b3}:root[data-theme=dark] .cost-card{background-color:#0e1b151f}:root[data-theme=dark] .chat-msg.mine,:root[data-theme=dark] .chat-msg.taunt{--ink:#17251d;--muted:#536158}:root[data-theme=dark] :is(.res-wood,.res-brick,.res-wheat,.res-sheep,.res-ore,.res-paper,.res-cloth,.res-coin,.res-gold,.badge,.dev-card,.progress-card,[class*=tone-],.sea-fact,.gold-pick,.soon-badge,.offer.mine,.protect-chip.on,.embargo-chip.danger.on){--ink:#0a0a0a;--body:#3a3a3a;--muted:#5d5d5d;--line:#0a0a0a24;color:var(--ink)}:root[data-theme=dark].art-drawn :is(.bank-card[class*=res-],.picker-cell[class*=res-],.gold-pick){--ink:#f3efe1;--body:#d4d9cd;--muted:#a5b4a8;--line:#f3efe129;color:var(--ink)}:root[data-theme=dark] :is(input,select,textarea){background:var(--surface);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .home-player input{background:var(--canvas)}:root[data-theme=dark] .menu-icon{color:var(--sun)}:root[data-theme=dark] .btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 82%, var(--sun))}:root[data-theme=dark] .offer.mine .btn.primary{color:#fff}:root[data-theme=dark] .menu-item.on{background:var(--surface-strong);border-color:var(--growth);box-shadow:inset 3px 0 0 var(--land)}
