:root{color:#e8edf2;background:#111418;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{min-height:36px;border:1px solid #3d4754;border-radius:6px;background:#202832;color:#f5f7fa;cursor:pointer;font:inherit;padding:0 12px}button:hover:not(:disabled){background:#2b3542}button:disabled{color:#687380;cursor:not-allowed}.app-shell{min-height:100vh;padding:20px}.menu-screen,.result-screen,.reward-screen{align-items:center;background:linear-gradient(135deg,rgba(72,169,166,.12),transparent 34%),radial-gradient(circle at 80% 10%,rgba(243,201,105,.12),transparent 28%),#111418;display:flex;min-height:100vh;padding:24px}.menu-hero,.result-panel,.reward-panel,.difficulty-panel{max-width:820px;width:100%}.menu-hero h1,.result-panel h1,.reward-panel h1,.difficulty-panel h1{font-size:56px;line-height:1;margin:8px 0 14px}.menu-copy,.result-panel p{color:#b8c2cc;font-size:17px;max-width:560px}.eyebrow{color:#f3c969;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.menu-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.difficulty-panel{max-width:980px}.difficulty-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.difficulty-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.difficulty-card{align-items:stretch;background:#171c22;border:1px solid #3d4754;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:space-between;min-height:124px;padding:16px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.difficulty-card.recommended{background:#48a9a61f;border-color:#61c5c2;box-shadow:0 0 22px #48a9a61f}.difficulty-card:hover,.difficulty-card:focus-visible{background:#202832;border-color:#76dbe8;outline:0;transform:translateY(-2px)}.difficulty-card.recommended:hover,.difficulty-card.recommended:focus-visible{background:#48a9a62e}.difficulty-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:28px}.difficulty-title-row h2{font-size:20px;margin:0}.difficulty-title-row span{border:1px solid rgba(97,197,194,.48);border-radius:999px;color:#76dbe8;font-size:11px;font-weight:700;padding:3px 7px;white-space:nowrap}.difficulty-target{color:#f3c969;font-size:16px;font-weight:800;margin:12px 0 0}.primary-button{background:#48a9a6;border-color:#61c5c2;color:#071112;font-weight:700}.primary-button:hover:not(:disabled){background:#5dc2bf}.top-bar{align-items:center;border-bottom:1px solid #2a313b;display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:16px}.combat-top-bar{align-items:center;border-bottom:1px solid rgba(42,49,59,.72);display:grid;gap:16px;grid-template-columns:minmax(280px,520px) minmax(128px,168px) auto;justify-content:center;margin-bottom:18px;padding-bottom:10px;width:min(100%,940px)}h1,h2,p{margin:0}h1{font-size:24px}h2{font-size:15px;margin-bottom:10px}.top-bar p,.muted{color:#9aa6b2;font-size:13px}.workspace,.combat-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(110px,160px) minmax(280px,460px) minmax(140px,210px);justify-content:center;width:100%}.map-layout{display:grid;gap:18px;grid-template-columns:minmax(320px,760px) minmax(220px,320px)}.run-progress-shell{background:linear-gradient(180deg,rgba(118,219,232,.07),transparent 36%),#111418;min-height:100vh}.run-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:48px}.floor-label{color:#f5f7fa;font-size:22px;font-weight:800;letter-spacing:0}.run-progress-actions{display:flex;gap:8px}.run-progress-layout{align-items:center;display:grid;gap:28px;grid-template-columns:minmax(220px,320px) minmax(420px,780px);min-height:calc(100vh - 160px)}.run-relic-column{align-self:stretch}.run-chain-stage{align-items:center;display:flex;justify-content:center;min-width:0}.linear-chain-wrap{overflow:hidden;padding:34px 20px;position:relative;width:100%}.linear-chain-wrap:before,.linear-chain-wrap:after{content:"";inset-block:0;pointer-events:none;position:absolute;width:82px;z-index:2}.linear-chain-wrap:before{background:linear-gradient(90deg,#111418,#11141800);left:0}.linear-chain-wrap:after{background:linear-gradient(270deg,#111418,#11141800);right:0}.linear-chain{align-items:center;display:flex;justify-content:center;min-width:0}.linear-chain-item{align-items:center;display:flex}.chain-link{background:#3d4754;display:block;height:2px;width:clamp(28px,5vw,72px)}.floor-node{align-items:center;aspect-ratio:1;background:#202832;border:1px solid #3d4754;border-radius:8px;color:#f5f7fa;display:flex;flex-direction:column;gap:4px;height:78px;justify-content:center;padding:0;transition:border-color .14s ease,box-shadow .14s ease,opacity .14s ease,transform .14s ease}.floor-node:disabled{cursor:default}.floor-node.completed{filter:saturate(.3);opacity:.36}.floor-node.current{border-color:#f5f7fa;box-shadow:0 0 22px #76dbe857;cursor:pointer;transform:scale(1.08)}.floor-node.future{opacity:1}.floor-node-icon{font-size:18px;font-weight:900}.floor-node-battle{background:#18323b;border-color:#4fb8d0}.floor-node-event{background:#2a263d;border-color:#a98cdf}.floor-node-shop{background:#3b321c;border-color:#e4be61}.floor-node-boss{background:#3b2026;border-color:#ec7280}.floor-node-finalBoss{background:#44212d;border-color:#ff8aa5;box-shadow:0 0 16px #ff8aa538}.side-panel,.combat-left,.combat-right,.board-column{align-self:start;display:flex;flex-direction:column;gap:12px}.board-column{align-items:center;position:relative}.panel{border:1px solid #2a313b;border-radius:8px;background:#171c22;padding:14px;transition:border-color .14s ease,transform .14s ease,background .14s ease}.combat-shell{background:linear-gradient(180deg,rgba(72,169,166,.06),transparent 34%),#111418;display:flex;justify-content:center;position:relative}.combat-floor-label{color:#f5f7fa;font-size:14px;font-weight:800;left:20px;letter-spacing:0;line-height:1;position:absolute;top:20px;z-index:3}.play-area-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 40px);padding-block:clamp(34px,5vh,64px) clamp(18px,4vh,48px);width:100%}.combat-feedback-slot{align-items:center;display:flex;height:74px;justify-content:center;pointer-events:none;width:100%}.combat-right .combat-feedback-slot{align-items:stretch;min-height:150px;height:auto}.combat-hud{align-items:center;background:transparent;border:0;display:grid;gap:10px;grid-template-columns:max-content minmax(160px,320px) max-content;grid-template-rows:auto minmax(28px,auto);padding:0;position:relative}.combat-hud.impacting{animation:enemy-impact-basic .22s ease-out}.combat-hud.impacting.attack-tetris,.combat-hud.impacting.attack-backToBack{animation:enemy-impact-strong .26s ease-out}.combat-hud.impacting.attack-tSpin{animation:enemy-impact-spin .3s ease-out}.combat-hud.impacting.attack-perfectClear{animation:enemy-impact-critical .36s ease-out}.combat-hud.impacting:after{border:1px solid rgba(118,219,232,.5);border-radius:6px;content:"";inset:-5px;pointer-events:none;position:absolute}.combat-hud.impacting.attack-perfectClear:after{border-color:#f2d978b8}.enemy-name{color:#f5f7fa;font-size:15px;line-height:1;white-space:nowrap}.enemy-hp{color:#c9d3dd;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.enemy-damage-float{animation:enemy-damage-float 2.1s ease-out forwards;color:#fff;font-size:28px;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:0;text-shadow:0 2px 0 rgba(0,0,0,.42),0 0 14px rgba(230,95,92,.34);top:24px;z-index:5}.combat-status-badges{align-items:center;display:flex;gap:7px;grid-column:1 / -1;min-height:28px}.combat-status-badge{align-items:center;background:#171c22eb;border:1px solid rgba(232,237,242,.16);border-radius:999px;display:inline-flex;gap:6px;line-height:1;padding:7px 10px}.combat-status-badge strong,.combat-status-badge em{font-size:11px;font-style:normal;font-weight:900}.combat-status-badge em{color:#f5f7fa;font-variant-numeric:tabular-nums}.combat-status-badge-b2b{border-color:#76dbe87a;color:#76dbe8}.combat-status-badge-combo{border-color:#f2d97880;color:#f2d978}.combat-status-badge-speed{border-color:#72dd8b7a;color:#72dd8b}.combat-status-badge-lock{border-color:#f2d97880;color:#f2d978}.enemy-attack-warning{align-items:center;background:#171c22db;border:1px solid rgba(232,237,242,.14);border-radius:6px;display:grid;gap:3px;justify-items:center;line-height:1;min-height:52px;padding:8px 10px;white-space:nowrap}.enemy-attack-warning strong{color:#9aa6b2;font-size:10px;font-weight:900}.enemy-attack-warning span{color:#f5f7fa;font-size:13px;font-variant-numeric:tabular-nums;font-weight:900}.enemy-attack-warning em{color:#b8c2cc;font-size:10px;font-style:normal;font-weight:800}.enemy-attack-warning--none{opacity:.6}.enemy-attack-warning--normal{border-color:#76dbe857}.enemy-attack-warning--warning{border-color:#f2d97894;box-shadow:0 0 14px #f2d97824}.enemy-attack-warning--warning span{color:#f2d978}.enemy-attack-warning--danger{border-color:#e65f5cc2;box-shadow:0 0 18px #e65f5c38}.enemy-attack-warning--danger span{color:#ff9ba0}.fast-chain-indicator{align-items:center;background:#171c22;border:1px solid rgba(61,71,84,.86);border-radius:6px;color:#9aa6b2;display:grid;gap:2px;grid-template-columns:auto auto;padding:10px 12px;width:100%}.fast-chain-indicator span,.fast-chain-indicator em{font-size:10px;font-style:normal;font-weight:800;line-height:1}.fast-chain-indicator strong{color:#f5f7fa;font-size:18px;grid-row:span 2;line-height:1;text-align:right}.fast-chain-indicator.active{border-color:#76dbe8b8;box-shadow:0 0 16px #76dbe838;color:#76dbe8}.attack-trail{align-items:center;animation:attack-trail-basic .62s ease-out forwards;color:#f5f7fa;display:flex;font-weight:900;justify-content:center;pointer-events:none;position:absolute;top:12px;left:50%;z-index:4}.attack-trail span{background:#171c22d6;border:1px solid rgba(118,219,232,.4);border-radius:999px;box-shadow:0 0 18px #76dbe842;display:inline-flex;padding:5px 10px}.attack-trail.attack-medium span{border-color:#f2d97875;box-shadow:0 0 20px #f2d9783d}.attack-trail.attack-high{animation-name:attack-trail-strong}.attack-trail.attack-high span,.attack-trail.attack-critical span{font-size:18px;padding:6px 12px}.attack-trail.attack-tSpin span{border-color:#c99bea94;box-shadow:0 0 24px #c99bea47}.attack-trail.attack-backToBack span{border-color:#76dbe8a3;box-shadow:0 0 20px #76dbe84d,0 0 34px #76dbe82e}.attack-trail.attack-perfectClear{animation-name:attack-trail-critical}.attack-trail.attack-perfectClear span{border-color:#f2d978c2;color:#f2d978;box-shadow:0 0 22px #f2d9786b,0 0 42px #ee8d952e}.combat-feedback{align-items:center;animation:feedback-pop .26s ease-out;border:1px solid rgba(232,237,242,.18);border-radius:8px;background:#171c22db;display:flex;flex-direction:column;gap:6px;max-width:min(100%,360px);min-width:220px;padding:10px 14px;text-align:center}.combat-right .combat-feedback{justify-content:center;min-width:0;width:100%}.combat-feedback strong{color:#f2d978;font-size:24px;line-height:1;text-transform:uppercase}.combat-right .combat-feedback strong{font-size:22px}.combat-feedback-damage{color:#fff;font-size:24px;font-weight:900;line-height:1}.combat-feedback-low{box-shadow:0 0 12px #76dbe824}.combat-feedback-medium{box-shadow:0 0 18px #f2d97833}.combat-feedback-medium strong{font-size:27px}.combat-right .combat-feedback-medium strong{font-size:24px}.combat-feedback-high{border-color:#76dbe87a;box-shadow:0 0 26px #76dbe84d}.combat-feedback-high strong{font-size:31px}.combat-right .combat-feedback-high strong{font-size:27px}.combat-feedback-critical{border-color:#f2d978ad;box-shadow:0 0 30px #f2d97857,0 0 54px #ee8d9529}.combat-feedback-critical strong{color:#f2d978;font-size:34px}.combat-right .combat-feedback-critical strong{font-size:29px}@keyframes feedback-pop{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes enemy-damage-float{0%{opacity:0;transform:translateY(8px) scale(.92)}18%{opacity:1;transform:translateY(0) scale(1.05)}70%{opacity:1}to{opacity:0;transform:translateY(-30px) scale(1)}}@keyframes attack-trail-basic{0%{opacity:0;transform:translate(-50%,18px) scale(.94)}35%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 120px),-54px) scale(1)}}@keyframes attack-trail-strong{0%{opacity:0;transform:translate(-50%,20px) scale(.92)}32%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 146px),-66px) scale(1.08)}}@keyframes attack-trail-critical{0%{opacity:0;transform:translate(-50%,22px) scale(.9)}28%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 164px),-76px) scale(1.14)}}@keyframes enemy-impact-basic{0%,to{transform:translate(0)}38%{transform:translate(3px)}}@keyframes enemy-impact-strong{0%,to{transform:translate(0);box-shadow:none}32%{transform:translate(5px);box-shadow:0 0 22px #76dbe847}}@keyframes enemy-impact-spin{0%,to{transform:rotate(0);box-shadow:none}35%{transform:rotate(.6deg) translate(4px);box-shadow:0 0 24px #c99bea4d}}@keyframes enemy-impact-critical{0%,to{transform:scale(1);box-shadow:none}35%{transform:scale(1.018);box-shadow:0 0 26px #f2d97857,0 0 48px #ee8d952e}}.board{--cell-size: 30px;aspect-ratio:10 / 20;background:#0b0e11;border:2px solid #384250;contain:layout;display:grid;flex:0 0 auto;overflow:visible;place-self:start center;position:relative;width:min(100%,calc(var(--cell-size) * 10 + 9px))}.board-stage{align-items:stretch;display:grid;gap:8px;grid-template-columns:clamp(16px,2vw,22px) minmax(0,1fr);width:100%}.garbage-gauge{align-self:stretch;min-height:180px;opacity:.92;pointer-events:none;width:100%}.garbage-gauge-track{background:#0b0e11d1;border:1px solid rgba(61,71,84,.86);border-radius:999px;box-shadow:inset 0 0 0 1px #f5f7fa08;height:100%;overflow:hidden;position:relative}.garbage-gauge-fill{background:#e4be61;border-radius:inherit;bottom:0;box-shadow:0 0 14px #e4be6142;left:0;min-height:0;position:absolute;right:0;transition:background .14s ease,box-shadow .14s ease,height .14s ease}.garbage-gauge-medium .garbage-gauge-fill{background:#e28f4d;box-shadow:0 0 16px #e28f4d52}.garbage-gauge-high .garbage-gauge-fill{background:#e65f5c;box-shadow:0 0 20px #e65f5c6b}.garbage-gauge-ready{background:#f5f7fa33;border-radius:inherit;bottom:0;display:block;left:0;position:absolute;right:0}.board.danger-board-warning{border-color:#e6c86c;box-shadow:0 0 14px #f2d9782e}.board.danger-board-danger{border-color:#ee8d95;box-shadow:0 0 18px #ee8d9547,0 0 34px #ee8d951f}.board.danger-board-critical{animation:danger-board-critical-pulse .88s ease-in-out infinite;border-color:#ff8f9e;box-shadow:0 0 22px #ee8d955c,0 0 46px #ee8d952e}.board.danger-board-garbage-pressure:after{border:1px solid rgba(242,217,120,.42);content:"";inset:4px;pointer-events:none;position:absolute;z-index:2}.danger-screen-edge{animation:danger-screen-edge-pulse .92s ease-in-out infinite;border:2px solid rgba(238,141,149,.42);box-shadow:inset 0 0 42px #ee8d9529,inset 0 0 86px #ee8d951a;inset:8px;pointer-events:none;position:fixed;z-index:20}.board.grid-visible{gap:1px}.board.grid-hidden{gap:0}.cell{background:#151a20;border:0;min-height:0;min-width:0;width:100%}.cell.filled{background:#76dbe8;box-shadow:inset 0 0 0 1px #ffffff2e}.piece-block{left:0;pointer-events:none;position:absolute;top:0}.cell.active{background:#f2d978;z-index:4}.cell.ghost{background:#e8edf20d;box-shadow:inset 0 0 0 1px #e8edf242,inset 0 0 0 3px #e8edf20a;z-index:3}.cell.garbage{filter:saturate(.7) brightness(.82)}@keyframes danger-board-critical-pulse{0%,to{box-shadow:0 0 18px #ee8d9547,0 0 34px #ee8d951f}50%{box-shadow:0 0 28px #ee8d9575,0 0 58px #ee8d9538}}@keyframes danger-screen-edge-pulse{0%,to{opacity:.42}50%{opacity:.88}}.empty-board{align-items:center;aspect-ratio:10 / 20;border:2px dashed #384250;color:#8b98a5;display:flex;justify-content:center;width:100%}.controls-row,.debug-buttons,.preview-list,.reward-grid{display:flex;flex-wrap:wrap;gap:8px}.balance-preview{border-top:1px solid #2a313b;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.balance-preview-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.balance-preview h3{font-size:12px;margin:0;text-transform:uppercase}.balance-preview select{background:#202832;border:1px solid #3d4754;border-radius:6px;color:#f5f7fa;font:inherit;min-height:30px;max-width:120px}.balance-preview .debug-buttons button{font-size:12px;min-height:30px;padding-inline:8px}.balance-sample-wrap{max-width:100%;overflow-x:auto;scrollbar-width:none}.balance-sample-wrap::-webkit-scrollbar{display:none}.balance-sample-table{border-collapse:collapse;font-size:11px;min-width:420px;width:100%}.balance-sample-table th,.balance-sample-table td{border-bottom:1px solid #2a313b;padding:5px 4px;text-align:left;white-space:nowrap}.balance-sample-table th{color:#9aa6b2;font-weight:700}.preview-list{min-height:36px}.node-map{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.map-node{align-items:flex-start;border-color:#2f3945;display:flex;flex-direction:column;gap:8px;min-height:82px;padding:12px;text-align:left}.map-node span{color:#9aa6b2;font-size:11px;text-transform:uppercase}.map-node.current{border-color:#f3c969}.map-node.available{border-color:#48a9a6}.map-node.boss{border-color:#e65f5c}.map-node.elite{border-color:#b794f4}.map-node:hover:not(:disabled),.reward-card:hover{transform:translateY(-2px)}.reward-card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:24px}.reward-card{align-items:flex-start;background:#171c22;border-color:#3d4754;display:flex;flex-direction:column;gap:10px;min-height:150px;padding:16px;text-align:left}.reward-card span{color:#b8c2cc;white-space:normal}.empty-reward-message{color:#b8c2cc;margin:24px 0 0}.stat-row{align-items:center;display:flex;justify-content:space-between;gap:12px;margin:8px 0}.stat-row span{color:#9aa6b2}.hp-bar{background:#313944;border-radius:4px;height:10px;overflow:hidden}.hp-bar div{background:#e65f5c;height:100%;transition:width .16s ease}.piece-chip{border:1px solid #3d4754;border-radius:6px;display:inline-flex;min-width:34px;padding:6px 8px;justify-content:center}.hold-panel,.queue-panel{border:1px solid #2a313b;border-radius:8px;background:#171c22;padding:14px}.hold-panel.used{opacity:.58}.hold-slot-list{align-items:center;display:flex;flex-direction:column;gap:8px}.hold-panel.multi .hold-slot-list{align-items:stretch}.hold-slot{align-items:center;display:flex;justify-content:center}.hold-slot.empty{border:1px dashed #3d4754;border-radius:6px}.piece-renderer{display:grid;gap:3px;grid-template-columns:repeat(4,1fr);height:76px;width:76px}.piece-renderer.small{height:54px;width:54px}.piece-renderer.large{height:88px;width:88px}.piece-renderer.dimmed{filter:grayscale(.35) brightness(.55)}.piece-cell{border-radius:3px;min-height:0;min-width:0}.piece-cell.filled{box-shadow:inset 0 0 0 1px #ffffff2e}.queue-list{align-items:center;display:flex;flex-direction:column;gap:8px;max-height:min(620px,calc(100vh - 220px));overflow-y:auto;padding-right:2px}.queue-piece{transform-origin:top center}.relic-item{border-top:1px solid #2a313b;display:flex;flex-direction:column;gap:4px;padding:10px 0 0}.relic-item span{color:#9aa6b2;font-size:13px}.relic-panel.compact{display:flex;flex-direction:column;gap:4px;max-height:min(360px,calc(100vh - 180px));overflow:hidden;padding:8px;position:relative;width:100%}.relic-panel.compact h2{font-size:12px;margin-bottom:0}.relic-panel.compact .muted{font-size:12px}.relic-panel.compact .relic-list{display:flex;flex-direction:column;gap:5px;margin-inline:-2px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);overflow-x:hidden;overflow-y:auto;padding:8px 2px;scrollbar-width:none}.relic-panel.compact .relic-list::-webkit-scrollbar{display:none}.relic-panel.compact .relic-item{align-items:center;border:1px solid #2f3945;border-radius:6px;flex-direction:row;gap:6px;min-height:30px;padding:5px 6px}.relic-panel.compact .relic-item strong{font-size:11px;line-height:1.15;min-width:0}.relic-icon{align-items:center;background:#202832;border:1px solid #3d4754;border-radius:6px;color:#f2d978;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;height:24px;justify-content:center;width:24px}.relic-panel.compact .relic-icon{font-size:10px;height:18px;width:18px}.shop-actions{display:flex;justify-content:flex-end;margin-top:18px}pre{color:#b8c2cc;font-size:11px;max-height:220px;overflow:auto;white-space:pre-wrap}.event-log{color:#b8c2cc;font-size:12px;height:180px;line-height:1.45;list-style-position:inside;margin:0;max-height:180px;overflow:auto;padding:0}.setting-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(130px,170px) 1fr 64px;margin:10px 0}.setting-row span{color:#9aa6b2}.setting-row input{width:100%}.modal-backdrop{align-items:center;background:#00000094;display:flex;inset:0;justify-content:center;position:fixed;z-index:20}.reward-modal,.settings-modal{background:#171c22;border:1px solid #3d4754;border-radius:8px;padding:20px;width:min(440px,calc(100vw - 32px))}.settings-modal{max-height:min(720px,calc(100vh - 32px));overflow:auto;width:min(760px,calc(100vw - 32px))}.settings-header{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.settings-tabs{display:flex;gap:8px;margin-bottom:16px}.settings-tabs button.active{background:#48a9a6;border-color:#61c5c2;color:#071112;font-weight:700}.settings-content{display:flex;flex-direction:column;gap:10px}.toggle-row,.control-binding-row{align-items:center;border-top:1px solid #2a313b;display:flex;justify-content:space-between;gap:16px;padding:10px 0 0}.control-bindings{display:grid;gap:8px}.control-binding-row button{min-width:180px}.binding-active{border-color:#f3c969;color:#f3c969}.settings-error{color:#e65f5c;font-size:13px}@media(max-width:900px){.workspace,.combat-layout,.map-layout{grid-template-columns:1fr}.combat-shell{align-items:stretch}.play-area-wrapper{justify-content:flex-start;min-height:auto;padding-bottom:0}.menu-hero h1,.result-panel h1,.reward-panel h1{font-size:42px}.top-bar{align-items:flex-start;gap:12px;grid-template-columns:1fr}.combat-top-bar{grid-template-columns:1fr auto;width:100%}.enemy-attack-warning{grid-column:1 / -1;justify-self:stretch}.combat-floor-label{left:14px;top:12px}}@media(max-height:760px){.play-area-wrapper{justify-content:flex-start;min-height:auto;padding-bottom:0}}
