.upgrade-selection{background:#ebe3d4;border:1px solid #c9b99d;border-radius:12px;min-width:0;margin:0 0 20px;padding:20px}.upgrade-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;display:flex}.upgrade-heading h3{margin:7px 0;font:500 28px/1.2 Georgia,serif}.upgrade-heading p{color:#675f53;margin:0;font-size:13px;line-height:1.6}.upgrade-clock{font-variant-numeric:tabular-nums;text-align:center;color:#3d4b50;background:#faf3e4;border:1px dashed #b6a07a;border-radius:10px;flex-shrink:0;min-width:74px;padding:10px 14px;font-size:28px;font-weight:750}.upgrade-clock small{margin-top:4px;font-size:10px;font-weight:500;display:block}.upgrade-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.upgrade-card{text-align:left;color:#33414a;touch-action:manipulation;background:#fff9ed;border:2px solid #b8b2a2;border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;min-height:225px;padding:18px 16px;transition:border-color .15s,background .15s;display:flex;box-shadow:0 3px #b7a78a33}.upgrade-card .rarity-label{letter-spacing:.8px;text-transform:uppercase;font-size:10px;font-weight:800}.upgrade-card>strong{overflow-wrap:anywhere;font:600 24px/1.15 Georgia,serif}.card-description{color:#5b5e56;font-size:13px;line-height:1.7}.card-footer{color:#5d705a;margin-top:auto;padding-top:6px;font-size:11px;font-weight:700}.rarity-rare{border-color:#7ca19b}.rarity-epic{border-color:#a28ab4}.rarity-legendary{background:#fff4d9;border-color:#c39d51}.upgrade-card:disabled{opacity:.78;cursor:default}.upgrade-card:focus-visible{outline-offset:3px;outline:3px solid #304c61}.selection-status{color:#405a4a;margin:17px 0 12px;font-size:13px;font-weight:650;line-height:1.6}.upgrade-crew{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.upgrade-crew li{overflow-wrap:anywhere;background:#f8f0df;border-radius:7px;flex-direction:column;gap:5px;min-width:0;padding:9px 12px;font-size:11px;display:flex}.upgrade-crew li span{color:#726c5f}.selection-hint{color:#726c5f;margin:12px 0 0;font-size:11px;line-height:1.6}.last-upgrade{color:#46604d;background:#e9eedf;border:1px solid #b9c6ac;border-radius:8px;margin:0 0 15px;padding:11px 14px;font-size:12px;line-height:1.6}.personal-upgrades{border-top:1px dashed #cbbd9f;margin-top:22px;padding-top:16px}.personal-upgrades h3{margin:0 0 12px;font:500 21px Georgia,serif}.personal-upgrades h3 span{color:#786d5a;margin-left:8px;font:500 11px system-ui,sans-serif}.personal-upgrades>div{flex-wrap:wrap;align-items:start;gap:8px;display:flex}.personal-upgrades details{overflow-wrap:anywhere;background:#ede7d8;border:1px solid #d2c5ad;border-radius:8px;min-width:0;max-width:300px}.personal-upgrades summary{cursor:pointer;min-height:44px;padding:9px 12px;font-size:12px;line-height:1.6}.personal-upgrades summary span{text-transform:uppercase;color:#756c5c;margin-right:8px;font-size:9px}.personal-upgrades details p{color:#6c6557;margin:0;padding:0 12px 12px;font-size:12px;line-height:1.7}.combat-note{color:#756b59;font-size:11px;line-height:1.6}@media (width<=760px){.upgrade-selection{margin-bottom:14px;padding:14px 11px}.upgrade-heading h3{font-size:24px}.upgrade-heading p{font-size:12px}.upgrade-clock{min-width:60px;padding:9px;font-size:24px}.upgrade-cards{grid-template-columns:1fr;gap:10px}.upgrade-card{gap:8px;min-height:150px;padding:14px}.upgrade-card>strong{font-size:22px}.card-description{font-size:13px;line-height:1.6}.card-footer{padding-top:2px;font-size:11px}.upgrade-crew{gap:6px}.upgrade-crew li{padding:8px;font-size:10px}.personal-upgrades>div{grid-template-columns:1fr;display:grid}.personal-upgrades details{max-width:none}.last-upgrade{font-size:11px}}.is-playing{padding-top:6px;display:block}.is-playing .hero-copy{display:none}.is-playing .lobby-panel{padding:14px 20px 0}.is-playing .panel-heading{margin-bottom:10px;padding-right:90px}.is-playing .panel-heading h2{margin:8px 0 4px;font-size:29px}.is-playing .room-ticket{margin:10px 0 12px;padding:8px 16px}.is-playing .room-ticket>div{align-items:center;gap:18px;display:flex}.is-playing .room-ticket strong{margin:0;font-size:26px}.is-playing .room-ticket .eyebrow{font-size:10px}.is-playing .player-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.is-playing .empty-seat{display:none}.is-playing .player-seat{flex-wrap:wrap;gap:7px}.is-playing .player-seat .sticker{width:32px!important;height:32px!important}.is-playing .player-seat .sticker svg{width:20px;height:20px}.is-playing .ready-pill{margin-left:auto}.is-playing .roster-heading{margin-top:24px}.is-playing .playtest-tag{margin-top:10px}.battlefield{min-width:0}.battle-hud{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.battle-hud>div{background:#f1eadc;border:1px solid #ddd2bd;border-radius:9px;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.battle-hud span{text-transform:uppercase;letter-spacing:1.3px;color:#746c61;font-size:10px;font-weight:750}.battle-hud strong{font-variant-numeric:tabular-nums;color:#35464c;font-size:22px;font-weight:750}.battle-hud small{color:#777166;font-size:11px}.dreamlight-hud progress{accent-color:#b98c40;background:#ddd2bc;border:0;border-radius:6px;width:100%;height:8px;overflow:hidden}.dreamlight-hud progress::-webkit-progress-bar{background:#ddd2bc;border-radius:6px}.dreamlight-hud progress::-webkit-progress-value{background:#bc9554;border-radius:6px}.store-header{z-index:2;background:#f2ebde;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:8px}.store-header>.eyebrow{max-width:95px}.money-hud{text-align:right;background:#e8ebdf;border:1px solid #cfd7c4;border-radius:7px;min-width:0;padding:7px 10px}.money-hud span,.money-hud small{color:#5d6e5b;overflow-wrap:anywhere;font-size:10px;line-height:1.5;display:block}.money-hud strong{color:#42715a;font-variant-numeric:tabular-nums;font-size:20px;line-height:1.3;display:block}.battle-layout{grid-template-columns:minmax(0,580px) 280px;justify-content:center;align-items:start;gap:22px;display:grid}.battle-stage{min-width:0}.battle-map{background:#293346;border:2px solid #485165;border-radius:12px;position:relative;overflow:hidden}.battle-map canvas{width:100%;height:100%;display:block}.battle-grid{display:grid;position:absolute;inset:0}.battle-cell{touch-action:manipulation;background:0 0;border:0;border-radius:6px;min-width:0;min-height:0;padding:0}.battle-cell:focus-visible{outline-offset:-4px;background:#fff2cf13;outline:3px solid #fff3c4}.battle-cell:hover{background:#fff2cf0b}.battle-cell:not(:disabled):active{transform:none}.map-caption{color:#777267;justify-content:space-between;gap:8px;margin:10px 2px;font-size:10px;line-height:1.5;display:flex}.map-caption>span:first-child{letter-spacing:.8px;font-size:9px}.map-caption b{color:#a98d59;margin:0 5px}.build-tray{background:#f2ebde;border:1px solid #dbd1be;border-radius:11px;padding:19px}.build-tray h3{margin:9px 0 6px;font:500 26px/1.2 Georgia,serif}.toy-description{color:#777366;font-size:12px;line-height:1.6}.tower-stats{color:#737466;flex-wrap:wrap;gap:10px;margin:16px 0;font-size:11px;display:flex}.tower-stats b{color:#3d5256;margin-bottom:3px;font-size:17px;display:block}.placement-help,.selection-card p,.wave-lock-note,.wave-reward{color:#737266;font-size:12px;line-height:1.65}.placement-help{border-top:1px dashed #d8cbb4;padding-top:15px}.selection-card{background:#fff9ec;border:1px solid #d6c5a4;border-radius:8px;margin-top:14px;padding:12px}.selection-title{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.selection-title .text-button{min-width:44px;min-height:44px;font-size:22px}.selection-card p{margin:5px 0 12px}.selection-card .primary,.selection-card .small-button{min-height:48px;margin-top:9px;font-size:12px;line-height:1.4}.selection-card .invalid-placement{color:#9a4e3b}.selection-card .ownership-note{color:#74624c;margin-bottom:0}.sell-toy{color:#815b49}.wave-controls{margin-top:8px}.wave-controls .ready-button{color:#fff6de;background:#2b3f4d;border-color:#2b3f4d;min-height:50px;margin-bottom:5px;font-size:14px;font-weight:700}.wave-controls .ready-button.is-ready{color:#3c6654;background:#dfe9db;border-color:#b8cbb3}.wave-controls p{color:#777366;font-size:11px;line-height:1.6}.wave-lock-note{background:#e5dfd1;border-radius:8px;margin-top:20px;padding:13px}.wave-reward{color:#4a6d54;border-top:1px dashed #c8cbb9;margin-top:18px;padding-top:13px}.toy-list{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:7px;margin-top:14px;display:grid}.toy-list>button{text-align:left;background:#efe7d7;border:1px solid #d8cebb;border-radius:7px;align-items:center;gap:9px;min-height:50px;padding:8px 10px;display:flex}.toy-list>button.your-toy{background:#e8ece1}.owner-dot{color:#26384b;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:inline-flex}.toy-list strong{font-size:11px;font-weight:700;display:block}.toy-list small{overflow-wrap:anywhere;color:#7b756a;margin-top:3px;font-size:10px;display:block}.battle-result{background:#e7eddc;border:1px solid #b8c6ac;border-radius:10px;align-items:center;gap:15px;margin:0 0 20px;padding:18px 20px;display:flex}.battle-result>span{color:#a48851;font-size:35px}.battle-result h3{margin:0 0 6px;font:500 25px/1.2 Georgia,serif}.battle-result p{color:#6a7164;font-size:12px;line-height:1.7}.battle-return{max-width:350px;margin:20px auto 4px;font-size:12px}.crew-money{color:#52725b;margin-top:5px;font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1000px){.battle-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.build-tray{padding:15px}.is-playing .player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-hud strong{font-size:20px}}@media (width<=760px){.app-shell:has(.is-playing){max-width:650px;padding:0 6px}.app-shell:has(.is-playing) .site-header{height:50px}.is-playing .lobby-panel{margin-top:3px;padding:10px 6px 0}.is-playing .panel-heading{padding-right:0}.is-playing .panel-heading h2{font-size:25px}.is-playing .panel-heading p{font-size:11px}.is-playing .room-ticket{margin:12px 0;padding:5px 10px}.is-playing .room-ticket>div{gap:12px}.is-playing .room-ticket strong{letter-spacing:4px;font-size:23px}.is-playing .room-ticket .eyebrow{letter-spacing:1px;font-size:8px}.battle-hud{gap:6px;margin-bottom:12px}.battle-hud>div{gap:4px;padding:9px 8px}.battle-hud span{letter-spacing:.65px;font-size:8px}.battle-hud strong{font-size:16px}.battle-hud small{font-size:9px;line-height:1.5}.battle-layout{grid-template-columns:1fr;gap:12px}.build-tray{padding:15px}.build-tray h3{font-size:24px}.tower-stats{gap:25px;margin:13px 0}.tower-stats b{margin-right:4px;display:inline}.selection-card{margin-top:8px}.map-caption{margin-bottom:0;font-size:9px}.map-caption>span:first-child{letter-spacing:.2px;font-size:8px}.toy-list{grid-template-columns:repeat(2,minmax(0,1fr))}.is-playing .roster-heading{margin-top:20px}.is-playing .player-list{gap:6px}.is-playing .player-seat{padding:8px}.is-playing .player-name{font-size:12px}.is-playing .player-sub{font-size:10px}.is-playing .ready-pill{font-size:9px}.battle-result{gap:10px;padding:13px}.battle-result h3{font-size:22px}.battle-result p{font-size:11px}}.app-shell:has(.is-playing) .site-header{height:60px}.is-playing .panel-sticker,.is-playing .panel-heading>.eyebrow{display:none}.is-playing .panel-heading h2{margin:0 0 3px}.game-guides{min-width:0;margin-top:22px}.map-guide{color:#6b695e;border-top:1px dashed #cfbea0;margin-top:10px;font-size:12px;line-height:1.6}.map-guide summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.map-guide p{margin:0 0 10px}.map-guide dl{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;display:grid}.map-guide dt{color:#435c5b;font-weight:700}.map-guide dd{margin:2px 0 0}@media (width<=760px){.app-shell:has(.is-playing) .site-header{height:50px}.is-playing .panel-heading{margin-bottom:5px}.is-playing .panel-heading h2{font-size:23px}.is-playing .panel-heading p{font-size:11px}.is-playing .room-ticket{margin:7px 0;padding:3px 8px}.battle-hud{margin-bottom:9px}.battle-hud>div{padding:7px 6px}.map-guide{font-size:11px}}.family-picker{grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 16px;display:grid}.family-picker button{color:#293647;text-align:left;cursor:pointer;background:#eee9dc;border:1px solid #bbb4a2;border-radius:9px;min-height:54px;padding:10px 6px;font:600 12px/1.3 system-ui}.family-picker button[aria-pressed=true]{color:#fff7e4;background:#314e59;border-color:#314e59}.family-picker small{opacity:.8;margin-top:3px;display:block}.team-relics{margin:12px 0}.relic-selection{border-color:#c9a763}.relic-selection .upgrade-card{min-height:205px}.boss-meter{color:#fff1df;background:#493e56;border-radius:12px;margin:12px 0;padding:12px 15px}.boss-meter strong,.boss-meter small{display:block}.boss-meter progress{accent-color:#e2969b;width:100%;height:10px}.boss-meter small{font-size:11px;line-height:1.5}.enemy-entry{border-bottom:1px solid #ffffff15;gap:.65rem;padding:.65rem 0;display:flex}.enemy-icon{text-align:center;flex:0 0 2.2rem;font-size:2rem}.enemy-entry small{color:#805e32;font-size:.7rem;font-weight:700;display:inline-block}.enemy-entry p{margin:.25rem 0;font-size:.82rem;line-height:1.45}.upgrade-preview{color:#334a53;background:#f4eee0;border:1px solid #cfc3ad;border-radius:.5rem;margin:.7rem 0;padding:.75rem;font-size:.8rem}.upgrade-preview dl{margin:.5rem 0}.upgrade-preview dl div{justify-content:space-between;gap:.5rem;display:flex}.upgrade-preview dd{font-variant-numeric:tabular-nums;margin:0}.upgrade-preview p{color:#647174;font-size:.72rem}.map-name{color:#5f6b67;margin:.3rem 0 .8rem;font-size:.8rem}:root{color:#243047;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#263049;--cream:#faf5e9;--gold:#edbe78;--muted:#73767b;background:#171d35;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400}*{box-sizing:border-box}body{background:radial-gradient(at 13% 39%,#34385777 0,#0000 57%),radial-gradient(at 80% 15%,#39426033,#0000 50%),#171d35;min-width:320px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #a98045}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}button,input{min-height:46px}button{transition:background .15s,transform .15s}button:not(:disabled):active{transform:translateY(1px)}.app-shell{max-width:1260px;margin:auto;padding:0 40px}.site-header{color:#ede9e0;justify-content:space-between;align-items:center;height:105px;display:flex}.brand{letter-spacing:2.3px;align-items:center;gap:11px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.brand-star{color:var(--gold);font-size:32px}.header-right{align-items:center;gap:25px;display:flex}.connection-indicator{color:#b5b9c6;align-items:center;gap:7px;font-size:11px;display:flex}.connection-indicator i{background:#e9b974;border-radius:50%;width:6px;height:6px}.connection-indicator.live i{background:#9dc7ad}.text-button{color:#5d626c;background:0 0;padding:0 4px;font-size:13px;font-weight:600}.text-button.light{color:#e4dfd4}.text-button span{margin-left:9px}main{grid-template-columns:minmax(0,1fr) minmax(390px,480px);align-items:start;gap:74px;padding:30px 0 40px;display:grid}.hero-copy{min-width:0;padding-top:24px}.eyebrow{letter-spacing:1.9px;color:#7e786c;font-size:9px;font-weight:800;line-height:1.5;display:block}.eyebrow.gold{color:#e3b777;letter-spacing:2px;align-items:center;gap:10px;display:flex}.little-line{background:#e3b777;width:22px;height:1px}h1{color:#f7f1df;letter-spacing:-3.5px;margin:25px 0 27px;font-family:Georgia,Times New Roman,serif;font-size:clamp(60px,6.2vw,82px);font-weight:500;line-height:.99}h1 .vs{color:#a5a7b7;letter-spacing:-2px;font-size:.55em;font-style:italic}h1 em{color:#e8b777;font-style:normal}.hero-description{color:#efebdf;letter-spacing:-.4px;font-size:21px;line-height:1.45}.hero-secondary{color:#b6bacb;margin-top:12px;font-size:13px;line-height:1.8}.scene-frame{border:8px solid #e9dfc8;border-bottom-width:33px;border-radius:3px;margin-top:32px;position:relative;transform:rotate(-1.5deg);box-shadow:0 12px 27px #080d2344}.bedroom{aspect-ratio:600/380;width:100%;height:auto;display:block}.scene-label{text-align:center;color:#5f5e65;font:italic 12px Georgia,serif;position:absolute;bottom:-25px;left:0;right:0}.tape{background:#d8c4a19c;border-left:2px dotted #ded0b5aa;border-right:2px dotted #ded0b5aa;width:80px;height:22px;position:absolute;top:-17px}.tape-left{left:11px;transform:rotate(-14deg)}.tape-right{right:10px;transform:rotate(19deg)}.game-facts{color:#9da3b6;letter-spacing:1.3px;justify-content:space-between;gap:8px;margin-top:26px;font-size:8px;font-weight:700;display:flex}.lobby-panel{background:var(--cream);border:1px solid #fff5e6;border-radius:15px;min-width:0;margin-top:8px;padding:35px 33px 0;position:relative;box-shadow:0 18px 60px #080d2338}.panel-sticker{letter-spacing:1.2px;background:#edc57f;border:1px dashed #9b7937;flex-direction:column;justify-content:center;align-items:center;width:84px;height:43px;font-size:7px;line-height:1.6;display:flex;position:absolute;top:-19px;right:25px;transform:rotate(7deg);box-shadow:0 2px 0 3px #edc57f}.panel-sticker strong{font-size:9px}.panel-heading{margin-bottom:25px}.panel-heading h2{letter-spacing:-1px;margin:13px 0 10px;font-family:Georgia,serif;font-size:30px;font-weight:500;line-height:1.15}.panel-heading p{color:#6f7278;font-size:12px;line-height:1.7}.mode-tabs{background:#e9e3d8;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:25px;padding:4px;display:grid}.mode-tabs button{color:#79756e;background:0 0;border-radius:6px;min-height:40px;font-size:12px;font-weight:600}.mode-tabs button.selected{color:var(--ink);background:#fffaf0;box-shadow:0 1px 4px #463e3020}label{margin:0 0 9px;font-size:12px;font-weight:650;display:block}input{width:100%;color:var(--ink);background:#fffcf6;border:1px solid #d8d3c8;border-radius:7px;min-height:48px;padding:12px 13px;font-size:16px}input::placeholder{color:#9d9b97;font-size:13px}input:focus{border-color:#a58d61}.field-hint{color:#85817b;margin-top:9px;font-size:10px;line-height:1.6}.code-field{margin-top:21px}.code-input{letter-spacing:6px;text-transform:uppercase;font-weight:700}.code-input::placeholder{letter-spacing:6px;font-size:16px}.primary{color:#fff6de;background:#2b3f4d;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:49px;padding:12px 18px;font-size:13px;font-weight:650;display:flex}.primary:hover:not(:disabled){background:#354f5d}.primary span{margin-left:auto;font-size:19px;font-weight:400}.full{width:100%}form .primary{justify-content:flex-start;margin-top:25px}.panel-divider{border-top:1px dashed #d6cdbb;margin:27px 0 23px}.team-intro{align-items:center;gap:18px;display:flex}.team-intro p{color:#7e7a73;font-size:10px;line-height:1.8}.team-intro strong{color:#4e5663;font-weight:500}.sticker-stack{padding-left:3px;display:flex}.sticker-stack .sticker{box-shadow:0 0 0 3px var(--cream);margin-left:-3px;transform:rotate(-10deg)}.sticker-stack .sticker:nth-child(2n){transform:rotate(12deg)}.sticker{color:#29394c;border:1px solid #19233712;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 0 0 2px #fff4}.playtest-tag{letter-spacing:1.5px;color:#8c877d;border-top:1px solid #e9e1d2;justify-content:center;align-items:center;gap:7px;margin-top:23px;padding:22px 0 20px;font-size:8px;font-weight:600;display:flex}.playtest-tag>span{background:#b8a586;border-radius:50%;width:5px;height:5px}.room-ticket{background:#f1e8d5;border:1px dashed #c8b58d;border-radius:7px;justify-content:space-between;align-items:center;margin-top:22px;padding:13px 18px;display:flex;position:relative}.room-ticket strong{letter-spacing:6px;color:#34414e;font-variant-numeric:tabular-nums;margin-top:4px;font-size:31px;display:block}.room-ticket .eyebrow{letter-spacing:1.8px;font-size:8px}.copy-button{color:#5a5c5b;background:#fffbf3;border:1px solid #ddcfb2;border-radius:6px;min-height:39px;padding:8px 12px;font-size:10px}.ticket-cut{background:var(--cream);border-radius:50%;width:13px;height:16px;position:absolute;top:calc(50% - 8px)}.ticket-cut.left{left:-8px}.ticket-cut.right{right:-8px}.roster-heading{justify-content:space-between;align-items:center;margin:24px 0 10px;display:flex}.roster-heading h3{font-size:12px;font-weight:650}.roster-heading>span{color:#89837a;font-size:10px}.player-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.player-seat{background:#fffaf1;border:1px solid #e5ddcf;border-radius:8px;align-items:center;gap:11px;min-height:66px;padding:10px;display:flex}.player-meta{flex:1;min-width:0}.player-name{overflow-wrap:anywhere;font-size:12px;font-weight:700}.you-label{color:#81796b;margin-left:3px;font-size:9px;font-weight:400}.player-sub{color:#827a71;margin-top:5px;font-size:9px;display:block}.ready-pill{color:#817766;white-space:nowrap;background:#eee8de;border-radius:5px;padding:5px 6px;font-size:9px}.player-seat.away{background:#eee9df;border-style:dashed}.player-seat.away .sticker{filter:grayscale(.8)}.empty-seat{color:#9b9283;border:1px dashed #dcd3c3;border-radius:8px;align-items:center;gap:12px;min-height:49px;padding:8px 12px;font-size:10px;display:flex}.empty-icon{color:#b1a896;text-align:center;width:36px;font-size:22px;font-weight:300}.ready-controls{margin-top:24px}.ready-button{color:#4a5259;background:#e9e4d7;border:1px solid #cfc6b2;border-radius:7px;width:100%;min-height:44px;margin-bottom:9px;font-size:12px;font-weight:600}.ready-button.is-ready{color:#3c6654;background:#dfe9db;border-color:#b8cbb3}.centered{text-align:center}.waiting-label{text-align:center;color:#6b756f;padding:13px 0;font-size:11px;line-height:1.6}.leave-button{color:#8b786a;width:100%;min-height:36px;margin-top:7px;font-size:10px}.message{color:#77633e;background:#f6ebcf;border:1px solid #cfbf98;border-radius:7px;align-items:flex-start;gap:8px;margin-bottom:18px;padding:10px 10px 10px 12px;font-size:11px;line-height:1.65;display:flex}.message>span{flex:1}.message.error{color:#8a4739;background:#f9e7dd;border-color:#e4c2b2}.icon-button{color:inherit;background:0 0;min-width:36px;min-height:36px;font-size:23px;line-height:1}.message .icon-button{min-width:28px;min-height:28px;margin-top:-4px}.reconnect-banner{background:#ebe2cd;border-radius:7px;flex-direction:column;gap:7px;margin:0 0 16px;padding:15px;font-size:11px;line-height:1.6;display:flex}.small-button{background:#fff7e8;border:1px solid #c9b898;border-radius:5px;margin-top:3px}.reconnect-link{width:100%;margin-top:6px;font-size:11px}.shared-room{text-align:center;background:#eeebde;border-radius:8px;margin-top:23px;padding:20px 15px}.shared-star{color:#a8864e;font-size:34px}.shared-room h3{margin:8px 0;font-family:Georgia,serif;font-size:22px;font-weight:500}.shared-room p{color:#76756b;margin-bottom:18px;font-size:11px;line-height:1.8}.shared-room .primary{font-size:11px}.how-dialog{background:var(--cream);width:calc(100% - 28px);max-width:490px;color:var(--ink);border:0;border-radius:14px;padding:35px;box-shadow:0 25px 100px #080b25aa}.close-dialog{position:absolute;top:10px;right:15px}.how-dialog h2{margin:14px 0;font-family:Georgia,serif;font-size:30px;font-weight:500;line-height:1.2}.how-dialog p{color:#72716c;font-size:12px;line-height:1.7}.rules-list{padding-left:22px;font-size:12px;line-height:1.8}.rules-list li{padding:5px 0 5px 5px}.build-note{background:#e9e2d2;border-radius:7px;margin:20px 0;padding:14px;font-size:11px;line-height:1.7}.build-note strong,.build-note span{display:block}.build-note span{color:#787267;margin-top:5px}.how-dialog .primary{font-size:12px}footer{color:#8d94a8;border-top:1px solid #ffffff12;justify-content:space-between;padding:20px 0 26px;font-size:10px;display:flex}footer span:first-child{font-family:Georgia,serif;font-size:12px;font-style:italic}@media (width>=1280px){main{gap:100px}.hero-copy{padding-right:10px}.scene-frame{max-width:470px}}@media (width<=1000px){.app-shell{padding:0 26px}main{grid-template-columns:minmax(0,1fr) minmax(350px,430px);gap:36px}.lobby-panel{padding:32px 25px 0}.hero-copy{padding-top:28px}h1{font-size:65px}.game-facts{letter-spacing:.8px;font-size:7px}.hero-description{font-size:19px}.scene-label{font-size:10px}}@media (width<=760px){.app-shell{max-width:570px;padding:0 20px}.site-header{height:80px}.header-right{gap:13px}.connection-indicator{font-size:10px}.text-button.light{font-size:11px}.brand{letter-spacing:1.4px;font-size:10px}.brand-star{font-size:27px}main{flex-direction:column;gap:30px;padding:10px 0 28px;display:flex}.hero-copy{width:100%;padding-top:0;position:relative}.hero-copy>.eyebrow{letter-spacing:1.4px;font-size:8px}h1{letter-spacing:-2.5px;margin:20px 0 13px;font-size:58px;line-height:1.01}.hero-description{font-size:16px}.hero-secondary{margin-top:8px;font-size:12px;line-height:1.6}.scene-frame{border-width:4px 4px 22px;width:40%;position:absolute;top:70px;right:4px;transform:rotate(5deg)}.scene-label{white-space:nowrap;font-size:7px;bottom:-16px}.tape{width:40px;height:13px;top:-10px}.tape-left{left:3px}.tape-right{right:2px}.game-facts{justify-content:flex-start;gap:18px;margin-top:22px;font-size:7px}.lobby-panel{width:100%;margin-top:6px;padding:32px 25px 0}.panel-heading h2{font-size:29px}.panel-heading .eyebrow{font-size:8px}.panel-heading p{font-size:12px}.playtest-tag{margin-top:20px}.player-name{font-size:13px}.ready-pill,.player-sub{font-size:10px}.field-hint,.empty-seat{font-size:11px}.hero-copy:has(+.lobby-panel [data-testid=room-code]){display:none}footer{gap:15px;font-size:9px}footer span:first-child{font-size:11px}.how-dialog{padding:30px 23px}.how-dialog .rules-list,.how-dialog p{font-size:13px}.ready-controls .primary{min-height:50px}}@media (width<=380px){.app-shell{padding:0 14px}.lobby-panel{padding:30px 18px 0}.header-right{gap:7px}.connection-indicator{font-size:9px}.scene-frame{display:none}h1{font-size:61px}.team-intro{gap:12px}.player-seat{gap:8px}.ready-pill{font-size:8px}.game-facts{gap:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.saved-seats{color:#5d626c;margin:16px 0;font-size:12px}.saved-seats summary{cursor:pointer;text-underline-offset:3px;justify-content:center;align-items:center;min-height:44px;text-decoration:underline;display:flex}.saved-seats .small-button{white-space:normal;overflow-wrap:anywhere;width:100%;margin-top:8px;display:block}.saved-seats summary:focus-visible{outline-offset:4px;outline:3px solid #a98045}.mode-tabs button,.copy-button,.leave-button,.icon-button,.message .icon-button{min-height:44px}.icon-button,.message .icon-button{min-width:44px}.player-name{font-size:14px}.player-sub,.ready-pill{font-size:11px}.roster-heading h3{font-size:14px}.roster-heading>span,.empty-seat,.team-intro p{font-size:11px}.message,.waiting-label{font-size:12px}.field-hint{font-size:11px}@media (width<=380px){.ready-pill{padding:5px;font-size:10px}.player-name{font-size:13px}.player-seat{gap:7px}}.brand{letter-spacing:.3px;min-width:0}.brand-wordmark{max-width:165px;font-size:15px;line-height:1.2}#game-title em{display:block}.brand-subtitle{color:#e8b777;letter-spacing:.35px;margin:-12px 0 22px;font-size:13px;font-weight:650;line-height:1.5}footer a{color:inherit;text-underline-offset:3px;margin-left:6px}@media (width<=760px){.brand{gap:7px}.brand-wordmark{max-width:110px;font-size:12px}#game-title{letter-spacing:-2px;margin-bottom:20px;font-size:clamp(45px,10vw,58px)}.brand-subtitle{margin-top:-8px;margin-bottom:15px;font-size:12px}.scene-frame{border-width:6px 6px 28px;width:100%;margin-top:24px;position:relative;top:auto;right:auto;transform:rotate(-1.5deg)}.scene-label{font-size:10px;bottom:-20px}footer{flex-wrap:wrap;row-gap:8px}}:root{--cream:#fff3dc;--ink:#283248;--gold:#efc278}body{color:var(--ink);background:#18253d}.app-shell{background:radial-gradient(at 12% 18%,#31405b55,#0000 58%)}.site-header{border-bottom-color:#d8bc8b30}.brand{gap:9px}.brand-art{flex-shrink:0;width:43px!important;height:43px!important}.brand-wordmark{letter-spacing:.1px;color:#fff0cf;font-family:Georgia,serif;font-size:17px;font-weight:700}#game-title{text-shadow:0 3px #09192b;letter-spacing:-2.8px;font-weight:700}#game-title em{color:#f3cb87;font-style:normal}.hero-description{color:#f5e6cd}.hero-secondary{color:#b2bfd0}.bedroom-illustration{width:100%;height:auto;display:block}.scene-frame{border-color:#fff0d0;box-shadow:0 8px #0d192e55}.scene-label{color:#465268}.game-facts{color:#d2c7af}.lobby-panel{background:#fff3dc;border:1px solid #e6d0a5;box-shadow:0 6px #0e1c3070}.panel-heading h2,.build-tray h3,.upgrade-heading h3,.personal-upgrades h3{color:#344653;font-weight:700}.panel-sticker{color:#263951;background:#dfb777;border:2px dashed #fff2cb}.mode-tabs{background:#e9ddc4;border:1px solid #d2c2a2}.mode-tabs .selected{color:#304a52;background:#fffaf0}input{background:#fffaf0;border-color:#c9b999}.primary{color:#fff2cd;background:#304e5b;border:1px solid #203d4c;box-shadow:0 3px #152e3c}.primary:hover{background:#3c626d}button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #c48a39}button:disabled{cursor:default}.room-ticket{background:#f6e4b9;border-color:#bb9a64}.room-ticket strong{color:#314d58}.ticket-cut{background:#fff3dc}.player-seat{background:#fff8e8;border-color:#ded0b3;box-shadow:0 2px #ccb99125}.player-seat .sticker{border:2px solid #fff0cd;outline:1px solid #65798038}.ready-pill.yes{color:#305c49;background:#d9e6cc}.empty-seat{color:#8b806e}.playtest-tag{color:#86785e}.map-name{color:#52656a;font-weight:700}.battle-hud>div{background:#f1e5cd;border-color:#d7c39e}.battle-hud strong{color:#314d58}.dreamlight-hud progress::-webkit-progress-value{background:#c69549}.battle-map{border-color:#25374d;box-shadow:0 3px #172941}.wave-controls .ready-button{color:#fff2ce;background:#31575d;border:2px solid #24464f;display:block;box-shadow:0 3px #18343f}.wave-controls .ready-button.is-ready{color:#285440;background:#d7e7c8;border-color:#8aa985;box-shadow:0 3px #9bae8c}.wave-controls .place-tower-button{min-height:50px;margin:8px 0 5px;font-size:14px;display:block}.build-tray,.store-header{background:#f2e6cd;border-color:#d2bf9b}.money-hud{background:#e3ebd4;border-color:#b4c5a2}.money-hud strong{color:#305c43}.toy-art{object-fit:contain;flex-shrink:0;width:64px;height:64px;display:block}.family-picker button{background:#fff5df;border-color:#cab696;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:5px;padding:7px 5px;font-size:11px;display:grid}.family-picker .toy-art{grid-row:1/3;width:38px;height:38px}.family-picker button>span{overflow-wrap:anywhere}.family-picker small{grid-column:2;margin-top:1px}.family-picker button[aria-pressed=true]{color:#fff0cb;background:#345861;border-color:#26444d;box-shadow:inset 0 0 0 1px #d8e6d657}.toy-heading{align-items:center;gap:8px;display:flex}.toy-heading .toy-art{width:53px;height:53px}.toy-heading>span{min-width:0}.toy-description{color:#626b62}.tower-stats{border-block:1px dashed #cdbb98;padding:10px 0}.tower-stats b{color:#34555a}.selection-card{background:#fff8e5;border-color:#cab48e}.selection-title{color:#34535b}.upgrade-preview{background:#e7ebdc;border-color:#b6c3a8}.upgrade-preview dl>div{border-bottom:1px solid #9aae9440;padding:5px 0}.upgrade-preview dd{font-weight:700}.toy-list>button{background:#f1e5cc;border-color:#ccbc9b;gap:6px;padding:7px;position:relative}.toy-list>button>span:last-child{min-width:0}.toy-list>button.your-toy{background:#e5ebd5;border-color:#bacba7}.roster-toy{width:38px;height:38px}.toy-list .owner-dot{border:1px solid #f8efdc;border-radius:50%;width:17px;height:17px;font-size:9px;position:absolute;bottom:3px;left:3px}.boss-meter{background:#423c56;border:1px solid #685477;min-height:76px;padding-left:81px;position:relative;box-shadow:0 2px #262940}.boss-portrait{width:62px;height:62px;position:absolute;top:9px;left:9px}.boss-meter strong{color:#ffe6b4;font-size:13px;line-height:1.5}.boss-meter progress{background:#282c43;border:1px solid #b28b9855;border-radius:5px;height:12px;margin:5px 0;display:block;overflow:hidden}.boss-meter progress::-webkit-progress-bar{background:#282c43}.boss-meter progress::-webkit-progress-value{background:#e8a0a2;border-radius:4px}.boss-meter small{color:#e5cfdd}.miniboss-meter{background:#514551;border-color:#80636c}.miniboss-meter progress::-webkit-progress-value{background:#e7bb7c}.upgrade-selection{background:#efe0c5;border:1px solid #c9b18a;box-shadow:0 3px #d4c29d50}.upgrade-card{--rarity:#96a89b;border:2px solid var(--rarity);isolation:isolate;background:#fff8e7;gap:10px;padding:16px;position:relative;box-shadow:0 4px #99886a35}.upgrade-card .rarity-label{color:#495e58;letter-spacing:1px;min-height:18px}.upgrade-card .card-art{background:#e9e1cd80;border-radius:50%;align-self:center;width:96px;height:96px;padding:5px}.upgrade-card>strong{color:#304750;font-size:24px}.upgrade-card .card-description{color:#555f5d}.upgrade-card .card-footer{color:#466352;border-top:1px dashed #bfbaa5;width:100%;padding-top:9px}.rarity-rare{--rarity:#589baf}.rarity-rare .rarity-label{color:#367b90}.rarity-epic{--rarity:#9b77b3}.rarity-epic .rarity-label{color:#8454a1}.rarity-legendary{--rarity:#c6933e;background:#fff2d1}.rarity-legendary .rarity-label{color:#9b681d}.upgrade-card.selected{background:#e3edd4;border-color:#4b7b5d;box-shadow:0 0 0 2px #4b7b5d,0 5px #8caa7d55}.upgrade-card.selected:after{content:"✓";color:#fff3d4;background:#4b7b5d;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:800;display:grid;position:absolute;top:9px;right:10px}.upgrade-card:disabled{opacity:.85}.upgrade-card.selected:disabled{opacity:1}.upgrade-clock{color:#455958;background:#fff4d5;border-color:#b79964}.upgrade-crew li{background:#fff0d4;border:1px solid #dfcba6}.personal-upgrades details{background:#f2e7cf;border-color:#d1bd94}.personal-upgrades summary{color:#3d5658}.relic-mini{vertical-align:middle;width:28px;height:28px;margin-right:5px;display:inline-block}.game-guides{border-top:1px solid #c8b894;padding-top:9px}.map-guide{background:#f4e9d3;border:1px solid #dac6a2;border-radius:9px;padding:0 12px}.map-guide summary{color:#3e5a60}.map-guide summary:before{content:"✦";color:#a2783c;padding-right:8px}.map-guide[open] summary{border-bottom:1px dashed #cbb58d;margin-bottom:12px}.map-guide h4{color:#364f59;margin:15px 0 6px}.enemy-entry{border-bottom:1px solid #cfbb982e;align-items:center}.enemy-portrait{width:58px;height:58px}.enemy-entry>div{min-width:0}.enemy-entry strong{color:#354b57}.enemy-entry small{color:#8a633c;margin-top:2px;display:block}.field-key{background:#e7ddc7;border-radius:6px;padding:10px;font-size:11px;line-height:1.7}.battle-result{background:#e2ebd0;border:2px solid #a9bf93;box-shadow:0 3px #bac9a455}.battle-result.defeat{background:#ecdfdb;border-color:#c4a5a6}.result-art{width:76px;height:76px}.battle-result h3{color:#334d53;font-weight:700}.how-dialog{border:2px solid #d5bb8d}.how-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d1d35d9}.audio-controls{color:#e8d7b3;flex-shrink:0;position:relative}.audio-controls>summary{cursor:pointer;background:#fff0cd08;border:1px solid #f4d59f30;border-radius:10px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.audio-controls>summary::-webkit-details-marker{display:none}.audio-popover{z-index:20;color:#314d58;background:#fff1d5;border:1px solid #b59e76;border-radius:12px;flex-direction:column;gap:8px;width:218px;padding:14px;display:flex;position:absolute;top:49px;right:0;box-shadow:0 5px #13223b55}.audio-popover strong{font:700 17px/1.3 Georgia,serif}.audio-popover button{color:#405b61;background:#f9e9c8;border:1px solid #bcad8d;border-radius:7px;min-height:44px;font-size:13px}.audio-popover button[aria-pressed=true]{background:#dce8cc;border-color:#a7bd97}.audio-popover small{color:#737464;font-size:11px;line-height:1.5}@media (width<=1000px) and (width>=761px){.family-picker .toy-art{width:30px;height:30px}.family-picker button{grid-template-columns:30px minmax(0,1fr);font-size:10px}}@media (width<=760px){.header-right{gap:6px}.brand{gap:5px}.brand-art{width:32px!important;height:32px!important}.brand-wordmark{max-width:90px;font-size:12px}.connection-indicator{gap:4px;font-size:9px}.text-button.light{min-height:44px;font-size:10px}.audio-popover{right:-95px}.family-picker button{grid-template-columns:43px minmax(0,1fr);min-height:61px;padding:7px;font-size:12px}.family-picker .toy-art{width:43px;height:43px}.toy-heading .toy-art{width:49px;height:49px}.upgrade-card{gap:8px;min-height:172px;padding:14px 14px 14px 92px}.upgrade-card .card-art{width:72px;height:72px;position:absolute;top:45px;left:10px}.upgrade-card>strong{font-size:23px}.upgrade-card .rarity-label{font-size:9px}.upgrade-card .card-description{font-size:12px;line-height:1.6}.upgrade-card .card-footer{font-size:10px}.result-art{width:58px;height:58px}.boss-meter{min-height:70px;padding-left:65px}.boss-portrait{width:50px;height:50px;left:7px}.boss-meter strong{font-size:12px}.enemy-portrait{width:50px;height:50px}}@media (width<=380px){.connection-indicator{font-size:0}.connection-indicator i{margin:0}.brand-wordmark{max-width:86px}.audio-popover{right:-70px}.upgrade-card{padding-left:78px}.upgrade-card .card-art{width:60px;height:60px;left:8px}}.front-main{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:40px;padding-top:24px}.front-hero{min-width:0;padding:0}.front-hero h1{margin:19px 0 28px;font-size:clamp(56px,6vw,80px);line-height:1.02}.front-hero .hero-description{font-size:22px;line-height:1.4}.front-hero .hero-description strong{color:#f5cc88;font-weight:500}.front-hero .hero-secondary{color:#ccd4de;font-size:14px;line-height:1.7}.front-facts{color:#f6dfb8;flex-wrap:wrap;gap:7px;margin:21px 0;font-size:11px;font-weight:650;display:flex}.front-facts span{background:#304058;border:1px solid #b8bdcc42;border-radius:20px;padding:7px 10px}.front-hero .scene-frame{border-width:5px 5px 29px;border-radius:16px;max-width:none;margin-top:22px;overflow:visible;transform:none}.front-hero .bedroom-illustration{border-radius:11px 11px 0 0}.front-hero .scene-label{font-size:12px;line-height:20px;bottom:-23px}.front-crew{color:#cbd2dc;align-items:center;gap:2px;margin:15px 0;font-size:11px;line-height:1.6;display:flex}.front-crew .toy-art{width:52px;height:52px}.front-crew>span{margin-left:10px}.front-crew strong{color:#f5e0bb;font-weight:550}.front-main>.lobby-panel{border-radius:20px;margin-top:12px;padding:32px 27px 0}.front-main .panel-sticker{top:-16px;right:22px}.front-main .panel-heading{margin-bottom:21px}.front-main .panel-heading h2{font-size:33px}.front-main .panel-heading p{color:#5e655f;font-size:13px}.front-main .mode-tabs{margin-bottom:22px}.front-main .mode-tabs button{min-height:48px;font-size:14px}.front-main label{font-size:13px}.front-main .field-hint{color:#66675e;font-size:12px}.front-main form .primary{min-height:54px;margin-top:20px;font-size:16px}.front-main .room-ticket{border:2px dashed #af8c53;border-radius:12px;margin:0 0 19px;padding:17px}.front-main .room-ticket strong{letter-spacing:7px;font-size:40px;line-height:1.25}.front-main .room-ticket .eyebrow{font-size:10px}.front-main .copy-button{min-height:48px;padding:10px;font-size:13px}.copy-feedback{color:#315c47;margin:8px 0;font-size:12px}.lobby-primer,.crew-tip{background:#eee5cd;border:1px solid #c4b289;border-radius:11px;padding:14px;font-size:12px;line-height:1.6}.lobby-primer p{color:#596257;margin:6px 0}.lobby-primer>span{color:#65583d;font-size:11px;font-weight:650}.crew-tip{color:#f5dfb9;background:#293c50;border-color:#63717b;margin-top:25px}.crew-tip p{color:#ccd5dd;margin-top:8px}.front-main .player-seat{gap:10px;min-height:80px;padding:12px}.front-main .player-sub{color:#686257;font-size:11px;line-height:1.6}.front-main .ready-pill{white-space:normal;text-align:center;color:#615a4f;max-width:94px;font-size:11px;line-height:1.5}.front-main .ready-pill.yes{color:#305c49}.front-main .empty-seat{color:#716654;min-height:49px}.front-main .ready-controls{margin-top:20px}.front-main .ready-button{min-height:50px;font-size:14px}.front-main .ready-controls .primary{min-height:52px;font-size:14px}.front-main .leave-button{font-size:12px}.run-steps{color:#f5e8d0;grid-column:1/-1;min-width:0;padding:10px 0 28px}.run-steps h2{margin-top:10px;font:500 29px/1.25 Georgia,serif}.step-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.step-grid article{background:#26384e;border:1px solid #8c9aaf40;border-radius:16px;min-width:0;padding:18px;position:relative}.step-grid .toy-art{width:57px;height:57px}.step-number{color:#9eacbc;font:italic 21px Georgia,serif;position:absolute;top:20px;right:15px}.step-grid h3{margin:13px 0 8px;font:600 21px/1.3 Georgia,serif}.step-grid p{color:#cbd3dc;font-size:13px;line-height:1.7}.how-dialog{overscroll-behavior:contain;max-width:620px;max-height:calc(100dvh - 32px);padding:32px;overflow-y:auto}.help-sections{margin:20px 0}.help-sections details{background:#fff7e7;border:1px solid #d3c29e;border-radius:9px;margin:8px 0}.help-sections summary{cursor:pointer;min-height:48px;padding:13px 12px;font-size:14px;font-weight:650}.help-sections details p{color:#535c57;padding:0 14px 14px;font-size:13px;line-height:1.7}summary:focus-visible{outline-offset:3px;outline:3px solid #a98045}.run-summary{color:#304d4e;background:#ebefd9;border:2px solid #acbc8c;border-radius:16px;margin:17px 0 14px;padding:24px}.run-summary.defeat{background:#eee1dc;border-color:#ba9fa8}.ending-heading{align-items:center;gap:16px;margin-bottom:24px;display:flex}.ending-heading h2{margin:8px 0 10px;font:700 31px/1.15 Georgia,serif}.ending-heading p,.ending-context{color:#566359;font-size:13px;line-height:1.7}.ending-art{width:82px;height:82px}.run-summary h3{margin:20px 0 12px;font:700 22px/1.3 Georgia,serif}.run-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;display:grid}.run-facts>div{background:#fff7e8b0;border:1px solid #a4b68d70;border-radius:10px;min-width:0;padding:13px}.run-facts dt,.crew-build dt{color:#5d665a;font-size:12px}.run-facts dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:17px;font-weight:700}.crew-builds{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.crew-build{background:#fffaec;border:1px solid #acb899;border-radius:11px;min-width:0;padding:15px}.crew-build h4{overflow-wrap:anywhere;align-items:center;gap:9px;margin:0 0 14px;font-size:15px;display:flex}.crew-build h4>span:last-child{min-width:0}.crew-build h4 small{color:#697263;margin-top:3px;font-size:11px;font-weight:500;display:block}.build-sticker{color:#263a4e;border-radius:10px;flex-shrink:0;place-items:center;width:35px;height:35px;display:grid}.crew-build dl{margin:0}.crew-build dl>div{border-top:1px solid #c5c9b450;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.crew-build dd{text-align:right;flex-shrink:0;margin:0;font-size:13px;font-weight:650}.ending-actions{background:#fff2dc;border:1px solid #cdb791;border-radius:12px;margin:14px 0 22px;padding:15px;scroll-margin-bottom:30px}.ending-actions p{color:#5e685e;text-align:center;margin-top:10px;font-size:12px;line-height:1.6}.ending-actions button{min-height:52px;font-size:15px}.history-hint{color:#626958;margin:-3px 0 12px;font-size:12px;line-height:1.6}.grouped-upgrades>div{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px;display:grid}.grouped-upgrades .history-family{background:#f5ead1;width:100%;max-width:none}.grouped-upgrades .history-family>summary{align-items:center;gap:8px;min-height:54px;padding:8px 11px;display:flex}.history-family>summary:before{content:"▸";font-size:14px}.history-family[open]>summary:before{content:"▾"}.history-family>summary::-webkit-details-marker{display:none}.history-family>summary{list-style:none}.history-family>summary>strong{flex:1;min-width:0;font-size:13px}.history-family>summary>span{text-transform:none;color:#626958;white-space:nowrap;margin:0;font-size:10px}.history-family .history-icon{width:32px;height:32px}.history-cards{gap:6px;padding:0 8px 8px;display:grid}.history-cards details{background:#fff8e8;max-width:none}.history-cards summary{min-height:46px;padding:8px 10px}.history-cards .card-art{display:none}.history-cards summary>span{font-size:9px;display:inline}.history-cards summary>strong{font-size:12px}.team-relics>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.team-relics details{width:100%;max-width:none}.team-relics summary{min-height:48px;line-height:1.6}.team-relics .relic-mini{width:28px;height:28px;display:inline-block}@media (width<=1000px){.front-main{gap:28px}.front-main>.lobby-panel{padding:30px 20px 0}.front-crew .toy-art{width:43px;height:43px}.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.front-shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));max-width:600px}.front-shell .site-header{height:78px}.front-main{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:6px;display:grid}.front-main.landing>.front-hero{display:contents}.front-main .front-hero h1{margin:0;font-size:clamp(45px,12vw,64px);line-height:.98}.front-main.landing .front-hero>.eyebrow{display:none}.front-main.landing .brand-subtitle{margin:-12px 0 -10px}.front-main.landing .hero-description{display:none}.front-main.landing .hero-secondary{margin:0;font-size:14px}.front-main.landing .front-facts{gap:6px;margin:-8px 0 0}.front-facts span{padding:6px 9px;font-size:10px}.front-main.landing>.lobby-panel{grid-row:5;width:100%;margin:0;padding:26px 21px 0}.front-main.landing .scene-frame{grid-row:6;width:100%;margin:0;display:block}.front-main.landing .front-crew{grid-row:7;margin:-10px 0 0}.front-main>.lobby-panel{margin:0}.front-main.crew-lobby>.front-hero{display:none}.front-main .panel-heading{margin-bottom:17px}.front-main .panel-heading h2{margin-top:8px;font-size:29px}.front-main .panel-sticker{width:76px;right:17px}.front-main .mode-tabs{margin-bottom:19px}.front-main .room-ticket strong{letter-spacing:6px;font-size:38px}.front-main .player-seat{gap:9px;padding:10px}.front-main .player-name{font-size:14px}.front-main .ready-pill{max-width:84px;font-size:10px}.run-steps{padding-top:0}.run-steps h2{font-size:26px}.step-grid{gap:10px;margin-top:17px}.step-grid article{padding:14px}.step-grid h3{font-size:19px}.step-grid p{font-size:12px}.front-shell footer{padding-bottom:max(26px,env(safe-area-inset-bottom))}.front-main .ready-controls{padding-bottom:8px}.run-summary{padding:16px 12px}.ending-heading{align-items:flex-start;gap:9px;margin-bottom:18px}.ending-heading h2{font-size:26px}.ending-art{width:53px;height:53px}.run-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.run-facts>div{padding:10px}.run-facts dd{font-size:15px}.crew-builds,.grouped-upgrades>div,.team-relics>div{grid-template-columns:minmax(0,1fr)}.ending-actions{padding-bottom:max(18px,env(safe-area-inset-bottom));scroll-margin-bottom:60px}.how-dialog{max-height:calc(100dvh - 24px);padding:29px 18px 20px}}@media (prefers-reduced-motion:reduce){.front-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=380px){.front-main .room-ticket{padding:12px}.front-main .room-ticket strong{letter-spacing:4px;font-size:32px}.front-main .copy-button{padding:8px;font-size:12px}.front-crew .toy-art{width:38px;height:38px}.front-crew>span{margin-left:6px;font-size:10px}}
