:root{--bg-0: #0f1720;--bg-1: #14283b;--bg-2: #19354f;--panel: rgba(13, 24, 38, .78);--line: #2dd4bf;--text: #ddf8ff;--muted: #88bbca;--hot: #ffd166;--food-coin-segment-min-edge: 8px}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%;font-family:Segoe UI,Microsoft YaHei,sans-serif;color:var(--text);background:radial-gradient(circle at 14% 12%,#1c4963 0%,transparent 44%),radial-gradient(circle at 87% 80%,#5b1f40 0%,transparent 40%),linear-gradient(145deg,var(--bg-0),var(--bg-1) 48%,var(--bg-2))}.shell{width:min(1280px,97.5vw);margin:24px auto;padding:16px 12px;display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:stretch}.left-panel,.right-panel{min-height:calc(100vh - 80px);background:var(--panel);border:1px solid rgba(45,212,191,.45);box-shadow:0 20px 50px #00000059;border-radius:14px;padding:12px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.right-side-cluster{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.right-side-cluster>*{min-width:0}.right-side-cluster.has-developer-panel{overflow:visible}.developer-panel{width:320px;background:linear-gradient(180deg,#122231eb,#09141fe0);border:1px solid rgba(255,209,102,.42);box-shadow:0 16px 42px #00000052;border-radius:14px;padding:12px}.right-side-cluster.has-developer-panel .developer-panel{position:absolute;top:0;left:calc(100% + 12px)}.developer-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.developer-panel-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffdd91c7;margin-bottom:4px}.developer-panel-shortcut{font-size:11px;color:#dfeff7ad;white-space:nowrap}.developer-panel-note{margin-top:8px;font-size:12px;color:var(--muted)}.developer-control-list{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.developer-control{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,209,102,.28);background:linear-gradient(180deg,#2e343aad,#12171dc7)}.developer-control.is-hidden-field{border-color:#86ccff57;background:linear-gradient(180deg,#1f3446c2,#0e1722c7)}.developer-control-label{font-size:12px;color:var(--muted)}.developer-control-value{font-size:14px;color:#fff0bf}.developer-next-room{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,209,102,.18)}.developer-next-room-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.developer-room-type-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.developer-room-type{padding:7px 8px}.developer-room-type.is-active{border-color:#ffdd91d1;box-shadow:0 0 0 1px #ffdd9142 inset}.panel-title{margin-top:14px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;color:var(--hot)}.mt{margin-top:14px}.game-canvas{width:100%;height:auto;border:1px solid rgba(201,255,248,.35);border-radius:10px;image-rendering:pixelated}.map-canvas-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:10px;align-items:stretch}.map-canvas-row>div:first-child,.map-canvas-box{display:grid;grid-template-rows:auto 1fr;gap:8px}.map-canvas-box .game-canvas{height:100%;max-height:none}.map-panel{margin-top:0;display:grid;gap:10px}.map-floor{border:1px solid rgba(136,187,202,.32);border-radius:10px;background:#08141e9e;padding:8px}.map-floor-title{font-size:12px;color:var(--muted);margin-bottom:6px}.map-room-list{display:flex;flex-wrap:wrap;gap:6px}.map-room-node{display:inline-flex;align-items:center;gap:6px}.map-room{border:1px dashed rgba(136,187,202,.36);border-radius:8px;font-size:12px;color:#88bbcae6;padding:4px 7px;background:#88bbca14}.map-room.is-revealed{border-style:solid;color:#d6f7ff;background:#5bccde33}.map-room.is-current{border-color:#ffd166db;box-shadow:0 0 0 1px #ffd16633 inset;color:#ffe9b3}.map-room.is-reordered{border-style:solid;border-color:#ffa868a6;background:#ffa86833;color:#ffe2bf}.map-room-branch{border-style:solid;border-color:#68d9ffb3;background:#68d9ff38;color:#ddf5ff}.map-branch-link{width:14px;border-top:1px solid rgba(151,223,255,.72);opacity:.92}.actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.character-option-btn{position:relative;overflow:visible}.character-option-label{position:relative;z-index:1}.character-option-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px) scale(.97);opacity:0;pointer-events:none;min-width:210px;max-width:min(260px,76vw);padding:8px 10px;border-radius:10px;border:1px solid rgba(149,245,233,.7);background:linear-gradient(180deg,#113748cc,#0a1e2dcc);box-shadow:0 12px 22px #020e188c,0 0 0 1px #4fdecb33 inset;color:#ddf8ff;font-size:12px;line-height:1.35;display:grid;gap:2px;text-align:left;white-space:normal;transition:opacity .14s ease,transform .14s ease;z-index:12}.character-option-tip:before,.character-option-tip:after{content:"";position:absolute;left:50%;top:100%;border-style:solid}.character-option-tip:before{transform:translate(-50%);border-width:7px 7px 0;border-color:rgba(149,245,233,.7) transparent transparent}.character-option-tip:after{transform:translate(-50%);margin-top:-1px;border-width:6px 6px 0;border-color:rgba(10,30,45,.95) transparent transparent}.character-option-tip>span:first-child{color:azure}.character-option-tip>span:last-child{color:#c6eaf5}.character-option-btn:hover .character-option-tip,.character-option-btn:focus-visible .character-option-tip{opacity:1;transform:translate(-50%) scale(1)}.forge-upgrade-btn,.scroll-action-btn{position:relative;overflow:visible}.forge-upgrade-btn:hover .character-option-tip,.forge-upgrade-btn:focus-visible .character-option-tip,.scroll-action-btn:hover .character-option-tip,.scroll-action-btn:focus-visible .character-option-tip{opacity:1;transform:translate(-50%) scale(1)}.scroll-action-tip{min-width:230px}.forge-hover-tip{width:100%;display:none}.event-tip{width:100%;border:1px solid rgba(255,209,102,.45);background:#ffd1661f;color:#ffe8b7;border-radius:8px;padding:7px 9px;font-size:12px}.shop-board{display:grid;gap:8px;width:100%}.shop-section{border:1px solid rgba(136,187,202,.3);border-radius:8px;padding:8px;background:#08141e9e}.shop-title{font-size:12px;color:var(--muted);margin-bottom:6px}.shop-list{display:flex;flex-wrap:wrap;gap:6px}.action-button-content{display:inline-grid;gap:7px;justify-items:start;text-align:left}.action-button-label-row{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.action-button-label{line-height:1.2;letter-spacing:.01em}.action-delta-pill-row{display:inline-flex;flex-wrap:wrap;gap:6px}.action-delta-pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:4px 9px;border-radius:999px;border:1px solid rgba(150,214,233,.24);background:linear-gradient(180deg,#101d28b8,#081118d1);box-shadow:0 0 0 1px #ffffff08 inset,0 6px 14px #00000029;font-size:11px;line-height:1;white-space:nowrap}.action-delta-pill.is-cost{border-color:#ffa77757;background:linear-gradient(180deg,#5c271dd1,#351610eb)}.action-delta-pill.is-reward{border-color:#7ce6b352;background:linear-gradient(180deg,#184837cc,#0c281eeb)}.action-delta-pill.is-positive .action-delta-pill-amount{color:#9af0b8}.action-delta-pill.is-negative .action-delta-pill-amount{color:#ffb38c}.action-delta-pill-label{color:#e4f1f8db;letter-spacing:.01em}.action-delta-pill-amount{font-weight:700;letter-spacing:.02em}.action-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,214,122,.34);background:linear-gradient(180deg,#533e15d1,#36270ceb);box-shadow:0 0 0 1px #fff5d60d inset,0 6px 14px #00000029;font-size:11px;line-height:1;white-space:nowrap}.action-status-pill-text{color:#ffe4a8;letter-spacing:.01em}button{border:1px solid var(--line);background:linear-gradient(180deg,#184058e6,#11283be6);color:var(--text);border-radius:10px;padding:8px 12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 15px #2dd4bf59}button:disabled{border-color:#88bbca59;background:linear-gradient(180deg,#2b3844d9,#1b242dd9);color:#cedce894;cursor:not-allowed;box-shadow:none;transform:none;filter:saturate(.4);pointer-events:none}.actions button.btn-exit-fade{animation:button-exit-fade .24s ease forwards}.actions button.btn-exit-fall{transform-origin:center top;animation:button-exit-fall .26s cubic-bezier(.2,.75,.35,1) forwards}@keyframes button-exit-fade{0%{opacity:1;filter:saturate(1)}to{opacity:0;filter:saturate(.45)}}@keyframes button-exit-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(26px) rotate(18deg)}}.welcome-fx{--welcome-origin-x: 50vw;--welcome-origin-y: 50vh;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;pointer-events:none;display:grid;place-items:center;overflow:hidden;animation:welcome-fx-fade 3.28s ease forwards}.victory-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;pointer-events:none;overflow:hidden;display:grid;place-items:center}.victory-fx-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,#a6ffe942,#4fddff1f 24%,#0c1a2800 52%),radial-gradient(circle at 20% 22%,#ffcd6f2e,#ffcd6f00 34%),radial-gradient(circle at 82% 26%,#ff81ac29,#ff81ac00 30%),linear-gradient(180deg,#05101c14,#030a148f);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:victory-fx-fade 4.2s ease forwards}.victory-fx-shards{position:absolute;top:0;right:0;bottom:0;left:0}.victory-fx-shard{--victory-drift: 0px;--victory-hue: 190;position:absolute;top:-12%;display:block;border-radius:3px;background:linear-gradient(180deg,hsla(var(--victory-hue),100%,88%,.98),hsla(var(--victory-hue),84%,62%,.92));box-shadow:0 0 0 1px hsla(var(--victory-hue),95%,92%,.34) inset,0 0 20px hsla(var(--victory-hue),92%,72%,.34);transform:rotate(0) translate(0);opacity:0;animation-name:victory-shard-fall;animation-timing-function:cubic-bezier(.2,.75,.3,1);animation-fill-mode:forwards}.victory-fx-center{position:relative;display:grid;gap:8px;justify-items:center;min-width:min(82vw,540px);padding:22px 28px;border-radius:18px;border:1px solid rgba(175,255,237,.75);background:linear-gradient(180deg,#123044d6,#081826c7);box-shadow:0 0 0 1px #80ffd82e inset,0 24px 90px #00000075,0 0 42px #62ffd22e;text-align:center;animation:victory-center-pop 4.2s cubic-bezier(.18,.82,.22,1) forwards}.victory-fx-kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#c5f7ffeb}.victory-fx-title{font-size:clamp(28px,5vw,54px);line-height:1;letter-spacing:.08em;color:#f7fffd;text-shadow:0 0 12px rgba(141,255,214,.72),0 0 28px rgba(96,214,255,.42),0 0 52px rgba(255,216,110,.18)}.victory-fx-detail{max-width:28ch;font-size:13px;line-height:1.45;color:#dcf4fbe0}.welcome-fx:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.74;background:radial-gradient(circle at 50% 50%,#70ffe157,#2ae2c424 20%,#0c22301f 42%,#06121f00 70%),radial-gradient(circle at 50% 50%,#ffffff1a,#7af5ff0d 26%,#06121f00 54%);transform-origin:var(--welcome-origin-x) var(--welcome-origin-y);animation:welcome-fx-scan 3.28s ease forwards}.welcome-fx-shards{position:absolute;top:0;right:0;bottom:0;left:0}.welcome-fx-shard{--welcome-shard-x: 0px;--welcome-shard-y: 0px;--welcome-shard-rotate: 360deg;position:absolute;left:var(--welcome-origin-x);top:var(--welcome-origin-y);margin-left:-6px;margin-top:-6px;border-radius:3px;background:linear-gradient(180deg,#e9fffaf5,#5cf5d6d6);box-shadow:0 0 0 1px #defff93d inset,0 0 24px #6effdd75;opacity:0;transform:translateZ(0) scale(.24) rotate(0);animation-name:welcome-fx-shard-burst;animation-timing-function:cubic-bezier(.18,.82,.24,1);animation-fill-mode:forwards}.welcome-fx-inner{position:relative;width:min(92vw,clamp(320px,62vw,720px));padding:clamp(18px,2.8vw,28px) clamp(20px,3.8vw,36px);border-radius:clamp(18px,2.2vw,24px);border:1px solid rgba(184,255,238,.82);background:radial-gradient(circle at 50% 24%,#b6fff124,#b6fff100 44%),linear-gradient(180deg,#183e57f0,#081826e6);box-shadow:0 0 0 1px #84ffe038 inset,0 28px 96px #0000006b,0 0 56px #70ffd457;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;display:grid;gap:clamp(8px,1.4vw,12px);transform-origin:var(--welcome-origin-x) var(--welcome-origin-y);will-change:transform,opacity,filter;animation:welcome-fx-pop 3.28s cubic-bezier(.18,.86,.2,1) forwards}.welcome-fx-kicker{font-size:clamp(12px,1.4vw,15px);letter-spacing:.28em;text-transform:uppercase;color:#a7efffe6}.welcome-fx-title{font-size:clamp(34px,8vw,96px);line-height:.94;letter-spacing:.14em;color:#efffff;text-shadow:0 0 14px rgba(157,255,228,.88),0 0 36px rgba(95,228,255,.72),0 0 84px rgba(115,255,214,.22)}@keyframes welcome-fx-fade{0%{opacity:.16}6%{opacity:1}82%{opacity:1}to{opacity:0}}@keyframes welcome-fx-pop{0%{transform:translate3d(calc(var(--welcome-origin-x) - 50vw),calc(var(--welcome-origin-y) - 50vh),0) scale(.16);opacity:.48;filter:blur(10px) saturate(.82)}10%{transform:translate3d(calc((var(--welcome-origin-x) - 50vw) * .18),calc((var(--welcome-origin-y) - 50vh) * .18 - 26px),0) scale(1.44);opacity:1;filter:blur(.8px) saturate(1.16)}22%{transform:translate3d(0,8px,0) scale(1.14);opacity:1;filter:blur(0) saturate(1)}40%{transform:translateZ(0) scale(1.24);opacity:1;filter:blur(0) saturate(1.04)}66%{transform:translate3d(0,-4px,0) scale(1.28);opacity:1;filter:blur(0) saturate(1.08)}80%{transform:translate3d(0,8px,0) scale(.84);opacity:.9;filter:blur(.8px) saturate(.94)}90%{transform:translate3d(calc((var(--welcome-origin-x) - 50vw) * .32 - 100px),calc((var(--welcome-origin-y) - 50vh) * .32 - 200px),0) scale(.46);opacity:.76;filter:blur(2px) saturate(.9)}to{transform:translate3d(calc(var(--welcome-origin-x) - 50vw - 100px),calc(var(--welcome-origin-y) - 50vh - 200px),0) scale(.14);opacity:0;filter:blur(12px) saturate(.78)}}@keyframes welcome-fx-shard-burst{0%{transform:translateZ(0) scale(.2) rotate(0);opacity:.34}10%{transform:translate3d(calc(var(--welcome-shard-x) * .8),calc(var(--welcome-shard-y) * .8),0) scale(1.2) rotate(calc(var(--welcome-shard-rotate) * .5));opacity:.96}42%{transform:translate3d(var(--welcome-shard-x),var(--welcome-shard-y),0) scale(.92) rotate(var(--welcome-shard-rotate));opacity:.9}72%{transform:translate3d(calc(var(--welcome-shard-x) * .3),calc(var(--welcome-shard-y) * .3),0) scale(.68) rotate(calc(var(--welcome-shard-rotate) * 1.16));opacity:.72}to{transform:translateZ(0) scale(.1) rotate(calc(var(--welcome-shard-rotate) * 1.4));opacity:0}}@keyframes victory-fx-fade{0%{opacity:0}10%{opacity:1}82%{opacity:1}to{opacity:0}}@keyframes victory-center-pop{0%{transform:translateY(18px) scale(.82);opacity:0;filter:saturate(.7) blur(5px)}16%{transform:translateY(0) scale(1);opacity:1;filter:saturate(1) blur(0)}78%{transform:translateY(0) scale(1.02);opacity:1;filter:saturate(1.05) blur(0)}to{transform:translateY(-6px) scale(1.03);opacity:0;filter:saturate(1.05) blur(2px)}}@keyframes victory-shard-fall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(var(--victory-drift),116vh,0) rotate(560deg);opacity:0}}@keyframes welcome-fx-scan{0%{opacity:.28;transform:translate3d(calc((var(--welcome-origin-x) - 50vw) * .12),calc((var(--welcome-origin-y) - 50vh) * .12),0) scale(.34)}10%{opacity:.76;transform:translateZ(0) scale(1.14)}28%{opacity:.4;transform:scale(.96)}70%{opacity:.52;transform:scale(1.22)}to{opacity:0;transform:translate3d(calc((var(--welcome-origin-x) - 50vw) * .14),calc((var(--welcome-origin-y) - 50vh) * .14),0) scale(.22)}}.stats-grid{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:14px}.stats-grid span{color:var(--muted)}.status-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.overview-chip{border:1px solid rgba(136,187,202,.35);border-radius:10px;background:linear-gradient(180deg,#142c3fe6,#091723d9);padding:8px;min-height:56px}.overview-chip span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.overview-chip strong{font-size:14px;word-break:break-word}.atk-bonus{font-weight:800;color:#fff08f;text-shadow:0 0 8px rgba(255,240,143,.95),0 0 18px rgba(255,201,82,.85),0 0 30px rgba(255,150,38,.62)}.atk-bonus-temp{color:#8ff8ff;text-shadow:0 2px 7px rgba(143,248,255,.78)}.atk-line{display:inline-flex;align-items:baseline;gap:4px;flex-wrap:nowrap;white-space:nowrap;word-break:normal;overflow-wrap:normal}.overview-chip strong.atk-line{word-break:normal;overflow-wrap:normal}.atk-gain-hint{margin-left:2px;font-weight:800;letter-spacing:.02em;color:#b8ffd0;text-shadow:0 1px 0 rgba(246,255,249,.5),0 4px 8px rgba(118,255,171,.55),0 9px 18px rgba(56,196,112,.42)}.atk-gain-hint.is-mixed{color:#ffe0a4;text-shadow:0 1px 0 rgba(255,251,236,.45),0 4px 8px rgba(255,191,108,.55),0 9px 18px rgba(214,134,46,.42)}.atk-gain-hint.is-maybe{color:#d5fff2;text-shadow:0 1px 0 rgba(240,255,251,.5),0 4px 8px rgba(132,225,255,.55),0 9px 18px rgba(77,150,220,.42)}.resource-stack{margin-top:10px;display:grid;gap:8px}.resource{border:1px solid rgba(136,187,202,.32);border-radius:10px;background:#08141ec2;padding:8px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.resource-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.resource-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.resource-label-hint{margin-left:2px;font-weight:800;letter-spacing:.02em;color:#b8ffd0;text-shadow:0 1px 0 rgba(246,255,249,.5),0 4px 8px rgba(118,255,171,.55),0 9px 18px rgba(56,196,112,.42)}.resource-label-hint.is-mixed{color:#ffe0a4;text-shadow:0 1px 0 rgba(255,251,236,.45),0 4px 8px rgba(255,191,108,.55),0 9px 18px rgba(214,134,46,.42)}.resource-label-hint.is-maybe{color:#d5fff2;text-shadow:0 1px 0 rgba(240,255,251,.5),0 4px 8px rgba(132,225,255,.55),0 9px 18px rgba(77,150,220,.42)}.resource-icon{width:20px;height:20px;border-radius:6px;display:inline-grid;place-items:center;background:#2dd4bf2e;border:1px solid rgba(45,212,191,.28)}.resource-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;font-size:13px}.armor-effect-stars{display:inline-flex;align-items:center;gap:4px;min-height:13px}.armor-effect-star{width:13px;height:13px;display:inline-block;flex:0 0 auto;transform:translateY(1px);background:linear-gradient(180deg,#dae8fffa,#789ef2eb);clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 34%);filter:drop-shadow(0 0 4px rgba(132,170,255,.35))}.segment-bar{margin-top:6px;display:grid;grid-template-columns:repeat(auto-fit,minmax(8px,1fr));gap:4px}.segment{height:10px;border-radius:3px;border:1px solid rgba(136,187,202,.3);background:#88bbca1f}.resource-hp .segment,.resource-shield .segment{height:14px;border-radius:4px}.segment.on{background:linear-gradient(180deg,#a0fff6e0,#48c8b8f2);border-color:#c5fff8cc}.icon-strip{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}.icon-node{width:14px;height:14px;border-radius:4px;border:1px solid rgba(136,187,202,.32);background:#88bbca1f}.icon-node.on{background:linear-gradient(180deg,#9febffe6,#479dc1f2);border-color:#c9f4ffeb}.resource-food .icon-node,.resource-coin .icon-node{width:var(--food-coin-segment-min-edge);min-width:var(--food-coin-segment-min-edge);height:14px;border-radius:3px}.resource-hp .segment.on{background:linear-gradient(180deg,#ffb0b0f5,#d63e5ff2);border-color:#ffd1ddeb}.resource-shield .segment.on{background:linear-gradient(180deg,#b8defff5,#5486e8f2);border-color:#cee8fff2}.resource-enemy .segment.on{background:linear-gradient(180deg,#ffbd8bf5,#df6028f2);border-color:#ffd8b9f2}.resource-coin .icon-node.on{background:linear-gradient(180deg,#ffe483f2,#f0a12bf2);border-color:#fff4bcfa}.resource-path .icon-node.on{background:linear-gradient(180deg,#a4f8fdf2,#45b6c8f2);border-color:#ceffffeb}.resource-food .icon-node.on{background:linear-gradient(180deg,#d3fc9df2,#73c444f2);border-color:#e7ffc2f0}.resource-progress{border-color:#7cd3f66b}.progress-composite{margin-top:6px;display:grid;gap:6px}.progress-row{display:grid;grid-template-columns:28px minmax(0,1fr) 58px;align-items:center;gap:6px}.progress-tag,.progress-value{font-size:11px;color:var(--muted)}.progress-value{text-align:right}.progress-segment-grid{display:grid;gap:3px}.progress-segment{border-radius:3px;border:1px solid rgba(124,211,246,.32);background:#7cd3f624}.progress-row-thin .progress-segment{height:8px}.progress-row-thick .progress-segment{height:12px}.progress-segment-room.on{background:linear-gradient(180deg,#9deafff2,#3cb1d5f2);border-color:#cff7fff2}.progress-segment-floor.on{background:linear-gradient(180deg,#a7ffd8f2,#39c094f2);border-color:#daffecf2}.resource-monster{border-color:#ffa47a6b}.monster-composite{margin-top:6px;display:grid;gap:6px}.monster-row{display:grid;grid-template-columns:32px minmax(0,1fr) 58px;align-items:center;gap:6px}.monster-tag,.monster-value{font-size:11px;color:var(--muted)}.monster-value{text-align:right}.monster-segment-bar{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px}.monster-segment-hp.on{background:linear-gradient(180deg,#ffbd8bf5,#df6028f2);border-color:#ffd8b9f2}.monster-segment-atk.on{background:linear-gradient(180deg,#ff9d9df5,#dc4747f2);border-color:#ffd6d6f2}.resource-xp{border-color:#7ea7ff61}.xp-composite{margin-top:6px;display:grid;gap:6px}.xp-lane{display:grid;grid-template-columns:28px minmax(0,1fr) 58px;align-items:center;gap:6px}.xp-lane-tag,.xp-lane-value{font-size:11px;color:var(--muted)}.xp-lane-value{text-align:right}.xp-segment-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.xp-segment{border-radius:3px;border:1px solid rgba(126,167,255,.32);background:#7ea7ff24}.xp-lane-thin .xp-segment{height:8px}.xp-lane-thick .xp-segment{height:12px}.xp-segment-progress.on{background:linear-gradient(180deg,#96eefff2,#4fb8e8f5);border-color:#c1f4ffe6}.xp-segment-level.on{background:linear-gradient(180deg,#c6b3fff5,#8160e8f2);border-color:#e1d4ffe6}.resource.is-warning{border-color:#ffbc5599;box-shadow:0 0 0 1px #ffbc552e inset}.resource.is-critical{border-color:#ff7676b8;box-shadow:0 0 0 1px #ff767642 inset}.resource.is-critical .resource-value,.resource.is-critical .resource-label{color:#ffd7d7}.resource.delta-up{animation:resource-up .42s ease}.resource.delta-down{animation:resource-down .42s ease}.resource.delta-up .segment.on,.resource.delta-up .icon-node.on,.resource.delta-up .xp-segment.on,.resource.delta-up .progress-segment.on{animation:node-up .42s ease}.resource.delta-down .segment.on,.resource.delta-down .icon-node.on,.resource.delta-down .xp-segment.on,.resource.delta-down .progress-segment.on{animation:node-down .42s ease}@keyframes resource-up{0%{transform:translateY(0);box-shadow:0 0 #42f7c800}40%{transform:translateY(-1px);box-shadow:0 0 16px #42f7c847}to{transform:translateY(0);box-shadow:0 0 #42f7c800}}@keyframes resource-down{0%{transform:translate(0)}20%{transform:translate(-2px)}45%{transform:translate(2px)}to{transform:translate(0)}}@keyframes node-up{0%{filter:brightness(1)}50%{filter:brightness(1.35)}to{filter:brightness(1)}}@keyframes node-down{0%{filter:brightness(1)}35%{filter:brightness(.72)}to{filter:brightness(1)}}.scroll-preview{display:inline-block}.segment.on.consume-pulse,.icon-node.on.consume-pulse,.scroll-preview.consume-pulse{animation:consume-pulse 1.1s ease-in-out infinite}@keyframes consume-pulse{0%{filter:brightness(.68) saturate(.82) drop-shadow(0 0 3px rgba(214,255,243,0));opacity:.38}50%{filter:brightness(1.3) saturate(1.45) drop-shadow(0 0 15px rgba(214,255,243,.95));opacity:.92}to{filter:brightness(.68) saturate(.82) drop-shadow(0 0 3px rgba(214,255,243,0));opacity:.38}}.log-box{height:280px;overflow-y:auto;border:1px solid rgba(45,212,191,.35);border-radius:8px;background:#07111cb3;padding:8px;font-size:13px;line-height:1.45}.log-box-main{height:520px}.log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.log-lane{border:1px solid rgba(136,187,202,.3);border-radius:10px;background:#08141ec7;padding:8px;min-height:165px}.log-lane-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.log-lane-title{font-size:12px;color:var(--muted);letter-spacing:.04em}.log-lane-count{min-width:22px;text-align:center;font-size:11px;border-radius:999px;padding:2px 6px;background:#88bbca33;color:#d8f4ff}.log-lane-list{display:grid;gap:6px;max-height:390px;overflow-y:auto;padding-right:2px}.log-empty{font-size:12px;color:#88bbcabf;border:1px dashed rgba(136,187,202,.3);border-radius:8px;padding:8px}.log-entry{border-radius:8px;border:1px solid transparent;padding:6px 8px;font-size:12px;line-height:1.35}.log-entry-room{border-color:#4fb0ff73;background:linear-gradient(180deg,#4fb0ff33,#4fb0ff14);color:#d8eeff}.log-entry-combat{border-color:#ff747475;background:linear-gradient(180deg,#ff747433,#ff747414);color:#ffe1e1}.log-entry-resource{border-color:#7ce87b73;background:linear-gradient(180deg,#7ce87b33,#7ce87b14);color:#def7de}.log-entry-system{border-color:#ffd16673;background:linear-gradient(180deg,#ffd16633,#ffd16614);color:#ffe9bd}.log-lane-room{box-shadow:0 0 0 1px #4fb0ff26 inset}.log-lane-combat{box-shadow:0 0 0 1px #ff747426 inset}.log-lane-resource{box-shadow:0 0 0 1px #7ce87b26 inset}.log-lane-system{box-shadow:0 0 0 1px #ffd16626 inset}@media (max-width: 920px){.shell{grid-template-columns:1fr;margin:10px auto;padding:14px 10px;align-items:stretch}.left-panel,.right-panel{min-height:calc(100vh - 48px)}.right-side-cluster{grid-template-columns:1fr}.right-side-cluster.has-developer-panel{overflow:visible}.right-side-cluster.has-developer-panel .developer-panel{position:static;width:auto}.map-canvas-row{grid-template-columns:1fr;align-items:start}.map-canvas-row>div:first-child,.map-canvas-box{grid-template-rows:auto}.map-canvas-box .game-canvas{height:auto;max-height:180px}.status-overview,.developer-control-list,.developer-room-type-grid{grid-template-columns:1fr}.segment-bar{gap:3px}.segment{height:9px}.character-option-tip{left:0;bottom:calc(100% + 8px);transform:translateY(6px) scale(.97);min-width:0;max-width:min(250px,82vw)}.character-option-btn:hover .character-option-tip,.character-option-btn:focus-visible .character-option-tip{transform:translate(0) scale(1)}.character-option-tip:before,.character-option-tip:after{left:18px;transform:none}.resource-hp .segment,.resource-shield .segment{height:14px}.log-box{height:220px}.log-box-main{height:360px}.log-grid{grid-template-columns:1fr}.log-lane{min-height:132px}.log-lane-list{max-height:220px}.welcome-fx-inner{min-width:min(92vw,460px);padding:22px 18px}.victory-fx-center{min-width:min(90vw,420px);padding:18px 16px}.victory-fx-kicker{letter-spacing:.14em}.welcome-fx-kicker{letter-spacing:.2em}}
