:root{color-scheme:dark;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;--bg-0: #08080d;--bg-1: #120f16;--bg-2: rgba(17, 13, 20, .9);--bg-3: rgba(28, 20, 31, .94);--line: rgba(225, 206, 182, .12);--line-strong: rgba(225, 206, 182, .24);--text: #f2ece2;--text-soft: rgba(242, 236, 226, .72);--accent: #d7b072;--accent-soft: rgba(215, 176, 114, .16);--blood: #8f2431;--blood-soft: rgba(143, 36, 49, .18);--attack: rgba(121, 28, 42, .3);--skill: rgba(68, 48, 78, .32)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 15% 10%,rgba(112,18,37,.2),transparent 26%),radial-gradient(circle at 85% 16%,rgba(215,176,114,.08),transparent 24%),radial-gradient(circle at 50% 120%,rgba(79,20,36,.24),transparent 40%),linear-gradient(180deg,#14111a,#06070b)}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none}body:before{background:linear-gradient(#ffffff04,#ffffff04),radial-gradient(circle at center,transparent 0 55%,rgba(0,0,0,.3) 100%);mix-blend-mode:soft-light}body:after{opacity:.22;background-image:linear-gradient(transparent 0 96%,#ffffff14),linear-gradient(90deg,transparent 0 96%,rgba(255,255,255,.04) 100%);background-size:6px 6px,6px 6px}.app-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.screen{position:relative;width:min(100%,1180px);padding:32px;border-radius:28px;background:linear-gradient(180deg,#18121deb,#09090ef7),var(--bg-2);border:1px solid var(--line);box-shadow:0 28px 70px #0000006b,inset 0 1px #ffffff08;overflow:hidden}.screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(215,176,114,.08),transparent 22%),radial-gradient(circle at bottom left,rgba(127,21,41,.12),transparent 28%);pointer-events:none}.screen>*{position:relative;z-index:1}.screen--start{padding:44px}.screen--battle{width:min(100%,1240px)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--accent)}h1,h3{margin:0;font-family:Baskerville Old Face,Times New Roman,STSong,Songti SC,serif;font-weight:700;letter-spacing:.01em}h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02}h3{font-size:1.28rem}.lead,.screen p,small{line-height:1.7;color:var(--text-soft)}.screen-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.hero-shell,.scene-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.88fr);gap:22px}.hero-copy,.hero-side,.scene-main,.scene-sidebar{display:grid;gap:18px}.hero-copy{align-content:start;padding-right:12px}.hero-tags{display:flex;flex-wrap:wrap;gap:10px}.hero-tags span,.card-kind,.intent-badge{border-radius:999px;border:1px solid var(--line-strong);background:#ffffff06;color:var(--text)}.hero-tags span{padding:8px 12px;font-size:.88rem}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px;margin:0}.summary-grid div,.panel,.node-button,.card-button{border:1px solid var(--line);border-radius:20px;background:var(--bg-3)}.summary-grid div{min-width:112px;padding:14px 16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.summary-grid dt{font-size:.75rem;color:#f4efe48f}.summary-grid dd{margin:6px 0 0;font-size:1.4rem;font-weight:700}.panel,.option-card,.reward-card,.card-button,.node-button{position:relative;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.panel:hover,.option-card:hover,.reward-card:hover,.card-button:hover,.node-button:hover{transform:translateY(-2px);border-color:#f0c26f57;box-shadow:0 16px 32px #00000038}.panel-block,.card-button,.option-card,.reward-card,.node-button{padding:18px}.section-title{margin-bottom:14px}.panel-grid,.map-list,.enemy-stage,.hand-list{display:grid;gap:14px}.enemy-stage,.panel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hand-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.feature-panel h3{margin-bottom:10px}.flow-list{margin:0;padding-left:18px;color:var(--text-soft);display:grid;gap:8px}.node-button,.card-button,.option-card,.reward-card{width:100%;text-align:left;color:var(--text)}.node-button{display:flex;justify-content:space-between;align-items:center}.node-button--elite,.path-dot--elite{border-color:#f0c26f6b}.node-button--boss,.path-dot--boss{border-color:#ee7c6d6b}.node-title{font-size:1.08rem;font-weight:700}.node-meta{color:var(--text-soft)}.path-preview{display:grid;gap:12px}.path-row{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px}.path-floor{color:var(--text-soft);font-size:.9rem}.path-dots{display:flex;gap:10px;flex-wrap:wrap}.path-dot{width:14px;height:14px;border-radius:999px;border:1px solid var(--line);background:#ffffff14}.path-dot--combat{background:#b0564a52}.path-dot--event{background:#5372af52}.path-dot--shop{background:#b3965a5c}.path-dot--rest{background:#5c8a6857}.path-dot.is-current{transform:scale(1.35);box-shadow:0 0 0 4px #f0c26f2e}.path-dot.is-visited{border-color:#f0c26f47}.deck-summary{display:grid;gap:8px}.deck-summary span{font-size:1.1rem;font-weight:700}.relic-strip{display:grid;gap:12px}.relic-chip{padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#ffffff08}.relic-chip strong,.option-card strong,.reward-card strong,.card-button strong{display:block;margin-bottom:6px}.empty-note{margin:0;color:var(--text-soft)}.enemy-card{display:grid;gap:12px;min-height:170px}.feedback-host{overflow:visible}.enemy-card.is-hit{animation:enemyHit .42s ease}[data-player-panel].is-hit{animation:playerHit .42s ease}[data-player-panel].is-guard{animation:playerGuard .42s ease}.screen--battle.is-under-attack{animation:battleScreenHit .22s ease}.screen--battle.is-attacking .enemy-stage{animation:battlePulse .24s ease}.enemy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.enemy-stats p{margin:0 0 8px}.intent-badge{padding:8px 12px;font-size:.84rem;color:var(--accent);background:var(--accent-soft)}.card-button{position:relative;min-height:176px;padding-top:44px}.card-button--attack{background:linear-gradient(180deg,#791c2a38,#1d141ef5)}.card-button--skill{background:linear-gradient(180deg,#44304e3d,#18131ff5)}.card-cost{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line-strong);background:#0a0f188f;font-weight:700}.card-kind{display:inline-flex;width:fit-content;padding:4px 10px;font-size:.78rem;margin-bottom:10px}.battle-piles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;color:var(--text-soft)}.floating-text{position:absolute;top:14px;right:14px;z-index:3;font-weight:800;letter-spacing:.04em;text-shadow:0 4px 14px rgba(0,0,0,.35);pointer-events:none;animation:floatText .82s ease forwards}.floating-text--damage{color:#ff9d80}.floating-text--block{color:#91d2ff}.floating-text--heal{color:#7be1a7}.floating-text--energy,.floating-text--status{color:#f0c26f}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.purge-grid{margin-top:14px}.result-grid{margin-bottom:18px}.dev-panel{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:6px;padding:12px;font-size:.85rem;background:#060910eb;border:1px solid rgba(241,196,122,.3);border-radius:14px;box-shadow:0 14px 42px #00000040}button{border:0;border-radius:999px;padding:14px 22px;font:inherit;font-weight:700;color:#0f1624;background:linear-gradient(135deg,#f1c47a,#f6dfb7);cursor:pointer}button:hover{filter:brightness(1.05)}button.panel,.option-card,.reward-card,.card-button,.node-button{border-radius:20px;color:var(--text);background-color:transparent}@media(max-width:920px){.screen{padding:22px}.hero-shell,.scene-layout,.screen-header{grid-template-columns:1fr;display:grid}.screen-header{gap:16px}}@media(max-width:640px){.app-shell{padding:16px}.screen,.screen--start{padding:18px;border-radius:22px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hand-list,.panel-grid,.enemy-stage{grid-template-columns:1fr}}@keyframes enemyHit{0%{transform:translate(0) scale(1);box-shadow:0 0 #ff9d8000}30%{transform:translate(6px) scale(1.01);box-shadow:0 0 0 1px #ff9d8073,0 0 32px #ff6f4b2e}to{transform:translate(0) scale(1);box-shadow:0 0 #ff9d8000}}@keyframes playerHit{0%{transform:translate(0);box-shadow:0 0 #ff735d00}30%{transform:translate(-4px);box-shadow:0 0 0 1px #ff735d4d,0 0 28px #ff735d29}to{transform:translate(0);box-shadow:0 0 #ff735d00}}@keyframes playerGuard{0%{transform:scale(1)}35%{transform:scale(1.015);box-shadow:0 0 0 1px #91d2ff4d,0 0 30px #91d2ff2e}to{transform:scale(1)}}@keyframes floatText{0%{opacity:0;transform:translateY(10px) scale(.92)}20%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-38px) scale(1.04)}}@keyframes battleScreenHit{0%{transform:translate(0)}30%{transform:translate(-4px)}60%{transform:translate(3px)}to{transform:translate(0)}}@keyframes battlePulse{0%{transform:scale(1)}45%{transform:scale(1.008)}to{transform:scale(1)}}.battle-topbar,.map-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.battle-resource-bar,.map-stats{display:flex;flex-wrap:wrap;gap:12px}.battle-resource,.map-stats span{min-width:104px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#0f1827b8}.battle-resource span,.map-stats span{display:block;color:var(--text-soft);font-size:.8rem}.battle-resource strong{display:block;margin-top:4px;font-size:1.1rem}.screen--battle{width:min(100%,1340px);padding-bottom:24px}.battle-stage{position:relative;min-height:520px;margin-bottom:18px;border-radius:28px;border:1px solid rgba(229,212,181,.14);background:radial-gradient(circle at 50% 18%,rgba(215,176,114,.1),transparent 18%),radial-gradient(circle at 50% 82%,rgba(120,23,42,.14),transparent 20%),linear-gradient(180deg,#120e15db,#07080df5);overflow:hidden}.battle-stage-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center 28%,rgba(255,255,255,.03),transparent 14%),linear-gradient(180deg,transparent 0 58%,rgba(0,0,0,.24) 58% 100%)}.enemy-arena{position:relative;z-index:1;display:flex;justify-content:center;gap:48px;padding-top:64px;min-height:260px}.enemy-card--stage{width:220px;min-height:0;padding:0 18px 20px;text-align:center;background:linear-gradient(180deg,#341e29ad,#110d15f5);box-shadow:0 24px 40px #00000040}.enemy-avatar{display:grid;place-items:center;width:128px;height:128px;margin:-20px auto 12px;border-radius:999px;border:1px solid rgba(229,212,181,.16);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.14),transparent 24%),radial-gradient(circle at 50% 55%,rgba(122,27,42,.28),transparent 62%),linear-gradient(180deg,#211823f5,#0b0a12fa)}.enemy-glyph{font-size:3rem;filter:drop-shadow(0 8px 20px rgba(0,0,0,.35))}.enemy-crest{position:relative;display:grid;place-items:center;width:86px;height:86px}.enemy-crest__ring{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(215,176,114,.18);box-shadow:inset 0 0 22px #8f24312e}.enemy-crest__mark{position:relative;z-index:1;font-size:2rem;color:#f1e5d2}.enemy-intent{display:inline-flex;align-items:center;justify-content:center;min-width:86px;margin-bottom:10px;padding:6px 12px;border-radius:999px;border:1px solid rgba(240,194,111,.22);background:#f0c26f14;color:var(--accent);font-size:.86rem}.enemy-hpbar{overflow:hidden;height:10px;margin:14px 0 10px;border-radius:999px;background:#ffffff14}.enemy-hpbar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#d6705e,#f0c26f)}.enemy-meta{margin:0;font-size:.9rem}.player-hud{position:absolute;left:28px;bottom:24px;z-index:1;display:grid;grid-template-columns:repeat(3,86px);gap:10px;align-content:start;max-width:320px;padding:16px;border-radius:22px;border:1px solid rgba(229,212,181,.12);background:#090f18b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player-orb{display:grid;place-items:center;width:86px;height:86px;border-radius:999px;border:1px solid rgba(229,212,181,.12);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.08),transparent 22%),linear-gradient(180deg,#1d273bf5,#0f1521f5)}.player-orb span{font-size:.75rem;color:var(--text-soft)}.player-orb strong{font-size:1.4rem}.player-piles{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:4px;font-size:.88rem;color:var(--text-soft)}.hand-fan{display:flex;justify-content:center;align-items:flex-end;gap:0;min-height:240px;padding:8px 18px 0;margin-top:-8px}.hand-fan .card-button{width:188px;min-height:224px;margin:0 -10px;padding:48px 16px 18px;border-radius:18px;box-shadow:0 18px 32px #00000042;transform:translateY(calc(var(--fan-offset, 0) * 1px)) rotate(calc((var(--fan-index) - ((var(--fan-count) - 1) / 2)) * 4deg))}.card-frame{position:absolute;inset:10px 10px auto;height:42px;pointer-events:none}.card-frame__crest{position:absolute;left:12px;top:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid rgba(225,206,182,.16);color:var(--accent);font-size:.9rem}.card-frame__line{position:absolute;left:48px;right:54px;top:19px;height:1px;background:linear-gradient(90deg,rgba(225,206,182,.24),transparent)}.hand-fan .card-button:nth-child(1),.hand-fan .card-button:nth-child(5){--fan-offset: 18}.hand-fan .card-button:nth-child(2),.hand-fan .card-button:nth-child(4){--fan-offset: 8}.hand-fan .card-button:hover{z-index:2;transform:translateY(-16px) scale(1.02)}.battle-bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.battle-relic-strip{display:flex;flex-wrap:wrap;gap:8px}.battle-relic{display:inline-flex;padding:8px 12px;border-radius:999px;border:1px solid rgba(229,212,181,.14);background:#ffffff0a;color:var(--text-soft);font-size:.82rem}.battle-relic--empty{opacity:.72}.screen--map{width:min(100%,1100px)}.map-graph{position:relative;margin:18px auto 14px;border-radius:28px;border:1px solid rgba(229,212,181,.12);background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.04),transparent 18%),linear-gradient(180deg,#121c2beb,#090e16fa);overflow:hidden}.map-connections{position:absolute;inset:0;width:100%;height:100%}.map-connections line{stroke:#ebdec42e;stroke-width:.7}.map-floor-track{position:absolute;left:0;right:0;height:1px;border-top:1px dashed rgba(235,222,196,.08)}.map-floor-label{position:absolute;left:16px;top:-16px;color:var(--text-soft);font-size:.82rem}.map-node{position:absolute;width:62px;height:62px;margin-left:-31px;margin-top:-31px;display:grid;place-items:center;padding:0;border-radius:999px;border:2px solid rgba(235,222,196,.15);background:linear-gradient(180deg,#241821f5,#0b0a11fa);color:var(--text);box-shadow:0 10px 24px #00000040}.map-node:disabled{opacity:1;cursor:default}.node-emblem{position:relative;display:grid;place-items:center;width:40px;height:40px}.node-emblem__ring{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(225,206,182,.14);background:radial-gradient(circle at center,rgba(255,255,255,.04),transparent 58%),linear-gradient(180deg,#2d1c25eb,#0d0b12fa)}.node-emblem__core{position:relative;z-index:1;font-size:1.12rem}.map-node.is-reachable{border-color:#f0c26f6b;box-shadow:0 0 0 6px #f0c26f14,0 10px 24px #00000040}.map-node.is-current{transform:scale(1.08)}.map-node.is-visited{background:linear-gradient(180deg,#303a52f5,#111825fa)}.map-node--combat{color:#d78876}.map-node--event{color:#d8d3e8}.map-node--shop{color:#d7b072}.map-node--rest{color:#d2bba0}.map-node--elite{color:#ffd579}.map-node--boss{color:#d14f63}.map-bottom-bar{display:grid;gap:10px}.map-hint{color:var(--text-soft)}.map-legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-soft);font-size:.9rem}.event-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:24px;align-items:stretch}.event-illustration,.event-choices{border-radius:24px;border:1px solid rgba(229,212,181,.12)}.event-illustration{padding:28px;min-height:460px;background:radial-gradient(circle at 50% 24%,rgba(143,36,49,.16),transparent 18%),radial-gradient(circle at 50% 60%,rgba(215,176,114,.08),transparent 32%),linear-gradient(180deg,#181019f0,#09080dfa)}.event-sigil{position:relative;display:grid;place-items:center;width:120px;height:120px;margin:28px auto 22px}.event-sigil__halo{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(225,206,182,.16);background:radial-gradient(circle at center,rgba(255,255,255,.04),transparent 42%),radial-gradient(circle at center,rgba(143,36,49,.18),transparent 68%);box-shadow:0 0 0 10px #ffffff03,inset 0 0 30px #0000003d}.event-sigil__mark{position:relative;z-index:1;font-size:3rem;color:#f1e5d2}.event-choices{display:grid;gap:14px;align-content:center;padding:22px;background:#0b111beb}.event-choice,.reward-card--stage{width:100%;min-height:138px;padding:18px 18px 20px;border-radius:20px;border:1px solid rgba(229,212,181,.12);background:linear-gradient(180deg,#1e293feb,#111825fa);color:var(--text);text-align:left}.event-choice strong,.reward-card--stage strong{display:block;margin-bottom:8px}.event-choices--reward{align-content:stretch}.event-relic-banner{margin-top:22px;padding:14px 16px;border-radius:18px;border:1px solid rgba(240,194,111,.18);background:#f0c26f14}.event-leave-button{justify-self:start}@media(max-width:920px){.battle-topbar,.map-topbar,.event-stage{grid-template-columns:1fr;display:grid}.battle-stage{min-height:620px}.player-hud{position:static;margin:18px 18px 0}.hand-fan{flex-wrap:wrap;gap:12px;min-height:0}.hand-fan .card-button{margin:0;transform:none}.battle-bottom-bar{flex-direction:column;align-items:stretch}}@media(max-width:640px){.map-node{width:54px;height:54px;margin-left:-27px;margin-top:-27px}.enemy-arena{padding-top:34px}.enemy-card--stage{width:min(100%,220px)}}:root{--ui-panel-frame: url(/ui-assets/kenney-rpg/panel_brown.png);--ui-panel-inset: url(/ui-assets/kenney-rpg/panelInset_brown.png);--ui-button-long: url(/ui-assets/kenney-rpg/buttonLong_brown.png);--ui-button-long-pressed: url(/ui-assets/kenney-rpg/buttonLong_brown_pressed.png);--ui-button-round: url(/ui-assets/kenney-rpg/buttonRound_brown.png);--ui-flare-idle: url(/ui-assets/flare/flare-button-idle.png);--ui-flare-focus: url(/ui-assets/flare/flare-button-focus.png);--ui-flare-lit: url(/ui-assets/flare/flare-button-lit.png);--ui-flare-hot: url(/ui-assets/flare/flare-button-hot.png)}button{border-radius:0;background:none;color:var(--text)}button:hover{filter:none}.screen,.panel,.summary-grid div,.battle-resource,.map-stats span,.map-graph,.event-illustration,.event-choices,.player-hud,.enemy-card--stage,.relic-chip,.event-relic-banner{border:16px solid transparent;border-image-source:var(--ui-panel-frame);border-image-slice:26;border-image-width:16px;border-image-repeat:stretch;border-radius:0;background:linear-gradient(180deg,#181012f0,#0b0b0efa),radial-gradient(circle at top,rgba(131,29,43,.18),transparent 30%),radial-gradient(circle at bottom left,rgba(210,170,102,.07),transparent 28%);box-shadow:0 22px 48px #0000006b,inset 0 0 0 1px #ffffff08}.screen{padding:34px}.screen:after{content:"";position:absolute;inset:14px;pointer-events:none;background:radial-gradient(circle at 50% 18%,rgba(180,38,58,.08),transparent 18%),radial-gradient(circle at 50% 88%,rgba(255,213,132,.05),transparent 16%);mix-blend-mode:screen}.panel,.summary-grid div,.battle-resource,.map-stats span,.relic-chip,.event-relic-banner,.battle-relic,.battle-relic--empty{border:12px solid transparent;border-image-source:var(--ui-panel-inset);border-image-slice:22;border-image-width:12px;border-image-repeat:stretch;border-radius:0;background:linear-gradient(180deg,#291c17eb,#121010fa),radial-gradient(circle at top,rgba(255,225,164,.06),transparent 30%)}.battle-stage,.map-graph,.event-illustration,.event-choices,.player-hud{border:18px solid transparent;border-image-source:var(--ui-panel-frame);border-image-slice:26;border-image-width:18px;border-image-repeat:stretch;border-radius:0;box-shadow:0 28px 48px #00000061,inset 0 0 0 1px #ffffff05}.battle-stage{background:radial-gradient(circle at 50% 14%,rgba(205,52,72,.12),transparent 16%),radial-gradient(circle at 50% 74%,rgba(239,194,111,.08),transparent 22%),linear-gradient(180deg,#141012f5,#09090cfa)}.battle-stage-backdrop{background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.04),transparent 12%),linear-gradient(180deg,transparent 0 54%,rgba(0,0,0,.34) 54% 100%)}.enemy-card--stage,.card-button{overflow:hidden}.enemy-card--stage{border:14px solid transparent;border-image-source:var(--ui-panel-inset);border-image-slice:22;border-image-width:14px;border-image-repeat:stretch;background:linear-gradient(180deg,#361e1df0,#141112fa),radial-gradient(circle at 50% 10%,rgba(236,204,127,.07),transparent 20%)}.battle-resource,.map-stats span{min-width:120px;padding:10px 16px 12px}.battle-resource--hp strong{color:#f1c0af}.battle-resource--energy strong{color:#d9d0f3}.battle-resource--block strong{color:#c8dff8}.battle-resource--gold strong{color:#f3d7a0}.player-hud{background:linear-gradient(180deg,#1d1414eb,#0e0d0ffa),radial-gradient(circle at 25% 20%,rgba(232,197,137,.06),transparent 25%)}.player-orb{width:92px;height:92px;border:0;border-radius:0;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.08),transparent 26%),var(--ui-button-round) center / 100% 100% no-repeat;filter:brightness(.9) saturate(.85)}.player-orb--hp{box-shadow:inset 0 0 34px #be2a3d24}.player-orb--energy{box-shadow:inset 0 0 34px #7460b02e}.player-orb--block{box-shadow:inset 0 0 34px #618ab629}.card-button{border:14px solid transparent;border-image-source:var(--ui-panel-inset);border-image-slice:22;border-image-width:14px;border-image-repeat:stretch;border-radius:0;background:linear-gradient(180deg,#2b1618f0,#110f12fa),radial-gradient(circle at 50% 0%,rgba(241,196,122,.08),transparent 24%)}.card-button--attack{background:linear-gradient(180deg,#4e161ef0,#190f13fc),radial-gradient(circle at 50% 0%,rgba(244,119,108,.16),transparent 28%)}.card-button--skill{background:linear-gradient(180deg,#361c3feb,#15101bfa),radial-gradient(circle at 50% 0%,rgba(164,120,215,.14),transparent 28%)}.card-cost{border:10px solid transparent;border-image-source:var(--ui-button-round);border-image-slice:18 fill;border-image-width:10px;border-image-repeat:stretch;border-radius:0;width:40px;height:40px;padding-bottom:2px;background:none;color:#f2ede4}.card-frame__crest,.node-emblem__ring,.enemy-crest__ring,.event-sigil__halo{box-shadow:none}.asset-choice{border:14px solid transparent;border-image-source:var(--ui-button-long);border-image-slice:20;border-image-width:14px;border-image-repeat:stretch;border-radius:0;background:linear-gradient(180deg,#281918f0,#120f10fc),radial-gradient(circle at 20% 20%,rgba(255,230,168,.05),transparent 28%);box-shadow:0 18px 28px #0000004d}.asset-choice:hover{border-image-source:var(--ui-button-long-pressed)}.asset-cta{display:inline-grid;min-width:208px;min-height:62px;padding:0 32px 8px;place-items:center;background:var(--ui-flare-idle) center / 100% 100% no-repeat;color:#f3ede7;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.65),0 0 18px rgba(181,34,56,.14);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34))}.asset-cta:hover{background-image:var(--ui-flare-lit);transform:translateY(-1px) scale(1.01)}.asset-cta:focus-visible{outline:none;background-image:var(--ui-flare-focus)}.asset-cta:active{background-image:var(--ui-flare-hot);transform:translateY(1px)}.battle-bottom-bar .asset-cta,.action-row .asset-cta,.event-leave-button.asset-cta{justify-self:start}.map-graph{background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.04),transparent 18%),linear-gradient(180deg,#111416f5,#0a0b0dfc)}.map-connections line{stroke:#e9d7ba47;stroke-width:.9}.map-floor-track{border-top-color:#e9d7ba24}.map-floor-label,.map-hint,.map-legend{color:#c8bfb2}.map-node{width:74px;height:74px;margin-left:-37px;margin-top:-37px;border:0;border-radius:0;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),transparent 26%),var(--ui-button-round) center / 100% 100% no-repeat;box-shadow:0 12px 24px #00000057,inset 0 0 24px #00000024}.map-node:hover{filter:brightness(1.08)}.map-node.is-reachable{box-shadow:0 0 0 10px #e4bc7414,0 12px 26px #00000057}.map-node.is-visited{filter:saturate(.52) brightness(.82)}.map-node--combat{color:#e3a89d}.map-node--event{color:#ddd6eb}.map-node--shop{color:#f0d7a0}.map-node--rest{color:#f2ddb3}.map-node--elite{color:#ffe3a2}.map-node--boss{color:#f07b8d}.node-emblem{width:46px;height:46px}.node-emblem__ring{inset:4px;background:radial-gradient(circle at center,rgba(255,255,255,.04),transparent 58%);border-color:#efdfc62e}.event-illustration{background:radial-gradient(circle at 50% 20%,rgba(154,35,51,.18),transparent 18%),radial-gradient(circle at 50% 60%,rgba(243,210,143,.08),transparent 32%),linear-gradient(180deg,#1d1213f5,#0a0a0cfc)}.event-choices{background:linear-gradient(180deg,#201514f5,#0d0c0efc),radial-gradient(circle at top,rgba(235,202,137,.06),transparent 26%)}.event-sigil__halo{border-color:#eddbc02e;background:radial-gradient(circle at center,rgba(255,255,255,.04),transparent 42%),radial-gradient(circle at center,rgba(143,36,49,.26),transparent 68%)}.battle-relic{border:12px solid transparent;border-image-source:var(--ui-button-long);border-image-slice:20;border-image-width:12px;border-image-repeat:stretch;border-radius:0;background:#151210d1}.dev-panel{display:none}@media(max-width:920px){.screen{padding:24px}.asset-cta{width:min(100%,280px)}}@media(max-width:640px){.map-node{width:64px;height:64px;margin-left:-32px;margin-top:-32px}.asset-cta{width:100%}}.rebirth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.rebirth-frame{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.3fr) 384px;gap:22px;align-items:stretch}.rebirth-start-screen{display:grid;gap:24px;padding:28px;border:16px solid transparent;border-image-source:var(--ui-panel-frame);border-image-slice:26;border-image-width:16px;border-image-repeat:stretch;background:linear-gradient(180deg,#160f12f5,#0a0a0dfc),radial-gradient(circle at top right,rgba(143,36,49,.18),transparent 24%)}.rebirth-copy,.rebirth-selection-panel,.rebirth-canvas{border:12px solid transparent;border-image-source:var(--ui-panel-inset);border-image-slice:22;border-image-width:12px;border-image-repeat:stretch;background:linear-gradient(180deg,#231819f0,#0e0e11fa),radial-gradient(circle at top,rgba(241,196,122,.05),transparent 24%)}.rebirth-copy,.rebirth-selection-panel{padding:20px 22px}.rebirth-eyebrow{margin:0 0 10px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.rebirth-lead{margin:16px 0 0;color:var(--text-soft)}.rebirth-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rebirth-selection-panel h2{margin:0 0 14px;font-size:1.2rem}.rebirth-option-list{display:grid;gap:12px}.rebirth-option-button{display:grid;gap:6px;width:100%;min-height:92px;padding:18px 20px;text-align:left;border:14px solid transparent;border-image-source:var(--ui-button-long);border-image-slice:20;border-image-width:14px;border-image-repeat:stretch;background:linear-gradient(180deg,#2c1c1af5,#0f0e10fc),radial-gradient(circle at top left,rgba(240,194,111,.07),transparent 26%)}.rebirth-option-button strong{font-size:1rem}.rebirth-option-button span{color:var(--text-soft);line-height:1.5}.rebirth-option-button[data-selected=true]{border-image-source:var(--ui-button-long-pressed);box-shadow:0 0 0 1px #f0c26f2e,0 14px 28px #0000003d}.rebirth-actions{display:flex;justify-content:flex-start}.rebirth-confirm{min-width:220px;min-height:62px;padding:0 32px 8px;background:var(--ui-flare-idle) center / 100% 100% no-repeat;text-transform:uppercase;letter-spacing:.08em;color:#f3ede7}.rebirth-canvas{width:384px;height:216px;align-self:start;justify-self:stretch;image-rendering:pixelated;background:linear-gradient(180deg,#111115f0,#050507fa),radial-gradient(circle at 50% 50%,rgba(255,255,255,.04),transparent 36%)}@media(max-width:980px){.rebirth-frame,.rebirth-selection-grid{grid-template-columns:1fr}.rebirth-canvas{width:min(100%,384px);justify-self:center}}body.rebirth-theme{margin:0;background:#000;color:#fff;font-family:SimSun,Songti SC,Microsoft YaHei UI,serif;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;text-rendering:optimizeSpeed}body.rebirth-theme #app{min-height:100vh}body.rebirth-theme .rebirth-shell[data-theme=one-bit-horror]{min-height:100vh;padding:12px;display:flex;align-items:stretch;justify-content:center;background:linear-gradient(0deg,#000 0 50%,#fff 50% 51%,#000 51% 100%);background-size:100% 4px}body.rebirth-theme .rebirth-layout{width:min(1440px,100%);display:grid;grid-template-columns:272px minmax(0,1fr) 320px;gap:10px;align-items:stretch}body.rebirth-theme .rebirth-panel,body.rebirth-theme .rebirth-story-box,body.rebirth-theme .rebirth-log-box,body.rebirth-theme .rebirth-dialogue-box,body.rebirth-theme .rebirth-ledger-box,body.rebirth-theme .rebirth-monitor-box,body.rebirth-theme .rebirth-action-footer{border:1px solid #fff;border-image:none;border-radius:0;background:#000;box-shadow:inset 0 0 0 1px #fff}body.rebirth-theme .rebirth-panel{min-height:calc(100vh - 24px);padding:10px;display:flex;flex-direction:column;gap:10px}body.rebirth-theme .rebirth-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 8px;border-bottom:1px solid #fff;text-transform:uppercase;letter-spacing:.12em}body.rebirth-theme .rebirth-panel-heading h2,body.rebirth-theme .rebirth-story-box h1,body.rebirth-theme .rebirth-group-title,body.rebirth-theme .rebirth-monitor-label,body.rebirth-theme .rebirth-log-box p:first-child{margin:0;font-size:1rem;font-weight:700}body.rebirth-theme .rebirth-heading-index{font-size:.75rem}body.rebirth-theme .rebirth-stat-list{margin:0;padding:0;display:grid;gap:8px}body.rebirth-theme .rebirth-stat-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 10px;border:1px solid #fff}body.rebirth-theme .rebirth-stat-item dt,body.rebirth-theme .rebirth-stat-item dd{margin:0}body.rebirth-theme .rebirth-ledger-box,body.rebirth-theme .rebirth-monitor-box,body.rebirth-theme .rebirth-story-box,body.rebirth-theme .rebirth-log-box,body.rebirth-theme .rebirth-dialogue-box,body.rebirth-theme .rebirth-action-footer{padding:10px}body.rebirth-theme .rebirth-ledger-box p,body.rebirth-theme .rebirth-monitor-box p,body.rebirth-theme .rebirth-log-box p,body.rebirth-theme .rebirth-dialogue-box p,body.rebirth-theme .rebirth-story-box p,body.rebirth-theme .rebirth-action-footer p{margin:0;line-height:1.7}body.rebirth-theme .rebirth-story-box{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}body.rebirth-theme .rebirth-story-box h1{padding-bottom:8px;border-bottom:1px solid #fff;font-size:1.4rem;letter-spacing:.08em}body.rebirth-theme .rebirth-dialogue-box{display:grid;gap:8px;margin-top:4px}body.rebirth-theme .rebirth-dialogue-line strong{margin-right:4px}body.rebirth-theme .rebirth-canvas{width:100%;height:auto;aspect-ratio:16 / 9;display:block;border:1px solid #fff;border-image:none;background:#000;image-rendering:pixelated}body.rebirth-theme .rebirth-action-group,body.rebirth-theme .rebirth-action-list{display:grid;gap:8px}body.rebirth-theme .rebirth-action-button,body.rebirth-theme .rebirth-confirm-button{width:100%;display:grid;gap:4px;padding:10px;border:1px solid #fff;border-image:none;border-radius:0;background:#000;background-image:none;color:#fff;text-align:left;text-shadow:none;box-shadow:none;filter:none;appearance:none;cursor:pointer}body.rebirth-theme .rebirth-action-button strong,body.rebirth-theme .rebirth-confirm-button{letter-spacing:.08em}body.rebirth-theme .rebirth-action-button span{line-height:1.55}body.rebirth-theme .rebirth-action-button[data-selected=true]{background:#fff;color:#000}body.rebirth-theme .rebirth-action-button:hover,body.rebirth-theme .rebirth-action-button:focus-visible,body.rebirth-theme .rebirth-confirm-button:hover,body.rebirth-theme .rebirth-confirm-button:focus-visible{background:#fff;color:#000;outline:none}body.rebirth-theme .rebirth-confirm-button{text-align:center}body.rebirth-theme .rebirth-panel--actions{justify-content:space-between}body.rebirth-theme .rebirth-action-footer{display:grid;gap:10px}body.rebirth-theme .rebirth-panel--narrative{min-width:0}body.rebirth-theme .rebirth-panel--status,body.rebirth-theme .rebirth-panel--actions{align-self:stretch}@media(max-width:1120px){body.rebirth-theme .rebirth-layout{grid-template-columns:1fr}body.rebirth-theme .rebirth-panel{min-height:auto}}
