:root{--font-serif: "Songti SC", "STSong", "Noto Serif SC", "SimSun", "Source Han Serif SC", serif;--font-sans: -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;--fs-3xs: 9.5px;--fs-2xs: 10.5px;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-md: 13.5px;--fs-lg: 15px;--fs-xl: 17px;--fs-2xl: 21px;--fs-3xl: 28px;--fs-display: 42px;--lh-tight: 1.25;--lh-snug: 1.45;--lh-base: 1.65;--lh-loose: 1.85;--ls-wide: .22em;--ls-mid: .12em;--ls-tight: .04em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-xs: 3px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 22px;--r-full: 999px;--t-instant: 90ms cubic-bezier(.2, .7, .3, 1);--t-fast: .16s cubic-bezier(.2, .7, .3, 1);--t-base: .28s cubic-bezier(.2, .7, .3, 1);--t-slow: .46s cubic-bezier(.2, .7, .3, 1);--t-spring: .52s cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--z-base: 1;--z-nav: 40;--z-mask: 60;--z-toast: 80;--z-fx: 100}:root[data-theme=paper]{--bg: #f4efe4;--bg-2: #e9e0cd;--panel: rgba(255, 253, 248, .82);--panel-2: rgba(252, 249, 242, .95);--panel-3: rgba(255, 255, 255, .96);--ink: #1f1b15;--ink-2: #4e4638;--ink-3: #7e7362;--ink-4: #a89c88;--line: rgba(31, 27, 21, .12);--line-2: rgba(31, 27, 21, .26);--line-3: rgba(31, 27, 21, .42);--seal: #a03a2c;--seal-2: #c2563f;--seal-soft: rgba(160, 58, 44, .1);--gold: #96762c;--gold-2: #c09a3e;--gold-soft: rgba(150, 118, 44, .12);--jade: #4f6b55;--jade-soft: rgba(79, 107, 85, .12);--violet: #6b5f9a;--violet-soft: rgba(107, 95, 154, .14);--azure: #4a6b8b;--azure-soft: rgba(74, 107, 139, .12);--good: #4a6b52;--good-soft: rgba(74, 107, 82, .12);--bad: #a03a2c;--bad-soft: rgba(160, 58, 44, .1);--shadow-1: 0 2px 6px -3px rgba(31, 27, 21, .18);--shadow-2: 0 10px 26px -16px rgba(31, 27, 21, .42);--shadow-3: 0 22px 50px -28px rgba(31, 27, 21, .58);--glow-seal: 0 0 0 1px rgba(160, 58, 44, .22), 0 6px 18px -10px rgba(160, 58, 44, .5);--glow-gold: 0 0 0 1px rgba(150, 118, 44, .3), 0 6px 20px -10px rgba(150, 118, 44, .55);--hairline: linear-gradient(135deg, rgba(31, 27, 21, .2), rgba(31, 27, 21, .05) 40%, rgba(150, 118, 44, .18));--noise-op: .26;--veil: rgba(244, 239, 228, .9)}:root[data-theme=night]{--bg: #0e1219;--bg-2: #080b10;--panel: rgba(22, 28, 38, .84);--panel-2: rgba(28, 35, 47, .95);--panel-3: rgba(33, 41, 54, .97);--ink: #ece6d8;--ink-2: #b9b1a0;--ink-3: #857d6e;--ink-4: #5d574c;--line: rgba(201, 162, 39, .15);--line-2: rgba(201, 162, 39, .32);--line-3: rgba(201, 162, 39, .5);--seal: #d4785f;--seal-2: #e89176;--seal-soft: rgba(212, 120, 95, .15);--gold: #cfa93c;--gold-2: #e2c463;--gold-soft: rgba(207, 169, 60, .14);--jade: #86b099;--jade-soft: rgba(134, 176, 153, .14);--violet: #a294dd;--violet-soft: rgba(162, 148, 221, .16);--azure: #7fa6c8;--azure-soft: rgba(127, 166, 200, .14);--good: #86b099;--good-soft: rgba(134, 176, 153, .14);--bad: #d4785f;--bad-soft: rgba(212, 120, 95, .14);--shadow-1: 0 2px 8px -3px rgba(0, 0, 0, .6);--shadow-2: 0 12px 30px -16px rgba(0, 0, 0, .85);--shadow-3: 0 26px 60px -30px rgba(0, 0, 0, .95);--glow-seal: 0 0 0 1px rgba(212, 120, 95, .3), 0 6px 20px -8px rgba(212, 120, 95, .45);--glow-gold: 0 0 0 1px rgba(207, 169, 60, .38), 0 6px 22px -8px rgba(207, 169, 60, .5);--hairline: linear-gradient(135deg, rgba(201, 162, 39, .32), rgba(201, 162, 39, .08) 45%, rgba(212, 120, 95, .2));--noise-op: .12;--veil: rgba(14, 18, 25, .88)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-base);letter-spacing:var(--ls-tight);transition:background var(--t-base),color var(--t-base);overscroll-behavior-y:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}[data-tip]{-webkit-touch-callout:none;user-select:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--noise-op);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='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:multiply;will-change:opacity}:root[data-theme=night] body:before{mix-blend-mode:screen;opacity:.05}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1100px 500px at 12% -12%,color-mix(in srgb,var(--seal) 9%,transparent),transparent 68%),radial-gradient(880px 420px at 100% -2%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 68%),linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--bg-2) 62%,transparent))}#root{position:relative;z-index:var(--z-base)}#boot{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);color:var(--ink-3);font-family:var(--font-serif);letter-spacing:.5em;font-size:var(--fs-sm);z-index:99}.app{max-width:1200px;margin:0 auto;padding:calc(var(--sp-4) + env(safe-area-inset-top,0px)) calc(var(--sp-4) + env(safe-area-inset-right,0px)) var(--sp-10) calc(var(--sp-4) + env(safe-area-inset-left,0px));min-height:100%;display:flex;flex-direction:column;gap:var(--sp-3)}.topbar{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);flex-wrap:wrap;overflow:hidden}.topbar:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2) 30%,var(--seal-2) 60%,transparent);opacity:.5}.brand{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-serif);font-size:var(--fs-xl);letter-spacing:var(--ls-wide);color:var(--ink);padding-right:var(--sp-3);border-right:1px solid var(--line)}.brand .seal{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--seal);color:var(--seal);border-radius:var(--r-xs);font-size:var(--fs-lg);letter-spacing:0;background:var(--seal-soft);box-shadow:var(--glow-seal);transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-base)}.brand:hover .seal{transform:rotate(-6deg) scale(1.05)}.topbar-stats{display:flex;gap:var(--sp-4);flex:1;flex-wrap:wrap}.ts{display:flex;flex-direction:column;gap:2px;min-width:0}.ts .k{font-size:var(--fs-3xs);color:var(--ink-3);letter-spacing:var(--ls-wide);text-transform:none}.ts .v{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;line-height:var(--lh-tight);white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:var(--sp-1)}.layout{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-4);align-items:start}@media (max-width: 960px){.layout{grid-template-columns:1fr}.app{padding:calc(var(--sp-2) + env(safe-area-inset-top,0px)) calc(var(--sp-2) + env(safe-area-inset-right,0px)) calc(84px + env(safe-area-inset-bottom,0px)) calc(var(--sp-2) + env(safe-area-inset-left,0px));gap:var(--sp-2)}}.panel{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);overflow:hidden;transition:box-shadow var(--t-base),border-color var(--t-base),transform var(--t-base) var(--ease-out)}.panel+.panel{margin-top:var(--sp-4)}.panel:before,.panel:after{content:"";position:absolute;width:11px;height:11px;pointer-events:none;border:1px solid var(--line-2);opacity:.8;transition:opacity var(--t-base),width var(--t-base),height var(--t-base)}.panel:before{top:6px;left:6px;border-right:0;border-bottom:0}.panel:after{bottom:6px;right:6px;border-left:0;border-top:0}.panel:hover{border-color:var(--line-2);box-shadow:var(--shadow-3)}.panel:hover:before,.panel:hover:after{opacity:1;width:14px;height:14px}.panel-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-family:var(--font-serif);letter-spacing:var(--ls-mid);font-size:var(--fs-lg);color:var(--ink-2);background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 22%,transparent),transparent);position:relative}.panel-h>span:first-child{display:flex;align-items:center;gap:var(--sp-2)}.panel-h:after{content:"";position:absolute;left:0;bottom:-1px;width:34px;height:1px;background:linear-gradient(90deg,var(--seal),transparent);opacity:.55}.panel-b{padding:var(--sp-4)}.realm-block{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}.realm-name{font-family:var(--font-serif);font-size:var(--fs-display);line-height:1.1;letter-spacing:var(--ls-mid);color:var(--ink);text-shadow:0 1px 0 color-mix(in srgb,var(--bg) 70%,transparent)}.realm-name small{font-size:var(--fs-sm);letter-spacing:var(--ls-mid);color:var(--ink-3);margin-left:var(--sp-2)}.realm-desc{color:var(--ink-3);font-size:var(--fs-xs);letter-spacing:var(--ls-mid);margin-top:var(--sp-1)}.orb{width:92px;height:92px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line-2);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--gold) 24%,transparent),transparent 66%);animation:breathe 4.2s ease-in-out infinite;position:relative}.orb:after{content:"";position:absolute;inset:6px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--gold) 30%,transparent);animation:spin 24s linear infinite}.orb span{font-family:var(--font-serif);font-size:var(--fs-2xl);color:var(--gold);letter-spacing:.06em}@keyframes breathe{0%,to{box-shadow:0 0 color-mix(in srgb,var(--gold) 18%,transparent)}50%{box-shadow:0 0 36px 8px color-mix(in srgb,var(--gold) 13%,transparent)}}@keyframes spin{to{transform:rotate(360deg)}}.bar{position:relative;height:10px;border-radius:var(--r-full);background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 12%,transparent)}.bar>i{position:absolute;inset:0 auto 0 0;display:block;border-radius:var(--r-full);background:linear-gradient(90deg,color-mix(in srgb,var(--jade) 72%,transparent),var(--gold-2));transition:width .46s var(--ease-out);overflow:hidden}.bar>i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-100%);animation:barShine 2.6s var(--ease-in-out) infinite}@keyframes barShine{0%{transform:translate(-100%)}55%,to{transform:translate(220%)}}.bar.thin{height:6px}.bar.demon>i{background:linear-gradient(90deg,var(--gold),var(--seal-2))}.bar.life>i{background:linear-gradient(90deg,color-mix(in srgb,var(--jade) 62%,transparent),var(--jade))}.bar.gold>i{background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 62%,transparent),var(--gold-2))}.bar.violet>i{background:linear-gradient(90deg,color-mix(in srgb,var(--violet) 60%,transparent),var(--violet))}.bar-row{margin-top:var(--sp-3)}.bar-lab{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-2xs);color:var(--ink-3);margin-bottom:5px;letter-spacing:var(--ls-mid)}.bar-lab b{color:var(--ink-2);font-weight:500;font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}.kv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);margin-top:var(--sp-4)}@media (max-width: 560px){.kv-grid{grid-template-columns:repeat(2,1fr)}}.kv{position:relative;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg) 42%,transparent);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease-out)}.kv:hover{border-color:var(--line-2);background:color-mix(in srgb,var(--bg) 62%,transparent);transform:translateY(-1px)}.kv .k{font-size:var(--fs-3xs);color:var(--ink-3);letter-spacing:var(--ls-wide)}.kv .v{font-family:var(--font-serif);font-size:var(--fs-lg);margin-top:2px;font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.btn{position:relative;overflow:hidden;font-family:var(--font-sans);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--line-2);background:transparent;color:var(--ink-2);cursor:pointer;letter-spacing:var(--ls-mid);transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--line-3);color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);transform:translateY(-1px);box-shadow:var(--shadow-1)}.btn:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{flex:0 0 auto}.btn-primary{background:linear-gradient(180deg,var(--seal-2),var(--seal));color:#fdf8ee;border-color:transparent;box-shadow:var(--glow-seal)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);color:#fff;background:linear-gradient(180deg,var(--seal-2),var(--seal));box-shadow:0 0 0 1px var(--seal-2),0 10px 26px -10px color-mix(in srgb,var(--seal) 70%,transparent)}.btn-gold{border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:var(--gold);background:color-mix(in srgb,var(--gold) 5%,transparent)}.btn-gold:hover:not(:disabled){background:var(--gold-soft);color:var(--gold-2);border-color:var(--gold);box-shadow:var(--glow-gold)}.btn-jade{border-color:color-mix(in srgb,var(--jade) 55%,transparent);color:var(--jade)}.btn-jade:hover:not(:disabled){background:var(--jade-soft);border-color:var(--jade)}.btn-danger{border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.btn-ghost{border-color:transparent;color:var(--ink-3)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink-2)}.btn-sm{padding:5px 10px;font-size:var(--fs-xs);border-radius:var(--r-sm)}.btn-lg{padding:11px 20px;font-size:var(--fs-md)}.btn-block{width:100%}.btn-icon{padding:6px;width:30px;height:30px}.btn-lg,.btn-block{min-height:44px}@media (max-width: 960px) and (hover: none){.btn-sm{padding:10px 14px}.btn-icon{width:44px;height:44px}.item{min-height:56px}}.ripple-wave{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,currentColor 42%,transparent),transparent 70%);transform:scale(0);animation:rippleOut .56s var(--ease-out) forwards}@keyframes rippleOut{to{transform:scale(2.6);opacity:0}}.btn.loading{color:transparent!important;pointer-events:none}.btn.loading:after{content:"";position:absolute;inset:0;margin:auto;width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:#fff;animation:spin .7s linear infinite}.btn-primary.loading:after{border-top-color:#fff}.btn:not(.btn-primary).loading:after{border-top-color:var(--ink-2)}.posture-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin-top:var(--sp-4)}.posture{padding:var(--sp-3) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:transparent;color:var(--ink-2);cursor:pointer;text-align:center;transition:all var(--t-fast) var(--ease-out)}.posture b{display:block;font-family:var(--font-serif);font-size:var(--fs-lg);letter-spacing:var(--ls-mid);color:var(--ink);font-weight:400}.posture span{font-size:var(--fs-3xs);color:var(--ink-3);letter-spacing:var(--ls-tight)}.posture.on{border-color:var(--seal);background:var(--seal-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--seal) 18%,transparent)}.posture.on b{color:var(--seal)}.posture:hover:not(.on){border-color:var(--line-2);background:color-mix(in srgb,var(--ink) 4%,transparent);transform:translateY(-1px)}.tabs{display:flex;gap:2px;padding:var(--sp-1) var(--sp-1) 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;flex:0 0 auto;padding:var(--sp-2) var(--sp-3);border:0;background:transparent;cursor:pointer;font-family:var(--font-serif);font-size:var(--fs-sm);letter-spacing:var(--ls-mid);color:var(--ink-3);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color var(--t-fast),background var(--t-fast)}.tab:hover{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 4%,transparent)}.tab.on{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.tab.on:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--seal),transparent);border-radius:2px;animation:tabIn .32s var(--ease-out) both}@keyframes tabIn{0%{transform:scaleX(.3);opacity:0}to{transform:scaleX(1);opacity:1}}.tab .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--seal);margin-left:5px;vertical-align:2px;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.list{display:flex;flex-direction:column}.slot-empty{display:inline-flex;opacity:.42;filter:grayscale(.55)}.item:hover .slot-empty{opacity:.6}.list>.item{animation:listIn .34s var(--ease-out) both}.list>.item:nth-child(1){animation-delay:0ms}.list>.item:nth-child(2){animation-delay:26ms}.list>.item:nth-child(3){animation-delay:52ms}.list>.item:nth-child(4){animation-delay:78ms}.list>.item:nth-child(5){animation-delay:104ms}.list>.item:nth-child(6){animation-delay:.13s}.list>.item:nth-child(7){animation-delay:156ms}.list>.item:nth-child(8){animation-delay:182ms}.list>.item:nth-child(9){animation-delay:208ms}.list>.item:nth-child(n+10){animation-delay:.23s}@keyframes listIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.item{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:56px;border-bottom:1px solid var(--line);transition:background var(--t-fast)}.item:last-child{border-bottom:0}.item:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:2px;background:linear-gradient(180deg,transparent,var(--seal),transparent);transform:scaleY(0);transform-origin:center;transition:transform var(--t-base) var(--ease-out)}.item:hover{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.item:hover:before{transform:scaleY(1)}.item-main{flex:1;min-width:0}.item-title{font-family:var(--font-serif);font-size:var(--fs-md);letter-spacing:var(--ls-mid);color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.item-sub{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px;letter-spacing:var(--ls-tight);line-height:var(--lh-snug)}.item-act{flex:0 0 auto;display:flex;gap:6px;align-items:center}.tag{font-size:var(--fs-3xs);padding:1px 6px;border-radius:var(--r-xs);border:1px solid currentColor;letter-spacing:var(--ls-tight);font-family:var(--font-sans);opacity:.9;white-space:nowrap}.q1{color:#8a7a5c}.q2{color:#5a7a5a}.q3{color:#4a6b8b}.q4{color:#7a5a8b}.q5{color:var(--gold)}:root[data-theme=night] .q1{color:#b5a184}:root[data-theme=night] .q2{color:#86b099}:root[data-theme=night] .q3{color:#7fa6c8}:root[data-theme=night] .q4{color:#b39ad6}:root[data-theme=night] .q5{color:var(--gold-2)}.empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--ink-4);font-family:var(--font-serif);letter-spacing:var(--ls-wide);font-size:var(--fs-xs)}.log{height:236px;overflow-y:auto;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);line-height:var(--lh-loose)}.log-item{color:var(--ink-2);animation:fadeUp .28s var(--ease-out) both}.log-item.good{color:var(--good)}.log-item.bad{color:var(--bad)}.log-item.epic{color:var(--gold)}.log-time{color:var(--ink-4);font-size:var(--fs-2xs);margin-right:6px;font-variant-numeric:tabular-nums}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.chat-wrap{display:flex;flex-direction:column;height:320px}.chat-list{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.chat-item{font-size:var(--fs-sm);color:var(--ink-2);animation:fadeUp .22s var(--ease-out) both}.chat-item .who{color:var(--gold);font-family:var(--font-serif);letter-spacing:var(--ls-tight);margin-right:5px}.chat-item.mine .who{color:var(--seal)}.chat-item.sys{color:var(--ink-3);font-style:italic}.chat-input{display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line)}.chat-input input{flex:1}input,select,textarea{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--ink);background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) 11px;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--line-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent);background:color-mix(in srgb,var(--bg) 78%,transparent)}input::placeholder{color:var(--ink-4)}select{appearance:none;cursor:pointer;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select option{background:var(--panel-3);color:var(--ink)}.rank-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);transition:background var(--t-fast)}.rank-row:last-child{border-bottom:0}.rank-row:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}.rank-no{width:26px;font-family:var(--font-serif);color:var(--ink-3);font-size:var(--fs-xs);text-align:center}.rank-row.top1 .rank-no{color:var(--gold);font-weight:700}.rank-row.top2 .rank-no{color:var(--ink-2)}.rank-row.top3 .rank-no{color:color-mix(in srgb,var(--seal) 70%,var(--ink-2))}.rank-row.me{background:var(--seal-soft)}.rank-name{flex:1;font-family:var(--font-serif);letter-spacing:var(--ls-tight)}.rank-val{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}.mask{position:fixed;inset:0;z-index:var(--z-mask);display:grid;place-items:center;grid-template-columns:minmax(0,1fr);background:color-mix(in srgb,#000 44%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .22s ease both;padding:var(--sp-4)}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:min(460px,100%);background:var(--panel-2);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-3);animation:inkIn .36s var(--ease-out) both;overflow:hidden;max-height:88vh;display:flex;flex-direction:column}@keyframes inkIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}.modal-h{padding:var(--sp-4) var(--sp-4) var(--sp-2);font-family:var(--font-serif);font-size:var(--fs-xl);letter-spacing:var(--ls-wide);border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 26%,transparent),transparent)}.modal-b{padding:var(--sp-3) var(--sp-4) var(--sp-4);color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-loose);overflow-y:auto;flex:1}.modal-f{display:flex;gap:var(--sp-2);justify-content:flex-end;padding:0 var(--sp-4) var(--sp-4)}@media (max-width: 960px){.mask{padding:calc(var(--sp-2) + env(safe-area-inset-top,0px)) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom,0px))}.modal{max-height:100%}}.toasts{position:fixed;left:50%;bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);align-items:center;width:max-content;max-width:min(92vw,480px);pointer-events:none}.toast{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-full);font-size:var(--fs-sm);letter-spacing:var(--ls-tight);background:var(--panel-3);border:1px solid var(--line-2);color:var(--ink);box-shadow:var(--shadow-3);animation:toastIn .34s var(--ease-spring) both;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}.toast.err{border-color:var(--bad);color:var(--bad);box-shadow:var(--shadow-2),0 0 18px -6px var(--bad)}.toast.ok{border-color:var(--good);color:var(--good);box-shadow:var(--shadow-2),0 0 18px -6px var(--good)}.auth{min-height:100%;display:grid;place-items:center;padding:calc(var(--sp-6) + env(safe-area-inset-top,0px)) calc(var(--sp-6) + env(safe-area-inset-right,0px)) calc(var(--sp-6) + env(safe-area-inset-bottom,0px)) calc(var(--sp-6) + env(safe-area-inset-left,0px));background:url(/img/bg-login.jpg) center / cover no-repeat fixed;position:relative}.auth:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 38%,transparent),color-mix(in srgb,var(--bg) 18%,transparent))}:root[data-theme=night] .auth:before{background:linear-gradient(180deg,#0a0d1299,#0a0d1257)}.auth-card{position:relative;width:min(430px,100%);padding:var(--sp-8) var(--sp-6) var(--sp-5);text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-3);backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);animation:inkIn .56s var(--ease-out) both}.auth-card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2),var(--seal-2),transparent);opacity:.55}.auth-title{font-family:var(--font-serif);font-size:46px;letter-spacing:.4em;margin:0 0 var(--sp-1);text-indent:.4em;text-shadow:0 2px 18px color-mix(in srgb,var(--gold) 30%,transparent)}.auth-sub{color:var(--ink-3);font-size:var(--fs-xs);letter-spacing:.34em;margin-bottom:var(--sp-6)}.auth-fields{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.auth-tip{font-size:var(--fs-2xs);color:var(--ink-4);margin-top:var(--sp-3);line-height:var(--lh-loose)}.auth-switch{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--ink-3)}.auth-switch button{background:none;border:0;color:var(--seal);cursor:pointer;font-size:var(--fs-xs);padding:0 4px}.auth-switch button:hover{text-decoration:underline}.stamp{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--seal);color:var(--seal);border-radius:var(--r-xs);font-family:var(--font-serif);font-size:var(--fs-xs);letter-spacing:0;line-height:1.1;transform:rotate(-4deg);opacity:.88;box-shadow:var(--glow-seal)}.mobile-tabs{display:none}@media (max-width: 960px){.mobile-tabs{display:flex;position:fixed;left:calc(var(--sp-2) + env(safe-area-inset-left,0px));right:calc(var(--sp-2) + env(safe-area-inset-right,0px));bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px));z-index:var(--z-nav);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);padding:5px;gap:2px}.mobile-tabs button{position:relative;flex:1;padding:10px 4px;border:0;background:transparent;color:var(--ink-3);font-family:var(--font-serif);font-size:var(--fs-xs);letter-spacing:var(--ls-mid);border-radius:var(--r-sm);min-height:46px;transition:color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease-out)}.mobile-tabs button.on{background:var(--seal-soft);color:var(--seal)}.mobile-tabs button.on:before{content:"";position:absolute;left:50%;top:3px;transform:translate(-50%);width:16px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--seal),transparent)}.mobile-tabs button:active{transform:scale(.94)}input,select,textarea{font-size:16px}.toasts{bottom:calc(72px + env(safe-area-inset-bottom,0px))}body.kb-open .mobile-tabs{display:none}body.kb-open .app{padding-bottom:calc(var(--sp-6) + env(safe-area-inset-bottom,0px))}}.replay{max-height:200px;overflow-y:auto;font-size:var(--fs-xs);margin-top:var(--sp-2)}.replay-row{display:flex;justify-content:space-between;padding:3px 0;color:var(--ink-2);animation:fadeUp .22s var(--ease-out) both}.replay-row.me{color:var(--seal)}.replay-row.crit{font-weight:600}.divider{height:1px;background:var(--line);margin:var(--sp-3) 0}.row{display:flex;align-items:center;gap:var(--sp-2)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.muted{color:var(--ink-3);font-size:var(--fs-xs)}.serif{font-family:var(--font-serif);letter-spacing:var(--ls-tight)}.num{font-variant-numeric:tabular-nums}.center{text-align:center}.mt4{margin-top:var(--sp-1)}.mt8{margin-top:var(--sp-2)}.mt14{margin-top:var(--sp-3)}.hint{font-size:var(--fs-xs);color:var(--ink-4);letter-spacing:var(--ls-tight)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 18%,transparent);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 30%,transparent)}::-webkit-scrollbar-track{background:transparent}.flex1{flex:1;min-width:0}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--seal);box-shadow:0 0 0 3px var(--seal-soft);animation:pulse 1.8s ease-in-out infinite}.tip{padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-3);border-left:2px solid var(--line-2);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-3);font-size:var(--fs-xs);line-height:var(--lh-loose);letter-spacing:var(--ls-tight);background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 4%,transparent),transparent)}.stage-no{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:var(--r-sm);border:1px solid var(--line-2);color:var(--ink-3);font-size:var(--fs-2xs);font-family:var(--font-serif);line-height:1}.item.dim{opacity:.55}.item.dim:hover{opacity:.85}.item.on{background:var(--seal-soft)}.item.on .item-title{color:var(--seal)}.item.on:before{transform:scaleY(1);background:linear-gradient(180deg,transparent,var(--seal-2),transparent)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{padding:6px 12px;border-radius:var(--r-full);border:1px solid var(--line);background:transparent;color:var(--ink-2);font-size:var(--fs-xs);cursor:pointer;letter-spacing:var(--ls-tight);transition:all var(--t-fast) var(--ease-out)}.chip:hover:not(:disabled){border-color:var(--line-2);color:var(--ink);transform:translateY(-1px)}.chip.on{border-color:var(--seal);color:var(--seal);background:var(--seal-soft)}.chip:disabled{opacity:.4;cursor:not-allowed}.world-bar{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);background:var(--ink-4-soft, rgba(120, 110, 96, .07));border-radius:var(--r-md);animation:fadeUp .36s var(--ease-out) both}.world-bar.tide-flood{border-color:color-mix(in srgb,var(--jade) 34%,var(--line));background:var(--jade-soft)}.world-bar.tide-ebb{border-color:color-mix(in srgb,var(--ink-4) 40%,var(--line));background:color-mix(in srgb,var(--ink-4) 8%,transparent)}.world-bar.has-event{border-color:color-mix(in srgb,var(--seal) 30%,transparent);background:var(--seal-soft)}.quest-strip{border-color:color-mix(in srgb,var(--gold) 34%,var(--line))}.switch{flex:0 0 auto;width:48px;height:27px;border-radius:var(--r-full);padding:0;border:1px solid var(--line-2);background:color-mix(in srgb,var(--ink) 7%,transparent);cursor:pointer;position:relative;transition:all var(--t-base) var(--ease-out)}.switch i{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--ink-4);transition:left var(--t-base) var(--ease-spring),background var(--t-base)}.switch.on{border-color:var(--seal);background:var(--seal-soft)}.switch.on i{left:24px;background:var(--seal);box-shadow:0 0 10px -2px var(--seal)}.sign-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:var(--sp-3)}.sign-cell{padding:var(--sp-2) 2px;text-align:center;border-radius:var(--r-md);border:1px dashed var(--line-2);color:var(--ink-4);transition:all var(--t-fast) var(--ease-out)}.sign-cell .d{display:block;font-family:var(--font-serif);font-size:var(--fs-sm)}.sign-cell .t{display:block;font-size:var(--fs-3xs);letter-spacing:var(--ls-tight)}.sign-cell.on{border-style:solid;border-color:var(--line-2);color:var(--ink-2);background:color-mix(in srgb,var(--jade) 9%,transparent)}.sign-cell.next{border-style:solid;border-color:var(--seal);color:var(--seal);background:var(--seal-soft);box-shadow:0 0 14px -6px var(--seal)}.plot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--sp-2)}.plot{position:relative;aspect-ratio:1 / 1;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg-2) 55%,transparent);color:var(--ink-3);cursor:pointer;transition:all var(--t-base) var(--ease-out)}.plot:hover:not(:disabled){border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-1)}.plot:disabled{opacity:.5;cursor:not-allowed}.plot.growing{background:color-mix(in srgb,var(--jade) 8%,transparent)}.plot.ready{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 11%,transparent);box-shadow:0 0 16px -6px var(--gold);animation:readyGlow 2.4s ease-in-out infinite}@keyframes readyGlow{0%,to{box-shadow:0 0 14px -6px var(--gold)}50%{box-shadow:0 0 22px -4px var(--gold)}}.plot.add{border-style:dashed;color:var(--ink-4)}.plot-idx{position:absolute;top:4px;left:6px;font-size:var(--fs-3xs);color:var(--ink-4)}.plot-herb{font-family:var(--font-serif);font-size:22px;line-height:1}.plot-tip{font-size:var(--fs-3xs);letter-spacing:var(--ls-tight);color:var(--ink-3)}.plot-tip.dim{color:var(--ink-4)}.pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:var(--sp-2)}.pet-chip{padding:var(--sp-2) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg-2) 42%,transparent);transition:all var(--t-fast) var(--ease-out)}.pet-chip:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-1)}.pet-chip b{display:block;font-family:var(--font-serif);font-size:var(--fs-sm);font-weight:400;color:var(--ink);letter-spacing:var(--ls-mid)}.pet-chip span{font-size:var(--fs-3xs);color:var(--ink-4)}.talent-trees{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}.talent-tree{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3)}.talent-head{display:flex;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.talent-head b{font-family:var(--font-serif);font-weight:400;font-size:var(--fs-md);letter-spacing:var(--ls-mid);color:var(--ink)}.talent-head span{font-size:var(--fs-xs);color:var(--ink-4)}.talent-node{display:flex;align-items:center;gap:var(--sp-2);padding:9px 0;border-bottom:1px dashed var(--line)}.talent-node:last-child{border-bottom:0}.talent-node.on .talent-name{color:var(--seal)}.talent-name{font-family:var(--font-serif);font-size:var(--fs-sm);letter-spacing:var(--ls-tight)}.boss-name{font-family:var(--font-serif);font-size:var(--fs-3xl);line-height:1.2;letter-spacing:var(--ls-mid);color:var(--ink)}.stamp-lg{display:grid;place-items:center;width:64px;height:64px;flex:0 0 auto;border:2px solid var(--seal);border-radius:var(--r-sm);font-family:var(--font-serif);font-size:var(--fs-2xl);letter-spacing:0;transform:rotate(-4deg);opacity:.92;box-shadow:var(--glow-seal)}.boss-log{margin-top:var(--sp-3);max-height:134px;overflow-y:auto;border-top:1px solid var(--line);padding-top:var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-loose)}.chat-scope{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-full);overflow:hidden}.chat-scope button{padding:4px 11px;border:0;background:transparent;cursor:pointer;font-size:var(--fs-2xs);color:var(--ink-3);letter-spacing:var(--ls-mid);font-family:var(--font-sans);transition:all var(--t-fast)}.chat-scope button.on{background:var(--seal-soft);color:var(--seal)}.chat-scope button:disabled{opacity:.35;cursor:not-allowed}.guide-panel{border-color:color-mix(in srgb,var(--gold) 45%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 16%,transparent),var(--shadow-2)}.guide-steps{display:flex;flex-direction:column;gap:var(--sp-2)}.guide-step{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 60%,transparent);transition:all var(--t-fast)}.guide-step:hover{border-color:var(--line-2)}.guide-step.done{opacity:.62;border-style:dashed}.guide-num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:700;color:var(--seal);border:1px solid var(--seal);background:var(--seal-soft);transition:all var(--t-fast)}.guide-step.done .guide-num{color:var(--good);border-color:var(--good);background:transparent}.guide-body{flex:1;min-width:0}.guide-body b{font-size:var(--fs-md);letter-spacing:var(--ls-tight)}.guide-body .hint{margin-top:1px}.rebirth-block{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:var(--r-sm);background:color-mix(in srgb,var(--gold) 6%,transparent)}.lastboss-block{margin:var(--sp-1) 0 var(--sp-2)}.lastboss-block .rank-row{padding:6px 2px}.team-members{display:flex;flex-direction:column;gap:var(--sp-2)}.team-member{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 55%,transparent);transition:border-color var(--t-fast)}.team-member:hover{border-color:var(--line-2)}.team-member.dead{opacity:.55;border-style:dashed}.tm-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:4px}.tm-head b{font-size:var(--fs-md)}.btn-row{display:flex;gap:var(--sp-2)}.btn-row .btn{flex:1}.event-timer{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-3);padding:6px var(--sp-2);margin-bottom:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 60%,transparent);display:inline-flex}.event-timer.urgent{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 45%,var(--line));animation:pulse 1.4s ease-in-out infinite}.event-timer svg{width:14px;height:14px}.event-text{font-size:var(--fs-lg);line-height:var(--lh-loose);margin-bottom:var(--sp-3)}.event-choices{display:flex;flex-direction:column;gap:var(--sp-2)}.event-choice{text-align:left;cursor:pointer;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 55%,transparent);transition:border-color var(--t-fast),transform var(--t-fast) var(--ease-out),background var(--t-fast)}.event-choice:hover:not(:disabled){border-color:var(--gold);transform:translateY(-2px);background:color-mix(in srgb,var(--gold) 7%,transparent);box-shadow:var(--shadow-1)}.event-choice:disabled{opacity:.55;cursor:wait}.event-choice b{display:block;font-size:var(--fs-md);letter-spacing:var(--ls-tight)}.event-choice .hint{margin-top:2px}.event-gains{display:flex;flex-wrap:wrap;gap:6px}.item.mate-a{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}.refine-bar{padding:var(--sp-2) 0;margin-bottom:6px;border-bottom:1px dashed var(--line)}.hero{position:relative;height:156px;border-radius:var(--r-lg);overflow:hidden;background-size:cover;background-position:center 60%;border:1px solid var(--line);box-shadow:var(--shadow-2);animation:inkIn .52s var(--ease-out) both}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bg-2) 45%,transparent))}.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 84%,transparent) 0%,transparent 58%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 52%,transparent) 0%,transparent 38%)}.hero-txt{position:absolute;left:var(--sp-5);bottom:var(--sp-3);display:flex;flex-direction:column;gap:3px;z-index:1}.hero-txt b{font-size:var(--fs-2xl);letter-spacing:.3em;color:var(--ink);text-shadow:0 2px 10px var(--bg),0 0 22px color-mix(in srgb,var(--gold) 24%,transparent)}.hero-txt span{font-size:var(--fs-xs);color:var(--ink-3);letter-spacing:var(--ls-mid)}@media (max-width: 960px){.hero{height:118px}.hero-txt{left:var(--sp-4);bottom:var(--sp-2)}.hero-txt b{font-size:var(--fs-xl);letter-spacing:.22em}}:root[data-theme=night] .hero{filter:brightness(.68) saturate(.82)}.scene-banner{position:relative;height:132px;border-radius:var(--r-lg);overflow:hidden;background-size:cover;background-position:center 55%;border:1px solid var(--line);box-shadow:var(--shadow-2);animation:inkIn .52s var(--ease-out) both;display:flex;align-items:flex-end}.scene-banner:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,color-mix(in srgb,var(--bg-2) 42%,transparent))}.scene-veil{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 72%,transparent) 0%,color-mix(in srgb,var(--bg) 18%,transparent) 42%,transparent 62%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 38%,transparent) 0%,transparent 30%)}.scene-txt{position:relative;z-index:1;padding:0 var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:3px}.scene-title{display:flex;align-items:center;gap:var(--sp-2)}.scene-mark{width:3px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--gold-2),var(--seal));box-shadow:0 0 10px -2px var(--gold)}.scene-title b{font-size:var(--fs-xl);letter-spacing:var(--ls-wide);color:var(--ink);text-shadow:0 2px 12px var(--bg),0 0 20px color-mix(in srgb,var(--bg) 80%,transparent)}.scene-sub{font-size:var(--fs-xs);color:var(--ink-2);letter-spacing:var(--ls-tight);text-shadow:0 1px 8px var(--bg)}@media (max-width: 960px){.scene-banner{height:104px}.scene-title b{font-size:var(--fs-lg);letter-spacing:var(--ls-mid)}}:root[data-theme=night] .scene-banner{filter:brightness(.7) saturate(.82)}.hero-right{position:absolute;right:var(--sp-4);bottom:var(--sp-3);z-index:1;display:flex;gap:var(--sp-2);align-items:center}.panel-h>span:first-child>svg{color:var(--gold);opacity:.85;margin-right:2px}.auth{background:url(/img/bg-login.jpg) center / cover no-repeat fixed}:root[data-theme=night] .auth{filter:none}.motes{position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none}.motes i{position:absolute;bottom:-10px;display:block;border-radius:50%;background:radial-gradient(circle,#c9a2278c,#c9a22700 72%);animation:moteFloat linear infinite;will-change:transform,opacity}.motes i:nth-child(1){left:4%;width:5px;height:5px;animation-duration:17s;animation-delay:-3s}.motes i:nth-child(2){left:12%;width:3px;height:3px;animation-duration:23s;animation-delay:-11s}.motes i:nth-child(3){left:21%;width:6px;height:6px;animation-duration:15s;animation-delay:-7s}.motes i:nth-child(4){left:30%;width:4px;height:4px;animation-duration:26s;animation-delay:-1s}.motes i:nth-child(5){left:39%;width:3px;height:3px;animation-duration:19s;animation-delay:-14s}.motes i:nth-child(6){left:47%;width:7px;height:7px;animation-duration:21s;animation-delay:-5s}.motes i:nth-child(7){left:56%;width:3px;height:3px;animation-duration:18s;animation-delay:-9s}.motes i:nth-child(8){left:65%;width:5px;height:5px;animation-duration:24s;animation-delay:-16s}.motes i:nth-child(9){left:73%;width:4px;height:4px;animation-duration:16s;animation-delay:-4s}.motes i:nth-child(10){left:82%;width:6px;height:6px;animation-duration:27s;animation-delay:-12s}.motes i:nth-child(11){left:90%;width:3px;height:3px;animation-duration:20s;animation-delay:-8s}.motes i:nth-child(12){left:96%;width:4px;height:4px;animation-duration:22s;animation-delay:-2s}@keyframes moteFloat{0%{transform:translateY(0) translate(0);opacity:0}8%{opacity:.8}50%{transform:translateY(-46vh) translate(2.5vw)}92%{opacity:.5}to{transform:translateY(-104vh) translate(-2vw);opacity:0}}:root[data-theme=night] .motes i{background:radial-gradient(circle,#e6c45a80,#e6c45a00 72%)}@media (max-width: 960px){.motes i:nth-child(2n){display:none}}.boss-art{height:138px;border-radius:var(--r-md);margin-bottom:var(--sp-3);border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2) 70%,transparent),transparent);position:relative;overflow:hidden;animation:inkIn .52s var(--ease-out) both}.boss-art svg{display:block}.boss-art.dead{filter:grayscale(.85)}.boss-art:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 100%,transparent 38%,rgba(90,12,10,.4))}:root[data-theme=night] .boss-art{filter:brightness(.85)}.boss-art.idle{animation:bossBreath 3.2s ease-in-out infinite}@keyframes bossBreath{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.fx{position:fixed;inset:0;z-index:var(--z-fx);pointer-events:none;overflow:hidden}.fx i{position:absolute;bottom:-12px;left:calc(var(--x) * 1%);width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#e2b23ce6,#e2b23c00 70%);animation:fxRise var(--d) ease-out forwards}@keyframes fxRise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}to{transform:translateY(-78vh) scale(1.5);opacity:0}}.fx-break{background:radial-gradient(circle at 50% 44%,rgba(214,158,46,.32) 0%,transparent 56%);animation:fxFade 1.6s ease both}.fx-break:after{content:"";position:absolute;left:50%;top:44%;width:12px;height:12px;margin:-6px;border-radius:50%;border:2px solid rgba(214,158,46,.75);animation:fxRing 1.2s cubic-bezier(.2,.6,.3,1) both}@keyframes fxRing{0%{transform:scale(.4);opacity:.95;box-shadow:0 0 40px #d69e2e80}to{transform:scale(56);opacity:0}}.fx-demon{background:radial-gradient(circle at 50% 50%,transparent 42%,rgba(128,22,16,.36) 100%);animation:fxDemon 1.5s ease both}.fx-demon i{background:radial-gradient(circle,#961e16d9,#961e1600 70%)}@keyframes fxDemon{0%{opacity:0}22%{opacity:1}to{opacity:0}}.fx-ascend{background:linear-gradient(0deg,rgba(232,186,64,.24) 0%,transparent 42%),radial-gradient(circle at 50% 62%,rgba(238,196,80,.42) 0%,transparent 62%);animation:fxAscend 2.6s ease both}@keyframes fxAscend{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes fxFade{0%{opacity:0}16%{opacity:1}to{opacity:0}}.fx-trib{background:linear-gradient(178deg,rgba(168,148,255,.44) 0%,rgba(120,96,220,.18) 18%,transparent 40%),radial-gradient(circle at 50% 0%,rgba(230,224,255,.5) 0%,transparent 46%);animation:fxDemon 1.4s ease both}.fx-trib i{position:absolute;top:-6%;width:2px;height:26vh;background:linear-gradient(180deg,rgba(238,234,255,.95),rgba(168,148,255,.4) 60%,transparent);border-radius:2px;filter:drop-shadow(0 0 8px rgba(180,160,255,.9));animation:tribBolt .55s cubic-bezier(.3,.7,.4,1) both,fxDemon 1.4s ease both}@keyframes tribBolt{0%{transform:translateY(-10vh) scaleY(.4);opacity:0}18%{transform:translateY(0) scaleY(1);opacity:1}55%{opacity:.9}to{transform:translateY(4vh) scaleY(1.06);opacity:0}}.fx-forge{background:radial-gradient(circle at 50% 76%,rgba(255,168,72,.36) 0%,transparent 52%);animation:fxFade 1.5s ease both}.fx-forge i{bottom:auto;top:62%;background:radial-gradient(circle,rgba(255,196,110,.95) 0%,rgba(214,96,38,.7) 46%,transparent 72%);animation:forgeSpark 1.15s cubic-bezier(.2,.7,.4,1) forwards}@keyframes forgeSpark{0%{transform:translate(0) scale(.4);opacity:0}12%{opacity:1}to{transform:translate(var(--dx, 0),var(--dy, -30vh)) scale(1.3);opacity:0}}.fx-gain{position:fixed;z-index:var(--z-fx);pointer-events:none;font-family:var(--font-serif);font-size:var(--fs-xl);letter-spacing:.06em;color:var(--gold-2);text-shadow:0 2px 12px color-mix(in srgb,var(--gold) 50%,transparent),0 1px 2px var(--bg);animation:gainFloat 1.5s var(--ease-out) forwards}.fx-gain.bad{color:var(--seal-2);text-shadow:0 2px 12px color-mix(in srgb,var(--seal) 55%,transparent)}@keyframes gainFloat{0%{transform:translate(-50%) scale(.7);opacity:0}18%{transform:translate(-50%,-14px) scale(1.12);opacity:1}38%{transform:translate(-50%,-22px) scale(1);opacity:1}to{transform:translate(-50%,-74px) scale(.94);opacity:0}}.flash-up{animation:flashUp .9s var(--ease-out)}@keyframes flashUp{0%{color:var(--gold-2);text-shadow:0 0 14px var(--gold)}to{color:inherit;text-shadow:none}}.item-art{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 72%),color-mix(in srgb,var(--bg-2) 55%,transparent);border:1px solid var(--line);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 4%,transparent);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base),border-color var(--t-base)}.item-art img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none;user-select:none}.item:hover .item-art{transform:scale(1.06);border-color:color-mix(in srgb,var(--gold) 40%,transparent);box-shadow:0 0 14px -4px color-mix(in srgb,var(--gold) 60%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 5%,transparent)}:root[data-theme=night] .item-art{background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--gold) 17%,transparent),transparent 72%),color-mix(in srgb,#14161c 70%,transparent)}.pet-chip{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.pet-chip .item-art{margin-bottom:2px}.plot-herb-art{width:34px;height:34px;border-radius:50%;object-fit:contain}.trib-panel{border-color:color-mix(in srgb,var(--violet) 45%,var(--line))}.trib-waves{display:flex;gap:7px;align-items:center;justify-content:center;padding:4px 0}.trib-waves i{width:22px;height:8px;border-radius:4px;background:color-mix(in srgb,var(--line) 70%,transparent);transition:background .3s}.trib-waves i.done{background:linear-gradient(90deg,#b7a6ff,#8a70e8);box-shadow:0 0 8px #967cf08c}.trib-waves i.next{background:linear-gradient(90deg,#e6e0ff,#b7a6ff);box-shadow:0 0 12px #beaaffd9;animation:tribPulse 1.1s ease-in-out infinite}@keyframes tribPulse{0%,to{transform:scaleY(1);opacity:.85}50%{transform:scaleY(1.5);opacity:1}}.arena-no{width:30px;min-width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink) 6%,transparent);font-size:var(--fs-xs);font-weight:600;font-family:var(--font-serif);transition:all var(--t-fast) var(--ease-out)}.item.on .arena-no{background:var(--seal);color:#fff;box-shadow:0 0 12px -3px var(--seal)}.item:hover .arena-no{transform:scale(1.08)}@media (max-width: 960px){.mobile-tabs{overflow-x:auto;scrollbar-width:none}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tabs button{flex:0 0 auto;min-width:48px}.boss-name{font-size:var(--fs-2xl)}.sign-row{gap:4px}.panel-b{padding:var(--sp-3)}.item,.panel-h{padding:var(--sp-2) var(--sp-3)}.topbar{flex-wrap:wrap;row-gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.brand{font-size:var(--fs-lg);padding-right:var(--sp-2)}.brand .seal{width:26px;height:26px;font-size:var(--fs-md)}.topbar-stats{gap:var(--sp-3);order:3;width:100%}.ts .k{font-size:var(--fs-3xs)}.ts .v{font-size:var(--fs-md)}.topbar-actions{margin-left:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.motes{display:none}.hero,.boss-art{animation:none}.bar>i:after{display:none}}@media (max-width: 960px) and (hover: none){.topbar,.panel,.modal,.toast,.mobile-tabs,.auth-card{backdrop-filter:none;-webkit-backdrop-filter:none}.topbar,.panel,.modal,.toast,.mobile-tabs,.auth-card{background:var(--panel-3)}}.portrait-thumb{flex:none;width:62px;height:80px;padding:0;border:.5px solid var(--line);border-radius:10px;overflow:hidden;cursor:zoom-in;background:none;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.portrait-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.portrait-thumb:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-2)}.portrait-full{width:100%;display:block;border-radius:var(--r-lg);border:.5px solid var(--line)}.realm-block{gap:var(--sp-3)}.pet-ring{display:inline-flex;flex:none;border-radius:50%;padding:2px;border:1.5px solid transparent;transition:box-shadow var(--t-fast) var(--ease-out)}.item:hover .pet-ring{box-shadow:0 0 10px color-mix(in srgb,var(--gold) 26%,transparent)}.pet-chip{transition:border-color var(--t-fast),transform var(--t-fast) var(--ease-out)}.pet-chip:hover{transform:translateY(-2px)}.pet-rare-mark{font-style:normal;font-size:var(--fs-3xs);color:var(--violet, #7a5a8b);border:.5px solid currentColor;border-radius:var(--r-xs);padding:0 3px;margin-left:4px;vertical-align:1px}@keyframes shakeSoft{0%,to{transform:translateZ(0)}20%{transform:translate3d(-3px,1px,0)}40%{transform:translate3d(3px,-1px,0)}60%{transform:translate3d(-2px,0,0)}80%{transform:translate3d(2px,1px,0)}}@keyframes shakeHard{0%,to{transform:translateZ(0)}12%{transform:translate3d(-7px,3px,0) rotate(-.25deg)}26%{transform:translate3d(6px,-3px,0) rotate(.25deg)}40%{transform:translate3d(-5px,2px,0)}56%{transform:translate3d(4px,-2px,0)}72%{transform:translate3d(-2px,1px,0)}88%{transform:translate3d(1px,0,0)}}body.shake-soft{animation:shakeSoft .34s linear both}body.shake-hard{animation:shakeHard .52s linear both}@media (prefers-reduced-motion: reduce){body.shake-soft,body.shake-hard{animation:none}}.replay .replay-row{animation:replayIn .26s var(--ease-out) both}.replay .replay-row:nth-child(1){animation-delay:60ms}.replay .replay-row:nth-child(2){animation-delay:.2s}.replay .replay-row:nth-child(3){animation-delay:.34s}.replay .replay-row:nth-child(4){animation-delay:.48s}.replay .replay-row:nth-child(5){animation-delay:.62s}.replay .replay-row:nth-child(6){animation-delay:.76s}.replay .replay-row:nth-child(7){animation-delay:.9s}.replay .replay-row:nth-child(8){animation-delay:1.04s}.replay .replay-row:nth-child(n+9){animation-delay:1.18s}@keyframes replayIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.replay .replay-row.crit{animation-name:replayIn,critPulse;animation-duration:.26s,1.1s;animation-iteration-count:1,3}@keyframes critPulse{0%,to{text-shadow:none}50%{text-shadow:0 0 12px color-mix(in srgb,var(--seal) 60%,transparent)}}.admin-toolbar{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.admin-input{background:var(--panel);border:.5px solid var(--line);border-radius:var(--r-md);color:var(--ink);padding:7px 10px;font:inherit;font-size:var(--fs-sm)}.admin-input:focus{outline:1.5px solid var(--seal);outline-offset:1px}textarea.admin-input{resize:vertical;width:100%}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-2)}.admin-card{background:var(--panel);border:.5px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);display:flex;flex-direction:column;gap:4px}.admin-card span{font-size:var(--fs-xs);color:var(--ink-3)}.admin-card b{font-size:var(--fs-xl)}.admin-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-3)}@media (max-width: 900px){.admin-2col{grid-template-columns:1fr}}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--panel);border:.5px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:.5px solid var(--line)}.admin-table th{color:var(--ink-3);font-weight:500;font-size:var(--fs-xs)}.admin-table tr:last-child td{border-bottom:0}.admin-banned td{opacity:.55}.admin-mask{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 55%,transparent);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 90);padding:var(--sp-4)}.admin-modal{width:min(640px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:.5px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-3)}.admin-modal .panel-h{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--panel);border-bottom:.5px solid var(--line)}.admin-modal .panel-b{padding:var(--sp-4)}.admin-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--ink-3)}.admin-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.admin-err{color:var(--seal);font-size:var(--fs-sm)}.admin-notice{background:color-mix(in srgb,var(--gold) 14%,var(--panel));border:.5px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:var(--r-lg);color:var(--ink);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);animation:noticeIn .34s var(--ease-out) both}.admin-notice .serif{color:var(--gold);letter-spacing:.1em;flex:none}.admin-notice button{margin-left:auto;flex:none}@keyframes noticeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.lucky-wrap{position:relative;width:min(320px,78vw);aspect-ratio:1;margin:var(--sp-3) auto var(--sp-2)}.lucky-wheel{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:repeating-conic-gradient(from -22.5deg,color-mix(in srgb,var(--gold) 26%,transparent) 0deg .5deg,transparent .5deg 45deg),conic-gradient(from -22.5deg,color-mix(in srgb,var(--gold) 7%,transparent) 0deg 45deg,transparent 45deg 90deg,color-mix(in srgb,var(--gold) 7%,transparent) 90deg 135deg,transparent 135deg 180deg,color-mix(in srgb,var(--gold) 7%,transparent) 180deg 225deg,transparent 225deg 270deg,color-mix(in srgb,var(--gold) 7%,transparent) 270deg 315deg,transparent 315deg 360deg),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--gold) 10%,var(--panel)) 0%,var(--panel) 62%);border:1.5px solid color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:var(--shadow-2),inset 0 0 30px color-mix(in srgb,var(--gold) 8%,transparent);will-change:transform}.lucky-cell{position:absolute;left:50%;top:0;width:33%;height:50%;margin-left:-16.5%;box-sizing:border-box;transform-origin:50% 100%;display:flex;align-items:flex-start;justify-content:center;padding-top:13%;pointer-events:none}.lucky-cell-in{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;line-height:1.15}.lucky-cell b{font-size:var(--fs-sm);color:var(--ink);font-weight:600;white-space:nowrap}.lucky-cell span{font-size:var(--fs-2xs);color:var(--gold);white-space:nowrap}.lucky-cell.hit .lucky-cell-in{animation:cellHit .9s var(--ease-out) 2}.lucky-cell.hit b{color:var(--seal)}@keyframes cellHit{0%,to{filter:none}40%{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--gold) 80%,transparent)) brightness(1.18)}}.lucky-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:26%;aspect-ratio:1;border-radius:50%;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 30%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--gold) 60%,var(--line));display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);letter-spacing:.2em;text-indent:.2em;color:var(--gold);box-shadow:var(--shadow-1);pointer-events:none}.lucky-pointer{position:absolute;left:50%;top:-6px;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:16px solid var(--seal);filter:drop-shadow(0 2px 3px rgb(0 0 0 / .3));z-index:2}.lucky-wrap.spinning .lucky-hub{animation:hubPulse 1s ease-in-out infinite}@keyframes hubPulse{0%,to{box-shadow:var(--shadow-1)}50%{box-shadow:0 0 18px color-mix(in srgb,var(--gold) 45%,transparent)}}.dispatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}@media (max-width: 560px){.dispatch-grid{grid-template-columns:1fr}}.dispatch-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:var(--sp-3);cursor:pointer;font:inherit;color:inherit;text-align:left}.dispatch-cell b{font-size:var(--fs-md)}.dispatch-cell span{font-size:var(--fs-xs);color:var(--ink-3)}.dispatch-cell i{font-style:normal;font-size:var(--fs-2xs);color:var(--gold)}.dispatch-cell:disabled{opacity:.45;cursor:not-allowed}.social-search{gap:var(--sp-2);margin-bottom:var(--sp-2)}.online-dot{flex:none;width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--ink-3) 45%,transparent);box-shadow:0 0 0 3px transparent;transition:background var(--t-fast),box-shadow var(--t-fast)}.online-dot.on{background:var(--jade, #3f7a5e);box-shadow:0 0 0 3px color-mix(in srgb,var(--jade, #3f7a5e) 18%,transparent);animation:dotBreathe 2.6s ease-in-out infinite}@keyframes dotBreathe{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--jade, #3f7a5e) 16%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--jade, #3f7a5e) 8%,transparent)}}.friend-row{align-items:center}.friend-row .item-sub{color:var(--ink-3)}.dm-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-2);padding-bottom:var(--sp-2);border-bottom:.5px solid var(--line);margin-bottom:var(--sp-2)}.dm-box{height:min(46vh,360px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-1) 2px}.dm-row{display:flex;flex-direction:column;gap:2px;align-items:flex-start;max-width:82%;animation:dmIn .22s var(--ease-out) both}.dm-row.mine{align-self:flex-end;align-items:flex-end}.dm-who{font-size:var(--fs-2xs);color:var(--ink-3)}.dm-text{padding:7px 11px;border-radius:var(--r-lg);border:.5px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,var(--bg));font-size:var(--fs-sm);line-height:var(--lh-relax);word-break:break-word;white-space:pre-wrap}.dm-row.mine .dm-text{background:color-mix(in srgb,var(--seal) 12%,var(--panel));border-color:color-mix(in srgb,var(--seal) 32%,var(--line))}@keyframes dmIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.unread-chip{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:var(--r-full);background:var(--seal);color:#fff;font-size:var(--fs-3xs);font-weight:600;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px color-mix(in srgb,var(--seal) 14%,transparent);animation:chipPop .26s var(--t-spring) both}@keyframes chipPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.demon-panel .panel-h span:first-child{display:inline-flex;align-items:center;gap:6px}.demon-panel .hint{color:var(--ink-3)}.demon-panel.mad{border-color:color-mix(in srgb,var(--seal) 42%,var(--line));box-shadow:var(--shadow-2),inset 0 0 26px color-mix(in srgb,var(--seal) 9%,transparent)}.demon-row{display:grid;grid-template-columns:32px 1fr 30px 58px;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.demon-lab{color:var(--ink-3);font-size:var(--fs-2xs);letter-spacing:var(--ls-mid)}.demon-row b{text-align:right;font-variant-numeric:tabular-nums}.demon-row em{font-style:normal;font-size:var(--fs-2xs);text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.demon-row em.up{color:var(--jade)}.demon-row em.down{color:var(--seal)}.demon-track,.karma-track{position:relative;height:8px;border-radius:var(--r-full);background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}.demon-track>.fill,.karma-track>.fill{position:absolute;top:0;bottom:0;left:0;border-radius:var(--r-full);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 45%,transparent),var(--gold));transition:width var(--t-slow) var(--ease-out),left var(--t-slow) var(--ease-out)}.demon-track>.fill.mad{background:linear-gradient(90deg,var(--gold-2),var(--seal))}.demon-track>.mark{position:absolute;top:-2px;bottom:-2px;width:1px;background:color-mix(in srgb,var(--ink) 40%,transparent)}.karma-track>.mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--ink) 28%,transparent)}.karma-track>.fill.k-plus{background:linear-gradient(90deg,color-mix(in srgb,var(--seal) 40%,transparent),var(--seal))}.karma-track>.fill.k-minus{background:linear-gradient(90deg,var(--jade),color-mix(in srgb,var(--jade) 40%,transparent))}.daoxin-list{display:flex;flex-wrap:wrap;gap:6px}.daoxin-chip{font-size:var(--fs-2xs);padding:2px 8px;border:1px solid currentColor;border-radius:var(--r-full);letter-spacing:var(--ls-tight);background:color-mix(in srgb,currentColor 8%,transparent)}.trial-hero{display:flex;gap:var(--sp-3);align-items:flex-start}.trial-eye{flex:0 0 44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#120407 0 13%,transparent 14%),radial-gradient(circle at 50% 50%,var(--seal-2) 14%,var(--seal) 34%,color-mix(in srgb,var(--seal) 45%,transparent) 58%,transparent 76%);box-shadow:0 0 22px color-mix(in srgb,var(--seal) 55%,transparent),inset 0 0 10px #000;animation:trialEye 3.6s ease-in-out infinite}@keyframes trialEye{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.trial-opts{display:grid;gap:var(--sp-2);margin-top:var(--sp-4)}.trial-opt{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title tag" "hint hint" "price price";gap:2px 10px;text-align:left;padding:var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel-2);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast);font-family:inherit;color:inherit}.trial-opt:hover:not(:disabled){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 6%,var(--panel-2));transform:translateY(-1px)}.trial-opt:disabled{opacity:.62;cursor:not-allowed}.trial-opt>b{grid-area:title;font-size:var(--fs-lg);letter-spacing:var(--ls-mid)}.trial-opt>.hint{grid-area:hint;color:var(--ink-2)}.trial-opt>.price{grid-area:price;font-size:var(--fs-xs);color:var(--ink-2)}.trial-opt>.price.bad{color:var(--seal)}.trial-opt>.price.good{color:var(--jade)}.trial-opt>.tag{grid-area:tag;align-self:start}.trial-opt.danger{border-color:color-mix(in srgb,var(--seal) 38%,var(--line-2))}.trial-opt.danger>b{color:var(--seal)}.trial-note{color:var(--ink-3)}:root[data-theme=night] .demon-panel .hint,:root[data-theme=night] .trial-note,:root[data-theme=night] .deck-card>.hint{color:var(--ink-2)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--sp-2)}.deck-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);min-height:96px;text-align:left;border:1px solid var(--line-2);border-radius:var(--r-md);background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 8%,var(--panel-2)),var(--panel-2));cursor:pointer;color:inherit;font-family:inherit;transition:transform var(--t-fast) var(--ease-out),border-color var(--t-fast),box-shadow var(--t-fast)}.deck-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow-2)}.deck-card>b{font-size:var(--fs-md);letter-spacing:var(--ls-tight)}.deck-card>.hint{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--ink-2)}.deck-seal{position:absolute;right:8px;top:8px;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--seal);border-radius:var(--r-xs);color:var(--seal);font-size:var(--fs-2xs);font-family:var(--font-serif);background:var(--seal-soft);transform:rotate(-6deg)}.empty-hint{text-align:center;color:var(--ink-4);font-size:var(--fs-xs);padding:var(--sp-4) 0;font-family:var(--font-serif);letter-spacing:var(--ls-mid)}@media (max-width: 560px){.demon-row{grid-template-columns:28px 1fr 26px 52px;gap:6px}.deck-grid{grid-template-columns:repeat(2,1fr)}.item{flex-wrap:wrap}.item-act{width:100%;justify-content:flex-end}.row-between{flex-wrap:wrap;row-gap:8px}}.tide-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-md);background:linear-gradient(120deg,color-mix(in srgb,var(--gold) 7%,var(--panel-2)),var(--panel-2))}.tide-badge{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--line-3);background:color-mix(in srgb,var(--gold) 10%,transparent)}.tide-badge b{font-family:var(--font-serif);font-size:var(--fs-lg);letter-spacing:var(--ls-wide);color:var(--gold)}.tide-badge em{font-style:normal;font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.tide-badge.flood{background:color-mix(in srgb,var(--jade) 12%,transparent);border-color:color-mix(in srgb,var(--jade) 45%,var(--line))}.tide-badge.flood b{color:var(--jade)}.tide-badge.ebb{background:color-mix(in srgb,var(--azure) 12%,transparent);border-color:color-mix(in srgb,var(--azure) 45%,var(--line))}.tide-badge.ebb b{color:var(--azure)}.tide-body{flex:1;display:flex;flex-direction:column;gap:2px}.cave-sum{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.cave-sum-item{flex:1 1 88px;display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--ink) 4%,transparent)}.cave-sum-item span{font-size:var(--fs-2xs);color:var(--ink-3);letter-spacing:var(--ls-mid)}.cave-sum-item b{font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--ink-3)}.cave-sum-item b.up{color:var(--jade)}.cave-grid{display:grid;gap:6px;max-width:440px;margin:0 auto;padding:8px;border-radius:var(--r-md);background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 68%),color-mix(in srgb,var(--ink) 3%,transparent)}.cave-cell{position:relative;aspect-ratio:1;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink-2);font-family:inherit;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),border-color var(--t-fast),box-shadow var(--t-fast)}.cave-cell:hover{transform:translateY(-1px);border-color:var(--gold)}.cave-cell:active{transform:scale(.97)}.cave-heat{position:absolute;left:0;right:0;bottom:0;height:calc(var(--heat, 0) * 100%);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--gold) 30%,transparent));pointer-events:none;transition:height var(--t-slow) var(--ease-out)}.cave-cell.occ{border-color:color-mix(in srgb,var(--gold) 42%,var(--line));color:var(--ink);background:color-mix(in srgb,var(--gold) 6%,var(--panel-2))}.cave-cell.occ b{font-family:var(--font-serif);font-size:var(--fs-md);line-height:1}.cave-cell.occ em{font-style:normal;font-size:var(--fs-3xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.cave-cell.favored{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 70%,transparent),0 0 10px color-mix(in srgb,var(--gold) 22%,transparent)}.cave-cell.source{border-color:color-mix(in srgb,var(--azure) 55%,var(--line))}.cave-src-mark{position:absolute;top:3px;right:4px;font-size:var(--fs-3xs);color:var(--azure);opacity:.85;font-family:var(--font-serif)}.cave-flux{position:relative;font-size:var(--fs-2xs);color:var(--ink-4);font-variant-numeric:tabular-nums;letter-spacing:.02em;transition:color var(--t-fast)}.cave-flux.warm{color:var(--ink-3)}.cave-flux.hot{color:color-mix(in srgb,var(--gold) 72%,var(--ink))}.cave-cell:hover .cave-flux{color:var(--gold)}.build-list{display:grid;gap:6px}.build-item{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;text-align:left;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);color:inherit;font-family:inherit;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.build-item:hover:not(:disabled){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 6%,var(--panel-2))}.build-item:disabled{opacity:.55;cursor:not-allowed}.build-ico{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-xs);background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}.build-main{display:flex;flex-direction:column;gap:1px;min-width:0}.build-main b{font-size:var(--fs-sm)}.build-main em{font-style:normal;font-size:var(--fs-2xs);color:var(--ink-3)}.build-preview{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.build-preview b{font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--ink-2)}.build-preview b.up{color:var(--jade)}.build-preview em{font-style:normal;font-size:var(--fs-3xs);color:var(--ink-4)}.build-cost{min-width:54px;text-align:right;font-size:var(--fs-2xs);color:var(--gold);font-variant-numeric:tabular-nums}.guard-hero{display:flex;align-items:center;gap:var(--sp-4)}.guard-num{display:flex;flex-direction:column;gap:2px;min-width:96px}.guard-num .k{font-size:var(--fs-2xs);color:var(--ink-3);letter-spacing:var(--ls-mid)}.guard-num b{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.1}.guard-break{flex:1;display:flex;flex-direction:column;gap:6px}.guard-tags{display:flex;flex-wrap:wrap;gap:4px}.raid-list{display:flex;flex-direction:column;gap:6px}.raid-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:color-mix(in srgb,var(--ink) 2%,transparent)}.raid-row.good{border-left:2px solid color-mix(in srgb,var(--jade) 70%,transparent)}.raid-row.bad{border-left:2px solid color-mix(in srgb,var(--seal) 70%,transparent)}.raid-row.fresh{background:color-mix(in srgb,var(--gold) 7%,transparent)}.raid-who{display:flex;flex-direction:column;gap:1px;min-width:0}.raid-who b{font-size:var(--fs-sm)}.raid-who em{font-style:normal;font-size:var(--fs-3xs);color:var(--ink-4)}.raid-mid{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.raid-mid em{font-style:normal;font-size:var(--fs-3xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.raid-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:84px}.raid-side .lost{font-size:var(--fs-2xs);color:var(--seal);font-variant-numeric:tabular-nums}.raid-side .kept{font-size:var(--fs-2xs);color:var(--jade)}@media (max-width: 560px){.tide-row{flex-wrap:wrap}.cave-grid{max-width:none;gap:4px;padding:6px}.cave-cell.occ b{font-size:var(--fs-sm)}.guard-hero{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.raid-row{grid-template-columns:1fr auto}.raid-mid{display:none}}.build-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.build-slot{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;text-align:left;cursor:pointer;border:1px dashed var(--line-2);border-radius:var(--r-sm);background:color-mix(in srgb,var(--ink) 2%,transparent);color:inherit;font-family:inherit;transition:border-color var(--t-fast),background var(--t-fast)}.build-slot:hover:not(:disabled){border-color:var(--gold)}.build-slot.on{border-style:solid;border-color:color-mix(in srgb,var(--gold) 55%,var(--line-2));background:color-mix(in srgb,var(--gold) 7%,transparent)}.build-slot b{font-size:var(--fs-md);font-family:var(--font-serif),serif}.build-slot .bs-kind{font-size:var(--fs-3xs);color:var(--ink-3);letter-spacing:var(--ls-mid)}.build-slot .bs-hint{font-size:var(--fs-3xs);color:var(--ink-4)}.build-sum{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--fs-2xs);color:var(--ink-3)}.build-sum b{color:var(--ink-2);font-variant-numeric:tabular-nums}.share-row{display:grid;grid-template-columns:44px 1fr auto 40px;align-items:center;gap:8px;margin-bottom:5px;font-size:var(--fs-2xs)}.share-k{color:var(--ink-3);letter-spacing:var(--ls-mid)}.share-bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.share-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 55%,var(--jade)))}.share-v{color:var(--ink-2)}.share-p{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.loading-box{display:flex;flex-direction:column;gap:9px;padding:6px 0 2px}.loading-line{height:11px;border-radius:6px;background:color-mix(in srgb,var(--ink) 9%,transparent);animation:pulse 1.6s ease-in-out infinite}.loading-line:nth-child(2){animation-delay:.18s}.loading-line:nth-child(3){animation-delay:.36s}.loading-line:nth-child(4){animation-delay:.54s}.loading-line:nth-child(5){animation-delay:.72s}.seal-mods{display:flex;flex-wrap:wrap;gap:5px}.spirit-gain{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:4px;font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.spirit-bars{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spirit-bars>div{display:flex;flex-direction:column;gap:3px}.journey-report{cursor:pointer;transition:background var(--t-fast)}.journey-report:hover{background:color-mix(in srgb,var(--gold) 5%,transparent)}.journey-text{font-family:var(--font-serif),serif;line-height:1.75;color:var(--ink-2);margin-top:3px}@media (max-width: 560px){.build-slots{grid-template-columns:1fr}.share-row{grid-template-columns:40px 1fr 34px}.share-v{display:none}.spirit-bars{grid-template-columns:1fr}}
