:root{--ink:#2b2118;--paper:#f6efe3;--accent:#c9702a;--panel:#fffaf0eb}html,body{height:100%;color:var(--ink);background:#1a1410;margin:0;font-family:Microsoft JhengHei,PingFang TC,Noto Sans TC,sans-serif;overflow:hidden}#app{justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#rotate-hint{z-index:1000;color:#fff3d6;text-align:center;background:#0f0a06f2;place-items:center;font-size:22px;line-height:1.6;display:none;position:fixed;inset:0}#rotate-hint .rotate-card{background:#2a1a0dcc;border:1.5px solid #ffd98a8c;border-radius:16px;padding:28px 36px}#rotate-hint .rotate-icon{margin-bottom:8px;font-size:44px}#rotate-hint small{color:#c9b58f;margin-top:4px;font-size:14px;display:block}html[data-device=phone][data-orient=portrait] #rotate-hint{display:grid}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent}#stage{transform-origin:50%;background:var(--paper);-webkit-user-select:none;user-select:none;flex:none;width:1280px;height:720px;position:relative;overflow:hidden}#screen,#overlay{position:absolute;inset:0}#overlay{z-index:100;pointer-events:none}.dialogue-overlay,.modal-overlay,.cine-overlay{pointer-events:auto}img{-webkit-user-drag:none}.btn{font:inherit;border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:10px 22px;font-size:20px}.btn:hover:not(:disabled){background:#ffeed8}.btn{transition:transform 80ms ease-out}.btn:active:not(:disabled){transform:translateY(2px)scale(.97)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:#b3611f}.btn:disabled{opacity:.4;cursor:default}.seed{font:inherit;border:2px solid var(--ink);width:180px;color:var(--ink);background:#fff;border-radius:12px;padding:9px 12px;font-size:16px}.title-screen{z-index:1;color:#f8f2e6;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.title-cat-box{position:relative}.title-cat-box .ground-shadow{pointer-events:none;background:radial-gradient(#0000008c 0%,#00000052 52%,#0000 76%);border-radius:50%;width:44%;height:20px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.title-cat{filter:drop-shadow(0 3px 10px #000c);height:320px;animation:2.4s ease-in-out infinite idle-bob;display:block;position:relative}@keyframes idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.title-screen h1{letter-spacing:6px;text-shadow:0 2px 4px #000000f2,0 0 18px #000c,2px 3px #c9702a80;margin:0;font-size:52px}.title-buttons{align-items:center;gap:14px;display:flex}.title-best{text-shadow:0 1px 4px #000000e6;font-size:20px}.title-note{opacity:.75;text-shadow:0 1px 4px #000000e6;font-size:14px}.title-credit{letter-spacing:.04em;opacity:.6;text-shadow:0 1px 4px #000000e6;margin-top:10px;font-size:12px}.dialogue-overlay{animation:.16s ease-out fade-in}.dialogue-box{animation:.28s cubic-bezier(.2,.9,.3,1.12) dialogue-in}@keyframes fade-in{0%{opacity:0}}@keyframes dialogue-in{0%{opacity:0;transform:translateY(26px)}}.dialogue-portrait{z-index:0;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 6px 14px #000000a6);width:300px;height:350px;position:absolute;bottom:196px;left:60px}.dialogue-portrait.in{animation:.26s cubic-bezier(.2,.9,.3,1.1) portrait-in}@keyframes portrait-in{0%{opacity:0;transform:translate(-22px)scale(.96)}}.dialogue-overlay{cursor:pointer;z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.dialogue-box{z-index:1;box-sizing:border-box;color:#2b2118;background-image:repeating-linear-gradient(58deg,#00000005 0 2px,#0000 2px 7px),radial-gradient(120% 100% at 50% 0,#fffaf0 0%,#f3e8d2 70%,#e9dbc0 100%);background-repeat:repeat,no-repeat;border:4px solid #3a2a1c;border-radius:14px;width:1000px;margin-bottom:40px;padding:26px 34px 30px;font-size:30px;position:relative;box-shadow:inset 0 2px #fffdf6,inset 0 -3px 8px #8a6a3f33,0 12px 30px #000000a6}.dialogue-box:has(.dialogue-speaker:not(:empty)){padding-top:51px}.dialogue-box:before{content:"";pointer-events:none;border:1px solid #3a2a1c59;border-radius:9px;position:absolute;inset:7px}.dialogue-speaker{border:3px solid #3a2a1c;border-image-source:var(--ui-nameplate);color:#fff6e2;letter-spacing:1px;text-shadow:0 1px 2px #00000080;white-space:nowrap;background:linear-gradient(#a8623099,#8a4a22) padding-box padding-box,linear-gradient(#c9702a,#8a4a22) border-box;border-image-slice:30% 24% 32% fill;border-image-width:13px 11px 14px;border-image-repeat:stretch;border-radius:9px;padding:3px 18px 4px;font-size:19px;font-weight:700;position:absolute;top:7px;left:7px;box-shadow:0 3px #00000038,inset 0 1px #ffffff4d}.dialogue-speaker:empty{display:none}.dialogue-text{min-height:94px;line-height:1.55}.dialogue-overlay.narration .dialogue-box{background-image:repeating-linear-gradient(58deg,#00000005 0 2px,#0000 2px 7px),radial-gradient(120% 100% at 50% 0,#f3f1ea 0%,#e6e2d6 72%,#d8d3c3 100%);border-color:#4a4438;padding:24px 64px 26px}.dialogue-overlay.narration .dialogue-text{color:#443d33;text-align:center;letter-spacing:2px;font-size:27px;line-height:1.75}.dialogue-overlay.narration .dialogue-hint{color:#5c5648}.dialogue-hint{color:#6b5a45;justify-content:flex-end;align-items:center;gap:7px;margin-top:4px;font-size:14px;display:flex}.dialogue-hint .paw{background:var(--paw) center / contain no-repeat;filter:brightness(.34)sepia(.55)saturate(1.6);width:62px;height:27px;animation:1.15s ease-in-out infinite hint-paw}@keyframes hint-paw{0%,to{opacity:.55;transform:translateY(0)}45%{opacity:1;transform:translateY(-5px)}}.toast{background:var(--panel);border:2px solid var(--ink);z-index:40;border-radius:14px;padding:8px 18px;font-size:20px;transition:opacity .4s;position:absolute;top:60px;left:50%;transform:translate(-50%)}.toast.out{opacity:0}.toast{animation:.28s cubic-bezier(.2,.9,.3,1.15) toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}.tooltip{box-sizing:border-box;color:#2b2118;z-index:100;pointer-events:none;background-image:repeating-linear-gradient(58deg,#00000005 0 2px,#0000 2px 7px),radial-gradient(120% 100% at 50% 0,#fffaf0 0%,#f4ead6 72%,#ebdcc2 100%);border:2.5px solid #3a2a1c;border-radius:10px;width:260px;padding:0 0 9px;font-size:15px;line-height:1.45;animation:.13s ease-out tip-in;position:absolute;box-shadow:inset 0 -3px 7px #8a6a3f2b,0 8px 20px #00000080}.tooltip .tip-term{border-top:1px dashed #3a2a1c40;margin:6px 11px 0;padding-top:5px;font-size:13.5px;line-height:1.4}.tooltip .tip-term-name{color:#6a4a22;margin-right:4px;font-weight:700}@keyframes tip-in{0%{opacity:0;transform:translateY(5px)}}.tooltip b{color:#ffeeca;letter-spacing:.5px;text-shadow:0 1px 2px #00000073;background:linear-gradient(#7a5a34,#5a3f22);border-radius:7px 7px 0 0;margin-bottom:7px;padding:4px 11px 5px;font-size:15px;display:block;box-shadow:inset 0 1px #fff3,0 1px #3a2a1c}.tooltip>div{white-space:pre-line;padding:0 11px}.tooltip:before,.tooltip:after{content:"";border:9px solid #0000;border-top-color:#3a2a1c;position:absolute;top:100%;left:30px}.tooltip:after{border-width:7px;border-top-color:#ecdec4;left:32px}.kw{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.confirm-pair{justify-content:center;align-items:center;gap:22px;margin:6px 0 14px;display:flex}.confirm-side{text-align:center}.confirm-label{opacity:.75;margin-bottom:6px;font-size:15px}.confirm-side.after .confirm-label{color:var(--accent);opacity:1;font-weight:700}.confirm-side.after .card{box-shadow:0 0 0 3px var(--accent)}.confirm-arrow{color:var(--accent);font-size:34px;font-weight:700}.card.picked{animation:.26s ease-out forwards card-picked}@keyframes card-picked{0%{transform:scale(1)}55%{transform:scale(1.14)translateY(-8px);box-shadow:0 0 0 4px #ffd35c,0 10px 22px #00000059}to{transform:scale(1.08)translateY(-6px);box-shadow:0 0 0 4px #ffd35c}}.card.forged{animation:.42s ease-out card-forged}@keyframes card-forged{0%{filter:none;transform:scale(1)}35%{filter:brightness(1.9)saturate(1.3);transform:scale(1.1)}to{filter:none;transform:scale(1)}}.screen{animation:.24s ease-out screen-in}@keyframes screen-in{0%{opacity:0;translate:0 10px}}.actwalk-overlay{z-index:70;opacity:1;cursor:pointer;background:#171310;transition:opacity .4s ease-out;animation:.5s ease-out actwalk-in;position:absolute;inset:0;overflow:hidden}@keyframes actwalk-in{0%{opacity:0}}.actwalk-overlay.out{opacity:0;pointer-events:none}.actwalk-bg{background-position:0 100%;background-size:auto 118%;animation:3.4s linear forwards actwalk-scroll;position:absolute;inset:0}@keyframes actwalk-scroll{to{background-position-x:-230px}}.actwalk-cat{filter:drop-shadow(0 8px 14px #00000080);width:250px;animation:.47s ease-in-out infinite actwalk-bob;position:absolute;bottom:236px;left:340px}@keyframes actwalk-bob{0%,to{translate:0;rotate:-1.4deg}50%{translate:0 -11px;rotate:1.4deg}}.actwalk-shadow{background:radial-gradient(#00000059 0%,#0000003b 52%,#0000 76%);border-radius:50%;width:185px;height:20px;animation:.47s ease-in-out infinite actwalk-squash;position:absolute;bottom:228px;left:375px}@keyframes actwalk-squash{0%,to{opacity:.9;scale:1}50%{opacity:.55;scale:.82 1}}.actwalk-hint{color:#f8f2e6;text-shadow:0 1px 3px #000;opacity:.8;font-size:17px;position:absolute;bottom:18px;right:28px}.title-screen .title-sub{letter-spacing:12px;color:#ffd97a;text-shadow:0 2px 3px #000,0 0 14px #00000090,0 4px 10px #000000c0;opacity:1;margin-top:-4px;font-size:42px;font-weight:700}.title-petals{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.title-petals i{opacity:.7;border-radius:62% 38% 55% 45%/50% 60% 40% 50%;width:13px;height:13px;animation-name:petal-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-24px}.title-petals i.leaf{background:radial-gradient(circle at 35% 30%,#ffd88a,#d99a2b 70%)}.title-petals i.sakura{background:radial-gradient(circle at 35% 30%,#ffd9e3,#f5a8bd 70%);width:11px;height:11px}@keyframes petal-fall{0%{opacity:0;transform:translateY(-4vh)rotate(0)}8%{opacity:.75}50%{transform:translate(var(--sway,40px), 48vh) rotate(200deg)}92%{opacity:.6}to{transform:translate(calc(var(--sway,40px) * -.4), 104vh) rotate(420deg);opacity:0}}@media (prefers-reduced-motion:reduce){.title-petals{display:none}}.slide-overlay{z-index:90;pointer-events:auto;cursor:pointer;background:#000;position:absolute;inset:0}.slide-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.slide-img.show{opacity:1}.slide-overlay .slide-box{width:auto;box-shadow:none;color:#f6efe3;background:linear-gradient(#080604db 0%,#080604bd 55%,#08060400 100%);border:none;border-radius:0;margin:0;padding:30px 120px 34px;position:absolute;inset:0 0 auto}.slide-overlay .slide-box:before{display:none}.slide-overlay .slide-box.at-bottom{background:linear-gradient(#08060400 0%,#080604bd 45%,#080604db 100%);padding:40px 120px 26px;top:auto;bottom:0}.slide-overlay .slide-box:has(.dialogue-speaker:not(:empty)){padding-top:54px}.slide-overlay .slide-box .dialogue-speaker{top:10px;left:120px}.slide-overlay .slide-box .dialogue-text{text-shadow:0 2px 6px #000000d9}.slide-overlay.narration .slide-box{background:linear-gradient(#080604db 0%,#080604bd 55%,#08060400 100%);border:none}.slide-overlay.narration .slide-box.at-bottom{background:linear-gradient(#08060400 0%,#080604bd 45%,#080604db 100%)}.slide-overlay.narration .slide-box .dialogue-text{color:#f6efe3}.slide-overlay .slide-box .dialogue-hint,.slide-overlay.narration .slide-box .dialogue-hint{color:#d9cdb4}.cine-overlay{z-index:60;background:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cine-video{object-fit:contain;background:#000;width:100%;height:100%}.cine-skip{opacity:.85;position:absolute;bottom:20px;right:24px}.cine-skip:hover{opacity:1}.modal-foot{gap:56px}.dialogue-overlay{background:#00000052}.dialogue-overlay .dialogue-box{width:100%;box-shadow:none;color:#f6efe3;background:linear-gradient(#08060400 0%,#080604cc 42%,#080604e6 100%);border:none;border-radius:0;margin:0;padding:34px 120px 30px}.dialogue-overlay .dialogue-box:before{display:none}.dialogue-overlay .dialogue-box:has(.dialogue-speaker:not(:empty)){padding-top:60px}.dialogue-overlay .dialogue-speaker{top:14px;left:120px}.dialogue-overlay .dialogue-text{text-shadow:0 2px 6px #000000d9}.dialogue-overlay.narration .dialogue-box{background:linear-gradient(#08060400 0%,#080604cc 42%,#080604e6 100%);border:none;padding-left:120px;padding-right:120px}.dialogue-overlay.narration .dialogue-text{color:#f6efe3}.dialogue-overlay .dialogue-hint,.dialogue-overlay.narration .dialogue-hint{color:#d9cdb4}.dialogue-portrait{bottom:130px;left:48px}#stage.fight-pending,#stage.door-opening{pointer-events:none}.card.released{animation:.3s ease-in forwards card-release}@keyframes card-release{to{opacity:0;transform:translateY(-18px)scale(.94)}}.hud{box-sizing:border-box;background-image:linear-gradient(#000000a6, #00000073 55%, #000000b8), var(--ui-beam), repeating-linear-gradient(96deg, #ffffff06 0 2px, #0000 2px 9px), linear-gradient(#4a382a, #3a2a1c 55%, #2b1f14);color:#f6efe3;z-index:10;background-color:#2b2118d9;background-repeat:repeat,no-repeat,repeat,no-repeat;background-size:auto,100% 100%,auto,auto;border-bottom:3px solid #1c140d;align-items:center;gap:10px;width:1280px;height:56px;padding:0 14px;display:flex;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff26,inset 0 -2px 6px #00000073,0 3px 10px #0009}.hud-floor{color:#fff6e2;text-align:center;text-shadow:0 1px 2px #00000080;background:linear-gradient(#c9702a,#94501a);border:2px solid #1c140d;border-radius:7px;min-width:52px;padding:2px 10px 3px;font-size:20px;font-weight:700;box-shadow:inset 0 1px #ffffff4d,0 2px #00000047}.hud-hp{box-sizing:border-box;text-align:center;background:#241a12;border:2px solid #1a120c;border-radius:12px;width:220px;height:24px;font-size:14px;line-height:20px;position:relative;overflow:hidden;box-shadow:inset 0 2px 5px #000000a6}.hud-hp-bar{background:linear-gradient(#e8695f,#c0362f 60%,#9c2a24);height:100%;transition:width .38s ease-out;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff59}.hud-hp span{position:relative}.hud-fish{align-items:center;gap:6px;font-size:17px;display:flex}.hud-fish img{width:26px;height:26px}.hud-relics,.hud-potions{gap:6px;display:flex}.hud-relic,.hud-potion{background:linear-gradient(#fbf6ec,#e6d9c0);border:1.5px solid #3a2a1c;border-radius:8px;box-shadow:inset 0 -2px 3px #8a6a3f3d,inset 0 1px #fff,0 1px #ffffff26}.hud-relic img,.hud-potion img{width:32px;height:32px;display:block}.hud-relic.fresh{animation:.72s cubic-bezier(.2,.9,.3,1.3) relic-in}@keyframes relic-in{0%{opacity:0;transform:scale(.3)rotate(-25deg)}45%{opacity:1;transform:scale(1.28)rotate(6deg);box-shadow:0 0 0 5px #ffe196d9,0 0 18px #ffd278e6}to{opacity:1;transform:scale(1)rotate(0)}}.hud-relic{position:relative}.hud-relic.fired{z-index:3;animation:.62s cubic-bezier(.2,.9,.3,1.25) relic-fire}@keyframes relic-fire{0%{transform:scale(1);box-shadow:inset 0 -2px 3px #8a6a3f3d,inset 0 1px #fff}35%{transform:scale(1.22);box-shadow:0 0 0 4px #ffe49cf2,0 0 18px #ffce6ef2}to{transform:scale(1);box-shadow:inset 0 -2px 3px #8a6a3f3d,inset 0 1px #fff}}.hud .hud-relic-more{position:relative}.hud-relic-more.fired{z-index:3;animation:.62s ease-out relic-more-fire}@keyframes relic-more-fire{0%,to{box-shadow:none}35%{box-shadow:0 0 0 4px #ffe49cf2,0 0 18px #ffce6ef2}}.relic-pop{color:#ffe6a8;white-space:nowrap;text-shadow:0 1px 2px #000;pointer-events:none;z-index:4;background:linear-gradient(#2c1d12f2,#140c07f7);border:1.5px solid #ffd98a99;border-radius:7px;margin-top:4px;padding:2px 8px;font-size:13px;font-weight:700;animation:.95s ease-out both relic-pop;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000080}.relic-pop.cost{color:#ffb3a3;background:linear-gradient(#3a1410f2,#1a0806f7);border-color:#ff8a6a99}@keyframes relic-pop{0%{opacity:0;transform:translate(-50%,-6px)}18%{opacity:1;transform:translate(-50%)}72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.hud.crowded .hud-relic img,.hud.crowded .hud-potion img{width:26px;height:26px}.hud.crowded .hud-potion{width:26px;height:26px;font-size:12px}.hud.crowded .hud-relics,.hud.crowded .hud-potions{gap:4px}.hud.crowded{gap:6px}.hud.crowded .hud-hp{flex:none;width:146px;min-width:146px}.hud.crowded .btn.small{padding:4px 7px}.hud.crowded .hud-vol{width:46px}.hud-relic{cursor:pointer;transition:transform .12s ease-out}.hud .hud-relic-more{padding:3px 9px;font-size:14px;line-height:1.3}.hud-relic:hover{transform:translateY(-2px)scale(1.08)}.hud-potion{background:linear-gradient(#eef4ff,#cad9f2);border:1.5px solid #2b3f66;border-radius:10px;width:32px;height:32px;box-shadow:inset 0 -2px 3px #2b3f6640,inset 0 1px #fff,0 1px #ffffff26}.hud-potion.empty{box-sizing:border-box;background:#cad9f24d;border:1.5px dashed #dce8ffd9;box-shadow:inset 0 1px 3px #0006}.hud-potion.locked{box-sizing:border-box;opacity:.8;background:#00000059;border:1.5px dashed #dce8ff73;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.hud-potion.usable{cursor:pointer}.hud-sound{flex:none;margin-left:10px;padding:2px 10px;font-size:13px}.hud-vol{accent-color:#c9702a;cursor:pointer;flex:none;width:64px;margin-left:4px}.hud-seed{opacity:.6;margin-left:auto;font-size:12px}.btn.small{border-width:2px;border-radius:9px;padding:5px 12px;font-size:15px}.hud .btn.small{color:#ffeeca;text-shadow:0 1px 2px #00000080;background:linear-gradient(#6b5136,#4a3826);border-color:#1c140d;box-shadow:inset 0 1px #ffffff2e,0 2px #00000047}.hud .btn.small:hover:not(:disabled){background:linear-gradient(#7d6041,#57432d)}.hud-fish span{text-shadow:0 1px 2px #000000a6}.hud-seed{text-shadow:0 1px 2px #00000080}.hud .hud-seed.btn{opacity:1;font-size:inherit;text-shadow:none;flex:none;overflow:visible}.modal-overlay{z-index:30;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{background:var(--panel);border:3px solid var(--ink);box-sizing:border-box;border-radius:16px;width:1000px;max-height:640px;padding:16px 20px;overflow:auto}.modal-title{text-align:center;margin:0;font-size:24px}.modal-foot{text-align:center}.deck-grid{grid-template-columns:repeat(6,auto);justify-content:center;gap:10px;margin:10px 0;display:grid}.deck-empty{text-align:center;opacity:.6;grid-column:1/-1;padding:24px 0}.card{border:3px solid var(--ink);box-sizing:border-box;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff 0%,#fdfaf3 62%,#f2e9d8 100%);border-radius:12px;flex-direction:column;align-items:center;width:170px;height:250px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,inset 0 -3px 6px #8a6a3f2e,0 2px 5px #0000004d}.card:after{content:"";opacity:.28;pointer-events:none;border:1px solid;border-radius:8px;position:absolute;inset:4px}.card.rarity-稀有:after{opacity:.5}.card.rarity-罕見{color:#2f5fa8;background-color:#e8f0fb;border:3px solid #4a7cc7;box-shadow:0 0 0 1px #9dbdea88,0 0 14px #4a7cc755}.card.rarity-罕見 .card-name{background:linear-gradient(#dbe7f7,#c3d6ef)}.card.rarity-稀有{color:#8a6508;background-color:#fdf3d7;border:3px solid #e0a91c;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffd35c,0 0 18px #e0a91c77}.card.rarity-稀有 .card-name{color:#6b4d05;background:linear-gradient(#ffe9a8,#f3cf6d)}.card.rarity-稀有:before{content:"";pointer-events:none;z-index:3;background:linear-gradient(115deg,#0000,#ffecaa61 50%,#0000);width:55%;animation:4s ease-in-out infinite rare-sheen;position:absolute;top:0;bottom:0;left:-80%;transform:skew(-18deg)}@keyframes rare-sheen{0%,62%{left:-80%}86%,to{left:130%}}.card.rarity-罕見 .card-type:before,.card.rarity-稀有 .card-type:before{content:"";vertical-align:-1px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:11px;height:11px;margin-right:6px;display:inline-block}.card.rarity-罕見 .card-type{color:#234a85;opacity:1;background:#2f5fa826}.card.rarity-罕見 .card-type:before{background:linear-gradient(#7ea9e0,#2f5fa8 55%,#1d3f74)}.card.rarity-稀有 .card-type{color:#85610a;opacity:1;background:#b8860b2e;font-weight:700}.card.rarity-稀有 .card-type:before{vertical-align:-2px;background:linear-gradient(#ffe9a8,#e8b23a 50%,#a8760c);width:13px;height:13px;animation:2.6s ease-in-out infinite rare-gem;box-shadow:0 0 6px #ffc83ce0}@keyframes rare-gem{0%,to{box-shadow:0 0 6px #ffc83c8c}50%{box-shadow:0 0 12px #ffc83cf5}}.card.clickable{cursor:pointer}.card.clickable:hover{box-shadow:0 0 0 3px var(--accent)}.card.selected{outline:4px solid #ffd35c}.card-text .upg,.card-text .kw.upg{color:#15734a}.card-cost.cost-down{color:#f2fff8;text-shadow:0 1px 2px #00000073;background:radial-gradient(circle at 38% 30%,#6fe0a6,#29a86e 55%,#167a4c);box-shadow:inset 0 -2px 3px #0d5c3999,0 2px #00000040}.deck-grid .card.selected{outline:5px solid #d8342a;box-shadow:0 0 0 3px #d8342a59,0 8px 20px #00000080,inset 0 1px #fff,inset 0 -3px 6px #8a6a3f2e}.card.disabled{opacity:.45}.card-cost{color:var(--ink);z-index:2;border:2px solid var(--ink);box-sizing:border-box;text-align:center;background:radial-gradient(circle at 38% 30%,#fff6d2,#ffe08a 55%,#e0ac41);border-radius:50%;width:30px;height:30px;font-weight:700;line-height:26px;position:absolute;top:6px;left:6px;box-shadow:inset 0 1px #fffdf0,inset 0 -2px 3px #b8842899,0 1px 2px #00000059}.card-art{object-fit:contain;width:150px;height:104px;margin-top:8px}.card-name{box-sizing:border-box;width:100%;color:var(--ink);text-align:center;background:#3a2a1c0f;border-top:1px solid #3a2a1c26;border-bottom:1px solid #3a2a1c26;margin-top:2px;padding:1px 6px 2px;font-size:17px;font-weight:700}.card-text{color:var(--ink);text-align:center;flex:1;min-height:0;padding:1px 6px;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden}.card-type{text-align:center;color:var(--ink);opacity:.75;letter-spacing:2px;background:#3a2a1c14;border-radius:5px;align-self:stretch;margin:0 8px 3px;padding:1px 0 2px;font-size:11px}.card.small{border-width:2.5px;border-radius:10px;width:145px;height:213px}.card.small .card-cost{border-width:1.7px;width:25.5px;height:25.5px;font-size:13.6px;line-height:22px;top:5px;left:5px}.card.small .card-art{width:127.5px;height:84px;margin-top:6.8px}.card.small .card-name{margin-top:1.7px;font-size:14px}.card.small .card-text{padding:1px 5px;font-size:13px}.card.small .card-type{padding-bottom:3.4px;font-size:9.35px}.card.type-攻擊,.card.type-技能,.card.type-能力{background-repeat:repeat;background-size:128px 128px}.card.type-攻擊{background-color:#fff4ee;background-image:var(--paper-attack)}.card.type-技能{background-color:#eef5ff;background-image:var(--paper-skill)}.card.type-能力{background-color:#f3eeff;background-image:var(--paper-power)}.card.coop{background-color:#fff}.card.coop .card-type:after{content:"· 雙人";opacity:.75;margin-left:4px}.hud-fish.gain{animation:.48s ease-out fish-pop}.hud-fish.spend{animation:.48s ease-out fish-dip}@keyframes fish-pop{0%{transform:scale(1)}30%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes fish-dip{0%{transform:scale(1)}30%{transform:scale(.82)}to{transform:scale(1)}}.hud-fish{position:relative}.hud-fish-diff{white-space:nowrap;text-shadow:0 1px 2px #000,0 0 5px #000;pointer-events:none;margin-left:4px;font-weight:700;animation:1s ease-out forwards fish-diff;position:absolute;left:100%}.hud-fish.gain .hud-fish-diff{color:#ffe066}.hud-fish.spend .hud-fish-diff{color:#ff9f8a}@keyframes fish-diff{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(-2px)}60%{opacity:1;transform:translateY(-8px)}to{opacity:0;transform:translateY(-20px)}}.upgrade-preview{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:4px;animation:.14s ease-out result-in;display:flex;position:absolute}.upgrade-preview-label{color:#fff6e2;letter-spacing:2px;text-shadow:0 1px 2px #00000080;background:linear-gradient(#c9702a,#8a4a22);border:2px solid #3a2a1c;border-radius:7px;padding:1px 12px 2px;font-size:13px}.upgrade-preview-drop{color:#eafff4;text-align:center;text-shadow:0 1px 2px #00000080;background:linear-gradient(#2f6b4c,#1d4b34);border:2px solid #3a2a1c;border-radius:7px;max-width:170px;padding:2px 8px 3px;font-size:12px;font-weight:700;line-height:1.35}.upgrade-preview .card{outline:3px solid #c9702a;box-shadow:0 14px 34px #000c,inset 0 1px #fff}.seed-copy{color:inherit;font:inherit;cursor:pointer;background:#00000026;border:1px solid #ffffff26;border-radius:6px;padding:1px 8px}.seed-copy:hover{background:#00000047;border-color:#ffffff59}.comp-backdrop{z-index:69;pointer-events:auto;background:#00000073;position:absolute;inset:0}.compendium{z-index:70;pointer-events:auto;background:#18120af7;border:2px solid #c9a227;border-radius:14px;flex-direction:column;display:flex;position:absolute;inset:64px 90px 44px;box-shadow:0 12px 44px #0009}.compendium .comp-head{border-bottom:1px solid #fff2;align-items:center;gap:18px;padding:12px 18px;display:flex}.compendium .comp-title{color:#ffd35c;font-size:20px;font-weight:800}.compendium .comp-upg{color:#f3e9d2;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:flex}.compendium .comp-close{margin-left:auto}.compendium .comp-body{flex:1;padding:12px 18px 18px;overflow-y:auto}.compendium .comp-section{align-items:baseline;gap:12px;margin:14px 0 8px;display:flex}.compendium .comp-pool{color:#ffd35c;font-size:17px;font-weight:700}.compendium .comp-note{color:#b9ab8a;font-size:12px}.compendium .comp-grid{flex-wrap:wrap;gap:10px;display:flex}.hud .btn,.hud-floor,.hud-fish,.hud-relics,.hud-potions{white-space:nowrap;flex:none}.hud .hud-seed{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.copy-box{box-sizing:border-box;border:2px solid var(--ink);word-break:break-all;resize:none;border-radius:8px;width:100%;height:220px;margin:8px 0;padding:8px;font-family:monospace;font-size:12px;line-height:1.4}.copy-hint{text-align:center;font-size:14px}#stage[data-screen=map]{background-color:#14100c}.map-bg{background-color:#2b2420;background-image:linear-gradient(#1b2440,#3a3128 45%,#6b543a);background-position:50%;background-size:cover;animation:6.9s ease-in-out infinite map-torchlight;position:absolute;inset:0}.map-scroll{scrollbar-width:thin;scrollbar-color:#ffecbe59 transparent;cursor:grab;width:1280px;height:664px;position:absolute;top:56px;left:0;overflow:hidden auto}.map-scroll.dragging{cursor:grabbing}.map-scroll::-webkit-scrollbar{width:8px}.map-scroll::-webkit-scrollbar-track{background:0 0}.map-scroll::-webkit-scrollbar-thumb{background:#ffecbe4d;border-radius:4px}.map-scroll::-webkit-scrollbar-thumb:hover{background:#ffecbe80}.map-inner{width:1280px;position:relative}.map-edges{pointer-events:none;width:1280px;position:absolute;inset:0}@keyframes map-torchlight{0%,to{filter:brightness()}19%{filter:brightness(1.06)saturate(1.04)}36%{filter:brightness(.98)}58%{filter:brightness(1.045)saturate(1.03)}79%{filter:brightness(1.02)}}.map-edges path{fill:none;stroke:#ffeec821;stroke-width:3px;stroke-linecap:round}.map-edges path.walked{stroke:#ffe6a0f7;stroke-width:5.5px;filter:drop-shadow(0 0 5px #ffd35cd9)drop-shadow(0 0 12px #ffbe4673)}.map-paw{opacity:.22;animation:2.4s ease-in-out infinite paw-step}@keyframes paw-step{0%,to{opacity:.22}12%{opacity:.78}26%{opacity:.4}40%{opacity:.22}}.map-floor-label{text-align:right;color:#fff0d29e;text-shadow:0 1px 3px #000000e6;width:66px;height:24px;font-size:16px;line-height:24px;position:absolute;left:214px}.map-node{width:64px;height:64px;font:inherit;opacity:.62;cursor:default;filter:drop-shadow(0 0 2px #ffeec873);background:0 0;border:none;padding:0;position:absolute}.map-node img{object-fit:contain;width:100%;height:100%;display:block}.map-node.past{opacity:.3;filter:grayscale(.75)drop-shadow(0 0 2px #000c)}.map-node.cleared{opacity:.72;filter:grayscale(.2)drop-shadow(0 0 3px #ffd35c73)}.map-node.cleared:after{content:"✓";color:#eaffea;text-align:center;background:#2e7d32;border:2px solid #1b4d1e;border-radius:50%;width:20px;height:20px;font-size:13px;font-weight:900;line-height:18px;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 5px #0000008c}.map-node.current{opacity:1;filter:drop-shadow(0 0 5px #ff9632e6)}.map-node.current:before{content:"";pointer-events:none;border:3px solid #ff9a3c;border-radius:50%;position:absolute;inset:-9px;box-shadow:0 0 10px #ff9a3cb3,inset 0 0 8px #ff9a3c59}.map-hero{object-fit:contain;object-position:center bottom;pointer-events:none;z-index:2;filter:drop-shadow(0 2px 4px #000000bf);width:52px;height:52px;animation:2.8s ease-in-out infinite map-hero-breathe;position:absolute}@keyframes map-hero-breathe{0%,to{translate:0}50%{translate:0 -2px}}.map-hero.flip{scale:-1 1}.map-node.choice{opacity:1;cursor:pointer;filter:drop-shadow(0 0 5px #ffdc78f2)drop-shadow(0 0 12px #ffc85099);animation:1.2s ease-in-out infinite map-pulse}.map-node.choice:hover{filter:drop-shadow(0 0 7px #fff0c0)drop-shadow(0 0 16px #ffd264cc)}@keyframes map-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.map-hint{color:#f6efe3;text-shadow:0 1px 3px #0009;font-size:18px;position:absolute;bottom:16px;right:24px}.map-node.t-塔主{width:110px;height:128px;margin-top:-58px;margin-left:-23px}.map-node.t-塔主 img{object-position:center bottom}.map-mod{color:#2b2118;white-space:nowrap;pointer-events:none;background:linear-gradient(#f2d693,#d3a552);border:1.5px solid #2b2118;border-radius:7px;padding:1px 6px 2px;font-size:11px;font-weight:700;line-height:1.2;position:absolute;top:62px;left:50%;transform:translate(-50%)}.map-node.past .map-mod,.map-node.cleared .map-mod{display:none}.combat{position:absolute;inset:0;overflow:hidden}.battle-bg{background-color:#221c17;background-image:radial-gradient(circle at 50% 24%,#4c4136 0%,#2a231c 58%,#171310 100%);background-position:bottom;background-size:cover;animation:5.7s ease-in-out infinite torchlight;position:absolute;inset:0}.battle-bg:after{content:"";pointer-events:none;background:radial-gradient(60% 45% at 30% 8%,#ff9c3a2e 0%,#0000 70%),radial-gradient(55% 42% at 88% 10%,#ffb0482b 0%,#0000 72%);animation:4.3s ease-in-out infinite torchglow;position:absolute;inset:0}@keyframes torchglow{0%,to{opacity:.85;transform:translateY(0)scale(1)}23%{opacity:1;transform:translateY(-4px)scale(1.03)}46%{opacity:.7;transform:translateY(2px)scale(.985)}71%{opacity:.95;transform:translateY(-2px)scale(1.015)}}@keyframes torchlight{0%,to{filter:brightness()saturate()}17%{filter:brightness(1.055)saturate(1.05)}31%{filter:brightness(.985)saturate(.99)}52%{filter:brightness(1.04)saturate(1.03)}63%{filter:brightness(1.005)}81%{filter:brightness(1.07)saturate(1.06)}}.combat .motes{z-index:1;pointer-events:none;opacity:.5;position:absolute;inset:0}.combat .motes i{background-repeat:repeat;display:block;position:absolute;inset:-10%}.combat .motes i:first-child{background-image:radial-gradient(circle,#ffe9c0cc 1px,#0000 1.6px);background-size:190px 150px;animation:41s linear infinite mote-drift-a}.combat .motes i:nth-child(2){background-image:radial-gradient(circle,#ffdca899 1.4px,#0000 2.2px);background-size:270px 210px;animation:63s linear infinite mote-drift-b}.combat .motes i:nth-child(3){background-image:radial-gradient(circle,#fff4d766 2px,#0000 3px);background-size:410px 330px;animation:89s linear infinite mote-drift-c}@keyframes mote-drift-a{to{transform:translate(190px,-150px)}}@keyframes mote-drift-b{to{transform:translate(-270px,-210px)}}@keyframes mote-drift-c{to{transform:translate(140px,-330px)}}.target-catcher{z-index:1;cursor:crosshair;position:absolute;inset:0}.combat .field{z-index:2;pointer-events:none;width:1280px;height:414px;position:absolute;top:56px;left:0}.combat .unit{text-align:center;pointer-events:auto;width:190px;transition:left .26s cubic-bezier(.3,.8,.4,1);position:absolute;bottom:0}.combat .unit.player{width:240px;left:30px}.combat .sprite{object-fit:contain;object-position:center bottom;transform-origin:bottom;object-position:center bottom;width:240px;height:300px;margin:0 auto;animation:2.6s ease-in-out infinite idle-breathe;display:block}.combat .unit.player .sprite{width:270px;height:300px}.combat .unit.size-small .sprite{width:130px;height:150px}.combat .unit.size-medium .sprite{width:180px;height:210px}.combat .unit.size-large .sprite{width:230px;height:280px}.combat .unit.enemy[data-id=armadillo_pup] .sprite{width:150px;height:150px}.combat .unit.enemy[data-id=mirror_qiuqiu] .sprite{object-position:calc(50% + 14px) bottom;width:290px;height:262px}.combat .unit.enemy[data-id=mirror_qiuqiu] .ground-shadow{margin-left:14px}.combat .unit .learned{transform-origin:100% 100%;z-index:6;pointer-events:none;gap:8px;margin-right:-14px;animation:.22s ease-out both learned-pop;display:flex;position:absolute;bottom:30%;right:100%;transform:scale(.72)rotate(-6deg)}.combat .unit .learned .card{box-shadow:0 8px 20px #000a}@keyframes learned-pop{0%{opacity:0;transform:scale(.3)rotate(-14deg)}to{opacity:1;transform:scale(.72)rotate(-6deg)}}.combat .unit .name{white-space:nowrap;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000;font-size:15px;font-weight:700}.combat .unit.targetable{cursor:pointer;filter:drop-shadow(0 0 8px #ffd35c)drop-shadow(0 0 16px #ffd35c)}.combat .unit.gone:not(.dead):not(.falling){opacity:0;pointer-events:none}.combat .unit.gone.falling,.combat .unit.reviving{pointer-events:none}.combat .unit.reviving .sprite{opacity:.38;filter:grayscale()brightness(.25)blur(1px);transition:opacity .3s,filter .3s;translate:0 10px;scale:1 .9}.combat .unit.reviving .ground-shadow{opacity:.25}.combat .unit.reviving .name{opacity:.55}.combat .unit.reviving .hpbar{visibility:hidden}.combat .hpbar{box-sizing:border-box;color:#fff;background:#3a2a22;border:2px solid #2b2118;border-radius:9px;width:92%;height:18px;margin:2px auto 0;font-size:12px;line-height:14px;position:relative;overflow:hidden}.combat .hpbar-ghost{background:#ffd9a0;height:100%;position:absolute;top:0;left:0}.combat .hpbar-fill{background:#d9534f;height:100%;transition:width .38s ease-out;position:absolute;top:0;left:0}.combat .hpbar span{text-shadow:0 1px 1px #000;position:relative}.combat .chips{flex-wrap:wrap;justify-content:center;gap:3px;min-height:24px;margin-top:3px;display:flex}.combat .chip{color:#2b2118;background:linear-gradient(#fbf6ec,#ebdfc9);border:1.5px solid #3a2a1c;border-radius:6px;align-items:center;gap:2px;padding:1px 5px;font-size:12px;line-height:16px;display:flex;box-shadow:0 1px 2px #00000047}.combat .chip img{width:16px;height:16px}.combat .chip b{font-weight:400}.combat .chip.good{background:linear-gradient(#e9f7e1,#c6e7b8)}.combat .chip.bad{background:linear-gradient(#fce3e0,#f2c4bf)}.combat .chip.block{color:#fff;background:linear-gradient(#6ba6e2,#2e6db4)}.combat .unit.player .chip{padding:2px 7px;font-size:13px}.combat .unit.player .chip img{width:19px;height:19px}.combat .chip.up{animation:.5s ease-out chip-up}.combat .chip.up.good{animation-name:chip-up-good}.combat .chip.up.bad{animation-name:chip-up-bad}@keyframes chip-up{0%{transform:scale(.6)}40%{transform:scale(1.35);box-shadow:0 0 0 4px #ffebb4cc}to{transform:scale(1)}}@keyframes chip-up-good{0%{transform:scale(.6)}40%{transform:scale(1.35);box-shadow:0 0 0 4px #96eb82d9}to{transform:scale(1)}}@keyframes chip-up-bad{0%{transform:scale(.6)}40%{transform:scale(1.35);box-shadow:0 0 0 4px #ff8278d9}to{transform:scale(1)}}.combat .chip.block.gain{animation:.55s ease-out block-pop}@keyframes block-pop{0%{transform:scale(1)}35%{transform:scale(1.55);box-shadow:0 0 0 4px #78beffbf}to{transform:scale(1)}}.combat .unit.enemy .intent.changed{animation-name:intent-flip;animation-duration:.42s;animation-timing-function:ease-out}.combat .unit.enemy .i-attack.changed{animation-name:intent-flip,intent-throb;animation-duration:.42s,1.15s;animation-timing-function:ease-out,ease-in-out;animation-iteration-count:1,infinite}@keyframes intent-flip{0%{filter:brightness();rotate:x 0deg}45%{filter:brightness(1.5);rotate:x 84deg}to{filter:brightness();rotate:x 0deg}}.combat .intent{bottom:calc(var(--drawn-h,50%) + 8px);z-index:6;white-space:nowrap;color:#fff;text-shadow:0 1px 2px #0000009e;border:2.5px solid #2b2118;border-radius:8px;padding:2px 11px 3px;font-size:14px;font-weight:700;display:inline-block;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px #00000042,inset 0 1px #ffffff59,inset 0 -2px 4px #0000002e}.combat .i-attack{border-image-source:var(--ui-intent-attack);background:linear-gradient(#e06a5c,#b8342a);animation:1.15s ease-in-out infinite intent-throb}@keyframes intent-throb{0%,to{scale:1;box-shadow:0 3px 8px #00000080,0 0 #ff6a6a00}50%{scale:1.07;box-shadow:0 3px 8px #00000080,0 0 0 3px #ff6a6a3d}}.combat .intent[class*=i-]{border-image-slice:34% 22% 30% fill;border-image-width:12px 9px 11px;border-image-repeat:stretch}.combat .i-block{border-image-source:var(--ui-intent-block);background:linear-gradient(#5b9bde,#2e6db4)}.combat .i-buff{border-image-source:var(--ui-intent-buff);background:linear-gradient(#e0a63c,#b87515)}.combat .i-debuff{border-image-source:var(--ui-intent-debuff);background:linear-gradient(#a86fd0,#7a3fae)}.combat .i-special,.combat .i-summon{border-image-source:var(--ui-intent-special);background:linear-gradient(#d8a13c,#a86d12)}.combat .i-idle{border-image-source:var(--ui-intent-idle);background:linear-gradient(#8d8578,#6b6459);box-shadow:0 2px #00000042,inset 0 1px #fff3}.combat .side{z-index:3;color:#fff;text-shadow:0 1px 2px #000;width:220px;position:absolute;top:496px;left:16px}.combat .energy{align-items:center;gap:5px;font-size:17px;display:flex}.combat .pip{box-sizing:border-box;background:#6b5a48;border:3px solid #2b2118;border-radius:50%;width:30px;height:30px}.combat .pip.full{background:#ffe9a8}.combat .potions{gap:6px;margin-top:8px;display:flex}.combat .potion{box-sizing:border-box;text-align:center;background:#00000059;border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.combat .potion.empty{background:0 0;border:2px dashed #ffffff59}.combat .potion.locked{opacity:.75;background:#00000040;border:2px dashed #fff3;justify-content:center;align-items:center;font-size:18px;display:flex}.combat .potion img{width:42px;height:42px}.combat .potion.not-ready{filter:grayscale(.85)brightness(.7)}.combat .potion.not-ready img{opacity:.8}.combat .potion b{font-size:11px;line-height:1.1}.combat .potion.usable{cursor:pointer;box-shadow:0 0 0 2px #ffd35c}.combat .piles{flex-direction:column;gap:1px;margin-top:10px;font-size:14px;display:flex}.combat .hand{z-index:3;pointer-events:none;justify-content:center;align-items:flex-end;width:840px;height:213px;display:flex;position:absolute;top:476px;left:250px}.combat .hand .card{pointer-events:auto;will-change:transform;backface-visibility:hidden;transition:transform .12s ease-out;animation:3.8s ease-in-out infinite card-idle}.combat .hand .card:nth-child(2){animation-delay:-.5s}.combat .hand .card:nth-child(3){animation-delay:-1s}.combat .hand .card:nth-child(4){animation-delay:-1.6s}.combat .hand .card:nth-child(5){animation-delay:-2.2s}.combat .hand .card:nth-child(6){animation-delay:-2.7s}.combat .hand .card:nth-child(7){animation-delay:-3.2s}.combat .hand .card:hover,.combat .hand .card.nope,.card.flying{animation:none}.combat .hand .card.dragging{cursor:grabbing;filter:drop-shadow(0 12px 20px #0000008c);opacity:.86;scale:.92}@keyframes card-idle{0%,to{translate:0;rotate:0deg}50%{translate:0 -3px;rotate:.4deg}}.combat .hand .card:hover{z-index:50!important;transform:translateY(-46px)scale(1.06)!important}.combat .hand.collecting .card,.combat .hand .card.no-touch{pointer-events:none}.combat .end-turn{z-index:3;position:absolute;top:560px;right:20px}.combat .end-undo,.combat .end-force{z-index:3;padding:5px 12px;font-size:12.5px;position:absolute;right:20px}.combat .end-undo{top:612px}.combat .end-force{top:654px}.combat .log{z-index:3;color:#fff;text-shadow:0 1px 2px #000;opacity:.85;width:250px;font-size:12.5px;line-height:1.5;position:absolute;top:64px;left:16px}.combat .target-hint{z-index:6;pointer-events:none;border:2px solid var(--ink);white-space:nowrap;background:#ffd35c;border-radius:10px;padding:5px 16px;font-size:17px;position:absolute;top:444px;left:50%;transform:translate(-50%)}.combat .target-hint.warn{z-index:51;background:#ffd8d0;top:370px}#stage[data-screen=combat] .toast~.toast{top:116px}#stage[data-screen=combat]:has(.tut-bar) .toast{top:118px}#stage[data-screen=combat]:has(.tut-bar) .toast~.toast{top:174px}.pick-count{margin-right:12px;font-size:16px;display:inline-block}#stage[data-screen=combat] .hud-hp,#stage[data-screen=combat] .hud-potions{display:none}.combat .sprite-box{position:relative}.combat .ground-shadow{pointer-events:none;background:radial-gradient(#00000080 0%,#0000004d 52%,#0000 76%);border-radius:50%;width:58%;height:17px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.combat .unit.gone .ground-shadow{opacity:0}.combat .unit.enemy.airborne .sprite-box{transition:translate .32s cubic-bezier(.3,.8,.4,1);translate:0 -46px}.combat .unit.enemy.airborne .ground-shadow{opacity:.55;transition:translate .32s cubic-bezier(.3,.8,.4,1),opacity .32s ease-out;translate:0 46px}.combat.shaken{animation:.3s ease-out screen-shake}@keyframes screen-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px,3px)}35%{transform:translate(6px,-3px)}55%{transform:translate(-4px,2px)}80%{transform:translate(2px,-1px)}}.card.flying{z-index:45;pointer-events:none;margin:0;position:absolute}.combat .hand .card.nope{animation:.34s ease-out card-nope}@keyframes card-nope{0%,to{margin-left:var(--nope-m,0)}20%{transform:translate(-9px)rotate(-2deg)}45%{transform:translate(8px)rotate(2deg)}70%{transform:translate(-4px)}}@keyframes idle-breathe{0%,to{transform:scaleY(1)scaleX(1)rotate(0)}28%{transform:scaleY(1.035)scaleX(.988)rotate(-.5deg)}50%{transform:scaleY(1.05)scaleX(.982)rotate(0)}76%{transform:scaleY(1.028)scaleX(.99)rotate(.5deg)}}.combat .unit.attack .sprite{animation:.52s ease-out lunge}.combat .unit.enemy.attack .sprite{animation:.52s ease-out lunge-left}.combat .unit.enemy.cast .sprite{animation:.52s ease-out cast-pop}@keyframes cast-pop{0%{filter:none;transform:scaleY(1)scaleX(1)}30%{filter:brightness(1.15);transform:scaleY(.88)scaleX(1.08)}60%{filter:brightness(1.45)drop-shadow(0 0 12px #ffe9a8);transform:scaleY(1.08)scaleX(.96)translateY(-10px)}to{filter:none;transform:scaleY(1)scaleX(1)}}.combat .unit.enemy.telegraph .intent{transition:transform .16s ease-out,box-shadow .16s ease-out;transform:translate(-50%)scale(1.25);box-shadow:0 0 14px 3px #ffd97a,0 0 26px #ffb84a80}.combat .unit.enemy.telegraph .sprite{animation:.32s ease-out forwards telegraph-crouch}@keyframes telegraph-crouch{0%{filter:none;transform:scaleY(1)scaleX(1)}to{filter:brightness(1.12)drop-shadow(0 0 10px #ffd97a66);transform:scaleY(.9)scaleX(1.06)}}.combat .unit.hit .sprite{filter:brightness(1.5)sepia()saturate(6)hue-rotate(-35deg);animation:.4s shake}.combat .unit.enemy.cast.hit .sprite{animation:.52s ease-out cast-pop-hit}@keyframes cast-pop-hit{0%{filter:brightness(1.5)sepia()saturate(6)hue-rotate(-35deg);transform:scaleY(1)scaleX(1)}30%{filter:brightness(1.62)sepia()saturate(6)hue-rotate(-35deg);transform:scaleY(.88)scaleX(1.08)}60%{filter:brightness(1.75)sepia()saturate(6)hue-rotate(-35deg);transform:scaleY(1.08)scaleX(.96)translateY(-10px)}to{filter:brightness(1.5)sepia()saturate(6)hue-rotate(-35deg);transform:scaleY(1)scaleX(1)}}.combat .unit.dodge .sprite{animation:.5s ease-out dodge}.combat .unit.dead{animation:.8s ease-in forwards dissolve}.combat .num{z-index:6;color:#ffec99;text-shadow:0 2px 3px #000,0 0 7px #000,0 0 14px #000c;pointer-events:none;font-size:40px;font-weight:700;animation:1.1s cubic-bezier(.2,.9,.3,1.1) forwards float;position:absolute;top:28%;left:50%;transform:translate(-50%)}@keyframes lunge{0%{transform:translate(0)scale(1)}12%{transform:translate(-10px)scaleX(.94)scaleY(1.05)}32%{transform:translate(64px)scaleX(1.08)scaleY(.95)}46%{transform:translate(52px)scaleX(.97)scaleY(1.02)}to{transform:translate(0)scale(1)}}@keyframes lunge-left{0%{transform:translate(0)scale(1)}12%{transform:translate(10px)scaleX(.94)scaleY(1.05)}32%{transform:translate(-64px)scaleX(1.08)scaleY(.95)}46%{transform:translate(-52px)scaleX(.97)scaleY(1.02)}to{transform:translate(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}14%{transform:translate(-13px)rotate(-2deg)}32%{transform:translate(11px)rotate(1.6deg)}50%{transform:translate(-7px)rotate(-1deg)}68%{transform:translate(5px)rotate(.6deg)}84%{transform:translate(-2px)}}@keyframes dodge{40%{opacity:.3;transform:translate(-52px)}to{opacity:1;transform:none}}@keyframes dissolve{0%{opacity:1;filter:none;transform:translateY(0)scale(1)}45%{opacity:.85;filter:grayscale(.6)brightness(1.35)}to{opacity:0;filter:grayscale()brightness(1.7)blur(6px);transform:translateY(10px)scale(.94)}}@keyframes float{0%{opacity:0;transform:translate(-50%,10px)scale(.5)rotate(-8deg)}14%{opacity:1;transform:translate(-50%,-8px)scale(1.45)rotate(4deg)}26%{opacity:1;transform:translate(-50%,-14px)scale(1)rotate(-2deg)}60%{opacity:1;transform:translate(-50%,-34px)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-78px)scale(.92)}}.combat .hand .card.dealt{animation:3.8s ease-in-out infinite card-idle,.44s cubic-bezier(.22,.85,.3,1.02) backwards card-deal}.combat .hand .card.dragging{animation:none}@keyframes card-deal{0%{opacity:0;translate:var(--deal-dx) var(--deal-dy);rotate:-22deg;scale:.55}20%{opacity:1}to{opacity:1;translate:0;rotate:0deg;scale:1}}.combat .target-arrow{pointer-events:none;z-index:40;width:1280px;height:720px;position:absolute;inset:0}.combat .arrow-outline{fill:none;stroke:#1d140ccc;stroke-width:10px;stroke-linecap:round}.combat .arrow-line{fill:none;stroke:#ff9c8c;stroke-width:4.5px;stroke-linecap:round;stroke-dasharray:14 10;animation:.55s linear infinite arrow-flow}@keyframes arrow-flow{to{stroke-dashoffset:-24px}}.combat .arrow-head{fill:#ff9c8c;stroke:#1d140ccc;stroke-width:2.5px;stroke-linejoin:round}.combat .arrow-tip{fill:none;stroke:#ff9c8c;stroke-width:3px;opacity:0}.combat .target-arrow.snap .arrow-line{stroke:#ffd6cc;stroke-width:5.5px}.combat .target-arrow.snap .arrow-head{fill:#ffd6cc}.combat .target-arrow.snap .arrow-tip{opacity:.9;animation:.8s ease-out infinite arrow-tip-pulse}@keyframes arrow-tip-pulse{0%{r:12;opacity:.95}to{r:30;opacity:0}}.vfx{z-index:5;object-fit:contain;pointer-events:none;transform-origin:50%;animation:.46s ease-out forwards vfx-pop;position:absolute;left:50%}@keyframes vfx-pop{0%{opacity:0;transform:translate(-50%, 50%) rotate(var(--vfx-rot,0deg)) scale(.45)}22%{opacity:var(--vfx-peak,1);transform:translate(-50%, 50%) rotate(var(--vfx-rot,0deg)) scale(1.12)}45%{opacity:var(--vfx-peak,1);transform:translate(-50%, 50%) rotate(var(--vfx-rot,0deg)) scale(1)}to{opacity:0;transform:translate(-50%, 50%) rotate(var(--vfx-rot,0deg)) scale(1.18)}}.combat .energy .eaten{animation:.42s ease-out onigiri-eaten}.combat .energy .refill{animation:.38s cubic-bezier(.2,.9,.3,1.35) both onigiri-refill}@keyframes onigiri-refill{0%{opacity:1;filter:brightness(1.7)saturate(1.3);transform:translateY(8px)scale(.45)}55%{opacity:1;filter:brightness(1.35)saturate(1.2);transform:translateY(0)scale(1.18)}to{opacity:1;filter:none;transform:translateY(0)scale(1)}}@keyframes onigiri-eaten{0%{filter:brightness(1.8)saturate(1.4);transform:scale(1.3)}45%{filter:brightness(1.15);transform:scale(.78)}to{filter:none;transform:scale(1)}}.tut-bar{color:#f3e9d2;z-index:30;background:#14100ae0;border:1px solid #c9a227;border-radius:10px;align-items:center;gap:10px;max-width:760px;padding:8px 14px;font-size:15px;line-height:1.5;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000073}.tut-bar .tut-step{color:#241c0d;background:#c9a227;border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:700}.tut-bar .tut-close{color:#b9ab8a;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px;font-size:14px}.tut-bar .tut-close:hover{color:#fff}.combat.phase-flash:after{content:"";z-index:40;pointer-events:none;background:radial-gradient(circle at 62% 40%,#fffffff2,#fff4d659 45%,#0000 75%);animation:.8s ease-out forwards phase-flash;position:absolute;inset:0}@keyframes phase-flash{0%{opacity:1}to{opacity:0}}.combat .unit.phase-pulse .sprite{animation:.9s ease-out phase-pulse}@keyframes phase-pulse{0%{filter:none;transform:scale(1)}30%{filter:brightness(1.6)drop-shadow(0 0 24px #ffdc78e6);transform:scale(1.16)}to{filter:none;transform:scale(1)}}.combat.player-hurt:before{content:"";z-index:39;pointer-events:none;animation:.5s ease-out forwards hurt-vignette;position:absolute;inset:0;box-shadow:inset 0 0 90px 30px #c81e1e8c}@keyframes hurt-vignette{0%{opacity:1}to{opacity:0}}.vs-overlay{z-index:60;cursor:pointer;background:#0c0804d1;justify-content:center;align-items:center;gap:48px;animation:.25s ease-out vs-in,.3s ease-in 1.1s forwards vs-out;display:flex;position:absolute;inset:0}@keyframes vs-in{0%{opacity:0}to{opacity:1}}@keyframes vs-out{to{opacity:0}}.vs-overlay img{filter:drop-shadow(0 10px 24px #0009);height:380px}.vs-overlay .vs-left{animation:.45s cubic-bezier(.2,.9,.3,1.2) vs-slam-l}.vs-overlay .vs-right{animation:.45s cubic-bezier(.2,.9,.3,1.2) vs-slam-r}@keyframes vs-slam-l{0%{opacity:0;transform:translate(-320px)}to{opacity:1;transform:translate(0)}}@keyframes vs-slam-r{0%{opacity:0;transform:translate(320px)}to{opacity:1;transform:translate(0)}}.vs-overlay .vs-mark{color:#ffd35c;text-shadow:0 4px #7a4a00,0 0 34px #ffbe3ccc;font-size:84px;font-weight:900;animation:.5s cubic-bezier(.2,1.6,.4,1) vs-mark-pop}@keyframes vs-mark-pop{0%{opacity:0;transform:scale(3)}to{opacity:1;transform:scale(1)}}.vs-overlay .vs-banner{color:#f3e9d2;text-shadow:0 2px 6px #000c;align-items:baseline;gap:26px;font-size:30px;font-weight:800;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.vs-overlay .vs-boss{color:#ff9d6c}.combat.crowd .unit .chip{gap:2px;padding:1px 5px;font-size:10px}.combat.crowd .unit .chip img{width:12px;height:12px}.combat.crowd .unit .name{font-size:13px}.combat .num.blocked{color:#8fc4ff;text-shadow:0 2px #123,0 0 10px #1a3a6a;font-size:32px}.combat .num.heal{color:#9be37a;text-shadow:0 2px #1d3a12,0 0 10px #2f6a1f;font-size:34px}.combat .num.thorn{color:#d9a3ff;text-shadow:0 2px #3a1a4a,0 0 10px #6a2a8a;font-size:30px;top:16%}.combat .unit.enemy.phase-1 .sprite-box{filter:drop-shadow(0 0 14px #ff5a28cc)drop-shadow(0 0 4px #ff3c14e6)}.combat .unit.enemy.phase-2 .sprite-box{filter:drop-shadow(0 0 18px #a046ffe6)drop-shadow(0 0 5px #5a14c8)contrast(1.08)}.combat .unit.enemy.master.secluding .sprite{animation:4.4s ease-in-out infinite idle-breathe,1.6s ease-in-out infinite seclude-glow}@keyframes seclude-glow{0%,to{filter:drop-shadow(0 0 10px #ffc85a8c)brightness()}50%{filter:drop-shadow(0 0 26px #ffdc78)drop-shadow(0 0 8px #ffb43ce6)brightness(1.12)}}.combat .unit.enemy.drag-over .sprite-box{filter:drop-shadow(0 0 10px #ff5a3cf2)drop-shadow(0 0 3px #ff2814)}.combat .unit.enemy.drag-over .name{color:#ffd9cc;text-shadow:0 0 8px #ff4628e6}.combat .unit.enemy.master .sprite-box{justify-content:center;display:flex}.combat .unit.enemy.master .sprite{width:320px;height:320px;margin:0}.combat .unit.enemy.master.phase-1 .sprite{width:340px;height:340px}.combat .unit.enemy.master.phase-2 .sprite{width:350px;height:350px}.combat .unit.enemy.master .intent{bottom:min(calc(var(--drawn-h,50%) + 6px), 310px)}.combat .intent[class*=i-]{color:#fff3d6;text-shadow:0 1px 2px #000c;border:1.5px solid #ffd98a99;border-radius:9px;box-shadow:0 3px 8px #00000080,inset 0 1px #ffffff1f}.combat .i-attack{background:linear-gradient(#c23a2ee8,#7a1f17f2)}.combat .i-block{background:linear-gradient(#3273bde8,#1c4a80f2)}.combat .i-buff{background:linear-gradient(#c07d16e8,#7a4a0af2)}.combat .i-debuff{background:linear-gradient(#8348b8e8,#4a2270f2)}.combat .i-special,.combat .i-summon{background:linear-gradient(#b8761ae8,#6d4408f2)}.combat .i-idle{background:linear-gradient(#6f685ce8,#3f3a33f2);box-shadow:0 3px 8px #00000080,inset 0 1px #ffffff14}#stage[data-screen=combat] .toast{color:#2b2118;background:#fffdf6;border:2px solid #2b2118;border-radius:16px;padding:8px 18px;font-size:19px;animation:.26s cubic-bezier(.2,.9,.3,1.2) bubble-in;top:62px;left:200px;transform:none;box-shadow:0 4px 12px #00000080}#stage[data-screen=combat] .toast b{color:#7a3d15}#stage[data-screen=combat] .toast:before{content:"";border:12px solid #0000;border-top:14px solid #2b2118;border-bottom:0;position:absolute;bottom:-14px;left:22px}#stage[data-screen=combat] .toast:after{content:"";border:9px solid #0000;border-top:11px solid #fffdf6;border-bottom:0;position:absolute;bottom:-9px;left:25px}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:none}}.combat .unit .sprite-box{justify-content:center;display:flex}.combat .sprite{margin:0}.combat .target-hint{color:#ffd98a;text-shadow:0 1px 2px #000c;background:linear-gradient(#2c1d12e6,#140c07f2);border:1.5px solid #ffd98a8c;box-shadow:0 4px 12px #00000080}.combat .target-hint.warn{color:#ffb3a3;background:linear-gradient(#5a1a12e6,#2a0a06f2);border-color:#ff8a6a99}#stage[data-screen=combat] .toast.bubble-at{left:auto}#stage[data-screen=combat] .toast.bubble-at.tail-right:before{left:auto;right:22px}#stage[data-screen=combat] .toast.bubble-at.tail-right:after{left:auto;right:25px}.combat .log{opacity:1;background:linear-gradient(90deg,#00000073,#0000);border-radius:8px;width:300px;padding:6px 10px 6px 8px;font-size:13.5px}.combat .side{top:486px}.combat .energy{font-size:15px}.combat .energy img{width:30px;height:30px}.combat .piles{grid-template-columns:1fr 1fr;gap:0 6px;margin-top:6px;font-size:13px;display:grid}.combat .piles span:first-child{grid-column:1/-1}.combat .log{box-sizing:border-box;opacity:1;background:linear-gradient(#1a120ccc,#0d0806d9);border:1px solid #ffd98a55;border-radius:8px;flex-direction:column;justify-content:flex-end;width:216px;max-height:86px;padding:5px 8px;font-size:12.5px;line-height:1.32;display:flex;top:auto;bottom:6px;left:16px;overflow:hidden}.combat .piles .pile-btn{cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted #d8c08a;text-decoration:underline dotted #d8c08a}.combat .piles .pile-btn:hover{color:#ffd98a}.combat .chip.power{border-style:dashed}.combat .unit.enemy.boss .sprite{animation-duration:4.4s}.combat .unit.enemy.boss.asleep .sprite-box:after{content:"Zzz";color:#d6e8ff;text-shadow:0 2px 4px #000a;pointer-events:none;font:900 26px/1 system-ui,sans-serif;animation:2.4s ease-in-out infinite zzz-float;position:absolute;top:2%;right:6%}@keyframes zzz-float{0%{opacity:0;transform:translateY(8px)scale(.8)}30%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.15)}}.combat .unit.enemy.boss-fall .sprite{animation:1.7s cubic-bezier(.3,.7,.4,1) forwards boss-fall}@keyframes boss-fall{0%,20%{filter:brightness(2.6)saturate(0);transform:none}24%{filter:none}to{opacity:0;filter:grayscale()brightness(.55);transform:translateY(46px)rotate(-16deg)scale(.96)}}.combat .unit.enemy.boss-fall .ground-shadow,.combat .unit.enemy.boss-fall .name,.combat .unit.enemy.boss-fall .chips,.combat .unit.enemy.boss-fall .hpbar,.combat .unit.enemy.boss-fall .intent{opacity:0;transition:opacity .5s}.combat .unit.enemy.boss-fall .sprite-box:after{display:none}.combat .unit.enemy.boss-fall{pointer-events:none}.combat .unit.enemy.boss-fall.downed .sprite{animation:1.7s ease-out forwards boss-fall-down}@keyframes boss-fall-down{0%,20%{filter:brightness(2.6)saturate(0)}24%{filter:none}70%{opacity:1;filter:none}to{opacity:0;filter:grayscale()brightness(.55)}}.combat .unit.enemy.downed.dead{animation:.8s ease-in forwards dissolve-down}.combat .unit.enemy.downed .ground-shadow{opacity:.45;width:125%}.combat .unit.enemy.boss-fall.downed .ground-shadow{width:125%;animation:1.7s ease-out forwards down-shadow}.combat .unit.enemy.downed .intent{display:none}@keyframes down-shadow{0%,70%{opacity:.45}to{opacity:0}}@keyframes dissolve-down{0%,40%{opacity:1;filter:none}to{opacity:0;filter:grayscale()brightness(1.7)blur(5px)}}.combat .boss-flash{pointer-events:none;z-index:60;background:#fff;animation:.7s ease-out forwards boss-flash;position:absolute;inset:0}@keyframes boss-flash{0%{opacity:.92}to{opacity:0}}@media (prefers-reduced-motion:reduce){.combat .boss-flash{display:none}}.combat .unit.player .chips.many{gap:2px;width:360px;margin-left:-20px}.combat .unit.player .chips.many .chip{gap:2px;padding:1px 5px;font-size:11px}.combat .unit.player .chips.many .chip img{width:14px;height:14px}.combat .unit.enemy.airborne .ground-shadow:after{content:"";background:var(--vfx-fly-wind) center bottom / contain no-repeat;pointer-events:none;width:min(100%,130px);height:56px;animation:1.1s ease-in-out infinite fly-wind;position:absolute;bottom:-2px;left:50%;translate:-50%}@keyframes fly-wind{0%,to{rotate:-4deg;scale:1}50%{rotate:4deg;scale:.9 1.06}}.combat .unit.player{width:240px}.combat .unit.player.mine .name{color:var(--accent);text-shadow:0 0 10px #0008;font-weight:700}.combat .unit.player:not(.mine) .name{opacity:.78}.combat .unit.player.ready{filter:saturate(.65)brightness(.82)}.combat .unit.player.downed{filter:saturate(.25)brightness(.6)}.combat .ready-tag{white-space:nowrap;color:#f3e6d2;filter:saturate(1.55)brightness(1.22);background:#1b1713ee;border:1px solid #fff4;border-radius:999px;padding:3px 10px;font-size:15px;position:absolute;top:-6px;left:50%;translate:-50%}.combat .ready-tag.down{background:#3a1414dd;border-color:#ff9b9b55}.screen-bg{z-index:0;background-position:50%;background-size:cover;animation:7.4s ease-in-out infinite bg-torchlight;position:absolute;inset:0}@keyframes bg-torchlight{0%,to{filter:brightness()}22%{filter:brightness(1.05)saturate(1.03)}41%{filter:brightness(.985)}64%{filter:brightness(1.035)saturate(1.02)}83%{filter:brightness(1.015)}}#stage[data-screen=title] .screen-bg{animation:22s ease-in-out infinite night-drift}@keyframes night-drift{0%,to{filter:brightness()}50%{filter:brightness(1.05)saturate(1.04)}}.screen-bg:after{content:"";background:radial-gradient(78% 82% at 50% 48%,#0a08062e 0%,#0a080657 62%,#0a080694 100%);position:absolute;inset:0}#stage[data-screen=title] .screen-bg:after{background:radial-gradient(80% 84% at 50% 46%,#0a0c181a 0%,#0a0c1842 66%,#0a0c1880 100%)}.screen{box-sizing:border-box;z-index:1;background-color:#f8f2e8f2;border:3px solid #3a2a1cb3;border-radius:16px;flex-direction:column;align-items:center;gap:14px;width:-moz-fit-content;width:fit-content;min-width:560px;max-width:1060px;height:auto;max-height:624px;padding:24px 44px;display:flex;position:absolute;top:388px;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 14px 44px #0000008c}.screen h1{margin:0;font-size:36px}.screen h2{margin:0;font-size:22px}.reward-banner{background:linear-gradient(#c9702a,#8a4a22);border:3px solid #3a2a1c;border-radius:11px;align-self:center;margin:-4px 0 0;padding:2px 30px 4px;box-shadow:0 3px #00000038,inset 0 1px #ffffff4d}.reward-banner h1{color:#fff6e2;letter-spacing:3px;text-shadow:0 2px 3px #0009;margin:0;font-size:26px}.reward-loot{background:#3a2a1c0a;border:2px solid #3a2a1c4d;border-radius:12px;align-self:stretch;margin:6px 0 0;padding:10px 14px 9px;position:relative}.reward-loot-label{color:#7a5a34;letter-spacing:3px;background:#f8f2e8;border-radius:6px;padding:1px 12px 2px;font-size:14px;position:absolute;top:0;left:22px;transform:translateY(-52%)}.reward-items{flex-wrap:wrap;align-items:stretch;gap:5px;display:flex}.reward-item{background:linear-gradient(#fffdf7,#f4ead6);border:2px solid #3a2a1c;border-left-width:6px;border-radius:10px;flex:250px;align-items:center;gap:10px;padding:5px 12px;font-size:16px;display:flex;box-shadow:inset 0 1px #fff,0 2px 4px #0000001f}.reward-item.loot{border-left-color:#c9a227}.reward-item.relic{border-left-color:#7a3fae}.reward-item.relic-offers{border-left-color:#7a3fae;flex-direction:column;align-items:stretch;gap:8px}.relic-offer-row{gap:12px;display:flex}.relic-offer{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#2a2118cc;border:2px solid #6b5a45;border-radius:10px;flex:1 1 0;align-items:center;gap:10px;padding:8px 10px;display:flex}.relic-offer:hover:not([disabled]){background:#3a2c1ecc;border-color:#ffd98a}.relic-offer[disabled]{cursor:default}.relic-offer.picked{border-color:#ffd98a;box-shadow:0 0 10px #ffd98a55}.relic-offer.got{border-color:#8fd27a}.relic-offer img{object-fit:contain;flex:none;width:44px;height:44px}.relic-offer-text{flex-direction:column;gap:2px;display:flex}.relic-offer-text em{opacity:.85;font-size:13px;font-style:normal}.relic-offer-who{color:#ffd98a;flex:none;margin-left:auto;font-size:13px}.reward-item.potion{border-left-color:#2e6db4}.reward-line{text-align:left;flex-direction:column;gap:1px;display:flex}.reward-item:has(em){flex-basis:100%}.reward-line b{font-size:16px}.reward-line em{color:#6b5a45;font-size:12.5px;font-style:normal;line-height:1.3}.reward-item img{object-fit:contain;width:28px;height:28px}.screen.reward{gap:8px;max-width:720px;max-height:648px;padding-top:14px;padding-bottom:14px}.screen.reward h2{font-size:18px}.screen.reward .btn{padding:7px 22px;font-size:16px}.reward-cards{justify-content:center;gap:20px;display:flex}.reward-cards .card{transition:transform .15s}.reward-cards .card.clickable:hover{transform:translateY(-10px)}.event-gains{align-self:center;width:100%;max-width:640px;margin-top:2px}.screen.event{gap:10px;max-height:648px;padding:14px 44px}.screen.event h1{font-size:28px}.event-art{object-fit:contain;width:350px;height:196px;margin:0 auto 2px;display:block}.event-text,.event-result{background:var(--panel);border:2px solid var(--ink);border-radius:14px;max-width:900px;margin:0;padding:14px 22px;font-size:21px;line-height:1.6}.event-note{color:var(--accent);margin:0;font-size:19px;font-weight:700}.btn.two-line{flex-direction:column;align-items:center;gap:2px;line-height:1.25;display:flex}.btn.two-line .sub{opacity:.85;font-size:.78em;font-weight:400}.event-choices,.rest-actions{flex-direction:column;align-items:stretch;gap:12px;width:560px;display:flex}.screen.shop{max-width:940px;max-height:648px;box-shadow:none;background-color:#0000;background-image:none;border:none;gap:7px;padding:10px 26px;overflow:visible}.screen.shop .shop-item{width:148px}.screen.shop .shop-item.card-item{width:auto}.shop-head{align-self:stretch;align-items:flex-end;gap:14px;margin-bottom:2px;display:flex}.shop-keeper{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 14px #000000a6);width:150px;height:196px;position:absolute;bottom:4px;right:-158px}.shop-head-text{flex-direction:column;flex:1;align-items:flex-start;gap:5px;display:flex}.shop-sign{color:#fff6e2;letter-spacing:3px;text-shadow:0 2px 3px #0009;background:linear-gradient(#c9702a,#8a4a22);border:3px solid #3a2a1c;border-radius:9px;padding:2px 22px 4px;font-size:22px;font-weight:700;box-shadow:0 3px #00000038,inset 0 1px #ffffff4d}.shop-bubble{text-align:left;background:linear-gradient(#fffdf7,#f7eede);border:2px solid #3a2a1c;border-radius:10px;align-self:flex-start;max-width:560px;padding:6px 13px 7px;font-size:15px;line-height:1.35;position:relative;box-shadow:inset 0 1px #ffffffd9,0 3px 7px -2px #00000047}.shelf{background:repeating-linear-gradient(90deg,#ffffff0a 0 2px,#0000 2px 5px,#0000000f 5px 7px,#0000 7px 13px),repeating-linear-gradient(90deg,#0000 0 46px,#0000002e 46px 48px,#ffffff14 48px 50px),linear-gradient(#69472d,#56391f 58%,#402a17);border:2px solid #3a2a1c;border-radius:10px;padding:9px 16px 14px;position:relative;box-shadow:inset 0 11px 14px -9px #000000b3,inset 7px 0 9px -7px #0000008c,inset -7px 0 9px -7px #0000008c,inset 0 0 0 1px #ffffff1a,0 5px 12px -3px #00000073}.shelf:before,.shelf:after{z-index:0}.shelf:before{content:"";background:linear-gradient(#9c6b3e,#714a28);border-radius:8px 8px 0 0;height:6px;position:absolute;top:0;left:0;right:0;box-shadow:0 2px 5px #00000059}.shelf:after{content:"";background:linear-gradient(#c08e56 0 2px,#9a6a3c 2px 6px,#7b5233 6px 100%);border-radius:0 0 8px 8px;height:14px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 1px #e8c294a6,0 -5px 9px -3px #00000073}.shelf-cards{align-self:stretch}.shelf-label{color:#fff6e2;letter-spacing:3px;text-shadow:0 1px 2px #0009;background:linear-gradient(#c9702a,#8a4a22);border:2px solid #3a2a1c;border-radius:7px;padding:1px 13px 2px;font-size:13px;position:absolute;top:0;left:18px;transform:translateY(-54%);box-shadow:0 2px #00000047,inset 0 1px #ffffff4d}.shop-shelves{align-self:center;gap:14px;display:flex}.shop-shelves>.shelf{flex-direction:column;display:flex}.shop-shelves>.shelf>.shop-row{flex:1}.shop-row{justify-content:center;align-items:stretch;gap:14px;display:flex}.shop-item{z-index:1;box-sizing:border-box;border:2px solid var(--ink);cursor:pointer;background:linear-gradient(#fffdf6,#f7ecd8 66%,#eddfc4);border-radius:10px;flex-direction:column;align-items:center;gap:3px;width:170px;padding:6px 8px 0;font-size:14px;transition:transform .12s ease-out,box-shadow .12s ease-out;display:flex;position:relative;box-shadow:inset 0 1px #ffffffd9,0 3px #2b211859,0 8px 11px -4px #00000080}.shop-row .shop-item+.shop-item:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#33240f 0 1px,#a2734a 1px 3px,#70491f 3px 5px,#33240f 5px 6px);width:6px;position:absolute;top:-9px;bottom:-2px;left:-10px;box-shadow:2px 0 5px #00000080}.shop-item:after{content:"";pointer-events:none;background:radial-gradient(#000000a6 0%,#0000 74%);border-radius:50%;height:8px;position:absolute;bottom:-8px;left:6%;right:6%}.shop-item:not(.sold):not(.poor):hover{transform:translateY(-3px);box-shadow:inset 0 1px #ffffffd9,0 3px #2b211859,0 12px 14px -4px #0009}.shop-item:not(.sold):not(.poor):hover:before{transform:translateY(3px)}.shop-item.card-item{width:auto;box-shadow:none;background:0 0;border:none;padding:0}.shop-item.card-item:not(.sold):not(.poor):hover{box-shadow:none;transform:translateY(-3px)}.shop-item img{object-fit:contain;width:40px;height:40px}.shop-item .shop-name{font-size:15px;font-weight:700}.shop-item .small{color:#5c4a35;text-align:center;font-size:11.5px;line-height:1.3}.shop-item .price{border-top:2px solid var(--ink);color:#5e3410;text-align:center;background:linear-gradient(#f5dcab,#e2bd7e);border-radius:0 0 8px 8px;align-self:stretch;margin-top:auto;margin-left:-8px;margin-right:-8px;padding:3px 0 4px;font-size:12.5px;font-weight:700}.shop-item.card-item .price{border:2px solid var(--ink);border-radius:6px;align-self:center;margin:5px 0 0;padding:1px 11px 2px;box-shadow:0 2px #2b211859}.shop-item.sold{pointer-events:none}.shop-item.sold:not(.card-item){background:linear-gradient(#efe8db,#e3dacb 66%,#d6cbb8);box-shadow:inset 0 2px 6px #00000047}.shop-item.sold>*{opacity:.45;filter:grayscale(.85)}.shop-item.sold:after{opacity:0}.shop-item.sold .price{background:linear-gradient(#ded4c4,#c9bda9)}.shop-item.poor{cursor:default}.shop-item.poor>:not(.price){opacity:.5}.shop-item.poor .price{color:#8a2f1c}.shop-actions{justify-content:center;gap:14px;margin-top:auto;display:flex}.rest-result{font-size:22px}#stage[data-screen=chest] .toast,#stage[data-screen=rest] .toast{top:320px}.screen.result{justify-content:center;gap:10px;max-height:668px;top:360px}.screen.result.lost{color:#f6efe3;background-color:#1e1813e6;border-color:#c8b49673}.result-cat{object-fit:contain;height:220px}.result-stats{font-size:20px}.result-stats.small{opacity:.7;font-size:14px}.result-relics{flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;display:flex}.result-relic img{object-fit:contain;width:40px;height:40px;display:block}.result-relic.name-only{border:2px solid;border-radius:10px;padding:3px 10px;font-size:15px}.result-actions{gap:14px;display:flex}.result-best{font-size:18px}.teaser{opacity:.85;margin:0;font-size:20px}.event-result,.rest-result{animation:.32s cubic-bezier(.2,.9,.3,1.08) backwards result-in}@keyframes result-in{0%{opacity:0;transform:translateY(14px)}}.event-note{animation:.42s cubic-bezier(.2,.9,.3,1.2) .22s backwards note-pop}@keyframes note-pop{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.reward-item{animation:.3s cubic-bezier(.2,.9,.3,1.08) backwards reward-in}@keyframes reward-in{0%{filter:brightness(1.5);transform:translateY(14px)}}.reward-item:nth-child(2){animation-delay:.11s}.reward-item:nth-child(3){animation-delay:.22s}.reward-item:nth-child(4){animation-delay:.33s}.reward-item:nth-child(n+5){animation-delay:.42s}.actclear-note{margin:0;font-size:19px}.screen.actclear .reward-item.clickable{cursor:pointer}.screen.actclear .reward-item.clickable:hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff,0 4px 9px #00000038}.screen.actclear .reward-item.selected{outline:3px solid #ffd35c;box-shadow:inset 0 1px #fff,0 0 0 3px #ffd35c40}.keeper-bubble{text-align:center;width:170px;font-size:13px;line-height:1.5;position:absolute;bottom:206px;right:-166px}.keeper-bubble:after{content:"";border:8px solid #0000;border-top-color:#f3e9d2;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.scene{z-index:1;width:1280px;height:664px;position:absolute;top:56px;left:0}.scene-art{justify-content:center;align-items:flex-end;max-width:1080px;max-height:392px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.scene-art>img.event-art,.scene-art>.chest-scene>img.event-art,.scene-art>.event-art-stack>img.event-art{filter:drop-shadow(0 10px 18px #000000a6);width:auto;max-width:700px;height:360px;margin:0}.scene-art .reward-cards{margin:8px 0 0}.scene-portrait{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 16px #000000a6);width:auto;max-width:300px;height:330px;animation:.26s cubic-bezier(.2,.9,.3,1.1) portrait-in;position:absolute;bottom:150px;left:34px}.scene .dialogue-box.scene-box{width:auto;margin:0;padding:22px 34px;position:absolute;bottom:30px;left:90px;right:90px}.scene .scene-text{min-height:0;font-size:22px;line-height:1.6}.scene .scene-box.narration{padding:22px 56px}.scene .scene-box.narration .scene-text{text-align:center;letter-spacing:1.5px;color:#443d33}.scene .scene-box.narration .dialogue-speaker{display:none}.scene-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.scene-actions .btn{min-width:220px}.scene-actions.column{flex-direction:column;align-items:stretch}.scene-actions.column .btn{text-align:center;width:100%}.scene .event-gains{max-width:720px;margin:8px auto 0}.scene .event-note{text-align:center;margin:8px 0 0}.scene-goods{flex-direction:column;align-items:center;gap:14px;max-height:392px;padding:4px 6px 2px;display:flex;overflow:auto}.scene-goods .shelf-cards,.scene-goods .shop-shelves{align-self:center}.scene-art:has(.scene-goods){max-height:none;top:10px;left:calc(50% + 96px)}.scene-goods{transform-origin:top;max-height:none;overflow:visible;transform:scale(.9)}.scene:has(.scene-goods) .scene-portrait{height:290px;bottom:140px;left:24px}#stage[data-screen=shop] .scene-portrait{scale:-1 1}.scene-art img.chest-loot{filter:drop-shadow(0 12px 18px #000000b3);width:auto;height:200px;animation:2.6s ease-in-out infinite loot-float}.chest-scene{display:inline-block;position:relative}.chest-scene>img{display:block}.scene-art img.chest-loot.in-beam{filter:drop-shadow(0 6px 14px #00000080)drop-shadow(0 0 18px #ffd97a99);height:28%;animation:2.6s ease-in-out infinite loot-float-beam;position:absolute;top:22%;left:33%;translate:-50% -50%}@keyframes loot-float-beam{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.chest-waiting{cursor:pointer}.chest-waiting .chest-closed{animation:2.4s ease-in-out infinite chest-idle}@keyframes chest-idle{0%,to{filter:drop-shadow(0 0 8px #ffd88a66)drop-shadow(0 10px 18px #000000a6);translate:0}50%{filter:drop-shadow(0 0 20px #ffe6a8)drop-shadow(0 0 40px #ffc86e99)drop-shadow(0 10px 18px #000000a6);translate:0 -9px}}.chest-waiting{transition:filter .18s}.chest-waiting:hover{filter:brightness(1.1)drop-shadow(0 0 18px #ffd88a80)}.chest-scene.bursting .chest-closed{animation:.36s cubic-bezier(.2,.9,.3,1.3) chest-burst}@keyframes chest-burst{0%{filter:brightness()drop-shadow(0 10px 18px #000000a6);translate:0;scale:1}45%{filter:brightness(1.9)drop-shadow(0 0 40px #ffe6a8);translate:0 -16px;scale:1.07}to{filter:brightness()drop-shadow(0 10px 18px #000000a6);translate:0;scale:1}}.chest-opened .event-art{animation:.34s cubic-bezier(.2,.9,.3,1.15) chest-open-in}@keyframes chest-open-in{0%{filter:brightness(1.8);scale:.94}to{filter:none;scale:1}}.chest-loot-line{text-shadow:0 2px 6px #000000e6,0 0 14px #000000b3;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;width:max-content;max-width:700px;display:flex;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.chest-loot-line .loot-name{color:#ffe9b8;font-size:24px}.chest-loot-line .loot-text{color:#f0e6d2;font-size:19px}.chest-offer-row{z-index:2;justify-content:center;gap:24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.chest-offer{color:#f4ead8;cursor:pointer;text-align:center;background:#241c14e6;border:2px solid #7a6042;border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:230px;padding:12px 10px 14px;display:flex}.chest-offer:hover:not([disabled]){background:#33271ae6;border-color:#ffd98a}.chest-offer[disabled]{cursor:default;opacity:.9}.chest-offer.picked{border-color:#ffd98a;box-shadow:0 0 14px #ffd98a66}.chest-offer.got{border-color:#8fd27a}.chest-offer img{object-fit:contain;width:92px;height:92px}.chest-offer b{color:#ffe9b8;font-size:20px}.chest-offer .small{color:#e2d7c4;font-size:14px;line-height:1.35}.chest-offer-who{color:#ffd98a;font-size:14px}.loot-stack{flex-direction:column;align-items:center;gap:10px;display:flex}.loot-above{color:#f6efe3;text-shadow:0 2px 6px #000000e6,0 0 14px #000000b3;letter-spacing:1px;margin:0;font-size:21px}.loot-below{color:#fff3d6;text-shadow:0 2px 6px #000000e6,0 0 14px #000000b3;align-items:baseline;gap:10px;display:flex}.chest-loot-missing{width:160px;height:200px}.scene-art .chest-loot-missing.in-beam{background:#ffffff1a;border:3px dashed #ffe0a066;border-radius:12px;width:22%;height:28%;position:absolute;top:22%;left:33%;translate:-50% -50%}@keyframes loot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.scene:has(.loot-stack) .scene-art{top:56px}.scene .dialogue-box.scene-box{box-shadow:none;color:#f6efe3;background:linear-gradient(#08060400 0%,#080604d1 38%,#080604e6 100%);border:none;border-radius:0;padding:36px 120px 24px;bottom:0;left:0;right:0}.scene .dialogue-box.scene-box:before{display:none}.scene .dialogue-box.scene-box:has(.dialogue-speaker:not(:empty)){padding-top:60px}.scene .scene-box .dialogue-speaker{top:14px;left:120px}.scene .scene-text{text-shadow:0 2px 6px #000000d9}.scene .scene-box.narration{background:linear-gradient(#08060400 0%,#080604d1 38%,#080604e6 100%);padding-left:120px;padding-right:120px}.scene .scene-box.narration .scene-text{color:#f6efe3}.scene .event-note{color:#ffd98a}.scene-portrait{bottom:120px}.scene:has(.scene-goods) .scene-portrait{bottom:110px}.showcase{justify-content:center;align-items:flex-end;gap:26px;padding:10px 0 12px;display:flex}.showcase .card{transform-origin:bottom}.showcase-card.learn{animation:.55s cubic-bezier(.2,.9,.3,1.2) both showcase-pop}.showcase-card.upgrade{box-shadow:0 0 0 3px var(--accent), 0 0 26px #ffcf6a99;animation:.55s cubic-bezier(.2,.9,.3,1.2) both showcase-pop,.6s ease-out .35s card-forged}.showcase-card.remove{animation:1.1s ease-in .35s both showcase-bye}.showcase-card.curse{filter:saturate(.6)contrast(1.1);animation:.55s cubic-bezier(.2,.9,.3,1.2) both showcase-pop,.5s ease-out .5s card-nope;box-shadow:0 0 0 3px #7a2a2a,0 0 22px #9b2c2c99}@keyframes showcase-pop{0%{opacity:0;transform:translateY(24px)scale(.72)}to{opacity:1;transform:none}}@keyframes showcase-bye{0%{opacity:1;filter:none;transform:none}40%{opacity:.9;filter:grayscale(.4);transform:translateY(-6px)rotate(-3deg)}to{opacity:0;filter:grayscale()blur(2px);transform:translateY(46px)rotate(14deg)scale(.7)}}.showcase.icons{flex-wrap:wrap;align-items:flex-end;gap:34px}.gain-stack{flex-direction:column;align-items:center;gap:8px;max-width:360px;display:flex}.gain-stack .loot-above{text-align:center;font-size:19px;line-height:1.35}.fx-host{display:inline-block;position:relative}.fx-host>img{display:block}.showcase-icon{filter:drop-shadow(0 12px 18px #000000b3);width:auto;height:150px;animation:.55s cubic-bezier(.2,.9,.3,1.2) both showcase-pop,2.6s ease-in-out .6s infinite loot-float}:is(.scene-art:has(.reward-cards),.scene-art:has(>.showcase)){top:50%;transform:translate(-50%,-78%)}.scene-picks{flex-direction:column;align-items:center;gap:8px;display:flex}.pick-label{color:#f6efe3;letter-spacing:3px;text-shadow:0 2px 4px #000c;opacity:.9;font-size:16px}.pick-row{justify-content:center;gap:16px;display:flex}.pick-tile{box-sizing:border-box;text-align:center;cursor:pointer;background:linear-gradient(#fffdf7f2,#f3e8d2f2);border:2px solid #3a2a1c;border-radius:12px;flex-direction:column;align-items:center;gap:4px;width:200px;padding:12px 12px 10px;transition:transform .12s ease-out,box-shadow .12s ease-out;display:flex;box-shadow:0 8px 18px #00000073}.pick-tile img{object-fit:contain;width:72px;height:72px}.pick-tile b{font-size:17px}.pick-tile em{color:#5a4a3a;font-size:13px;font-style:normal;line-height:1.35}.pick-tile:hover{transform:translateY(-4px)}.pick-tile.selected{box-shadow:0 0 0 4px var(--accent), 0 8px 18px #00000073;transform:translateY(-4px)}.scene-art:has(.scene-picks){max-height:none;top:50%;transform:translate(-50%,-66%)}.scene-actions .btn,.dialogue-overlay .btn,.modal-foot .btn{color:#fff6e2;letter-spacing:1px;border:3px solid #3a2a1c;border-image-source:var(--ui-nameplate);text-shadow:0 1px 2px #0009;background:linear-gradient(#a8623099,#7f4420) padding-box padding-box,linear-gradient(#c9702a,#8a4a22) border-box;border-image-slice:30% 24% 32% fill;border-image-width:14px 12px 15px;border-image-repeat:stretch;border-radius:10px;font-weight:700;box-shadow:0 4px #00000059,0 6px 14px #00000073}.scene-actions .btn:hover:not(:disabled),.dialogue-overlay .btn:hover:not(:disabled),.modal-foot .btn:hover:not(:disabled){filter:brightness(1.12);background:linear-gradient(#b86e38,#8a4a22) padding-box padding-box,linear-gradient(#c9702a,#8a4a22) border-box}.scene-actions .btn.primary,.modal-foot .btn.primary{filter:saturate(1.15)brightness(1.08);box-shadow:0 0 0 2px #ffd98a66,0 4px #00000059,0 6px 14px #00000073}.scene-actions .btn.primary:hover:not(:disabled),.modal-foot .btn.primary:hover:not(:disabled){filter:saturate(1.2)brightness(1.18)}.scene-actions .btn:disabled,.modal-foot .btn:disabled{opacity:.45;filter:grayscale(.5)}.loot-kind{letter-spacing:2px;color:#ffd98a;border:1px solid #ffd98aa6;border-radius:6px;padding:1px 8px 2px;font-size:14px}.loot-name{letter-spacing:2px;font-size:30px}.scene .reward-items .reward-item,.scene .reward-items .reward-item b,.scene .reward-items .reward-item em{color:var(--ink);text-shadow:none}:is(#stage:has(#overlay .dialogue-overlay) .scene .scene-box,#stage:has(#overlay .dialogue-overlay) .scene .scene-portrait){visibility:hidden}.modal-foot .btn{min-width:170px}.scene-picks .card.selected,.pick-tile.selected{outline:none;position:relative;transform:translateY(-10px)scale(1.04);box-shadow:0 0 0 5px #ffd35c,0 0 0 8px #7a4a12,0 0 34px 8px #ffcf6acc,0 10px 22px #000000a6}.scene-picks .card.selected:after,.pick-tile.selected:after{content:"✓ 選這個";z-index:3;color:#3a2a1c;letter-spacing:1px;background:linear-gradient(#ffe08a,#e0a23a);border:2px solid #7a4a12;border-radius:999px;padding:3px 12px 4px;font-size:14px;font-weight:700;animation:.3s cubic-bezier(.2,.9,.3,1.3) both showcase-pop;position:absolute;top:-16px;right:-14px;box-shadow:0 3px 8px #00000080}.pick-row:has(.selected) .pick-tile:not(.selected){opacity:.55;filter:saturate(.7)}.scene-picks .reward-cards:has(.selected) .card:not(.selected){opacity:.55;filter:saturate(.7)}.pick-row:has(.selected) .pick-tile:not(.selected):hover{opacity:.9}.scene-picks .reward-cards:has(.selected) .card:not(.selected):hover{opacity:.9}.scene .result-stats{color:#f6efe3;opacity:.92;text-shadow:0 2px 6px #000000d9;margin:6px 0 4px;font-size:18px}.scene .result-row{flex-wrap:wrap;align-items:center;gap:18px;margin:4px 0;display:flex}.scene .result-relics{flex-wrap:wrap;gap:8px;display:flex}.scene .result-relic{box-sizing:border-box;background:#fffaf0e6;border:2px solid #3a2a1c;border-radius:10px;width:44px;height:44px;padding:4px}.scene .result-relic img{object-fit:contain;width:100%;height:100%}.scene .result-relic.name-only{width:auto;color:var(--ink);font-size:13px}.scene .result-best{color:#ffd98a;text-shadow:0 2px 6px #000000d9;font-size:16px}.scene .hud-seed{color:#d9cdb4}.scene-picks .card.selected:after{opacity:1;background:linear-gradient(#ffe08a,#e0a23a);border-radius:999px;width:auto;height:auto;inset:6px 6px auto auto;transform:none}.scene .result-row .hud-seed{margin-left:6px;padding:4px 10px;font-size:14px}.scene .scene-box .dialogue-speaker,.dialogue-overlay .dialogue-speaker,.slide-overlay .slide-box .dialogue-speaker{box-shadow:none;color:#ffd98a;letter-spacing:3px;text-shadow:0 2px 6px #000000e6,0 0 12px #0009;background:0 0;border:0;border-bottom:2px solid #ffd98a99;border-image:;border-radius:0;padding:0 2px 3px;font-size:21px}.scene .dialogue-box.scene-box:has(.dialogue-speaker:not(:empty)){padding-top:52px}.dialogue-overlay .dialogue-box:has(.dialogue-speaker:not(:empty)){padding-top:52px}.slide-overlay .slide-box:has(.dialogue-speaker:not(:empty)){padding-top:52px}.scene .reward-items{justify-content:center;gap:8px}.scene .reward-items .reward-item{border-left-width:6px;border-radius:999px;flex:0 auto;padding:4px 18px 4px 12px}.scene .reward-items .reward-item:has(em){border-radius:16px;flex-basis:auto;max-width:620px}.diff-picker{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.diff-label{color:#ffd98a;letter-spacing:2px;text-shadow:0 1px 3px #000c;margin-right:4px;font-weight:700}.diff-btn{min-width:64px;padding:4px 10px;font-size:14px}.diff-btn.selected{filter:saturate(1.2)brightness(1.15);outline:3px solid #ffd35c;box-shadow:0 0 0 3px #ffd35c40,0 4px #00000059}.diff-btn.locked{opacity:.5}.diff-text{color:#f6efe3;text-shadow:0 1px 3px #000c;text-align:center;max-width:720px;margin-top:6px;font-size:14px}.hud-diff{color:#ffd98a;white-space:nowrap;text-shadow:0 1px 2px #000;border:1px solid #ffd98a99;border-radius:6px;padding:1px 8px;font-size:13px;font-weight:700}.title-note{margin:0;position:absolute;bottom:26px;left:0;right:0}.title-credit{margin:0;position:absolute;bottom:7px;left:0;right:0}.diff-picker{margin-top:4px}.diff-text{margin-top:3px;font-size:13px}.title-best{font-size:18px}.title-screen{gap:11px}.title-cat-box .title-cat{height:290px}.title-screen h1,.title-sub{margin:0}.title-note,.title-credit{text-align:center}.diff-btn.d1{color:#3a2a1c;background:linear-gradient(#fffdf7,#f1e9d8)}.diff-btn.d2{color:#3a2a1c;background:linear-gradient(#fff3c4,#f5d97a)}.diff-btn.d3{color:#3a2a1c;background:linear-gradient(#ffd19a,#f0a24a)}.diff-btn.d4{color:#fff6e2;text-shadow:0 1px 2px #00000080;background:linear-gradient(#ff9a6a,#e0552a)}.diff-btn.d5{color:#fff6e2;text-shadow:0 1px 2px #000000a6;background:linear-gradient(#e64a3a,#8e1414)}.diff-btn.locked{color:#ddd;background:linear-gradient(#8a8a8a,#5a5a5a)}.hud-diff.d2{color:#f5d97a;border-color:#f5d97a99}.hud-diff.d3{color:#f0a24a;border-color:#f0a24a99}.hud-diff.d4{color:#ff7a4a;border-color:#ff7a4a99}.hud-diff.d5{color:#ff4a3a;background:#4a0a0a80;border-color:#ff4a3ab3}.scene .scene-portrait{left:4px}.scene:has(.scene-goods) .scene-portrait{left:0}.scene .scene-portrait{height:300px;bottom:172px}.scene:has(.scene-goods) .scene-portrait{height:280px;bottom:160px}#stage:has(.scene) .toast{animation:.28s cubic-bezier(.2,.9,.3,1.15) toast-in-side;top:78px;left:auto;right:36px;transform:none}@keyframes toast-in-side{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}.scene-goods{gap:14px;padding-top:2px;transform:none}.shelf{padding-bottom:20px}.shop-item{gap:4px;width:182px;font-size:15px}.shop-item .small{font-size:12.5px}.shop-item img{width:46px;height:46px}.shop-item.card-item .price{margin-top:9px}.shop-shelves{gap:22px}.shop-row{gap:16px}.scene-actions .btn,.dialogue-overlay .btn{color:#ffd98a;text-shadow:0 1px 2px #000c;background:linear-gradient(#2c1d12e6,#140c07f2);border:1.5px solid #ffd98a8c;border-radius:12px;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff14}.scene-actions .btn:hover:not(:disabled),.dialogue-overlay .btn:hover:not(:disabled){filter:none;color:#fff3d6;background:linear-gradient(#3d2a1ae6,#1d120af2);border-color:#ffd98a}.scene-actions .btn.primary{filter:none;color:#fff3d6;background:linear-gradient(#7a3d15f0,#4a2209f5);border-color:#ffd98a;box-shadow:0 4px 12px #00000080,0 0 14px #c9702a55,inset 0 1px #ffffff1f}.scene-actions .btn.primary:hover:not(:disabled){filter:none;background:linear-gradient(#8f4a1cf0,#5a2a0cf5);box-shadow:0 4px 12px #00000080,0 0 18px #e0883a77,inset 0 1px #ffffff1f}.scene-actions .btn:disabled{opacity:.4;filter:grayscale(.6)}#stage[data-screen=rest] .scene-portrait{bottom:150px;left:156px}#stage[data-screen=rest][data-act="3"] .scene-portrait{bottom:178px;left:2px}#stage[data-screen=rest][data-act="2"] .scene-portrait{bottom:95px;left:790px}.btn{color:#ffd98a;text-shadow:0 1px 2px #000c;background:linear-gradient(#2c1d12e6,#140c07f2);border:1.5px solid #ffd98a8c;border-radius:12px;font-weight:700;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff14}.btn:hover:not(:disabled){filter:none;color:#fff3d6;background:linear-gradient(#3d2a1ae6,#1d120af2);border-color:#ffd98a}.btn.primary{filter:none;color:#fff3d6;background:linear-gradient(#7a3d15f0,#4a2209f5);border-color:#ffd98a;box-shadow:0 4px 12px #00000080,0 0 14px #c9702a55,inset 0 1px #ffffff1f}.btn.primary:hover:not(:disabled){filter:none;background:linear-gradient(#8f4a1cf0,#5a2a0cf5);box-shadow:0 4px 12px #00000080,0 0 18px #e0883a77,inset 0 1px #ffffff1f}.btn:disabled{opacity:.4;filter:grayscale(.6);box-shadow:none}.btn.small{border-radius:8px;box-shadow:0 2px 6px #0006,inset 0 1px #ffffff14}.modal-foot .btn{border-image:}.scene .reward-items .reward-item{background:linear-gradient(#2c1d12e6,#140c07f2);border:1.5px solid #ffd98a8c;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff14}.scene .reward-items .reward-item,.scene .reward-items .reward-item b{color:#ffd98a;text-shadow:0 1px 2px #000c}.scene .reward-items .reward-item em{color:#f6efe3}.scene .reward-items .reward-item.relic{border-color:#c9a0ffb3}.scene .reward-items .reward-item.potion{border-color:#8fc2ffb3}#stage[data-screen=result] .scene-portrait{height:260px;bottom:300px}.modal-foot .btn,.scene-actions .btn,.dialogue-overlay .btn{color:#ffd98a;text-shadow:0 1px 2px #000c;background:linear-gradient(#2c1d12e6,#140c07f2);border:1.5px solid #ffd98a8c;border-radius:12px;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff14}.modal-foot .btn{margin:0 22px}.modal-foot .btn:hover:not(:disabled){filter:none;color:#fff3d6;background:linear-gradient(#3d2a1ae6,#1d120af2);border-color:#ffd98a}.modal-foot .btn.primary{filter:none;color:#fff3d6;background:linear-gradient(#7a3d15f0,#4a2209f5);border-color:#ffd98a;box-shadow:0 4px 12px #00000080,0 0 14px #c9702a55,inset 0 1px #ffffff1f}.modal-foot .btn.primary:hover:not(:disabled){filter:none;background:linear-gradient(#8f4a1cf0,#5a2a0cf5)}.dialogue-overlay .dialogue-portrait{height:290px;bottom:214px}#stage:has(#overlay .dialogue-overlay) .combat .unit.player .sprite-box{visibility:hidden}.swap-modal{max-width:560px}.swap-new{background:#fff8e8;border:1.5px solid #ffd98a99;border-radius:10px;align-items:center;gap:12px;margin:6px 0 12px;padding:8px 12px;display:flex}.swap-new img,.swap-item img{object-fit:contain;width:40px;height:40px}.swap-list{flex-direction:column;gap:8px;display:flex}.swap-item{cursor:pointer;text-align:left;font:inherit;color:var(--ink);background:#fffdf6;border:1.5px solid #3a2a1c66;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;display:flex}.swap-item:hover{background:#fff3dd;border-color:#c9702a}.swap-text{flex-direction:column;flex:1;gap:2px;display:flex}.swap-text b{font-size:15px}.swap-text em{color:#6b5a45;font-size:12.5px;font-style:normal}.swap-go{color:#7a3d15;white-space:nowrap;font-weight:700}.scene .reward-items .reward-item.missed{opacity:.7;border-style:dashed}.swap-modal .modal-foot{margin-top:22px}.relic-list{max-height:440px;padding-right:4px;overflow-y:auto}.relic-row,.relic-row:hover{cursor:default;background:#fffdf6;border-color:#3a2a1c66}.relic-row-name{text-align:center;width:40px;font-size:13px}.relic-empty{text-align:center;color:#6b5a45}.title-books{justify-content:center;gap:8px;margin-top:2px;display:flex}.compendium.items .item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-bottom:6px;display:grid}.compendium.items .item-row{background:#00000040;border:1px solid #ffd98a40;border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.compendium.items .item-icon{object-fit:contain;flex:none;width:40px;height:40px}.compendium.items .item-icon-name,.hud-relic-name{color:#ffd98a;background:#3a2a1c;border-radius:8px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:inline-flex}.hud-relic-name{width:32px;height:32px;font-size:12px}.compendium.items .item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.compendium.items .item-text b{color:#fff3d6;font-size:14px}.compendium.items .item-text em{color:#d9cdb4;font-size:12px;font-style:normal;line-height:1.3}.compendium.items .item-price{color:#ffd98a;white-space:nowrap;font-size:12px}.title-books{margin:0;position:absolute;top:14px;right:16px}.gamble-stamp{letter-spacing:4px;border:4px solid;border-radius:12px;margin:0 0 8px;padding:6px 22px;font-size:34px;font-weight:900;animation:.35s cubic-bezier(.2,1.4,.4,1) both stamp-in;display:inline-block;transform:rotate(-6deg)}.gamble-stamp.win{color:#ffd35c;text-shadow:0 2px #7a4a00,0 0 14px #ffb300aa;border-color:#ffd35c}.gamble-stamp.lose{color:#b8c4d6;text-shadow:0 2px #1a2230;border-color:#b8c4d6}@keyframes stamp-in{0%{opacity:0;transform:rotate(-6deg)scale(2.2)}60%{opacity:1;transform:rotate(-6deg)scale(.92)}to{opacity:1;transform:rotate(-6deg)scale(1)}}@media (prefers-reduced-motion:reduce){.gamble-stamp{animation:none}}.shop-item .sale-tag{z-index:2;color:#fff8e6;letter-spacing:1px;background:linear-gradient(#ff6a4d,#d8341c);border:2px solid #7a1c10;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:900;position:absolute;top:-10px;right:-8px;transform:rotate(8deg);box-shadow:0 2px #4a0f08,0 3px 8px #0006}.shop-item.on-sale{box-shadow:inset 0 1px #ffffffd9,0 3px #2b211859,0 8px 11px -4px #00000080,0 0 0 2px #e6452a66}.shop-item .price.sale{color:#a01e0f;background:linear-gradient(#ffe6dd,#ffc9b8);justify-content:center;align-items:baseline;gap:6px;display:flex}.shop-item .price.sale s{color:#8a6d56;font-size:11px;font-weight:400}.shop-item .price.sale b{font-size:14px}.shop-shelves.six .shop-item{width:156px;font-size:13.5px}.shop-shelves.six .shop-item .small{font-size:11.5px}.shop-shelves.six{gap:14px}.shop-shelves.six .shop-row,.shelf-cards.six .shop-row{gap:12px}.shelf-cards.six .shop-item.card-item{width:158px}.title-note.share-note{min-height:18px;margin-top:2px}.title-note.share-note.warn{color:#ffd06a;font-weight:700}.boss-door{cursor:pointer;position:absolute;inset:0;overflow:hidden}.boss-door .door-wall{z-index:1;background:radial-gradient(60% 70%,#241b14 0%,#120d09 60%,#080605 100%);transition:opacity .7s ease-out;position:absolute;inset:0}.boss-door.opening .door-wall{opacity:0}.boss-door .door-leaf{z-index:3;filter:drop-shadow(0 0 30px #000c);width:auto;height:100%;transition:translate .82s cubic-bezier(.5,0,.3,1);position:absolute;top:50%;left:50%;translate:-50% -50%}.boss-door .door-leaf.left{clip-path:inset(0 50% 0 0)}.boss-door .door-leaf.right{clip-path:inset(0 0 0 50%)}.boss-door.opening .door-leaf.left{translate:-190% -50%}.boss-door.opening .door-leaf.right{translate:90% -50%}.boss-door .door-glow{z-index:2;opacity:.5;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(#ffdda6 0%,#f0b06a 38%,#f0b06a00 66%);width:14px;height:620px;position:absolute;top:50%;left:50%;translate:-50% -50%}.boss-door.opening .door-glow{animation:.9s ease-out forwards door-flare}@keyframes door-flare{0%{opacity:.55;width:14px}30%{opacity:.42;width:520px}to{opacity:0;width:980px}}.boss-door .door-hint{z-index:3;flex-direction:column;align-items:center;gap:12px;transition:opacity .3s ease-out;display:flex;position:absolute;bottom:46px;left:0;right:0}.boss-door.opening .door-hint{opacity:0;pointer-events:none}.boss-door .door-line{color:#f6efe3;letter-spacing:2px;text-shadow:0 2px 6px #000000e6,0 0 14px #000000b3;margin:0;font-size:22px}.boss-door .btn{min-width:220px}.event-art-stack{display:inline-block;position:relative}.event-art-stack>img.event-art{display:block}.event-art-loot{filter:drop-shadow(0 6px 14px #000c);justify-content:center;width:1080px;display:flex;position:absolute;bottom:-18px;left:50%;translate:-50%}.event-art-loot .showcase{margin:0}.lobby{box-sizing:border-box;flex-direction:column;align-items:center;gap:14px;padding:40px 80px;display:flex;position:absolute;inset:0;overflow-y:auto}.lobby h1{letter-spacing:2px;margin:0 0 4px;font-size:34px}.lobby-lead{margin:0;font-size:19px}.lobby-note{opacity:.72;text-align:center;max-width:720px;margin:0;font-size:15px;line-height:1.7}.lobby-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.lobby-field{flex-direction:column;gap:6px;width:min(760px,100%);display:flex}.lobby-label{font-size:17px;font-weight:600}.lobby-hint{opacity:.7;font-size:14px}.lobby-code{box-sizing:border-box;word-break:break-all;resize:vertical;width:100%;color:inherit;background:#0004;border:1px solid #fff3;border-radius:8px;padding:8px 10px;font:13px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace}.lobby-ok{color:#7fd6a0;margin:0;font-size:24px;font-weight:700}.lobby-bad{color:#ff9b9b;text-align:center;max-width:720px;margin:0;font-size:18px;line-height:1.7}.lobby-busy{opacity:.8;margin:0;font-size:15px}.lobby-back{margin-top:auto}.map-vote{white-space:nowrap;border:1px solid var(--accent);color:#f3e6d2;pointer-events:none;background:#1b1713ee;border-radius:999px;padding:1px 7px;font-size:13px;position:absolute;top:100%;left:50%;translate:-50% 2px}.net-trouble{z-index:9999;color:#ffe9e9;text-align:center;background:#7a1f1f;padding:10px 16px;font-size:16px;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #0008}.heroselect{z-index:1;color:#f8f2e6;text-shadow:0 2px 6px #000a;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.heroselect h2{letter-spacing:3px;margin:0;font-size:30px}.hero-cards{gap:28px;display:flex}.hero-card{cursor:pointer;background:#2a1a0dcc;border:2px solid #ffd98a4d;border-radius:16px;flex-direction:column;align-items:center;gap:4px;width:250px;padding:10px 12px 12px;transition:transform .12s ease-out,border-color .12s ease-out;display:flex}.hero-card:hover{border-color:#ffd98aa6;transform:translateY(-3px)}.hero-card.selected{border-color:#ffd35c;box-shadow:0 0 0 3px #ffd35c40,0 6px #0000005e}.hero-portrait{place-items:end center;height:210px;display:grid;position:relative}.hero-portrait img{object-fit:contain;height:210px}.hero-portrait-missing{color:#ffd98a;border:2px dashed #ffd98a59;border-radius:12px;place-items:center;width:150px;height:210px;font-size:34px;display:grid}.hero-name{font-size:26px;font-weight:700}.hero-tag{color:#ffd98a;letter-spacing:1px;font-size:15px}.hero-detail{background:#2a1a0da8;border-radius:14px;width:780px;min-height:132px;padding:10px 18px}.hero-blurb{margin:0 0 6px;font-size:16px;line-height:1.55}.hero-kit{flex-direction:column;gap:3px;font-size:14px;line-height:1.5;display:flex}.hero-kit-row{gap:10px;display:flex}.hero-kit-row b{color:#ffd98a;flex:0 0 122px}.hero-kit-row span{flex:1}.heroselect-buttons{gap:14px;display:flex}.lobby-heroes{margin:10px 0 4px}.lobby-hero-row{justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.lobby-hero-row b{text-align:right;color:#ffd98a;flex:0 0 88px}.lobby-hero-row .btn.selected{outline:3px solid #ffd35c;box-shadow:0 0 0 3px #ffd35c40}
