:root{--bg-0: #06070b;--bg-1: #0a0c13;--bg-2: #10131c;--panel: rgba(17, 19, 27, .86);--panel-solid: #14161f;--line: rgba(233, 196, 106, .22);--line-soft: rgba(233, 196, 106, .1);--line-strong: rgba(233, 196, 106, .55);--gold: #e9c46a;--gold-bright: #ffe9b5;--gold-deep: #a97c2f;--ember: #ff7a3d;--blood: #e0503c;--azure: #6fb8ff;--jade: #5fd6a4;--violet: #b79bff;--text: #f4eee2;--text-dim: #b9b1c1;--muted: #8a8298;--dim: #5f596b;--serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans: "Yu Gothic UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", system-ui, sans-serif;--radius: 14px;--shadow-lg: 0 26px 70px rgba(0, 0, 0, .65);--shadow-card: 0 18px 34px rgba(0, 0, 0, .55);--ease-out: cubic-bezier(.2, .8, .3, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--text);font-family:var(--sans);background:radial-gradient(1200px 720px at 50% -12%,rgba(233,196,106,.1),transparent 60%),radial-gradient(900px 620px at 4% 102%,rgba(224,80,60,.09),transparent 65%),radial-gradient(900px 620px at 96% 102%,rgba(111,184,255,.05),transparent 65%),linear-gradient(180deg,#07080d,#05060a 55%,#08060a);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4,p,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}b,strong{font-weight:700}::selection{background:#e9c46a4d;color:#fff}:focus-visible{outline:1px solid var(--gold);outline-offset:3px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#0006}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#e9c46a73,#7859248c);border-radius:99px}.kicker{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);opacity:.9}.kicker--wide{letter-spacing:.5em}.screen-title{font-family:var(--serif);font-size:clamp(32px,4.4vw,48px);font-weight:600;letter-spacing:.08em;line-height:1.1;background:linear-gradient(180deg,#fff6dc,#e9c46a 60%,#b98a35);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 12px rgba(233,196,106,.18))}.link-btn{background:none;border:none;padding:8px;color:var(--muted);font-size:12px;letter-spacing:.08em;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.link-btn:hover{color:var(--text-dim);border-bottom-color:#f4eee240}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 28px;border-radius:999px;border:1px solid var(--line-strong);background:#ffffff08;color:var(--text);font-size:14px;font-weight:600;letter-spacing:.1em;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.99)}.btn--gold{background:linear-gradient(180deg,#f9e1a0,#dcb057 52%,#b98a35);color:#211607;border-color:#fff0c8e6;box-shadow:0 12px 28px #e9c46a38,inset 0 1px #ffffffbf,inset 0 -2px 6px #78501459;text-shadow:0 1px 0 rgba(255,255,255,.25)}.btn--gold:hover{box-shadow:0 16px 38px #e9c46a59,inset 0 1px #ffffffd9}.btn--ghost{background:#ffffff05;border-color:#f4eee238;color:var(--text-dim)}.btn--ghost:hover{border-color:#e9c46a80;color:var(--text)}.btn--xl{padding:17px 48px;font-size:16px;letter-spacing:.14em}.btn--block{width:100%}.btn__shine{position:absolute;inset:-50% auto -50% -30%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-18deg);animation:buttonShine 3.6s ease-in-out infinite;pointer-events:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px;height:38px;padding:0 10px;border-radius:11px;border:1px solid rgba(244,238,226,.14);background:#ffffff06;color:var(--text-dim);font-size:13px;transition:color .2s,border-color .2s,background .2s,transform .2s}.icon-btn:hover{color:var(--gold-bright);border-color:var(--line-strong);background:#e9c46a14;transform:translateY(-1px)}.icon-btn b{color:var(--gold);font-weight:700}.icon-btn--wide{padding:0 14px;letter-spacing:.04em}.icon-btn--quiet{opacity:.6}.keycap{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;border:1px solid rgba(244,238,226,.24);background:#ffffff0d;font-family:var(--sans);font-size:10px;font-weight:700;color:var(--text-dim);box-shadow:0 2px #0006}.panel{position:relative;border-radius:18px;border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 0%,rgba(233,196,106,.06),transparent 55%),linear-gradient(180deg,#171923eb,#0a0b11f0);box-shadow:var(--shadow-lg),inset 0 0 0 1px #ffffff08}.panel:before,.panel:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--line-strong);border-style:solid;pointer-events:none}.panel:before{top:8px;left:8px;border-width:1px 0 0 1px}.panel:after{right:8px;bottom:8px;border-width:0 1px 1px 0}.rank{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:999px;border:1px solid currentColor;font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.16em;opacity:.85;white-space:nowrap}.rank--normal{color:#b0a9b8}.rank--elite{color:var(--violet)}.rank--boss{color:var(--gold);background:#e9c46a14}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:900;width:max-content;max-width:260px;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:#08090ef7;box-shadow:var(--shadow-lg);color:var(--text-dim);font-size:11px;font-weight:400;line-height:1.55;letter-spacing:.01em;text-align:left;white-space:normal;pointer-events:none}@keyframes buttonShine{0%,55%{left:-40%}85%,to{left:130%}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes intentFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app{position:relative;min-height:100%;overflow:hidden}.app__content{position:relative;z-index:2;min-height:100dvh}.app__grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}.embers{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ember{position:absolute;bottom:-12px;border-radius:50%;background:radial-gradient(circle,#ffd59a,#ff8a3d 45%,#ff642800 72%);opacity:0;filter:blur(.4px);animation-name:emberRise;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes emberRise{0%{transform:translateZ(0) scale(1);opacity:0}12%{opacity:.55}70%{opacity:.35}to{transform:translate3d(var(--drift, 0px),-108vh,0) scale(.35);opacity:0}}.screen{position:relative;min-height:100dvh}.title-screen{display:grid;place-items:center;padding:46px 24px 40px;overflow:hidden}.title-rays{position:absolute;top:50%;left:50%;width:min(1500px,160vh);height:min(1500px,160vh);transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(233,196,106,.075) 0deg 3deg,transparent 3deg 16deg);mask-image:radial-gradient(circle,rgba(0,0,0,.85),transparent 62%);-webkit-mask-image:radial-gradient(circle,rgba(0,0,0,.85),transparent 62%);animation:rotateSlow 90s linear infinite;pointer-events:none}.title-inner{position:relative;z-index:2;width:min(920px,100%);text-align:center;display:flex;flex-direction:column;align-items:center}.title-logo{margin-top:14px;font-family:var(--serif);font-size:clamp(44px,8.6vw,104px);font-weight:700;letter-spacing:.06em;line-height:1.05;background:linear-gradient(175deg,#fff8e4,#f2d491 34%,#d9ab52 58%,#8e6524);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 30px rgba(233,196,106,.22));animation:titleReveal .9s var(--ease-out) both}.title-logo__dot{display:inline-block;-webkit-text-fill-color:var(--ember);color:var(--ember);font-size:.72em;transform:translateY(-.08em)}.title-roman{margin-top:10px;font-size:clamp(10px,1.4vw,13px);letter-spacing:.72em;color:var(--gold);opacity:.72;text-indent:.72em;animation:fadeUp .9s .12s var(--ease-out) both}.title-fan{position:relative;width:min(560px,90vw);height:clamp(212px,27vh,262px);margin-top:12px;perspective:1100px;animation:fadeUp 1s .2s var(--ease-out) both}.title-fan__item{position:absolute;top:6px;left:50%;transform-origin:50% 140%;filter:drop-shadow(0 22px 34px rgba(0,0,0,.65));transition:transform .5s var(--ease-out),filter .5s}.title-fan__item .card{--card-w: clamp(108px, 14.4vw, 148px)}.title-fan__item--0{transform:translate(-50%) translate(-128px) rotate(-16deg)}.title-fan__item--1{transform:translate(-50%) translateY(-16px) rotate(0);z-index:2}.title-fan__item--2{transform:translate(-50%) translate(128px) rotate(16deg)}.title-fan:hover .title-fan__item--0{transform:translate(-50%) translate(-166px) rotate(-21deg)}.title-fan:hover .title-fan__item--1{transform:translate(-50%) translateY(-28px) rotate(-1deg)}.title-fan:hover .title-fan__item--2{transform:translate(-50%) translate(166px) rotate(21deg)}.title-lead{margin-top:8px;color:var(--text-dim);font-size:clamp(12px,1.6vw,14px);line-height:2;letter-spacing:.12em;animation:fadeUp 1s .32s var(--ease-out) both}.title-actions{display:flex;align-items:center;gap:16px;margin-top:26px;flex-wrap:wrap;justify-content:center;animation:fadeUp 1s .42s var(--ease-out) both}.title-facts{display:flex;align-items:center;gap:0;margin-top:34px;border-top:1px solid rgba(233,196,106,.16);border-bottom:1px solid rgba(233,196,106,.16);padding:14px 8px;animation:fadeUp 1s .52s var(--ease-out) both}.title-facts li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 clamp(16px,4vw,34px);border-left:1px solid rgba(244,238,226,.08)}.title-facts li:first-child{border-left:none}.title-facts b{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);color:var(--gold-bright);font-weight:600;letter-spacing:.06em}.title-facts span{font-size:10px;letter-spacing:.24em;color:var(--muted)}.title-foot{margin-top:26px;font-size:9px;letter-spacing:.4em;color:var(--dim)}@keyframes titleReveal{0%{opacity:0;transform:translateY(18px) scale(.97);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0) drop-shadow(0 6px 30px rgba(233,196,106,.22))}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.map-screen{max-width:1180px;margin:0 auto;padding:38px 28px 56px}.map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.map-head__actions{display:flex;align-items:center;gap:8px}.map-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.85fr);gap:22px;align-items:start}.path{position:relative;padding:22px 22px 22px 30px;display:flex;flex-direction:column;gap:12px}.path__rail{position:absolute;left:53px;top:44px;bottom:44px;width:1px;background:linear-gradient(180deg,transparent,rgba(233,196,106,.35) 12%,rgba(233,196,106,.35) 88%,transparent);pointer-events:none}.node{position:relative;display:flex;align-items:center;gap:16px;padding:13px 16px;border-radius:14px;border:1px solid transparent;transition:background .3s,border-color .3s,transform .3s var(--ease-out),opacity .3s}.node__badge{position:relative;z-index:2;flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(244,238,226,.2);background:#0c0d14;font-family:var(--serif);font-size:10px;letter-spacing:.04em;color:var(--muted)}.node__glyph{position:relative;z-index:2;flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tint) 45%,transparent);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tint) 22%,transparent),#00000080 70%),#0b0c12;font-size:24px;filter:grayscale(.35);transition:filter .3s,box-shadow .3s}.node__body{flex:1;min-width:0}.node__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.node__row h3{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.06em;color:var(--text-dim)}.node__meta{margin-top:3px;font-size:11px;letter-spacing:.06em;color:var(--muted)}.node__flavor{margin-top:6px;font-family:var(--serif);font-size:11.5px;line-height:1.7;color:#f4eee29e}.node__done,.node__now{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:9px;letter-spacing:.22em;color:var(--muted)}.node__now{color:var(--gold)}.node--done{opacity:.62}.node--done .node__glyph{filter:grayscale(.9) brightness(.8)}.node--done .node__badge{color:var(--jade);border-color:#5fd6a466}.node--locked{opacity:.5}.node--current{border-color:#e9c46a61;background:radial-gradient(120% 140% at 0% 50%,rgba(233,196,106,.12),transparent 60%),#ffffff05;box-shadow:0 0 0 1px #e9c46a14,0 16px 34px #0006;transform:translate(4px)}.node--current .node__badge{color:#20160a;background:linear-gradient(180deg,#ffe9b5,#d9ae52);border-color:#ffe9b5;box-shadow:0 0 16px #e9c46a73}.node--current .node__glyph{filter:none;box-shadow:0 0 30px color-mix(in srgb,var(--tint) 30%,transparent)}.node--current .node__row h3{color:var(--text)}.map-side{display:flex;flex-direction:column;gap:16px}.gladiator{padding:24px 22px 20px;text-align:center}.gladiator__crest{width:74px;height:74px;margin:14px auto 10px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 32%,#e9c46a33,#00000080 70%),#0b0c12;font-size:34px;box-shadow:0 0 30px #e9c46a1f,inset 0 0 20px #0009}.gladiator h2{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.16em;margin-bottom:14px}.gladiator .hp{width:100%}.stat-list{display:flex;flex-direction:column;gap:0;margin:18px 0;border-top:1px solid rgba(244,238,226,.08)}.stat-list div{display:flex;align-items:baseline;justify-content:space-between;padding:9px 2px;border-bottom:1px solid rgba(244,238,226,.06)}.stat-list dt{font-size:11px;letter-spacing:.14em;color:var(--muted)}.stat-list dd{font-family:var(--serif);font-size:15px;color:var(--gold-bright);letter-spacing:.04em}.gladiator__note{margin-top:13px;font-size:10px;line-height:1.7;color:var(--dim);letter-spacing:.03em}.next-opponent{padding:20px;text-align:center;overflow:hidden}.next-opponent__glyph{font-size:38px;margin:10px 0 4px;filter:drop-shadow(0 8px 20px color-mix(in srgb,var(--tint) 40%,transparent))}.next-opponent h3{font-family:var(--serif);font-size:20px;letter-spacing:.1em;color:var(--text)}.next-opponent__title{font-size:10px;letter-spacing:.22em;color:var(--muted);margin-top:4px}.next-opponent__flavor{margin-top:12px;font-family:var(--serif);font-size:11.5px;line-height:1.85;color:#f4eee299}.next-opponent__tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:14px}.next-opponent__tags span{padding:4px 9px;border-radius:999px;border:1px solid rgba(244,238,226,.1);font-size:9px;letter-spacing:.08em;color:var(--muted)}.map-side .link-btn{align-self:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#030408b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:backdropIn .25s ease both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;width:min(840px,100%);max-height:min(86vh,880px);display:flex;flex-direction:column;border-radius:20px;border:1px solid rgba(233,196,106,.32);background:radial-gradient(120% 60% at 50% 0%,rgba(233,196,106,.08),transparent 60%),linear-gradient(180deg,#171922,#0c0d14);box-shadow:var(--shadow-lg),inset 0 0 0 1px #ffffff0a;animation:modalIn .35s var(--ease-out) both}.modal:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(233,196,106,.12);border-radius:15px;pointer-events:none}@keyframes modalIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 16px;border-bottom:1px solid rgba(244,238,226,.08)}.modal__head h2{margin-top:6px;font-family:var(--serif);font-size:clamp(20px,2.6vw,27px);font-weight:600;letter-spacing:.06em;color:var(--gold-bright)}.modal__sub{margin-top:5px;font-size:11px;color:var(--muted);letter-spacing:.06em}.modal__body{overflow-y:auto;padding:20px 26px 26px;display:flex;flex-direction:column;gap:22px}.modal__foot{padding:16px 26px 22px;border-top:1px solid rgba(244,238,226,.08);display:flex;justify-content:flex-end}.help-section h3{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:.08em;color:var(--gold)}.help-section h3:before{content:"";width:14px;height:1px;background:var(--gold-deep)}.help-section p{font-size:12.5px;line-height:1.95;color:var(--text-dim)}.help-section p strong{color:var(--gold-bright)}.help-steps{display:flex;flex-direction:column;gap:10px;counter-reset:step}.help-steps li{position:relative;padding:12px 14px 12px 48px;border-radius:10px;border:1px solid rgba(244,238,226,.08);background:#ffffff05;font-size:12px;line-height:1.8;color:var(--text-dim);counter-increment:step}.help-steps li:before{content:counter(step);position:absolute;left:14px;top:13px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);font-family:var(--serif);font-size:11px;color:var(--gold)}.help-steps b{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.16em;color:var(--text)}.help-status{display:flex;flex-direction:column;gap:7px}.help-status li{display:flex;align-items:flex-start;gap:12px;font-size:11.5px;line-height:1.7;color:var(--text-dim)}.help-status__chip{flex:none;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid currentColor;font-size:10px;letter-spacing:.06em;white-space:nowrap}.help-status__chip--buff{color:var(--jade);background:#5fd6a412}.help-status__chip--debuff{color:#ff9d8a;background:#e0503c14}.help-keys{display:flex;flex-wrap:wrap;gap:8px 18px}.help-keys li{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-dim)}.deck-body{gap:26px}.deck-section h3{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-family:var(--serif);font-size:15px;letter-spacing:.12em;color:var(--gold)}.deck-section h3 span{padding:1px 8px;border-radius:999px;border:1px solid rgba(233,196,106,.25);font-family:var(--sans);font-size:10px;color:var(--text-dim);letter-spacing:.04em}.deck-empty{padding:14px;border:1px dashed rgba(244,238,226,.12);border-radius:10px;font-size:11px;color:var(--dim);text-align:center}.deck-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.deck-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;border:1px solid rgba(244,238,226,.07);background:#ffffff05;transition:border-color .2s,background .2s}.deck-row:hover{border-color:#e9c46a4d;background:#e9c46a0b}.deck-row__cost{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff3c8,#e9c46a 50%,#a97c2f);color:#211607;font-size:11px;font-weight:800}.deck-row__glyph{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#0000004d;font-size:15px}.deck-row__main{min-width:0}.deck-row__name{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);font-size:12px;letter-spacing:.04em;color:var(--text)}.deck-row__name em{font-style:normal;font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:var(--muted)}.deck-row__text{display:block;margin-top:2px;font-size:10px;line-height:1.5;color:var(--muted)}.deck-row--attack{border-left:2px solid rgba(255,138,82,.55)}.deck-row--skill{border-left:2px solid rgba(111,198,255,.55)}.deck-row--power{border-left:2px solid rgba(192,166,255,.55)}.deck-row--trap{border-left:2px solid rgba(110,224,179,.55)}@media (max-width: 860px){.map-grid,.deck-list{grid-template-columns:minmax(0,1fr)}.map-screen{padding:28px 18px 40px}.title-fan__item--0{transform:translate(-50%) translate(-92px) rotate(-14deg)}.title-fan__item--2{transform:translate(-50%) translate(92px) rotate(14deg)}.title-facts li{padding:0 14px}}.card{--card-w: 166px;--accent: #e9c46a;--accent-soft: rgba(233, 196, 106, .18);--accent-frame: rgba(233, 196, 106, .5);position:relative;width:var(--card-w);height:calc(var(--card-w) * 1.43);flex:none;display:flex;flex-direction:column;gap:6px;padding:9px;border-radius:13px;border:1px solid rgba(255,255,255,.13);background:radial-gradient(120% 80% at 50% 0%,var(--accent-soft),transparent 62%),linear-gradient(168deg,#2a2431,#1a1822 45%,#100f16);box-shadow:var(--shadow-card),inset 0 0 0 1px #ffffff0a;overflow:hidden;isolation:isolate;-webkit-user-select:none;user-select:none;transition:transform .24s var(--ease-out),box-shadow .24s,border-color .24s,filter .24s}.card--attack{--accent: #ff8a52;--accent-soft: rgba(255, 112, 60, .2);--accent-frame: rgba(255, 138, 82, .55)}.card--skill{--accent: #6fc6ff;--accent-soft: rgba(90, 175, 255, .17);--accent-frame: rgba(111, 198, 255, .5)}.card--power{--accent: #c0a6ff;--accent-soft: rgba(170, 130, 255, .18);--accent-frame: rgba(192, 166, 255, .55)}.card--trap{--accent: #6ee0b3;--accent-soft: rgba(80, 220, 165, .16);--accent-frame: rgba(110, 224, 179, .5)}.card__frame{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:9px;border:1px solid var(--accent-frame);opacity:.42;pointer-events:none;z-index:2}.card__shine{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:4;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.16) 49%,transparent 56%);transform:translate(-75%);transition:transform .65s var(--ease-out);pointer-events:none}.card:hover .card__shine,.hand__slot:hover .card__shine{transform:translate(75%)}.card__cost{position:absolute;top:7px;left:7px;z-index:5;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 26%,#fff6d6,#e9c46a 46%,#a97c2f);border:1px solid rgba(255,246,214,.7);box-shadow:0 4px 12px #0000008c,inset 0 1px #ffffffb3;color:#241807;font-family:var(--serif);font-size:14px;font-weight:800;line-height:1}.card__rarity{position:absolute;top:12px;right:11px;z-index:5;display:flex;gap:3px}.card__rarity i{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);opacity:.9}.card__art{position:relative;height:43%;border-radius:8px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:radial-gradient(90% 90% at 50% 22%,var(--accent-soft),transparent 70%),linear-gradient(180deg,#00000014,#00000061)}.card__art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(115deg,transparent 0 9px,rgba(255,255,255,.025) 9px 10px)}.card__art:after{content:"";position:absolute;left:50%;bottom:-40%;width:70%;height:70%;transform:translate(-50%);border-radius:50%;background:var(--accent);opacity:.22;filter:blur(24px)}.card__glyph{position:relative;z-index:1;font-size:calc(var(--card-w) * .27);line-height:1;transform:translateY(-2px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.65))}.card__type{position:absolute;left:7px;bottom:5px;z-index:2;font-size:8px;font-weight:700;letter-spacing:.22em;color:var(--accent);opacity:.9}.card__body{flex:1;display:flex;flex-direction:column;gap:4px;padding:0 4px 2px;min-height:0}.card__name{font-family:var(--serif);font-size:calc(var(--card-w) * .085);font-weight:600;letter-spacing:.02em;line-height:1.2;color:#fdf8ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__text{font-size:calc(var(--card-w) * .061);line-height:1.55;color:#c8c0d0;letter-spacing:.005em}.card__num{color:var(--accent);font-weight:800;font-size:1.06em}.card__exhaust{align-self:flex-start;margin-top:auto;padding:1px 6px;border-radius:3px;border:1px solid rgba(255,255,255,.16);font-size:8px;letter-spacing:.14em;color:var(--muted)}.card__trap-mark{position:absolute;right:-20px;bottom:12px;transform:rotate(-90deg);font-size:7px;letter-spacing:.32em;color:var(--accent);opacity:.45}.card--playable{border-color:var(--accent-frame);box-shadow:var(--shadow-card),0 0 0 1px var(--accent-frame),0 0 22px -6px var(--accent)}.card--dimmed{filter:saturate(.45) brightness(.6)}.hand{position:relative;width:100%;height:calc(var(--card-w, 166px) * 1.43 + 30px)}.hand__fan{position:absolute;top:0;right:0;bottom:0;left:0}.hand__slot{position:absolute;left:50%;bottom:0;transform-origin:50% 100%;transition:transform .38s var(--ease-out)}.hand__button{position:relative;display:block;padding:0;border:none;background:none;border-radius:13px;cursor:pointer;transition:transform .24s var(--ease-out)}.hand__button.is-disabled{cursor:not-allowed}.hand__button.is-disabled .card{filter:saturate(.55) brightness(.62);opacity:.9}.hand__slot .card{animation:cardRise .42s cubic-bezier(.2,.9,.25,1.2) backwards}.hand__slot:hover{z-index:220!important}.hand__slot:hover .hand__button.is-playable .card{transform:translateY(-30px) scale(1.07);border-color:var(--accent-frame);box-shadow:0 30px 54px #000000ad,0 0 0 1px var(--accent-frame),0 0 34px -6px var(--accent)}.hand__slot:hover .hand__button.is-disabled .card{transform:translateY(-12px) scale(1.02)}.hand__index{position:absolute;right:8px;bottom:7px;z-index:6;width:17px;height:17px;display:grid;place-items:center;border-radius:4px;border:1px solid rgba(255,255,255,.16);background:#0000008c;font-size:9px;color:#f4eee280;pointer-events:none;opacity:0;transition:opacity .2s}.hand__slot:hover .hand__index{opacity:.9}.hand__empty{position:absolute;inset:auto 0 40% 0;text-align:center;font-size:12px;letter-spacing:.16em;color:var(--dim)}@keyframes cardRise{0%{opacity:0;transform:translateY(64px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ghost{--card-w: 100px;position:fixed;z-index:1200;pointer-events:none;border-radius:13px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.7))}.ghost__inner{width:100%;height:100%;animation:cardCast .54s cubic-bezier(.2,.8,.25,1) forwards;transform-origin:50% 80%}.ghost .card{width:100%;height:100%}@keyframes cardCast{0%{transform:translateY(0) scale(1);opacity:1}30%{transform:translateY(-46px) scale(1.12);opacity:1;filter:brightness(1.25)}to{transform:translateY(-136px) scale(1.02) rotate(-2deg);opacity:0;filter:brightness(1.8)}}.reward-cards{display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,2.4vw,34px);flex-wrap:wrap;margin:8px 0 10px}.reward-card{position:relative;padding:0;border:none;background:none;border-radius:16px;animation:rewardReveal .6s cubic-bezier(.2,.9,.25,1.15) backwards;animation-delay:calc(var(--i) * .11s + .12s);transition:transform .3s var(--ease-out),filter .3s}.reward-card .card{--card-w: clamp(158px, 19vw, 192px)}.reward-card__aura{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:radial-gradient(circle,rgba(233,196,106,.35),transparent 68%);filter:blur(26px);opacity:0;transition:opacity .3s;pointer-events:none}.reward-card:hover{transform:translateY(-14px)}.reward-card:hover .card{border-color:#ffe8afcc;box-shadow:0 30px 60px #000000b3,0 0 44px -6px #e9c46aa6}.reward-card:hover .reward-card__aura{opacity:1}.reward-card__cta{position:absolute;left:50%;bottom:-14px;transform:translate(-50%) translateY(6px);padding:6px 18px;border-radius:999px;background:linear-gradient(180deg,#f7dd9a,#cfa447);color:#211607;font-size:10px;font-weight:800;letter-spacing:.16em;opacity:0;white-space:nowrap;transition:opacity .25s,transform .25s;box-shadow:0 8px 18px #00000073}.reward-card:hover .reward-card__cta{opacity:1;transform:translate(-50%) translateY(0)}.reward-card.is-picked{transform:translateY(-26px) scale(1.05);z-index:5}.reward-card.is-picked .card{border-color:#ffe9b5;box-shadow:0 0 0 2px #ffe9b5e6,0 0 70px #e9c46a99}.reward-card.is-picked:after{content:"獲得";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:14px;background:#06070bb3;font-family:var(--serif);font-size:22px;letter-spacing:.3em;color:var(--gold-bright);animation:fadeUp .3s both}@keyframes rewardReveal{0%{opacity:0;transform:translateY(40px) scale(.9);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.battle-screen{min-height:100dvh}.fx-host{position:relative;min-height:100dvh}.fx-stage{min-height:100dvh}.battle-frame{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding:14px clamp(14px,2.6vw,34px) 0}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding-bottom:8px;border-bottom:1px solid rgba(233,196,106,.12)}.stage-chip{display:flex;align-items:baseline;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid rgba(233,196,106,.22);background:#e9c46a0d}.stage-chip__label{font-size:8px;font-weight:800;letter-spacing:.28em;color:var(--gold)}.stage-chip b{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--gold-bright);line-height:1}.stage-chip__total{font-size:10px;color:var(--muted)}.battle-top__center{display:flex;flex-direction:column;align-items:center;gap:3px}.turn-chip{font-family:var(--serif);font-size:12px;letter-spacing:.3em;color:var(--text-dim)}.turn-chip--ghost{font-family:var(--sans);font-size:8.5px;font-weight:700;letter-spacing:.24em;color:var(--dim);transition:color .3s}.turn-chip--ghost.is-active{color:var(--gold);text-shadow:0 0 12px rgba(233,196,106,.5);animation:turnPulseText 1.8s ease-in-out infinite}@keyframes turnPulseText{0%,to{text-shadow:0 0 10px rgba(233,196,106,.4)}50%{text-shadow:0 0 16px rgba(233,196,106,.7)}}.battle-top__actions{display:flex;align-items:center;gap:7px}.pile-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:9px;border:1px solid rgba(244,238,226,.13);background:#ffffff05;color:var(--muted);font-size:10.5px;letter-spacing:.04em;transition:border-color .2s,color .2s,background .2s}.pile-btn:hover{border-color:var(--line-strong);color:var(--text-dim);background:#e9c46a0f}.pile-btn b{color:var(--gold)}.pile-btn__sep{width:1px;height:12px;background:#f4eee224}.arena{position:relative;flex:1;min-height:355px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 0 0}.arena__rays{position:absolute;top:-12%;left:50%;width:min(1100px,130vh);height:min(1100px,130vh);transform:translate(-50%);background:repeating-conic-gradient(from 0deg,rgba(233,196,106,.055) 0deg 2.5deg,transparent 2.5deg 14deg);mask-image:radial-gradient(circle at 50% 38%,#000 0%,transparent 58%);-webkit-mask-image:radial-gradient(circle at 50% 38%,#000 0%,transparent 58%);animation:rotateSlow 130s linear infinite;pointer-events:none}.arena__floor{position:absolute;left:50%;bottom:66px;width:min(900px,96%);height:180px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 40%,rgba(233,196,106,.09),transparent 62%),repeating-radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.035) 0 1px,transparent 1px 26px);filter:blur(.4px);opacity:.7;pointer-events:none;z-index:0}.arena__bottom{position:relative;z-index:3;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(10px,3vw,34px);padding-bottom:8px}.arena__mana{padding-bottom:12px}.enemy{position:relative;z-index:8;display:flex;flex-direction:column;align-items:center;padding-top:4px}.enemy__intent-wrap{position:relative;z-index:6;margin-bottom:6px}.enemy__presence{position:relative;width:clamp(118px,18vh,172px);height:clamp(118px,18vh,172px);display:grid;place-items:center;margin:2px 0 6px}.enemy__halo{position:absolute;top:-26%;right:-26%;bottom:-26%;left:-26%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tint) 26%,transparent) 0%,transparent 66%);filter:blur(14px);animation:haloPulse 4.5s ease-in-out infinite}.enemy__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--tint) 45%,transparent);animation:rotateSlow 34s linear infinite}.enemy__ring span{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;border:1px solid rgba(255,255,255,.07)}.enemy__ring span:last-child{top:-7px;right:-7px;bottom:-7px;left:-7px;border-color:color-mix(in srgb,var(--tint) 22%,transparent);border-style:dotted;animation:rotateSlow 24s linear infinite reverse}.enemy__sigil{position:relative;width:76%;height:76%;display:grid;place-items:center;border-radius:50%;font-size:clamp(46px,8vh,72px);line-height:1;background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--tint) 18%,transparent),#040509e6 72%),#07080d;border:1px solid color-mix(in srgb,var(--tint) 32%,transparent);box-shadow:inset 0 0 34px #000000d9,0 0 38px color-mix(in srgb,var(--tint) 12%,transparent);filter:drop-shadow(0 10px 26px rgba(0,0,0,.6));transition:filter .25s}.enemy__heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;padding:0 8px}.enemy__heading h2{font-family:var(--serif);font-size:clamp(18px,2.4vw,24px);font-weight:600;letter-spacing:.12em;color:#fbf5e7;text-shadow:0 2px 18px rgba(0,0,0,.7)}.enemy__epithet{font-size:9.5px;letter-spacing:.2em;color:var(--muted)}.enemy__vitals{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:7px}.enemy__badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;min-height:22px}.hp{--hp-color-a: #a9301f;--hp-color-b: #e0583f;width:clamp(240px,32vw,342px);display:flex;flex-direction:column;gap:4px}.hp--player{--hp-color-a: #257a55;--hp-color-b: #6fdcab}.hp__track{position:relative;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#0009;box-shadow:inset 0 2px 5px #000000d9,0 1px #ffffff0d;overflow:hidden}.hp__fill{position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--hp-color-a),var(--hp-color-b));box-shadow:0 0 12px color-mix(in srgb,var(--hp-color-b) 60%,transparent);transition:width .6s var(--ease-out);overflow:hidden}.hp__fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 21px,rgba(0,0,0,.22) 21px 22px)}.hp__gloss{position:absolute;top:1px;right:1px;bottom:55%;left:1px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent)}.hp__label{display:flex;align-items:baseline;justify-content:center;gap:5px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.hp__label b{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--text);letter-spacing:.02em}.hp__heart{font-size:9px;color:var(--hp-color-b)}.hp--low .hp__fill{animation:hpPulse 1.1s ease-in-out infinite}.hp--compact{width:100%}.hp--compact .hp__track{height:10px}.hp--compact .hp__label{justify-content:flex-start;padding-left:2px}.hp--compact .hp__label b{font-size:14px}.block-badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(111,184,255,.5);background:linear-gradient(180deg,#3c76b459,#142a4680);color:#b9dcff;font-size:11px;box-shadow:0 0 16px #5aa0ff29}.block-badge b{font-size:13px;color:#e3f2ff}.statuses{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0006;font-size:9px;cursor:help}.status b{font-size:10px}.status--buff{color:var(--jade);border-color:#5fd6a452;background:#2660483d}.status--debuff{color:#ff9d8a;border-color:#e0503c57;background:#60221a42}.intent{position:relative;display:flex;align-items:center;gap:9px;min-height:42px;padding:5px 12px 5px 8px;border-radius:999px;border:1px solid rgba(233,196,106,.35);background:linear-gradient(180deg,#1e1c26f7,#0a0a10f7);box-shadow:0 12px 28px #0000008c,inset 0 1px #ffffff12;cursor:help;animation:intentFloat 4s ease-in-out infinite}.intent--attack{border-color:#e0503c8c;box-shadow:0 12px 28px #0000008c,0 0 22px #e0503c24}.intent--defend{border-color:#6fb8ff80}.intent--buff{border-color:#e9c46a8c}.intent--debuff{border-color:#6ee0b373}.intent__pulse{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:1px solid currentColor;opacity:0;color:#e9c46a80;animation:intentPulse 3.2s ease-out infinite;pointer-events:none}.intent__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-size:16px}.intent__body{display:flex;align-items:baseline;gap:7px;line-height:1}.intent__value{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--text);letter-spacing:.01em}.intent__value--damage{color:#ff9a7c;text-shadow:0 0 16px rgba(255,100,70,.6)}.intent__value--damage small{font-family:var(--sans);font-size:12px;margin-left:1px;color:#ffc0a8}.intent__value--block{font-size:15px;color:#a8d4ff}.intent__value--text{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--gold)}.intent__name{font-size:10px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}.intent__hint{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid rgba(244,238,226,.2);font-size:9px;color:var(--muted);margin-left:2px}.intent__pop{position:absolute;top:calc(100% + 12px);left:50%;width:292px;padding:14px 15px;border-radius:12px;border:1px solid rgba(233,196,106,.28);background:#08090efa;box-shadow:0 24px 50px #000000bf;transform:translate(-50%) translateY(-6px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:80;text-align:left;animation:none;cursor:default;pointer-events:auto}.intent__pop:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.intent:hover .intent__pulse,.intent:focus-within .intent__pulse{animation:none;opacity:0}.intent:hover .intent__pop,.intent:focus-within .intent__pop{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.intent__pop h4{display:flex;align-items:center;gap:6px;font-family:var(--serif);font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--gold-bright)}.intent__pop p{margin-top:7px;font-size:11.5px;line-height:1.7;color:var(--text-dim)}.intent__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.intent__tags span{padding:2px 7px;border-radius:999px;border:1px solid rgba(244,238,226,.16);font-size:9px;color:var(--text-dim)}.intent__pop .intent__reason{margin-top:10px;padding-top:9px;border-top:1px solid rgba(233,196,106,.16);color:#e9c46ad9;font-size:10.5px;font-style:italic}.player{position:relative;z-index:3;display:flex;align-items:center;gap:13px;width:min(640px,100%);padding:11px 15px;border-radius:15px;border:1px solid rgba(233,196,106,.3);background:radial-gradient(140% 130% at 0% 0%,rgba(233,196,106,.08),transparent 55%),linear-gradient(180deg,#161821f2,#08090ef5);box-shadow:0 18px 40px #00000080,inset 0 1px #ffffff0d}.player__crest{flex:none;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(233,196,106,.45);background:radial-gradient(circle at 50% 35%,#e9c46a33,#0009 72%),#0a0b10;font-size:25px;box-shadow:0 0 20px #e9c46a1f}.player__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.player__heading{display:flex;align-items:baseline;gap:9px}.player__heading h3{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:.16em;color:var(--text)}.player__heading .kicker{font-size:8px;letter-spacing:.28em;opacity:.6}.player__badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:20px}.traps{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding-left:12px;border-left:1px solid rgba(244,238,226,.07)}.traps__label{font-size:8px;letter-spacing:.28em;color:var(--muted)}.traps__slots{display:flex;gap:5px}.trap-slot{width:40px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:8px;border:1px dashed rgba(244,238,226,.14);background:#00000040;cursor:help}.trap-slot i{font-style:normal;font-size:15px;line-height:1}.trap-slot em{font-style:normal;font-size:7px;letter-spacing:.02em;color:var(--muted);max-width:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trap-slot--empty{opacity:.45}.trap-slot--empty i{font-size:12px;color:var(--dim)}.trap-slot--filled{border-style:solid;border-color:#6ee0b366;background:radial-gradient(circle at 50% 30%,rgba(110,224,179,.14),transparent 70%),#00000059;color:var(--jade);box-shadow:0 0 14px #6ee0b31f}.trap-slot--filled em{color:#b4f0d7bf}.mana{display:flex;flex-direction:column;align-items:center;gap:5px}.mana__orbs{display:flex;gap:6px}.mana__orb{position:relative;width:22px;height:22px;border-radius:50%;border:1px solid rgba(111,184,255,.25);background:#0a1422b3;box-shadow:inset 0 2px 4px #0009;transition:background .3s,box-shadow .3s,border-color .3s}.mana__orb i{position:absolute;top:3px;left:5px;width:6px;height:4px;border-radius:50%;background:#fff3}.mana__orb.is-full{border-color:#a0d7ffd9;background:radial-gradient(circle at 38% 28%,#e8f6ff,#7cc4ff 38%,#1e5e9e 78%,#0a2240);box-shadow:0 0 14px #6fb8ff8c,inset 0 -2px 5px #00142899}.mana__orb.is-full.is-bonus{border-color:#e9c46ae6;background:radial-gradient(circle at 38% 28%,#fff6d6,#e9c46a 42%,#a97c2f 82%,#3a2a0e);box-shadow:0 0 16px #e9c46a99,inset 0 -2px 5px #3c280099}.mana__label{display:flex;align-items:baseline;gap:4px;font-size:8px;letter-spacing:.16em;color:#96bee6b3}.mana__label b{font-family:var(--serif);font-size:15px;color:#cfe9ff}.log{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:2;width:186px;max-height:230px;display:flex;flex-direction:column;gap:6px;padding:10px 10px 10px 12px;border-left:1px solid rgba(233,196,106,.18);background:linear-gradient(90deg,rgba(8,9,14,.55),transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);pointer-events:none}.log__title{font-size:8px;font-weight:700;letter-spacing:.3em;color:var(--gold);opacity:.7}.log__body{display:flex;flex-direction:column;gap:3px;overflow-y:auto;scrollbar-width:none}.log__body::-webkit-scrollbar{display:none}.log__line{font-size:9.5px;line-height:1.55;color:#b9b1c1ad;letter-spacing:.01em}.log__line--good{color:#78dcb2e6}.log__line--danger{color:#ff9682e6}.log__line--muted{color:#8c849a8c}.dock{position:relative;z-index:4;display:flex;align-items:flex-end;gap:clamp(10px,2vw,24px);padding:4px 0 14px}.dock__hand{flex:1;min-width:0}.dock__side{flex:none;width:190px;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-bottom:8px}.dock__hint{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:8.5px;letter-spacing:.04em;color:var(--dim)}.dock__hint .keycap{min-width:15px;height:15px;padding:0 3px;font-size:8px}.end-turn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:72px;padding:8px 10px 10px;border-radius:13px;border:1px solid rgba(233,196,106,.55);background:radial-gradient(120% 130% at 50% 0%,rgba(233,196,106,.2),transparent 62%),linear-gradient(180deg,#2b251bf5,#0f0d0bf7);color:var(--gold-bright);box-shadow:0 14px 30px #00000080,inset 0 1px #ffffff1a,0 0 26px #e9c46a1a;transition:transform .2s var(--ease-out),box-shadow .2s,filter .2s;overflow:hidden}.end-turn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,233,181,.16) 50%,transparent 70%);transform:translate(-120%);transition:transform .6s}.end-turn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 20px 38px #0000008c,0 0 40px #e9c46a38}.end-turn:hover:not(:disabled):before{transform:translate(120%)}.end-turn:active:not(:disabled){transform:translateY(-1px) scale(.99)}.end-turn:disabled{opacity:.55;filter:saturate(.4)}.end-turn__main{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.16em}.end-turn__sub{font-size:8.5px;letter-spacing:.12em;color:#f4eee28c}.end-turn__key{position:absolute;top:5px;right:7px;font-size:7px;letter-spacing:.12em;color:#e9c46a66}.end-turn.is-busy{animation:endTurnBusy 1.2s ease-in-out infinite}.popup{position:absolute;z-index:320;display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;animation:popupFloat 1.1s cubic-bezier(.16,.8,.22,1) forwards;will-change:transform,opacity}.popup__main{font-family:var(--serif);font-size:36px;font-weight:800;line-height:1.05;letter-spacing:.01em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 18px rgba(255,255,255,.35);white-space:nowrap}.popup__sub{font-size:9px;letter-spacing:.1em;color:#f4eee2b3;text-shadow:0 1px 3px #000;white-space:nowrap}.popup--damage .popup__main{color:#ff6d55;text-shadow:0 2px 0 #2a0503,0 0 24px rgba(255,70,45,.85)}.popup--heal .popup__main{color:#8df0be;text-shadow:0 2px 0 #032417,0 0 24px rgba(95,214,164,.75)}.popup--block .popup__main{color:#a9d6ff;font-size:27px;text-shadow:0 2px 0 #041a2c,0 0 22px rgba(111,184,255,.7)}.popup--status .popup__main{color:#dcc6ff;font-size:25px;text-shadow:0 2px 0 #180a2a,0 0 20px rgba(183,155,255,.65)}.popup--mana .popup__main{color:#ffe6a3;font-size:26px}@keyframes popupFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(var(--tilt, 0deg))}16%{opacity:1;transform:translate(-50%,-58%) scale(1.14) rotate(var(--tilt, 0deg))}32%{transform:translate(-50%,-70%) scale(1) rotate(var(--tilt, 0deg))}to{opacity:0;transform:translate(-50%,calc(-50% - 84px)) scale(.92) rotate(var(--tilt, 0deg))}}.spark{position:absolute;z-index:310;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#ffd9a0;box-shadow:0 0 10px #ffbe78f2;animation:sparkFly .6s cubic-bezier(.1,.8,.3,1) forwards;pointer-events:none}@keyframes sparkFly{0%{transform:translate(0) scale(1.2);opacity:1}to{transform:translate(var(--dx, 0px),var(--dy, 0px)) scale(.2);opacity:0}}.banner{position:absolute;top:16%;left:50%;transform:translate(-50%);z-index:340;display:flex;align-items:center;gap:clamp(10px,2vw,26px);pointer-events:none;animation:bannerLife 1.65s ease forwards}.banner__text{font-family:var(--serif);font-size:clamp(22px,3.4vw,36px);font-weight:600;letter-spacing:.24em;color:var(--gold-bright);text-indent:.24em;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 30px rgba(233,196,106,.45)}.banner__line{width:clamp(24px,8vw,110px);height:1px;background:linear-gradient(90deg,transparent,rgba(233,196,106,.75),transparent)}.banner--danger .banner__text{color:#ff9b86;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 30px rgba(224,80,60,.5)}.banner--danger .banner__line{background:linear-gradient(90deg,transparent,rgba(224,80,60,.8),transparent)}.banner--info .banner__text{color:#d8ecff;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 26px rgba(111,184,255,.35)}.banner--good .banner__text{color:#9df3c8;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 26px rgba(95,214,164,.4)}.banner--good .banner__line{background:linear-gradient(90deg,transparent,rgba(95,214,164,.7),transparent)}.banner--gold .banner__text{font-size:clamp(30px,5vw,52px);letter-spacing:.36em}@keyframes bannerLife{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.94);filter:blur(4px)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:blur(0)}72%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-14px) scale(1.02);filter:blur(3px)}}.fx-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:290;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(190,30,20,.32) 100%)}.fx-vignette.is-flashing{animation:vignetteFlash .4s ease-out}.fx-host.is-shaking .fx-stage{animation:shakeSoft .4s cubic-bezier(.36,.07,.19,.97)}.fx-host.is-shaking--hard .fx-stage{animation:shakeHard .46s cubic-bezier(.36,.07,.19,.97)}.enemy.is-hit,.player.is-hit{animation:hitBlink .3s ease-out}.enemy.is-hit .enemy__sigil{filter:brightness(2) saturate(.4) drop-shadow(0 0 30px rgba(255,90,60,.8))}.player.is-hit{border-color:#ff6450cc}@keyframes haloPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@keyframes intentPulse{0%{transform:scale(1);opacity:.5}70%,to{transform:scale(1.12);opacity:0}}@keyframes hpPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes shakeSoft{10%,90%{transform:translate3d(-2px,1px,0)}20%,80%{transform:translate3d(4px,-2px,0)}30%,50%,70%{transform:translate3d(-6px,2px,0)}40%,60%{transform:translate3d(6px,-1px,0)}}@keyframes shakeHard{10%,90%{transform:translate3d(-5px,2px,0) rotate(-.2deg)}20%,80%{transform:translate3d(9px,-4px,0) rotate(.25deg)}30%,50%,70%{transform:translate3d(-13px,4px,0) rotate(-.35deg)}40%,60%{transform:translate3d(13px,-3px,0) rotate(.35deg)}}@keyframes hitBlink{0%{filter:brightness(1)}22%{filter:brightness(1.7) saturate(.6) hue-rotate(-12deg)}to{filter:brightness(1)}}@keyframes vignetteFlash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes endTurnBusy{0%,to{border-color:#e9c46a59}50%{border-color:#e9c46acc;box-shadow:0 0 30px #e9c46a40}}@media (max-width: 1180px){.log{display:none}}@media (max-width: 900px){.battle-frame{padding:10px 12px 0}.dock{flex-direction:column;align-items:stretch;gap:6px}.dock__side{width:100%;flex-direction:row;align-items:center;justify-content:flex-end;padding-bottom:10px}.dock__hint{margin-right:auto;justify-content:flex-start}.end-turn{width:210px;height:58px}.player{width:100%}.arena{min-height:320px}}@media (max-width: 640px){.battle-top{flex-wrap:wrap;gap:8px}.battle-top__center{order:3;width:100%;flex-direction:row;justify-content:center;gap:10px;padding-top:2px}.pile-btn{padding:0 8px;font-size:9px}.battle-top__actions{margin-left:auto}.enemy__intent-wrap{transform:scale(.92)}.intent__pop{width:min(270px,80vw)}.arena__bottom{flex-direction:column;align-items:stretch;gap:6px}.arena__mana{order:-1;align-self:flex-end;padding-bottom:0}.player{padding:9px 11px;gap:9px}.player__crest{width:42px;height:42px;font-size:19px}.traps{padding-left:8px}.trap-slot{width:34px;height:38px}.log{display:none}.banner{top:20%}.end-turn{width:100%}}.reward-screen{position:relative;min-height:100dvh;display:grid;place-items:center;padding:46px 24px;overflow:hidden;background:radial-gradient(900px 600px at 50% 0%,rgba(233,196,106,.09),transparent 62%),radial-gradient(800px 500px at 50% 100%,rgba(95,214,164,.05),transparent 68%)}.reward-rays{position:absolute;top:46%;left:50%;width:min(1300px,150vh);height:min(1300px,150vh);transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(233,196,106,.055) 0deg 2.4deg,transparent 2.4deg 15deg);mask-image:radial-gradient(circle,#000 0%,transparent 60%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 60%);animation:rotateSlow 110s linear infinite;pointer-events:none}.reward-inner{position:relative;z-index:2;width:min(940px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}.reward-head .screen-title{margin-top:8px;font-size:clamp(34px,5vw,54px)}.reward-sub{margin-top:12px;font-size:12.5px;line-height:1.9;letter-spacing:.06em;color:var(--text-dim)}.reward-meta{display:flex;justify-content:center;gap:22px;margin-top:14px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.reward-meta b{font-family:var(--serif);font-size:14px;color:var(--gold-bright);margin:0 2px}.reward-actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.reward-actions__heal{font-size:10px;color:var(--jade);letter-spacing:.04em}.end-screen{display:grid;place-items:center;padding:44px 24px;overflow:hidden}.end-rays{position:absolute;top:50%;left:50%;width:min(1300px,160vh);height:min(1300px,160vh);transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(233,196,106,.06) 0deg 2.6deg,transparent 2.6deg 16deg);mask-image:radial-gradient(circle,#000 0%,transparent 62%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 62%);animation:rotateSlow 100s linear infinite;pointer-events:none}.end-screen--defeat .end-rays{background:repeating-conic-gradient(from 0deg,rgba(224,80,60,.055) 0deg 2.6deg,transparent 2.6deg 16deg)}.end-panel{position:relative;z-index:2;width:min(720px,100%);padding:40px clamp(22px,4vw,48px);text-align:center;border-radius:22px;border:1px solid rgba(233,196,106,.28);background:radial-gradient(120% 80% at 50% 0%,rgba(233,196,106,.08),transparent 60%),linear-gradient(180deg,#12141df0,#07080cf5);box-shadow:var(--shadow-lg),inset 0 0 0 1px #ffffff0a;animation:fadeUp .6s var(--ease-out) both}.end-screen--defeat .end-panel{border-color:#e0503c4d;background:radial-gradient(120% 80% at 50% 0%,rgba(224,80,60,.08),transparent 60%),linear-gradient(180deg,#141014f0,#080609f5)}.end-title{margin:16px 0 6px;font-family:var(--serif);font-size:clamp(54px,10vw,96px);font-weight:700;letter-spacing:.28em;line-height:1.1;text-indent:.28em}.end-title--gold{background:linear-gradient(180deg,#fff8e4,#f0cf86 40%,#b98a35);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 28px rgba(233,196,106,.35));animation:endTitleGlow 3.4s ease-in-out infinite}.end-title--blood{background:linear-gradient(180deg,#ffd9cf,#e8705c 45%,#8e2a1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 26px rgba(224,80,60,.3))}.end-lead{margin:10px auto 0;max-width:520px;font-family:var(--serif);font-size:12.5px;line-height:2;letter-spacing:.06em;color:var(--text-dim)}.end-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:30px 0;background:#e9c46a2e;border:1px solid rgba(233,196,106,.18);border-radius:12px;overflow:hidden}.end-stats div{padding:16px 8px;background:#0a0b11f2}.end-stats dt{font-size:9px;letter-spacing:.22em;color:var(--muted);margin-bottom:6px}.end-stats dd{font-family:var(--serif);font-size:24px;letter-spacing:.04em;color:var(--gold-bright);line-height:1}.end-stats dd span{font-family:var(--sans);font-size:10px;color:var(--muted);letter-spacing:.04em}.end-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}@keyframes endTitleGlow{0%,to{filter:drop-shadow(0 4px 24px rgba(233,196,106,.28))}50%{filter:drop-shadow(0 4px 40px rgba(233,196,106,.5))}}@media (max-width: 720px){.reward-screen{padding:30px 16px}.reward-cards{gap:10px}.reward-card .card{--card-w: min(148px, 40vw)}.end-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.end-title{letter-spacing:.16em;text-indent:.16em}.end-panel{padding:30px 18px}}
