:root{--ink: #070b0c;--deep: #08171a;--teal: #0e262b;--teal-soft: #14343a;--gold: #d9b45a;--gold-bright: #f0d58a;--gold-dim: #8a7238;--paper: #e9e3d4;--muted: #8d9a99;--danger: #c0634f;--ok: #6fae8f;--line: rgba(217, 180, 90, .22);--shadow: 0 18px 40px rgba(0, 0, 0, .55);--radius: 14px;--font-serif: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", serif;--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%;color-scheme:dark;background-color:#070b0c}html,body{margin:0;padding:0;min-height:100%;width:100%;background:var(--ink);color:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{background-image:radial-gradient(120% 80% at 50% -10%,#14343ad9,#08171a99 45%,#070b0c),radial-gradient(60% 40% at 85% 110%,rgba(217,180,90,.07) 0%,transparent 70%);background-attachment:fixed}.app{max-width:1320px;margin:0 auto;padding:14px 14px calc(88px + env(safe-area-inset-bottom,0px));min-height:100vh}.page,.layout{display:flex;flex-direction:column;gap:14px}.col-main,.col-side,.col-log{display:flex;flex-direction:column;gap:14px;min-width:0}@media (min-width: 1024px){.app{padding:22px 22px 40px}.layout{display:grid;grid-template-columns:296px minmax(0,1fr) 330px;grid-template-areas:"side main log";gap:18px;align-items:start}.col-main{grid-area:main}.col-side{grid-area:side}.col-log{grid-area:log}.tabbar{display:none}.nav-desktop{display:flex}}@media (min-width: 720px) and (max-width: 1023px){.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"main side";gap:16px;align-items:start}.col-main{grid-area:main}.col-side{grid-area:side}.col-log{grid-area:main}}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.gold{color:var(--gold)}.center{text-align:center}.row{display:flex;gap:10px;align-items:center}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.card{background:linear-gradient(180deg,#0e262beb,#09181bf0);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,180,90,.45),transparent)}.section-title{font-family:var(--font-serif);font-size:15px;letter-spacing:.18em;color:var(--gold);margin:0 0 10px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;font-size:13px;color:var(--muted)}.topbar .name{color:var(--paper);font-family:var(--font-serif);font-size:17px;letter-spacing:.08em}.chip{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--gold);background:#d9b45a0f;white-space:nowrap}.nav-desktop{display:none;gap:6px;margin-left:auto}.nav-desktop button{background:none;border:1px solid transparent;color:var(--muted);font-family:var(--font-serif);font-size:14px;letter-spacing:.1em;padding:8px 14px;border-radius:10px;cursor:pointer}.nav-desktop button:hover{color:var(--paper);border-color:var(--line)}.nav-desktop button[aria-current=true]{color:var(--gold-bright);border-color:var(--line);background:#d9b45a14}.scene{position:relative;height:188px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#0a2226,#07161a 55%,#050c0e);box-shadow:var(--shadow)}.scene svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scene .caption{position:absolute;left:14px;bottom:12px;font-family:var(--font-serif);font-size:13px;letter-spacing:.22em;color:var(--gold-bright);text-shadow:0 2px 10px rgba(0,0,0,.8)}.scene .sun{position:absolute;right:16%;top:14%;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,#f0d58ad9,#d9b45a0d 70%);filter:blur(1px)}.scene .mist{position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(8,23,26,.78));animation:mist-drift 9s ease-in-out infinite alternate}@keyframes mist-drift{0%{opacity:.7;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@media (min-width: 1024px){.scene{height:232px}}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.col-side .stats{grid-template-columns:repeat(2,1fr)}.stat{background:#08171ab3;border:1px solid rgba(217,180,90,.12);border-radius:10px;padding:10px 12px}.stat .k{font-size:12px;color:var(--muted);letter-spacing:.08em}.stat .v{font-family:var(--font-serif);font-size:18px;color:var(--paper);margin-top:4px}.stat .v small{font-size:12px;color:var(--muted);font-family:var(--font-sans)}.bar{height:10px;border-radius:999px;background:#00000073;border:1px solid rgba(217,180,90,.16);overflow:hidden}.bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#a98534,var(--gold-bright));transition:width .35s ease}.bar.hp>i{background:linear-gradient(90deg,#7a2f26,#c0634f)}.bar.exp>i{box-shadow:0 0 12px #f0d58a66}.log-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;padding-right:2px}.log-item{font-size:14px;line-height:1.7;padding:10px 12px;border-left:2px solid rgba(217,180,90,.3);background:#08171a80;border-radius:0 8px 8px 0}.log-item .t{display:block;font-size:11px;color:var(--gold-dim);letter-spacing:.1em;margin-bottom:3px}.log-item.milestone{border-left-color:var(--gold);background:#d9b45a14}.log-item.danger{border-left-color:var(--danger);background:#c0634f14}.log-item.omen{border-left-color:#8cc8be80}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#070b0cb8,#070b0cfa);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.tabbar button{flex:1;max-width:120px;background:none;border:0;color:var(--muted);font-family:var(--font-serif);font-size:13px;letter-spacing:.12em;padding:10px 6px;cursor:pointer;border-radius:10px;min-height:46px}.tabbar button[aria-current=true]{color:var(--gold-bright);background:#d9b45a17}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gold-dim);background:linear-gradient(180deg,#d9b45a24,#d9b45a0a);color:var(--gold-bright);font-family:var(--font-serif);font-size:16px;letter-spacing:.12em;padding:13px 18px;border-radius:12px;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease;min-height:48px;width:100%}.btn:hover{background:linear-gradient(180deg,#d9b45a38,#d9b45a12);border-color:var(--gold)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(180deg,#d9b45ae6,#a98534e6);color:#23180a;border-color:var(--gold-bright);font-weight:600}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:#d9b45a47;color:var(--paper)}.btn.small{font-size:14px;padding:9px 12px;min-height:40px;letter-spacing:.06em}.btn.danger{border-color:#c0634f99;color:#e6a394;background:#c0634f1a}.hero{text-align:center;padding:26px 8px 12px}.hero h1{font-family:var(--font-serif);font-size:clamp(34px,9vw,56px);letter-spacing:.28em;margin:0 0 10px;color:var(--paper);text-shadow:0 0 26px rgba(217,180,90,.35);padding-left:.28em}.hero .sub{font-family:var(--font-serif);letter-spacing:.5em;font-size:13px;color:var(--gold-dim);padding-left:.5em}.hero .flavor{margin-top:18px;font-family:var(--font-serif);color:var(--muted);font-size:14px;line-height:1.9;white-space:pre-line}.awaken{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px 18px;border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 0%,#14343ae6,#071012fa);overflow:hidden}.awaken .aura{position:absolute;top:18%;left:50%;width:210px;height:210px;transform:translate(-50%,-50%);border-radius:50%;filter:blur(26px);opacity:.55;transition:background .5s ease;animation:breathe 4.5s ease-in-out infinite}.awaken .aura-root-heaven{background:radial-gradient(circle,rgba(240,213,138,.9),transparent 68%)}.awaken .aura-root-dual{background:radial-gradient(circle,rgba(150,210,230,.85),transparent 68%)}.awaken .aura-root-triple{background:radial-gradient(circle,rgba(160,200,170,.75),transparent 68%)}.awaken .aura-root-mixed{background:radial-gradient(circle,rgba(180,170,150,.7),transparent 68%)}@keyframes breathe{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(.96)}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.05)}}.awaken .sigil{position:relative;width:118px;height:118px}.awaken .sigil svg{width:100%;height:100%}.awaken .root-name{position:relative;font-family:var(--font-serif);font-size:27px;letter-spacing:.2em;color:var(--gold-bright);padding-left:.2em}.awaken .talent-name{position:relative;font-family:var(--font-serif);font-size:16px;color:var(--paper);letter-spacing:.1em}.awaken.rolling .sigil{animation:roll-spin .45s ease-out}.awaken.rolling .aura{animation:roll-burst .5s ease-out}@keyframes roll-spin{0%{transform:rotate(-12deg) scale(.86);opacity:.4}to{transform:rotate(0) scale(1);opacity:1}}@keyframes roll-burst{0%{opacity:.15}60%{opacity:.95}to{opacity:.55}}.float-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60}.float-text{position:absolute;left:50%;top:46%;transform:translate(-50%);font-family:var(--font-serif);font-size:20px;font-weight:600;letter-spacing:.1em;animation:float-up 1.05s ease-out forwards;text-shadow:0 2px 12px rgba(0,0,0,.9);white-space:nowrap}.float-text.gain{color:var(--gold-bright)}.float-text.loss{color:#e08a76}@keyframes float-up{0%{opacity:0;transform:translate(-50%,8px) scale(.92)}22%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-54px) scale(1.02)}}.flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:55;animation:flash-fade .85s ease-out forwards}.flash.gold{background:radial-gradient(circle at 50% 42%,rgba(240,213,138,.5),transparent 62%)}.flash.red{background:radial-gradient(circle at 50% 42%,rgba(192,99,79,.42),transparent 62%)}@keyframes flash-fade{0%{opacity:0}18%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);max-width:88vw;padding:12px 18px;border-radius:12px;background:#d9b45af2;color:#23180a;font-size:14px;font-family:var(--font-serif);box-shadow:var(--shadow);z-index:70;animation:toast-in .2s ease}.toast.bad{background:#c0634ff5;color:#fff5ef}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted);letter-spacing:.1em}input[type=text]{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:#00000059;color:var(--paper);font-size:16px;font-family:var(--font-serif)}input[type=text]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d9b45a1f}textarea{width:100%;min-height:150px;border-radius:10px;border:1px solid var(--line);background:#00000059;color:var(--paper);padding:12px;font-family:ui-monospace,monospace;font-size:12px}.desc{color:var(--muted);font-size:13px;line-height:1.7}.mono-help{font-size:12px;color:var(--muted);line-height:1.7;word-break:break-all}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (min-width: 1024px){.tabbar{display:none}}.event-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#030809c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .22s ease}.event-overlay.show{opacity:1}.event-card{width:min(520px,100%);max-height:84vh;overflow-y:auto;transform:translateY(10px);transition:transform .24s ease;border-color:#d9b45a66}.event-overlay.show .event-card{transform:translateY(0)}.event-card .event-title{font-family:var(--font-serif);font-size:22px;letter-spacing:.16em;color:var(--gold-bright);margin:0 0 8px}.event-card .event-desc{font-family:var(--font-serif);font-size:14px;line-height:1.95;color:var(--paper);margin:0 0 14px}.event-card .choices{display:flex;flex-direction:column;gap:10px}.scene-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(7,11,12,.28) 0%,transparent 40%,rgba(7,11,12,.55) 100%);pointer-events:none}.scene-tier-1 .scene-img{filter:hue-rotate(-10deg) brightness(1.1) saturate(1.05)}.scene-tier-2 .scene-img{filter:hue-rotate(-22deg) brightness(1.18) saturate(1.12)}.scene .caption,.scene .mist,.scene .sun{z-index:2}.awaken-inner{position:relative;display:flex;gap:16px;align-items:center;width:100%}.awaken-portrait{width:108px;height:144px;object-fit:cover;border-radius:10px;border:1px solid rgba(217,180,90,.35);box-shadow:0 8px 22px #0000008c;flex:0 0 auto}.awaken-info{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.awaken-info .sigil{width:76px;height:76px}.awaken-info .root-name{font-size:23px}@media (max-width: 400px){.awaken-inner{gap:12px}.awaken-portrait{width:88px;height:118px}.awaken-info .sigil{width:60px;height:60px}.awaken-info .root-name{font-size:20px}}.scene{height:210px}@media (min-width: 1024px){.scene{height:260px}}.scene .badge{position:absolute;right:12px;top:12px;z-index:2;font-size:12px;letter-spacing:.12em;color:var(--gold-bright);background:#070b0c99;border:1px solid rgba(217,180,90,.35);border-radius:999px;padding:4px 10px}.scene-explore .scene-img{filter:hue-rotate(-14deg) brightness(1.02) saturate(.95)}.scene-explore.scene-tier-1 .scene-img{filter:hue-rotate(-16deg) brightness(.94) saturate(.9)}.scene-explore.scene-tier-2 .scene-img{filter:hue-rotate(-18deg) brightness(.82) saturate(.85)}.desc{font-size:14px;line-height:1.8;color:#a9b6b4}.stat .k{font-size:12.5px;color:#9dabaa}.stat .v{font-size:19px;font-weight:600}.log-item{font-size:14.5px;line-height:1.8}.log-item .t{font-size:11.5px}.chip{font-size:12.5px}.topbar{font-size:13.5px}.btn{font-size:16.5px}.tabbar button{font-size:14px}.section-title{font-size:15.5px}@media (min-width: 1024px){.desc{font-size:14.5px}.stat .v{font-size:20px}}.combat-row{display:grid;grid-template-columns:40px minmax(0,1fr) 92px;gap:8px;align-items:center;font-size:13px}.combat-label{color:var(--muted);letter-spacing:.08em}.combat-num{text-align:right;color:var(--paper);font-variant-numeric:tabular-nums}.bestiary{display:block;width:100%;border-radius:10px;border:1px solid var(--line);margin:4px 0 10px}.combat-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(.55) blur(1px);z-index:0}.combat-overlay{position:fixed}.combat-overlay .combat-card{position:relative;z-index:2;background:linear-gradient(180deg,#0a1c20f0,#061013f5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scene-tier-2 .scene-img{filter:brightness(1.02) saturate(1.05)}@media (min-width: 1700px){.app{max-width:1560px;padding:26px 28px 44px}.layout{grid-template-columns:320px minmax(0,1fr) 360px;gap:22px}.scene{height:300px}}.combat-log{display:flex;flex-direction:column;gap:4px;max-height:96px;overflow-y:auto;padding:8px 10px;border-radius:8px;background:#00000047;border:1px solid rgba(217,180,90,.14);font-size:13px;line-height:1.6;color:#a9b6b4}.combat-log-line{opacity:.92}.combat-log-line:last-child{color:var(--paper);opacity:1}.combat-overlay .bar>i{transition:width .32s ease}@media (prefers-reduced-motion: reduce){.combat-overlay .bar>i{transition:none}}.combat-stage{position:relative;display:grid;grid-template-columns:1fr 44px 1fr;align-items:end;gap:6px;padding:8px 4px 2px;min-height:168px}.fighter{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;transform-origin:bottom center}.fighter-img{width:108px;height:132px;object-fit:cover;border-radius:12px;border:1px solid rgba(217,180,90,.4);box-shadow:0 10px 24px #0009;animation:fighter-idle 3.6s ease-in-out infinite;will-change:transform}.fighter.enemy .fighter-img{width:132px;height:122px;object-fit:cover;object-position:center 38%;border-color:#c0634f73;animation-delay:.7s}.fighter-label{font-family:var(--font-serif);font-size:12.5px;letter-spacing:.1em;color:var(--muted);max-width:132px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fighter.player .fighter-label{color:var(--gold)}.fighter.enemy .fighter-label{color:#e0a08f}.stage-vs{align-self:center;text-align:center;font-family:var(--font-serif);font-size:20px;color:#d9b45a8c;text-shadow:0 0 14px rgba(217,180,90,.35);-webkit-user-select:none;user-select:none}@keyframes fighter-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}.fighter.lunge-player .fighter-img{animation:lunge-right .42s cubic-bezier(.34,1.56,.64,1)}@keyframes lunge-right{0%{transform:translate(0) scale(1)}35%{transform:translate(26px) scale(1.05) rotate(-2deg)}to{transform:translate(0) scale(1)}}.fighter.lunge-enemy .fighter-img{animation:lunge-left .42s cubic-bezier(.34,1.56,.64,1)}@keyframes lunge-left{0%{transform:translate(0) scale(1)}35%{transform:translate(-26px) scale(1.05) rotate(2deg)}to{transform:translate(0) scale(1)}}.fighter.hurt .fighter-img{animation:hurt-shake .46s ease-out;filter:saturate(1.3)}@keyframes hurt-shake{0%{transform:translate(0);filter:brightness(1.5) saturate(1.6)}20%{transform:translate(-7px) rotate(-1.5deg)}45%{transform:translate(6px) rotate(1.5deg)}70%{transform:translate(-3px)}to{transform:translate(0)}}.fighter.dying .fighter-img{animation:enemy-die .6s ease-in forwards}@keyframes enemy-die{0%{opacity:1;transform:scale(1) rotate(0)}60%{opacity:.6;transform:scale(1.06) rotate(-4deg)}to{opacity:0;transform:scale(.82) translateY(14px) rotate(-8deg)}}.fighter.down .fighter-img{animation:player-down .6s ease-in forwards}@keyframes player-down{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:.35;transform:translateY(18px) rotate(-10deg)}}.damage-number{position:absolute;transform:translate(-50%);font-family:var(--font-serif);font-size:22px;font-weight:700;pointer-events:none;z-index:5;text-shadow:0 2px 10px rgba(0,0,0,.9);animation:damage-float .9s ease-out forwards}.damage-number.hit{color:#f0d58a}.damage-number.crit{color:#ffb066;font-size:27px}.damage-number.heal{color:#8fe0b0}@keyframes damage-float{0%{opacity:0;transform:translate(-50%,6px) scale(.85)}20%{opacity:1;transform:translate(-50%) scale(1.06)}to{opacity:0;transform:translate(-50%,-46px) scale(1)}}@media (max-width: 400px){.fighter-img{width:88px;height:108px}.fighter.enemy .fighter-img{width:108px;height:100px}.combat-stage{min-height:148px}}@media (prefers-reduced-motion: reduce){.fighter-img,.fighter.lunge-player .fighter-img,.fighter.lunge-enemy .fighter-img,.fighter.hurt .fighter-img{animation:none!important}.damage-number{animation:none!important;opacity:1}}.fighter.windup .fighter-img{animation:windup-pose .16s ease-out}@keyframes windup-pose{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(.97) rotate(-4deg)}}.fighter.knockback-enemy .fighter-img{animation:knockback-right .4s ease-out}@keyframes knockback-right{0%{transform:translate(0)}30%{transform:translate(14px)}to{transform:translate(0)}}.fighter.knockback-player .fighter-img{animation:knockback-left .4s ease-out}@keyframes knockback-left{0%{transform:translate(0)}30%{transform:translate(-14px)}to{transform:translate(0)}}.slash-effect{position:absolute;width:74px;height:74px;transform:translate(-50%,-50%) rotate(-24deg);pointer-events:none;z-index:6;background:radial-gradient(closest-side,rgba(255,255,255,.9),rgba(240,213,138,.55) 45%,transparent 70%);clip-path:polygon(8% 46%,92% 40%,96% 54%,10% 62%);animation:slash-flash .4s ease-out forwards}.slash-effect.skill{width:96px;height:96px;background:radial-gradient(closest-side,rgba(255,210,140,.95),rgba(255,140,70,.6) 45%,transparent 72%)}@keyframes slash-flash{0%{opacity:0;transform:translate(-50%,-50%) rotate(-24deg) scale(.6)}25%{opacity:1;transform:translate(-50%,-50%) rotate(-24deg) scale(1.08)}to{opacity:0;transform:translate(-50%,-50%) rotate(-24deg) scale(1.16)}}.damage-number.skill{color:#ffb066;font-size:27px}@media (max-width: 430px){.combat-card{max-height:92vh;overflow-y:auto;padding:12px}.combat-stage{min-height:132px}.fighter-img{width:78px;height:96px}.fighter.enemy .fighter-img{width:96px;height:88px}.combat-log{display:none}.combat-card .choices{gap:8px}.combat-card .choices .btn{min-height:44px;font-size:15px}}@media (prefers-reduced-motion: reduce){.fighter.windup .fighter-img,.fighter.knockback-player .fighter-img,.fighter.knockback-enemy .fighter-img{animation:none!important}.slash-effect{animation:none!important;opacity:0}}.segmented{display:flex;gap:8px}.seg-btn{flex:1;min-height:44px;border-radius:10px;border:1px solid rgba(217,180,90,.28);background:#00000040;color:var(--muted);font-family:var(--font-serif);font-size:14px;cursor:pointer}.seg-btn.active{border-color:var(--gold);color:var(--gold-bright);background:#d9b45a24}.telegraph-bar{margin:0;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--muted);background:#00000038;border:1px solid rgba(217,180,90,.12);text-align:center}.telegraph-bar.active{color:#ffd27a;border-color:#ffa04699;background:#ff8c3c1f;animation:telegraph-pulse 1.1s ease-in-out infinite}@keyframes telegraph-pulse{0%,to{box-shadow:0 0 #ff963c00}50%{box-shadow:0 0 16px #ff963c59}}@media (prefers-reduced-motion: reduce){.telegraph-bar.active{animation:none}}.combat-resources{display:flex;justify-content:center;gap:18px;padding:8px 10px;border-radius:10px;background:#00000047;border:1px solid rgba(217,180,90,.16)}.res-item{display:inline-flex;align-items:center;gap:6px}.res-icon{width:18px;height:18px;object-fit:contain}.res-label{font-size:12.5px;color:var(--muted);letter-spacing:.06em}.res-value{font-family:var(--font-serif);font-size:16px;color:var(--gold-bright);font-variant-numeric:tabular-nums}@media (max-width: 430px){.combat-resources{gap:12px;padding:6px 8px}.res-value{font-size:15px}}.shop-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shop-stock{font-family:var(--font-serif);color:var(--gold-bright);font-size:14px}.shop-row .btn{flex:1;min-width:120px;min-height:42px}.fighter.enemy .fighter-img{width:122px;height:122px;border-radius:50%;object-fit:cover;object-position:50% 50%;border:2px solid rgba(217,180,90,.42);box-shadow:0 10px 24px #0009,inset 0 0 0 1px #00000080;background:#0a1416}.fighter.enemy[data-enemy=iron-wolf] .fighter-img{object-position:72% 62%}.fighter.enemy[data-enemy=red-cat] .fighter-img{object-position:52% 46%}.fighter.enemy[data-enemy=rogue-spirit] .fighter-img{object-position:50% 40%}.fighter.enemy[data-enemy=thunder-qilin] .fighter-img{width:140px;height:140px;object-position:50% 34%;border-color:#ffc45a9e}@media (max-width: 430px){.fighter.enemy .fighter-img{width:96px;height:96px}.fighter.enemy[data-enemy=thunder-qilin] .fighter-img{width:108px;height:108px}}@media (max-width: 430px){.combat-card{max-height:92vh;overflow-y:auto;padding-bottom:18px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.combat-card:after{content:"↓ 下方还有操作按钮，可上下滚动";display:block;text-align:center;font-size:12px;color:#d9b45a9e;padding:6px 0 2px;letter-spacing:.06em}}.app{position:relative}@keyframes soft-pulse-fade{0%{box-shadow:0 0 #d9b45a00}22%{box-shadow:0 0 42px 6px #d9b45a29}to{box-shadow:0 0 #d9b45a00}}.app.soft-pulse{animation:soft-pulse-fade .6s ease-out}.flash.gold{background:radial-gradient(circle at 50% 42%,rgba(240,213,138,.32),transparent 62%)}.flash.red{background:radial-gradient(circle at 50% 42%,rgba(192,99,79,.3),transparent 62%)}@media (prefers-reduced-motion: reduce){.app.soft-pulse{animation:none}.flash{display:none}}.soft-pulse{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:54;background:radial-gradient(circle at 50% 46%,rgba(217,180,90,.16),transparent 60%);animation:soft-pulse-fade .6s ease-out forwards}@keyframes soft-pulse-fade{0%{opacity:0}30%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.soft-pulse{display:none}}.bar.exp,.card,.stat-value,.v{transition:box-shadow .35s ease,color .35s ease}.bar.exp.value-pulse{box-shadow:0 0 0 1px #d9b45a8c,0 0 14px #d9b45a47}.bar.exp.value-pulse>i{filter:brightness(1.35)}.card.value-pulse{box-shadow:0 0 0 1px #d9b45a47,0 0 18px #d9b45a1f}.stat-value.value-pulse,.v.value-pulse{color:#f3e2b0;text-shadow:0 0 10px rgba(217,180,90,.45)}@keyframes value-pulse-fade{0%{opacity:1}to{opacity:1}}@media (prefers-reduced-motion: reduce){.bar.exp,.card,.stat-value,.v{transition:none}.bar.exp.value-pulse,.card.value-pulse{box-shadow:none}.stat-value.value-pulse,.v.value-pulse{text-shadow:none;color:#e8c98a}}
