:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background:#07090d;color:#dce3ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-width:0;background:#07090d}body{min-width:0;margin:0;overflow-x:hidden;background:linear-gradient(#0a0d12 1px,transparent 1px),linear-gradient(90deg,#0a0d12 1px,transparent 1px),#07090d;background-size:28px 28px}button{font:inherit}button:focus-visible{outline:2px solid #88a8ff;outline-offset:2px}.app-shell{width:min(100%,1240px);min-height:100vh;margin:0 auto;padding:14px}.panel{width:100%;min-width:0;border:1px solid #25303c;border-radius:8px;background:#0c1016f0;box-shadow:0 12px 32px #0000003d}.target-zone{position:relative;min-height:172px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.target-zone-armed{cursor:pointer}.target-zone-armed.target-zone-idle{opacity:.78}.target-zone-valid{border-color:#91abc9;background:linear-gradient(180deg,rgba(145,171,201,.08),transparent 58%),#0e151df7;box-shadow:0 0 0 1px #91abc938,0 0 20px #6888ac2e,0 14px 34px #00000047}.target-zone-invalid{border-color:#81505a;background:linear-gradient(180deg,rgba(129,80,90,.08),transparent 58%),#0e1117f5;animation:target-reject .16s ease}@keyframes target-reject{0%,to{transform:translate(0)}45%{transform:translate(-3px)}75%{transform:translate(3px)}}.game-header{display:grid;gap:18px;padding:18px}.kicker,.panel-title span,.progress-strip span,.hp-block span,.enemy-name span{margin:0;color:#8f9aaa;font-size:.78rem;line-height:1.4}h1{margin:4px 0 0;color:#f3f7fb;font-size:2rem;font-weight:750;letter-spacing:0}.subtitle{margin:8px 0 0;color:#cbd4df;font-size:1rem;line-height:1.6}.description{margin:8px 0 0;max-width:58rem;color:#9da8b7;font-size:.92rem;line-height:1.7}.progress-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-strip div,.stat-item,.relic-item{min-width:0;border:1px solid #212a35;border-radius:6px;background:#0b1017}.progress-strip div{padding:10px}.progress-strip strong{display:block;margin-top:4px;color:#e7edf4;font-size:1rem;overflow-wrap:anywhere}.game-layout{display:grid;gap:12px;margin-top:12px}.combat-area{display:grid;gap:10px;min-width:0}.enemy-area,.player-area,.action-area,.reward-area,.result-area,.turn-action-area,.info-area{min-width:0}.panel:not(.game-header){padding:14px}.embedded-panel{min-width:0}.mobile-status-strip{display:none}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title p{margin:0;color:#f0f5fa;font-size:1rem;font-weight:700}.panel-title span{text-align:right}.hp-block{display:grid;gap:8px;margin-bottom:12px}.hp-block div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hp-block strong,.enemy-name strong{color:#eef4f8;overflow-wrap:anywhere}meter{width:100%;height:10px}meter::-webkit-meter-bar{border:1px solid #2a3442;border-radius:999px;background:#080b10}meter::-webkit-meter-optimum-value{border-radius:999px;background:#82d6c5}meter::-moz-meter-bar{border-radius:999px;background:#82d6c5}.stat-grid,.result-grid,.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.player-quick-status{display:none}.stat-item{display:grid;gap:4px;min-height:54px;padding:10px}.stat-item span{color:#8f9aaa;font-size:.78rem;line-height:1.3}.stat-item strong{color:#e9f0f7;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}.enemy-name{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px;border:1px solid #212a35;border-radius:6px;background:#0b1017}.intent-box{display:grid;gap:5px;margin-top:10px;padding:10px;border:1px solid #344254;border-radius:6px;background:#0a0f16}.intent-box span{color:#8f9aaa;font-size:.78rem}.intent-box strong{color:#eef4f8;font-size:1rem;overflow-wrap:anywhere}.intent-box small{color:#a9b4c2;line-height:1.5}.action-hand{position:sticky;top:8px;z-index:2;overflow:visible}.action-hand-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.action-hand-header p{margin:0;color:#f0f5fa;font-size:1rem;font-weight:700}.action-hand-header span{display:block;margin-top:3px;color:#8f9aaa;font-size:.78rem;line-height:1.4}.hand-restart-button{min-height:34px;border:1px solid #2b3543;border-radius:6px;background:transparent;color:#aeb9c6;cursor:pointer;padding:6px 10px;transition:border-color .14s ease,color .14s ease,background .14s ease}.hand-restart-button:hover{border-color:#65768c;background:#101720;color:#edf4fb}.turn-action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.turn-action-bar button{min-width:0;min-height:44px;border:1px solid #344254;border-radius:6px;background:#141b24;color:#edf4fb;cursor:pointer;transition:border-color .14s ease,background .14s ease,opacity .14s ease}.turn-action-bar button:hover:not(:disabled){border-color:#7f98b8;background:#182331}.turn-action-bar button:disabled{cursor:not-allowed;opacity:.45}.hand-stage{min-width:0;overflow:visible;padding:10px 4px 0;border-top:1px solid #1d2630}.hand-card-row{display:flex;align-items:flex-end;justify-content:center;min-height:222px;overflow:visible;padding:18px 18px 0}.action-card{--card-offset: 0;position:relative;z-index:10;display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;width:clamp(142px,34vw,168px);min-height:204px;margin-left:-18px;padding:12px;border:1px solid #344254;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%),#101721;color:#edf4fb;cursor:pointer;text-align:left;box-shadow:inset 0 1px #ffffff0a,0 14px 26px #0000003d;transform:translateY(0) rotate(calc(var(--card-offset) * 3deg));transform-origin:50% 100%;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.action-card:first-child{margin-left:0}.action-card:hover:not(:disabled),.action-card:focus-visible:not(:disabled){z-index:30;border-color:#8798ad;box-shadow:inset 0 1px #ffffff0f,0 20px 34px #00000057;transform:translateY(-14px) rotate(calc(var(--card-offset) * 1.5deg))}.action-card-selected{z-index:42;border-color:#a9bad0;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #a9bad03d,0 22px 38px #00000061;transform:translateY(-20px) rotate(calc(var(--card-offset) * 1deg))}.action-card-dimmed{opacity:.58}.action-card:active:not(:disabled),.action-card-played{transform:translateY(-8px) scale(.985) rotate(calc(var(--card-offset) * 1.5deg))}.action-card-played{border-color:#c1cbd8;box-shadow:inset 0 1px #ffffff14,0 0 16px #a6b8cf38,0 16px 30px #00000052}.action-card:disabled{cursor:not-allowed;opacity:.45}.action-card-attack{border-top-color:#7f918f}.action-card-guard{border-top-color:#7b879f}.action-card-cost{display:grid;place-items:center;width:30px;height:30px;border:1px solid #4a596c;border-radius:50%;background:#080d13;color:#f3f7fb;font-size:.95rem;font-weight:750}.action-card-type{width:fit-content;max-width:100%;padding:4px 7px;border:1px solid #26313d;border-radius:999px;color:#97a5b6;font-size:.72rem;line-height:1.2}.action-card strong{align-self:end;color:#f2f7fb;font-size:1.25rem;line-height:1.2;overflow-wrap:anywhere}.action-card small{color:#b8c2ce;font-size:.86rem;line-height:1.5}.action-card em{margin-top:4px;padding-top:8px;border-top:1px solid #25303c;color:#8f9aaa;font-size:.76rem;font-style:normal}.reward-card,.result-restart,.shop-card button,.shop-leave-button,.remove-card-grid button{min-height:46px;border:1px solid #344254;border-radius:6px;background:#141b24;color:#edf4fb;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.reward-card:hover,.result-restart:hover,.shop-card button:hover:not(:disabled),.shop-leave-button:hover,.remove-card-grid button:hover{border-color:#7f98b8;background:#182331;transform:translateY(-1px)}.shop-card button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{color:#c9d2dd}.reward-grid{display:grid;gap:8px}.reward-card{display:grid;gap:8px;width:100%;min-height:120px;padding:12px;text-align:left}.reward-card span,.reward-card em{color:#94a2b1;font-size:.78rem;font-style:normal}.reward-card strong{color:#f2f7fb;font-size:1rem}.reward-card small{color:#b6c0cc;font-size:.88rem;line-height:1.55}.battle-log{display:grid;gap:7px;margin:0;padding:0;list-style:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Microsoft YaHei Mono,monospace;font-size:.85rem}.battle-log li{min-width:0;padding:8px 10px;border-left:2px solid #526173;background:#090d13;color:#c7d0dc;line-height:1.5;overflow-wrap:anywhere}.battle-log li:nth-last-child(n+7){display:none}.mobile-info-tabs{display:grid;gap:10px}.info-tab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.info-tab-list button{min-width:0;min-height:38px;border:1px solid #2b3543;border-radius:6px;background:#0b1017;color:#aeb9c6;cursor:pointer}.info-tab-list .info-tab-active{border-color:#7f98b8;background:#162232;color:#edf4fb}.info-tab-panel{min-width:0}.relic-list,.deck-list{display:grid;gap:8px}.deck-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;min-width:0;padding:10px;border:1px solid #212a35;border-radius:6px;background:#0b1017}.deck-card strong{min-width:0;color:#edf3f8;font-size:.95rem;overflow-wrap:anywhere}.deck-card span{color:#8f9aaa;font-size:.78rem}.deck-card small{grid-column:1 / -1;color:#9aa6b5;font-size:.82rem;line-height:1.45}.relic-item{display:grid;gap:4px;padding:10px}.relic-item strong{color:#edf3f8;font-size:.95rem}.relic-item span,.empty-text{color:#9aa6b5;font-size:.88rem;line-height:1.55}.empty-text{margin:0}.result-panel{border-color:#516172}.result-grid,.result-stats{margin-top:10px}.result-grid{grid-template-columns:1fr}.result-restart{width:100%;margin-top:12px}.shop-panel{display:grid;gap:14px}.shop-section{display:grid;gap:8px;min-width:0}.shop-section h2{margin:0;color:#dce5ee;font-size:.95rem}.shop-grid{display:grid;gap:8px}.shop-card{display:grid;gap:8px;min-width:0;min-height:148px;padding:12px;border:1px solid #212a35;border-radius:6px;background:#0b1017}.shop-card span{color:#8f9aaa;font-size:.78rem}.shop-card strong{color:#eef4f8;font-size:1rem;overflow-wrap:anywhere}.shop-card small{color:#a9b4c2;font-size:.88rem;line-height:1.55}.shop-card button,.shop-leave-button{width:100%;margin-top:auto}.shop-leave-button{min-height:48px}.remove-card-box{display:grid;gap:10px;padding:12px;border:1px solid #364252;border-radius:6px;background:#090d13}.inline-title{margin-bottom:0}.remove-card-grid{display:grid;gap:8px}.remove-card-grid button{display:grid;gap:4px;width:100%;min-height:58px;padding:10px;text-align:left}.remove-card-grid strong{color:#edf4fb;overflow-wrap:anywhere}.remove-card-grid small{color:#9aa6b5;line-height:1.45}@media(max-width:767px){.app-shell{padding:8px}.game-header{padding:10px 12px}.game-header-copy,.game-header .progress-strip{display:none}.mobile-status-strip{display:block;color:#edf4fb;font-size:.9rem;font-weight:700;line-height:1.35;text-align:center;overflow-wrap:anywhere}.game-layout{gap:8px;margin-top:8px}.combat-area{gap:6px}.panel:not(.game-header){padding:10px}.target-zone{min-height:0}.enemy-panel{display:grid;gap:8px}.enemy-panel .panel-title,.player-area .panel-title{margin-bottom:0}.enemy-name,.hp-block,.intent-box{margin:0}.enemy-name{padding:8px}.enemy-panel .stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.enemy-panel .stat-item{min-height:40px;padding:7px 8px}.intent-box{padding:8px}.action-hand{position:static;overflow:hidden}.action-hand-header{margin-bottom:6px}.action-hand-header p{font-size:.95rem}.hand-stage{overflow-x:auto;overflow-y:visible;padding:8px 0 2px;scrollbar-width:thin;overscroll-behavior-x:contain}.hand-card-row{justify-content:flex-start;min-width:max-content;min-height:168px;overflow:visible;gap:8px;padding:6px 2px 8px}.action-card{width:clamp(108px,31vw,132px);min-height:150px;height:158px;margin-left:0;gap:6px;padding:10px;transform:none}.action-card:hover:not(:disabled),.action-card:focus-visible:not(:disabled){transform:translateY(-4px)}.action-card-selected{border-color:#b9c9dc;box-shadow:inset 0 1px #ffffff14,0 0 0 2px #b9c9dc47,0 12px 24px #00000057;transform:translateY(-6px)}.action-card:active:not(:disabled),.action-card-played{transform:translateY(-3px) scale(.985)}.action-card-cost{width:26px;height:26px;font-size:.84rem}.action-card-type{padding:3px 6px;font-size:.68rem}.action-card strong{font-size:1.02rem}.action-card small{display:-webkit-box;overflow:hidden;font-size:.76rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.action-card em{font-size:.68rem;padding-top:6px}.player-area .panel{min-height:76px;padding-block:9px}.player-quick-status{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(58px,.7fr));gap:6px}.player-quick-status div{min-width:0;padding:7px 8px;border:1px solid #212a35;border-radius:6px;background:#0b1017}.player-quick-status span{display:block;color:#8f9aaa;font-size:.7rem;line-height:1.25}.player-quick-status strong{display:block;margin-top:2px;color:#edf4fb;font-size:.86rem;line-height:1.25;overflow-wrap:anywhere}.player-quick-status .quick-deck-state{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;min-height:30px;padding-block:5px}.quick-deck-state strong{margin-top:0;text-align:right}.player-full-stats{display:none}.turn-action-bar{padding:8px}.turn-action-bar button{min-height:40px}.mobile-info-tabs{padding:8px}.info-tab-panel{max-height:220px;overflow:auto}.mobile-info-tabs .panel-title{margin-bottom:8px}.battle-log{gap:6px;font-size:.78rem}.battle-log li{padding:7px 8px}.battle-log li:nth-last-child(n+6){display:none}.deck-list,.relic-list{gap:6px}.deck-card,.relic-item{padding:8px}.reward-panel{margin-top:0}.reward-grid{gap:7px}.reward-card{min-height:92px;padding:10px}.reward-card small{line-height:1.4}}@media(min-width:768px){.app-shell{padding:22px}.mobile-status-strip{display:none}.game-header{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:start;padding:22px}.game-header-copy{display:block}h1{font-size:2.35rem}.progress-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"combat combat" "player actionbar" "result result" "info info"}.action-hand{position:sticky;top:8px}.battle-log li:nth-last-child(n+7){display:block}.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.game-layout{grid-template-columns:minmax(230px,.8fr) minmax(360px,1.2fr) minmax(240px,.9fr);grid-template-areas:"player combat info" "actionbar combat info" "result combat info";align-items:start}.info-area{position:sticky;top:16px}.action-hand{position:static}}@media(min-width:768px){.combat-area{grid-area:combat}.player-area{grid-area:player}.turn-action-area{grid-area:actionbar}.result-area{grid-area:result}.info-area{grid-area:info}}@media(max-width:420px){.app-shell{padding:8px}.game-header{padding:10px}.panel:not(.game-header){padding:9px}.result-restart,.shop-card button,.shop-leave-button,.remove-card-grid button{min-height:48px}.hand-stage{padding-top:6px}.hand-card-row{min-height:164px;padding-inline:1px}.action-card{width:clamp(108px,32vw,124px);min-height:148px;height:156px;margin-left:0;transform:none}.action-card:hover:not(:disabled),.action-card:focus-visible:not(:disabled){transform:translateY(-4px)}.action-card-selected{transform:translateY(-6px)}.target-zone{min-height:0}}
