.tower-game-stage{max-width:100%;padding:0;border-radius:4px;border:1px solid #2f302f;background:#101214;box-shadow:none;overflow:hidden}.tower-root{position:relative;display:grid;grid-template-columns:1fr;gap:.8rem;padding:.85rem;background:#101214;color:#f5ecd6;font-family:var(--font-mono);touch-action:manipulation}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-game-stage{height:100%;border:0;box-shadow:none;background:#070707}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-root{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:clamp(.35rem,1svmin,.55rem);padding:clamp(.35rem,1svmin,.55rem);overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-select{gap:.35rem;min-height:0}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-main{min-height:3.25rem;padding:.45rem .55rem 1rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-title{font-size:.78rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-desc{font-size:.64rem;line-height:1.2;-webkit-line-clamp:1}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-status{left:.55rem;bottom:.3rem;font-size:.56rem}.tower-campaign-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.25rem;border:1px solid #30343a;border-radius:4px;background:#15181c}.tower-campaign-card{position:relative;min-width:0;border:1px solid transparent;border-radius:3px;background:transparent}.tower-campaign-card-active{border-color:#4b5563;background:#20242a;box-shadow:none}.tower-campaign-main{display:grid;gap:.25rem;width:100%;min-height:4.4rem;padding:.65rem .75rem 1.1rem;text-align:left;color:#f5ecd6;background:transparent;border:0;cursor:pointer;font:inherit}.tower-campaign-main:hover,.tower-campaign-main:focus-visible{background:#20242a;outline:2px solid var(--act-accent, #f7d96f);outline-offset:-2px}.tower-campaign-title{color:#f5ecd6;font-weight:700;font-size:.95rem}.tower-campaign-desc{color:#cfc2ae;font-size:.78rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tower-campaign-status{position:absolute;left:.85rem;bottom:.45rem;color:#9aa3af;font-size:.68rem;text-transform:uppercase;letter-spacing:0}.tower-cabinet{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:.85rem;align-items:start}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-cabinet{min-height:0;grid-template-columns:minmax(0,1fr) minmax(13rem,17rem);gap:clamp(.35rem,1svmin,.55rem);align-items:stretch;overflow:hidden}.tower-playfield,.tower-status,.tower-info-block{border:1px solid #30343a;border-radius:3px;background:#15181c;box-shadow:none}.tower-playfield{display:grid;gap:.6rem;padding:.65rem;min-width:0;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-playfield{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"banner banner" "canvas pad";align-items:center;min-height:0;gap:.25rem;padding:.32rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-banner{grid-area:banner;min-width:0;overflow:hidden;flex-wrap:nowrap;padding:.25rem .45rem;font-size:.64rem;line-height:1.15}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-canvas-frame{grid-area:canvas}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-playfield .game-pad{grid-area:pad;align-self:center}.tower-status{display:grid;gap:.75rem;padding:.75rem;min-width:0;align-content:start}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status{align-content:start;gap:.45rem;padding:.5rem;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hero-card{grid-template-columns:44px minmax(0,1fr);gap:.45rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hero-frame,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hero-frame img{width:44px;height:44px}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-stat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem;font-size:.76rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-stat-list div,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-key-row{padding:.2rem .32rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status-section{gap:.25rem;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status-section h3{font-size:.62rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-key-stack,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-equipment{gap:.18rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-key-row,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-equip-pill{font-size:.7rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-actions,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-action-row{gap:.25rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-action-row-primary,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-action-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-actions .btn-accent,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-actions .btn-secondary,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-actions .tower-link{min-height:1.75rem;padding:.2rem .35rem;font-size:.62rem;line-height:1.1}@media(max-width:980px){.tower-cabinet{grid-template-columns:1fr}.tower-status{grid-template-columns:120px 1fr;align-items:start}.tower-status-section,.tower-actions{grid-column:span 2}.tower-campaign-select{grid-template-columns:1fr}}@media(max-width:560px){.tower-root{padding:.45rem;gap:.55rem}.tower-campaign-select{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.tower-campaign-main{min-height:4.25rem;padding:.55rem .55rem 1.25rem}.tower-campaign-title{font-size:.82rem}.tower-campaign-desc{font-size:.68rem;line-height:1.25}.tower-campaign-status{left:.55rem;bottom:.35rem;font-size:.6rem}.tower-status{grid-template-columns:1fr;padding:.55rem;gap:.55rem}.tower-status-section,.tower-actions{grid-column:auto}.tower-playfield{padding:.45rem;gap:.45rem}}.tower-banner{display:flex;flex-wrap:wrap;justify-content:center;gap:.1rem 0;text-align:center;font-family:var(--font-mono);font-size:.76rem;letter-spacing:0;text-transform:uppercase;padding:.45rem .6rem;border-radius:2px;background:#101214;border:1px solid #30343a;color:#f5ecd6}.tower-banner-sep{opacity:.5;padding:0 .4rem}.tower-banner-name{font-style:italic;opacity:.85}.tower-hero-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.65rem;align-items:center}.tower-hero-frame{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;border:1px solid #30343a;background:#101214;image-rendering:pixelated}.tower-hero-frame img{width:64px;height:64px;image-rendering:pixelated;-o-object-fit:cover;object-fit:cover}.tower-hero-copy{display:grid;gap:.2rem;min-width:0}.tower-hero-name{color:#f5ecd6;font-weight:700;white-space:nowrap}.tower-stat-list{display:grid;gap:.28rem;margin:0;font-size:.88rem}.tower-stat-list div,.tower-key-row{display:flex;justify-content:space-between;gap:.8rem;padding:.28rem .45rem;border:1px solid #30343a;background:#101214}.tower-stat-list dt{color:#b9ad9d}.tower-stat-list dd{margin:0;color:#f5ecd6;font-weight:700}.tower-status-section{display:grid;gap:.4rem}.tower-status-section h3{margin:0;color:#cfd6df;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.tower-key-stack{display:grid;gap:.25rem}.tower-key-row{font-size:.83rem;align-items:center}.tower-key-y{color:#ffe27a}.tower-key-b{color:#87c9ff}.tower-key-r{color:#ff8a78}.tower-equipment{display:grid;grid-template-columns:1fr;gap:.25rem}.tower-equip-pill{display:flex;justify-content:space-between;align-items:baseline;gap:.55rem;padding:.3rem .45rem;border:1px solid #352a22;border-radius:2px;font-size:.78rem;background:#101214}.tower-equip-pill strong{text-align:right;line-height:1.25}.tower-equip-label{opacity:.72;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.tower-canvas-frame{display:flex;justify-content:center;padding:4px;border-radius:2px;background:#020202;border:1px solid #30343a;width:100%;max-width:min(100%,82vh);aspect-ratio:1 / 1;margin:0 auto}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-canvas-frame{align-self:center;max-width:min(100%,calc(100svh - 11rem),60svw)}.tower-canvas{display:block;width:100%;max-width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:0;touch-action:none;overscroll-behavior:contain}.tower-playfield .game-pad{margin:0 auto;gap:.22rem;width:min(100%,12rem)}.tower-playfield .game-pad-btn{min-width:44px;min-height:44px;width:3rem;height:3rem;padding:0;border:1px solid #3b414a;border-radius:2px;background:#15181c;color:#f5ecd6;box-shadow:none;font-family:var(--font-mono);touch-action:manipulation}.tower-playfield .game-pad-btn:hover:not(:disabled){background:#20242a;color:#fff}.tower-playfield .game-pad-btn:focus-visible{outline:2px solid #f7d96f;outline-offset:2px}.tower-playfield .game-pad-btn:disabled{color:#766855}.tower-info{display:grid;grid-template-columns:1fr;gap:.75rem}.tower-info[data-tower-info-open=false]{display:none}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-info{position:absolute;left:clamp(.35rem,1svmin,.55rem);right:clamp(.35rem,1svmin,.55rem);bottom:clamp(.35rem,1svmin,.55rem);z-index:50;max-height:min(42svh,18rem);min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;overflow:auto;padding:.35rem;border:1px solid #30343a;background:#101214;scrollbar-gutter:stable}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-info-block{min-width:0;min-height:0;padding:.38rem .5rem;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-info-heading{margin-bottom:.18rem;font-size:.58rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hint,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-nearby,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-floor-intro,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-summary,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-messages ul{font-size:.68rem;line-height:1.25;max-height:none;overflow:hidden}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hint,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-floor-intro,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-nearby-text,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-messages li{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-nearby-row{grid-template-columns:3rem 1fr;gap:.25rem;padding:.08rem 0}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem .35rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-messages li:nth-child(n+4){display:none}@media(min-width:720px){.tower-info{grid-template-columns:repeat(2,1fr)}}.tower-info-block{padding:.7rem .85rem;color:#f5ecd6}.tower-info-heading{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;opacity:.78;margin:0 0 .4rem;font-family:var(--font-mono)}.tower-hint{margin:0;font-size:.95rem;line-height:1.5}.tower-nearby{list-style:none;padding:0;margin:0;font-size:.85rem}.tower-nearby-row{display:grid;grid-template-columns:60px 1fr;gap:.4rem;padding:.2rem 0}.tower-nearby-label{font-weight:600;opacity:.85}.tower-nearby-text{line-height:1.4}.tower-nearby-stats{opacity:.8}.tower-nearby-loot{opacity:.8;font-size:.8rem}.tower-risk{font-weight:600}.risk-safe{color:#77d06a}.risk-low{color:#d0d66e}.risk-medium{color:#f0bd56}.risk-high{color:#f08e52}.risk-deadly{color:#f06d60}.risk-impossible{color:#ffaaa0}html.dark .risk-safe{color:#6dbb5b}html.dark .risk-low{color:#b8c060}html.dark .risk-medium{color:#d4a84b}html.dark .risk-high{color:#e08a4d}html.dark .risk-deadly{color:#e87060}html.dark .risk-impossible{color:#f0a098}.tower-floor-intro{margin:0 0 .45rem;color:#cfd6df;font-size:.82rem;line-height:1.45}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-floor-intro{margin-bottom:.12rem;font-size:.56rem;line-height:1.1;-webkit-line-clamp:1}.tower-summary{list-style:none;padding:0;margin:0;font-size:.85rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem .6rem}.tower-summary li{display:flex;justify-content:space-between}.tower-messages-empty{font-style:italic;opacity:.72;margin:0;font-size:.85rem}.tower-messages ul{list-style:none;padding:0;margin:0;font-size:.8rem;max-height:8rem;overflow:auto}.tower-messages li{padding:.18rem 0;border-top:1px dashed #352a22}.tower-messages li:first-child{border-top:0}html.dark .tower-messages li{border-top-color:#4a3a2f}.tower-actions,.tower-action-row{display:grid;gap:.35rem}.tower-action-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.tower-action-row-secondary{grid-template-columns:repeat(auto-fit,minmax(7.25rem,1fr))}.tower-actions .btn-accent,.tower-actions .btn-secondary,.tower-actions .tower-link{width:100%;min-height:2rem;justify-content:center;border-radius:2px;border:1px solid #3b414a;font-family:var(--font-mono);font-size:.76rem;letter-spacing:0;line-height:1.15;text-decoration:none;white-space:normal;overflow-wrap:anywhere;box-shadow:none}.tower-actions .btn-accent{background:#f7d96f;color:#15120d;border-color:#f7d96f}.tower-actions .btn-secondary,.tower-actions .tower-link{background:#15181c;color:#f5ecd6}.tower-actions .btn-accent:hover:not(:disabled),.tower-actions .btn-secondary:hover:not(:disabled),.tower-actions .tower-link:hover{background:#20242a;color:#fff}.tower-modal{width:min(100%,42rem);max-width:min(92vw,42rem);max-height:min(86vh,calc(100svh - 1.5rem));border:1px solid #3b414a;border-radius:3px;background:#15181c;color:#f5ecd6;box-shadow:0 20px 48px #00000073}.tower-modal-floorMap{width:min(100%,34rem);max-width:min(92vw,34rem)}.tower-modal-monsterManual,.tower-modal-settings{width:min(100%,52rem);max-width:min(94vw,52rem)}.tower-modal .game-modal-body{scrollbar-gutter:stable}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .game-modal-backdrop{padding:.35rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-modal{max-height:calc(100svh - .7rem)}.tower-modal .game-modal-head h3{color:#f5ecd6;font-family:var(--font-mono);letter-spacing:0}.tower-modal .game-modal-actions .btn-accent,.tower-modal .game-modal-actions .btn-secondary,.tower-modal .game-modal-actions .tower-link{border-radius:2px;border:1px solid #66513e;font-family:var(--font-mono);text-decoration:none}.tower-modal-greeting{font-style:italic;opacity:.78;margin:.3rem 0 0;font-size:.9rem}.tower-modal-gold{margin:0 0 .6rem;font-size:.9rem}.tower-shop-offers{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}.tower-shop-offer{display:flex;justify-content:space-between;align-items:center;gap:.7rem;width:100%;padding:.5rem .7rem;border:1px solid #66513e;border-radius:2px;background:#101214;color:#f5ecd6;font-family:var(--font-mono);font-size:.85rem;cursor:pointer}html.dark .tower-shop-offer{background:#0d0d0d;border-color:#66513e}.tower-shop-offer:hover:not(:disabled){background:#24190f;color:#fff4b8}html.dark .tower-shop-offer:hover:not(:disabled){background:#24190f}.tower-shop-offer-cant,.tower-shop-offer:disabled{opacity:.5;cursor:not-allowed}.tower-shop-offer-label{min-width:0;text-align:left}.tower-choice-desc{display:block;margin-top:.18rem;opacity:.72;font-size:.74rem;line-height:1.3}.tower-shop-offer-cost{flex:0 1 48%;font-weight:600;line-height:1.25;text-align:right}.tower-floor-map{font-family:var(--font-mono);font-size:.95rem;line-height:1.1;margin:0;padding:.6rem;background:#101214;border:1px solid #3b414a;border-radius:2px;overflow:auto;color:#f5ecd6}html.dark .tower-floor-map{background:#0d0d0d;border-color:#66513e}.tower-inv-grid{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0}.tower-inv-grid dt{opacity:.7}.tower-inv-grid dd{margin:0;font-weight:600}.tower-manual-list{display:grid;gap:.35rem;margin:0}.tower-manual-row{display:grid;grid-template-columns:minmax(9rem,.8fr) minmax(0,1.2fr);gap:.5rem;padding:.35rem 0;border-top:1px dashed #352a22}.tower-manual-row:first-child{border-top:0}.tower-manual-row dt{font-weight:700;color:#fff4b8}.tower-manual-row dd{margin:0;color:#f5ecd6;font-size:.82rem;line-height:1.35}html.dark .tower-manual-row{border-top-color:#4a3a2f}.tower-messages-empty-list{padding-left:0;list-style:none}.tower-settings-btn{min-width:6rem}.tower-settings-body{display:grid;gap:.9rem}.tower-settings-group{border:1px solid #66513e;border-radius:2px;padding:.55rem .75rem .7rem;margin:0;display:grid;gap:.35rem;background:#101214}html.dark .tower-settings-group{border-color:#66513e}.tower-settings-group legend{padding:0 .4rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;opacity:.78}.tower-settings-row{display:grid;grid-template-columns:7rem 1fr 3rem;align-items:center;gap:.6rem;font-size:.85rem}.tower-settings-row input[type=range]{width:100%;accent-color:var(--act-accent, #7a6a55)}.tower-settings-row select{font:inherit;padding:.2rem .35rem;border:1px solid #66513e;border-radius:2px;background:#050505;color:#f5ecd6}html.dark .tower-settings-row select{background:#050505;border-color:#66513e;color:inherit}.tower-settings-num{font-family:var(--font-mono);font-size:.78rem;opacity:.7;text-align:right}@media(max-width:480px){.tower-settings-row{grid-template-columns:6rem 1fr 2.5rem;gap:.4rem}}@media(max-width:760px)and (orientation:landscape){.tower-cabinet{grid-template-columns:minmax(0,1fr) minmax(13rem,16rem)}.tower-status{grid-template-columns:1fr}.tower-status-section,.tower-actions{grid-column:auto}.tower-canvas-frame{max-width:min(100%,56svh)}.tower-playfield .game-pad{width:min(100%,10.5rem)}.tower-playfield .game-pad-btn{width:2.65rem;height:2.65rem}}@media(max-width:760px),(orientation:portrait){.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-root{grid-template-rows:auto minmax(0,1fr)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-select{grid-template-columns:repeat(2,minmax(0,1fr))}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-main{min-height:2.8rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-cabinet{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-playfield{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"banner banner" "canvas pad";align-items:stretch;gap:.2rem;padding:.25rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-banner{grid-area:banner;min-width:0;overflow:hidden;flex-wrap:nowrap;padding:.18rem .35rem;font-size:.54rem;line-height:1}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-banner-name{display:none}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-canvas-frame{grid-area:canvas;align-self:stretch;justify-self:center;width:auto;height:100%;max-width:min(100%,44svw);max-height:100%}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-playfield .game-pad{grid-area:pad;width:5.35rem;max-width:5.35rem;align-self:center}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-playfield .game-pad-btn{width:1.62rem;height:1.62rem;min-width:1.62rem;min-height:1.62rem;font-size:.72rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1fr);gap:.35rem}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hero-card{grid-template-columns:1fr;justify-items:center}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-hero-name{white-space:normal;font-size:.62rem;text-align:center}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status-section,.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-actions{grid-column:auto}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-info{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:560px){.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-root{grid-template-rows:minmax(0,1fr) auto}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-campaign-select{display:none}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-canvas-frame{max-width:min(100%,calc(100svh - 7rem),56svw)}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-info{grid-template-columns:repeat(4,minmax(0,1fr))}.game-wrap:is(:fullscreen,[data-fullscreen-active=true]) .tower-status-section:nth-of-type(2){display:none}}.tower-root[data-tower-contrast=high] .tower-banner,.tower-root[data-tower-contrast=high] .tower-info-heading{color:#fff7e6}.tower-root[data-tower-contrast=high] .game-stat-pill,.tower-root[data-tower-contrast=high] .tower-equip-pill{border-color:#fff7e6}.tower-root[data-tower-contrast=high] .tower-canvas-frame{box-shadow:0 0 0 2px #fff7e6}.tower-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#101214;isolation:isolate}.tower-splash-bg{position:absolute;inset:0;display:block}.tower-splash-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;filter:grayscale(.2) contrast(.8);opacity:.18}.tower-splash-scrim{position:absolute;inset:0;background:#101214c7}.tower-splash-content{position:relative;text-align:center;max-width:min(560px,86vw);padding:2rem 1.5rem;color:#f5ecd6;border:1px solid #30343a;border-radius:4px;background:#101214eb}.tower-splash-act{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--act-accent, #d4c4a8);margin-bottom:.6rem}.tower-splash-title{font-family:var(--font-serif, serif);font-size:clamp(2rem,6vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:0;text-shadow:none}.tower-splash-flavor{margin-top:1rem;font-family:var(--font-serif, serif);font-style:italic;font-size:clamp(.95rem,2.2vw,1.15rem);line-height:1.5;opacity:.92}.tower-splash-skip{margin-top:1.6rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.tower-splash-skip kbd{font-family:var(--font-mono);padding:.05rem .3rem;border:1px solid currentColor;border-radius:3px;margin:0 .1rem}@media(prefers-reduced-motion:reduce){.tower-splash{transition:none!important}}.tower-endgame-stats{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:.8rem auto 0;max-width:-moz-max-content;max-width:max-content;text-align:left}.tower-endgame-stats dt{opacity:.7;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.tower-endgame-stats dd{margin:0;font-weight:600}
