.icon[data-v-fe060945]{flex:none;display:block}.hdr[data-v-42034062]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.hdr-in[data-v-42034062]{max-width:1240px;margin:0 auto;height:var(--header-h);padding:0 20px;display:flex;align-items:center;gap:6px}.brand[data-v-42034062]{display:flex;align-items:center;gap:10px;font-weight:750;font-size:17px;color:var(--ink);text-decoration:none!important;margin-right:22px;letter-spacing:-.01em}.brand img[data-v-42034062]{border-radius:8px}.nav[data-v-42034062]{display:flex;gap:2px;height:100%}.nav a[data-v-42034062]{position:relative;isolation:isolate;display:flex;align-items:center;padding:0 12px;color:var(--muted);font-weight:600;text-decoration:none}.nav a[data-v-42034062]:hover,.nav a.on[data-v-42034062]{color:var(--ink)}.nav a.on[data-v-42034062]:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;background:var(--brand);border-radius:3px 3px 0 0}.user-menu[data-v-42034062]{position:relative}.user-btn[data-v-42034062]{display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;padding:4px 8px 4px 4px;border-radius:var(--r)}.user-btn[data-v-42034062]:hover{background:var(--surface-2)}.caret[data-v-42034062]{color:var(--faint)}.avatar[data-v-42034062]{width:30px;height:30px;border-radius:var(--r);display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:14px}.uname[data-v-42034062]{font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu[data-v-42034062]{position:absolute;right:0;top:46px;z-index:60;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column}.menu a[data-v-42034062],.menu button[data-v-42034062]{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm);color:var(--ink);background:none;border:0;text-align:left;cursor:pointer;text-decoration:none;font-size:14px}.menu a[data-v-42034062]:hover,.menu button[data-v-42034062]:hover{background:var(--surface-2)}.click-away[data-v-42034062]{position:fixed;inset:0;z-index:40}.only-phone[data-v-42034062]{display:none!important}.tabbar[data-v-42034062]{display:none}@media (max-width: 1024px){.hdr-in[data-v-42034062]{padding:0 16px}.brand[data-v-42034062]{margin-right:10px}.nav a[data-v-42034062]{padding:0 10px}}@media (max-width: 640px){.nav[data-v-42034062],.uname[data-v-42034062],.caret[data-v-42034062]{display:none}.only-phone[data-v-42034062]{display:flex!important}.brand[data-v-42034062]{font-size:16px}.tabbar[data-v-42034062]{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}.tabbar a[data-v-42034062]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--faint);font-size:11px;font-weight:600;text-decoration:none}.tabbar a.on[data-v-42034062]{color:var(--ink)}.tabbar a.on[data-v-42034062] svg{color:var(--brand)}}.buy-code[data-v-42034062]{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 14px 0 10px;margin-right:4px;border-radius:999px;background:var(--accent-soft);color:var(--accent-press);border:1.5px solid color-mix(in srgb,var(--accent) 35%,transparent);font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none!important;transition:background .15s,transform .15s}.buy-code[data-v-42034062]:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface));transform:translateY(-1px)}:root[data-theme=dark] .buy-code[data-v-42034062]{color:var(--accent)}.bc-short[data-v-42034062]{display:none}@media (max-width: 640px){.buy-code[data-v-42034062]{height:30px;padding:0 10px 0 8px;font-size:12px;margin-right:0}.bc-long[data-v-42034062]{display:none}.bc-short[data-v-42034062]{display:inline}}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #faf7fd;--surface: #ffffff;--surface-2: #f2ecf9;--ink: #2a2140;--muted: #645a7c;--faint: #9a90ad;--line: #ebe3f4;--line-strong: #d5c9e7;--brand: #6a45d8;--brand-press: #5434bd;--brand-ink: #ffffff;--brand-soft: #efe8ff;--accent: #ff4f87;--accent-press: #e63a72;--accent-soft: #ffe5ee;--marker: #ffe07a;--marker-press: #f9d24a;--marker-soft: #fff5cc;--on-marker: #2a2205;--coral: #e0384f;--coral-soft: #fde5e9;--ok: #19935f;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--serif: "Literata Variable", "Iowan Old Style", Charter, Georgia, "Noto Serif", serif;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-xl: 24px;--shadow-pop: 0 1px 0 rgba(42, 33, 64, .04), 0 24px 48px -18px rgba(90, 60, 170, .32);--shadow-card: 0 1px 2px rgba(42, 33, 64, .04), 0 8px 24px -14px rgba(90, 60, 170, .28);--header-h: 60px;--tabbar-h: 0px;color-scheme:light}:root[data-theme=dark]{--bg: #120e1c;--surface: #1b1528;--surface-2: #261e38;--ink: #efe9fb;--muted: #b2a8c8;--faint: #7d7396;--line: #2d2440;--line-strong: #43385c;--brand: #b7a2ff;--brand-press: #c9b9ff;--brand-ink: #120e1c;--brand-soft: #2d2350;--accent: #ff86ab;--accent-press: #ffa2bf;--accent-soft: #3e1d2c;--marker: #e9c84a;--marker-press: #f2d564;--marker-soft: #3a3318;--on-marker: #1b1604;--coral: #ff7a8a;--coral-soft: #40202a;--ok: #5fd0a0;--shadow-pop: 0 24px 50px -14px rgba(0, 0, 0, .7);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -14px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}img{max-width:100%;display:block}h1,h2,h3{margin:0;line-height:1.3;font-weight:700;letter-spacing:-.01em}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px;letter-spacing:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--marker);color:var(--on-marker)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.serif{font-family:var(--serif)}.num{font-variant-numeric:tabular-nums}.page{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.page-narrow{max-width:520px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.spacer{flex:1}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:13px}.panel{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-card)}.page-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head p{color:var(--muted)}.panel-tight{padding:14px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:0 1px #2a21400d;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:background .15s,border-color .15s,color .15s,transform .08s,box-shadow .15s;-webkit-user-select:none;user-select:none}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn:active{transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);box-shadow:inset 0 -2px #00000040}.btn-primary:hover{background:var(--brand-press);border-color:var(--brand-press);color:var(--brand-ink)}.btn-primary:active{box-shadow:none}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:inset 0 -2px #0003}.btn-accent:hover{background:var(--accent-press);border-color:var(--accent-press);color:#fff}.btn-accent:active{box-shadow:none}:root[data-theme=dark] .btn-accent,:root[data-theme=dark] .btn-accent:hover{color:#2a0715}.btn-marker{background:var(--marker);border-color:var(--marker);color:var(--on-marker);box-shadow:inset 0 -2px #785a0040}.btn-marker:hover{background:var(--marker-press);border-color:var(--marker-press);color:var(--on-marker)}.btn-marker:active{box-shadow:none}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost{box-shadow:none}.btn-ghost:hover{background:var(--surface-2);border-color:transparent}.btn-danger{color:var(--coral)}.btn-danger:hover{border-color:var(--coral)}.btn-sm{min-height:32px;padding:0 11px;font-size:13px;border-radius:var(--r-sm);gap:5px}.btn-lg{min-height:48px;padding:0 24px;font-size:16px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:var(--r);border:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn.on{color:var(--brand)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted);font-weight:550}.input,.select,textarea.input{width:100%;min-height:40px;padding:8px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);outline:none}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input,.select{border-width:1.5px}.select{appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat}.hint{font-size:13px;color:var(--muted)}.error-text{font-size:13px;color:var(--coral)}.chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-size:13px;color:var(--ink);cursor:pointer;user-select:none;white-space:nowrap;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--brand)}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:650;padding-left:9px}.chip.on:before{content:"";width:9px;height:5px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateY(-2px) rotate(-45deg);margin-right:2px}.chip:disabled{opacity:.45;cursor:not-allowed}.chip .count{color:var(--faint);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}.chip.on .count{color:inherit;opacity:.7}.tag{display:inline-block;padding:1px 8px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:4px;font-size:12px;font-weight:650}.badge-free{background:var(--accent-soft);color:var(--accent-press)}.badge-lock{background:var(--surface-2);color:var(--muted)}.badge-done{background:var(--brand-soft);color:var(--brand)}.badge-warn{background:var(--coral-soft);color:var(--coral)}.stars{color:#c98a00;letter-spacing:1px;font-size:12px}:root[data-theme=dark] .stars{color:var(--marker)}.level{display:inline-flex;align-items:flex-end;gap:2px;height:12px;vertical-align:-1px}.level i{width:4px;border-radius:1px;background:var(--line-strong)}.level i:nth-child(1){height:5px}.level i:nth-child(2){height:7px}.level i:nth-child(3){height:9px}.level i:nth-child(4){height:11px}.level i:nth-child(5){height:13px}.level i.on{background:var(--brand)}.mark{background:linear-gradient(transparent 52%,var(--marker) 52%,var(--marker) 90%,transparent 90%);padding:0 1px;border-radius:2px}:root[data-theme=dark] .mark{background:linear-gradient(transparent 55%,rgba(226,195,62,.45) 55%,rgba(226,195,62,.45) 92%,transparent 92%)}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.empty h3{color:var(--ink);margin-bottom:6px}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r)}@keyframes shimmer{to{background-position:-200% 0}}.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:24px;flex-wrap:wrap}.pager button{min-width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer}.pager button.on{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:650}.pager button:disabled{opacity:.4;cursor:default}.overlay{position:fixed;inset:0;background:#0a14196b;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{background:var(--surface);border-radius:var(--r-xl);width:min(440px,100%);max-height:90vh;overflow:auto;padding:22px;box-shadow:var(--shadow-pop)}.drawer-wrap{position:fixed;inset:0;z-index:70;background:#0a141952}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--surface);box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;gap:8px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--line)}.drawer-body{flex:1;overflow:auto;padding:14px 18px 24px}@media (max-width: 640px){.drawer{top:auto;left:0;width:100%;height:min(78vh,640px);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}.drawer:before{content:"";position:absolute;top:7px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:4px;background:var(--line-strong)}}.toasts{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:var(--r);font-weight:550;box-shadow:var(--shadow-pop);font-size:14px}.toast.error{background:var(--coral);color:#fff}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-6px)}.table-wrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:13px;color:var(--muted);font-weight:600;background:var(--surface-2);white-space:nowrap}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}@media (max-width: 1024px){.page{padding:22px 24px 64px}}@media (max-width: 640px){:root{--tabbar-h: 58px}.page{padding:16px 16px calc(var(--tabbar-h) + 32px + env(safe-area-inset-bottom))}h1{font-size:24px}h2{font-size:19px}.btn{min-height:42px}.btn-sm{min-height:34px}.chip{height:32px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.learn.lt-midnight .mark,.learn.lt-ember .mark{background:linear-gradient(transparent 55%,rgba(226,195,62,.45) 55%,rgba(226,195,62,.45) 92%,transparent 92%)}:root[data-theme=dark] .learn:is(.lt-ivory,.lt-forest,.lt-ocean,.lt-rose) .mark{background:linear-gradient(transparent 52%,#ffdf73 52%,#ffdf73 90%,transparent 90%)}
