.tabs[data-v-d2aed726]{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:720px;display:flex;justify-content:space-around;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);padding-bottom:calc(var(--sp-1) + env(safe-area-inset-bottom,0px));border-radius:0;border-left:none;border-right:none;border-bottom:none;z-index:6}.tab[data-v-d2aed726]{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border-radius:var(--r-md);font-size:12px;color:var(--text-2);text-decoration:none;transition:color var(--dur-fast) var(--ease-smooth),transform var(--dur-fast) var(--ease-spring)}.tab[data-v-d2aed726]:active{transform:scale(.96)}.dot[data-v-d2aed726]{width:20px;height:20px;border-radius:7px;background:currentColor;opacity:.28;transition:opacity var(--dur-fast) var(--ease-smooth)}.tab.is-active[data-v-d2aed726]{color:var(--accent)}.tab.is-active .dot[data-v-d2aed726]{opacity:1}.page-enter-active,.page-leave-active{transition:opacity var(--dur) var(--ease-smooth),transform var(--dur) var(--ease-smooth)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-6px)}:root{--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 24px;--r-pill: 999px;--sp-1: 8px;--sp-2: 16px;--sp-3: 24px;--sp-4: 32px;--sp-5: 40px;--sp-6: 56px;--label-h: 20px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--dur-fast: .16s;--dur: .32s;--dur-slow: .48s;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--glass-blur: 20px;--glass-saturation: 180%;--glass-highlight-top: linear-gradient( 135deg, rgba(255, 255, 255, .28) 0%, rgba(255, 255, 255, .06) 40%, transparent 62% );--glass-inner-shadow: inset 0 1px 1px rgba(255, 255, 255, .18)}html[data-theme=light]{color-scheme:light;--bg: #f5f5f7;--bg-glow-1: rgba(91, 168, 140, .1);--bg-glow-2: rgba(96, 120, 200, .08);--surface: #ffffff;--surface-border: rgba(0, 0, 0, .06);--divider: rgba(0, 0, 0, .05);--shadow-card: 0 8px 30px rgba(0, 0, 0, .08);--text: #1d1d1f;--text-2: #86868b;--accent: #5ba88c;--accent-soft: rgba(91, 168, 140, .12);--accent-ring: rgba(91, 168, 140, .35);--on-accent: #ffffff;--danger: #c0392b;--danger-soft: rgba(192, 57, 43, .1);--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(255, 255, 255, .75);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1)}html[data-theme=dark]{color-scheme:dark;--bg: #0a0e14;--bg-glow-1: rgba(91, 168, 140, .12);--bg-glow-2: rgba(88, 72, 180, .12);--surface: rgba(255, 255, 255, .03);--surface-border: rgba(255, 255, 255, .08);--divider: rgba(255, 255, 255, .05);--shadow-card: 0 8px 30px rgba(0, 0, 0, .45);--text: #e8e8e8;--text-2: #8a8f98;--accent: #5ba88c;--accent-soft: rgba(91, 168, 140, .16);--accent-ring: rgba(91, 168, 140, .4);--on-accent: #06110d;--danger: #e57373;--danger-soft: rgba(229, 115, 115, .12);--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#app{height:100%}html{transition:background-color var(--dur) var(--ease-smooth),color var(--dur) var(--ease-smooth);-webkit-text-size-adjust:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color var(--dur) var(--ease-smooth),color var(--dur) var(--ease-smooth)}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body:before{background:radial-gradient(60vw 50vh at 18% 8%,var(--bg-glow-1),transparent 70%)}body:after{background:radial-gradient(55vw 45vh at 92% 96%,var(--bg-glow-2),transparent 72%)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;line-height:1.3}button,input,textarea{font:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.wrap{position:relative;z-index:1;width:100%;max-width:720px;margin:0 auto;padding:0 var(--sp-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}html[data-lite="1"]{--glass-blur: 0px;--glass-saturation: 100%}html[data-lite="1"] body:before,html[data-lite="1"] body:after{display:none}html[data-lite="1"] .lift:hover{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass{position:relative;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow),var(--glass-inner-shadow);overflow:hidden;transition:background var(--dur) var(--ease-smooth),border-color var(--dur) var(--ease-smooth),box-shadow var(--dur) var(--ease-smooth),transform var(--dur) var(--ease-spring)}.glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--glass-highlight-top);border-radius:inherit;z-index:1}.glass>*{position:relative;z-index:2}.lift:hover{transform:translateY(-2px)}.page{position:relative;z-index:1;min-height:100%;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.page-full{padding-bottom:var(--sp-4)}.page-body{width:100%;max-width:720px;margin:0 auto;padding:var(--sp-2)}.stack{display:flex;flex-direction:column;gap:var(--sp-1)}.row{display:flex;align-items:center;gap:var(--sp-1)}.search{display:flex;align-items:center;gap:var(--sp-1);height:44px;padding:0 var(--sp-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--surface-border);transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search input{flex:1 1 auto;min-width:0;font-size:15px}.search svg{color:var(--text-2);flex:none}.btn-major,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;padding:0 var(--sp-3);border-radius:var(--r-md);font-size:15px;font-weight:600;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur) var(--ease-smooth)}.btn-major{background:var(--accent);color:var(--on-accent)}.btn-ghost{background:var(--surface);border:1px solid var(--surface-border);color:var(--text)}.btn-major:active:not(:disabled),.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-major:disabled,.btn-ghost:disabled{opacity:.5}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-1);margin:var(--sp-3) 0 var(--sp-1);font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:.02em}.card-plain{padding:var(--sp-2);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--surface-border)}.tile{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--surface-border);color:var(--text);text-align:left;transition:transform var(--dur) var(--ease-spring),background-color var(--dur) var(--ease-smooth)}.tile:hover{transform:translateY(-1px)}.tile:active{transform:scale(.99)}.tile-main{flex:1 1 auto;min-width:0}.tile-name{font-size:15px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sub{font-size:12px;color:var(--text-2)}.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;max-width:min(90vw,420px);padding:10px var(--sp-2);border-radius:var(--r-pill);font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-enter-active,.toast-leave-active{transition:opacity var(--dur) var(--ease-smooth),transform var(--dur) var(--ease-spring)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,10px)}
