@import url('/classic/styles.css');
@import url('./sprite23A.css');
body{background:#07151e}button,input,select{touch-action:manipulation}button{border:1px solid #b9a174;background:#214049;border-radius:8px;padding:9px 16px;min-height:44px;min-width:44px}h1,h2,h3{color:#f2dbad}.hud .brand h1{font-size:23px;letter-spacing:2px}.brand h1 small{font-size:15px;letter-spacing:0}.camp{min-height:70vh;padding:34px 6%;background:linear-gradient(#0e2830de,#091821f0),url('./library.svg') center/cover;text-align:center}.camp h2{font-size:30px;margin:12px}.camp>p{font-size:18px;color:#c7d8cf}.camp>button{margin:8px}.section-kicker{font-size:12px;color:#d3b77e;letter-spacing:3px}.node-options{display:flex;justify-content:center;gap:24px;margin:25px 0}.node-card{width:320px;min-height:250px;padding:22px;background:linear-gradient(#29464c,#132e38);border:1px solid #d4b274;text-align:left}.node-card.elite,.node-card.boss{border-color:#c47c82}.node-symbol{font-size:45px;color:#edd18f}.node-card h3{font-size:24px;margin:7px 0}.node-card p{font-size:17px;line-height:1.7}.node-card small{display:block;margin-top:17px;color:#b6cac3}.map-track{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:32px}.map-track>div{display:flex;gap:10px;align-items:center}.map-track span{border:1px solid #637c75;border-radius:50%;padding:6px 12px}.map-track .current{background:#dfc287;color:#14292e}.map-track .done{background:#315e51}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:25px 0}.shop-grid article{border:1px solid #97835e;border-radius:12px;background:#15343d;padding:20px}.shop-grid article p{min-height:80px;font-size:17px}.service-buttons{display:flex;justify-content:center;gap:16px;margin:24px;flex-wrap:wrap}.camp>select{max-width:500px}.relic-options{display:flex;justify-content:center;gap:16px}.relic-options button{max-width:320px;text-align:left;font-size:17px;padding:20px}.reward-cards .card{width:220px;min-height:310px}.card-art>span{font-size:45px;color:#e9cc91;text-shadow:0 0 20px #d7c48d}.card-heading strong{line-height:1.3}.card-copy p{margin:3px 0}.card-copy small{display:block;color:#604c38}.card-footer{display:flex;justify-content:space-between}.mode-choice{margin:24px}.classic-wrap{height:100dvh;display:grid;grid-template-rows:56px 1fr}.classic-wrap header{display:flex;gap:20px;align-items:center;background:#102c36;padding:4px 16px}.classic-wrap iframe{width:100%;height:100%;border:0}.modal{max-height:85dvh}.modal label{margin:16px 0}.modal li{padding:9px 0}.modal h2{padding-right:75px}.combat-screen .hud{gap:10px;padding:6px 18px}.hud-right{display:flex;gap:7px}.combat-screen .hud-right>button{padding:7px 11px;font-size:15px}.combat-screen .arena{background-image:linear-gradient(#0a1b1d22,#071c2277),url('./library.svg');position:relative}.combat-title{position:absolute;inset:8px 20px auto;display:flex;justify-content:space-between;z-index:3;font-size:16px;color:#e5d9b6}.combat-screen .actors{inset:42px 8% 31px;align-items:end;justify-content:space-between}.combat-screen .player-art{position:relative}.player-status{font-size:15px;color:#c5e4db;white-space:nowrap}.combat-screen .enemy-team{gap:25px;min-width:0}.combat-screen .enemy{background:none;border:0;border-radius:10px}.combat-screen .enemy.selected{outline:2px solid #f0d48c}.combat-screen .enemy.targetable{outline:2px dashed #dbb773}.combat-screen .enemy-art{position:relative;display:flex;justify-content:center;align-items:end}.combat-screen .guardian-img{position:static;max-height:100%;width:auto;max-width:100%;object-fit:contain}.variant-3{filter:hue-rotate(45deg)}.variant-4{filter:hue-rotate(-30deg)}.variant-5{filter:sepia(.4)}.variant-6{filter:hue-rotate(100deg)}.variant-7{filter:hue-rotate(180deg)}.variant-8{filter:sepia(.8)}.elite{filter:drop-shadow(0 0 9px #e3a76366)}.boss .enemy-art{filter:drop-shadow(0 0 11px #a47fd588)}.combat-screen .intent{min-height:40px;font-size:16px;font-weight:700;display:block;white-space:normal}.intent small{display:block;font-size:13px;color:#b8f6f4}.combat-screen .actor-health b{font-size:21px}.combat-screen .actor-health>div>span{font-size:16px}.target-preview{font-size:14px;color:#ffdc95;position:absolute;left:-15px;right:-15px;bottom:-23px;background:#12303be8;border-radius:5px}.combat-screen .hand .card{grid-template-rows:39px 34px minmax(95px,1fr) 25px;max-height:none}.combat-screen .hand .card-art{height:34px}.combat-screen .card-art span{font-size:30px}.combat-screen .hand .card-copy p{font-size:16px;line-height:1.35}.combat-screen .hand .card-copy>strong{font-size:16px}.combat-screen .hand .card-heading{padding-left:29px;padding-right:2px}.combat-screen .hand .card-heading strong{font-size:18px}.combat-screen .hand .card-copy{overflow:hidden}.combat-screen .hand .card-copy small{font-size:12px}.combat-screen .hand .card-footer{font-size:11px}.combat-screen .selection-panel.is-open{max-height:234px;bottom:46px;z-index:20}.combat-screen .selection-panel p{line-height:1.35;margin:4px 0}.combat-screen .selection-panel label{font-size:15px}.combat-screen .selection-panel select{min-height:44px;padding:6px}.combat-screen .peek-panel{position:absolute;bottom:46px;z-index:22}.fx-number{position:absolute;top:calc(2px + var(--stack)*24px);left:0;right:0;z-index:8;font-size:20px;font-weight:800;white-space:nowrap;color:#ffd2b1;pointer-events:none;text-shadow:0 2px 4px #000;animation:result-number .65s ease-out both}.fx-heal,.fx-block{color:#b2ffde}.fx-status{color:#c3e5ff;font-size:16px}.casting .player-art img{animation:cast-spell .3s ease-out}.hit .enemy-art,.player.hit .player-art{animation:impact .55s ease-out}.spell-flight{position:absolute;top:52%;left:19%;font-size:43px;color:#ffd37b;z-index:9;pointer-events:none;animation:spell-path .34s ease-in both;text-shadow:0 0 14px #f2a654}.spell-flight.from-enemy{left:75%;color:#e8aa9c}.spell-flight.frost{color:#a6eeff}.spell-flight.paper{color:#cfb6ff}.motion-reduced .spell-flight{display:none}.motion-reduced .fx-number{animation:none}.result.won .result-seal{animation:result-arrive .5s ease-out}.combat-screen .hand-scroll{scroll-behavior:smooth}.combat-screen .hand.cards{min-width:100%;width:max-content}.combat-screen .enemy{overflow:visible}.camp details{text-align:left;max-width:720px;margin:25px auto}.node-card:hover{box-shadow:0 0 24px #bf9d5344}@keyframes spell-path{0%{opacity:0;transform:scale(.5)}25%{opacity:1}100%{left:var(--dest);opacity:0;transform:scale(1.2)}}@keyframes result-number{0%,30%{opacity:1}100%{opacity:.5;transform:translateY(-9px)}}
@media(min-width:1600px) and (min-height:900px){.combat-screen .hand .card{grid-template-rows:44px 70px minmax(95px,1fr) 27px}.combat-screen .hand .card-art{height:70px}.combat-screen .hand .card-art span{font-size:55px}.combat-screen .selection-panel.is-open{max-height:294px}}
@media(max-width:650px){.hud .brand h1{font-size:18px;letter-spacing:0;white-space:nowrap}.combat-screen .hud{padding:5px 8px}.combat-screen .brand-seal,.combat-screen .brand h1 small,.combat-screen .runline{display:none}.combat-screen .hud-right{gap:4px}.combat-screen .hud-right>button{font-size:13px;padding:4px 7px}.combat-screen .hud-right .icon-button{font-size:20px}.combat-screen .combat-title{font-size:14px;inset:7px 10px auto}.combat-screen .actors{inset:33px 9px 34px;gap:10px}.combat-screen .player-status{font-size:12px;white-space:normal;line-height:1.25;max-width:110px}.combat-screen .enemy-team{gap:7px}.combat-screen .actor-health b{font-size:18px}.combat-screen .actor-health>div>span{font-size:14px}.combat-screen .enemy .actor-title strong{font-size:14px}.combat-screen .intent{font-size:14px;padding:4px 2px;line-height:1.3;max-width:150px}.combat-screen .enemy-art{height:70px}.combat-screen .guardian-img{max-height:100%;position:static;width:auto}.combat-screen .hand .card{grid-template-rows:36px 22px minmax(95px,1fr) 24px;min-height:0}.combat-screen .hand .card-art{height:22px}.combat-screen .hand .card-art span{font-size:22px}.combat-screen .hand .card-heading strong{font-size:18px}.combat-screen .hand .card-copy p{font-size:16px;line-height:1.3}.combat-screen .hand .card-copy small{display:none}.combat-screen .selection-panel.is-open{max-height:210px;bottom:44px}.combat-screen .selection-panel h3{font-size:18px}.combat-screen .selection-panel p{font-size:16px}.combat-screen .selection-buttons button{min-height:44px}.combat-screen .energy strong{display:none}.combat-screen .end-turn{min-width:120px}.combat-screen .target-preview{font-size:12px;bottom:-23px;left:-3px;right:-3px;white-space:nowrap;overflow:hidden}.combat-screen .fx-number{font-size:16px;white-space:normal}.combat-screen .fx-status{font-size:13px}.camp{padding:24px 14px}.camp h2{font-size:25px}.camp p{font-size:17px}.node-options{gap:12px;flex-direction:column}.node-card{width:100%;min-height:180px;padding:16px}.node-symbol{float:left;margin-right:20px}.node-card small{margin-top:10px}.map-track{margin:20px 0;gap:10px}.map-track span{padding:4px 9px}.shop-grid{grid-template-columns:1fr}.relic-options{flex-direction:column}.relic-options button{max-width:none}.service-buttons{margin:20px 0;display:grid}.reward-cards .card{width:220px;flex:0 0 220px}.setup-screen .intro-art img{float:none}.classic-wrap header{font-size:13px;padding:3px 8px;gap:8px}}
@media(max-height:650px) and (max-width:650px){.combat-screen .hand .card{grid-template-rows:36px minmax(95px,1fr) 24px}.combat-screen .selection-panel.is-open{max-height:186px}}
@media(prefers-reduced-motion:reduce){.spell-flight{display:none}.fx-number{animation:none}}
.combat-screen .hand .card-heading{display:block;padding:0 0 0 28px;overflow:hidden}.combat-screen .hand .card-heading strong{display:block;white-space:nowrap;font-size:18px;letter-spacing:0}.combat-screen .hand .card-heading span{display:block;font-size:11px;letter-spacing:0;line-height:15px}.combat-screen .card-cost{z-index:2}
.guarding .player-art:after{content:'◇';position:absolute;inset:15% 0 0;font-size:90px;color:#a6e6e3;text-shadow:0 0 18px #a1e1e0;pointer-events:none;animation:shield-grow .6s ease-out both}.healing .player-art:before{content:'✚';position:absolute;left:35%;top:10%;font-size:45px;color:#baf7c4;animation:healing .6s ease-out;pointer-events:none}.motion-reduced .guarding .player-art:after,.motion-reduced .healing .player-art:before{display:none}.enemy-casting .enemy-art{animation:enemy-cast .3s ease-out}.combat-screen .card-echo{top:60px;left:35%;padding:12px}
@media(max-width:650px){.player-status span{display:block;white-space:nowrap}.combat-screen .player-status{font-size:12px}}

/* 2.2 event-driven feedback. No continuous particles or game-state timers. */
.spell-core{font-style:normal;display:block;filter:drop-shadow(0 0 9px currentColor)}
.spell-flight{left:var(--from,19%);width:48px;height:48px;animation:arc22 .42s cubic-bezier(.35,.05,.85,.55) both;--spell:#ffbd69;color:var(--spell)}
.spell-flight.frost{--spell:#a0edff}.spell-flight.paper{--spell:#d5b3ff}.spell-flight.ward{--spell:#89f2ce}
.spell-tail{position:absolute;width:100px;height:6px;border-radius:50%;right:22px;top:24px;background:linear-gradient(90deg,transparent,var(--spell));box-shadow:0 0 12px var(--spell);transform:rotate(-8deg)}
.from-enemy .spell-tail{right:auto;left:22px;transform:rotate(8deg)}
.casting .player-art img{transform-origin:50% 90%;animation:cast22 .42s ease-out both}
.hit .enemy-art{animation:recoil22 .55s ease-out both}.player.hit .player-art{animation:recoil22 .55s ease-out reverse both}
.impact-ring{position:absolute;inset:15% 0 0;font-size:95px;color:#ffdeaa;pointer-events:none;text-shadow:0 0 20px #e7b46b;animation:ring22 .6s both}
.theme-서리 .impact-ring{color:#a1e9ff}.theme-순환 .impact-ring{color:#d1b3ff}.theme-결계 .impact-ring{color:#99f1d2}
.combo-ribbon{position:absolute;z-index:12;top:36px;left:25%;right:25%;padding:7px 12px;border:1px solid #f2d08f;background:#17383ced;border-radius:12px;color:#ffe1a4;font-weight:700;text-align:center;pointer-events:none;animation:combo22 .65s both;font-size:16px}
.heavy-impact .impact-ring{font-size:125px}.heavy-impact .hp-trail{background:#ffac64}.boss-cleared .enemy{filter:sepia(.5);opacity:.65}
.reward-cards{display:flex;justify-content:center;gap:18px;margin:20px 0;align-items:stretch}.reward-cards .card{flex:0 1 250px;max-width:270px;min-height:330px;grid-template-rows:64px 78px minmax(110px,1fr) 30px}.reward-cards .card-heading{display:block;padding:4px 6px 4px 30px;text-align:center}.reward-cards .card-heading strong{display:block;font-size:20px;line-height:1.2;word-break:keep-all;letter-spacing:0}.reward-cards .card-heading span{display:block;font-size:13px;line-height:1.2}.reward-cards .card-copy p{font-size:17px}.exchange-choice{display:block;max-width:560px;margin:14px auto;color:#d6e6db}.exchange-choice select{display:block;width:100%;margin-top:8px;min-height:44px}.reward-roles{color:#f1ce89!important;font-size:15px!important}.camp .reward-cards .card-art{min-height:50px}.camp{overflow-wrap:anywhere}
@keyframes arc22{0%{left:var(--from,19%);opacity:0;transform:translateY(12px) scale(.5)}20%{opacity:1}60%{transform:translateY(-28px) scale(1)}100%{left:var(--dest);opacity:0;transform:translateY(0) scale(1.3)}}
@keyframes cast22{0%{transform:rotate(0)}25%{transform:translateX(-5px) rotate(-5deg);filter:brightness(1.2)}60%{transform:translateX(12px) rotate(7deg);filter:drop-shadow(0 0 12px #e9cf8e)}100%{transform:none}}
@keyframes recoil22{0%,48%{transform:none}62%{transform:translateX(12px) rotate(4deg);filter:brightness(1.35)}85%{transform:translateX(-3px)}100%{transform:none}}
@keyframes ring22{0%,45%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}100%{opacity:0;transform:scale(1.6)}}
@keyframes combo22{0%{opacity:0;transform:translateY(5px)}20%,85%{opacity:1;transform:none}100%{opacity:.6}}
.motion-reduced .impact-ring,.motion-reduced .spell-tail{display:none}.motion-reduced .combo-ribbon,.motion-reduced .casting .player-art img,.motion-reduced .hit .enemy-art,.motion-reduced .player.hit .player-art{animation:none}
@media(max-width:650px){.combo-ribbon{left:8px;right:8px;top:28px;font-size:13px;padding:4px;max-height:52px;overflow:hidden}.reward-cards{justify-content:flex-start;overflow-x:auto;max-width:100%;padding:8px 4px}.reward-cards .card{flex:0 0 220px;min-height:340px}.impact-ring{font-size:70px}.spell-tail{width:50px}.reward-cards .card-heading strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.impact-ring,.spell-tail{display:none}.combo-ribbon,.casting .player-art img,.hit .enemy-art{animation:none}}

/* Distinct trajectories use only compositor transforms and opacity. */
.spell-flight.flame{--arc-rise:-34px;--spin:-15deg}.spell-flight.frost{--arc-rise:0px;--spin:0deg}.spell-flight.paper{--arc-rise:-50px;--spin:80deg}.spell-flight.ward{--arc-rise:-12px;--spin:15deg}.spell-flight.from-enemy{--arc-rise:16px;--spell:#e8aa9c}
@keyframes arc22{0%{opacity:0;transform:translate3d(0,12px,0) scale(.5)}20%{opacity:1}60%{transform:translate3d(calc((var(--dest) - var(--from)) / 2),var(--arc-rise,-28px),0) rotate(var(--spin,0deg)) scale(1)}100%{opacity:0;transform:translate3d(calc(var(--dest) - var(--from)),0,0) scale(1.3)}}
.boss-cleared:after{content:'✦ 봉인 해제 ✦';position:absolute;inset:25% 20% auto;text-align:center;font-size:32px;padding:22px;color:#ffe9b2;border:1px solid #ddbd78;background:#14313be8;border-radius:50%;z-index:14;pointer-events:none;animation:boss-release .6s ease-out both}
@keyframes boss-release{0%{opacity:0;transform:scale(.8)}35%{opacity:1;transform:scale(1.04)}100%{opacity:.7;transform:scale(1.12)}}
.motion-reduced .boss-cleared:after{animation:none}.card-copy p{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:650px){.boss-cleared:after{font-size:22px;padding:14px;inset:25% 8% auto}}
@media(prefers-reduced-motion:reduce){.boss-cleared:after{animation:none}}

.spell-flight.from-player,.spell-flight.from-enemy{left:var(--from,19%)}

/* Original 2.3 icon and silhouette system; all gameplay remains engine-driven. */
.symbol-art{width:44px;height:44px;object-fit:contain;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 2px 3px #06191c)}
.card-symbol{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 3px 4px #0008)}
.monster-original{width:100%!important;height:100%!important;max-width:210px!important;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 0 #051d2a8a)!important}
.enemy-art{isolation:isolate}.enemy.boss .monster-original{max-width:250px!important}.enemy.selected .monster-original{filter:drop-shadow(0 0 8px #f6d68c88)!important}
.card[data-card-id^="L"] .card-art{background:radial-gradient(ellipse,#64401e,#1c1e29)}
.card[data-card-id^="W"] .card-art{background:radial-gradient(ellipse,#1a5559,#111f31)}
.card[data-card-id^="F"] .card-art{background:radial-gradient(ellipse,#305970,#131c32)}
.card[data-card-id^="P"] .card-art{background:radial-gradient(ellipse,#4c376a,#181c31)}
.node-symbol .symbol-art{width:56px;height:56px}.relic-options button{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.relic-options .symbol-art{width:56px;height:56px}
.event-illustration{display:block;width:150px;height:150px;margin:auto}.review-panel{text-align:left;max-width:820px;margin:24px auto;padding:20px;border:1px solid #8f8868;border-radius:14px;background:#102d3a}.review-panel h3{color:#f6d68c}.review-hint{display:flex;align-items:center;gap:8px}.review-panel details{margin:12px 0}.review-panel summary{min-height:44px;cursor:pointer}.review-panel p{font-size:16px;line-height:1.6}.review-hint .symbol-art{width:36px;height:36px}
.area-2 .arena,.area-2 .camp{background-color:#182b43;background-blend-mode:screen}.area-3 .arena,.area-3 .camp{background-color:#2c1e3a;background-blend-mode:screen}
.intent small{display:inline-block;border:1px solid #b9d9e0;margin:2px;padding:1px 4px}.combo-active .card-symbol{filter:drop-shadow(0 0 6px #f6d68c)}
@media(max-width:600px){.card-symbol{width:42px;height:42px}.review-panel{padding:12px;margin:12px}.review-panel p{font-size:15px}.monster-original{max-width:110px!important}.event-illustration{width:110px;height:110px}.review-hint{align-items:flex-start}}

.float-icon{width:22px;height:22px;vertical-align:middle}.spell-core .symbol-art{width:44px;height:44px}.fx-number{display:flex;align-items:center;gap:4px}.impact-ring .symbol-art{width:90px;height:90px}
.card-art{display:flex;align-items:center;justify-content:center}.card-symbol{height:100%;max-height:100%;width:auto;max-width:90%}.combat-screen .hand .card{grid-template-rows:39px 48px minmax(0,1fr) 25px}.combat-screen .hand .card-art{height:48px}.combat-screen .hand .card-copy>strong{display:none}@media(max-width:650px){.combat-screen .hand .card{grid-template-rows:36px 30px minmax(0,1fr) 24px}.combat-screen .hand .card-art{height:30px}}@media(min-width:1600px) and (min-height:900px){.combat-screen .hand .card{grid-template-rows:44px 70px minmax(0,1fr) 27px}.combat-screen .hand .card-art{height:70px}}
.area-1 .arena,.area-1 .camp{background-image:linear-gradient(#0b252d44,#091821aa),url(assets/renewal23/area-1.svg),url(library.svg);background-size:cover;background-position:center}.area-2 .arena,.area-2 .camp{background-image:linear-gradient(#172a4555,#101c30aa),url(assets/renewal23/area-2.svg),url(library.svg);background-size:cover;background-position:center}.area-3 .arena,.area-3 .camp{background-image:linear-gradient(#2d1a3c55,#1b152baa),url(assets/renewal23/area-3.svg),url(library.svg);background-size:cover;background-position:center}

.creature-catalog,.relic-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.creature-catalog article,.relic-catalog article{border:1px solid #607e80;border-radius:8px;padding:12px;background:#102d38}.creature-catalog p,.relic-catalog p{font-size:15px;line-height:1.45}.catalog-monster{display:block;width:88px;height:88px;margin:0 auto 8px}.modal li>.symbol-art{margin-right:8px}
.combat-screen .hand .card-art{display:flex!important}.combat-screen .hand .card-copy p{white-space:normal;overflow-wrap:break-word}

.combat-screen .hand .card{grid-template-rows:40px 82px minmax(0,1fr) 24px;flex-basis:204px;border-width:2px;box-shadow:0 5px 8px #0008}
.combat-screen .hand .card-art{height:82px;display:flex!important;border-top:1px solid #ae9366;border-bottom:1px solid #ae9366}
.card-scene{width:100%;height:100%;object-fit:contain;background:#0b1728}
.combat-screen .hand .card-copy{padding:5px 6px;background:linear-gradient(#f2e6c5,#dbc693)}
.combat-screen .hand .card-copy>.core-effect{display:block!important;font-size:20px;line-height:1.2;font-weight:850;color:#162c35;letter-spacing:-.3px}
.combat-screen .hand .card-copy p{font-size:14px;line-height:1.3;color:#413e31;margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.combat-screen .hand .card-copy small{display:none}.card-heading{background:linear-gradient(#32444d,#182b35)}.attack-card .card-heading{background:linear-gradient(#684636,#3a272b)}.defense-card .card-heading{background:linear-gradient(#326263,#1c3f49)}.skill-card .card-heading{background:linear-gradient(#58416c,#2b294a)}
.survival-sprite{position:relative;display:block;width:clamp(105px,11vw,170px);height:clamp(105px,11vw,170px);background-repeat:no-repeat;filter:drop-shadow(0 6px 5px #0007);transform-origin:50% 85%}
.boss .survival-sprite{width:clamp(140px,14vw,210px);height:clamp(140px,14vw,210px)}
.enemy-art:has(.survival-sprite){align-items:center!important;justify-content:center!important}.creature-emblem{position:absolute;bottom:0;right:4px;font-size:12px;color:#ffe3a6;border-radius:4px;background:#182d3ce0}
.intent .mechanic-head{display:block;font-size:18px;color:#ffe5a8}.intent-detail{display:block;font-size:12px;font-weight:500;line-height:1.35;color:#dcece5}.intent{max-width:300px}.enemy.actor{min-width:0}
.flight-sigil{position:absolute;inset:-20px;border:2px solid #ffd084;border-radius:50%;box-shadow:0 0 20px #ffc86066}.sigil-frost{border-radius:2px;transform:rotate(45deg);border-color:#d7f6ff}.sigil-ward{border-radius:40% 40% 60% 60%;border-color:#6be7d8}.sigil-cycle{border-style:dashed;border-color:#cfadff}
.impact-ring{border:3px solid #fff2b6;border-radius:50%;animation:impact .35s ease-out}.phase-ribbon{background:#302244;color:#e5c1ff}.motion-reduced .survival-sprite{animation:none!important}.motion-reduced .flight-sigil{display:none}
@media(min-width:1600px) and (min-height:900px){.combat-screen .hand .card{grid-template-rows:46px 112px minmax(0,1fr) 26px;max-height:310px;flex-basis:225px}.combat-screen .hand .card-art{height:112px}.combat-screen .hand .card-copy>.core-effect{font-size:23px}.combat-screen .hand .card-copy p{font-size:16px}}
@media(max-width:650px){.combat-screen{grid-template-rows:54px 32px minmax(180px,1fr) 310px}.combat-screen .hud{height:54px}.combat-screen .hand .card{flex-basis:182px;grid-template-rows:35px 60px minmax(0,1fr) 22px;padding:4px}.combat-screen .hand .card-art{height:60px}.combat-screen .hand .card-copy>.core-effect{font-size:19px;line-height:1.2}.combat-screen .hand .card-copy p{font-size:14px;-webkit-line-clamp:1}.combat-screen .hand .card-footer{font-size:11px;padding:1px}.combat-screen .hand-zone{grid-template-rows:48px minmax(0,1fr) 36px}.combat-screen .hand .card-heading strong{font-size:18px}.survival-sprite,.boss .survival-sprite{width:95px;height:95px}.intent .mechanic-head{font-size:14px}.intent-detail{font-size:11px}.combat-screen .intent{min-height:30px;padding:3px;max-width:150px}.combat-screen .actors{inset:32px 8px 26px}.combat-screen .enemy-art{height:86px}.combat-screen .selection-panel.is-open{bottom:36px;max-height:200px}.card-scene{object-fit:contain}}
@media(max-width:650px) and (max-height:650px){.combat-screen{grid-template-rows:50px 28px minmax(170px,1fr) 300px}.combat-screen .hand .card{grid-template-rows:34px 49px minmax(0,1fr) 21px}.combat-screen .hand .card-art{height:49px}.combat-screen .hand .card-copy>.core-effect{font-size:18px}.combat-screen .hand .card-copy p{font-size:13px}.combat-screen .survival-sprite{width:80px;height:80px}.combat-screen .player-art{height:94px}.combat-screen .player-art img{max-height:94px}}

.atlas-effect{position:absolute;width:110px;height:110px;left:-32px;top:-30px;background-repeat:no-repeat;pointer-events:none}.boss-transition{position:absolute;z-index:15;top:25%;left:35%;padding:12px 20px;background:#231d3be8;border:1px solid #bf9bdc;border-radius:12px;color:#f3dcff}.boss-transition .atlas-effect{width:180px;height:180px;left:0;top:-60px}.motion-reduced .atlas-effect{display:none}
.combat-screen .enemy .survival-sprite,.combat-screen .enemy.boss .survival-sprite{height:100%;width:auto;aspect-ratio:1;max-width:100%;flex:0 0 auto}.combat-screen .hand .card{grid-template-rows:40px 70px minmax(0,1fr) 24px}.combat-screen .hand .card-art{height:70px}@media(max-width:650px){.combat-screen .hand .card{grid-template-rows:35px 60px minmax(0,1fr) 22px}.combat-screen .hand .card-art{height:60px}}@media(max-width:650px) and (max-height:650px){.combat-screen .hand .card{grid-template-rows:34px 49px minmax(0,1fr) 21px}.combat-screen .hand .card-art{height:49px}}@media(min-width:1600px) and (min-height:900px){.combat-screen .hand .card{grid-template-rows:46px 112px minmax(0,1fr) 26px}.combat-screen .hand .card-art{height:112px}}
@media(max-width:650px){.intent-detail{display:none}.intent .mechanic-head{font-size:14px;line-height:1.35}.combat-screen .intent{max-width:155px}.combat-screen .selection-panel h3{font-size:17px}.combat-screen .selection-panel p{font-size:15px}}

.card-art{position:relative}.card-tool{position:absolute;z-index:2;right:4px;bottom:3px;width:50px;height:50px;background-image:url(assets/survival/weapons.png);background-repeat:no-repeat;filter:drop-shadow(0 2px 3px #0008)}@media(max-width:650px){.card-tool{width:34px;height:34px}}
.creature-N03:before,.creature-N03:after{content:"";position:absolute;inset:8% 0;background-image:inherit;background-size:inherit;background-position:inherit;opacity:.75;transform:translateX(-30%) scale(.68);z-index:-1}.creature-N03:after{transform:translateX(30%) scale(.68)}.creature-N06:after{content:"";position:absolute;width:30%;height:30%;top:0;right:0;background:url(assets/renewal23/enemy-N06.svg) center/contain no-repeat}.creature-E01:after{content:"";position:absolute;inset:5% 9%;border-left:5px dotted #d7dbe7;border-right:5px dotted #d7dbe7;transform:rotate(-12deg)}.creature-N07{filter:drop-shadow(-7px 0 0 #6256b366) drop-shadow(7px 0 0 #6256b366)}
@media(max-width:650px){.combat-screen .intent .intent-detail{display:none!important}.combat-screen .hand-zone{grid-template-rows:48px minmax(0,1fr) 44px}.combat-screen .hand-bottom button{min-height:44px}}

.game-shell:not(.motion-reduced) .hit .enemy-art{animation:impact .28s .24s ease-out both}.game-shell:not(.motion-reduced) .player.hit .player-art{animation:impact .3s .13s ease-out both}.game-shell:not(.motion-reduced) .fx-damage{opacity:0;animation-delay:.24s;animation-fill-mode:forwards}.game-shell:not(.motion-reduced) .counter-flight{animation-delay:.28s;animation-duration:.26s}.game-shell:not(.motion-reduced) .enemy.hit .hp-trail{animation-delay:.24s}.motion-reduced .survival-sprite{animation:none!important}

.catalog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.catalog-card{border:2px solid #ad9568;border-radius:10px;background:#e8d5aa;color:#18313a;overflow:hidden;box-shadow:0 4px 8px #0005}.catalog-card header{position:relative;min-height:56px;background:#203b46;text-align:center;color:#f5dfb3;padding:6px 8px 6px 30px}.catalog-card h4{margin:0;font-size:18px}.catalog-card header span{font-size:12px}.catalog-cost{position:absolute;left:5px;top:8px;font-size:24px;color:#f4dfa2}.catalog-card .card-art{height:98px}.catalog-core{display:block;font-size:19px;padding:8px 8px 0}.catalog-card p{font-size:15px;line-height:1.45;padding:0 8px;margin:6px 0}.catalog-card small{display:block;padding:8px;color:#4e4538;font-size:12px}.creature-catalog .survival-sprite{width:88px;height:88px;margin:0 auto 10px;animation:none!important}.creature-catalog .creature-emblem{position:static;display:block;margin:0 auto 5px;width:max-content}.creature-catalog .monster-original{height:88px!important;width:88px!important;display:block;margin:auto}.creature-catalog article{position:relative}.modal:has(.catalog-cards){max-width:1000px}@media(max-width:650px){.catalog-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.catalog-card h4{font-size:16px}.catalog-card .card-art{height:80px}.catalog-core{font-size:17px}.catalog-card p{font-size:14px}.catalog-card header{padding-left:24px}.catalog-cost{font-size:21px}}
.combat-screen .target-preview{white-space:normal;line-height:1.25;font-weight:700;max-height:42px;overflow:auto;background:#102735fa;border:1px solid #cfb77e;padding:3px 4px}@media(max-width:650px){.combat-screen .target-preview{font-size:12px;bottom:-27px;max-height:42px}}
.combat-screen .target-preview{overflow:hidden}
.combat-screen .intent .intent-detail{display:none}.combat-screen .actors{bottom:46px}@media(max-width:650px){.combat-screen .enemy-team.count-1 .enemy.boss{width:180px;max-width:100%}.combat-screen .combat-title strong{display:none}}@media(max-width:650px) and (max-height:650px){.combat-screen{grid-template-rows:50px 28px minmax(170px,1fr) 280px}.combat-screen .hand .card-copy p{margin:2px 0}}

.victory-highlights{border-color:#d2b77a;background:linear-gradient(120deg,#193e3e,#212e40)}.victory-highlights p{color:#e5edcf}.result.won .result-seal{filter:drop-shadow(0 0 15px #ffdc8f88)}

/* Short desktop: reserve the full intent above large bosses. */
@media(min-width:651px) and (max-height:800px){.combat-screen .enemy.boss .enemy-art{height:130px;max-height:130px}}

@media(min-width:651px) and (max-height:800px){.combat-screen .enemy.boss .enemy-art{height:95px;max-height:95px}.combat-screen .enemy.boss .intent{line-height:1.15;padding:4px;min-height:0}.combat-screen .enemy.boss .intent .mechanic-head{font-size:16px;line-height:1.2}}
@media(min-width:651px) and (max-height:800px){.combat-screen .enemy.boss .enemy-art{height:80px;max-height:80px}}
