.tour[data-v-f5b351f3]{z-index:400;pointer-events:none;position:fixed;inset:0}.blocker[data-v-f5b351f3]{pointer-events:auto;position:fixed}.spot[data-v-f5b351f3]{pointer-events:none;border-radius:16px;transition:top .45s cubic-bezier(.65,0,.35,1),left .45s cubic-bezier(.65,0,.35,1),width .45s cubic-bezier(.65,0,.35,1),height .45s cubic-bezier(.65,0,.35,1);position:fixed;box-shadow:0 0 0 9999px #0a0e209e,0 0 0 3px #ffffffe6}.spot.hidden[data-v-f5b351f3]{opacity:0}.spot.pulse[data-v-f5b351f3]{animation:1.6s ease-in-out infinite spot-pulse-f5b351f3}@keyframes spot-pulse-f5b351f3{50%{box-shadow:0 0 0 9999px #0a0e209e,0 0 0 6px #fff9}}.dim[data-v-f5b351f3]{background:#0a0e209e;position:fixed;inset:0}.tip[data-v-f5b351f3]{background:var(--surface);width:min(340px,100vw - 24px);color:var(--text);pointer-events:auto;border-radius:18px;padding:16px 16px 12px;transition:top .35s cubic-bezier(.65,0,.35,1),left .35s cubic-bezier(.65,0,.35,1);animation:.4s cubic-bezier(.34,1.4,.64,1) both tip-in-f5b351f3;position:fixed;box-shadow:0 18px 50px #00000059}@keyframes tip-in-f5b351f3{0%{opacity:0;transform:translateY(10px)scale(.96)}}.arrow[data-v-f5b351f3]{background:var(--surface);border-radius:3px;width:14px;height:14px;position:absolute;transform:translate(-50%)rotate(45deg)}.arrow.up[data-v-f5b351f3]{top:-6px}.arrow.down[data-v-f5b351f3]{bottom:-6px}.tip-step[data-v-f5b351f3]{color:var(--primary);font-size:12px;font-weight:600}.tip h3[data-v-f5b351f3]{margin:2px 0 6px;font-size:17px}.tip-text[data-v-f5b351f3]{color:var(--text-2);font-size:14px;line-height:1.65}.tip-actions[data-v-f5b351f3]{align-items:center;gap:6px;margin-top:12px;display:flex}.skip[data-v-f5b351f3]{color:var(--muted);background:0 0;border:none;padding:4px 0;font-size:13px}.try[data-v-f5b351f3]{color:var(--primary);font-size:13px;font-weight:600;animation:1.2s ease-in-out infinite nudge-f5b351f3}@keyframes nudge-f5b351f3{50%{transform:translateY(-3px)}}.dots[data-v-f5b351f3]{justify-content:center;gap:5px;margin-top:10px;display:flex}.dots i[data-v-f5b351f3]{background:var(--surface-3);border-radius:3px;width:6px;height:6px;transition:width .3s,background .3s}.dots i.on[data-v-f5b351f3]{background:var(--primary);width:18px}.tour-fade-enter-active[data-v-f5b351f3],.tour-fade-leave-active[data-v-f5b351f3]{transition:opacity .25s}.tour-fade-enter-from[data-v-f5b351f3],.tour-fade-leave-to[data-v-f5b351f3]{opacity:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f3ec;--surface:#fffdf9;--surface-2:#f1ede4;--surface-3:#e6e0d4;--text:#1f2430;--text-2:#535a68;--muted:#8a8d96;--border:#342c1e1a;--border-strong:#342c1e2e;--primary:#2f5d9e;--primary-strong:#234a82;--primary-soft:#e7eef8;--on-primary:#fff;--accent:#d4553a;--accent-soft:#fbece7;--good:#2e8a66;--good-soft:#e4f2ea;--bad:#c63f3f;--bad-soft:#f9e8e6;--warn:#a8700f;--warn-soft:#f8efd9;--shadow:0 1px 2px #342c1e0d, 0 0 0 1px #342c1e0d;--shadow-lg:0 10px 30px #342c1e24;--hero:linear-gradient(160deg, #305f9f 0%, #24497f 100%);--hero-shadow:0 8px 22px #24497f38;--series-1:#2f5d9e;--series-2:#d4553a;--grid:#e7e1d5;--seq-0:#ece7dc;--seq-1:#c3d3ec;--seq-2:#86a6d6;--seq-3:#2f5d9e;--seq-4:#1d3c6b;--ord-1:#9db5dc;--ord-2:#5f84c2;--ord-3:#2f5d9e;--ord-4:#1d3c6b;--radius:14px;--radius-sm:10px;--tabbar-h:60px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-word:"Georgia", "Times New Roman", "Songti SC", serif;--font-ipa:"Lucida Sans Unicode", "Arial Unicode MS", "Segoe UI", "DejaVu Sans", "Noto Sans", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14171d;--surface:#1b1f27;--surface-2:#232833;--surface-3:#2e3441;--text:#ece8df;--text-2:#b8b5ad;--muted:#868891;--border:#fff8eb14;--border-strong:#fff8eb26;--primary:#7ea5e6;--primary-strong:#a2bff0;--primary-soft:#7ea5e626;--accent:#ec7a5f;--accent-soft:#ec7a5f26;--good:#57c193;--good-soft:#57c19324;--bad:#ef6b6b;--bad-soft:#ef6b6b24;--warn:#e2a94a;--warn-soft:#e2a94a24;--shadow:0 0 0 1px #fff8eb0f, 0 2px 8px #0000004d;--shadow-lg:0 12px 34px #00000080;--hero:linear-gradient(160deg, #2c4f86 0%, #1f3a63 100%);--hero-shadow:0 8px 22px #0006;--series-1:#6b93d6;--series-2:#d9603f;--grid:#2a2f3a;--seq-0:#232833;--seq-1:#33508a;--seq-2:#4d72b8;--seq-3:#6b93d6;--seq-4:#b3cbf0;--ord-1:#33508a;--ord-2:#4d72b8;--ord-3:#7aa2e3;--ord-4:#b3cbf0}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14171d;--surface:#1b1f27;--surface-2:#232833;--surface-3:#2e3441;--text:#ece8df;--text-2:#b8b5ad;--muted:#868891;--border:#fff8eb14;--border-strong:#fff8eb26;--primary:#7ea5e6;--primary-strong:#a2bff0;--primary-soft:#7ea5e626;--accent:#ec7a5f;--accent-soft:#ec7a5f26;--good:#57c193;--good-soft:#57c19324;--bad:#ef6b6b;--bad-soft:#ef6b6b24;--warn:#e2a94a;--warn-soft:#e2a94a24;--shadow:0 0 0 1px #fff8eb0f, 0 2px 8px #0000004d;--shadow-lg:0 12px 34px #00000080;--hero:linear-gradient(160deg, #2c4f86 0%, #1f3a63 100%);--hero-shadow:0 8px 22px #0006;--series-1:#6b93d6;--series-2:#d9603f;--grid:#2a2f3a;--seq-0:#232833;--seq-1:#33508a;--seq-2:#4d72b8;--seq-3:#6b93d6;--seq-4:#b3cbf0;--ord-1:#33508a;--ord-2:#4d72b8;--ord-3:#7aa2e3;--ord-4:#b3cbf0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,label,[role=button]{touch-action:manipulation}button,[role=button],.choice,.iq-opt{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none}@media (pointer:coarse){input,textarea,select{font-size:16px!important}}h1,h2,h3,h4{margin:0;line-height:1.3}p{margin:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.icon{vertical-align:middle;flex-shrink:0;display:inline-block}.app-shell{min-height:100dvh}.page{max-width:760px;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(var(--tabbar-h) + var(--safe-bottom) + 24px) calc(16px + var(--safe-left));margin:0 auto}.page.no-tab{padding-bottom:calc(24px + var(--safe-bottom))}.page-head{align-items:center;gap:8px;min-height:44px;margin-bottom:12px;display:flex}.page-head h1{flex:1;min-width:0;font-size:20px;font-weight:700}.back-btn{width:36px;height:36px;color:var(--text);background:0 0;border:none;border-radius:50%;place-items:center;margin-left:-8px;display:grid}@media (hover:hover){.back-btn:hover{background:var(--surface-2)}}.tabbar{z-index:50;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.tabbar a.router-link-active{color:var(--primary);font-weight:600}.tab-ico{border-radius:99px;place-items:center;width:48px;height:28px;transition:background .25s,transform .35s cubic-bezier(.34,1.56,.64,1);display:grid}.tabbar a.router-link-active .tab-ico{background:var(--primary-soft);transform:translateY(-1px)scale(1.06)}.tabbar a:active .tab-ico{transform:scale(.88)}@media (width>=960px){.tabbar{border-top:none;border-right:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:6px;width:92px;height:auto;padding:24px 0;top:0;right:auto}.tabbar a{flex:none;height:64px;font-size:12px}.tabbar .brand{display:grid!important}.app-shell.has-tab{padding-left:92px}.page{padding-bottom:40px}}.tabbar .brand{place-items:center;margin-bottom:18px;display:none}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow-wrap:break-word;min-width:0;padding:16px}.card+.card,.section+.section{margin-top:12px}.card-title{align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:650;display:flex}.card-title .more{color:var(--muted);align-items:center;margin-left:auto;font-size:13px;font-weight:400;display:inline-flex}.section-label{color:var(--muted);margin:20px 4px 8px;font-size:13px}.btn{background:var(--surface-2);min-height:44px;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:600;transition:transform 80ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transition-duration:50ms;transform:scale(.96)}.btn{position:relative;overflow:hidden}.btn:after{content:"";opacity:0;pointer-events:none;background:currentColor;transition:opacity .3s;position:absolute;inset:0}.btn:active:after{opacity:.08;transition-duration:0s}.card,.list{transition:transform .2s,box-shadow .2s}a.card:active,button.card:active{transform:scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--on-primary)}@media (hover:hover){.btn.primary:hover:not(:disabled){background:var(--primary-strong)}:root[data-theme=dark] .btn.primary:hover:not(:disabled){background:#9ab9ee}}.btn.primary{box-shadow:0 2px 8px color-mix(in srgb, var(--primary) 22%, transparent)}.btn.outline{border-color:var(--border-strong);background:0 0}.btn.ghost{background:0 0}@media (hover:hover){.btn.ghost:hover{background:var(--surface-2)}}.btn.danger{background:var(--bad-soft);color:var(--bad)}.btn.block{width:100%}.btn.lg{border-radius:14px;min-height:52px;font-size:17px}.btn.sm{border-radius:9px;min-height:34px;padding:0 12px;font-size:13px}.icon-btn{width:40px;height:40px;color:var(--text-2);background:0 0;border:none;border-radius:50%;place-items:center;display:inline-grid}@media (hover:hover){.icon-btn:hover{background:var(--surface-2);color:var(--text)}}.icon-btn.active{color:var(--warn)}.chip{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.chip.primary{background:var(--primary-soft);color:var(--primary)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.good{background:var(--good-soft);color:var(--good)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.progress{background:var(--surface-3);border-radius:99px;height:8px;overflow:hidden}.progress>span{background:var(--primary);border-radius:99px;height:100%;transition:width .4s;display:block}.list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list-item{min-height:52px;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:13px 16px;display:flex}.list-item+.list-item{border-top:1px solid var(--border)}@media (hover:hover){a.list-item:hover,button.list-item:hover{background:var(--surface-2)}}.list-item .grow{flex:1;min-width:0}.list-item .sub{color:var(--muted);font-size:13px}.list-item .trail{color:var(--muted);align-items:center;gap:2px;font-size:13px;display:inline-flex}.segmented{background:var(--surface-2);scrollbar-width:none;border-radius:11px;gap:2px;padding:3px;display:flex;overflow-x:auto}.segmented button{color:var(--text-2);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:6px 10px;font-size:13px}.segmented.grid3{grid-template-columns:repeat(3,1fr);display:grid}.segmented button.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.input{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;outline:none;width:100%;min-height:44px;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea.input{resize:vertical;line-height:1.6}.switch{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:99px;flex-shrink:0;width:46px;height:28px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(18px)}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:13px}.center{text-align:center}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tabular{font-variant-numeric:tabular-nums}.word-text{font-family:var(--font-word);letter-spacing:.01em}.ipa{font-family:var(--font-ipa);color:var(--text-2)}.hl{color:var(--primary);font-weight:650}.pos{min-width:34px;color:var(--muted);font-size:13px;font-style:italic;font-family:var(--font-word);margin-right:6px;display:inline-block}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty .icon{opacity:.6;margin-bottom:8px}.loading{color:var(--muted);place-items:center;padding:64px 0;display:grid}.spinner{border:3px solid var(--surface-3);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:200;left:50%;top:calc(16px + env(safe-area-inset-top,0px));pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:12px;padding:10px 16px;font-size:14px;animation:.2s toast-in}.toast.success{background:var(--good);color:#fff}.toast.error{background:var(--bad);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.modal-mask{z-index:150;background:#00000073;place-items:end center;animation:.15s fade;display:grid;position:fixed;inset:0}@media (width>=640px){.modal-mask{place-items:center}}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);width:100%;max-width:520px;max-height:88dvh;padding:20px 20px calc(20px + var(--safe-bottom));border-radius:20px 20px 0 0;transition:transform .2s;animation:.22s slide-up;overflow-y:auto}.modal:before{content:"";background:var(--border-strong);border-radius:2px;width:38px;height:4px;margin:-8px auto 12px;display:block}@media (width>=640px){.modal{border-radius:20px;padding-bottom:20px}.modal:before{display:none}}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}}.kbd{border:1px solid var(--border-strong);text-align:center;min-width:18px;color:var(--muted);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-family:ui-monospace,monospace;font-size:11px;line-height:16px;display:inline-block}@media (hover:none){.kbd{display:none}}.fade-page-enter-active,.fade-page-leave-active{transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1)}.fade-page-enter-from{opacity:0;transform:translateY(8px)}.fade-page-leave-to{opacity:0}.slide-page-enter-active,.slide-page-leave-active{transition:opacity .2s,transform .26s cubic-bezier(.2,.8,.2,1)}.slide-page-enter-from{opacity:0;transform:translate(24px)}.slide-page-leave-to{opacity:0;transform:translate(-16px)}.stagger>*{animation:.42s cubic-bezier(.2,.8,.2,1) both stagger-in}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(n+8){animation-delay:.28s}@keyframes stagger-in{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}:root[data-reduced-motion] *,:root[data-reduced-motion] :before,:root[data-reduced-motion] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}
