.lm-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg, rgba(0,0,0,.45));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--modal-z-overlay, 9000);display:flex;align-items:center;justify-content:center;animation:lm-bg-in .2s ease}@keyframes lm-bg-in{0%{opacity:0}to{opacity:1}}.lm-card{position:relative;width:var(--modal-w-form, 440px);max-width:calc(100vw - 48px);background:var(--bg-card, #fff);border-radius:var(--radius-lg);padding:28px 24px 24px;box-shadow:var(--modal-shadow);border:var(--modal-border);animation:lm-card-in .25s cubic-bezier(.2,.9,.3,1.2);color:var(--ink)}@keyframes lm-card-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.lm-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:none;background:transparent;color:var(--ink-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lm-close:hover{background:var(--bg-subtle);color:var(--ink)}.lm-header{text-align:center;margin-bottom:16px}.lm-brand{margin-bottom:6px}.lm-brand img{width:40px;height:40px}.lm-sub{margin:0;font-size:12px;color:var(--ink-muted)}.lm-pill{display:inline-flex;background:var(--bg-subtle, #f0f0f0);border-radius:var(--radius);padding:4px;margin:0 auto 20px;width:100%;gap:2px;box-sizing:border-box}.lm-pill-tab{flex:1;padding:8px 0;border:none;border-radius:var(--radius-sm);background:transparent;font-size:14px;font-weight:500;color:var(--ink-muted);cursor:pointer;font-family:var(--font);transition:all .15s}.lm-pill-tab.active{background:var(--bg-card, #fff);color:var(--brand);font-weight:600;box-shadow:0 1px 3px #00000014}.lm-field{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;margin-bottom:10px;transition:border-color .15s,background .15s}.lm-field:focus-within{border-color:var(--brand);background:var(--bg-card);box-shadow:0 0 0 3px var(--brand-border, rgba(232,119,34,.12))}.lm-field-icon{color:var(--ink-muted);display:flex;align-items:center;margin-right:8px;flex-shrink:0}.lm-field input{flex:1;border:none;background:transparent;padding:11px 0;font-size:14px;color:var(--ink);outline:none;font-family:var(--font)}.lm-field input::placeholder{color:var(--ink-muted)}.lm-field-suffix{border:none;background:transparent;font-size:14px;cursor:pointer;padding:4px}.lm-err{display:flex;align-items:center;gap:6px;color:var(--danger);font-size:13px;margin:4px 0 10px;padding:8px 12px;background:var(--danger-bg);border-radius:8px}.lm-submit{width:100%;height:42px;border:none;border-radius:var(--radius-sm);background:var(--brand);color:var(--bg-card);font-size:15px;font-weight:600;cursor:pointer;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s;font-family:var(--font)}.lm-submit:hover:not(:disabled){background:var(--brand-hover)}.lm-submit:active:not(:disabled){transform:scale(.99)}.lm-submit:disabled{opacity:.7;cursor:not-allowed}.lm-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--bg-card);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lm-agree{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:12px}.lm-agree input{accent-color:var(--brand)}.lm-agree a{color:var(--brand);text-decoration:none}.lm-agree a:hover{text-decoration:underline}.lm-hint{text-align:center;margin-top:12px;font-size:12px;color:var(--ink-muted)}.lm-fade-enter-active,.lm-fade-leave-active{transition:opacity .18s}.lm-fade-enter-from,.lm-fade-leave-to{opacity:0}.toast-stack[data-v-a78269f2]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item[data-v-a78269f2]{pointer-events:auto;padding:10px 20px;border-radius:8px;font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 20px #00000026;background:var(--bg-card);color:var(--ink);border:1px solid var(--border);min-width:200px}.toast-item.warn[data-v-a78269f2]{border-left:4px solid #f59e0b}.toast-item.error[data-v-a78269f2]{border-left:4px solid var(--danger)}.toast-item.info[data-v-a78269f2]{border-left:4px solid var(--brand)}.toast-item.success[data-v-a78269f2]{border-left:4px solid var(--success)}.icon[data-v-a78269f2]{font-size:14px}.msg[data-v-a78269f2]{font-weight:500}.toast-enter-active[data-v-a78269f2],.toast-leave-active[data-v-a78269f2]{transition:all .25s ease}.toast-enter-from[data-v-a78269f2]{opacity:0;transform:translateY(-12px)}.toast-leave-to[data-v-a78269f2]{opacity:0;transform:translateY(-8px)}.nav[data-v-2665ec68]{height:60px;border-bottom:1px solid var(--border, var(--border));background:var(--bg-card, #fff)}.nav-inner[data-v-2665ec68]{max-width:var(--content-width);margin:0 auto;padding:0 clamp(12px,3vw,24px);height:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:2px}.nav-left[data-v-2665ec68]{display:flex;align-items:flex-end;gap:28px}.brand[data-v-2665ec68]{font-weight:700;font-size:20px;color:var(--brand, var(--brand));text-decoration:none;display:flex;align-items:center;gap:6px}.brand-icon[data-v-2665ec68]{width:20px;height:20px;flex-shrink:0}nav[data-v-2665ec68]{display:flex;gap:24px;align-items:flex-end}nav a[data-v-2665ec68]{color:var(--ink-soft, #666);text-decoration:none;font-size:15px;padding:4px 0}nav a[data-v-2665ec68]:hover{color:var(--brand, var(--brand))}nav a.router-link-active[data-v-2665ec68]{color:var(--brand, var(--brand));font-weight:600}.nav-right[data-v-2665ec68]{display:flex;align-items:flex-end;gap:12px}.user[data-v-2665ec68]{font-size:14px;color:var(--ink, var(--ink));font-weight:600}.ghost-btn[data-v-2665ec68]{padding:6px 14px;background:transparent;color:var(--ink-soft, #666);border:none;outline:none;font-size:13px;cursor:pointer;font-family:var(--font);text-decoration:none;display:inline-block}.ghost-btn[data-v-2665ec68]:hover{color:var(--brand, var(--brand))}.auth-pill[data-v-2665ec68]{display:inline-flex;align-items:center;border:1px solid var(--border-strong, var(--border-strong));border-radius:var(--radius-lg);background:var(--bg, #fff);overflow:hidden}.auth-pill-login[data-v-2665ec68],.auth-pill-register[data-v-2665ec68]{padding:6px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;font-family:var(--font);line-height:1.4}.auth-pill-login[data-v-2665ec68]{color:var(--brand, #e87722)}.auth-pill-register[data-v-2665ec68]{color:var(--ink-soft, #666)}.auth-pill-login[data-v-2665ec68]:hover{background:#e8772214}.auth-pill-register[data-v-2665ec68]:hover{background:var(--bg-subtle, #f4f4f4)}.auth-pill-user[data-v-2665ec68]{padding:6px 16px;font-size:13px;font-weight:600;color:var(--brand, #e87722);line-height:1.4;display:inline-flex;align-items:center}.auth-pill-logout[data-v-2665ec68]{padding:6px 16px;font-size:13px;font-weight:500;color:var(--ink-soft, #666);background:transparent;border:none;cursor:pointer;font-family:var(--font);line-height:1.4;transition:background .15s,color .15s}.auth-pill-logout[data-v-2665ec68]:hover{background:var(--bg-subtle, #f4f4f4);color:var(--brand)}.auth-pill-sep[data-v-2665ec68]{width:1px;height:14px;background:var(--border-strong, var(--border-strong))}.icon-only[data-v-2665ec68]{padding:6px 10px}@media (max-width: 1024px){.nav-inner[data-v-2665ec68]{gap:12px}.nav-inner nav[data-v-2665ec68]{gap:12px;flex-wrap:wrap}}@media (max-width: 768px){.nav-inner[data-v-2665ec68]{gap:8px;padding:0 12px}.nav-left nav[data-v-2665ec68]{display:none}}.admin-top[data-v-2665ec68]{height:60px;background:var(--bg-card, #fff);border-bottom:1px solid var(--border, var(--border));position:sticky;top:0;z-index:100}.admin-top-inner[data-v-2665ec68]{display:flex;align-items:center;gap:16px;height:100%;padding:0 clamp(12px,3vw,24px);max-width:var(--content-width);margin:0 auto;box-sizing:border-box}.logo[data-v-2665ec68]{font-weight:700;font-size:17px;color:var(--ink, var(--ink));white-space:nowrap;display:flex;align-items:center;gap:6px}.logo .brand-icon[data-v-2665ec68]{width:18px;height:18px}.admin-top-inner nav[data-v-2665ec68]{display:flex;gap:4px}.admin-top-inner nav a[data-v-2665ec68]{padding:7px 14px;border-radius:var(--radius);color:var(--ink-soft, #555);text-decoration:none;font-size:14px;white-space:nowrap}.admin-top-inner nav a[data-v-2665ec68]:hover{background:var(--bg-subtle, #f4f4f4);color:var(--ink, var(--ink))}.admin-top-inner nav a.router-link-active[data-v-2665ec68]{background:var(--brand, var(--brand));color:var(--bg-card)}.head-right[data-v-2665ec68]{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.user-name[data-v-2665ec68]{font-size:14px;font-weight:600;color:var(--ink, var(--ink));white-space:nowrap}.theme-toggle[data-v-2665ec68]{padding:6px 10px;background:transparent;color:var(--ink-soft, #555);border:none;outline:none;font-size:14px;cursor:pointer;font-family:var(--font)}.theme-toggle[data-v-2665ec68]:hover{color:var(--brand)}.logout-btn[data-v-2665ec68]{padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border, var(--border));background:transparent;color:var(--ink-soft, #555);font-size:13px;cursor:pointer;font-family:var(--font)}.logout-btn[data-v-2665ec68]:hover{background:var(--bg-subtle, #f4f4f4);color:var(--ink, var(--ink))}@media (max-width: 960px){.admin-top-inner nav[data-v-2665ec68]{flex-wrap:wrap;max-height:36px;overflow:hidden;transition:max-height .2s}.admin-top-inner nav a[data-v-2665ec68]{padding:7px 10px;font-size:13px}}@media (max-width: 640px){.admin-top-inner[data-v-2665ec68]{padding:8px 12px;gap:8px;flex-wrap:wrap;height:auto;min-height:52px}.admin-top-inner nav[data-v-2665ec68]{order:3;width:100%;justify-content:flex-start;gap:2px;overflow-x:auto;overflow-y:hidden;max-height:40px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.admin-top-inner nav[data-v-2665ec68]::-webkit-scrollbar{display:none}.admin-top-inner nav a[data-v-2665ec68]{padding:6px 10px;font-size:13px;flex-shrink:0}.head-right[data-v-2665ec68]{gap:6px}.user-name[data-v-2665ec68]{display:none}.logout-btn[data-v-2665ec68]{padding:5px 10px;font-size:12px}}.app-footer[data-v-0df203b8]{background:var(--bg-subtle, #f2f2f2);border-top:1px solid var(--border);color:var(--ink-soft, #555);font-size:13px;line-height:1.6}.af-main[data-v-0df203b8]{padding:32px 0 24px}.af-inner[data-v-0df203b8]{max-width:var(--content-width);margin:0 auto;padding:0 clamp(12px,3vw,24px);display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:32px;align-items:start}.af-brand h4[data-v-0df203b8]{color:var(--ink);font-size:17px;margin:0 0 6px;font-weight:700;display:flex;align-items:center;gap:6px}.brand-icon[data-v-0df203b8]{width:20px;height:20px;flex-shrink:0}.af-brand p[data-v-0df203b8]{margin:0;color:var(--ink-muted);font-size:13px}.af-col h5[data-v-0df203b8]{color:var(--ink);font-size:13px;margin:0 0 12px;font-weight:600}.af-col ul[data-v-0df203b8]{list-style:none;padding:0;margin:0}.af-col li[data-v-0df203b8]{margin-bottom:6px}.af-col a[data-v-0df203b8]{color:var(--ink-soft);text-decoration:none;transition:color .15s}.af-col a[data-v-0df203b8]:hover{color:var(--brand)}.af-contact-body[data-v-0df203b8]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.af-qr[data-v-0df203b8]{width:84px;height:84px;border-radius:4px;display:block}.af-email[data-v-0df203b8]{font-size:12px;color:var(--ink-soft);text-decoration:none;word-break:break-all}.af-email[data-v-0df203b8]:hover{color:var(--brand)}.af-bottom[data-v-0df203b8]{border-top:1px solid var(--border);padding:10px 0;text-align:center}.af-icp[data-v-0df203b8]{font-size:12px;color:var(--ink-muted);text-decoration:none}.af-icp[data-v-0df203b8]:hover{color:var(--brand)}@media (max-width: 768px){.app-footer[data-v-0df203b8]{display:none!important}}.frame[data-v-4478bd45]{display:flex;flex-direction:column;min-height:100vh}.frame-main[data-v-4478bd45]{flex:1;display:flex;flex-direction:column;width:100%;max-width:var(--content-width);margin:0 auto;padding:clamp(12px,3vw,32px)}.bottom-nav[data-v-4478bd45]{display:flex;justify-content:center;align-items:center;gap:20px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-card);color:var(--ink-muted);flex-wrap:wrap}.bottom-nav a[data-v-4478bd45]{color:var(--ink-soft);text-decoration:none;font-size:14px}.bottom-nav a[data-v-4478bd45]:hover{color:var(--brand)}.bottom-nav a.router-link-active[data-v-4478bd45]{color:var(--brand);font-weight:600}@media (min-width: 769px){.mobile-only[data-v-4478bd45]{display:none!important}}@media (max-width: 768px){.bottom-nav[data-v-4478bd45]{gap:16px;font-size:13px}.bottom-nav a[data-v-4478bd45]{font-size:13px}}.hero[data-v-2ffa9947]{padding:48px 24px;text-align:center;background:var(--brand-soft, #fff5eb)}.block[data-v-2ffa9947]{padding:24px;max-width:var(--content-width);margin:0 auto}.grid[data-v-2ffa9947]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card[data-v-2ffa9947]{display:block;background:var(--bg-card,#fff);border:1px solid var(--border,#e8ecf1);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink,var(--ink));transition:box-shadow .2s}.card[data-v-2ffa9947]:hover{box-shadow:0 4px 12px #0000001a}.muted[data-v-2ffa9947]{color:var(--ink-muted,#999);font-size:14px}.more[data-v-2ffa9947]{color:var(--brand,var(--brand))}.subscribe[data-v-2ffa9947]{display:flex;gap:10px;max-width:480px}.subscribe input[data-v-2ffa9947]{flex:1;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.block[data-v-35276003]{max-width:var(--content-width);margin:0 auto;padding:48px clamp(16px,3vw,24px) 80px}.block.list-page[data-v-35276003]{max-width:var(--content-width);padding:48px clamp(16px,3vw,24px) 80px}.list[data-v-35276003]{display:flex;flex-direction:column}.item[data-v-35276003]{display:block;padding:8px 0 52px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border, var(--bg-subtle));margin-bottom:52px}.item[data-v-35276003]:last-child{border-bottom:none}.item-title[data-v-35276003]{font-size:24px;font-weight:700;line-height:1.4;margin:0 0 10px;color:var(--ink, var(--ink));transition:color .15s}.item:hover .item-title[data-v-35276003]{color:var(--brand, var(--brand))}.item-meta[data-v-35276003]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted, #999);margin-bottom:8px}.item-meta time[data-v-35276003]{color:var(--ink-muted, #999)}.item-meta .author[data-v-35276003]{color:var(--ink-soft, #555);font-weight:500}.item-summary[data-v-35276003]{font-size:15px;line-height:1.75;color:var(--ink-soft, #555);margin:8px 0 0}.tags[data-v-35276003]{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tag[data-v-35276003]{font-size:12px;color:var(--ink-soft, #666);background:var(--bg-subtle, var(--bg-subtle));border:1px solid var(--border, var(--border));padding:2px 10px;border-radius:var(--radius-sm)}.empty[data-v-35276003]{color:var(--ink-muted, #999);padding:40px 0;text-align:center}.article-head[data-v-35276003]{margin-bottom:28px}.article-title[data-v-35276003]{font-size:34px;font-weight:700;line-height:1.35;margin:0 0 16px;letter-spacing:.2px;color:var(--ink, var(--ink))}.article-meta[data-v-35276003]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;color:var(--ink-muted, #999);margin-bottom:12px}.article-meta .author[data-v-35276003]{color:var(--brand, var(--brand));font-weight:600}.hero[data-v-35276003]{width:100%;max-height:380px;object-fit:cover;border-radius:8px;margin:8px 0 32px}.prose[data-v-35276003]{font-size:16px;line-height:1.9;color:var(--ink, #2a2a2a)}.prose[data-v-35276003] p{margin:1em 0}.prose[data-v-35276003] h1,.prose[data-v-35276003] h2,.prose[data-v-35276003] h3,.prose[data-v-35276003] h4{font-weight:700;line-height:1.45;margin:1.7em 0 .6em;color:var(--ink, var(--ink))}.prose[data-v-35276003] h1{font-size:24px}.prose[data-v-35276003] h2{font-size:21px}.prose[data-v-35276003] h3{font-size:18px}.prose[data-v-35276003] h4{font-size:16px}.prose[data-v-35276003] strong{font-weight:700}.prose[data-v-35276003] a{color:var(--brand, var(--brand));text-decoration:none;border-bottom:1px solid transparent}.prose[data-v-35276003] a:hover{border-bottom-color:var(--brand, var(--brand))}.prose[data-v-35276003] blockquote{border-left:3px solid var(--brand, var(--brand));margin:1.5em 0;padding:.3em 1.2em;color:var(--ink-soft, #555);background:var(--bg-subtle, var(--bg));border-radius:0 4px 4px 0}.prose[data-v-35276003] ul,.prose[data-v-35276003] ol{padding-left:1.7em;margin:1em 0}.prose[data-v-35276003] li{margin:.45em 0}.prose[data-v-35276003] code{background:var(--bg-subtle, var(--bg-subtle));border-radius:3px;padding:.15em .4em;font-size:.9em;font-family:var(--font-mono)}.prose[data-v-35276003] pre{background:var(--bg-subtle, var(--bg));border:1px solid var(--border, #eee);border-radius:6px;padding:14px 16px;overflow-x:auto;line-height:1.6}.prose[data-v-35276003] pre code{background:none;padding:0}.prose[data-v-35276003] img{max-width:100%;height:auto;border-radius:4px}.prose[data-v-35276003] hr{border:none;border-top:1px solid var(--border, var(--border));margin:2em 0}.prose[data-v-35276003] table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.prose[data-v-35276003] th,.prose[data-v-35276003] td{border:1px solid var(--border-strong, #ddd);padding:8px 10px;text-align:left}.prose[data-v-35276003] th{background:var(--bg-subtle, var(--bg));font-weight:600}@media (max-width: 640px){.block[data-v-35276003]{padding:32px 20px 60px}.item-title[data-v-35276003]{font-size:20px}.article-title[data-v-35276003]{font-size:26px}.item[data-v-35276003]{padding:4px 0 40px;margin-bottom:40px}}.block[data-v-fc548c9b]{max-width:var(--content-width);margin:0 auto;padding:24px}.grid[data-v-fc548c9b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.card[data-v-fc548c9b]{display:block;background:var(--bg-card, #fff);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-decoration:none;color:inherit}.muted[data-v-fc548c9b]{color:var(--ink-muted, #999);font-size:14px}.block[data-v-327dc84d]{max-width:var(--content-width);margin:0 auto;padding:24px}.grid[data-v-327dc84d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.card[data-v-327dc84d]{display:block;background:var(--bg-card, #fff);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-decoration:none;color:inherit;transition:box-shadow .2s}.card[data-v-327dc84d]:hover{box-shadow:0 4px 12px #0000001a}.muted[data-v-327dc84d]{color:var(--ink-muted, #999);font-size:14px}.go[data-v-327dc84d]{color:var(--brand,var(--brand));font-weight:600}.go.inner[data-v-327dc84d]:after{content:"（已接入）";font-size:12px;color:var(--success, var(--success));margin-left:6px}.block[data-v-9b80aefe]{max-width:var(--content-width);margin:0 auto;padding:24px}.head[data-v-9b80aefe]{margin-bottom:20px}.login-hint[data-v-9b80aefe]{font-size:13px;color:var(--ink-muted, #999)}.login-hint a[data-v-9b80aefe]{color:var(--brand, var(--brand));text-decoration:none}.add-form[data-v-9b80aefe]{display:flex;gap:8px;margin-bottom:20px}.add-form input[data-v-9b80aefe]{flex:1;padding:10px 12px;border:1px solid var(--border, var(--border));border-radius:var(--radius-sm);background:var(--bg, #fff);color:var(--ink, var(--ink))}.btn[data-v-9b80aefe]{padding:10px 18px;border:none;border-radius:var(--radius-sm);background:var(--brand, var(--brand));color:var(--bg-card);cursor:pointer}.list[data-v-9b80aefe]{display:grid;gap:10px}.sentence[data-v-9b80aefe]{padding:14px 16px;border:1px solid var(--border, var(--border));border-radius:var(--radius);background:var(--bg-card, #fff)}.sentence.done[data-v-9b80aefe]{border-color:var(--success, var(--success))}.en[data-v-9b80aefe]{font-size:15px;font-weight:600;color:var(--ink, var(--ink))}.zh[data-v-9b80aefe]{font-size:14px;color:var(--ink-soft, #666);margin-top:4px}.acts[data-v-9b80aefe]{margin-top:10px;display:flex;gap:8px}.acts button[data-v-9b80aefe]{padding:5px 14px;border-radius:var(--radius);border:1px solid var(--border-strong, var(--border-strong));background:transparent;font-size:12px;cursor:pointer}.acts button[data-v-9b80aefe]:disabled{opacity:.5;cursor:default}.acts .ok[data-v-9b80aefe]:hover:not(:disabled){color:var(--success, var(--success));border-color:var(--success, var(--success))}.acts .no[data-v-9b80aefe]:hover:not(:disabled){color:var(--danger, var(--danger));border-color:var(--danger, var(--danger))}.mistakes[data-v-9b80aefe]{margin-top:28px}.tag-row[data-v-9b80aefe]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-9b80aefe]{padding:4px 12px;border-radius:var(--radius-sm);background:var(--brand-soft, #fff3e8);color:var(--brand, var(--brand));font-size:13px}.lc-wrap[data-v-7ed6db7c]{display:flex;justify-content:center;align-items:flex-start;padding:32px 16px 48px;width:100%;box-sizing:border-box}.lc-hero[data-v-7ed6db7c]{text-align:center;margin-bottom:28px}.lc-title[data-v-7ed6db7c]{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;color:var(--en-ink, var(--ink));margin:0 0 6px;letter-spacing:-.5px}.lc-sub[data-v-7ed6db7c]{color:var(--en-ink-soft, #737373);font-size:14px;margin:0 0 24px}.lc-glass[data-v-7ed6db7c]{background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,122,69,.12);border-radius:var(--radius-lg);padding:24px;box-shadow:0 2px 8px #ff7a450d,0 16px 40px -20px #ff7a452e;display:inline-block;text-align:left}.lc-input-row[data-v-7ed6db7c]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.lc-lbl[data-v-7ed6db7c]{font-size:13px;font-weight:500;color:var(--en-ink, var(--ink))}.lc-input[data-v-7ed6db7c]{border:1px solid var(--bg-subtle);background:var(--bg-card);border-radius:var(--radius-sm);padding:8px 12px;font-size:14px;color:var(--en-ink, var(--ink));outline:none;transition:all .15s;font-family:inherit}.lc-input[data-v-7ed6db7c]:focus{border-color:var(--en-primary, var(--brand));box-shadow:0 0 0 3px #ff7a451f}.lc-btn-primary[data-v-7ed6db7c]{background:var(--en-primary, var(--brand));color:var(--bg-card);border:none;padding:8px 20px;border-radius:var(--radius-lg);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.lc-btn-primary[data-v-7ed6db7c]:hover{opacity:.9}.lc-btn-primary[data-v-7ed6db7c]:disabled{opacity:.6;cursor:not-allowed}.lc-btn-ghost[data-v-7ed6db7c]{background:#ff7a4514;color:var(--en-primary, var(--brand));border:1px solid rgba(255,122,69,.15);padding:8px 16px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.lc-btn-ghost[data-v-7ed6db7c]:hover{background:#ff7a4526}.lc-pill[data-v-7ed6db7c]{margin-top:14px;padding:6px 14px;border-radius:var(--radius-lg);font-size:12px;background:#ff7a451a;color:var(--en-primary, var(--brand));border:1px solid rgba(255,122,69,.18);display:inline-block}.fade-enter-active[data-v-7ed6db7c],.fade-leave-active[data-v-7ed6db7c]{transition:opacity .18s}.fade-enter-from[data-v-7ed6db7c],.fade-leave-to[data-v-7ed6db7c]{opacity:0}.lc-card[data-v-7ed6db7c]{position:relative;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 2px 12px #ff7a450a,0 8px 28px #3d2e1f0a;padding:24px 28px;width:1280px;max-width:100%;box-sizing:border-box}.lc-loading[data-v-7ed6db7c]{text-align:center;color:var(--en-ink-soft);padding:40px}.lc-grid[data-v-7ed6db7c]{display:flex;flex-direction:column;gap:3px}.lc-year-row[data-v-7ed6db7c]{display:flex;align-items:center;gap:10px}.lc-age[data-v-7ed6db7c]{width:48px;min-width:48px;text-align:right;font-size:14px;font-weight:600;color:var(--en-ink-soft, #737373);font-variant-numeric:tabular-nums;flex-shrink:0}.lc-week-row[data-v-7ed6db7c]{display:flex;gap:4px;flex-wrap:nowrap;flex:1}.lc-dot[data-v-7ed6db7c]{--gap: 4px;width:calc((100% - 51 * var(--gap)) / 52);aspect-ratio:1;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--en-primary) 35%,transparent);background:#ff7a4540;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s;flex-shrink:0}.lc-dot[data-v-7ed6db7c]:hover{transform:scale(1.35);z-index:1;position:relative}.lc-dot[data-v-7ed6db7c]:not(.marked):hover{background:#ff7a45b3;border-color:var(--en-primary, var(--brand));box-shadow:0 0 0 3px #ff7a452e}.lc-dot.marked[data-v-7ed6db7c]{background:var(--border);border-color:var(--ink-muted);cursor:pointer}.lc-dot.marked[data-v-7ed6db7c]:hover{background:var(--ink-muted);border-color:var(--ink-muted);box-shadow:0 0 0 3px #0000000d}.lc-tooltip[data-v-7ed6db7c]{position:absolute;z-index:10;pointer-events:none;background:var(--bg-card);border:1px solid rgba(255,122,69,.25);border-radius:var(--radius);box-shadow:0 4px 20px #ff7a4526,0 2px 8px #0000000f;padding:10px 14px;font-size:13px;min-width:180px;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px)}.lc-tooltip-row[data-v-7ed6db7c]{display:flex;align-items:baseline;gap:6px;padding:2px 0}.lc-tooltip-label[data-v-7ed6db7c]{color:var(--en-ink-soft, #737373);font-size:12px;min-width:48px}.lc-tooltip-val[data-v-7ed6db7c]{color:var(--en-primary, var(--brand));font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.lc-tooltip-sub[data-v-7ed6db7c]{color:var(--en-ink-soft, #737373);font-size:11px}@media (max-width: 720px){.lc-card[data-v-7ed6db7c]{padding:12px;border-radius:var(--radius)}.lc-age[data-v-7ed6db7c]{width:36px;min-width:36px;font-size:12px}.lc-year-row[data-v-7ed6db7c]{gap:6px}.lc-week-row[data-v-7ed6db7c]{gap:2px}.lc-dot[data-v-7ed6db7c]{--gap: 2px;border-width:1px}.lc-wrap[data-v-7ed6db7c]{padding:16px 8px 32px}}[data-v-70acdb67]:root{--vb-paper: var(--vision-paper);--vb-card: var(--bg-card);--vb-ink: var(--ink);--vb-ink-soft: var(--ink-soft);--vb-accent: var(--brand);--vb-accent-deep: var(--brand-hover);--vb-gold: var(--vision-gold);--vb-rust: var(--vision-rust);--vb-hobby: var(--hobby-green);--vb-wash: var(--bg-subtle);--vb-line: var(--border);--vb-tape: rgba(232, 119, 34, .35)}.vb-page[data-v-70acdb67]{max-width:var(--content-width);margin:0 auto;padding:var(--space-5) clamp(16px,3vw,40px) 64px}.vb-hero[data-v-70acdb67]{text-align:center;padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:24px}.vb-eyebrow[data-v-70acdb67]{letter-spacing:.26em;font-size:12px;color:var(--brand);font-weight:500}.vb-hero h1[data-v-70acdb67]{font-size:clamp(24px,3.6vw,36px);font-weight:800;letter-spacing:.03em;margin:8px 0}.vb-hero p[data-v-70acdb67]{color:var(--ink-soft);max-width:680px;margin:0 auto;font-weight:400;font-size:15px}.vb-ribbon[data-v-70acdb67]{display:inline-block;margin-top:14px;padding:5px 18px;border-radius:4px;background:var(--brand);color:#fff;font-size:13px;letter-spacing:.06em;transform:rotate(-1deg);box-shadow:0 2px 6px #e8772259;font-weight:600}.vb-app[data-v-70acdb67]{display:flex;flex-direction:column;gap:28px;align-items:stretch}.vb-guide[data-v-70acdb67]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 22px 20px;box-shadow:var(--shadow-sm)}.vb-guide-head[data-v-70acdb67]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vb-step-num[data-v-70acdb67]{font-size:13px;color:var(--brand-hover);font-weight:600}.vb-reset[data-v-70acdb67]{background:none;border:none;color:var(--ink-soft);font-size:13px;cursor:pointer;text-decoration:underline dotted;padding:4px 6px}.vb-reset[data-v-70acdb67]:hover{color:var(--danger)}.vb-stepper[data-v-70acdb67]{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 16px;padding:0}.vb-stepper li button[data-v-70acdb67]{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-card);color:var(--ink-muted);font-size:13px;font-weight:600;cursor:pointer;transition:.18s;padding:0}.vb-stepper li button[data-v-70acdb67]:hover{border-color:var(--brand);color:var(--ink)}.vb-stepper li.active button[data-v-70acdb67]{background:var(--brand);border-color:var(--brand);color:var(--ink)}.vb-stepper li.done button[data-v-70acdb67]{background:var(--bg-subtle);border-color:var(--brand);color:var(--brand)}.vb-step h2[data-v-70acdb67]{font-size:18px;font-weight:700;margin-bottom:6px}.vb-prompt[data-v-70acdb67]{font-size:14px;color:var(--ink);margin-bottom:12px}.vb-hint[data-v-70acdb67]{margin-bottom:12px;padding:10px 12px;background:var(--bg-subtle);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;font-size:13px;color:var(--ink-soft);line-height:1.6}.vb-hint b[data-v-70acdb67]{color:var(--brand-hover);font-weight:600}.vb-textarea[data-v-70acdb67],.vb-input[data-v-70acdb67]{width:100%;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s}.vb-textarea[data-v-70acdb67]{resize:vertical;min-height:64px}.vb-textarea[data-v-70acdb67]:focus,.vb-input[data-v-70acdb67]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #e8772226}.vb-chips[data-v-70acdb67]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.vb-chip-label[data-v-70acdb67]{width:100%;font-size:12px;color:var(--ink-soft);margin-bottom:2px}.vb-chip[data-v-70acdb67]{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid var(--border);border-radius:20px;background:var(--bg-card);font-size:13px;color:var(--ink);cursor:pointer;transition:.15s;font-family:inherit}.vb-chip[data-v-70acdb67]:hover{border-color:var(--brand)}.vb-chip.sel[data-v-70acdb67]{border-color:var(--brand);background:#e877221a;color:var(--brand-hover)}.vb-chip-box[data-v-70acdb67]{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--warning);flex:none;position:relative}.vb-chip.sel .vb-chip-box[data-v-70acdb67]{background:var(--brand);border-color:var(--brand)}.vb-chip.sel .vb-chip-box[data-v-70acdb67]:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--bg-card);border-width:0 2px 2px 0;transform:rotate(45deg)}.vb-dsecs[data-v-70acdb67]{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto;padding-right:4px}.vb-dsec[data-v-70acdb67]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);padding:12px}.vb-dhead[data-v-70acdb67]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:4px}.vb-dnum[data-v-70acdb67]{width:20px;height:20px;border-radius:50%;background:var(--brand);color:var(--bg-card);font-size:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.vb-dex[data-v-70acdb67]{font-size:12px;color:var(--ink-soft);margin-bottom:8px}.vb-wish-row[data-v-70acdb67]{display:flex;gap:6px;align-items:center;margin-bottom:6px}.vb-dot[data-v-70acdb67]{width:8px;height:8px;border-radius:50%;background:var(--warning);flex:none}.vb-wish-row .vb-input[data-v-70acdb67]{flex:1;min-height:0;padding:8px 10px}.vb-del[data-v-70acdb67]{border:none;background:none;color:var(--ink-soft);font-size:18px;cursor:pointer;width:26px;height:26px;border-radius:50%;line-height:1;flex:none}.vb-del[data-v-70acdb67]:hover{background:var(--bg-subtle);color:var(--danger)}.vb-add-wish[data-v-70acdb67]{margin-top:4px;background:none;border:1px dashed var(--brand);color:var(--brand-hover);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;width:100%;font-family:inherit}.vb-add-wish[data-v-70acdb67]:hover{background:#e8772214}.vb-q-list[data-v-70acdb67]{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.vb-q-item[data-v-70acdb67]{display:flex;flex-direction:column;gap:4px}.vb-q-item label[data-v-70acdb67]{font-size:13.5px;color:var(--ink);font-weight:500}.vb-step-nav[data-v-70acdb67]{display:flex;gap:10px;margin-top:18px}.vb-step-nav button[data-v-70acdb67]{flex:1;padding:11px 0;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;font-family:inherit;border:1px solid var(--brand);background:var(--brand);color:var(--bg-card);font-weight:500;transition:.18s}.vb-btn-prev[data-v-70acdb67]{background:transparent!important;color:var(--brand-hover)!important}.vb-step-nav button[data-v-70acdb67]:hover:not(:disabled){filter:brightness(1.05)}.vb-step-nav button[data-v-70acdb67]:disabled{opacity:.4;cursor:not-allowed}.vb-guide-actions[data-v-70acdb67]{display:flex;gap:10px;margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.vb-guide-actions button[data-v-70acdb67]{flex:1;padding:10px 0;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:var(--bg-card);color:var(--ink);transition:.15s}.vb-btn-ghost[data-v-70acdb67]:hover{border-color:var(--brand);color:var(--brand-hover)}.vb-guide-note[data-v-70acdb67]{margin-top:14px;font-size:12.5px;color:var(--ink-soft);line-height:1.7}.vb-board-toolbar[data-v-70acdb67]{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}.vb-board-toolbar button[data-v-70acdb67]{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);font-family:inherit;font-size:13px;color:var(--ink);cursor:pointer;transition:.15s}.vb-board-toolbar button[data-v-70acdb67]:hover{border-color:var(--brand);color:var(--brand-hover)}.vb-board[data-v-70acdb67]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px 32px;box-shadow:0 18px 44px #00000014;background-image:repeating-linear-gradient(0deg,transparent 0 34px,rgba(0,0,0,.02) 34px 35px);min-height:560px}.vb-b-title[data-v-70acdb67]{text-align:center;font-size:clamp(20px,2.6vw,28px);font-weight:900;letter-spacing:.05em;position:relative;display:inline-block;padding:0 20px;margin:0 auto 6px;left:50%;transform:translate(-50%)}.vb-b-title[data-v-70acdb67]:before,.vb-b-title[data-v-70acdb67]:after{content:"";position:absolute;left:-2px;right:-2px;height:8px;background:#e8772259;top:50%;transform:translateY(-50%) rotate(-1deg);z-index:0;opacity:.85;border-radius:2px}.vb-b-title span[data-v-70acdb67]{position:relative;z-index:1}.vb-b-date[data-v-70acdb67]{text-align:center;font-size:13px;color:var(--danger);letter-spacing:.1em;margin-bottom:20px}.vb-board-grid[data-v-70acdb67]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vb-b-cell[data-v-70acdb67]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 12px 14px;position:relative;min-height:140px}.vb-cell-tag[data-v-70acdb67]{display:inline-block;background:var(--brand);color:var(--bg-card);font-size:12px;padding:3px 10px;border-radius:3px;margin-bottom:8px;transform:rotate(-.5deg)}.vb-b-cell.love .vb-cell-tag[data-v-70acdb67]{background:var(--danger)}.vb-b-cell.home .vb-cell-tag[data-v-70acdb67]{background:var(--warning);color:var(--ink)}.vb-b-cell.hobby .vb-cell-tag[data-v-70acdb67]{background:var(--vb-hobby)}.vb-b-cell ul[data-v-70acdb67]{list-style:none;padding:0;margin:0}.vb-b-cell li[data-v-70acdb67]{font-size:13.5px;color:var(--ink);padding:3px 0 3px 14px;position:relative}.vb-b-cell li[data-v-70acdb67]:before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--warning)}.vb-empty[data-v-70acdb67]{color:var(--ink-muted);font-size:13px}.vb-corner[data-v-70acdb67]{display:flex;justify-content:space-between;margin-top:18px;color:var(--ink-soft);font-size:13px;letter-spacing:.06em;flex-wrap:wrap;gap:8px}.vb-corner i[data-v-70acdb67]{font-style:normal;background:var(--bg-subtle);padding:2px 10px;border-radius:3px;transform:rotate(-.5deg);display:inline-block}.vb-live-hint[data-v-70acdb67]{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:14px}.vb-toast[data-v-70acdb67]{position:fixed;left:50%;bottom:40px;transform:translate(-50%);background:var(--ink);color:var(--bg-card);padding:10px 22px;border-radius:30px;font-size:14px;z-index:100;box-shadow:0 4px 16px #0003}.vb-welcome-mask[data-v-70acdb67]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:9999}.vb-welcome[data-v-70acdb67]{background:var(--bg-card);border-radius:var(--radius-lg);max-width:820px;width:100%;max-height:90vh;overflow-y:auto;padding:24px 28px 22px;box-shadow:0 24px 60px #00000040}.vb-welcome-head h3[data-v-70acdb67]{font-size:20px;font-weight:700;margin-bottom:4px}.vb-welcome-head p[data-v-70acdb67]{color:var(--ink-soft);font-size:13.5px;margin-bottom:14px;line-height:1.6}.vb-welcome-board[data-v-70acdb67]{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px 18px 24px;margin-bottom:18px;background-image:repeating-linear-gradient(0deg,transparent 0 28px,rgba(0,0,0,.02) 28px 29px)}.vb-w-b-corner[data-v-70acdb67]{position:absolute;font-size:12px;color:var(--ink-muted);background:var(--vb-wash, var(--bg-subtle));padding:2px 10px;border-radius:3px;transform:rotate(-3deg);letter-spacing:.06em}.vb-w-b-corner.tl[data-v-70acdb67]{top:14px;left:14px;transform:rotate(-4deg)}.vb-w-b-corner.tr[data-v-70acdb67]{top:14px;right:14px;transform:rotate(3deg)}.vb-w-b-corner.bl[data-v-70acdb67]{bottom:14px;left:14px;transform:rotate(2deg)}.vb-w-b-title[data-v-70acdb67]{text-align:center;font-size:22px;font-weight:800;letter-spacing:.05em;position:relative;padding:0 24px;margin:24px 0 4px}.vb-w-b-title[data-v-70acdb67]:before,.vb-w-b-title[data-v-70acdb67]:after{content:"";position:absolute;left:-2px;right:-2px;height:7px;background:#e8772259;top:50%;transform:translateY(-50%) rotate(-1deg);z-index:0;opacity:.85;border-radius:2px}.vb-w-b-date[data-v-70acdb67]{text-align:center;font-size:12px;color:var(--danger);letter-spacing:.12em;margin-bottom:14px}.vb-w-b-grid[data-v-70acdb67]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vb-w-cell[data-v-70acdb67]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px}.vb-w-tag[data-v-70acdb67]{display:inline-block;background:var(--brand);color:var(--bg-card);font-size:11px;padding:2px 8px;border-radius:3px;margin-bottom:6px;transform:rotate(-.5deg)}.vb-w-love .vb-w-tag[data-v-70acdb67]{background:var(--danger)}.vb-w-home .vb-w-tag[data-v-70acdb67]{background:var(--warning);color:var(--ink)}.vb-w-hobby .vb-w-tag[data-v-70acdb67]{background:var(--vb-hobby)}.vb-w-cell ul[data-v-70acdb67]{list-style:none;padding:0;margin:0}.vb-w-cell li[data-v-70acdb67]{font-size:12px;color:var(--ink);padding:2px 0 2px 10px;position:relative}.vb-w-cell li[data-v-70acdb67]:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--warning)}.vb-welcome-actions[data-v-70acdb67]{display:flex;gap:10px;margin-bottom:10px}.vb-welcome-start[data-v-70acdb67]{flex:1;padding:12px 0;border-radius:var(--radius-sm);font-size:15px;border:none;background:var(--brand);color:var(--bg-card);font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}.vb-welcome-start[data-v-70acdb67]:hover{background:var(--brand-hover)}.vb-welcome-later[data-v-70acdb67]{padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;border:1px solid var(--border);background:var(--bg-card);color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:.15s}.vb-welcome-later[data-v-70acdb67]:hover{border-color:var(--border-strong);color:var(--ink)}.vb-welcome-tip[data-v-70acdb67]{font-size:12.5px;color:var(--ink-muted);margin:0;text-align:center}.vb-fade-enter-active[data-v-70acdb67],.vb-fade-leave-active[data-v-70acdb67]{transition:opacity .2s}.vb-fade-enter-from[data-v-70acdb67],.vb-fade-leave-to[data-v-70acdb67]{opacity:0}.vb-fade-enter-active .vb-welcome[data-v-70acdb67],.vb-fade-leave-active .vb-welcome[data-v-70acdb67]{transition:transform .22s ease}.vb-fade-enter-from .vb-welcome[data-v-70acdb67],.vb-fade-leave-to .vb-welcome[data-v-70acdb67]{transform:translateY(16px) scale(.97)}@media (max-width: 520px){.vb-board-grid[data-v-70acdb67]{grid-template-columns:1fr 1fr}}@media (max-width: 400px){.vb-board-grid[data-v-70acdb67]{grid-template-columns:1fr}}@media print{.vb-hero[data-v-70acdb67],.vb-board-toolbar[data-v-70acdb67],.vb-guide[data-v-70acdb67],.vb-toast[data-v-70acdb67]{display:none!important}.vb-app[data-v-70acdb67]{display:block;max-width:none;margin:0;padding:0}.vb-board[data-v-70acdb67]{border:none;box-shadow:none;min-height:0}}.pyramid-wrap[data-v-125c0f3a]{position:relative;width:100%;min-height:calc(100vh - 60px);background:var(--bg)}.pyramid-frame[data-v-125c0f3a]{width:100%;height:calc(100vh - 60px);border:none;display:block}.pyramid-toolbar[data-v-125c0f3a]{position:absolute;top:8px;right:12px;z-index:10}.pyramid-reload[data-v-125c0f3a]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink);box-shadow:0 1px 4px #0000000f}.pyramid-reload[data-v-125c0f3a]:hover{background:var(--bg-subtle)}.pyramid-loading[data-v-125c0f3a]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft);z-index:5}.pyramid-spinner[data-v-125c0f3a]{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin-125c0f3a .9s linear infinite}@keyframes spin-125c0f3a{to{transform:rotate(360deg)}}.read-tool[data-v-bc8c44ae]{width:100%;font-family:var(--font)}.rt-head[data-v-bc8c44ae]{text-align:center;margin-bottom:24px;padding:32px 0 24px;background:var(--brand-soft, var(--warm-bg-card));border-radius:var(--radius-lg)}.rt-head h1[data-v-bc8c44ae]{font-size:28px;margin:0 0 8px;color:var(--warm-ink)}.rt-sub[data-v-bc8c44ae]{color:var(--warm-ink-soft);font-size:14px;margin:0}.rt-input[data-v-bc8c44ae]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8dccc);border-radius:var(--radius-lg);padding:24px 28px;box-shadow:0 2px 12px #0000000d;width:100%;box-sizing:border-box}.rt-modes[data-v-bc8c44ae]{display:flex;gap:8px;margin-bottom:20px}.rt-mode[data-v-bc8c44ae]{padding:8px 20px;border-radius:var(--radius-lg);border:1px solid var(--warm-border);background:var(--bg-card);color:var(--warm-ink-soft);cursor:pointer;font-size:13px;transition:all .15s}.rt-mode.active[data-v-bc8c44ae]{background:var(--warm-ink);color:var(--bg-card);border-color:var(--warm-ink)}.rt-paste textarea[data-v-bc8c44ae]{width:100%;min-height:280px;border:1px solid var(--warm-border);background:var(--bg-card);color:var(--ink);border-radius:var(--radius);padding:16px;font-size:15px;line-height:1.7;resize:vertical;font-family:inherit;outline:none;box-sizing:border-box}.rt-paste textarea[data-v-bc8c44ae]:focus{border-color:var(--warm-brand);box-shadow:0 0 0 3px #c18a5526}.rt-drop[data-v-bc8c44ae]{display:block;padding:48px;border:2px dashed var(--warm-border-strong);border-radius:var(--radius);text-align:center;color:var(--warm-ink-soft);cursor:pointer;transition:all .15s;font-size:15px}.rt-drop[data-v-bc8c44ae]:hover{border-color:var(--warm-brand);background:var(--warm-bg)}.rt-url[data-v-bc8c44ae]{display:flex;gap:10px}.rt-url input[data-v-bc8c44ae]{flex:1;padding:12px 16px;border:1px solid var(--warm-border);border-radius:var(--radius);font-size:14px;outline:none}.rt-url input[data-v-bc8c44ae]:focus{border-color:var(--warm-brand);box-shadow:0 0 0 3px #c18a5526}.rt-fetch[data-v-bc8c44ae]{padding:12px 24px;border:none;border-radius:var(--radius);background:var(--warm-brand);color:var(--bg-card);font-weight:600;cursor:pointer;font-size:14px}.rt-fetch[data-v-bc8c44ae]:disabled{opacity:.6;cursor:not-allowed}.rt-err[data-v-bc8c44ae]{color:var(--score-bad);font-size:12px;margin:8px 0 0}.rt-info[data-v-bc8c44ae]{color:var(--score-good);font-size:12px;margin:8px 0 0}.rt-analyze[data-v-bc8c44ae]{margin-top:16px;width:100%;padding:14px;border:none;border-radius:var(--radius);background:var(--brand);color:var(--bg-card);font-size:16px;font-weight:600;cursor:pointer;letter-spacing:1px}.rt-analyze[data-v-bc8c44ae]:hover{box-shadow:0 4px 16px #9e6b3d66}.rt-result[data-v-bc8c44ae]{margin-top:28px;display:flex;flex-direction:column;gap:24px;width:100%}.rt-toprow[data-v-bc8c44ae]{display:grid;grid-template-columns:380px 1fr;gap:24px}.rt-scorecard[data-v-bc8c44ae]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8dccc);border-radius:var(--radius-lg);padding:24px;text-align:center;box-shadow:0 2px 12px #0000000d;display:flex;flex-direction:column;align-items:center}.rt-ring[data-v-bc8c44ae]{width:140px;height:140px}.rt-score-num[data-v-bc8c44ae]{margin-top:-72px;font-size:40px;font-weight:700;line-height:1}.rt-score-label[data-v-bc8c44ae]{margin-top:12px;color:var(--warm-ink-soft);font-size:13px}.rt-score-summary[data-v-bc8c44ae]{margin-top:10px;color:var(--warm-ink);font-size:14px}.rt-flesch[data-v-bc8c44ae]{margin-top:6px;color:var(--warm-ink-soft);font-size:12px;font-family:monospace}.rt-metrics[data-v-bc8c44ae]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:stretch}.rt-metric[data-v-bc8c44ae]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8dccc);border-radius:var(--radius-lg);padding:20px;text-align:center;display:flex;flex-direction:column;justify-content:center;box-shadow:0 2px 8px #0000000a}.rt-m-num[data-v-bc8c44ae]{font-size:32px;font-weight:700;color:var(--warm-ink);line-height:1.1}.rt-m-label[data-v-bc8c44ae]{font-size:13px;color:var(--warm-ink-soft);margin-top:6px}.rt-m-label small[data-v-bc8c44ae]{font-size:11px;color:var(--ink-muted)}.rt-bottomrow[data-v-bc8c44ae]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rt-preview[data-v-bc8c44ae],.rt-problems[data-v-bc8c44ae]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8dccc);border-radius:var(--radius-lg);padding:22px;box-shadow:0 2px 12px #0000000d}.rt-preview h3[data-v-bc8c44ae],.rt-problems h3[data-v-bc8c44ae]{margin:0 0 14px;font-size:16px;color:var(--warm-ink);font-weight:600}.rt-preview-box[data-v-bc8c44ae]{font-size:15px;line-height:1.9;color:var(--warm-ink);padding:16px;background:var(--warm-bg);border-radius:var(--radius);max-height:480px;overflow-y:auto}.rt-preview-box mark[data-v-bc8c44ae]{padding:1px 0;border-radius:3px}.rt-preview-box mark.hl-long[data-v-bc8c44ae]{background:color-mix(in srgb,var(--score-warn) 25%,transparent);border-bottom:2px dashed var(--score-warn)}.rt-preview-box mark.hl-hard[data-v-bc8c44ae]{background:color-mix(in srgb,var(--score-bad) 18%,transparent);border-bottom:2px dashed var(--score-bad)}.rt-no-problem[data-v-bc8c44ae]{padding:32px;text-align:center;color:var(--score-good);font-weight:600;font-size:15px}.rt-problem[data-v-bc8c44ae]{padding:14px 16px;border-left:3px solid var(--score-warn);margin-bottom:12px;background:var(--score-soft-warn);border-radius:0 10px 10px 0}.rt-problem.hard_words[data-v-bc8c44ae]{border-left-color:var(--score-bad);background:var(--score-soft-bad)}.rt-p-head[data-v-bc8c44ae]{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.rt-p-tag[data-v-bc8c44ae]{font-size:11px;padding:3px 12px;border-radius:var(--radius-sm);background:var(--score-warn);color:var(--bg-card);font-weight:600}.rt-problem.hard_words .rt-p-tag[data-v-bc8c44ae]{background:var(--score-bad)}.rt-p-reason[data-v-bc8c44ae]{font-size:12px;color:var(--warm-ink-soft)}.rt-p-text[data-v-bc8c44ae]{font-size:14px;color:var(--warm-ink);line-height:1.7;margin-bottom:8px}.rt-p-suggest[data-v-bc8c44ae]{font-size:13px;color:var(--warm-ink-soft);background:var(--bg-card);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border)}@media (max-width: 900px){.rt-toprow[data-v-bc8c44ae],.rt-bottomrow[data-v-bc8c44ae]{grid-template-columns:1fr}.rt-metrics[data-v-bc8c44ae]{grid-template-columns:repeat(3,1fr)}.rt-m-num[data-v-bc8c44ae]{font-size:24px}}@media (max-width: 600px){.rt-input[data-v-bc8c44ae]{padding:16px}.rt-head[data-v-bc8c44ae]{padding:20px 0 16px}.rt-head h1[data-v-bc8c44ae]{font-size:22px}}.books-page[data-v-78b8c66d]{max-width:1280px;margin:0 auto;padding:40px clamp(16px,4vw,32px)}.books-header[data-v-78b8c66d]{margin-bottom:32px}.books-header h1[data-v-78b8c66d]{font-size:28px;font-weight:700;color:var(--ink, #1a1a1a);margin:0 0 8px}.books-subtitle[data-v-78b8c66d]{font-size:15px;color:var(--ink-muted, #999);margin:0}.books-grid[data-v-78b8c66d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.book-card[data-v-78b8c66d]{display:flex;flex-direction:column;padding:0;background:var(--bg-card, #fff);border:1px solid var(--border, #eee);border-radius:8px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden}.book-cover[data-v-78b8c66d]{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.book-info[data-v-78b8c66d]{flex:1;display:flex;flex-direction:column;padding:20px;background:var(--bg-subtle, #f6f3ee);border-top:1px solid var(--border, #eee)}.book-card[data-v-78b8c66d]:hover{border-color:var(--brand, #ff7a45);box-shadow:0 4px 16px #ff7a451f;transform:translateY(-2px)}.book-tag[data-v-78b8c66d]{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--brand, #ff7a45);background:#ff7a451a;padding:3px 8px;border-radius:4px;margin-bottom:12px}.book-title[data-v-78b8c66d]{font-size:18px;font-weight:600;color:var(--ink, #1a1a1a);margin:0 0 8px}.book-desc[data-v-78b8c66d]{font-size:14px;color:var(--ink-soft, #555);line-height:1.6;margin:0 0 16px;flex:1}.book-arrow[data-v-78b8c66d]{font-size:13px;font-weight:500;color:var(--brand, #ff7a45)}.sw-wrap[data-v-8ed7d115]{position:relative;width:100%;min-height:calc(100vh - 60px);background:var(--bg)}.sw-frame[data-v-8ed7d115]{width:100%;height:calc(100vh - 60px);border:none;display:block}.sw-toolbar[data-v-8ed7d115]{position:absolute;top:8px;right:12px;z-index:10}.sw-reload[data-v-8ed7d115]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink);box-shadow:0 1px 4px #0000000f}.sw-reload[data-v-8ed7d115]:hover{background:var(--bg-subtle)}.sw-loading[data-v-8ed7d115]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft);z-index:5}.sw-spinner[data-v-8ed7d115]{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin-8ed7d115 .9s linear infinite}@keyframes spin-8ed7d115{to{transform:rotate(360deg)}}.hp-wrap[data-v-b7df9f71]{position:relative;width:100%;min-height:calc(100vh - 60px);background:var(--bg)}.hp-frame[data-v-b7df9f71]{width:100%;height:calc(100vh - 60px);border:none;display:block}.hp-toolbar[data-v-b7df9f71]{position:absolute;top:8px;right:12px;z-index:10}.hp-reload[data-v-b7df9f71]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink);box-shadow:0 1px 4px #0000000f}.hp-reload[data-v-b7df9f71]:hover{background:var(--bg-subtle)}.hp-loading[data-v-b7df9f71]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft);z-index:5}.hp-spinner[data-v-b7df9f71]{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:hp-spin-b7df9f71 .9s linear infinite}@keyframes hp-spin-b7df9f71{to{transform:rotate(360deg)}}.runner-page[data-v-2c32dfb1]{max-width:var(--content-width, 960px);margin:0 auto;padding-bottom:80px}.hero[data-v-2c32dfb1]{padding:48px 24px 8px;text-align:center}.kicker[data-v-2c32dfb1]{display:inline-block;font-size:12px;letter-spacing:.25em;color:var(--brand, #ff7a45);border:1px solid var(--brand, #ff7a45);padding:4px 12px;border-radius:4px;margin-bottom:14px;font-weight:600}.hero h1[data-v-2c32dfb1]{font-size:34px;font-weight:800;margin:0 0 10px;color:var(--ink, #222)}.sub[data-v-2c32dfb1]{color:var(--ink-soft, #666);font-size:15px;margin:0}.block[data-v-2c32dfb1]{padding:36px clamp(16px,3vw,24px) 0}.block h2[data-v-2c32dfb1]{font-size:22px;font-weight:700;margin:0 0 6px;color:var(--ink, #222)}.sec-sub[data-v-2c32dfb1]{font-size:14px;color:var(--ink-muted, #999);margin:0 0 18px}.hr-card[data-v-2c32dfb1]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8ecf1);border-radius:8px;padding:22px 24px}.hr-inputs[data-v-2c32dfb1]{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hr-inputs label[data-v-2c32dfb1]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft, #555)}.hr-inputs input[data-v-2c32dfb1]{width:88px;padding:9px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:16px;color:var(--ink, #222)}.hr-inputs input[data-v-2c32dfb1]:focus{outline:none;border-color:var(--brand, #ff7a45)}.hr-result[data-v-2c32dfb1]{margin-left:auto;display:flex;align-items:baseline;gap:6px}.hr-result b[data-v-2c32dfb1]{font-size:34px;color:var(--brand, #ff7a45);font-variant-numeric:tabular-nums}.hr-result span[data-v-2c32dfb1]{font-size:13px;color:var(--ink-muted, #999)}.hr-result.invalid b[data-v-2c32dfb1]{color:var(--ink-muted, #999)}.hr-formula[data-v-2c32dfb1]{margin-top:16px;padding-top:14px;border-top:1px dashed var(--border, #e5e5e5)}.hr-formula p[data-v-2c32dfb1]{margin:2px 0;font-size:13px;color:var(--ink-muted, #999)}.pyramid[data-v-2c32dfb1]{display:flex;flex-direction:column;align-items:center;gap:6px}.tier[data-v-2c32dfb1]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:18px 22px;border-radius:6px;width:100%}.tier.t4[data-v-2c32dfb1]{max-width:34%}.tier.t3[data-v-2c32dfb1]{max-width:58%}.tier.t2[data-v-2c32dfb1]{max-width:78%}.tier.t1[data-v-2c32dfb1]{max-width:100%}.tier.t4[data-v-2c32dfb1]{background:#e8833a}.tier.t3[data-v-2c32dfb1]{background:#ee9150}.tier.t2[data-v-2c32dfb1]{background:#f29e5f}.tier.t1[data-v-2c32dfb1]{background:#f6ac74}.step[data-v-2c32dfb1]{display:inline-flex;align-items:baseline;gap:6px;color:#4a2408;font-size:14px;white-space:nowrap}.step-n[data-v-2c32dfb1]{font-weight:700}.step-text[data-v-2c32dfb1]{font-weight:500}@media (max-width: 768px){.tier.t4[data-v-2c32dfb1]{max-width:90%}.tier.t3[data-v-2c32dfb1],.tier.t2[data-v-2c32dfb1]{max-width:100%}.step[data-v-2c32dfb1]{font-size:12px}}.track-card[data-v-2c32dfb1]{background:var(--bg-card, #fff);border:1px solid var(--border, #e8ecf1);border-radius:8px;padding:20px 22px}.track-top[data-v-2c32dfb1]{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}.start-label[data-v-2c32dfb1]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft, #555)}.start-label input[data-v-2c32dfb1]{padding:8px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:14px;color:var(--ink, #222)}.start-label input[data-v-2c32dfb1]:focus{outline:none;border-color:var(--brand, #ff7a45)}.progress[data-v-2c32dfb1]{margin-left:auto;font-size:14px;color:var(--ink-soft, #555)}.progress b[data-v-2c32dfb1]{font-size:20px;color:var(--brand, #ff7a45)}.today-box[data-v-2c32dfb1]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #E8833A;background:#fff7ee;border-radius:8px;padding:14px 16px}.today-box.done[data-v-2c32dfb1]{border-color:#3e9b5f;background:#eff8f2}.today-box.rest[data-v-2c32dfb1]{border-style:dashed;border-color:var(--border, #ddd);background:#fafafa}.today-badge[data-v-2c32dfb1]{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:#e8833a;border-radius:4px;padding:3px 10px;margin-bottom:6px}.today-box.done .today-badge[data-v-2c32dfb1]{background:#3e9b5f}.today-info[data-v-2c32dfb1]{flex:1;min-width:240px}.today-content[data-v-2c32dfb1]{display:flex;gap:8px;flex-wrap:wrap}.seg-chip[data-v-2c32dfb1]{font-size:13.5px;color:#4a2408;background:#fff;border:1px solid #E8A06A;border-radius:4px;padding:4px 10px}.today-box.done .seg-chip[data-v-2c32dfb1]{border-color:#9ccdb0;color:#2c6e46}.rest-tip[data-v-2c32dfb1]{margin:4px 0 0;font-size:13px;color:var(--ink-muted, #999)}.check-btn[data-v-2c32dfb1]{font-family:inherit;font-size:14px;font-weight:700;padding:9px 20px;border-radius:6px;cursor:pointer;border:1px solid #E8833A;background:#e8833a;color:#fff;transition:background .15s,border-color .15s;white-space:nowrap}.check-btn[data-v-2c32dfb1]:hover{background:#d9742f}.check-btn.on[data-v-2c32dfb1]{border-color:#3e9b5f;background:#3e9b5f}.check-btn.on[data-v-2c32dfb1]:hover{background:#35874f}.check-btn.sm[data-v-2c32dfb1]{font-size:12px;padding:4px 10px}.note-input[data-v-2c32dfb1]{flex:1 1 240px;min-width:200px;padding:9px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13.5px;color:var(--ink, #222)}.note-input[data-v-2c32dfb1]:disabled{background:#f5f5f5;cursor:not-allowed}.note-input[data-v-2c32dfb1]:focus{outline:none;border-color:#3e9b5f}.plan-wrap[data-v-2c32dfb1]{margin-bottom:28px;overflow-x:auto}.plan[data-v-2c32dfb1]{width:100%;border-collapse:collapse;background:var(--bg-card, #fff);border:2px solid #E8833A;font-size:13.5px;line-height:1.6;min-width:640px}.plan thead th[data-v-2c32dfb1]{background:#e8833a;color:#fff;font-weight:700;padding:10px 12px;border:1px solid #E8833A;text-align:center}.th-period span[data-v-2c32dfb1]{font-size:10px;font-weight:400;display:block;opacity:.9}.plan td[data-v-2c32dfb1]{border:1px solid #E8A06A;padding:10px 12px;vertical-align:middle;color:#4a2408}.td-week[data-v-2c32dfb1]{background:#f6ac74;font-weight:700;text-align:center;width:92px;font-size:14px}.td-day[data-v-2c32dfb1]{background:#fbd9bc;text-align:center;font-weight:600;width:76px;white-space:nowrap;font-size:13px}.td-pre[data-v-2c32dfb1],.td-post[data-v-2c32dfb1]{background:#fbd9bc;text-align:center;width:44px;writing-mode:vertical-rl;letter-spacing:4px;padding:10px 6px;font-size:13px;white-space:nowrap}.td-content[data-v-2c32dfb1]{background:#fff}.seg-row[data-v-2c32dfb1]{display:flex;align-items:stretch;gap:0}.seg-row.multi .seg[data-v-2c32dfb1]{border-left:1px solid #E8A06A}.seg-row.multi .seg[data-v-2c32dfb1]:first-child{border-left:none}.seg[data-v-2c32dfb1]{flex:1;text-align:center;padding:4px 6px}.coach-row td[data-v-2c32dfb1]{background:#fff7ee}.td-coach[data-v-2c32dfb1]{font-size:12.5px;color:#6b4a2b}.th-check[data-v-2c32dfb1]{width:72px}.td-check[data-v-2c32dfb1]{background:#fff;text-align:center;white-space:nowrap;padding:8px 10px}.s-date[data-v-2c32dfb1]{display:block;font-size:11.5px;color:#b07b4b;margin-bottom:5px;font-variant-numeric:tabular-nums}.td-check .check-btn.on[data-v-2c32dfb1]{border-color:#3e9b5f;background:#3e9b5f}@media (max-width: 640px){.hero h1[data-v-2c32dfb1]{font-size:28px}.hr-result[data-v-2c32dfb1]{margin-left:0;width:100%}.hr-result b[data-v-2c32dfb1]{font-size:28px}.plan[data-v-2c32dfb1]{font-size:12px;min-width:560px}.td-week[data-v-2c32dfb1]{width:72px;font-size:12px}.td-day[data-v-2c32dfb1]{width:62px;font-size:11.5px}}.bw-wrap[data-v-07579ced]{position:relative;width:100%;min-height:calc(100vh - 60px);background:var(--bg)}.bw-frame[data-v-07579ced]{width:100%;height:calc(100vh - 60px);border:none;display:block}.bw-toolbar[data-v-07579ced]{position:absolute;top:8px;right:12px;z-index:10}.bw-reload[data-v-07579ced]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink);box-shadow:0 1px 4px #0000000f}.bw-reload[data-v-07579ced]:hover{background:var(--bg-subtle)}.bw-loading[data-v-07579ced]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft);z-index:5}.bw-spinner[data-v-07579ced]{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:bw-spin-07579ced .9s linear infinite}@keyframes bw-spin-07579ced{to{transform:rotate(360deg)}}.login-page[data-v-7c1cba43],.register-page[data-v-2dd423d8]{min-height:100vh;background:var(--bg)}.forbidden[data-v-e78b5063]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.card[data-v-e78b5063]{text-align:center;padding:48px 56px;background:var(--bg-card);border-radius:var(--radius);box-shadow:0 4px 24px #0000000f;border:1px solid var(--border)}.code[data-v-e78b5063]{font-size:72px;font-weight:700;color:var(--brand);line-height:1;margin-bottom:12px}.title[data-v-e78b5063]{font-size:20px;font-weight:600;color:var(--ink);margin-bottom:8px}.desc[data-v-e78b5063]{font-size:14px;color:var(--ink-soft);margin-bottom:24px}.actions[data-v-e78b5063]{display:flex;gap:12px;justify-content:center}.btn-primary[data-v-e78b5063]{padding:8px 20px;background:var(--brand);color:var(--bg-card);border-radius:var(--radius-sm);text-decoration:none;font-size:14px}.btn-ghost[data-v-e78b5063]{padding:8px 20px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;color:var(--ink-soft);cursor:pointer}.eng-top[data-v-c77a2494]{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:14px 48px 14px 108px;background:transparent;border-bottom:1px dashed var(--en-border, var(--border));line-height:1.2}.eng-top[data-v-c77a2494] *{line-height:inherit}.eng-top-left[data-v-c77a2494]{display:flex;align-items:center;gap:10px;min-width:0}.eng-top-tabs[data-v-c77a2494]{display:flex;gap:6px;flex-shrink:0}.tab-pill[data-v-c77a2494]{padding:5px 14px;border-radius:var(--radius-lg);border:1px solid var(--en-border, var(--border-strong));background:transparent;color:var(--en-ink-soft, #666);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.tab-pill[data-v-c77a2494]:hover{color:var(--en-primary, var(--brand));border-color:var(--en-primary, var(--brand))}.tab-pill.active[data-v-c77a2494]{background:var(--en-primary, var(--brand));color:var(--bg-card);border-color:var(--en-primary, var(--brand))}.course-select[data-v-c77a2494]{position:relative;min-width:0;max-width:280px}.lang-badge[data-v-c77a2494]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:10px;font-weight:700;line-height:1;color:var(--bg-card);flex-shrink:0}.lang-en[data-v-c77a2494]{background:var(--en-primary, var(--brand))}.lang-ru[data-v-c77a2494]{background:var(--brand)}.lang-fr[data-v-c77a2494]{background:var(--brand-blue)}.course-trigger[data-v-c77a2494]{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--en-ink, var(--ink));font-size:14px;font-weight:600;cursor:pointer;width:100%;text-align:left;transition:background .15s,border-color .15s}.course-trigger[data-v-c77a2494]:hover{background:var(--en-primary-soft, #FFF2EC);border-color:var(--en-border, var(--border))}.course-select.open .course-trigger[data-v-c77a2494]{background:var(--en-primary-soft, #FFF2EC);border-color:var(--en-primary, var(--brand));color:var(--en-primary, var(--brand))}.course-name[data-v-c77a2494]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron[data-v-c77a2494]{margin-left:auto;color:var(--en-ink-soft, #999);transition:transform .2s;flex-shrink:0}.chevron.flipped[data-v-c77a2494]{transform:rotate(180deg)}.course-menu[data-v-c77a2494]{position:absolute;top:calc(100% + 6px);left:-4px;right:-4px;z-index:210;background:var(--bg-card);border:1px solid var(--en-border, var(--border));border-radius:var(--radius);box-shadow:0 12px 32px #3d2e1f24;overflow:hidden;padding:6px}.fade-enter-active[data-v-c77a2494],.fade-leave-active[data-v-c77a2494]{transition:opacity .15s,transform .15s}.fade-enter-from[data-v-c77a2494],.fade-leave-to[data-v-c77a2494]{opacity:0;transform:translateY(-4px)}.course-item[data-v-c77a2494]{position:relative;display:flex;align-items:center;gap:12px;padding:12px 10px 12px 8px;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s}.course-item+.course-item[data-v-c77a2494]{margin-top:2px}.course-item[data-v-c77a2494]:hover:not(.disabled){background:var(--en-primary-soft, #FFF2EC)}.course-item.active[data-v-c77a2494]{background:var(--en-primary-soft, #FFF2EC)}.course-item.disabled[data-v-c77a2494]{cursor:not-allowed;opacity:.55}.course-item.disabled .ci-desc[data-v-c77a2494]{font-style:normal}.ci-body[data-v-c77a2494]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ci-name[data-v-c77a2494]{font-size:14px;font-weight:600;color:var(--en-ink, var(--ink));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-desc[data-v-c77a2494]{font-size:12px;color:var(--en-ink-soft, #999);font-style:italic}.ci-check[data-v-c77a2494]{color:var(--en-primary, var(--brand));flex-shrink:0}@media (max-width: 720px){.eng-top[data-v-c77a2494]{padding:10px 16px;gap:8px;flex-wrap:nowrap;overflow:hidden}.eng-top-left[data-v-c77a2494]{gap:6px;flex:1;min-width:0}.course-select[data-v-c77a2494]{max-width:100%;flex:1;min-width:0}.course-trigger[data-v-c77a2494]{padding:4px 8px}.course-name[data-v-c77a2494]{display:inline-block;max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.eng-top-tabs[data-v-c77a2494]{gap:4px;flex-shrink:0}.tab-pill[data-v-c77a2494]{padding:4px 10px;font-size:12px}}@media (max-width: 420px){.course-name[data-v-c77a2494]{max-width:7ch}.tab-pill[data-v-c77a2494]{padding:3px 8px;font-size:11px}}.notebook-wrap[data-v-c629356d]{flex:1;height:100%;min-height:0;display:flex;flex-direction:column;max-width:var(--content-width);width:100%;margin:0 auto;padding:32px 40px 48px 80px;box-sizing:border-box;overflow:hidden}.notebook[data-v-c629356d]{position:relative;background:var(--bg-card);border-radius:0 8px 8px 0;box-shadow:2px 4px 8px #1e1e1e12,6px 12px 28px #1e1e1e0d;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.binder[data-v-c629356d]{position:absolute;top:0;left:-36px;width:64px;height:100%;pointer-events:none;z-index:5}.binder svg[data-v-c629356d]{width:100%;height:100%;display:block;filter:drop-shadow(2px 3px 4px rgba(0,0,0,.25))}.notebook-page[data-v-c629356d]{position:relative;padding:56px 64px 64px 140px;flex:1;background:transparent;border-left:1px solid rgba(200,200,200,.6);display:flex;flex-direction:column;min-height:0}.notebook-page[data-v-c629356d]>*{flex-grow:1;min-height:0}.notebook-page[data-v-c629356d]:before{content:"";position:absolute;top:12px;bottom:12px;left:32px;width:24px;background-image:radial-gradient(circle at center,var(--bg-card) 0,var(--bg-card) 6px,transparent 6.6px);background-size:24px 40px;background-repeat:repeat-y;pointer-events:none;z-index:2}@media (max-width: 720px){.notebook-wrap[data-v-c629356d]{padding:16px 16px 24px;max-width:100%}.binder[data-v-c629356d]{display:none}.notebook[data-v-c629356d]{border-radius:8px;box-shadow:0 2px 12px #00000014}.notebook-page[data-v-c629356d]{padding:24px 20px 32px;border-left:none}.notebook-page[data-v-c629356d]:before{display:none}.notebook[data-v-c629356d]{box-shadow:0 2px 8px #0000000f}}.center[data-v-1478979d]{display:flex;justify-content:center;align-items:center;flex:1;position:relative;z-index:1}.center.col[data-v-1478979d]{flex-direction:column;gap:12px}.btn[data-v-1478979d]{padding:10px 28px;border:none;border-radius:var(--radius);cursor:pointer;font-size:14px;background:var(--en-primary);color:var(--bg-card);font-weight:600}.top-bar[data-v-1478979d]{display:flex;justify-content:space-between;align-items:center;padding:0 0 20px;position:relative}.top-left[data-v-1478979d]{display:flex;align-items:center;gap:8px}.unit-select[data-v-1478979d]{position:relative}.unit-trigger[data-v-1478979d]{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:4px 12px;border-radius:var(--radius);background:var(--en-primary-soft);color:var(--en-primary);font-weight:500;border:none;cursor:pointer;font-family:inherit;transition:background .15s}.unit-trigger[data-v-1478979d]:hover{background:var(--en-primary-soft)}.unit-chevron[data-v-1478979d]{color:var(--en-primary);transition:transform .2s}.unit-chevron.flipped[data-v-1478979d]{transform:rotate(180deg)}.unit-menu[data-v-1478979d]{position:absolute;top:calc(100% + 6px);left:0;z-index:120;width:180px;max-height:280px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--en-border);border-radius:var(--radius);box-shadow:0 8px 24px #3d2e1f24;padding:6px}.unit-item[data-v-1478979d]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:none;border-radius:var(--radius);background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--en-ink);font-family:inherit;transition:background .1s}.unit-item[data-v-1478979d]:hover{background:var(--en-primary-soft)}.unit-item.active[data-v-1478979d]{background:var(--en-primary-soft);color:var(--en-primary);font-weight:600}.unit-item.active svg[data-v-1478979d]{color:var(--en-primary)}.word-tag[data-v-1478979d]{font-size:13px;padding:4px 12px;border-radius:var(--radius);background:var(--en-primary-soft);color:var(--en-primary);border:none;font-weight:500}.top-icons[data-v-1478979d]{display:flex;gap:6px}.icon-btn[data-v-1478979d]{width:36px;height:36px;border-radius:var(--radius);border:none;background:var(--en-primary-soft);color:var(--en-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn[data-v-1478979d]:hover{background:var(--en-primary);color:var(--bg-card)}.icon-btn[data-v-1478979d]:disabled{opacity:.3;cursor:not-allowed}.progress-section[data-v-1478979d]{padding:0 0 20px;margin-bottom:4px;border-bottom:1px dashed var(--border)}.progress-header[data-v-1478979d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-title[data-v-1478979d]{font-size:14px;color:var(--en-ink-soft);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.progress-num[data-v-1478979d]{font-size:13px;color:var(--en-primary);font-weight:700}.progress-bar[data-v-1478979d]{height:10px;background:var(--bg-subtle);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.progress-fill[data-v-1478979d]{height:100%;background:var(--en-primary);border-radius:var(--radius);transition:width .4s}.groups-row[data-v-1478979d]{display:flex;gap:6px}.group-block[data-v-1478979d]{flex:1;padding:6px 8px;border-radius:var(--radius-sm)}.group-block.cur[data-v-1478979d]{background:var(--en-primary-soft)}.group-label[data-v-1478979d]{font-size:11px;color:var(--en-ink-soft);margin-bottom:6px;letter-spacing:.3px}.group-block.cur .group-label[data-v-1478979d]{color:var(--en-primary);font-weight:600}.dots-row[data-v-1478979d]{display:flex;gap:4px;flex-wrap:wrap}.dot[data-v-1478979d]{width:10px;height:10px;border-radius:50%;transition:all .3s}.dot.pulsing[data-v-1478979d]{animation:pulse-1478979d .8s ease-out}@keyframes pulse-1478979d{0%{transform:scale(1.4)}to{transform:scale(1)}}.word-card[data-v-1478979d]{text-align:center;padding:36px 0 28px;margin-bottom:4px}.exam-tags[data-v-1478979d]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;justify-content:center}.exam-tag[data-v-1478979d]{font-size:12px;padding:2px 10px;border-radius:var(--radius);font-weight:500}.exam-tag.orange[data-v-1478979d]{background:#f59e0b1f;color:var(--warning)}.exam-tag.toefl[data-v-1478979d]{background:#f973161f;color:var(--danger)}.exam-tag.cet4[data-v-1478979d]{background:#22c55e1f;color:var(--success)}.exam-tag.cet6[data-v-1478979d]{background:#3b82f61f;color:var(--brand-blue)}.exam-tag.kaoyan[data-v-1478979d]{background:#ef44441f;color:var(--danger)}.word-title[data-v-1478979d]{font-size:48px;font-weight:700;color:var(--en-ink);margin:0 0 10px;letter-spacing:1px;display:inline-flex;align-items:center;gap:4px}.phonetic[data-v-1478979d]{color:var(--en-ink-soft);font-size:16px;margin:0 0 8px;font-family:var(--font-serif);letter-spacing:.5px}.translation[data-v-1478979d]{color:var(--en-ink);font-size:20px;margin:0;font-weight:500}.speak-btn[data-v-1478979d]{border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--en-ink-soft);border-radius:50%;transition:all .2s;padding:0}.speak-btn[data-v-1478979d]:hover{color:var(--en-primary)}.speak-btn.playing[data-v-1478979d]{color:var(--en-primary);animation:speakPulse-1478979d 1s ease-in-out infinite}.word-speak[data-v-1478979d]{width:36px;height:36px;margin-left:12px;color:var(--en-primary);background:var(--en-primary-soft);border-radius:50%}.word-speak[data-v-1478979d]:hover{background:var(--en-primary);color:var(--bg-card)}.example-speak[data-v-1478979d]{width:auto;height:26px;padding:0 10px;gap:4px;color:var(--en-ink-soft);font-size:12px;background:transparent;border-radius:var(--radius);border:1px solid var(--border)}.example-speak[data-v-1478979d]:hover{color:var(--en-primary);border-color:var(--en-primary)}.example-speak .speak-label[data-v-1478979d]{font-size:12px;font-weight:500}@keyframes speakPulse-1478979d{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.example-block[data-v-1478979d]{padding:16px 0 20px;margin:4px 0;border-top:1px dashed var(--border)}.example-head[data-v-1478979d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.example-label[data-v-1478979d]{font-size:13px;color:var(--en-ink-soft);margin:0;letter-spacing:.5px}.example-text[data-v-1478979d]{font-style:italic;color:var(--en-ink);margin:0 0 6px;font-size:16px;line-height:1.65}.example-cn[data-v-1478979d]{color:var(--en-ink-soft);margin:0;font-size:14px}.mic-section[data-v-1478979d]{padding:32px 0 8px;text-align:center;border-top:1px dashed var(--border);margin-top:8px}.mic-status[data-v-1478979d]{display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:20px}.mic-label[data-v-1478979d]{font-size:14px;color:var(--en-primary);font-weight:500}.mic-btn[data-v-1478979d]{width:56px;height:56px;border-radius:50%;border:none;background:var(--bg-card);color:var(--en-primary);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb,var(--en-primary) 20%,transparent),0 4px 12px #ff7a451f;transition:all .2s;display:flex;align-items:center;justify-content:center;margin:0 auto;animation:none}.mic-btn[data-v-1478979d]:hover{transform:scale(1.04)}.mic-btn.recording[data-v-1478979d]{color:var(--danger);box-shadow:0 0 0 1px #ef444440,0 4px 16px #ef444433;animation:dotPulse-1478979d 1.6s ease-in-out infinite}.mic-btn.restricted[data-v-1478979d]{color:#c0b8ae;box-shadow:none;animation:none;cursor:not-allowed}@keyframes dotPulse-1478979d{0%,to{transform:scale(1);box-shadow:0 0 0 1px color-mix(in srgb,var(--en-primary) 20%,transparent),0 4px 12px #ff7a451f}50%{transform:scale(1.05);box-shadow:0 0 0 6px #ff7a4526,0 4px 16px color-mix(in srgb,var(--en-primary) 20%,transparent)}}.restricted-tip[data-v-1478979d]{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:20px;padding:10px 16px;border-radius:var(--radius);background:var(--warning-bg);color:var(--warning);font-size:13px}.restricted-icon[data-v-1478979d]{font-size:14px}.pulse-dots[data-v-1478979d]{display:flex;justify-content:center;gap:6px;margin-top:20px}.pulse-dot[data-v-1478979d]{width:8px;height:8px;border-radius:50%;background:var(--en-primary);animation:pulseDot-1478979d 1.2s ease-in-out infinite}@keyframes pulseDot-1478979d{0%,to{transform:scale(.6);opacity:.4}50%{transform:scale(1.3);opacity:1}}.feedback-toast[data-v-1478979d]{display:inline-block;margin-top:14px;padding:10px 22px;border-radius:var(--radius);color:var(--bg-card);font-weight:600;font-size:14px;background:var(--danger);box-shadow:0 4px 16px #00000026;animation:feedbackIn-1478979d .25s ease}.feedback-toast.success[data-v-1478979d]{background:var(--success)}@keyframes feedbackIn-1478979d{0%{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.celebration-overlay[data-v-1478979d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#ff7a451a;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn-1478979d .3s}.celebration-box[data-v-1478979d]{background:var(--bg-card);padding:36px 52px;border-radius:var(--radius);display:flex;gap:16px;align-items:center;box-shadow:0 8px 32px color-mix(in srgb,var(--en-primary) 20%,transparent);animation:celBounce-1478979d .6s ease-out}.cel-emoji[data-v-1478979d]{font-size:40px}.cel-text[data-v-1478979d]{font-size:26px;font-weight:700;color:var(--en-primary)}@keyframes fadeIn-1478979d{0%{opacity:0}to{opacity:1}}@keyframes celBounce-1478979d{0%{transform:scale(.8)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 480px){.top-bar[data-v-1478979d]{padding-bottom:16px}.unit-trigger[data-v-1478979d],.word-tag[data-v-1478979d]{font-size:12px;padding:3px 10px}.icon-btn[data-v-1478979d]{width:30px;height:30px;border-radius:var(--radius-sm)}.icon-btn svg[data-v-1478979d]{width:14px;height:14px}.progress-section[data-v-1478979d]{padding-bottom:14px;margin-bottom:0}.progress-title[data-v-1478979d],.progress-num[data-v-1478979d]{font-size:12px}.progress-bar[data-v-1478979d]{height:8px}.groups-row[data-v-1478979d]{gap:4px}.group-block[data-v-1478979d]{padding:4px}.group-label[data-v-1478979d]{font-size:10px}.dots-row[data-v-1478979d]{gap:3px}.dot[data-v-1478979d]{width:8px;height:8px}.word-card[data-v-1478979d]{padding:24px 0 20px}.word-title[data-v-1478979d]{font-size:36px;letter-spacing:.5px}.phonetic[data-v-1478979d]{font-size:14px}.translation[data-v-1478979d]{font-size:17px}.word-speak[data-v-1478979d]{width:30px;height:30px;margin-left:8px}.word-speak svg[data-v-1478979d]{width:18px;height:18px}.exam-tags[data-v-1478979d]{gap:4px;margin-bottom:12px}.exam-tag[data-v-1478979d]{font-size:11px;padding:2px 8px}.example-block[data-v-1478979d]{padding:12px 0 16px}.example-label[data-v-1478979d]{font-size:12px}.example-text[data-v-1478979d]{font-size:15px;line-height:1.6}.example-cn[data-v-1478979d]{font-size:13px}.example-speak[data-v-1478979d]{height:22px;padding:0 8px;font-size:11px}.mic-section[data-v-1478979d]{padding:20px 0 4px}.mic-btn[data-v-1478979d]{width:48px;height:48px}.mic-btn svg[data-v-1478979d]{width:22px;height:22px}.mic-label[data-v-1478979d]{font-size:13px}.feedback-toast[data-v-1478979d]{font-size:13px;padding:8px 18px}.celebration-box[data-v-1478979d]{padding:24px 36px}.cel-emoji[data-v-1478979d]{font-size:32px}.cel-text[data-v-1478979d]{font-size:20px}}@media (max-width: 375px){.word-title[data-v-1478979d]{font-size:30px}.word-speak[data-v-1478979d]{width:26px;height:26px}.phonetic[data-v-1478979d]{font-size:13px}.translation[data-v-1478979d]{font-size:15px}.example-text[data-v-1478979d]{font-size:14px}.group-block[data-v-1478979d]{padding:2px}.dot[data-v-1478979d]{width:7px;height:7px}}.center[data-v-9b912c9d]{display:flex;justify-content:center;align-items:center;flex:1}.empty-state[data-v-9b912c9d]{text-align:center;padding:60px 40px;display:flex;flex-direction:column;align-items:center;flex:1;justify-content:center}.empty-icon[data-v-9b912c9d]{width:80px;height:80px;border-radius:50%;background:var(--brand-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.empty-title[data-v-9b912c9d]{font-size:20px;color:var(--ink);margin:0 0 12px;font-weight:600}.empty-desc[data-v-9b912c9d]{color:var(--ink-muted);font-size:14px;margin:0 0 24px}.refresh-btn[data-v-9b912c9d]{padding:10px 32px;border:1px solid var(--brand);border-radius:var(--radius);background:transparent;color:var(--brand);font-size:14px;font-family:inherit;cursor:pointer;transition:all .15s}.refresh-btn[data-v-9b912c9d]:hover{background:var(--brand-soft)}.top-bar[data-v-9b912c9d]{display:flex;justify-content:space-between;align-items:center;padding:8px 0 16px}.top-left[data-v-9b912c9d]{display:flex;align-items:center;gap:10px}.top-icons[data-v-9b912c9d]{display:flex;gap:8px;align-items:center}.due-badge[data-v-9b912c9d]{font-size:12px;padding:4px 10px;border-radius:var(--radius);background:var(--brand-soft);color:var(--brand);font-weight:600}.icon-btn[data-v-9b912c9d]{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:var(--bg-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);transition:all .15s}.icon-btn[data-v-9b912c9d]:hover{background:var(--brand-soft);color:var(--brand)}.stat-section[data-v-9b912c9d]{padding:0 0 16px;border-bottom:1px dashed var(--border);margin-bottom:4px}.stat-head[data-v-9b912c9d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stat-title[data-v-9b912c9d]{font-size:14px;color:var(--ink-muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.due-tag[data-v-9b912c9d]{font-size:12px;padding:3px 10px;border-radius:var(--radius);background:var(--brand-soft);color:var(--brand);font-weight:600}.stat-grid[data-v-9b912c9d]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-item[data-v-9b912c9d]{text-align:center;padding:8px 0}.stat-num[data-v-9b912c9d]{font-size:26px;font-weight:700;color:var(--ink);margin:0}.stat-lbl[data-v-9b912c9d]{color:var(--ink-muted);font-size:12px;margin:4px 0 0;letter-spacing:.3px}.word-card[data-v-9b912c9d]{text-align:center;padding:36px 0 28px}.badges[data-v-9b912c9d]{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.badge[data-v-9b912c9d]{font-size:12px;padding:4px 12px;border-radius:var(--radius);background:var(--brand-soft);color:var(--brand);font-weight:500}.badge.hot[data-v-9b912c9d]{background:var(--warning-bg);color:var(--warning)}.word[data-v-9b912c9d]{font-size:48px;font-weight:700;color:var(--ink);margin:0 0 10px;letter-spacing:1px;display:inline-block}.speak-btn[data-v-9b912c9d]{border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--ink-muted);border-radius:var(--radius-lg);transition:all .2s;padding:4px 12px;font-size:12px;font-family:inherit;margin-left:8px}.speak-btn[data-v-9b912c9d]:hover{color:var(--brand);background:var(--brand-soft)}.phonetic[data-v-9b912c9d]{color:var(--ink-muted);font-size:16px;margin:0 0 8px;font-family:var(--font-serif);letter-spacing:.5px}.translation[data-v-9b912c9d]{color:var(--ink);font-size:20px;margin:0;font-weight:500}.example-block[data-v-9b912c9d]{padding:16px 0 20px;border-top:1px dashed var(--border)}.example-label[data-v-9b912c9d]{font-size:13px;color:var(--ink-muted);margin:0 0 6px;letter-spacing:.5px}.example-text[data-v-9b912c9d]{font-style:italic;color:var(--ink);margin:0 0 6px;font-size:16px;line-height:1.65}.example-cn[data-v-9b912c9d]{color:var(--ink-muted);margin:0;font-size:14px}.result-banner[data-v-9b912c9d]{display:flex;align-items:center;gap:8px;padding:14px 20px;margin-top:16px;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 6%,transparent);border-left:3px solid var(--danger)}.result-banner.passed[data-v-9b912c9d]{background:color-mix(in srgb,var(--success) 6%,transparent);border-left-color:var(--success)}.r-emoji[data-v-9b912c9d]{font-size:18px;font-weight:700}.r-text[data-v-9b912c9d]{font-weight:600;flex:1;color:var(--ink);font-size:14px}.r-acc[data-v-9b912c9d]{font-size:13px;color:var(--ink-muted);font-weight:600}.mic-section[data-v-9b912c9d]{text-align:center;padding:32px 0 8px;border-top:1px dashed var(--border);margin-top:8px}.cel[data-v-9b912c9d]{font-size:18px;font-weight:700;color:var(--brand);margin-bottom:16px;animation:bounce-9b912c9d .6s}@keyframes bounce-9b912c9d{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mic-btn[data-v-9b912c9d]{width:56px;height:56px;border-radius:50%;border:none;background:var(--bg-card);color:var(--brand);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb,var(--en-primary) 20%,transparent),0 4px 12px #ff7a451f;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;margin:0 auto;animation:dotPulse-9b912c9d 2s ease-in-out infinite}.mic-btn[data-v-9b912c9d]:hover{transform:scale(1.06)}.mic-btn.recording[data-v-9b912c9d]{color:var(--danger);animation:none}@keyframes dotPulse-9b912c9d{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.hint[data-v-9b912c9d]{color:var(--ink-muted);font-size:13px;margin-top:12px}.err[data-v-9b912c9d]{color:var(--danger);font-size:12px;margin-top:6px}.err-login[data-v-9b912c9d]{margin-top:10px;padding:6px 18px;border:none;border-radius:var(--radius);background:var(--en-primary);color:var(--bg-card);font-size:12px;font-weight:600;cursor:pointer}.center[data-v-38ce484a]{display:flex;justify-content:center;align-items:center;flex:1}.center.col[data-v-38ce484a]{flex-direction:column;gap:12px}.err[data-v-38ce484a]{text-align:center;padding:40px;color:var(--danger);font-size:14px}.btn[data-v-38ce484a]{padding:10px 28px;border:none;border-radius:var(--radius);cursor:pointer;font-size:14px;background:var(--en-primary);color:var(--bg-card);font-weight:600}.subtitle[data-v-38ce484a]{color:var(--ink-muted);font-size:13px;margin:0 0 20px}.progress-section[data-v-38ce484a]{padding:0 0 16px;border-bottom:1px dashed var(--border);margin-bottom:4px}.pc-head[data-v-38ce484a]{display:flex;align-items:center;gap:8px;margin-bottom:14px}.pc-icon[data-v-38ce484a]{font-size:16px}.pc-title[data-v-38ce484a]{font-size:14px;color:var(--ink-muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.pc-content[data-v-38ce484a]{padding-left:4px}.pc-row[data-v-38ce484a]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.pc-label[data-v-38ce484a]{font-size:15px;color:var(--ink);font-weight:500}.pc-value[data-v-38ce484a]{font-size:14px;color:var(--brand);font-weight:700}.pc-sub[data-v-38ce484a]{font-size:12px;color:var(--ink-muted);margin-bottom:14px}.pc-bar-row[data-v-38ce484a]{margin-bottom:10px}.pc-bar-row[data-v-38ce484a]:last-child{margin-bottom:0}.pc-bar-label[data-v-38ce484a]{font-size:12px;color:var(--ink-muted);margin-bottom:4px;display:block}.pc-bar[data-v-38ce484a]{height:6px;background:var(--bg-subtle);border-radius:3px;overflow:hidden}.pc-fill[data-v-38ce484a]{height:100%;background:var(--brand);border-radius:3px;transition:width .6s}.pc-fill.total[data-v-38ce484a]{background:#ffb088}.metrics-section[data-v-38ce484a]{padding:20px 0;border-bottom:1px dashed var(--border)}.metrics-grid[data-v-38ce484a]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.m-item[data-v-38ce484a]{text-align:center;padding:16px 4px}.m-icon[data-v-38ce484a]{font-size:22px;margin-bottom:8px}.m-num[data-v-38ce484a]{font-size:32px;font-weight:700;color:var(--ink);margin:0 0 2px;line-height:1}.m-lbl[data-v-38ce484a]{color:var(--ink-muted);font-size:12px;margin:0;letter-spacing:.3px}.heatmap-section[data-v-38ce484a]{padding:20px 0 8px}.hm-head[data-v-38ce484a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.hm-title[data-v-38ce484a]{font-size:14px;color:var(--ink-muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.hm-legend[data-v-38ce484a]{display:flex;gap:12px}.hm-legend-item[data-v-38ce484a]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-muted)}.hm-box[data-v-38ce484a]{width:14px;height:14px;border-radius:3px;background:var(--border)}.hm-box.done[data-v-38ce484a]{background:var(--brand)}.hm-weekdays[data-v-38ce484a]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.hm-weekday[data-v-38ce484a]{font-size:11px;color:var(--ink-muted);text-align:center}.hm-calendar[data-v-38ce484a]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.hm-cell[data-v-38ce484a]{aspect-ratio:1;border-radius:4px;background:var(--border);transition:all .2s;cursor:pointer}.hm-cell.done[data-v-38ce484a]{background:var(--brand);box-shadow:0 0 4px #ff7a4566}.hm-cell.empty[data-v-38ce484a]{background:transparent;cursor:default}:root{--brand: #E87722;--brand-hover: #d4661a;--brand-soft: #f2f2f2;--brand-border: #ffd9b8;--ink: #1a1a1a;--ink-soft: #555;--ink-muted: #999;--bg: #f7f7f7;--bg-card: #ffffff;--bg-subtle: #f2f2f2;--border: #e5e5e5;--border-strong: #d4d4d4;--radius-sm: 3px;--radius: 4px;--radius-lg: 6px;--space: 8px;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--content-width: 1280px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.06);--font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-serif: "Songti SC", "SimSun", Georgia, serif;--font-mono: ui-monospace, Menlo, "Courier New", monospace;--font-size-base: 15px;--font-size-sm: 13px;--font-size-lg: 17px;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--success-bg: #e8f5e9;--warning-bg: #fff7e6;--danger-bg: #fdeaea;--score-excellent: #2f6d6a;--score-good: #4c8a43;--score-warn: #d4941a;--score-bad: #c04a3a;--score-soft-good: #e5efe0;--score-soft-warn: #fdf7ec;--score-soft-bad: #fdf0ef;--brand-blue: #0a6cff;--brand-blue-hover: #0858d0;--brand-blue-soft: #e4e8f5;--brand-purple: #6b5a9e;--brand-purple-soft: #ece8f5;--warm-ink: #3d2e1f;--warm-ink-soft: #8a6a4a;--warm-border: #e0cfb8;--warm-border-strong: #d9c6ab;--warm-bg: #faf5ee;--warm-bg-card: #fff5eb;--warm-brand: #c18a55;--hobby-green: #6b7f52;--vision-gold: #C6A14E;--vision-rust: #B97A4B;--vision-paper: #FBF8F4}:root[data-theme=dark]{--brand: #ff8c42;--brand-hover: #ffa05c;--brand-soft: #3b2615;--brand-border: #5a3e26;--brand-blue: #6ea8ff;--brand-blue-hover: #85b6ff;--ink: #f0f0f0;--ink-soft: #b8b8b8;--ink-muted: #7a7a7a;--bg: #141414;--bg-card: #1e1e1e;--bg-subtle: #262626;--border: #3a3a3a;--border-strong: #4d4d4d;--success-bg: #0f2e1a;--warning-bg: #2e240f;--danger-bg: #2e0f0f;--table-row-hover: #252525;--table-row-alt: #1a1a1a;--badge-admin-bg: #3a3a3a;--badge-admin-ink: #f0f0f0;--bg-card-2: #222222;--score-excellent: #4a9e9a;--score-good: #6db862;--score-warn: #e8aa3a;--score-bad: #e86a5a;--score-soft-good: #1a2a1a;--score-soft-warn: #2e2615;--score-soft-bad: #2e1a1a;--brand-blue-soft: #1a2a4a;--brand-purple: #8f7fbf;--brand-purple-soft: #2a2540;--warm-ink: #e8ddd0;--warm-ink-soft: #b8a898;--warm-border: #4a3a2a;--warm-border-strong: #5a4a38;--warm-bg: #221c16;--warm-bg-card: #2a2018;--warm-brand: #d4a070;--hobby-green: #8fa672;--vision-gold: #d4b466;--vision-rust: #d4a080;--vision-paper: #1e1a14}:root{--aside-bg: #1a1a2e;--aside-link: #ccc;--aside-border: rgba(255,255,255,.2);--table-row-hover: #f7f7f7;--table-row-alt: #fafafa;--badge-admin-bg: #333;--badge-admin-ink: #fff;--bg-card-2: #fafafa;--color-primary: var(--brand);--color-primary-hover: var(--brand-hover);--color-primary-light: var(--brand-soft);--color-primary-lighter: var(--brand-border);--color-primary-border: var(--brand-border);--color-text: var(--ink);--color-text-secondary: var(--ink-soft);--color-text-tertiary: var(--ink-muted);--color-text-primary: var(--ink);--color-bg: var(--bg);--color-surface: var(--bg-card);--color-subtle: var(--bg-subtle);--color-border: var(--border);--color-danger: var(--danger);--color-success: var(--success);--color-warning: var(--warning);--color-info: var(--brand-blue)}:root{--en-primary: #FF7A45;--en-primary-hover: #ff6a33;--en-primary-soft: #f2f2f2;--en-primary-ring: #e0e0e0;--en-primary-pink: #ececec;--en-bg: #f7f7f7;--en-bg-card: #ffffff;--en-bg-soft: #f2f2f2;--en-ink: #1a1a1a;--en-ink-soft: #737373;--en-border: #ececec;--en-shadow-sm: rgba(0,0,0,.02) 0px 2px 12px;--en-tag-orange: #F59E0B;--en-tag-toefl: #F97316;--en-tag-cet4: #22C55E;--en-tag-cet6: #3B82F6;--en-tag-kaoyan: #EF4444;--en-radius: 16px;--en-radius-sm: 8px}:root[data-theme=dark]{--en-primary: #ff9a6e;--en-primary-soft: #3b2615;--en-primary-pink: #3d2a2e;--en-bg: #1a1410;--en-bg-card: #231c16;--en-ink: #f5e6d8;--en-ink-soft: #b8a28c;--en-border: #3a2d21;--en-shadow-sm: 0px 2px 12px rgba(0,0,0,.4)}html{background:var(--bg)}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{font-size:var(--font-size-base)}body{margin:0;font-family:var(--font);font-size:var(--font-size-base);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:600;line-height:1.3;margin:0 0 .5em}h1{font-size:1.8em}h2{font-size:1.45em}h3{font-size:1.2em}h4{font-size:1.05em}p{margin:0 0 1em}small{font-size:var(--font-size-sm);color:var(--ink-muted)}code{font-family:var(--font-mono)}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-hover)}.card{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.btn{display:inline-block;padding:10px 20px;border-radius:var(--radius-sm);border:none;font-size:14px;cursor:pointer;font-family:var(--font)}.btn-primary{background:var(--brand, #E87722);color:#fff}.btn-primary:hover{background:var(--brand-hover, #d46a1e)}.btn-ghost{background:transparent;border:1px solid var(--border-strong, #d4d4d4);color:var(--ink)}.btn-danger{background:var(--color-danger, #DC2626);color:#fff}
