.toast-host[data-v-de5dcab3]{top:max(20px, env(safe-area-inset-top,0px));z-index:9999;pointer-events:none;width:100%;max-width:420px;padding:0 16px;position:fixed;left:50%;transform:translate(-50%)}.toast-list[data-v-de5dcab3]{flex-direction:column;gap:8px;display:flex}.toast[data-v-de5dcab3]{pointer-events:auto;background:var(--color-bg-card,#fff);color:var(--color-text,#141413);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;font-weight:500;line-height:1.4;display:flex;box-shadow:0 .2px 1px #1414130a,0 4px 14px #1414131a,0 16px 36px -8px #14141324}.toast-icon[data-v-de5dcab3]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.toast-msg[data-v-de5dcab3]{word-break:break-word;flex:1}.toast-close[data-v-de5dcab3]{color:var(--color-text-dim,#87867f);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px;transition:color .15s}.toast-close[data-v-de5dcab3]:hover{color:var(--color-text,#141413)}.toast-success[data-v-de5dcab3]{box-shadow:0 0 0 1px #6b9b6e52,0 4px 14px #1414131a,0 16px 36px -8px #14141324}.toast-success .toast-icon[data-v-de5dcab3]{background:var(--color-green,#6b9b6e);color:#fff}.toast-error[data-v-de5dcab3]{box-shadow:0 0 0 1px #b5333352,0 4px 14px #1414131a,0 16px 36px -8px #14141324}.toast-error .toast-icon[data-v-de5dcab3]{background:var(--color-hp,#b53333);color:#fff}.toast-warning .toast-icon[data-v-de5dcab3]{background:var(--color-ex,#c28349);color:#fff}.toast-info .toast-icon[data-v-de5dcab3]{background:var(--color-gold,#d97757);color:#fff}.toast-enter-active[data-v-de5dcab3],.toast-leave-active[data-v-de5dcab3]{transition:opacity .2s,transform .2s cubic-bezier(.25,.46,.45,.94)}.toast-enter-from[data-v-de5dcab3]{opacity:0;transform:translateY(-8px)}.toast-leave-to[data-v-de5dcab3]{opacity:0;transform:translateY(-6px)scale(.98)}.cp-overlay[data-v-2421018a]{-webkit-backdrop-filter:blur(8px);z-index:9990;background:#14141366;justify-content:center;align-items:flex-start;padding-top:max(10vh,80px);display:flex;position:fixed;inset:0}.cp-panel[data-v-2421018a]{background:var(--color-bg-card,#fff);width:100%;max-width:520px;box-shadow:0 0 0 1px var(--color-border,#dcd8cb), 0 4px 24px #1414131f, 0 24px 56px -8px #1414132e;border-radius:16px;margin:0 16px;animation:.22s cubic-bezier(.22,.61,.36,1) cpEnter-2421018a;overflow:hidden}@keyframes cpEnter-2421018a{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cp-search[data-v-2421018a]{border-bottom:1px solid var(--color-border-light,var(--border));align-items:center;gap:10px;padding:14px 16px;display:flex}.cp-icon[data-v-2421018a]{font-family:var(--font-mono);color:var(--color-text-dim,var(--text-dim));text-align:center;width:18px;font-size:14px}.cp-input[data-v-2421018a]{font-family:var(--font-sans);color:var(--color-text,var(--text-primary));background:0 0;border:none;outline:none;flex:1;font-size:16px}.cp-input[data-v-2421018a]::placeholder{color:var(--color-text-dim,var(--text-dim))}.cp-list[data-v-2421018a]{max-height:min(60vh,420px);padding:6px;overflow-y:auto}.cp-item[data-v-2421018a]{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.cp-item.active[data-v-2421018a]{background:var(--color-bg-hover,var(--bg-card-hover))}.cp-emoji[data-v-2421018a]{flex-shrink:0;font-size:18px}.cp-label[data-v-2421018a]{color:var(--color-text,var(--text-primary));flex:1;font-weight:500}.cp-path[data-v-2421018a]{font-family:var(--font-mono);color:var(--color-text-dim,var(--text-dim));font-size:11px}.cp-empty[data-v-2421018a]{text-align:center;color:var(--color-text-dim,var(--text-dim));padding:24px;font-size:13px}.cp-footer[data-v-2421018a]{border-top:1px solid var(--color-border-light,var(--border));color:var(--color-text-dim,var(--text-dim));justify-content:center;gap:18px;padding:10px 16px;font-size:11px;display:flex}.cp-footer span[data-v-2421018a]{align-items:center;gap:4px;display:inline-flex}.cp-fade-enter-active[data-v-2421018a],.cp-fade-leave-active[data-v-2421018a]{transition:opacity .2s}.cp-fade-enter-from[data-v-2421018a],.cp-fade-leave-to[data-v-2421018a]{opacity:0}.cp-fab[data-v-2421018a]{right:16px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:100;background:var(--color-bg-card,#fff);color:var(--color-text-secondary,var(--text-secondary));box-shadow:0 0 0 1px var(--color-border,var(--border)), 0 2px 6px #1414130f, 0 8px 24px #1414131a;cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.04em;border:none;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;transition:transform .18s cubic-bezier(.25,.46,.45,.94),box-shadow .2s;display:inline-flex;position:fixed}.cp-fab[data-v-2421018a]:hover{color:var(--color-text,var(--text-primary));box-shadow:0 0 0 1px var(--color-ring,var(--border)), 0 4px 12px #1414131a, 0 12px 28px #1414131f;transform:translateY(-1px)scale(1.04)}.cp-fab[data-v-2421018a]:active{transform:scale(.96)}.cp-fab-icon[data-v-2421018a]{line-height:1}.cp-section[data-v-2421018a]{letter-spacing:.08em;color:var(--color-text-dim);text-transform:uppercase;padding:8px 14px 4px;font-size:10px}.cp-snip[data-v-2421018a]{color:var(--color-text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:230px;margin-top:1px;font-size:11px;display:block;overflow:hidden}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, system-ui, sans-serif;--font-serif:Georgia, "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Consolas", monospace;--spacing:.25rem;--radius-sm:8px;--radius-md:.375rem;--radius-lg:20px;--shadow-sm:0 1px 2px #1f1f1e08, 0 4px 8px #1f1f1e06, 0 16px 32px -8px #1f1f1e0a;--shadow-md:0 2px 4px #1f1f1e0a, 0 8px 20px #1f1f1e0d, 0 32px 64px -16px #1f1f1e14;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:12px;--color-bg:#faf9f5;--color-bg-card:#fff;--color-bg-hover:#f5f3ec;--color-bg-soft:#f2f0e9;--color-bg-elevated:#fff;--color-bg-sand:#f5f3ec;--color-border:#ebe8df;--color-border-light:#f2efe7;--color-ring:#e3dfd4;--color-ring-deep:#d8d3c6;--color-text:#1f1f1e;--color-text-secondary:#3d3929;--color-text-tertiary:#736c5b;--color-text-dim:#908a7a;--color-accent:#d97757;--accent:#d97757;--color-accent-soft:#d9775714;--color-accent-dim:#d9775722;--color-gold:#d97757;--color-coral:#e89274;--color-gold-dim:#d9775722;--color-hp:#b53333;--color-hp-dim:#b5333318;--color-mp:#6890b0;--color-ex:#c28349;--color-ex-dim:#c2834918;--color-green:#6b9b6e;--fs-h3:1.25rem;--fs-h4:1.0625rem;--fs-body:.9375rem;--fs-sm:.8125rem;--fs-xs:.75rem;--fs-overline:.625rem;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.45;--lh-relaxed:1.6;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--radius-card:16px;--radius-pill:999px;--shadow-ring:0 0 0 1px var(--color-border);--shadow-ring-strong:0 0 0 1px var(--color-ring);--shadow-primary:0 1px 2px #1f1f1e1a, 0 8px 18px -6px #d977574d, 0 18px 36px -18px #d9775761;--shadow-primary-hover:0 2px 4px #1f1f1e1f, 0 12px 24px -6px #d9775761, 0 30px 45px -30px #d9775780;--shadow-focus:0 0 0 3px #d9775738;--state-hover:#1414130a;--state-active:#14141314;--state-focus-ring:0 0 0 1px var(--color-coral), 0 0 0 3px #d9775738;--state-disabled-opacity:.5;--state-selected:var(--color-accent-soft);--shimmer-base:var(--color-bg-hover);--shimmer-highlight:var(--color-bg-card);--tabbar-bg:#faf9f5e0;--tabbar-line:var(--color-border-light);--tabbar-shade:#1f1f1e0d;--ease:cubic-bezier(.25,.46,.45,.94);--ease-spring:cubic-bezier(.34,1.56,.64,1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--accent-gold:#d97757;--accent-hp:#b53333;--accent-mp:#6890b0;--accent-ex:#c28349;--accent-green:#6b9b6e;--accent-streak:#d97757;--accent-purple:#8b7aa8;--text-primary:#1f1f1e;--text-secondary:#3d3929;--text-dim:#908a7a;--border:#ebe8df;--bg-card:#fff;--bg-primary:#faf9f5;--bg-card-hover:#f5f3ec;--accent-hp-bg:#b5333318;--accent-mp-bg:#6890b018;--accent-ex-bg:#c2834918;--accent-green-bg:#6b9b6e18;--accent-gold-bg:#d9775718}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.ring-bg{--tw-ring-color:var(--color-bg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease{--tw-ease:var(--ease);transition-timing-function:var(--ease)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root[data-theme=dark]{--color-bg:#1c1b17;--color-bg-card:#25241f;--color-bg-hover:#2e2d27;--color-bg-soft:#2a2923;--color-bg-elevated:#34332c;--color-bg-sand:#3d3c33;--color-border:#3a3933;--color-border-light:#2e2d27;--color-ring:#4a4942;--color-ring-deep:#5a5950;--color-text:#eae7dc;--color-text-secondary:#c8c5b8;--color-text-tertiary:#9d9b91;--color-text-dim:#6e6c64;--color-text-dark:#b5b2a7;--color-accent:#d97757;--accent:#d97757;--color-accent-hover:#e08a6a;--color-accent-active:#c96442;--color-accent-soft:#d9775718;--color-accent-dim:#d9775728;--color-gold:#d97757;--color-coral:#e89274;--color-gold-dim:#d9775722;--color-hp:#d45a5a;--color-hp-dim:#d45a5a22;--color-mp:#82a8c8;--color-mp-dim:#82a8c822;--color-ex:#d49f6f;--color-ex-dim:#d49f6f22;--color-green:#8ab78d;--color-green-dim:#8ab78d22;--color-purple:#a799bd;--color-streak:#d97757;--shadow-sm:0 .2px 1px #0003, 0 1px 3px #0000003d, 0 3px 9px #0000002e;--shadow-md:0 .2px 1px #0000003d, 0 2px 6px #0000004d, 0 8px 24px #0000005c;--shadow-lg:0 1px 3px #0000004d, 0 8px 24px #0006, 0 24px 56px -12px #0009;--shadow-primary:0 1px 2px #0000004d, 0 8px 18px -6px #d9775761, 0 18px 36px -18px #d977577a;--shadow-focus:0 0 0 3px #d977574d;--state-hover:#ffffff0d;--state-active:#ffffff17;--state-focus:var(--shadow-focus);--state-focus-ring:0 0 0 1px var(--color-coral), 0 0 0 3px #d977574d;--state-selected:var(--color-accent-soft);--state-overlay:#0009;--shimmer-base:var(--color-bg-hover);--shimmer-highlight:var(--color-bg-elevated);--tabbar-bg:#1e1d19e6;--tabbar-line:#ffffff0f;--tabbar-shade:#00000073;--accent-gold:#d97757;--accent-hp:#d45a5a;--accent-mp:#82a8c8;--accent-ex:#d49f6f;--accent-green:#8ab78d;--accent-streak:#d97757;--accent-purple:#a799bd;--text-primary:#eae7dc;--text-secondary:#c8c5b8;--text-dim:#6e6c64;--border:#3a3933;--bg-card:#25241f;--bg-primary:#1c1b17;--bg-card-hover:#2e2d27;--accent-hp-bg:#d45a5a22;--accent-mp-bg:#82a8c822;--accent-ex-bg:#d49f6f22;--accent-green-bg:#8ab78d22;--accent-gold-bg:#d9775722}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#1c1b17;--color-bg-card:#25241f;--color-bg-hover:#2e2d27;--color-bg-soft:#2a2923;--color-bg-elevated:#34332c;--color-bg-sand:#3d3c33;--color-border:#3a3933;--color-border-light:#2e2d27;--color-ring:#4a4942;--color-text:#eae7dc;--color-text-secondary:#c8c5b8;--color-text-tertiary:#9d9b91;--color-text-dim:#6e6c64;--color-accent:#d97757;--accent:#d97757;--color-accent-hover:#e08a6a;--color-accent-active:#c96442;--color-accent-soft:#d9775718;--color-accent-dim:#d9775728;--color-gold:#d97757;--color-hp:#d45a5a;--color-mp:#82a8c8;--color-ex:#d49f6f;--color-green:#8ab78d;--color-purple:#a799bd;--accent-gold:#d97757;--accent-hp:#d45a5a;--accent-mp:#82a8c8;--accent-ex:#d49f6f;--accent-green:#8ab78d;--accent-streak:#d97757;--accent-purple:#a799bd;--text-primary:#eae7dc;--text-secondary:#c8c5b8;--text-dim:#6e6c64;--border:#3a3933;--bg-card:#25241f;--bg-primary:#1c1b17;--bg-card-hover:#2e2d27;--accent-hp-bg:#d45a5a22;--accent-mp-bg:#82a8c822;--accent-ex-bg:#d49f6f22;--accent-green-bg:#8ab78d22;--accent-gold-bg:#d9775722;--state-hover:#ffffff0d;--state-active:#ffffff17;--state-overlay:#0009;--shimmer-base:#2e2d27;--shimmer-highlight:#34332c;--tabbar-bg:#1e1d19e6;--tabbar-line:#ffffff0f;--tabbar-shade:#00000073}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-relaxed);font-weight:var(--fw-regular);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;letter-spacing:-.005em;min-height:100vh;overflow-x:hidden}.stat-value,.stat-tag,.ts-value,.badge-progress,.rank-progress,.win-time,.wins-time,.wins-count,.exp-amount,.exp-big,.gold-display,.streak-fire,.char-rank-badge,.avatar-level,.boss-hp-text,.sc-total-val,.sc-score-val,input[type=number],input[type=date],[data-numeric]{font-feature-settings:"tnum" 1, "lnum" 1;font-variant-numeric:tabular-nums lining-nums}.page-title{font-feature-settings:"lnum" 1, "ss01" 1}.app{max-width:440px;min-height:100vh;margin-inline:auto;padding-bottom:92px;position:relative}.tab-bar{bottom:calc(var(--spacing) * 0);z-index:50;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:100%;max-width:440px;translate:var(--tw-translate-x) var(--tw-translate-y);background:var(--tabbar-bg);-webkit-backdrop-filter:saturate(160%)blur(20px);box-shadow:0 -1px 0 var(--tabbar-line), 0 -8px 24px var(--tabbar-shade);padding:6px 6px 0;padding-bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;left:50%}.tab-item{color:var(--color-text-tertiary);transition:all var(--dur-base) var(--ease);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:7px 14px 6px;text-decoration-line:none;display:flex;position:relative}.tab-item:hover{color:var(--color-text-secondary)}.tab-item:active{transform:scale(.92)}.tab-item.active{color:var(--color-accent)}.tab-item.active:before{content:"";background:var(--color-accent-soft);z-index:-1;border-radius:13px;position:absolute;inset:3px 2px}.tab-icon{filter:grayscale()opacity(.55);transition:transform var(--dur-base) var(--ease), filter var(--dur-base) var(--ease);font-size:21px;line-height:1}.tab-item.active .tab-icon{filter:none;transform:scale(1.06)translateY(-1px)}.tab-label{font-size:var(--fs-overline);font-weight:var(--fw-medium);letter-spacing:.04em}.tab-item.active .tab-label{font-weight:var(--fw-semibold)}.page{padding:var(--sp-4) var(--sp-4) var(--sp-3);padding-top:max(var(--sp-4), env(safe-area-inset-top));padding-bottom:calc(88px + env(safe-area-inset-bottom));position:relative}.page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 100% at 50% 0,#d9775712 0%,#d9775705 45%,#0000 72%);height:260px;position:absolute;top:0;left:0;right:0}.page>*{z-index:1;position:relative}.page-header{text-align:center;margin-bottom:var(--sp-4)}.page-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:-.012em;color:var(--color-text)}.page-subtitle{font-size:var(--fs-sm);color:var(--color-text-tertiary);line-height:var(--lh-snug);margin-top:4px}.kbd{min-width:18px;height:20px;font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);color:var(--color-text-secondary);background:var(--color-bg-card);box-shadow:0 0 0 1px var(--color-border), 0 1px 0 var(--color-border), inset 0 -1px 0 var(--color-border-light);letter-spacing:.02em;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.skeleton{background:linear-gradient(90deg, var(--color-bg-hover) 0%, var(--color-bg-card) 50%, var(--color-bg-hover) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeletonShimmer;display:block}.skeleton.line{height:14px;margin:8px 0}.skeleton.line-sm{height:11px;margin:6px 0}.skeleton.line-lg{height:22px;margin:10px 0}.skeleton.block{border-radius:var(--radius);height:80px}.skeleton.circle{border-radius:50%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.meta-label{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);line-height:1;display:inline-block}.meta-label.accent{color:var(--color-gold)}.pill{border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.012em;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;line-height:1.4;display:inline-flex}.pill.brand{background:var(--accent-gold-bg);color:var(--color-gold)}.pill.success{background:var(--accent-green-bg);color:var(--color-green)}.pill.danger{background:var(--accent-hp-bg);color:var(--color-hp)}.pill.info{background:var(--accent-mp-bg);color:var(--color-mp)}.pill.warning{background:var(--accent-ex-bg);color:var(--color-ex)}.pill.neutral{background:var(--color-bg-hover);color:var(--color-text-tertiary);box-shadow:0 0 0 1px var(--color-border-light)}.card{background:var(--color-bg-card);border-radius:var(--radius-card);padding:var(--sp-5);margin-bottom:var(--sp-3);box-shadow:var(--shadow-sm), 0 0 0 1px var(--color-border-light);transition:box-shadow var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);animation:.38s cubic-bezier(.22,.61,.36,1) backwards cardEnter}.page>.card:first-child{animation-delay:0s}.page>.card:nth-child(2){animation-delay:50ms}.page>.card:nth-child(3){animation-delay:.1s}.page>.card:nth-child(4){animation-delay:.15s}.page>.card:nth-child(5){animation-delay:.2s}.page>.card:nth-child(6){animation-delay:.25s}.page>.card:nth-child(7){animation-delay:.3s}.page>.card:nth-child(8){animation-delay:.35s}.page>.card:nth-child(n+9){animation-delay:.4s}@keyframes cardEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.card[onclick]:hover,.card.clickable:hover,.remedy-widget:hover,.timer-widget:hover{box-shadow:var(--shadow-md);cursor:pointer;transform:translateY(-1px)}}.card-title{font-family:var(--font-serif);font-size:1.0625rem;font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:-.005em;color:var(--color-text);margin-bottom:var(--sp-3)}.card-desc{font-size:var(--fs-sm);color:var(--color-text-tertiary);line-height:var(--lh-relaxed);margin-bottom:var(--sp-3)}.stat-row{margin-bottom:calc(var(--spacing) * 2.5);align-items:center;gap:calc(var(--spacing) * 2.5);display:flex}.stat-label{width:28px;font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.02em}.stat-label.hp{color:var(--color-hp)}.stat-label.mp{color:var(--color-mp)}.stat-label.ex{color:var(--color-ex)}.stat-bar-bg{border-radius:var(--radius-pill);background:var(--color-bg-hover);flex:1;height:14px;overflow:hidden;box-shadow:inset 0 1px 2px #1414130a}.stat-bar-fill{border-radius:var(--radius-pill);height:100%;transition:width .6s var(--ease)}.stat-bar-fill.hp{background:linear-gradient(90deg,#9f2929,#b53333)}.stat-bar-fill.mp{background:linear-gradient(90deg,#5a809e,#6890b0)}.stat-bar-fill.ex{background:linear-gradient(90deg,#a8723f,#c28349)}.stat-value{text-align:right;width:36px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.rank-bar-bg{border-radius:var(--radius-pill);width:100%;height:6px;margin-top:var(--sp-2);background:var(--color-bg-hover);overflow:hidden}.rank-bar-fill{background:linear-gradient(90deg, var(--color-gold), var(--color-coral));height:100%;transition:width .8s var(--ease)}.btn{border-radius:var(--radius);width:100%;font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:.005em;text-align:center;cursor:pointer;transition:all var(--dur-base) var(--ease);border:none;padding:12px 16px;display:block}.btn-primary,a.btn-primary,button.btn-primary{box-shadow:var(--shadow-primary);font-weight:var(--fw-semibold);letter-spacing:.01em;background-color:var(--color-accent)!important;color:#fff!important}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-primary-hover);transform:translateY(-1px);background-color:#bd5836!important}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.985);box-shadow:0 1px 3px #14141333,inset 0 1px 2px #1414130f;background-color:#ac4d2d!important}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--color-text-secondary);box-shadow:var(--shadow-ring);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);box-shadow:var(--shadow-ring-strong)}.btn-sand{background:var(--color-bg-sand);color:var(--color-text-secondary);box-shadow:var(--shadow-ring)}.btn-sand:hover:not(:disabled){box-shadow:0 0 0 1px var(--color-ring), 0 2px 8px #1414130f}.slider-group{margin-bottom:var(--sp-5)}.slider-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:baseline;display:flex}.slider-label{font-size:var(--fs-body);color:var(--color-text-secondary)}.slider-value{font-size:var(--fs-h3);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:center;min-width:28px}input[type=range]{appearance:none;border-radius:var(--radius-pill);background:var(--color-bg-hover);outline:none;width:100%;height:6px;box-shadow:inset 0 1px 2px #1414130d}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-gold);cursor:pointer;width:22px;height:22px;transition:transform var(--dur-fast) var(--ease);border-radius:50%;box-shadow:0 1px 3px #1414132e,0 2px 8px #c9644240}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}input[type=range]::-webkit-slider-thumb:active{transform:scale(.94)}.text-input,input[type=text]:not([class]),input[type=number]:not([class]),input[type=date]:not([class]),textarea{border-radius:var(--radius);background:var(--color-bg-card);width:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);box-shadow:var(--shadow-ring);transition:box-shadow var(--dur-base) var(--ease);border:none;outline:none;padding:10px 14px}.text-input:focus,input[type=text]:not([class]):focus,input[type=number]:not([class]):focus,input[type=date]:not([class]):focus,textarea:focus{box-shadow:0 0 0 1px var(--color-coral), var(--shadow-focus)}.text-input::placeholder{color:var(--color-text-dim)}.select-input,select:not([class]){border-radius:var(--radius);background:var(--color-bg-card);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);box-shadow:var(--shadow-ring);cursor:pointer;transition:box-shadow var(--dur-base) var(--ease);border:none;outline:none;padding:10px 14px}.select-input:focus,select:not([class]):focus{box-shadow:0 0 0 1px var(--color-coral), var(--shadow-focus)}.toggle-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.toggle-btn{border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-tertiary);box-shadow:var(--shadow-ring);cursor:pointer;transition:all var(--dur-base) var(--ease);background:0 0;border:none;padding:8px 14px}.toggle-btn:hover:not(.active){background:var(--color-bg-hover);box-shadow:var(--shadow-ring-strong);color:var(--color-text-secondary)}.toggle-btn.active{background:var(--color-gold);color:#fff;font-weight:var(--fw-semibold);box-shadow:0 1px 3px #c9644240}.task-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius);cursor:pointer;transition:background var(--dur-base) var(--ease);display:flex}.task-item:hover{background:var(--color-bg-hover)}.task-item:active{background:var(--color-bg-sand)}.task-check{border-radius:var(--radius-sm);background:var(--color-bg-card);width:22px;height:22px;box-shadow:0 0 0 1.5px var(--color-border);transition:all var(--dur-base) var(--ease);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.task-check.done{background:var(--color-green);color:#fff;box-shadow:0 0 0 1.5px var(--color-green)}.task-info{flex:1}.task-title{font-size:var(--fs-body);transition:all var(--dur-base) var(--ease)}.task-title.done{color:var(--color-text-dim);text-decoration:line-through}.task-exp{font-size:var(--fs-xs);color:var(--color-gold);font-weight:var(--fw-medium);margin-top:2px}.achievement-grid{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.achievement-badge{padding:var(--sp-3);border-radius:var(--radius);text-align:center;background:var(--color-bg-card);box-shadow:var(--shadow-ring);transition:all var(--dur-base) var(--ease);flex-direction:column;align-items:center;gap:6px;display:flex}.achievement-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.achievement-badge.unlocked{box-shadow:0 0 0 1.5px var(--color-gold), 0 4px 12px #c964421a}.achievement-badge.locked{opacity:.4}.badge-icon{font-size:28px}.badge-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.badge-desc{color:var(--color-text-dim);font-size:10px;line-height:var(--lh-snug)}.badge-progress{background:var(--color-bg-hover);border-radius:2px;width:100%;height:3px;overflow:hidden}.badge-progress-fill{background:var(--color-gold);height:100%}.exp-popup-overlay{z-index:199;-webkit-backdrop-filter:blur(6px);background:#14141373;position:fixed;inset:0}.exp-popup{text-align:center;z-index:200;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--sp-8) var(--sp-10);box-shadow:0 0 0 1px var(--color-gold), 0 24px 80px #c964422e, 0 8px 24px #1414131a;animation:popIn var(--dur-slow) cubic-bezier(.34, 1.56, .64, 1);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.exp-amount{font-family:var(--font-serif);font-size:2.5rem;font-weight:var(--fw-medium);color:var(--color-gold);line-height:var(--lh-tight)}.field-group{margin-bottom:var(--sp-3)}.field-label{font-size:var(--fs-sm);color:var(--color-text-tertiary);margin-bottom:6px;display:block}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-ring)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes pulse{50%{opacity:.5}}.streak-fire{animation:pulse 1.8s var(--ease) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes popInScale{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes ripple{0%{opacity:.35;transform:scale(0)}to{opacity:0;transform:scale(2.4)}}@keyframes ringDraw{0%{stroke-dashoffset:var(--ring-circumference,360)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10%)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(360deg)}}.anim-pop{animation:popInScale var(--dur-slow) var(--ease-spring) both}.anim-fade{animation:fadeIn var(--dur-base) var(--ease-out) both}.anim-breathe{animation:breathe 3.2s var(--ease) infinite}.shimmer{background:linear-gradient(90deg, var(--shimmer-base) 0%, var(--shimmer-highlight) 50%, var(--shimmer-base) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.ripple{position:relative;overflow:hidden}.ripple-ink{pointer-events:none;opacity:.35;animation:ripple .56s var(--ease-out) forwards;background:currentColor;border-radius:50%;position:absolute;transform:scale(0)}.confetti-canvas{pointer-events:none;z-index:300;width:100%;height:100%;position:fixed;inset:0}.empty-state{text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);color:var(--color-text-tertiary);flex-direction:column;display:flex}.empty-state-icon{opacity:.85;animation:breathe 3.2s var(--ease) infinite;font-size:44px;line-height:1}.empty-state-title{font-family:var(--font-serif);font-size:var(--fs-h3);font-weight:var(--fw-medium);color:var(--color-text-secondary);line-height:var(--lh-snug)}.empty-state-hint{font-size:var(--fs-sm);color:var(--color-text-dim);line-height:var(--lh-relaxed);max-width:28ch}.ring-progress{display:inline-flex;position:relative}.ring-progress-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.ring-progress-value{font-family:var(--font-serif);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums lining-nums;color:var(--color-text);line-height:1}.ring-progress-label{font-size:var(--fs-xs);color:var(--color-text-tertiary);line-height:1.2}.ring-progress-sublabel{font-size:var(--fs-overline);color:var(--color-text-dim);letter-spacing:.04em}.is-disabled,[aria-disabled=true]{opacity:var(--state-disabled-opacity);pointer-events:none;cursor:not-allowed}.state-hover-tint:hover{background-color:var(--state-hover)}.state-active-tint:active{background-color:var(--state-active)}.focus-ring:focus-visible{box-shadow:var(--state-focus-ring);outline:none}.is-selected{background-color:var(--state-selected)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.empty-state-icon,.anim-breathe,.streak-fire{animation:none!important}.ripple-ink,.confetti-canvas{display:none!important}}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}::selection{background:var(--color-accent-dim);color:var(--color-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-ring);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-ring-deep);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-track{background:0 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--state-focus-ring);outline:none}.back-bar{z-index:50;height:48px;padding:0 12px;padding-top:env(safe-area-inset-top);background:#faf9f5db;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.back-bar{background:color-mix(in srgb, var(--color-bg) 86%, transparent)}}.back-bar{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.bb-btn{cursor:pointer;background:var(--color-bg-soft);width:34px;height:34px;color:var(--color-text);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:17px;display:flex}.bb-btn:active{transform:scale(.92)}.bb-title{color:var(--color-text);font-size:15px;font-weight:600}.has-back .page{padding-top:calc(58px + env(safe-area-inset-top))}.seg-bar{background:var(--color-bg-soft);border-radius:14px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.seg-item{cursor:pointer;color:var(--color-text-tertiary);white-space:nowrap;background:0 0;border:none;border-radius:11px;flex:1;padding:8px 4px;font-size:12.5px;transition:all .15s}.seg-item.active{background:var(--color-bg-card,#fff);color:var(--color-text);font-weight:600;box-shadow:0 1px 4px #00000014}.btn-dashed{cursor:pointer;border:1px dashed var(--color-border);color:var(--color-text-tertiary);background:0 0;border-radius:999px;padding:8px 14px;font-size:12.5px;transition:all .15s}.btn-dashed:hover{color:var(--color-accent);border-color:var(--color-accent)}.btn-dashed:disabled{opacity:.5;cursor:default}.empty-tip{text-align:center;color:var(--color-text-tertiary);padding:22px 12px;font-size:12.5px;line-height:1.7}.has-back .page-header .page-title{display:none}.has-back .page-header{margin-bottom:10px}.route-enter-active{transition:opacity .18s,transform .18s}.route-leave-active{transition:opacity .12s}.route-enter-from{opacity:0;transform:translateY(8px)}.route-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.route-enter-active,.route-leave-active{transition:none}.route-enter-from,.route-leave-to{transform:none}}.tab-bar .tab-item.active .tab-icon{background:#d9775724}@supports (color:color-mix(in lab, red, red)){.tab-bar .tab-item.active .tab-icon{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}}.tab-bar .tab-item.active .tab-icon{border-radius:12px;padding:2px 10px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
