.chat-panel{background:#111f39;border:1px solid #2c4466;color:#dbeaff;border-radius:16px;overflow:hidden;margin-top:22px;text-align:left}.chat-heading{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:#192b48;border-bottom:1px solid #2c4466}.chat-heading strong{font-size:14px;color:#f5dc67}.chat-heading span{font-size:11px;color:#9bb2d0}.chat-messages{height:155px;overflow:auto;padding:12px 16px;overscroll-behavior:contain}.chat-messages p{display:flex;gap:9px;font-size:12px;line-height:1.65;margin:0 0 8px;overflow-wrap:anywhere}.chat-messages time{color:#839bbb;font-size:10px;flex-shrink:0;padding-top:2px}.chat-messages strong{color:#78c8ff;flex-shrink:0;max-width:105px}.chat-messages .chat-own strong{color:#f5dc67}.chat-messages .chat-empty{color:#a3b5cc;padding-top:42px;justify-content:center}.chat-panel form{display:flex;padding:10px;gap:8px;border-top:1px solid #2c4466}.chat-panel input{background:#0b172c;border:1px solid #344c70;color:#edf5ff;border-radius:8px;flex:1;min-width:0;padding:10px;font-size:12px}.chat-panel button{background:#2d9bf0;color:#fff;font-weight:700;border:0;border-radius:8px;padding:8px 16px;min-height:40px}.chat-panel button:disabled{opacity:.4}.chat-error{font-size:11px;color:#ffae99;padding:0 14px;margin:5px 0}@media(max-width:730px){.chat-heading span{display:none}.chat-messages{height:135px}.chat-panel{margin-top:16px}.chat-messages p{flex-wrap:wrap;gap:5px}.chat-messages p>span{flex-basis:100%}}.room-chat-switch{margin-top:18px}.room-chat-switch>nav{display:flex;gap:8px}.room-chat-switch>nav button{padding:12px 18px;min-height:44px;border:1px solid #3a6585;border-radius:9px;background:#142740;color:#c9e2f6}.room-chat-switch>nav button.selected{background:#225579;color:#fff}.room-chat-switch>.chat-panel{margin-top:8px}.sva{--sv-canvas:#09142b;--sv-panel:#122441;--sv-raised:#1b3559;--sv-line:#38577a;--sv-text:#f4f8ff;--sv-muted:#b2c3dc;--sv-cyan:#52dfff;--sv-yellow:#ffe15a;--sv-coral:#ff987e;--sv-green:#83f0b1;--sv-purple:#c7a5ff;color:var(--sv-text);background:var(--sv-canvas);font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,system-ui,sans-serif;font-size:16px;line-height:1.6;padding:28px;min-width:0;color-scheme:dark}.sva *{box-sizing:border-box}.sva h1,.sva h2,.sva h3,.sva p{margin:0}.sva h1{font-size:36px;font-weight:900;line-height:1.25;letter-spacing:.01em;overflow-wrap:anywhere}.sva h2{font-size:22px;font-weight:800;line-height:1.4}.sva h3{font-size:18px;font-weight:700}.sva p{overflow-wrap:anywhere}.sva button,.sva input,.sva textarea,.sva select{font:inherit;font-size:16px}.sva button,.sva a{touch-action:manipulation}.sva button{cursor:pointer}.sva button:disabled{cursor:not-allowed;opacity:.48}.sva button:focus-visible,.sva a:focus-visible,.sva input:focus-visible,.sva textarea:focus-visible,.sva select:focus-visible{outline:3px solid var(--sv-cyan);outline-offset:3px}.sva-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.sva-header>div:first-child{min-width:0}.sva-eyebrow{color:var(--sv-cyan);font-size:14px;font-weight:800;letter-spacing:.11em;margin-bottom:10px!important}.sva-description{color:var(--sv-muted);font-size:14px;line-height:1.8}.sva-header .sva-description{margin-top:12px}.sva-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sva-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid transparent;border-radius:12px;padding:11px 20px;font-weight:800;text-align:center;text-decoration:none;white-space:normal;line-height:1.4;box-shadow:0 4px #030a19;transition:filter .15s,transform .15s}.sva-button:hover:not(:disabled){filter:brightness(1.08)}.sva-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #030a19}.sva-button-primary{background:var(--sv-yellow);color:var(--sv-canvas)}.sva-button-cyan{background:var(--sv-cyan);color:var(--sv-canvas)}.sva-button-danger{background:var(--sv-coral);color:var(--sv-canvas)}.sva-button-secondary{background:var(--sv-raised);border-color:var(--sv-line);color:var(--sv-text)}.sva-panel{min-width:0;padding:24px;border:1px solid var(--sv-line);border-radius:20px;background:var(--sv-panel);box-shadow:0 10px 32px #0002;margin-bottom:24px}.sva-panel>h2{margin-bottom:12px}.sva-panel>.sva-description{margin-bottom:20px}.sva-panel>.sva-actions{margin-block:16px}.sva-notice{padding:14px 18px;background:var(--sv-raised);border:1px solid var(--sv-line);border-radius:12px;margin:0 0 20px!important;font-size:16px}.sva-error{border-color:var(--sv-coral);color:var(--sv-coral)}.sva-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}.sva-empty h2{font-size:22px}.sva-empty p{color:var(--sv-muted);max-width:500px}.sva-empty-mark{font-size:52px;line-height:1;color:var(--sv-cyan)}.sva-badge{display:inline-flex;align-items:center;gap:4px;border-radius:9px;padding:4px 10px;font-size:14px;font-weight:800;line-height:1.5;color:var(--sv-canvas);white-space:normal}.sva-badge-cyan{background:var(--sv-cyan)}.sva-badge-yellow{background:var(--sv-yellow)}.sva-badge-coral{background:var(--sv-coral)}.sva-badge-green{background:var(--sv-green)}.sva-badge-purple{background:var(--sv-purple)}.sva-badge-muted{background:var(--sv-muted)}.sva-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.sva-tabs button,.sva-admin-navigation>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--sv-raised);color:var(--sv-muted);border:1px solid var(--sv-line);border-radius:12px;padding:10px 20px;font-weight:700}.sva-tabs .is-selected,.sva-admin-navigation>button.is-selected{background:var(--sv-cyan);color:var(--sv-canvas);border-color:var(--sv-cyan)}.sva-portrait{height:250px;max-width:100%;overflow:hidden}.sva-portrait>img,.sva-preview-stage>img{width:100%;height:100%;object-fit:contain}.sva-avatar{width:62px;height:72px;flex-shrink:0;overflow:hidden;background:var(--sv-raised);border-radius:13px}.sva-avatar img{object-position:50% 0%;height:140%!important}.sva-art-fallback{font-size:14px;color:var(--sv-muted)}.sva-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px;margin-bottom:24px}.sva-stat{padding:20px;border:1px solid var(--sv-line);border-radius:16px;background:var(--sv-panel);display:flex;flex-direction:column;gap:8px}.sva-stat>span,.sva-stat small{color:var(--sv-muted);font-size:14px}.sva-stat strong{font-size:36px;color:var(--sv-yellow);font-weight:900;overflow-wrap:anywhere}.sva-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.sva table{width:100%;border-collapse:collapse;text-align:left;min-width:450px;font-size:15px}.sva th{color:var(--sv-cyan);font-weight:700}.sva th,.sva td{padding:15px 14px;border-bottom:1px solid var(--sv-line);vertical-align:middle;overflow-wrap:anywhere}.sva thead th{color:var(--sv-muted);font-size:14px;background:var(--sv-raised)}.sva tbody tr:last-child th,.sva tbody tr:last-child td{border-bottom:0}.sva tbody tr.is-highlighted{background:var(--sv-raised)}.sva td .sva-button{font-size:14px;padding:8px 13px}.sva td input[type=number]{max-width:100px}.sva input:not([type=range]):not([type=checkbox]),.sva select,.sva textarea{display:block;width:100%;min-height:48px;border:1px solid var(--sv-line);border-radius:11px;background:var(--sv-raised);color:var(--sv-text);padding:12px 14px;outline:none}.sva textarea{min-height:140px;resize:vertical}.sva input::placeholder,.sva textarea::placeholder{color:var(--sv-muted)}.sva label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700;color:var(--sv-muted)}.sva label input,.sva label select,.sva label textarea{font-weight:400}.sva-form{display:flex;flex-direction:column;gap:20px}.sva-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sva-inline-form{display:flex;gap:10px;margin-bottom:20px}.sva-inline-form>input{min-width:0}.sva-toggle{flex-direction:row!important;align-items:center;gap:12px!important;min-height:48px;color:var(--sv-text)!important}.sva-toggle input{width:24px;height:24px;accent-color:var(--sv-cyan);flex-shrink:0}.sva-volume{margin-block:25px}.sva-volume>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--sv-text);font-size:17px}.sva-volume strong{color:var(--sv-cyan)}.sva input[type=range]{width:100%;min-height:48px;accent-color:var(--sv-cyan)}.sva-progress{width:100%;height:16px;background:var(--sv-raised);border-radius:99px;overflow:hidden;margin-block:12px}.sva-progress>span{display:block;height:100%;background:var(--sv-cyan);border-radius:99px}.sva-character-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start;gap:24px}.sva-character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sva-character-card,.sva-product-card{padding:16px;border:1px solid var(--sv-line);border-radius:20px;background:var(--sv-panel);color:var(--sv-text);text-align:left;min-width:0}.sva-character-card.is-selected,.sva-product-card.is-selected{border-color:var(--sv-cyan);box-shadow:0 0 0 2px var(--sv-cyan)}.sva-character-card:hover,.sva-product-card:hover{background:var(--sv-raised)}.sva-character-card h2{font-size:22px}.sva-character-card p,.sva-product-card p{color:var(--sv-muted);font-size:14px;margin:6px 0 10px}.sva-character-card .sva-portrait{height:242px}.sva-character-detail{position:sticky;top:18px}.sva-character-detail .sva-portrait{height:285px}.sva-character-detail table{min-width:0}.sva-character-detail .sva-button{width:100%;margin-top:20px}.sva-shop-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.sva-preview-panel .sva-button{margin-top:14px}.sva-preview-stage{height:340px;margin:16px 0}.sva-preview-stage .sva-portrait{height:100%}.sva-item-detail{border-top:1px solid var(--sv-line);padding-top:20px;margin-top:25px}.sva-item-detail p{font-size:14px;color:var(--sv-muted);margin:10px 0}.sva-item-detail .sva-price{font-size:22px;color:var(--sv-yellow);font-weight:800}.sva-item-detail>.sva-actions{margin-top:18px}.sva-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sva-product-card h2{font-size:19px}.sva-product-card>strong{color:var(--sv-yellow);font-size:17px;display:block;margin-bottom:12px}.sva-product-art{height:165px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:radial-gradient(circle,#24507b80,transparent 75%);border-radius:12px}.sva-product-art>img{max-width:100%;height:100%;object-fit:contain}.sva-product-art .sva-portrait{height:100%;width:100%}.sva-product-symbol{font-size:65px;color:var(--sv-cyan)}.sva-cart-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;border-top:1px solid var(--sv-line);padding-top:24px}.sva-cart-summary p{color:var(--sv-muted);font-size:14px}.sva-cart-summary strong{font-size:32px;color:var(--sv-yellow)}.sva-social-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:24px}.sva-person-row{display:flex;align-items:center;gap:13px;width:100%;padding:13px;border:1px solid var(--sv-line);border-radius:13px;margin-bottom:12px;background:var(--sv-raised);color:var(--sv-text);text-align:left;min-width:0}.sva-person-row.is-selected{border-color:var(--sv-cyan)}.sva-person-row>div:last-child{min-width:0}.sva-person-row strong{font-size:16px;overflow-wrap:anywhere}.sva-person-row p,.sva-request-row p{font-size:14px;color:var(--sv-muted)}.sva-request-row{border-bottom:1px solid var(--sv-line);padding:16px 0}.sva-request-row .sva-person-row{background:none;border:0;padding:0}.sva-request-row>.sva-button{margin-top:10px}.sva-message-actions{margin-block:16px}.sva-message-history{min-height:330px;max-height:540px;overflow-y:auto;padding:10px 0}.sva-message{padding:16px 18px;border:1px solid var(--sv-line);border-radius:16px;background:var(--sv-raised);max-width:92%;margin:0 0 18px}.sva-message.is-mine,.sva-message.is-staff{margin-left:auto;background:#24425d}.sva-message header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.sva-message strong{color:var(--sv-cyan)}.sva-message time{color:var(--sv-muted);font-size:14px}.sva-message p{white-space:pre-wrap;font-size:16px;margin-top:10px}.sva-message .sva-badge{margin-top:8px}.sva-message-compose{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--sv-line);padding-top:22px}.sva-message-compose textarea{min-height:110px}.sva-message-compose .sva-actions{justify-content:space-between}.sva-mission{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px;border:1px solid var(--sv-line);border-radius:14px;background:var(--sv-raised);margin-bottom:16px}.sva-mission>div{flex:1;min-width:0}.sva-mission p{font-size:14px;color:var(--sv-muted);margin:8px 0}.sva-mission>.sva-button{min-width:140px}.sva-settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.sva-settings-layout .sva-panel{min-width:0}.sva-settings-layout .sva-panel:nth-child(3){grid-column:1/-1}.sva-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sva-settings-actions{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap}.sva-support-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px}.sva-info-list{padding-left:24px;color:var(--sv-muted);font-size:16px}.sva-info-list li{margin:15px 0}.sva-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:82px;background:var(--sv-raised);color:var(--sv-text);border:1px solid var(--sv-line);border-radius:12px;padding:14px 16px;margin-bottom:12px;text-align:left}.sva-ticket-row.is-selected{border-color:var(--sv-cyan)}.sva-ticket-row>div{min-width:0}.sva-ticket-row p{font-size:14px;color:var(--sv-muted);margin-top:6px}.sva-ticket-row strong{overflow-wrap:anywhere}.sva-ticket-messages{margin-block:22px}.sva-admin-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:24px}.sva-admin-layout main{min-width:0}.sva-admin-navigation{padding:14px;background:var(--sv-panel);border:1px solid var(--sv-line);border-radius:18px;align-self:start}.sva-admin-navigation>button{width:100%;justify-content:flex-start;margin-bottom:10px;border:0;background:transparent}.sva-admin-permissions{padding:20px 8px;border-top:1px solid var(--sv-line);margin-top:20px}.sva-admin-permissions h2{font-size:18px}.sva-admin-permissions ul{padding-left:18px;color:var(--sv-muted);font-size:14px;overflow-wrap:anywhere}.sva-admin-permissions p{font-size:14px;color:var(--sv-muted)}.sva-health-list article{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px;border-bottom:1px solid var(--sv-line)}.sva-health-list p{color:var(--sv-muted);font-size:14px;margin-top:8px}.sva-definition-list{display:flex;gap:25px;flex-wrap:wrap}.sva-definition-list>div{flex:1;min-width:220px}.sva-definition-list dt{color:var(--sv-muted);font-size:14px}.sva-definition-list dd{margin:5px 0;font-weight:700;overflow-wrap:anywhere}.sva-admin-dialog{max-width:min(650px,calc(100vw - 30px));width:650px;max-height:90dvh;overflow-y:auto;padding:28px;border:1px solid var(--sv-line);border-radius:20px;background:var(--sv-panel);color:var(--sv-text);box-shadow:0 20px 70px #0009}.sva-admin-dialog::backdrop{background:#020714b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sva-game-landing{padding:0}.sva-game-landing>.sva-notice{margin:20px!important}.sva-hero{min-height:660px;position:relative;overflow:hidden;background:var(--sv-canvas);display:flex;align-items:center;padding:70px 48px}.sva-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}.sva-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#09142be8,#09142baf,#09142b0a 70%)}.sva-hero-copy{max-width:580px;position:relative;z-index:1}.sva-hero-copy h1{font-size:62px;line-height:1.35;margin:26px 0}.sva-hero-copy>p:not(.sva-eyebrow){font-size:20px;color:var(--sv-muted);line-height:1.9}.sva-hero-copy>.sva-actions{margin-top:28px}.sva-hero-copy .sva-button{min-height:56px;padding-inline:26px;font-size:18px}.sva-landing-features{padding:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sva-landing-features article{padding:26px;border:1px solid var(--sv-line);border-radius:20px;background:var(--sv-panel)}.sva-landing-features h2{margin:14px 0 10px}.sva-landing-features p{color:var(--sv-muted);font-size:16px}.sva-feature-symbol{font-size:35px;color:var(--sv-cyan)}.sva-game-landing>.sva-panel{margin:0 30px 26px}.sva-featured-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.sva-featured-character{background:transparent;border:1px solid var(--sv-line);color:var(--sv-text);border-radius:15px;padding:12px;text-align:center;min-width:0}.sva-featured-character .sva-portrait{height:210px}.sva-featured-character p{font-size:14px;color:var(--sv-muted);margin-top:6px}.sva-landing-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);padding:0 30px;gap:24px}.sva-announcement{display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;border-bottom:1px solid var(--sv-line);width:100%;padding:16px 0;color:var(--sv-text);text-align:left}.sva-announcement p{color:var(--sv-muted);font-size:14px;margin-top:6px}.sva-portal-header{display:flex;align-items:center;gap:24px;margin-bottom:28px;border-bottom:1px solid var(--sv-line);padding-bottom:24px}.sva-portal-header>strong{font-size:30px;font-weight:900}.sva-portal-header>p{color:var(--sv-muted)}.sva-portal-header .sva-button{margin-left:auto}.sva-portal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;margin-bottom:40px}.sva-portal-hero h1{font-size:58px;margin-block:18px;max-width:660px;line-height:1.35}.sva-portal-hero>div>p:not(.sva-eyebrow){font-size:18px;color:var(--sv-muted);margin-top:16px}.sva-portal-hero>img{width:100%;height:360px;object-fit:cover;object-position:70% 50%;border-radius:20px;border:1px solid var(--sv-line)}.sva-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.sva-portal-product{padding:0;overflow:hidden}.sva-portal-product-image{height:255px;background:var(--sv-raised)}.sva-portal-product-image>img{width:100%;height:100%;object-fit:cover}.sva-portal-product-copy{padding:26px}.sva-portal-product-copy h2{font-size:26px;margin:12px 0}.sva-portal-product-copy p{font-size:16px;color:var(--sv-muted);margin-bottom:24px}.sva-portal-product-copy .sva-button{width:100%}.sva-portal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;border-top:1px solid var(--sv-line);padding-top:22px;color:var(--sv-muted)}.sva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1650px){.sva-character-grid,.sva-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.sva{padding:22px}.sva-character-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.sva-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.sva-character-card .sva-portrait{height:200px}.sva-character-detail{padding:18px}.sva-shop-layout{grid-template-columns:290px minmax(0,1fr);gap:18px}.sva-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sva-social-layout{grid-template-columns:320px minmax(0,1fr);gap:18px}.sva-support-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.9fr)}.sva-admin-layout{grid-template-columns:195px minmax(0,1fr);gap:18px}.sva-admin-navigation{padding:8px}.sva-game-landing{padding:0}.sva-hero{padding:48px 32px;min-height:620px}.sva-hero-copy h1{font-size:52px}.sva-hero-copy{max-width:490px}.sva-hero-copy>p:not(.sva-eyebrow){font-size:18px}.sva-portal-hero h1{font-size:45px}.sva-portal-hero{gap:25px}.sva-landing-bottom{grid-template-columns:1.2fr 1fr}}@media(max-width:850px){.sva-header{align-items:flex-start;flex-direction:column;gap:16px}.sva-character-layout,.sva-shop-layout,.sva-social-layout,.sva-support-layout,.sva-settings-layout,.sva-admin-layout{grid-template-columns:1fr}.sva-character-detail{position:static}.sva-character-detail>.sva-portrait{height:320px}.sva-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sva-character-card .sva-portrait{height:210px}.sva-shop-layout .sva-preview-panel{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);gap:15px}.sva-preview-panel>h2{grid-column:1/-1}.sva-preview-panel>.sva-preview-stage{grid-row:2/6;height:300px}.sva-preview-panel>.sva-item-detail{grid-column:1/-1}.sva-cart-summary{align-items:flex-start;flex-direction:column}.sva-person-row{min-height:84px}.sva-message-history{max-height:430px}.sva-settings-layout .sva-panel:nth-child(3){grid-column:auto}.sva-settings-actions{grid-column:auto}.sva-admin-navigation{display:flex;flex-wrap:wrap;gap:10px;padding:15px}.sva-admin-navigation>button{width:auto;margin:0;flex:1;min-width:120px;padding:10px 12px;justify-content:center}.sva-admin-permissions{width:100%;margin-top:8px;padding:12px 0}.sva-admin-permissions ul{display:flex;gap:8px 24px;flex-wrap:wrap;margin-bottom:0}.sva-hero{min-height:600px}.sva-hero>img{object-position:70% 50%}.sva-hero-copy h1{font-size:46px}.sva-hero-copy{max-width:440px}.sva-landing-features{padding:20px;gap:15px}.sva-landing-features article{padding:20px}.sva-landing-bottom{grid-template-columns:1fr;padding:0 20px}.sva-game-landing>.sva-panel{margin-inline:20px}.sva-portal-hero{grid-template-columns:1fr}.sva-portal-hero>img{height:340px}.sva-portal-header{flex-wrap:wrap}.sva-portal-grid{gap:18px}}@media(max-width:600px){.sva{padding:18px 14px;font-size:16px;min-width:0}.sva h1{font-size:30px;line-height:1.4}.sva h2{font-size:21px}.sva-header{margin-bottom:22px}.sva-panel{padding:19px 17px;margin-bottom:18px;border-radius:17px}.sva-description,.sva-eyebrow{font-size:14px}.sva-button{min-height:48px;padding:11px 16px;font-size:16px}.sva-actions{gap:10px}.sva-tabs{gap:8px;margin-bottom:18px}.sva-tabs button{min-height:48px;padding:10px 15px;font-size:15px;flex:1;white-space:normal}.sva-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sva-character-card{padding:12px 10px;border-radius:16px}.sva-character-card .sva-portrait{height:188px}.sva-character-card h2{font-size:20px}.sva-character-card p{font-size:14px}.sva-character-detail .sva-portrait{height:320px}.sva-shop-layout .sva-preview-panel{display:block}.sva-preview-stage{height:300px!important;max-width:250px;margin-inline:auto}.sva-preview-panel .sva-button{width:100%}.sva-product-grid{gap:12px}.sva-product-card{padding:12px 10px;border-radius:16px}.sva-product-art{height:135px}.sva-product-card h2{font-size:17px}.sva-product-card strong{font-size:16px}.sva-product-card p{font-size:14px}.sva-cart-summary>.sva-actions{width:100%}.sva-cart-summary .sva-button{flex:1}.sva-cart-summary strong{font-size:29px}.sva-inline-form .sva-button{padding-inline:15px}.sva-message-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sva-message{max-width:98%;padding:15px}.sva-message p{font-size:16px}.sva-message-history{max-height:430px}.sva-message-compose textarea{min-height:100px}.sva-person-row strong{font-size:16px}.sva-form-grid,.sva-key-grid{grid-template-columns:1fr}.sva-settings-actions{display:grid;grid-template-columns:1fr;width:100%}.sva-mission{align-items:flex-start;flex-direction:column;padding:17px;gap:16px}.sva-mission>div,.sva-mission>.sva-button{width:100%}.sva-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sva-stat{padding:16px 13px}.sva-stat strong{font-size:29px}.sva-stat>span,.sva-stat small{font-size:14px}.sva-table-wrap table{min-width:480px}.sva-character-detail .sva-table-wrap table{min-width:0}.sva th,.sva td{padding:13px 11px}.sva-ticket-row{flex-wrap:wrap;align-items:start;gap:10px}.sva-health-list article{padding:15px 0;align-items:flex-start;gap:14px}.sva-definition-list{gap:15px}.sva-definition-list>div{min-width:0;flex-basis:100%}.sva-admin-dialog{padding:22px 18px}.sva-admin-dialog .sva-actions>.sva-button{flex:1}.sva-game-landing{padding:0}.sva-hero{padding:29px 22px;min-height:580px;align-items:flex-start}.sva-hero>img{object-position:67% 50%}.sva-hero:after{background:linear-gradient(180deg,#09142be0,#09142b8a 38%,#09142b21 62%,#09142bf2)}.sva-hero-copy h1{font-size:39px;margin:18px 0}.sva-hero-copy>p:not(.sva-eyebrow){font-size:17px;line-height:1.8}.sva-hero-copy>.sva-actions{position:absolute;top:440px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.sva-hero-copy .sva-button{font-size:16px;min-height:52px;padding:10px 14px}.sva-hero-copy{width:100%}.sva-landing-features{grid-template-columns:1fr;padding:16px;gap:14px}.sva-landing-features article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:0 12px;padding:20px}.sva-landing-features article>.sva-feature-symbol{grid-row:1/3}.sva-landing-features h2{margin:0 0 8px}.sva-landing-features p{font-size:16px}.sva-game-landing>.sva-panel{margin-inline:16px}.sva-featured-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sva-featured-character .sva-portrait{height:190px}.sva-landing-bottom{padding:0 16px;gap:0}.sva-portal-header{gap:10px;padding-bottom:18px;margin-bottom:22px}.sva-portal-header>strong{font-size:25px}.sva-portal-header>p{font-size:14px}.sva-portal-header .sva-button{width:100%;margin:10px 0 0}.sva-portal-hero{gap:22px;margin-bottom:25px}.sva-portal-hero h1{font-size:39px;margin:15px 0}.sva-portal-hero>div>p:not(.sva-eyebrow){font-size:16px}.sva-portal-hero>img{height:235px;border-radius:16px}.sva-portal-grid{grid-template-columns:1fr;gap:0}.sva-portal-product{padding:0}.sva-portal-product-image{height:220px}.sva-portal-product-copy{padding:21px}.sva-portal-product-copy h2{font-size:24px}.sva-portal-footer{flex-direction:column;align-items:stretch;text-align:center;font-size:14px;gap:16px}.sva-empty{padding:22px 13px;min-height:210px}}@media(prefers-reduced-motion:reduce){.sva *{animation:none!important;transition:none!important}}.sva-inline-form>.sva-button{flex:0 0 auto;min-width:76px;white-space:nowrap}.sva-hero-copy h1{text-shadow:0 2px 10px #0008}.sva-hero-copy>p:not(.sva-eyebrow){color:#e7f2ff;text-shadow:0 2px 5px #000}.sva-replay-overlay{position:fixed;inset:16px;width:min(1440px,calc(100vw - 32px));height:calc(100dvh - 32px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--sv-line);border-radius:20px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;box-shadow:0 20px 80px #0009}.sva-replay-overlay:not([open]){display:none}.sva-replay-overlay::backdrop{background:#030918dd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sva-replay-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:var(--sv-panel);border-bottom:1px solid var(--sv-line)}.sva-replay-heading>div{min-width:0}.sva-replay-heading .sva-eyebrow{margin-bottom:4px!important}.sva-replay-heading h2{font-size:25px;overflow-wrap:anywhere}.sva-replay-heading>.sva-button{flex-shrink:0}.sva-replay-content{display:flex;flex-direction:column;min-height:0;min-width:0;padding:18px;background:#071023;overflow:hidden}.sva-replay-content>.sva-notice{flex-shrink:0;margin-bottom:12px!important}.sva-replay-viewport{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain}.sva-replay-viewport>*{max-width:100%;max-height:100%;min-width:0}.sva-replay-viewport canvas{display:block;max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain}.sva-replay-controls{padding:15px 24px 20px;background:var(--sv-panel);border-top:1px solid var(--sv-line)}.sva-replay-timeline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px}.sva-replay-timeline time{color:var(--sv-muted);font-size:16px;font-variant-numeric:tabular-nums;min-width:52px;text-align:center}.sva-replay-timeline input[type=range]{min-height:48px}.sva-replay-control-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}.sva-replay-control-row>.sva-button{min-width:145px}.sva-replay-rate{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important}.sva-replay-rate select{min-width:155px}.sva-replay-control-row>.sva-badge{margin-left:auto}@media(max-width:600px){.sva-replay-overlay{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:15px;padding:0}.sva-replay-heading{padding:14px;gap:12px}.sva-replay-heading h2{font-size:20px}.sva-replay-heading .sva-eyebrow{font-size:14px;letter-spacing:.06em}.sva-replay-heading>.sva-button{min-width:84px;padding:10px 12px;font-size:14px;min-height:48px}.sva-replay-content{padding:10px}.sva-replay-controls{padding:10px 14px 14px}.sva-replay-timeline{gap:8px}.sva-replay-timeline time{font-size:14px;min-width:42px}.sva-replay-control-row{gap:12px;display:grid;grid-template-columns:1fr 1fr;margin-top:7px}.sva-replay-control-row>.sva-button{min-width:0;min-height:48px}.sva-replay-rate{flex-direction:column!important;align-items:stretch;gap:5px!important;font-size:14px}.sva-replay-rate select{min-width:0;min-height:48px;font-size:14px;padding:10px 12px}.sva-replay-control-row>.sva-badge{grid-column:1/-1;margin:0;justify-self:start}.sva-replay-overlay .sva-notice{font-size:14px;padding:10px 12px}}.sva-replay-rate>span{white-space:nowrap;flex-shrink:0}:root{font-family:Microsoft JhengHei,PingFang TC,system-ui,-apple-system,sans-serif;color:#294d48;background:#f5f3e9;font-synthesis:none;--ink:#294d48;--muted:#82918a;--teal:#3b9685;--teal-dark:#2d796d;--mint:#dcefe2;--coral:#ec846a;--cream:#fffdf4;--line:#e4e7d9;--shadow:0 9px 24px #2c55400b;font-weight:500}*{box-sizing:border-box}body{margin:0;min-width:360px}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button,input{outline:none}button:focus-visible,input:focus-visible{outline:3px solid #efbe64;outline-offset:4px}button{transition:background .15s,transform .15s,border-color .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}a{color:inherit}svg{display:block;flex-shrink:0}.muted{color:var(--muted);font-size:14px;line-height:1.8}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#6c8c7d}.eyebrow i,.live-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#6dab85}.live-dot{box-shadow:0 0 0 4px #6dab8517}.button{border:1px solid transparent;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:14px;min-height:46px;padding:11px 20px;line-height:1.4;white-space:nowrap}.button.primary{background:var(--teal);color:#fffdf2;box-shadow:0 4px #257d6d;transform:translateY(-1px)}.button.primary:hover:not(:disabled){background:#328875;box-shadow:0 5px #256d5f;transform:translateY(-2px)}.button.secondary{background:#e4f0e3;border-color:#c4dac3;color:#34715d}.button.secondary:hover:not(:disabled){background:#d8ead6;border-color:#96b99c}.button.subtle{background:#fffdf4;border-color:#dde3d5;color:#64796b}.button.subtle:hover:not(:disabled){background:#f3f6e9;border-color:#b8cbb5}.button.small{min-height:36px;font-size:12px;border-radius:9px;padding:8px 13px;gap:7px}.button.full{width:100%}.text-button{border:0;background:none;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 0;color:#6d8875}.text-button:hover:not(:disabled){color:var(--teal-dark)}.icon-button{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:9px;color:#819282}.icon-button:hover:not(:disabled){background:#e8eee0;color:var(--teal-dark)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand strong{display:block;font-size:25px;font-weight:900;letter-spacing:2px;line-height:1.3}.brand small{display:block;font-size:8px;letter-spacing:2.5px;line-height:1.7;font-weight:900;color:#779583}.brand-mark{position:relative;width:45px;height:49px;background:#66baa1;border:2px solid #397965;border-radius:18px 21px 17px 20px;display:flex;align-items:center;justify-content:center;color:#effddd;box-shadow:3px 3px #cee0be}.brand-mark span{position:absolute;bottom:9px;right:6px;width:5px;height:5px;border-radius:50%;background:#c2edda}.brand.small strong{font-size:21px;letter-spacing:1px}.brand.small small{font-size:7px}.brand.small .brand-mark{width:37px;height:41px;border-radius:15px}.brand.small .brand-mark svg{width:25px}.townsfolk{overflow:visible}.initial-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:50px;background:radial-gradient(ellipse at 50% 110%,#d2e7cf,transparent 60%),#f8f5e9}.loading{min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#7f9384;font-size:13px}.bubble-loader{display:flex;align-items:end;gap:6px;height:32px}.bubble-loader i{width:17px;height:17px;border:2px solid #80bfaa;border-radius:50%;background:#d6eee0;animation:bob 1.1s ease-in-out infinite}.bubble-loader i:nth-child(2){animation-delay:.15s;width:25px;height:25px}.bubble-loader i:nth-child(3){animation-delay:.3s}.recovery-card{text-align:center;max-width:430px;display:flex;align-items:center;flex-direction:column;gap:18px}.recovery-card svg{color:#61a18a}.recovery-card p{font-size:14px;color:#809084;line-height:1.8}.spinning{animation:spin 1s linear infinite}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(440px,.85fr)}.auth-story{padding:44px 7% 30px;background:radial-gradient(ellipse at 90% 0%,#f9edcc 0,transparent 55%),#e9eedc;position:relative;display:flex;flex-direction:column;overflow:hidden}.auth-story:before{content:"";position:absolute;left:-40px;bottom:-40px;width:180px;height:190px;border-radius:50%;border:25px solid #cadbbd55}.auth-copy{position:relative;z-index:1;margin-top:65px}.auth-copy h1{font-size:clamp(42px,4.8vw,66px);font-weight:900;letter-spacing:1px;line-height:1.28;margin:20px 0}.auth-copy h1 span{color:#4c9a7a}.auth-copy p{font-size:14px;line-height:1.9;color:#788b75}.auth-art{position:relative;min-height:295px;margin-top:-42px;flex:1}.auth-town{width:100%;position:absolute;right:-6%;bottom:0;max-width:710px}.auth-mint{position:absolute;width:130px;bottom:0;right:50%;filter:drop-shadow(0 8px 0 #557b4417);transform:rotate(-5deg)}.auth-coral{position:absolute;width:108px;bottom:42px;right:14%;transform:rotate(4deg)}.art-caption{position:absolute;right:4%;top:45px;background:#fff7df;color:#7b916b;padding:8px 16px;border-radius:20px;box-shadow:0 3px #cfddbc;font-size:11px;font-weight:700;transform:rotate(6deg)}.auth-benefits{display:flex;justify-content:space-around;gap:10px;padding-top:26px;border-top:1px solid #cdd9c2;position:relative;margin-top:18px;font-size:12px;color:#71826c}.auth-benefits span{display:flex;align-items:center;gap:8px}.auth-panel{background:#fbf9ef;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px 44px;position:relative}.auth-card{position:relative;width:100%;max-width:382px}.auth-card h2{font-size:24px;font-weight:900;letter-spacing:.3px;margin:10px 0 9px}.postmark{position:absolute;right:2px;top:-56px;width:65px;height:65px;border:2px dashed #cfdbc4;border-radius:50%;color:#a6b39a;font-size:8px;letter-spacing:1px;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1.5;transform:rotate(13deg)}.auth-tabs{display:flex;background:#efefdf;border-radius:10px;padding:4px;margin:27px 0 22px}.auth-tabs button{width:50%;min-height:39px;background:none;border:0;border-radius:8px;color:#8b967f;font-size:13px;font-weight:800}.auth-tabs button.active{background:#fffdf4;color:#456f54;box-shadow:0 2px 4px #415f2510}form label{display:flex;flex-direction:column;gap:9px;margin-bottom:19px;font-size:12px;font-weight:800;color:#597261}input:not([type=checkbox]){width:100%;background:#fffef9;border:1px solid #dde2d3;border-radius:10px;padding:13px 14px;height:48px;font-size:13px;color:#355749}input::placeholder{color:#a1ac9d;font-size:12px;font-weight:400}input:hover{border-color:#b9cdb7}input:focus{border-color:#63a78b;box-shadow:0 0 0 3px #63a78b12}.auth-submit{width:100%;justify-content:space-between;margin-top:5px}.form-footnote{font-size:11px;color:#929d88;line-height:1.8;text-align:center;margin-top:19px}.auth-bottom{font-size:11px;color:#a0a992;margin-top:45px;display:flex;align-items:center;gap:9px}.auth-bottom span{color:#c4b57c}.form-error{background:#ffefde;border:1px solid #eac7ad;color:#ae674c;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.7;margin-bottom:16px}.character-picks{display:flex;gap:12px;margin-bottom:22px}.character-pick{position:relative;flex:1;background:#eef2df;border:2px solid transparent;border-radius:13px;padding:8px 15px 10px;display:flex;align-items:center;justify-content:center;gap:12px;height:93px}.character-pick.coral{background:#f9ecd8}.character-pick svg{width:53px;height:73px}.character-pick span{font-size:14px;font-weight:800}.character-pick.selected{border-color:#67a485;box-shadow:0 0 0 3px #67a48510}.character-pick.coral.selected{border-color:#de9276}.character-pick b{position:absolute;right:6px;top:6px;background:#67a485;color:#fff;border-radius:50%;padding:2px}.character-pick.coral b{background:#de9276}.town-app{min-height:100vh;background:radial-gradient(ellipse at 15% 100%,#e4edd7 0,transparent 33%),#f5f3e9}.app-header{height:83px;background:#fffdf5;border-bottom:1px solid #e4e5d6;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:35px;position:relative;z-index:3}.app-header nav{display:flex;gap:8px;align-self:stretch;margin-right:auto;margin-left:28px}.app-header nav button{display:flex;align-items:center;gap:9px;background:none;border:0;position:relative;padding:0 18px;font-size:13px;font-weight:800;color:#8b9683}.app-header nav button.selected{color:#39765d}.app-header nav button.selected:after{content:"";position:absolute;height:3px;bottom:0;left:18px;right:18px;background:#75ad8b;border-radius:3px 3px 0 0}.header-tools{display:flex;align-items:center;gap:10px}.coin-balance{display:flex;align-items:center;gap:7px;border:1px solid #ece3c2;background:#fbf3dc;border-radius:23px;padding:8px 12px;color:#977b39;font-size:11px;margin-right:6px}.coin-balance svg{color:#cbaa54;width:18px}.coin-balance strong{font-size:14px}.coin-balance span{color:#a49362}.header-user{display:flex;align-items:center;gap:9px;border:0;background:none;padding:0 0 0 12px;border-left:1px solid #e7e8da;font-size:12px;font-weight:800}.header-user .townsfolk{height:39px;width:33px;transform:translateY(4px)}.app-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:30px;max-width:1440px;margin:0 auto;padding:33px 36px 42px;align-items:start}.player-sidebar{border:1px solid #dfe4d0;border-radius:17px;background:#fffdf5;box-shadow:var(--shadow);overflow:hidden;text-align:center}.sidebar-heading{display:flex;justify-content:space-between;padding:15px 17px;font-size:11px;font-weight:800;letter-spacing:.1em;color:#8f9b81;border-bottom:1px solid #e9ecdd}.sidebar-heading span:last-child{color:#c3bf84}.profile-portrait{height:175px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 55%,#e8f2da,transparent 60%)}.profile-portrait.coral{background:radial-gradient(ellipse at 50% 55%,#fff0d2,transparent 60%)}.profile-portrait .townsfolk{height:143px;width:115px;position:relative;margin-top:4px}.portrait-ring{position:absolute;top:28px;width:121px;height:121px;border-radius:50%;border:1px dashed #c7d7b9}.online-pill{position:absolute;bottom:1px;background:#e7f1dc;border:1px solid #c8dfb9;border-radius:13px;padding:4px 9px;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:#64875a}.online-pill i{width:4px;height:4px;border-radius:50%;background:#78a560}.player-sidebar h2{font-size:19px;margin-top:12px;max-width:100%;padding:0 14px;overflow-wrap:anywhere}.profile-subtitle{font-size:10px;margin-top:6px;color:#94a089}.profile-stats{display:flex;margin:20px 17px 0;border-top:1px solid #e8ebdd;border-bottom:1px solid #e8ebdd;padding:17px 0}.profile-stats div{width:50%;display:flex;flex-direction:column;gap:5px}.profile-stats div+div{border-left:1px solid #e8ebdd}.profile-stats strong{font-size:23px;color:#4a765f;font-family:Arial,sans-serif}.profile-stats span{font-size:10px;color:#98a18e}.sidebar-note{display:flex;gap:8px;align-items:start;margin:20px 16px;padding:12px 9px;background:#f4f5e7;border-radius:10px;text-align:left;color:#91a273}.sidebar-note p{font-size:10px;line-height:1.9;color:#94a180}.sidebar-note strong{font-weight:600;color:#6b8561;white-space:nowrap}.sidebar-note svg{width:17px;margin-top:2px}.logout{border-top:1px solid #edf0e2;display:flex;justify-content:center;width:100%;padding:16px 0;font-size:10px;color:#9eaa91}.main-content{min-width:0}.home-banner{height:324px;border-radius:19px;position:relative;background:radial-gradient(ellipse at 90% 10%,#f0eac6,transparent 65%),#e5ecda;border:1px solid #d7e1c9;overflow:hidden;box-shadow:var(--shadow)}.banner-copy{position:relative;z-index:2;padding:31px 32px;width:48%}.banner-copy h1{font-size:32px;font-weight:900;letter-spacing:1px;line-height:1.34;margin:12px 0}.banner-copy h1 em{font-style:normal;color:#4c976f}.banner-copy p{font-size:11px;line-height:1.8;color:#869177}.banner-copy .button{margin-top:21px;font-size:12px;min-height:40px;padding:9px 16px}.banner-copy .eyebrow{font-size:9px;letter-spacing:.04em}.banner-art{position:absolute;width:62%;right:-1%;bottom:8px;max-height:316px}.banner-person{position:absolute;right:17%;bottom:9px;width:87px;z-index:1;transform:rotate(4deg)}.banner-tag{position:absolute;right:34px;top:22px;background:#fff4d7;color:#9f9762;border-radius:16px;font-size:10px;padding:7px 12px;transform:rotate(4deg);border:1px solid #e8ddb9}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:20px}.section-heading .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:7px;color:#9dab91}.section-heading h2{font-size:20px;font-weight:900;display:flex;align-items:center;gap:11px}.section-heading h2 span{font-size:10px;background:#e5ead8;color:#83976d;padding:4px 8px;border-radius:10px}.rooms-section{margin-top:30px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.room-card{background:#fffdf5;border:1px solid #e0e5d3;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.room-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2c554013}.room-card-art{height:125px;background:#e5edcf;position:relative;overflow:hidden;background-image:radial-gradient(ellipse at 50% 140%,#c2d4ac 40%,transparent 41%)}.room-card-art.art-1{background-color:#d9eadc}.room-card-art.art-2{background-color:#f5e9ca}.room-phase{position:absolute;left:11px;top:11px;border:1px solid #d5dec7;background:#fbf9e8;display:flex;align-items:center;gap:5px;border-radius:15px;padding:4px 7px;font-size:8px;font-weight:800;color:#9e966e}.room-phase i{width:4px;height:4px;background:#b5a66a;border-radius:50%}.room-phase.waiting{color:#6e8b59}.room-phase.waiting i{background:#7aaa61}.mini-house{position:absolute;width:81px;height:58px;background:#fff4ca;border:2px solid #879879;bottom:13px;left:calc(50% - 40px);border-radius:3px;box-shadow:5px 7px #78985b15;transform:rotate(-4deg)}.mini-house i{position:absolute;left:-8px;top:-22px;width:94px;height:31px;background:#d37b57;clip-path:polygon(8% 50%,50% 0%,94% 44%,100% 100%,0% 100%)}.art-1 .mini-house i{background:#64a590}.art-2 .mini-house i{background:#caac69}.mini-house b{position:absolute;right:12px;bottom:0;width:17px;height:28px;background:#94ad84;border:2px solid #879879;border-bottom:0}.mini-house span{position:absolute;left:13px;bottom:17px;background:#bbd2ae;width:21px;height:20px;border:2px solid #879879;border-radius:3px}.mini-tree{position:absolute;width:36px;height:46px;border-radius:40% 45% 30% 50%;background:#88b578;border:2px solid #709b65;bottom:9px;left:14%;transform:rotate(-8deg)}.mini-tree:before{content:"";width:3px;height:13px;background:#7f8b5b;position:absolute;bottom:-9px;left:14px}.mini-tree:after{content:"";width:21px;height:25px;border-radius:50%;position:absolute;top:-11px;left:5px;background:#8fb77b;border:2px solid #709b65;border-bottom:0}.mini-ball{width:25px;height:25px;background:#8fcec2;border:2px solid #5faaa0;border-radius:50%;position:absolute;bottom:15px;right:18%;box-shadow:2px 4px #879f601a}.mini-ball:after{content:"";position:absolute;left:4px;top:3px;width:7px;height:4px;border-radius:50%;background:#d9f2d7;transform:rotate(-40deg)}.room-card-body{padding:16px 15px}.room-card-body h3{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card-body p{font-size:9px;color:#95a08a;margin-top:7px;display:flex;gap:7px}.room-card-body p span{padding-left:7px;border-left:1px solid #d5ddc8}.room-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:19px}.room-avatars{display:flex;align-items:center;padding-left:0}.room-avatars>span{width:23px;height:23px;border-radius:50%;background:#d8e9c8;border:2px solid #fffdf4;margin-right:-6px;overflow:hidden;position:relative}.room-avatars>span.coral{background:#f4dfba}.room-avatars .townsfolk{position:absolute;left:0;top:2px;width:20px;height:25px}.room-avatars small{font-size:11px;font-weight:800;color:#728564;margin-left:10px;white-space:nowrap}.room-avatars small span{font-weight:500;color:#a6b093;font-size:10px;margin-left:2px}.room-card .button{font-size:10px;min-height:30px;padding:6px 10px;border-radius:8px}.empty-rooms{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:235px;background:#fffdf49c;border:1px dashed #d9e1cb;border-radius:14px;padding:28px;text-align:center}.empty-ball{width:73px;height:64px;color:#8bbe96;display:flex;align-items:center;justify-content:center;background:#edf2df;border-radius:35% 47% 40% 50%;margin-bottom:15px}.empty-rooms h3{font-size:15px}.empty-rooms p{font-size:12px;color:#9aa48c;margin:10px 0 19px;line-height:1.8}.empty-rooms .button{font-size:11px;min-height:36px;padding:8px 13px}.lobby-howto{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:27px;padding:17px 20px;background:#ecefdf;border:1px solid #e3e7d1;border-radius:13px}.lobby-howto>div{position:relative;display:flex;align-items:center;gap:11px;color:#8ca579}.lobby-howto>div>span{position:absolute;right:0;top:0;font-size:19px;color:#d7dec4;font-weight:900;font-style:italic}.lobby-howto svg{width:23px}.lobby-howto p{font-size:9px;line-height:1.8;color:#9ba68c;position:relative}.lobby-howto strong{display:block;font-size:11px;color:#718464;margin-bottom:2px}.app-footer{max-width:1440px;margin:0 auto;padding:0 36px 24px;display:flex;justify-content:space-between;align-items:center;color:#a2aa93;font-size:9px}.app-footer>span:first-child{display:flex;align-items:center;gap:12px}.app-footer>span:first-child>span{color:#b8b680;font-size:12px}.shop-page{padding-top:8px}.shop-page .section-heading h1{font-size:28px;margin-bottom:10px;font-weight:900}.shop-page .section-heading p:last-child{color:#9aa58d;font-size:12px}.shop-badge{width:66px;height:66px;background:#f1e5c7;border-radius:19px;display:flex;align-items:center;justify-content:center;color:#bc9e55;transform:rotate(4deg)}.shop-intro{display:flex;align-items:center;gap:18px;border:1px solid #e3e5ce;background:#eeefd9;padding:18px 22px;border-radius:13px;margin:27px 0;color:#b3a56b}.shop-intro p{font-size:11px;color:#8f9978;line-height:1.9}.shop-intro strong{font-size:10px;font-weight:700;color:#739060}.shop-intro .button{margin-left:auto}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.shop-item{background:#fffdf5;border:1px solid #e0e5d3;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.shop-item-display{height:223px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 110%,color-mix(in srgb,var(--item-color) 30%,#f0ead2),transparent 75%),#f0efdc}.shop-item-display:before{content:"";position:absolute;width:144px;height:144px;top:39px;left:calc(50% - 72px);border:1px dashed #c7d5b0;border-radius:50%}.shop-item-display>.townsfolk{width:126px;height:173px;position:relative}.item-burst{position:absolute;right:25px;top:24px;font-size:25px;line-height:1;color:var(--item-color);transform:rotate(13deg)}.owned-badge{position:absolute;top:13px;left:13px;display:flex;align-items:center;gap:4px;padding:5px 8px;background:#fbfcec;border:1px solid #d5e3c4;color:#789664;border-radius:12px;font-size:9px;font-weight:800}.shop-item-info{padding:21px 18px}.shop-item-info h3{font-size:16px;font-weight:900}.shop-item-info p{margin:9px 0 22px;line-height:1.8;font-size:11px;color:#939f85;min-height:38px}.shop-item-bottom{display:flex;align-items:center;justify-content:space-between}.shop-item-bottom>strong{display:flex;align-items:center;gap:5px;font-size:15px;color:#b1914e}.waiting-room{padding-top:2px}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.room-heading .eyebrow{font-size:9px;margin-bottom:8px}.room-heading h1{font-size:26px;font-weight:900;overflow-wrap:anywhere}.room-heading p:last-child{display:flex;align-items:center;gap:9px;font-size:11px;color:#92a080;margin-top:13px}.inline-separator{margin:0 5px;color:#b7bea9}.waiting-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:23px}.team-lists{display:flex;flex-direction:column;gap:19px}.team-panel{border:1px solid #d6e1c9;background:#fffdf4;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.team-heading{display:flex;align-items:center;gap:10px;background:#e5eed9;padding:11px 15px;border-bottom:1px solid #d6e1c9}.team-emblem{width:34px;height:32px;border-radius:10px;background:#a7ceb4;display:flex;align-items:center;justify-content:center;color:#fffce9;box-shadow:0 2px #87b392}.team-heading h2{font-size:14px;display:flex;align-items:center;gap:10px}.team-heading h2>span{color:#93a780;font-size:9px;font-weight:500}.team-heading .text-button{margin-left:auto;font-size:10px}.team-1 .team-heading{background:#faecda;border-color:#edd6b8}.team-panel.team-1{border-color:#edd6b8}.team-1 .team-emblem{background:#e4ae83;box-shadow:0 2px #cf966e}.team-1 .team-heading h2,.team-1 .text-button{color:#ba805e}.team-1 .team-heading h2>span{color:#c2a588}.player-seat{min-height:79px;padding:11px 15px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf0e2}.player-seat:last-child{border-bottom:0}.player-seat.my-seat{background:#f4f7e9}.team-1 .player-seat.my-seat{background:#fffaec}.seat-avatar{position:relative;flex-shrink:0;width:48px;height:50px;border-radius:12px;background:#e2eed6;overflow:hidden}.seat-avatar.coral{background:#f6e5cb}.seat-avatar .townsfolk{position:absolute;height:64px;width:45px;left:1px;top:3px}.seat-name{min-width:0;flex:1}.seat-name strong{display:flex;align-items:center;gap:8px;font-size:12px;overflow-wrap:anywhere}.seat-name strong small,.roster-player small{display:inline-flex;padding:2px 4px;border-radius:4px;background:#dae9c7;font-size:8px;color:#7a9c60;font-weight:700;flex-shrink:0}.seat-name>span{display:block;color:#a4af93;font-size:9px;margin-top:6px}.seat-ready{color:#b6b99f;font-size:9px;display:flex;align-items:center;gap:4px;white-space:nowrap}.seat-ready.is-ready{background:#e2edce;border:1px solid #c5d9ad;color:#7e9c5f;padding:4px 6px;border-radius:10px;font-size:8px;font-weight:800}.vacant{color:#b3bea1;font-size:10px;background:#fffef7}.vacant-avatar{width:48px;height:47px;border:1px dashed #dce3ce;background:#f6f7ec;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#d1dabe}.team-1 .vacant-avatar{border-color:#eddfc6;background:#fcf7e9;color:#e2d5bd}.room-map-card{border:1px solid #e1e4cb;background:#f7f4e4;border-radius:15px;overflow:hidden;text-align:center;padding-bottom:18px;align-self:start}.map-art{background:#e3edd7;height:201px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:23px}.map-art svg{min-width:340px;transform:translate(-7px)}.room-map-card>.eyebrow{justify-content:center;font-size:9px}.room-map-card>h2{font-size:21px;margin-top:8px}.room-map-card>p{color:#96a285;font-size:10px;line-height:1.9;margin-top:13px}.map-tags{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 10px}.map-tags span{font-size:9px;border:1px solid #d9dfc4;background:#fdfbec;border-radius:7px;padding:5px 8px;color:#8c9a78}.room-tip{display:flex;align-items:start;gap:7px;background:#ecefda;margin:22px 17px 0;padding:12px 10px;border-radius:10px;text-align:left;color:#8a9b75}.room-tip svg{width:16px;margin-top:3px}.room-tip p{font-size:9px;line-height:1.8;color:#9aa383}.room-action-bar{border:1px solid #dae1c8;background:#edf0dd;border-radius:13px;padding:17px 21px;margin-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.room-action-bar>div:first-child{display:flex;align-items:center;gap:12px;color:#89a679}.room-action-bar p strong{display:block;font-size:12px;color:#617e56}.room-action-bar p span{display:block;color:#95a483;font-size:9px;margin-top:6px}.room-action-buttons{display:flex;align-items:center;gap:10px}.room-action-buttons .button{font-size:11px;min-height:40px;padding:9px 13px}.connection-banner{display:flex;align-items:center;gap:13px;background:#fff0d8;border:1px solid #ead5b6;border-radius:12px;padding:15px 17px;margin-bottom:18px}.connection-banner strong{display:block;font-size:12px;color:#a4824c}.connection-banner span:not(.live-dot):not(.offline-dot){font-size:10px;color:#b9a076;display:block;margin-top:5px}.connection-banner .button{margin-left:auto}.offline-dot{width:7px;height:7px;border-radius:50%;background:#d48f67}.connection-banner>.live-dot{animation:blink 1s infinite;background:#c5a366;box-shadow:0 0 0 4px #c5a36613}.in-game .app-header{height:72px}.in-game .header-user{max-width:150px}.game-layout{display:block;max-width:1360px;padding-top:24px;padding-bottom:24px}.match-toolbar{display:flex;align-items:center;justify-content:space-between;position:relative;gap:30px;margin-bottom:20px}.match-toolbar>div:first-child{min-width:155px}.match-toolbar h2{font-size:21px;margin-top:6px}.match-toolbar .eyebrow{font-size:9px}.match-clock{display:flex;align-items:center;gap:9px;color:#799971;background:#fdfbf0;border:1px solid #dbe3cb;border-radius:13px;padding:9px 15px;box-shadow:0 2px #dbe3cb}.match-clock strong{font-family:Arial Rounded MT Bold,Arial,sans-serif;font-size:27px;letter-spacing:1px;color:#537c5a;font-weight:800}.match-clock>span{font-size:9px;color:#a2ac92;margin-left:3px}.match-clock.urgent{background:#fff1dc;border-color:#ebc8a5;color:#c57e58}.match-clock.urgent strong{color:#bc7353}.match-toolbar-right{display:flex;align-items:center;gap:17px}.hint-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:#96a388;cursor:pointer}.hint-toggle input{position:absolute;opacity:0;width:1px;height:1px}.hint-toggle span{display:block;width:27px;height:16px;border-radius:10px;background:#cad4bd;position:relative;transition:background .2s}.hint-toggle span:after{content:"";width:10px;height:10px;border-radius:50%;position:absolute;left:3px;top:3px;background:#fdf9e9;transition:left .2s}.hint-toggle input:checked+span{background:#8eae76}.hint-toggle input:checked+span:after{left:14px}.hint-toggle input:focus-visible+span{outline:3px solid #efbe64;outline-offset:3px}.match-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:24px;align-items:start}.match-roster{border:1px solid #dfe4ce;background:#fffdf4;border-radius:15px;overflow:hidden;padding-bottom:17px}.roster-heading{display:flex;align-items:center;gap:8px;background:#eff2e2;padding:15px 12px;color:#8b9f77;font-size:10px;font-weight:800;border-bottom:1px solid #e5ebd4}.roster-team{margin:18px 11px 0}.roster-team>h3{display:flex;align-items:center;gap:6px;font-size:10px;color:#71a076;margin:0 4px 10px}.roster-team>h3 i{width:6px;height:6px;border-radius:50%;background:#8abf98}.roster-team.team-1>h3{color:#c9926c}.roster-team.team-1>h3 i{background:#dfa07b}.roster-player{display:flex;align-items:center;gap:8px;padding:9px 4px;border-bottom:1px solid #eef1e2}.roster-player:last-child{border-bottom:0}.roster-player.out{opacity:.4}.roster-avatar{width:35px;height:36px;background:#e8efdc;border-radius:10px;overflow:hidden;position:relative;flex-shrink:0}.roster-avatar.coral{background:#f9edd6}.roster-avatar .townsfolk{width:33px;height:43px;position:absolute;top:2px;left:1px}.roster-player>div:last-child{min-width:0}.roster-player strong{font-size:10px;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.roster-player small{font-size:7px;padding:2px 3px}.roster-player span{font-size:8px;color:#a5b298;display:block;margin-top:5px}.roster-player .trapped{color:#cf9660}.roster-tip{display:flex;align-items:start;gap:8px;background:#eef1de;margin:20px 12px 0;padding:11px 9px;border-radius:9px;color:#9cab7e}.roster-tip svg{width:17px;margin-top:3px}.roster-tip p{font-size:9px;line-height:1.8;color:#99a383}.roster-tip strong{font-weight:700;color:#7c9665}.game-column{min-width:0}.game-shell{border:2px solid #8ca17a;background:#c4dab5;border-radius:18px;padding:8px;box-shadow:0 5px #9cae8a,0 12px 25px #556c4b15;position:relative;overflow:hidden}.phaser-stage{width:100%;position:relative;overflow:hidden;border-radius:10px;background:#bed4ad;aspect-ratio:840/728;touch-action:none}.phaser-stage>div{position:absolute;inset:0}.phaser-stage canvas{display:block;image-rendering:auto}.canvas-stamp{position:absolute;right:20px;bottom:19px;font-size:7px;font-weight:900;letter-spacing:1.5px;color:#78956b;pointer-events:none}.game-shell>.loading{min-height:545px}.game-controls{display:flex;align-items:center;justify-content:center;gap:19px;margin-top:22px;font-size:9px;color:#91a183}.game-controls>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.game-controls kbd{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;border:1px solid #d5dec5;border-bottom-width:2px;background:#fffdf1;border-radius:4px;padding:4px 5px;min-width:19px;height:22px;color:#839776;font-family:inherit}.game-controls>span:first-child kbd{min-width:18px;width:18px;padding:2px}.match-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;margin-left:219px;font-size:9px;color:#a0ac91}.match-bottom>span:first-child{display:flex;align-items:center;gap:7px}.match-bottom .live-dot{width:5px;height:5px;box-shadow:none}.game-focus-shade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#2c533723;z-index:2;pointer-events:none}.game-focus-card{background:#fffbeded;border:1px solid #f6f8de;border-radius:13px;padding:15px 20px;box-shadow:0 5px 18px #2853382b;text-align:center;color:#4b755d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.game-focus-card>strong{display:block;font-size:14px}.game-focus-card>span{display:block;font-size:10px;margin-top:7px;color:#8a9c7a}.game-focus-card .button{margin-top:13px;min-height:34px;font-size:11px;padding:7px 15px}.touch-pad{display:none}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:12px;background:#fffaf0;border:1px solid #d4dfc7;border-radius:13px;padding:11px 12px 11px 17px;box-shadow:0 8px 30px #354e2520;max-width:calc(100vw - 30px);font-size:12px;line-height:1.7;animation:toast-in .2s ease-out;color:#638852}.toast.error{border-color:#e8ccb0;color:#b57e56;background:#fff5e7}.toast .icon-button{color:inherit;width:27px;height:27px;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:#344e4147;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.modal-card{position:relative;background:#fffdf2;border:1px solid #e5e8d3;border-radius:22px;box-shadow:0 16px 60px #2e493d27;padding:31px;max-width:100%;width:426px;animation:modal-in .25s ease-out}.modal-close{position:absolute;right:13px;top:13px;color:#99aa89}.modal-card h2{font-size:24px;font-weight:900;margin:10px 0}.modal-card>.eyebrow{margin-top:7px;font-size:9px}.modal-illustration{background:#e5eeda;color:#87b697;width:75px;height:75px;border-radius:23px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:20px}.modal-illustration span{position:absolute;right:-7px;top:0;color:#d6b562;font-size:23px}.create-modal .muted{font-size:12px;margin-bottom:25px}.create-modal form label{font-size:11px}.create-details{display:flex;gap:15px;border-top:1px solid #e6ead4;margin:3px 0 25px;padding-top:17px;color:#95a184}.create-details>span{display:flex;align-items:center;gap:6px;font-size:10px}.help-modal{width:510px;padding:33px}.help-modal h2{font-size:23px}.help-steps{margin:27px 0;display:flex;flex-direction:column;gap:23px}.help-steps>div{display:flex;gap:13px;align-items:start}.help-steps b{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#e5edd4;color:#829b69;font-size:11px;flex-shrink:0}.help-steps p{font-size:11px;color:#95a185;line-height:1.9}.help-steps strong{display:block;color:#5d7b55;font-size:12px;margin-bottom:4px}.result-backdrop{background:#3a513949;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.result-modal{width:510px;text-align:center;padding:28px 32px 23px;overflow:hidden}.result-modal>.eyebrow{justify-content:center;font-size:9px;letter-spacing:.16em;margin:0 0 12px}.result-medal{width:88px;height:86px;border-radius:50%;background:#e8efd5;border:1px solid #d3dfb9;color:#8ca66b;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 4px #cfddaf}.result-modal.won .result-medal{background:#fbefd0;border-color:#e9d398;color:#c3a054;box-shadow:0 4px #e3c889}.result-modal h1{font-size:28px;letter-spacing:.5px;margin:0 0 9px;font-weight:900}.result-modal>p{font-size:11px;color:#9da88d;line-height:1.8}.result-players{margin:24px 0 17px;border:1px solid #e2e8d0;border-radius:11px;background:#f4f6e6;overflow:hidden;text-align:left}.result-players>div{padding:10px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e4e9d3;font-size:11px;color:#aebca0}.result-players>div:last-child{border-bottom:0}.result-players>div.winner{background:#f9f2d9;color:#c7b570}.result-players strong{display:flex;gap:6px;align-items:center;color:#70855f;flex:1;min-width:0;overflow-wrap:anywhere;font-size:10px}.result-players small{font-size:8px;background:#e7edcf;color:#8fa76e;border-radius:4px;padding:2px 3px}.result-team{font-size:8px;background:#e2edce;color:#83a46b;padding:4px 6px;border-radius:7px}.result-team.team-1{background:#f5e5c8;color:#c49b6e}.result-reward{display:flex;align-items:center;gap:4px;color:#af995b;min-width:39px;font-size:10px;font-weight:800}.my-reward{display:flex;align-items:center;justify-content:center;gap:9px;background:#f1ebd4;border-radius:11px;padding:12px 9px;color:#b8a267;font-size:10px;margin:0 0 23px}.my-reward strong{font-size:15px;margin:0 3px;color:#a28b4c}.my-reward>span:last-child{font-size:9px;padding-left:10px;border-left:1px solid #ded9bc;color:#a99f73}.result-leave{margin-top:17px;font-size:10px;color:#a3b18e}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;width:6px;height:10px;background:#dfc971;transform:rotate(25deg);left:32px;top:72px;border-radius:1px}.confetti i:nth-child(2){left:auto;right:55px;top:109px;background:#82b997;transform:rotate(-33deg);height:7px}.confetti i:nth-child(3){left:78px;top:153px;width:5px;height:5px;border-radius:50%;background:#df9979}.confetti i:nth-child(4){left:auto;right:28px;top:42px;background:#df9979;transform:rotate(80deg)}.confetti i:nth-child(5){left:95px;top:40px;background:#92be9c;transform:rotate(-27deg)}.confetti i:nth-child(6){left:auto;right:101px;top:65px;background:#e4d99b;width:5px;height:5px;border-radius:50%}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}@keyframes toast-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:1550px){.app-layout{gap:35px}.banner-copy{padding:36px 40px}.banner-copy h1{font-size:36px}.banner-art{width:61%;max-height:330px;bottom:0}.home-banner{height:345px}.banner-person{width:97px}.room-card-art{height:143px}.auth-copy{margin-top:85px}.auth-art{margin-top:-70px}.auth-mint{width:151px}.auth-coral{width:124px}.auth-benefits{padding-top:30px}.game-layout{max-width:1290px}.match-layout{grid-template-columns:210px minmax(0,1fr)}.match-bottom{margin-left:234px}}@media(max-width:1160px){.app-header{padding:0 23px;gap:16px}.app-header nav{margin-left:10px}.app-header nav button{padding:0 12px;font-size:12px}.app-layout{padding:27px 23px;grid-template-columns:185px minmax(0,1fr);gap:23px}.header-user span{display:none}.header-user{padding-left:7px}.header-tools{gap:5px}.coin-balance{margin-right:3px}.banner-copy{padding:28px 25px;width:52%}.banner-copy h1{font-size:28px}.home-banner{height:303px}.banner-art{width:62%;right:-5%;bottom:23px}.banner-person{right:14%;width:75px}.banner-tag{right:18px;top:26px;font-size:8px}.room-grid{gap:12px}.room-card-body{padding:13px 11px}.room-card-art{height:114px}.mini-house{width:68px;height:49px;left:calc(50% - 34px)}.mini-house i{width:80px;height:26px;left:-8px;top:-18px}.room-card-body h3{font-size:12px}.room-avatars>span{width:20px;height:20px}.room-avatars small{font-size:10px;margin-left:8px}.room-card .button{padding:6px 8px;gap:3px}.waiting-layout{grid-template-columns:minmax(0,1fr) 212px;gap:16px}.room-map-card .map-art{height:181px}.room-tip{margin:20px 11px 0}.team-heading h2{font-size:13px}.seat-avatar{width:42px;height:45px}.seat-name strong{font-size:11px}.player-seat{padding:10px 11px;gap:10px}.seat-ready{font-size:8px}.room-action-bar{padding:15px;gap:12px}.room-action-bar>div:first-child>svg{display:none}.room-action-bar p strong{font-size:11px}.room-action-buttons .button{padding:9px 11px;font-size:10px}.profile-stats{margin:20px 13px 0}.sidebar-note{margin:20px 11px;padding:11px 7px}.sidebar-note p{font-size:9px}.game-layout{display:block}.match-layout{grid-template-columns:174px minmax(0,1fr);gap:20px}.match-toolbar-right{gap:10px}.match-bottom{margin-left:194px}.game-controls{gap:11px}.shop-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:minmax(0,1fr) minmax(415px,.9fr)}.auth-panel{padding:48px 38px}.auth-copy h1{font-size:48px}.auth-copy{margin-top:60px}.auth-art{min-height:290px;margin-top:0}.auth-town{right:-14%;width:123%;bottom:35px}.auth-mint{width:100px;right:45%;bottom:13px}.auth-coral{width:94px;right:2%;bottom:42px}.auth-story{padding:40px 6% 28px}.auth-copy p{font-size:12px}.auth-benefits span{font-size:10px;gap:5px}.auth-benefits svg{width:17px}.art-caption{top:19px;right:-6%;font-size:9px}.auth-benefits{margin-top:8px;justify-content:space-between;gap:7px}}@media(max-width:920px){.app-header{height:75px;padding:0 17px;gap:12px}.brand.small strong{font-size:18px}.brand.small .brand-mark{width:32px;height:36px;border-radius:13px}.brand.small small{font-size:6px;letter-spacing:1.8px}.app-header nav{margin-left:0;gap:0}.app-header nav button{padding:0 10px;font-size:11px;gap:6px}.app-header nav svg{width:16px}.coin-balance span{display:none}.coin-balance{padding:7px 9px}.header-tools .icon-button{width:30px}.app-layout{grid-template-columns:160px minmax(0,1fr);padding:25px 17px;gap:19px}.profile-portrait{height:151px}.profile-portrait .townsfolk{height:123px;width:99px}.portrait-ring{width:106px;height:106px;top:23px}.player-sidebar h2{font-size:16px}.profile-subtitle{font-size:9px}.profile-stats strong{font-size:20px}.profile-stats span{font-size:9px}.sidebar-note{padding:10px 8px;gap:5px}.sidebar-note svg{display:none}.sidebar-note p{font-size:9px}.sidebar-heading{font-size:9px;padding:13px}.banner-copy{padding:25px 22px;width:55%}.banner-copy h1{font-size:26px}.banner-copy p{font-size:10px}.banner-art{right:-11%;bottom:33px;width:66%}.banner-person{right:12%;bottom:14px;width:66px}.banner-tag{display:none}.home-banner{height:284px}.banner-copy .button{font-size:11px;padding:9px 11px;margin-top:19px}.banner-copy .eyebrow{font-size:8px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.room-card-art{height:123px}.room-card-body{padding:15px}.section-heading h2{font-size:17px}.section-heading .button{font-size:10px;padding:7px 10px}.lobby-howto{padding:16px 13px;gap:13px}.lobby-howto>div{gap:7px}.lobby-howto svg{width:20px}.lobby-howto p{font-size:8px}.lobby-howto strong{font-size:10px}.lobby-howto>div>span{display:none}.waiting-layout{grid-template-columns:1fr}.room-map-card{display:none}.team-lists{gap:18px}.room-action-bar{align-items:start;flex-direction:column}.room-action-buttons{width:100%;justify-content:end}.room-action-bar p span{font-size:10px}.room-heading h1{font-size:22px}.room-heading p:last-child{font-size:9px;gap:6px}.team-heading h2{font-size:14px}.player-seat{padding:11px 14px;gap:12px}.seat-avatar{width:45px;height:48px}.seat-name strong{font-size:12px}.seat-ready.is-ready{font-size:9px;padding:4px 7px}.game-layout{display:block}.match-layout{grid-template-columns:145px minmax(0,1fr);gap:15px}.roster-heading{font-size:9px;padding:13px 10px}.roster-heading svg{width:16px}.roster-team{margin:15px 7px 0}.roster-avatar{width:29px;height:32px}.roster-avatar .townsfolk{width:28px;height:36px}.roster-player{gap:7px;padding:8px 2px}.roster-player strong{font-size:9px}.roster-player span{font-size:7px}.roster-tip{padding:9px 7px;margin:17px 9px 0;gap:5px}.roster-tip svg{display:none}.match-clock{padding:8px 11px}.match-clock strong{font-size:24px}.match-clock>span{display:none}.match-toolbar .eyebrow{font-size:8px}.match-toolbar h2{font-size:18px}.hint-toggle{font-size:9px}.match-toolbar-right{gap:10px}.match-toolbar-right .button{font-size:9px;padding:7px 10px}.match-toolbar{gap:15px}.game-shell{padding:6px;border-radius:13px}.game-controls{gap:10px;font-size:8px;flex-wrap:wrap}.game-controls kbd{font-size:8px;height:20px;padding:3px 4px}.game-controls>span:last-child{display:none}.match-bottom{margin-left:160px;font-size:8px}.shop-grid{gap:16px}.shop-item-display{height:191px}.shop-item-display>.townsfolk{height:149px;width:105px}.shop-item-display:before{width:125px;height:125px;left:calc(50% - 62.5px);top:35px}.shop-intro{padding:16px;gap:12px}.shop-intro .button{font-size:9px}.shop-intro p{font-size:10px}.shop-intro svg{width:24px}.shop-item-info{padding:18px 15px}.shop-item-info h3{font-size:14px}.shop-item-info p{font-size:10px}.auth-page{grid-template-columns:1fr 390px}.auth-story{padding:32px 6% 24px}.auth-copy h1{font-size:43px}.auth-copy .eyebrow{font-size:9px;letter-spacing:.05em}.auth-copy{margin-top:67px}.auth-copy p{font-size:11px}.auth-art{min-height:241px}.auth-mint{width:93px;bottom:4px}.auth-coral{width:81px;right:-7%;bottom:48px}.auth-town{bottom:63px;right:-20%;width:138%}.auth-benefits{display:none}.auth-panel{padding:48px 31px}.auth-card h2{font-size:21px}.auth-card>.muted{font-size:12px}.auth-tabs{margin:25px 0 20px}.postmark{width:57px;height:57px;top:-61px}.art-caption{display:none}.app-footer{padding:0 17px 21px}}@media(max-width:730px){.auth-page{display:flex;flex-direction:column}.auth-story{padding:26px 25px;height:290px;display:block}.auth-story .brand strong{font-size:21px}.auth-story .brand-mark{width:37px;height:42px}.auth-copy{margin-top:28px}.auth-copy h1{font-size:30px;margin:12px 0;line-height:1.3}.auth-copy .eyebrow{font-size:8px;max-width:58%}.auth-copy p{display:none}.auth-art{position:absolute;width:52%;height:221px;right:11px;bottom:0;min-height:0;margin:0}.auth-town{width:140%;bottom:32px;right:-5%}.auth-mint{width:72px;right:47%;bottom:7px}.auth-coral{width:62px;right:1%;bottom:47px}.auth-panel{padding:37px 27px 25px}.auth-card{max-width:392px}.auth-card .eyebrow,.postmark{display:none}.auth-card h2{font-size:24px;margin:0 0 8px}.auth-bottom{margin-top:30px}.auth-tabs{margin:24px 0 21px}.app-header{height:69px;padding:0 15px;gap:10px;flex-wrap:wrap}.app-header nav{display:none}.brand.small strong{font-size:20px}.brand.small small{font-size:6px;letter-spacing:2px}.brand.small .brand-mark{width:34px;height:38px}.header-tools{margin-left:auto}.header-user{display:none}.coin-balance{padding:7px 9px;margin-right:3px}.coin-balance strong{font-size:12px}.header-tools .icon-button{width:28px;height:30px}.header-tools .icon-button svg{width:18px}.app-layout{display:block;padding:21px 15px 27px}.player-sidebar{display:none}.home-banner{height:276px}.banner-copy{padding:26px 22px;width:56%}.banner-copy h1{font-size:29px;margin:12px 0}.banner-copy .eyebrow{font-size:8px}.banner-copy p{font-size:10px}.banner-art{width:63%;right:-8%;bottom:13px}.banner-person{width:70px;right:14%;bottom:10px}.banner-copy .button{font-size:11px;margin-top:19px;padding:9px 14px}.rooms-section{margin-top:26px}.room-grid{grid-template-columns:repeat(2,1fr);gap:13px}.room-card-art{height:126px}.room-card-body{padding:14px 12px}.room-card-body h3{font-size:13px}.room-card .button{padding:6px 10px}.lobby-howto{margin-top:23px;padding:16px 14px}.lobby-howto strong{font-size:10px}.lobby-howto p{font-size:8px}.app-footer{font-size:8px;padding:0 15px 18px}.app-footer>span:last-child{display:none}.room-heading{margin:0 0 22px;gap:10px}.room-heading h1{font-size:23px}.room-heading p:last-child{font-size:10px}.room-heading .button{font-size:10px;padding:7px 10px}.team-heading h2{font-size:14px}.player-seat{min-height:78px;padding:10px 14px}.team-lists{gap:17px}.waiting-layout{display:block}.room-action-bar{margin-top:20px;padding:17px}.room-action-bar p strong{font-size:12px}.room-action-bar p span{font-size:10px}.room-action-buttons .button{font-size:11px;padding:9px 14px}.game-layout{padding:20px 12px}.in-game .app-header{height:63px}.match-layout{display:flex;flex-direction:column-reverse;gap:20px}.game-column{width:100%}.match-roster{width:100%;display:grid;grid-template-columns:1fr 1fr;padding:0 0 8px}.roster-heading{grid-column:1/-1;font-size:10px;padding:10px 13px}.roster-team{margin:13px 12px 0}.roster-team+div{border-left:1px solid #e5e9d7;padding-left:10px;margin-left:0}.roster-team>h3{font-size:10px}.roster-player strong{font-size:10px}.roster-player span{font-size:8px}.roster-player{padding:7px 4px;gap:8px}.roster-avatar{width:33px;height:34px}.roster-avatar .townsfolk{width:30px;height:40px}.roster-tip{display:none}.match-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:18px}.match-toolbar h2{font-size:18px}.match-toolbar>div:first-child{min-width:0;flex:1}.match-toolbar-right{gap:13px;flex-basis:100%;justify-content:end;position:absolute;bottom:-52px;right:13px;z-index:4}.match-toolbar-right .button{display:none}.hint-toggle{font-size:8px;color:#68815f;background:#eef4daba;border-radius:8px;padding:5px 8px}.hint-toggle span{width:22px;height:14px}.hint-toggle span:after{width:8px;height:8px}.hint-toggle input:checked+span:after{left:11px}.match-clock{padding:7px 10px;border-radius:10px;gap:7px}.match-clock svg{width:19px}.match-clock strong{font-size:23px}.match-bottom{margin-left:0;font-size:8px;padding-top:16px}.game-controls{margin-top:16px;gap:10px;justify-content:center;flex-wrap:wrap}.game-controls>span{font-size:8px}.game-controls>span:first-child{display:none}.game-shell{padding:5px;border-radius:13px;box-shadow:0 4px #9cae8a,0 9px 20px #556c4b15}.canvas-stamp{right:12px;bottom:13px;font-size:5px;letter-spacing:1px}.shop-page{padding-top:4px}.shop-page .section-heading h1{font-size:25px}.shop-badge{width:54px;height:54px;border-radius:16px}.shop-intro{flex-wrap:wrap}.shop-intro .button{margin-left:auto}.shop-grid{grid-template-columns:repeat(2,1fr);gap:15px}.shop-item-display{height:201px}.shop-item-display>.townsfolk{height:157px;width:112px}.shop-item-info{padding:17px 13px}.shop-item-info h3{font-size:14px}.shop-item-info p{font-size:9px}.shop-item-bottom .button{font-size:9px;padding:7px 9px}.shop-item-bottom>strong{font-size:13px}.modal-card{padding:26px;width:410px;border-radius:18px}.modal-backdrop{padding:18px}.modal-card h2{font-size:22px}.result-modal{width:465px;padding:24px 23px 20px}.result-modal h1{font-size:26px}.result-medal{width:76px;height:76px;margin-bottom:16px}.result-medal svg{width:42px}.result-players{margin-top:20px}.my-reward{font-size:9px;gap:7px}.my-reward>span:last-child{font-size:8px;padding-left:8px}.touch-pad{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:0 10px;gap:20px;-webkit-user-select:none;user-select:none}.direction-pad{width:125px;height:109px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px}.direction-pad button{background:#e3ebd4;border:1px solid #c7d5b6;border-bottom-width:3px;border-radius:8px;font-size:18px;color:#7e986d;touch-action:none;min-width:35px}.direction-pad button.up{grid-column:2;grid-row:1}.direction-pad button.left{grid-column:1;grid-row:2}.direction-pad button.down{grid-column:2;grid-row:3}.direction-pad button.right{grid-column:3;grid-row:2}.touch-actions{display:flex;align-items:center;gap:15px}.touch-actions button{touch-action:none;display:flex;align-items:center;justify-content:center;flex-direction:column;width:68px;height:68px;background:#ddeccf;border:1px solid #b8d1a7;border-bottom-width:4px;border-radius:50%;color:#79a570;font-size:9px;gap:4px}.touch-actions button:last-child{width:55px;height:55px;background:#f5e8cb;border-color:#dfcba2;color:#b7a16d}.touch-actions button>svg{width:25px}.touch-actions button:last-child>svg{width:19px}}@media(max-width:420px){.auth-story{height:260px;padding:22px}.auth-copy{margin-top:24px}.auth-copy h1{font-size:27px}.auth-art{right:8px;bottom:0;width:53%;height:195px}.auth-town{bottom:34px}.auth-mint{width:66px}.auth-coral{width:56px;bottom:37px}.auth-panel{padding:30px 22px 22px}.auth-card h2{font-size:22px}.brand.small strong{font-size:18px}.brand.small .brand-mark{width:30px;height:35px}.header-tools{gap:2px}.app-header{padding:0 12px}.app-layout{padding:19px 12px 25px}.home-banner{height:267px}.banner-copy{padding:24px 18px;width:59%}.banner-copy h1{font-size:26px}.banner-copy .eyebrow{font-size:7px;letter-spacing:0}.banner-copy p{font-size:9px}.banner-art{width:67%;right:-17%;bottom:32px}.banner-person{right:8%;width:60px;bottom:13px}.banner-copy .button{font-size:10px;padding:9px 12px}.room-card-art{height:112px}.room-card-body{padding:13px 10px}.room-card-body h3{font-size:12px}.room-card .button{font-size:9px;padding:6px 8px;gap:3px}.room-avatars>span:nth-child(n+3){display:none}.room-avatars small{margin-left:8px;font-size:9px}.room-card-body p{font-size:8px}.room-grid{gap:11px}.section-heading h2{font-size:16px;gap:6px}.section-heading .button{font-size:9px}.lobby-howto{padding:14px 10px;gap:7px}.lobby-howto>div{gap:6px}.lobby-howto svg{width:17px}.lobby-howto strong{font-size:9px}.lobby-howto p{font-size:7px}.room-heading h1{font-size:20px}.room-heading p:last-child{font-size:8px;gap:5px}.room-heading .button{font-size:9px}.room-heading p .inline-separator{margin:0 2px}.player-seat{padding:10px 12px;gap:10px}.seat-name strong{font-size:11px}.seat-ready.is-ready{font-size:8px;padding:4px 6px}.seat-avatar{width:43px}.waiting-room .room-action-bar{padding:14px}.room-action-bar p strong{font-size:11px}.room-action-bar p span{font-size:9px}.shop-grid{gap:11px}.shop-item-display{height:175px}.shop-item-display>.townsfolk{height:141px;width:96px}.shop-item-display:before{height:109px;width:109px;left:calc(50% - 54.5px);top:33px}.shop-item-info{padding:16px 11px}.shop-item-info p{min-height:48px;margin-bottom:16px}.shop-item-info h3{font-size:13px}.item-burst{font-size:20px;right:18px;top:18px}.owned-badge{font-size:8px;left:10px;top:10px}.shop-item-bottom .button{font-size:8px;padding:6px 8px}.shop-item-bottom>strong{font-size:12px}.match-toolbar{margin-bottom:17px}.match-clock strong{font-size:21px}.game-controls{gap:8px}.my-reward>span:last-child{display:none}.result-modal h1{font-size:24px}.modal-card .button{font-size:12px}.result-players>div{gap:7px;padding:9px 10px}.result-team{font-size:7px}.result-reward{font-size:9px}.help-steps{gap:19px}.help-steps p{font-size:10px}.help-steps strong{font-size:11px}.help-modal h2{font-size:20px}.game-focus-card{padding:12px 16px}.game-focus-card>strong{font-size:12px}.game-focus-card>span{font-size:9px}}.banner-copy h1{white-space:nowrap}@media(min-width:731px){.game-shell{max-width:min(100%,calc((100dvh - 300px) * 1.153846 + 20px));margin-inline:auto}.game-controls{margin-top:17px}.match-bottom{padding-top:14px}}.profile-modal{text-align:center;width:380px}.profile-modal>.eyebrow{justify-content:center}.profile-modal>.townsfolk{width:137px;height:180px;margin:19px auto 14px}.profile-modal h2{margin-bottom:5px}.profile-modal>.muted{font-size:11px}.profile-modal>.text-button{margin-top:17px;font-size:10px;color:#99a88a}.profile-modal-stats{display:flex;margin:22px 0 26px;padding:17px 0;border-top:1px solid #e3e9d1;border-bottom:1px solid #e3e9d1}.profile-modal-stats>div{display:flex;flex-direction:column;gap:7px;flex:1}.profile-modal-stats>div+div{border-left:1px solid #e3e9d1}.profile-modal-stats strong{font-size:23px;color:#7b9b66;font-family:Arial,sans-serif}.profile-modal-stats span{font-size:9px;color:#a2af91}@media(max-width:730px){.app-header{height:112px;align-content:space-between;padding-top:11px;padding-bottom:0}.app-header nav{display:flex;order:3;flex-basis:100%;height:43px;align-self:auto;border-top:1px solid #edf0e0;justify-content:center;margin:auto 0 0}.app-header nav button{padding:0 18px;flex:1;justify-content:center;font-size:11px}.app-header nav button.selected:after{left:15%;right:15%}.header-user{display:flex;padding:0;border:0;margin-left:2px}.header-user>.townsfolk{width:28px;height:35px}.header-user>span{display:none}.in-game .app-header{height:63px;flex-wrap:nowrap;padding-top:0;align-content:center}.in-game .app-header nav{display:none}.profile-modal>.townsfolk{height:150px;width:116px}.profile-modal{width:350px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.local-practice{max-width:1250px;margin:0 auto;padding:28px;color:#d7ebff}.local-practice>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.practice-selectors{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0}.practice-selectors fieldset{border:1px solid #416889;border-radius:20px;padding:18px}.practice-selectors legend{padding:0 10px;font-weight:700}.practice-characters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.practice-characters button{background:#172d48;color:#e2edff;border:2px solid transparent;border-radius:15px;min-height:105px;cursor:pointer}.practice-characters button.selected{border-color:#52dfff;background:#214560}.practice-characters .wb-character-portrait{height:75px;display:block}.practice-options{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.practice-options label{display:grid;gap:8px}.practice-options select{padding:12px;background:#17334d;color:#fff;border:1px solid #6584a3;border-radius:10px}.practice-match{max-width:920px;margin:22px auto}.practice-match-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.practice-match .game-shell{aspect-ratio:840/728}.practice-result{text-align:center;padding:20px;background:#193b55;border-radius:16px;margin-top:18px}@media(max-width:650px){.local-practice{padding:16px}.practice-selectors{grid-template-columns:1fr}.local-practice>header{align-items:start}.practice-match-tools>strong{width:100%}}.practice-characters img{height:75px;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto}:root{--wb-bg:#09142b;--wb-panel:#122441;--wb-line:#304b70;--wb-cyan:#52dfff;--wb-yellow:#ffe15a;--wb-coral:#ff987e;--wb-text:#edf5ff;--wb-muted:#a9bedb}body{background:var(--wb-bg);color:var(--wb-text);font-family:Microsoft JhengHei,PingFang TC,system-ui,sans-serif;font-size:15px}body .town-app{background:radial-gradient(ellipse at 15% 30%,#123454 0,transparent 48%),#09142b;color:#edf5ff;min-height:100dvh}body .player-sidebar,body .empty-rooms,body .room-map-card,body .profile-modal-stats{background:#122441;border-color:#304b70;color:#edf5ff}body .player-sidebar h2,body .empty-rooms h3{color:#edf5ff;font-size:18px}body .player-sidebar p,body .empty-rooms p{color:#c4d7ef;font-size:13px}body .sidebar-heading,body .profile-stats,body .logout{border-color:#304b70;color:#c4d7ef;font-size:13px}body .profile-stats strong{color:#ffe15a}body .sidebar-note{background:#203a59;color:#c4d7ef}body .sidebar-note strong{color:#52dfff}body .online-pill{background:#183e55;border-color:#387591;color:#b1ebff}body .empty-ball{background:#1c3c60;color:#52dfff}body .empty-rooms{border-style:solid}body .banner-copy h1 em{color:#52dfff}body .banner-tag{background:#ffe15a;color:#21314b;font-size:12px}body .home-banner{background-image:linear-gradient(90deg,#102d51f2,#102d51c4 48%,#102d5126),var(--wb-hero);background-size:cover;background-position:center}body .mini-house,body .mini-tree{display:none}body .chat-compose input{background:#081b32;color:#edf5ff;border-color:#375777}body .chat-panel input{background:#081b32;color:#edf5ff;border-color:#375777;font-size:14px}body .button.subtle{background:#1c3857;border-color:#3c5f83;color:#d9eeff}body .game-controls kbd{background:#183756;color:#d9eeff;border-color:#40688c}.room-settings{padding:18px;background:#122441;border:1px solid #304b70;border-radius:14px;margin-bottom:18px}.room-settings strong{font-size:16px;color:#52dfff}.room-settings p{color:#a9bedb;font-size:13px}.room-settings form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.room-settings label{margin:10px 0 0;flex:1;min-width:140px;color:#c5def9;font-size:14px}.room-settings select,.room-settings input{background:#091b32;color:#edf5ff;border:1px solid #3a5d82;border-radius:8px;min-height:48px;padding:8px;font-size:14px}.room-settings .button{height:48px}.account-panel{margin:24px 0;padding:24px;background:#122441;border:1px solid #304b70;border-radius:18px;color:#edf5ff}.account-panel h2{font-size:24px;color:#edf5ff}.account-panel h3{font-size:18px;color:#52dfff}.account-panel p{color:#c5def9;font-size:14px;line-height:1.7}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.account-panel label{color:#c5def9;font-size:14px}.account-panel input{background:#091b32;color:#edf5ff;border-color:#3a5d82;font-size:14px}.account-actions{display:flex;gap:12px;flex-wrap:wrap}.replay-stage-holder{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.sva-replay-overlay .touch-pad{display:none}.accessory-portrait{position:relative;display:block;width:100%;height:100%}.accessory-portrait>img{display:block;width:100%;height:100%;object-fit:contain}.accessory-portrait>.portrait-accessory{position:absolute;inset:0;pointer-events:none}.gift-panel{margin:24px 0;padding:24px;border:1px solid #304b70;border-radius:18px;background:#122441;color:#edf5ff}.gift-panel h2{font-size:22px;color:#edf5ff}.gift-panel h3{color:#52dfff}.gift-panel form{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.gift-panel label{flex:1;min-width:160px;color:#c5def9;font-size:14px}.gift-panel input,.gift-panel select{background:#091b32;color:#edf5ff;border:1px solid #3a5d82;min-height:48px;border-radius:8px;padding:8px}.gift-panel p{font-size:14px;color:#c5def9}.gift-confirm{padding:16px;border:1px solid #52dfff;border-radius:12px}.gift-history{list-style:none;padding:0}.gift-history li{display:flex;flex-direction:column;gap:7px;padding:14px 0;border-top:1px solid #304b70}.gift-history span{font-size:13px;color:#a9bedb}@media(max-width:730px){.account-grid{grid-template-columns:1fr}.account-panel{padding:18px}.account-actions{flex-direction:column}}body .room-map-card .map-art>svg{max-width:100%;height:170px;width:100%;display:block}body .room-map-card .map-art{background:#203b5d}body .room-map-card h2{color:#edf5ff}body .room-tip,body .room-tip p,body .room-tip strong{background:#1c3853;color:#c5def9}body button,body input,body select{font:inherit}body button{min-height:44px}body .muted,body .eyebrow{color:var(--wb-muted)}body .button{border-radius:10px;padding:11px 19px;font-size:14px;font-weight:800}body .button.primary{background:#25a9e8;color:#06152b;border-color:#52dfff;box-shadow:0 3px #1575a9}body .button.secondary{background:#20395c;color:#edf5ff;border-color:#45648d;box-shadow:none}body .brand strong{color:#edf5ff;font-size:28px;font-weight:900;letter-spacing:1px}body .brand small{color:#63dfff}body .brand-mark{background:#136db1;border:2px solid #52dfff;box-shadow:0 4px #123853;color:#ddfaff}body .app-header{height:76px;background:#0c1b34;border-color:#304b70;padding:0 32px}body .app-header nav button{color:#a9bedb;font-size:15px}body .app-header nav button.selected{color:#52dfff}body .app-header nav button.selected:after{background:#52dfff}body .coin-balance{background:#28351f;border-color:#847534;color:#ffe15a}body .coin-balance strong,body .coin-balance span{color:#ffe15a;font-size:15px}body .header-user{border-color:#304b70;color:#edf5ff;font-size:14px}body .icon-button{color:#b8d9f9}body .auth-page{background:#09142b;min-height:100dvh;grid-template-columns:minmax(0,1fr) 480px}body .auth-story{background-image:linear-gradient(90deg,#071329eb,#0713298f 42%,#07132908 90%),var(--wb-hero);background-size:cover;background-position:center}body .auth-art{display:none}body .auth-copy{position:relative;z-index:1;margin-top:160px;max-width:540px}body .auth-copy h1{color:#fff;font-size:58px;line-height:1.18;font-weight:900}body .auth-copy h1 span{color:#ffe15a}body .auth-copy p{color:#c9ddf6;font-size:16px;line-height:1.9}body .auth-copy .eyebrow{color:#52dfff;font-size:14px}body .auth-benefits{position:relative;z-index:1;color:#d4eaff;font-size:14px}body .auth-benefits span{background:#0f2647cc;border:1px solid #345d85;border-radius:10px;padding:10px}body .auth-panel{background:#11233f;border-left:1px solid #304b70;padding:52px 36px}body .auth-card h2{color:#f4f8ff;font-size:28px}body .auth-card>.muted{font-size:14px}body .auth-card .eyebrow{font-size:12px;color:#52dfff}body .postmark{display:none}body .auth-tabs{border-color:#304b70}body .auth-tabs button{font-size:15px;color:#a9bedb;min-height:48px}body .auth-tabs button.active{color:#52dfff;border-color:#52dfff}body .auth-card label{color:#dbeaff;font-size:14px}body .auth-card input{background:#08172b;color:#edf5ff;border-color:#3c5d85;font-size:15px;min-height:48px}body input::placeholder{color:#90a8c9}body .auth-card .form-footnote,body .auth-bottom{color:#a9bedb;font-size:12px}body .character-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}body .character-pick{height:115px;min-width:0;border-color:#304b70;background:#162d4d;padding:5px}body .character-pick.selected{border-color:#52dfff;background:#164269}body .character-pick span{color:#edf5ff;font-size:12px}body .character-pick>.townsfolk{height:78px;width:100%}.street-character{display:inline-block;position:relative;flex-shrink:0}.street-character>img{width:100%;height:100%;object-fit:contain}.street-accessory{position:absolute;top:4%;left:32%;color:#ffe15a;font-size:16px;line-height:1}.street-accessory.sea-scarf{top:45%;color:#52dfff}body .app-layout{max-width:1720px;padding:28px 32px;gap:24px}body .player-sidebar{width:225px}body .sidebar-user-card,body .room-card,body .team-panel,body .room-action-bar,body .match-roster,body .lobby-howto,body .shop-intro,body .shop-item,body .modal-card{background:#122441;border-color:#304b70;color:#edf5ff}body .sidebar-user-card h2,body .player-sidebar strong,body .section-heading h1,body .section-heading h2,body .room-heading h1,body .room-card h3,body .team-heading h2,body .shop-item-info h3,body .modal-card h2,body .modal-card h1{color:#edf5ff}body .sidebar-user-card p,body .sidebar-user-card span,body .room-card-body p,body .shop-item-info p,body .room-heading p{color:#a9bedb;font-size:13px}body .home-banner{border:1px solid #345d85}body .home-banner .banner-art,body .home-banner .banner-person{display:none}body .banner-copy{width:100%;padding:32px}body .banner-copy h1{color:#ffe15a;font-size:42px}body .banner-copy p{font-size:15px;color:#c5def9}body .banner-copy .eyebrow{font-size:13px;color:#52dfff}body .room-card-art{background:linear-gradient(135deg,#1d4c75,#123052)}body .room-card-art .room-town{opacity:.35}body .room-card-body{padding:20px}body .room-card-body h3{font-size:18px}body .shop-item-display{background:linear-gradient(145deg,#224866,#142b49)}body .shop-item-bottom>strong{color:#ffe15a}body .shop-intro p,body .lobby-howto p,body .lobby-howto strong{font-size:14px;color:#d2e4fb}body .player-seat{background:#173250;border-color:#355979;min-height:90px}body .seat-name strong{font-size:15px;color:#edf5ff}body .seat-name span,body .seat-ready{font-size:12px}.bot-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#122441;border:1px solid #304b70;border-radius:14px;padding:18px;margin-bottom:18px}.bot-controls>div:first-child{flex:1}.bot-controls strong{color:#ffe15a;font-size:16px}.bot-controls p{color:#b4cbea;font-size:13px;margin:6px 0 0}.bot-row{display:flex;align-items:center;gap:12px;flex-basis:100%;padding-top:10px;border-top:1px solid #304b70}.bot-row span{color:#a9bedb}.bot-row select{background:#0a1d35;color:#edf5ff;border:1px solid #365579;border-radius:8px;min-height:44px;padding:5px 10px}body .game-layout{max-width:1720px;padding:12px 24px 16px}body .match-toolbar{margin-bottom:12px;min-height:56px}body .match-toolbar h2{font-size:22px;color:#edf5ff}body .match-clock{background:#142b49;border-color:#426588;box-shadow:none;color:#ffe15a;padding:8px 18px}body .match-clock strong{font-size:36px;color:#ffe15a}body .match-clock span{color:#a9bedb}body .match-layout{gap:20px}body .match-roster{width:210px}body .roster-heading{background:#1d3655;border-color:#345676;color:#b8d8f5;font-size:13px}body .roster-team>h3,body .roster-player strong{font-size:13px}body .roster-player span{font-size:11px;color:#a9bedb}body .roster-tip{background:#1c3853;color:#bcd7f4}body .game-shell{background:#183c61;border-color:#3c6a92;box-shadow:0 5px #091d34,0 16px 40px #0006;padding:8px;border-radius:18px}body .canvas-stamp{color:#5f9cc0}body .game-controls{margin-top:10px;gap:15px}body .game-controls>span{font-size:12px;color:#a9bedb}body kbd{background:#162f50;color:#d9eeff;border-color:#40658b}body .match-bottom{font-size:12px;color:#a9bedb;padding-top:10px;margin-left:230px}body .app-footer{color:#a9bedb;font-size:12px;padding-bottom:18px}body .app-header nav{overflow-x:auto;white-space:nowrap;min-width:0;flex:1;gap:0;scrollbar-width:thin}body .app-header nav button{padding-inline:12px;flex-shrink:0;font-size:14px}body .header-tools{flex-shrink:0}body .town-app>.sva{max-width:1600px;margin:24px auto;padding-inline:24px}body .app-layout:has(.sva){max-width:1550px}body .main-content:has(.sva){min-width:0}body .app-layout:has(.sva)>.player-sidebar{display:none}body .app-layout:has(.sva){grid-template-columns:minmax(0,1fr)}body .preview-notice{padding:12px;color:#ffe15a;font-size:14px}body .game-focus-shade{background:#08162c8c}body .game-focus-card{background:#173252;border-color:#426588;color:#edf5ff}body .game-focus-card strong{color:#ffe15a;font-size:18px}body .game-focus-card span{font-size:14px;color:#c4dbf6}body .modal-card p,body .help-steps strong,body .help-steps p{color:#c5def9;font-size:14px}body .modal-card input,body .modal-card select{background:#091b32;border-color:#3c5f83;color:#edf5ff;min-height:48px}body .result-players>div{background:#1a3655;border-color:#345d85;color:#edf5ff}body .result-reward{color:#ffe15a}@media(min-width:731px){body .game-shell{max-width:min(100%,calc((100dvh - 205px) * 1.153846));margin-inline:auto}}@media(max-width:1000px){body .auth-page{grid-template-columns:minmax(0,1fr) 420px}body .auth-copy h1{font-size:45px}body .auth-copy{margin-top:110px}}@media(max-width:730px){body .auth-page{display:block}body .auth-story{height:310px;padding:22px;background-position:65% center}body .app-header{display:flex;flex-wrap:wrap;justify-content:space-between}body .app-header nav{order:3;flex:0 0 100%;width:100%;justify-content:flex-start;margin:0;overflow-x:auto}body .app-header nav button{flex:0 0 auto;padding-inline:16px;font-size:14px}body .app-header .header-tools .header-user{display:flex;min-width:40px;min-height:44px;flex-shrink:0}body .app-header .header-user>span{display:none}body .app-header .header-tools{gap:2px}body .direction-pad{width:158px;height:158px;flex-shrink:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}body .direction-pad button{min-height:48px;min-width:48px}body .auth-copy{margin-top:35px;max-width:250px}body .auth-copy h1{font-size:32px}body .auth-copy p{display:none}body .auth-panel{padding:30px 22px;border-left:0}body .auth-tabs button{min-height:48px}body .auth-card h2{font-size:24px}body .app-header{height:122px;padding:12px 14px 0}body .app-header nav{height:48px;border-color:#304b70}body .app-header nav button{font-size:14px}body .app-layout{padding:20px 14px}body .brand.small strong{font-size:22px}body .coin-balance strong{font-size:14px}body .in-game .app-header{height:62px;padding-top:0}body .home-banner{height:auto;min-height:225px}body .banner-copy{width:100%;padding:25px}body .banner-copy h1{font-size:31px}body .room-grid{grid-template-columns:1fr}body .room-card-art{height:160px}body .game-layout{padding:10px}body .match-toolbar{min-height:48px;margin-bottom:8px}body .match-clock strong{font-size:27px}body .match-roster{width:100%}body .game-shell{max-width:100%}body .match-bottom{margin-left:0;font-size:11px}body .touch-pad{margin-top:12px}body .direction-pad button{background:#1d3d61;color:#d9eeff;border-color:#436c95;font-size:23px;min-height:42px}body .touch-actions button{background:#176ba4;color:#edf5ff;border-color:#52dfff;font-size:12px}body .touch-actions button:last-child{background:#9f553f;border-color:#ff987e;color:#fff}.bot-controls{padding:14px}.bot-controls p{font-size:12px}.bot-row{flex-wrap:wrap;gap:8px}.bot-row .button{padding:8px 10px}}.match-loading-banner{padding:14px 18px;border-radius:12px;background:#23435c;border:1px solid #4396b8;color:#c5f6ff;text-align:center}.room-invites{padding:16px 20px;margin-bottom:18px;border:1px solid #3a6987;border-radius:15px;background:#142c43}.room-invites h3{color:#73dfff;margin:0 0 10px}.room-invites form,.room-invites article{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.room-invites select{min-height:44px;max-width:100%;padding:10px;background:#183b58;color:#e1f4ff;border:1px solid #5792b3;border-radius:9px}.room-invites p{font-size:13px;margin:10px 0}.room-invites article p{flex:1;min-width:200px}.room-invites article strong{margin:0 5px}.channel-picker{margin-bottom:22px}.channel-picker h2{font-size:19px;margin:0 0 14px}.channel-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.channel-picker button{display:grid;text-align:left;gap:7px;min-height:110px;padding:16px;border:1px solid #406780;border-radius:15px;background:#10263f;color:#d9ecff;cursor:pointer}.channel-picker button.selected{border-color:#4edfff;background:#174765;box-shadow:0 0 0 1px #4edfff}.channel-picker strong{font-size:17px;color:#7de5ff}.channel-picker small{font-size:11px;color:#c0d4e4}.channel-picker span{font-size:12px}@media(max-width:700px){.channel-picker>div{grid-template-columns:1fr}.channel-picker button{min-height:90px}}body .stage-expanded .match-page,.match-page:fullscreen{position:fixed;inset:0;z-index:1100;background:#09142b;overflow:auto;padding:14px 24px}body .stage-expanded .match-roster,.match-page:fullscreen .match-roster{display:none}body .stage-expanded .match-layout,.match-page:fullscreen .match-layout{justify-content:center}body .stage-expanded .game-column,.match-page:fullscreen .game-column{width:min(100%,calc((100dvh - 95px) * 1.153846));flex:none}body .stage-expanded .game-shell,.match-page:fullscreen .game-shell{width:100%;max-width:100%}body .stage-expanded .match-bottom,.match-page:fullscreen .match-bottom{margin-left:0}.stage-expanded .room-chat-switch,.match-page:fullscreen .room-chat-switch{max-width:1050px;margin:16px auto}.stage-expanded .match-toolbar,.match-page:fullscreen .match-toolbar{max-width:1200px;margin:0 auto 12px}@media(max-width:730px){body .stage-expanded .match-page,.match-page:fullscreen{padding:8px}body .stage-expanded .game-column,.match-page:fullscreen .game-column{width:100%}}.room-search-controls{display:flex;align-items:end;gap:14px;margin:18px 0;flex-wrap:wrap}.room-search-controls label{display:grid;gap:7px;font-size:13px}.room-search-controls input,.room-search-controls select{min-height:44px;padding:10px;border:1px solid #537a97;border-radius:9px;background:#142d45;color:#e1f2ff}.room-search-controls input{min-width:230px}@media(max-width:730px){.room-search-controls label,.room-search-controls input{width:100%;min-width:0}}.touch-pad.touch-right .direction-pad{order:2}.touch-pad.touch-right .touch-actions{order:1}.town-app[data-reduced-motion=true] *,.town-app[data-reduced-motion=true] *:before,.town-app[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(pointer:coarse){body .touch-pad{display:flex}}html,body,#root{width:100%;height:100%;min-width:0;margin:0;overflow:hidden}body{overscroll-behavior:none}body .town-app{height:var(--game-height,100dvh);min-height:0;overflow:auto}body .game-app{display:flex;flex-direction:column;height:var(--game-height,100dvh);min-height:0;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body .game-app>.app-header{height:64px;min-height:64px;flex:0 0 auto;padding:0 18px;gap:16px;flex-wrap:nowrap}body .game-app .app-header nav{height:100%;margin:0;order:0;flex:1;min-width:0;overflow:auto;scrollbar-width:thin;align-self:stretch}body .game-app .app-header nav button{flex:0 0 auto;padding:0 12px}body .game-app .brand.small strong{font-size:20px}body .game-app .app-layout,body .game-app .app-layout:has(.sva){display:flex;flex:1;min-height:0;width:100%;max-width:1600px;padding:14px 20px;gap:0;align-items:stretch;overflow:hidden}body .game-app .player-sidebar,body .game-app>.app-footer{display:none}body .game-app .main-content{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}body .game-app[data-screen=lobby] .main-content,body .game-app[data-screen=room] .main-content{display:flex;flex-direction:column;overflow:hidden;gap:10px}.game-utility-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:none;min-height:40px}.game-utility-bar>span{margin-right:auto;font-size:12px;color:#a9bedb}.invite-count{background:#ff8768;color:#10213c;border-radius:12px;min-width:22px;padding:1px 5px}body .game-app .channel-picker{margin:0;flex:none}body .game-app .channel-picker h2,body .game-app .channel-picker small{display:none}body .game-app .channel-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body .game-app .channel-picker button{min-height:58px;padding:8px 12px;gap:4px;border-radius:10px}body .game-app .channel-picker strong{font-size:15px}body .game-app .channel-picker span{font-size:12px}.lobby-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex:none;padding:12px 18px;border:1px solid #305876;border-radius:12px;background:linear-gradient(115deg,#143857,#14253f)}.lobby-banner h1{margin:2px 0;font-size:24px;color:#f2f9ff}.lobby-banner p:last-child{margin:4px 0;color:#b5cedf;font-size:13px}body .game-app .rooms-section{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px;margin:0;overflow:hidden}body .game-app .section-heading{flex:none;margin:0;gap:10px}body .game-app .section-heading h2{font-size:18px}body .game-app .section-heading .eyebrow{display:none}body .game-app .room-search-controls{display:flex;flex:none;gap:10px;margin:0;align-items:end}body .game-app .room-search-controls label{flex:1;min-width:0;font-size:12px}body .game-app .room-search-controls input,body .game-app .room-search-controls select{width:100%;min-width:0;height:40px;padding:8px}body .game-app .room-grid{overflow:auto;min-height:0;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:12px;padding:2px 3px 8px;overscroll-behavior:contain}body .game-app .room-card-art{height:64px}body .game-app .room-card-body{padding:12px}body .game-app .room-card-body h3{font-size:15px}body .game-app .room-card-body p{font-size:12px;margin:8px 0}body .game-app .room-card .button{font-size:12px;min-height:38px;padding:7px 10px}body .game-app .room-card-bottom{gap:8px}body .game-app .room-avatars small{font-size:12px}body .game-app .empty-rooms{min-height:0;overflow:auto;padding:16px;flex:1;margin:0}body .game-app .empty-ball,body .game-app .lobby-howto{display:none}body .game-app .waiting-room{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}body .game-app .room-heading{flex:none;margin:0;gap:10px}body .game-app .room-heading h1{font-size:24px;margin:0}body .game-app .room-heading .eyebrow{display:none}body .game-app .room-heading p:last-child{font-size:12px;margin:5px 0 0}body .game-app .waiting-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;flex:1;min-height:0;align-items:stretch}body .game-app .team-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}body .game-app .team-panel{min-height:0;overflow:auto;display:flex;flex-direction:column}body .game-app .team-heading{padding:9px 12px;min-height:48px;gap:8px;flex:none}body .game-app .team-heading h2{font-size:16px;flex:1}body .game-app .team-heading .text-button{font-size:12px;min-height:36px}body .game-app .player-seat{flex:1;min-height:54px;padding:6px 12px;gap:8px}body .game-app .seat-avatar,body .game-app .seat-avatar .townsfolk{height:48px;width:42px;flex:none}body .game-app .seat-name{min-width:0;flex:1}body .game-app .seat-name strong{font-size:14px;overflow-wrap:anywhere}body .game-app .seat-name>span{font-size:11px}body .game-app .seat-ready{font-size:11px;white-space:nowrap;padding:5px}body .game-app .vacant{font-size:12px}body .game-app .room-map-card{width:auto;margin:0;padding:12px;overflow:auto;min-height:0}body .game-app .room-map-card .map-art{height:auto;max-height:210px}body .game-app .room-map-card .map-art svg{height:100%;max-height:190px;width:100%}body .game-app .room-map-card h2{font-size:18px;margin:8px 0}body .game-app .room-tip{display:none}body .game-app .room-action-bar{margin:0;padding:12px 16px;gap:12px;flex:none;display:flex;align-items:center;justify-content:space-between}body .game-app .room-action-bar p strong{font-size:14px}body .game-app .room-action-bar p span{font-size:12px}body .game-app .room-action-buttons{display:flex;gap:8px;flex:none}body .game-app .room-action-buttons .button{font-size:14px;min-height:44px}body .game-app .room-action-buttons{width:auto}body .game-app .room-action-bar>div:first-child{min-width:0;flex:1}body .game-app .team-0 .team-heading{background:#153a52;color:#bbedff}body .game-app .team-1 .team-heading{background:#49303f;color:#ffe2cc}body .game-app .team-heading h2{color:inherit}body .game-app .player-seat.my-seat{background:#18394d}body .game-app.in-game>.app-header{display:none}body .game-app.in-game .app-layout{max-width:none;padding:8px 12px}body .game-app.in-game .main-content{overflow:hidden}body .game-app .match-page,body .game-app.stage-expanded .match-page{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;padding:0;position:relative;inset:auto;overflow:hidden;gap:8px;z-index:auto}body .game-app .match-toolbar,body .game-app.stage-expanded .match-toolbar{display:flex;align-items:center;justify-content:space-between;flex:none;margin:0;max-width:none;min-height:48px;gap:14px}body .game-app .match-title{min-width:0}body .game-app .match-title .eyebrow{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}body .game-app .match-toolbar h2{font-size:20px;margin:3px 0 0}body .game-app .match-clock{padding:5px 12px;gap:8px;margin:0;flex:none}body .game-app .match-clock strong{font-size:26px}body .game-app .match-clock>span{display:none}body .game-app .match-toolbar-right{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;position:static;flex-basis:auto}body .game-app .match-toolbar-right .button{display:inline-flex;min-height:40px;padding:7px 10px;font-size:12px;white-space:nowrap}body .game-app .match-layout,body .game-app.stage-expanded .match-layout{display:flex;flex:1;min-height:0;gap:12px;align-items:stretch}body .game-app .match-roster{width:184px;flex:0 0 184px;margin:0;overflow:auto;min-height:0}body .game-app .roster-heading{font-size:12px;padding:10px}body .game-app .roster-player{padding:8px;gap:8px}body .game-app .roster-player strong{font-size:12px}body .game-app .roster-player>div:last-child>span{font-size:11px}body .game-app .roster-avatar,body .game-app .roster-avatar .townsfolk{width:30px;height:36px;flex:none}body .game-app .roster-tip{display:none}body .game-app .game-column,body .game-app.stage-expanded .game-column{flex:1;min-width:0;min-height:0;width:auto;display:flex}body .game-app .game-shell,body .game-app.stage-expanded .game-shell,body .local-practice .game-shell{display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);position:relative;flex:1;width:100%;max-width:none;height:100%;min-height:0;aspect-ratio:auto;padding:0;border:1px solid #355576;box-shadow:none;border-radius:12px;overflow:hidden;background:#081322}body .game-app .phaser-stage,body .local-practice .phaser-stage{width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:auto;position:relative;overflow:hidden;touch-action:none}body .game-app .phaser-stage>div[role=application],body .local-practice .phaser-stage>div[role=application]{width:100%;height:100%;position:relative;outline:none}body .game-app .phaser-stage canvas,body .local-practice .phaser-stage canvas{display:block;max-width:100%;max-height:100%;touch-action:none}body .game-app .phaser-stage,body .local-practice .phaser-stage{background:#081322}body .game-app .game-shell>.loading,body .local-practice .game-shell>.loading{min-height:0;height:100%}.game-focus-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:8px 14px;border:1px solid #507896;border-radius:18px;color:#e3f7ff;background:#102840e8;white-space:nowrap;font-size:12px;cursor:pointer}body .game-app .match-loading-banner,body .local-practice .match-loading-banner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#08142699;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);margin:0;padding:18px;text-align:center;pointer-events:none;border:0;border-radius:0;color:#f1fbff}.match-loading-banner strong{font-size:clamp(32px,8vh,76px);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 3px 20px #0b102a}.match-loading-banner span{font-size:15px}body .game-app .match-bottom,body .game-app.stage-expanded .match-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;min-height:26px;font-size:12px}body .game-app .match-bottom .hint-toggle{display:flex;font-size:12px}body .game-app .roster-toggle{display:none}body .game-app .spectator-banner,body .game-app .connection-banner{flex:none;margin:0;padding:8px 12px}body .game-app .touch-pad,body .local-practice .touch-pad{display:none}.game-panel-backdrop{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;background:#030a1599;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.game-panel{display:flex;flex-direction:column;min-width:0;width:min(480px,100%);max-height:100%;background:#101f37;border:1px solid #365576;border-radius:16px;box-shadow:0 18px 60px #0008;color:#eff8ff;overflow:hidden}.game-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #33506a;flex:none}.game-panel>header h2{font-size:20px;margin:0}.game-panel-content{flex:1;min-height:0;padding:16px;overflow:auto;overscroll-behavior:contain}body .game-panel .room-settings,body .game-panel .bot-controls,body .game-panel .room-invites,body .game-panel .room-chat-switch{margin:0 0 18px;width:100%;max-width:none}body .game-panel .room-settings form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .game-panel .room-settings label{min-width:0}body .game-panel .room-settings input,body .game-panel .room-settings select{min-width:0;width:100%}body .game-panel .bot-controls{display:flex;flex-direction:column;align-items:stretch;gap:12px}body .game-panel .bot-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:none}body .game-panel .bot-row select{width:100%;min-width:0}body .game-panel .room-invites form{display:flex;flex-wrap:wrap;gap:10px}body .game-panel .room-invites select{min-width:0;flex:1}body .game-app .game-panel .match-roster{display:block;width:100%;max-width:none;overflow:visible}body .modal-backdrop{max-height:var(--game-height,100dvh);padding:12px;overflow:auto}body .modal-card{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}body .auth-page{height:var(--game-height,100dvh);min-height:0;overflow:hidden}body .auth-panel{height:100%;overflow:auto;overscroll-behavior:contain}body .local-practice{height:var(--game-height,100dvh);width:100%;max-width:none;min-height:0;padding:16px 24px;display:flex;flex-direction:column;gap:12px;overflow:hidden}body .local-practice>header{flex:none;margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}body .local-practice>header h1{font-size:24px;margin:0}body .local-practice>header p{margin:4px 0;font-size:13px}body .local-practice.practice-playing>header .eyebrow,body .local-practice.practice-playing>header p:last-child{display:none}body .local-practice .practice-setup{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px}body .local-practice .practice-selectors{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:auto}body .local-practice .practice-selectors fieldset{min-width:0;margin:0;padding:12px;display:flex;flex-direction:column}body .local-practice .practice-characters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex:1;min-height:0}body .local-practice .practice-characters button{min-width:0;min-height:72px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}body .local-practice .practice-characters img{max-height:100px;max-width:100%;height:calc(100% - 24px);object-fit:contain;min-height:0}body .local-practice .practice-options{flex:none;margin:0;display:flex;align-items:end;gap:12px}body .local-practice .practice-options label{min-width:0;flex:1}body .local-practice .practice-options select{min-width:0;width:100%}body .local-practice .practice-setup>p{margin:0;font-size:13px}body .local-practice .practice-match{display:flex;flex:1;min-height:0;flex-direction:column;gap:8px}body .local-practice .practice-match-tools{display:flex;align-items:center;gap:8px;flex:none;margin:0}body .local-practice .practice-match-tools>strong{margin-right:auto;font-size:14px}body .local-practice .practice-key-guide{flex:none;margin:0;text-align:center;font-size:12px}body .local-practice .practice-pause,body .local-practice .practice-result{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#081426dd;margin:0}@media(max-width:1050px){body .game-app>.app-header{height:96px;min-height:96px;flex-wrap:wrap;align-content:space-between;padding:8px 12px 0;gap:0 10px}body .game-app .app-header nav{height:42px;order:3;flex:0 0 100%;width:100%;justify-content:flex-start;margin:0}body .game-app .app-header nav button{padding:0 14px;font-size:13px}body .game-app .app-header .header-tools{gap:4px}body .game-app .header-user>span,body .game-app .coin-balance span{display:none}body .game-app .app-layout{padding:10px 12px}body .game-app .waiting-layout{grid-template-columns:minmax(0,1fr)}body .game-app .room-map-card,body .game-app .match-layout>.match-roster{display:none}body .game-app .roster-toggle{display:inline-flex}}@media(max-width:730px){body .game-app .button{min-height:40px}body .game-app .game-utility-bar{min-height:38px;gap:6px}body .game-app .game-utility-bar .button{padding:7px 9px;font-size:12px}body .game-app .game-utility-bar>span{font-size:11px}body .game-app .channel-picker button{padding:7px;min-height:54px}body .game-app .channel-picker strong{font-size:13px}body .game-app .channel-picker span{font-size:10px}.lobby-banner{padding:10px 12px}.lobby-banner .eyebrow,.lobby-banner p:last-child{display:none}.lobby-banner h1{font-size:20px}.lobby-banner .button{font-size:12px;padding:9px 10px}body .game-app .room-search-controls{gap:6px}body .game-app .room-search-controls label:first-child{flex:1.3}body .game-app .room-search-controls .button{padding:8px;font-size:12px}body .game-app .section-heading h2{font-size:16px}body .game-app .room-grid{grid-template-columns:1fr}body .game-app .room-card-art{height:40px}body .game-app .room-phase{top:7px}body .game-app .room-heading h1{font-size:20px}body .game-app .room-heading p:last-child{font-size:11px}body .game-app .team-lists{gap:8px}body .game-app .team-heading{padding:6px;gap:4px;min-height:48px;flex-wrap:wrap}body .game-app .team-emblem{display:none}body .game-app .team-heading h2{font-size:14px}body .game-app .team-heading h2 span{font-size:10px;margin-left:4px}body .game-app .team-heading .text-button{font-size:11px;gap:1px}body .game-app .team-heading .text-button svg{display:none}body .game-app .player-seat{padding:7px 6px;gap:6px;position:relative;flex-wrap:wrap;min-height:58px;align-content:center}body .game-app .seat-avatar,body .game-app .seat-avatar .townsfolk{width:28px;height:36px}body .game-app .seat-name strong{font-size:12px}body .game-app .seat-name>span{display:none}body .game-app .seat-ready{font-size:10px;padding:2px 4px;margin-left:auto}body .game-app .vacant-avatar{display:none}body .game-app .vacant{font-size:11px;text-align:center;justify-content:center}body .game-app .room-action-bar{padding:10px;gap:8px;flex-direction:column;align-items:stretch}body .game-app .room-action-bar>div:first-child>svg,body .game-app .room-action-bar p span{display:none}body .game-app .room-action-bar p strong{font-size:12px}body .game-app .room-action-buttons{justify-content:stretch;gap:6px}body .game-app .room-action-buttons .button{flex:1;padding:9px 8px;font-size:13px}body .game-app.in-game .app-layout{padding:6px}body .game-app .match-toolbar{flex-wrap:wrap;gap:6px;min-height:0}body .game-app .match-title{flex:1}body .game-app .match-toolbar h2{font-size:16px}body .game-app .match-clock{padding:4px 8px}body .game-app .match-clock strong{font-size:24px}body .game-app .match-toolbar-right{width:100%;justify-content:space-between;gap:4px}body .game-app .match-toolbar-right .button{font-size:11px;padding:6px;min-height:36px}body .game-app .match-toolbar-right .icon-button{width:32px;min-width:32px;min-height:36px}body .game-app .match-bottom{font-size:10px;gap:4px;min-height:24px}body .game-app .match-bottom .hint-toggle{font-size:11px}body .game-app .keyboard-guide{display:none}body .auth-page{display:flex;flex-direction:column}body .auth-story{height:100px;min-height:100px;padding:16px;flex:none}body .auth-copy,body .auth-art,body .auth-benefits{display:none}body .auth-panel{flex:1;min-height:0;padding:20px}body .local-practice{padding:10px;gap:8px}body .local-practice>header h1{font-size:18px}body .local-practice>header p{font-size:11px}body .local-practice>header .eyebrow{display:none}body .local-practice>header .button{font-size:12px;min-height:40px;padding:8px}body .local-practice .practice-selectors{gap:8px;grid-template-columns:1fr 1fr}body .local-practice .practice-selectors fieldset{padding:6px}body .local-practice .practice-selectors legend{font-size:11px}body .local-practice .practice-characters{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}body .local-practice .practice-characters button{min-height:65px;max-height:120px}body .local-practice .practice-characters img{max-height:72px}body .local-practice .practice-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}body .local-practice .practice-match-tools{flex-wrap:wrap;gap:6px}body .local-practice .practice-match-tools>strong{font-size:12px;flex:1 0 100%}body .local-practice .practice-match-tools .button{padding:7px 10px;min-height:36px;font-size:12px}}@media(pointer:coarse),(max-width:730px){body .game-app .game-shell,body .local-practice .game-shell{grid-template-rows:minmax(0,1fr) 148px}body .game-app .touch-pad,body .local-practice .touch-pad{display:flex;align-items:center;justify-content:space-between;margin:0;padding:4px 14px;gap:12px;-webkit-user-select:none;user-select:none;touch-action:none;border-top:1px solid #294963;background:#0d2037}body .game-app .direction-pad,body .local-practice .direction-pad{display:grid;width:138px;height:136px;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:2px}body .game-app .direction-pad button,body .local-practice .direction-pad button{min-width:44px;min-height:44px;font-size:22px;touch-action:none;border:1px solid #436c95;border-bottom-width:3px;border-radius:9px;color:#def6ff;background:#1b3f62}.direction-pad button.up{grid-column:2;grid-row:1}.direction-pad button.left{grid-column:1;grid-row:2}.direction-pad button.down{grid-column:2;grid-row:3}.direction-pad button.right{grid-column:3;grid-row:2}body .game-app .touch-actions,body .local-practice .touch-actions{display:flex;align-items:center;gap:10px}body .game-app .touch-actions button,body .local-practice .touch-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;width:68px;height:68px;min-width:0;gap:4px;border:1px solid #51c7ed;border-bottom-width:4px;border-radius:50%;font-size:11px;font-weight:700;color:#deffff;background:#175271}body .game-app .touch-actions button:last-child,body .local-practice .touch-actions button:last-child{width:56px;height:56px;border-color:#d4b15d;background:#463c24;color:#ffe9a7}.touch-actions button svg{width:24px;height:24px}}@media(max-height:520px)and (min-width:600px){body .game-app>.app-header{height:48px;min-height:48px;flex-wrap:nowrap;padding:0 10px;gap:10px}body .game-app .app-header nav{order:0;flex:1;width:auto;height:48px}body .game-app .brand.small strong{font-size:16px}body .game-app .brand small,body .game-app .coin-balance,body .game-app .header-tools>.icon-button{display:none}body .game-app .app-layout{padding:6px 10px}body .game-app .main-content{gap:5px!important}body .game-app .game-utility-bar,body .game-app .game-utility-bar .button{min-height:32px}body .game-app .channel-picker button{min-height:32px;padding:4px 8px}body .game-app .channel-picker span{display:none}.lobby-banner{padding:6px 12px}.lobby-banner p{display:none}.lobby-banner h1{font-size:18px}body .game-app .room-heading h1{font-size:17px}body .game-app .room-heading p:last-child{font-size:10px}body .game-app .waiting-room{gap:6px}body .game-app .team-heading{min-height:30px;padding:3px 8px}body .game-app .player-seat{min-height:30px;padding:2px 8px;flex-wrap:nowrap}body .game-app .seat-avatar,body .game-app .seat-avatar .townsfolk{width:24px;height:28px}body .game-app .seat-name>span{display:none}body .game-app .room-action-bar{padding:6px 10px;flex-direction:row}body .game-app .room-action-bar p span{display:none}body .game-app .room-action-buttons .button{min-height:36px;font-size:12px;padding:6px 12px}body .game-app .match-page{gap:4px}body .game-app .match-toolbar{flex-wrap:nowrap;gap:8px}body .game-app .match-title .eyebrow{display:none}body .game-app .match-toolbar h2{font-size:15px;white-space:nowrap}body .game-app .match-clock strong{font-size:21px}body .game-app .match-toolbar-right{width:auto;gap:4px}body .game-app .match-toolbar-right .button{min-height:34px;font-size:11px;padding:5px 8px}body .game-app .match-bottom{min-height:20px;font-size:10px}body .game-app .keyboard-guide{display:none}body .local-practice{padding:6px 10px;gap:4px}body .local-practice.practice-playing>header{display:none}body .local-practice .practice-match-tools>strong{flex:auto;font-size:12px}body .local-practice .practice-match-tools .button{min-height:32px;padding:5px 8px;font-size:12px}body .local-practice .practice-selectors{grid-template-columns:1fr 1fr}body .local-practice .practice-characters{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(pointer:coarse)and (orientation:landscape)and (max-height:600px),(max-width:730px)and (orientation:landscape)and (max-height:520px){body .game-app .game-shell,body .local-practice .game-shell{grid-template-rows:minmax(0,1fr);padding:0 146px}body .game-app .touch-pad,body .local-practice .touch-pad{position:absolute;inset:0;pointer-events:none;background:transparent;padding:8px;border:0}body .game-app .touch-pad>*,body .local-practice .touch-pad>*{pointer-events:auto}body .game-app .touch-actions,body .local-practice .touch-actions{flex-direction:column;width:126px;gap:16px}}body .game-app .sva-replay-overlay .touch-pad{display:none}body .game-app .sva-replay-overlay .game-shell{grid-template-rows:minmax(0,1fr);padding:0}body .game-app .match-toolbar-right .roster-toggle{display:none}@media(max-width:1050px){body .game-app .match-toolbar-right .roster-toggle{display:inline-flex}}body .game-app .match-toolbar-right .button:hover,body .game-app .match-toolbar-right .button:focus-visible{background:#284e73;color:#f1fbff;border-color:#689cc6}#root{position:fixed;top:var(--game-top,0px);left:var(--game-left,0px);width:var(--game-width,100%);height:var(--game-height,100%)}.match-live-stats{display:block;font-size:12px;white-space:nowrap;color:#d0f2fc;margin-top:2px}.game-viewport-warning{position:absolute;inset:0;z-index:5;background:#10243bf5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;color:#eefaff;pointer-events:none}.game-viewport-warning strong{font-size:20px}.game-viewport-warning span{max-width:28em;line-height:1.6}@media(max-height:520px)and (min-width:600px){body .game-app.in-game .app-layout{padding:2px 6px}body .game-app .match-page{gap:2px}body .game-app .match-toolbar{height:44px;min-height:44px;gap:4px}body .game-app .match-title h2{font-size:12px;margin:0}body .game-app .match-live-stats{font-size:10px;margin:0}body .game-app .match-clock{padding:3px 6px}body .game-app .match-toolbar-right .button{min-height:40px;padding:4px 6px}body .game-app .match-bottom{display:none}body .game-app .match-clock strong{font-size:19px}}body .game-app .touch-actions:has(.utility-action),body .local-practice .touch-actions:has(.utility-action){display:grid;grid-template-columns:repeat(2,58px);gap:4px;width:120px}body .game-app .touch-actions:has(.utility-action) button,body .local-practice .touch-actions:has(.utility-action) button{width:56px;height:56px;min-height:44px;font-size:10px}.practice-live-stats{display:block;font-size:10px;line-height:1.4;color:#bbdcec}body .game-app .lobby-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;flex:1;min-height:0;overflow:hidden}body .game-app .lobby-workspace .rooms-section{background:#0c1c30;border:1px solid #2d4d69;border-radius:12px;padding:12px}.lobby-social{display:grid;grid-template-rows:minmax(0,1fr) 156px;gap:10px;min-width:0;min-height:0}.lobby-social .chat-panel{margin:0;border-radius:12px;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.lobby-social .chat-heading{padding:10px 12px;flex:none;min-height:38px}.lobby-social .chat-heading strong{font-size:13px}.lobby-social .chat-heading span{display:inline;font-size:10px}.lobby-social .chat-messages{flex:1;min-height:30px;height:auto;padding:10px 12px}.lobby-social .chat-messages p{display:block;font-size:12px;line-height:1.7;margin-bottom:9px}.lobby-social .chat-messages time{margin-right:6px}.lobby-social .chat-messages strong{margin-right:7px;overflow-wrap:anywhere}.lobby-social .chat-messages p>span{white-space:pre-wrap}.lobby-social .chat-messages .chat-empty{padding-top:12px;color:#a9c4d7}.lobby-social .chat-panel form{padding:8px;gap:6px;flex:none}.lobby-social .chat-panel input{font-size:14px;min-height:44px;padding:8px}.lobby-social .chat-panel form button{min-height:44px;padding:8px 12px}.chat-panel .chat-unread{position:absolute;bottom:66px;left:50%;transform:translate(-50%);min-height:30px;padding:5px 10px;font-size:11px;box-shadow:0 2px 8px #0008}.lobby-presence{border:1px solid #2d4d69;background:#0e2035;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:0}.lobby-presence>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid #254059;font-size:12px;flex:none}.lobby-presence>header span{color:#79d8d2;font-size:11px}.lobby-presence[data-stale=true]>header span{color:#eec98e}.presence-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px;overflow:auto;padding:6px 10px;min-height:0;align-content:start;overscroll-behavior:contain}.presence-person{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:17px 15px;min-width:0;gap:0 5px;align-items:center}.presence-person .townsfolk{height:32px;width:24px;grid-row:1/3}.presence-person strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence-person small{font-size:10px;color:#94b5c7}body .game-app .lobby-workspace .empty-rooms{min-height:0;padding:16px;gap:8px;flex:1}.lobby-workspace .empty-rooms .empty-ball{width:54px;height:54px;margin:0 auto 8px}.lobby-workspace .empty-rooms h3{font-size:18px}.lobby-workspace .empty-rooms p{font-size:12px;line-height:1.6;margin:8px 0 12px}body .game-app .lobby-workspace .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}body .game-app .lobby-workspace .room-card-art{height:60px}.lobby-workspace .mini-house,.lobby-workspace .mini-tree{opacity:.4}.combat-status{position:absolute;left:50%;bottom:12px;transform:translate(-50%);pointer-events:none;border-radius:10px;padding:7px 12px;font-size:13px;text-align:center;font-weight:700;max-width:95%;width:max-content;color:#effaff;background:#123553ed;border:1px solid #68bfea;z-index:4}.combat-status span{display:block;font-size:11px;margin-top:3px}.combat-status.protected{color:#fff0b8;border-color:#eedc88;background:#403921e8}.combat-status.eliminated{background:#18243cef;color:#c7d8e4}@media(max-width:1100px){body .game-app .lobby-workspace{grid-template-columns:minmax(0,1fr) 300px}body .game-app .lobby-workspace .room-grid{grid-template-columns:1fr}}@media(max-width:760px)and (orientation:portrait){body .game-app .lobby-workspace{grid-template-columns:1fr;grid-template-rows:minmax(90px,1fr) 212px;gap:8px}body .game-app .lobby-workspace .rooms-section{padding:8px;gap:6px}.lobby-social{grid-template-rows:minmax(0,1fr) 36px;gap:4px}.lobby-social .chat-heading{min-height:28px;padding:5px 10px}.lobby-social .chat-panel input{font-size:16px}.lobby-social .chat-messages{padding:5px 10px}.lobby-social .chat-messages p{margin-bottom:4px}.lobby-presence{flex-direction:row;border-radius:8px;align-items:center}.lobby-presence>header{padding:4px 8px;border:0;white-space:nowrap}.lobby-presence>header strong{display:none}.presence-people{display:flex;gap:10px;padding:2px 4px}.presence-person{display:flex;flex:none;gap:4px}.presence-person .townsfolk{width:18px;height:26px}.presence-person small{display:none}body .game-app .lobby-workspace .empty-rooms{padding:8px}.lobby-workspace .empty-rooms .empty-ball{display:none}.lobby-workspace .empty-rooms h3{font-size:15px}.lobby-workspace .empty-rooms p{margin:4px 0}.lobby-workspace .empty-rooms .button{min-height:36px;padding:6px}body .game-app .lobby-workspace .room-card-art{display:none}}@media(max-height:520px){body .game-app[data-screen=lobby] .game-utility-bar{display:none}body .game-app .lobby-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,42%);gap:8px}body .game-app .lobby-workspace .rooms-section{padding:6px;gap:4px}.lobby-social{grid-template-rows:minmax(0,1fr) 32px;gap:4px}.lobby-presence{flex-direction:row;align-items:center;border-radius:8px}.lobby-presence>header{padding:4px 6px;border:0;white-space:nowrap}.lobby-presence>header strong{display:none}.presence-people{display:flex;padding:2px 4px}.presence-person{display:flex;flex:none;gap:3px}.presence-person small,.presence-person .townsfolk{display:none}.lobby-social .chat-heading{padding:4px 8px;min-height:28px}.lobby-social .chat-messages{padding:4px 8px}.lobby-social .chat-panel form{padding:4px}body .game-app .lobby-workspace .section-heading h2{font-size:13px}body .game-app .lobby-workspace .section-heading .button{min-height:30px;font-size:11px;padding:4px 6px}body .game-app .lobby-workspace .room-search-controls label{font-size:10px}body .game-app .lobby-workspace .room-search-controls input,body .game-app .lobby-workspace .room-search-controls select{height:32px;min-height:32px;padding:4px;font-size:11px}body .game-app .lobby-workspace .room-search-controls .button{min-height:32px;padding:4px;font-size:11px}body .game-app .lobby-workspace .room-card-art,.lobby-workspace .empty-rooms .empty-ball,.lobby-workspace .empty-rooms p{display:none}.lobby-workspace .empty-rooms h3{font-size:13px}.lobby-workspace .empty-rooms .button{min-height:30px;font-size:11px;padding:4px}}@media(max-width:760px)and (orientation:portrait)and (max-height:600px){body .game-app[data-screen=lobby] .app-header{height:48px;min-height:48px;flex-wrap:nowrap;padding:4px 10px}body .game-app[data-screen=lobby] .app-header nav{display:none}body .game-app[data-screen=lobby] .channel-picker,body .game-app[data-screen=lobby] .lobby-banner{display:none}body .game-app .lobby-workspace{grid-template-columns:1fr;grid-template-rows:minmax(60px,1fr) minmax(150px,55%)}}
