:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:"Inter", -apple-system, "SF Pro Display", "Segoe UI", sans-serif;--accent:#0ea5a0;--accent-deep:#0a7e7a;--accent-soft:#e6f7f6;--accent-glow:#0ea5a038;--teal:#0ea5a0;--teal-deep:#0a7e7a;--teal-soft:#e6f7f6;--blue:#3b82f6;--blue-soft:#eff6ff;--danger:#ef4444;--danger-soft:#fef2f2;--text:#1a1a2e;--text-2:#4a4a68;--muted:#8e8ea0;--muted-2:#b0b0c0;--bg:#eef6f5;--card:#fff;--border:#1a1a2e0f;--border-2:#1a1a2e1a;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-2xl:28px;--r-full:999px;--sh-sm:0 1px 3px #1a1a2e0a, 0 1px 2px #1a1a2e05;--sh-md:0 4px 16px #1a1a2e0f, 0 1px 3px #1a1a2e08;--sh-lg:0 12px 32px #1a1a2e14, 0 2px 8px #1a1a2e0a;--sh-accent:0 8px 20px var(--accent-glow);--ease:cubic-bezier(.16, 1, .3, 1);--fast:.13s;--base:.2s;--slow:.32s;font-family:var(--font-sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:100%}html{overscroll-behavior:none;overflow:hidden}body{overscroll-behavior:none;touch-action:manipulation;background:radial-gradient(ellipse 70% 50% at 15% -5%, #0ea5a014, transparent 60%), radial-gradient(ellipse 60% 40% at 90% 10%, #3b82f60d, transparent 55%), var(--bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;position:fixed;inset:0;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}input,textarea{-webkit-user-select:text;user-select:text}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not(.pin-cell),textarea,select{width:100%;min-height:44px;box-shadow:none;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);appearance:none;background:#1a1a2e0d;border:1px solid #0000;border-radius:14px;outline:none;padding:11px 14px}input::placeholder,textarea::placeholder{color:var(--muted-2);font-weight:500}input:hover:not(:disabled):not(.pin-cell),textarea:hover:not(:disabled),select:hover:not(:disabled){background:#1a1a2e12}input:focus:not(.pin-cell),textarea:focus,select:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-2));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);background:#fff}input:disabled,textarea:disabled,select:disabled{opacity:.55}button{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}h1,h2,h3,h4,p,ul{margin:0}ul{padding:0;list-style:none}#app{width:100%;max-width:540px;height:100%;padding:max(10px, env(safe-area-inset-top)) 0 max(6px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.panel-main{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.primary-button,.ghost-button{border-radius:var(--r-sm);transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border:none;font-weight:700}.primary-button{background:var(--accent);color:#fff;box-shadow:var(--sh-accent);flex:1;padding:13px 18px;font-size:.94rem}.primary-button:active{transform:scale(.97)}.ghost-button{background:var(--bg);color:var(--text);padding:11px 15px;font-size:.88rem}.ghost-button:active{background:#1a1a2e0f;transform:scale(.97)}.compact-button{padding:8px 12px;font-size:.82rem}.ghost-button.danger{background:var(--danger-soft);color:var(--danger)}.badge{border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);align-items:center;padding:4px 11px;font-size:.74rem;font-weight:700;display:inline-flex}.master-chip{border-radius:var(--r-full);background:var(--teal-soft);color:var(--teal-deep);border:none;align-items:center;gap:3px;padding:5px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.empty-state{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.empty-icon{border-radius:var(--r-full);background:var(--teal-soft);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;font-size:1.6rem;display:flex}.empty-state h3{color:var(--text-2);font-size:.96rem}.empty-state p{color:var(--muted);font-size:.84rem}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:var(--r-full)}@media (width>=768px){#app{max-width:720px}}@media (width>=1024px){#app{max-width:960px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.media-icon-btn[data-v-7b92498d]{border-radius:var(--r-full);cursor:pointer;width:40px;height:40px;transition:transform var(--fast) var(--ease), opacity var(--fast) var(--ease);border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.media-icon-btn[data-v-7b92498d]:active{transform:scale(.94)}.media-icon[data-v-7b92498d]{width:18px;height:18px}.media-icon-btn.primary[data-v-7b92498d]{background:var(--accent);color:#fff;box-shadow:var(--sh-accent)}.media-icon-btn.primary.playing[data-v-7b92498d]{background:var(--danger);box-shadow:none}.media-icon-btn.ghost[data-v-7b92498d]{background:var(--card);color:var(--accent-deep);border:1px solid var(--border-2)}.media-icon-btn.danger[data-v-7b92498d]{background:var(--danger-soft);color:var(--danger);border:1px solid #ef444440}.book-header[data-v-f8814b60]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-sm);flex:none;margin-bottom:10px;padding:12px 14px}.current-book[data-v-f8814b60]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.book-header-main[data-v-f8814b60]{min-width:0}.switch-book-btn[data-v-f8814b60]{flex:none}.switch-book-btn.locked[data-v-f8814b60],.switch-book-btn[data-v-f8814b60]:disabled{opacity:.45;color:var(--muted);cursor:not-allowed}.book-grade[data-v-f8814b60]{color:var(--accent);letter-spacing:.04em;font-size:.72rem;font-weight:700}.book-header h2[data-v-f8814b60]{margin-top:4px;font-size:1.15rem;font-weight:800}.book-sub[data-v-f8814b60]{color:var(--muted);margin-top:4px;font-size:.82rem}.section-label[data-v-f8814b60]{color:var(--text-2);margin-bottom:8px;font-size:.82rem;font-weight:700}.breadcrumb[data-v-f8814b60]{color:var(--text-2);align-items:center;gap:10px;margin-bottom:10px;font-weight:700;display:flex}.status-line[data-v-f8814b60]{border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-deep);margin-bottom:10px;padding:10px 12px;font-size:.86rem;font-weight:600}.nav-list[data-v-f8814b60]{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.nav-row[data-v-f8814b60]{border-radius:var(--r-md);background:var(--card);width:100%;box-shadow:var(--sh-sm);text-align:left;border:none;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.book-row.active[data-v-f8814b60]{border:1px solid var(--accent);background:var(--accent-soft)}.book-row[data-v-f8814b60]:disabled{opacity:.7}.nav-row strong[data-v-f8814b60]{font-size:.95rem;display:block}.nav-row p[data-v-f8814b60]{color:var(--muted);margin-top:4px;font-size:.78rem}.chevron[data-v-f8814b60]{color:var(--muted);font-size:1.2rem;line-height:1}.badge.current[data-v-f8814b60]{background:var(--accent);color:#fff}.article-item[data-v-f8814b60]{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.article-item.playing .nav-row[data-v-f8814b60]{border:1px solid var(--accent);background:var(--accent-soft)}.article-item .nav-row[data-v-f8814b60]{padding:12px}.unit-play-card[data-v-f8814b60]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-sm);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);border:1px solid #0000;flex:none;margin-bottom:10px;padding:12px 14px}.unit-play-card.active[data-v-f8814b60]{background:linear-gradient(180deg, #f3fbfa 0%, var(--card) 100%);border-color:#0ea5a047}.unit-play-head[data-v-f8814b60]{align-items:center;gap:12px;display:flex}.unit-play-head-text[data-v-f8814b60]{flex:auto;min-width:0}.unit-play-head-text strong[data-v-f8814b60]{color:var(--text);font-size:.92rem;font-weight:800;display:block}.unit-play-head-text p[data-v-f8814b60]{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.76rem;overflow:hidden}.unit-play-toggles[data-v-f8814b60]{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.unit-play-options[data-v-f8814b60]{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.option-row[data-v-f8814b60]{grid-template-columns:36px 1fr;align-items:center;gap:8px;display:grid}.option-label[data-v-f8814b60]{color:var(--muted);font-size:.74rem;font-weight:700}.chip-group[data-v-f8814b60]{border-radius:var(--r-full);background:var(--bg);flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:3px;display:flex}.play-chip[data-v-f8814b60]{border-radius:var(--r-full);min-height:28px;color:var(--text-2);background:0 0;border:1px solid #0000;padding:4px 10px;font-size:.74rem;font-weight:700;line-height:1}.play-chip.on[data-v-f8814b60]{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.loop-chip[data-v-f8814b60]{background:var(--bg);border-color:var(--border);flex:none}.loop-chip.on[data-v-f8814b60]{border-color:var(--accent)}.unit-play-status[data-v-f8814b60]{border-radius:var(--r-md);background:var(--accent-soft);min-height:36px;color:var(--accent-deep);align-items:center;gap:8px;margin:10px 0 0;padding:8px 10px;font-size:.8rem;font-weight:700;display:flex}.follow-gap[data-v-f8814b60]{flex:auto;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.follow-gap-label[data-v-f8814b60],.follow-gap-time[data-v-f8814b60]{flex:none;font-size:.74rem;font-weight:700;line-height:1}.follow-gap-time[data-v-f8814b60]{text-align:right;font-variant-numeric:tabular-nums;min-width:2.2em}.follow-gap-track[data-v-f8814b60]{border-radius:var(--r-full);background:#0ea5a029;flex:auto;min-width:0;height:6px;overflow:hidden}.follow-gap-fill[data-v-f8814b60]{border-radius:inherit;background:linear-gradient(90deg, var(--accent) 0%, #2dd4bf 100%);height:100%;transition:width 50ms linear}.status-text[data-v-f8814b60]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.playing-icon[data-v-f8814b60]{width:16px;height:16px;color:var(--danger);flex:none;display:inline-flex}.playing-icon svg[data-v-f8814b60]{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:100%;height:100%}.playing-icon svg[data-v-f8814b60] :is(rect){stroke:none;fill:currentColor}.badge-playing[data-v-f8814b60]{color:#fff;width:16px;height:16px;display:inline-flex}.badge-playing svg[data-v-f8814b60]{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:100%;height:100%}.badge-playing svg[data-v-f8814b60] :is(rect){stroke:none;fill:currentColor}.unit-play-error[data-v-f8814b60]{color:var(--danger);margin:8px 0 0;font-size:.8rem;font-weight:600}.empty-state .primary-button[data-v-f8814b60]{align-self:center;width:auto;margin-top:8px}.pin-code[data-v-22d029ec]{justify-content:space-between;gap:8px;width:100%;display:flex}.pin-cell[data-v-22d029ec]{aspect-ratio:1;min-width:0;max-width:48px;color:var(--text);text-align:center;caret-color:#0000;-webkit-tap-highlight-color:transparent;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#1a1a2e0d;border:1px solid #0000;border-radius:14px;flex:1 1 0;padding:0;font-size:1.25rem;font-weight:800}.pin-cell[data-v-22d029ec]:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-2));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);background:#fff;outline:none}.pin-cell[data-v-22d029ec]:disabled{opacity:.55}.confirm-root[data-v-1b56e2d9]{z-index:1000;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:#1a1a2e6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-card[data-v-1b56e2d9]{border-radius:var(--r-xl);background:var(--card);width:min(100%,340px);box-shadow:var(--sh-lg);padding:18px 16px 14px}.confirm-title[data-v-1b56e2d9]{color:var(--text);margin:0;font-size:1.05rem;font-weight:800}.confirm-message[data-v-1b56e2d9]{color:var(--text-2);white-space:pre-line;margin:10px 0 0;font-size:.88rem;line-height:1.5}.confirm-actions[data-v-1b56e2d9]{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.confirm-actions .ghost-button[data-v-1b56e2d9],.confirm-actions .primary-button[data-v-1b56e2d9]{width:100%;min-height:42px}.primary-button.danger[data-v-1b56e2d9]{background:var(--danger);border-color:var(--danger);color:#fff}.confirm-enter-active[data-v-1b56e2d9]{transition:opacity .22s var(--ease)}.confirm-enter-active .confirm-card[data-v-1b56e2d9]{transition:transform .26s var(--ease), opacity .26s var(--ease)}.confirm-enter-from[data-v-1b56e2d9]{opacity:0}.confirm-enter-from .confirm-card[data-v-1b56e2d9]{opacity:0;transform:translateY(12px)scale(.94)}.confirm-enter-to[data-v-1b56e2d9]{opacity:1}.confirm-enter-to .confirm-card[data-v-1b56e2d9]{opacity:1;transform:translateY(0)scale(1)}.confirm-leave-active[data-v-1b56e2d9]{transition:opacity .2s var(--ease)}.confirm-leave-active .confirm-card[data-v-1b56e2d9]{transition:transform .2s var(--ease), opacity .2s var(--ease)}.confirm-leave-from[data-v-1b56e2d9]{opacity:1}.confirm-leave-from .confirm-card[data-v-1b56e2d9]{opacity:1;transform:translateY(0)scale(1)}.confirm-leave-to[data-v-1b56e2d9]{opacity:0}.confirm-leave-to .confirm-card[data-v-1b56e2d9]{opacity:0;transform:translateY(8px)scale(.96)}.pomodoro-board[data-v-465f34f9]{flex-direction:column;flex:auto;justify-content:flex-start;align-items:center;gap:12px;min-height:0;padding:4px 4px 12px;display:flex;overflow:auto}.mode-switch[data-v-465f34f9]{border-radius:var(--r-full);background:var(--card);width:min(100%,280px);box-shadow:var(--sh-sm);flex:none;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.mode-chip[data-v-465f34f9]{border-radius:var(--r-full);min-height:36px;color:var(--muted);background:0 0;border:none;padding:8px 10px;font-size:.84rem;font-weight:700}.mode-chip.active[data-v-465f34f9]{background:var(--accent);color:#fff}.mode-chip[data-v-465f34f9]:disabled{opacity:.45}.subject-option-list[data-v-465f34f9]{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:auto}.subject-option[data-v-465f34f9]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-align:left;-webkit-tap-highlight-color:transparent;min-height:56px;transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);align-items:center;gap:12px;padding:10px 12px;display:flex}.subject-option[data-v-465f34f9]:active{background:color-mix(in srgb, var(--blue-soft) 70%, var(--bg));transform:scale(.99)}.subject-option.active[data-v-465f34f9]{border-color:var(--blue);background:var(--blue-soft)}.subject-option-icon[data-v-465f34f9]{border-radius:var(--r-md);background:var(--card);flex:none;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid}.subject-option.active .subject-option-icon[data-v-465f34f9]{background:#3b82f629}.subject-option-text[data-v-465f34f9]{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.subject-option-text strong[data-v-465f34f9]{font-size:.95rem;font-weight:800}.subject-option-text small[data-v-465f34f9]{color:var(--muted);font-size:.74rem;font-weight:500}.subject-option-check[data-v-465f34f9]{width:1.2em;color:var(--blue);text-align:center;flex:none;font-size:1.05rem;font-weight:800}.subject-add-bar[data-v-465f34f9]{min-height:52px;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#1a1a2e0d;border:1px solid #0000;border-radius:16px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex}.subject-add-bar[data-v-465f34f9]:focus-within{border-color:color-mix(in srgb, var(--blue) 40%, var(--border-2));box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 14%, transparent);background:#fff}.subject-add-bar input[data-v-465f34f9]{min-width:0;min-height:40px;box-shadow:none;background:0 0;border:none;border-radius:0;flex:auto;padding:8px 0;font-size:.95rem;font-weight:600}.subject-add-bar input[data-v-465f34f9]:hover,.subject-add-bar input[data-v-465f34f9]:focus{box-shadow:none;background:0 0;border:none}.subject-add-btn[data-v-465f34f9]{border-radius:var(--r-full);background:var(--blue);color:#fff;min-width:72px;min-height:40px;transition:transform var(--fast) var(--ease), filter var(--fast) var(--ease), opacity var(--fast) var(--ease);border:none;flex:none;padding:0 16px;font-size:.88rem;font-weight:750;box-shadow:0 6px 14px #3b82f63d}.subject-add-btn[data-v-465f34f9]:active:not(:disabled){filter:brightness(.96);transform:scale(.97)}.subject-add-btn[data-v-465f34f9]:disabled{opacity:.4;box-shadow:none}.subject-error[data-v-465f34f9]{color:var(--danger);margin:0;font-size:.78rem}.link-remove[data-v-465f34f9]{color:var(--muted);background:0 0;border:none;align-self:flex-start;padding:0;font-size:.76rem;font-weight:650}.pomodoro-ring-wrap[data-v-465f34f9]{--ring-deg:360deg;--phase-color:#0ea5a0;--ring-size:min(68vw, 240px);--ring-thickness:12px;width:var(--ring-size);aspect-ratio:1;filter:none;position:relative}.pomodoro-ring-wrap.running.focus[data-v-465f34f9],.pomodoro-ring-wrap.running.idle[data-v-465f34f9],.pomodoro-ring-wrap.running.stopwatch[data-v-465f34f9]{animation:3.2s ease-in-out infinite focus-pulse-465f34f9}.pomodoro-ring-wrap.running.break[data-v-465f34f9]{animation:5s ease-in-out infinite rest-breathe-465f34f9}.ring-track[data-v-465f34f9],.ring-color[data-v-465f34f9]{pointer-events:none;border-radius:50%;position:absolute;inset:0}.ring-track[data-v-465f34f9]{-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px));mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px));background:#1a1a2e14}.ring-color[data-v-465f34f9]{background:conic-gradient(from -90deg, #14b8a6 0deg, #0ea5a0 calc(var(--ring-deg) * .55), #5eead4 var(--ring-deg), transparent var(--ring-deg));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px));mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-thickness)), #000 calc(100% - var(--ring-thickness) + .5px))}.pomodoro-ring-wrap.break .ring-color[data-v-465f34f9],.pomodoro-ring-wrap.stopwatch .ring-color[data-v-465f34f9]{background:conic-gradient(from -90deg, #60a5fa 0deg, #3b82f6 calc(var(--ring-deg) * .55), #93c5fd var(--ring-deg), transparent var(--ring-deg))}.ring-inner[data-v-465f34f9]{inset:calc(var(--ring-thickness) + 4px);isolation:isolate;background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid color-mix(in srgb, var(--phase-color) 18%, var(--border));box-shadow:inset 0 0 30px color-mix(in srgb, var(--phase-color) 8%, transparent), 0 14px 26px color-mix(in srgb, var(--phase-color) 16%, transparent);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:50%;outline:none;position:absolute;overflow:hidden}.ring-inner[data-v-465f34f9]:focus-visible{box-shadow:inset 0 0 30px color-mix(in srgb, var(--phase-color) 8%, transparent), 0 0 0 3px color-mix(in srgb, var(--phase-color) 35%, transparent), 0 14px 26px color-mix(in srgb, var(--phase-color) 16%, transparent)}.ring-inner[data-v-465f34f9]:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--phase-color) 18%, transparent), transparent 70%);pointer-events:none;border-radius:50%;position:absolute;inset:14%}.timer-visual[data-v-465f34f9]{z-index:0;opacity:.3;transform-origin:50%;filter:drop-shadow(0 10px 22px color-mix(in srgb, var(--phase-color) 18%, transparent));pointer-events:none;will-change:transform, opacity, filter;place-items:center;font-size:clamp(88px,30vw,112px);line-height:1;display:grid;position:absolute;inset:0}.pomodoro-ring-wrap.focus .timer-visual[data-v-465f34f9],.pomodoro-ring-wrap.idle .timer-visual[data-v-465f34f9],.pomodoro-ring-wrap.stopwatch .timer-visual[data-v-465f34f9]{animation:3s ease-in-out infinite tomato-bob-465f34f9}.pomodoro-ring-wrap.break .timer-visual[data-v-465f34f9]{animation:4.8s ease-in-out infinite leaf-breathe-465f34f9}.pomodoro-center[data-v-465f34f9]{z-index:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.phase-label[data-v-465f34f9]{color:var(--phase-color);letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:800}.clock[data-v-465f34f9]{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #ffffff6b;margin:0;font-size:2.3rem;font-weight:800;line-height:1}.done-count[data-v-465f34f9]{color:var(--muted);margin:4px 0 0;font-size:.76rem;font-weight:600}.status-hint[data-v-465f34f9]{color:var(--muted);letter-spacing:.02em;text-align:center;max-width:280px;margin:0;font-size:.78rem;font-weight:600;line-height:1.35}.feedback-card[data-v-465f34f9]{border-radius:var(--r-lg);text-align:center;flex-direction:column;gap:6px;width:min(100%,340px);padding:12px 14px;display:flex}.feedback-card.praise[data-v-465f34f9]{background:var(--accent-soft);color:var(--accent-deep)}.feedback-card.encourage[data-v-465f34f9]{color:#c2410c;background:#fff7ed}.feedback-card strong[data-v-465f34f9]{font-size:1rem}.feedback-card p[data-v-465f34f9]{margin:0;font-size:.84rem;font-weight:600;line-height:1.45}.pomodoro-actions[data-v-465f34f9]{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:320px;display:flex}.pomodoro-actions .primary-button[data-v-465f34f9]{flex:100%}.action-rail[data-v-465f34f9]{border-radius:var(--r-full);background:var(--card);width:100%;min-height:44px;box-shadow:var(--sh-sm);align-items:stretch;display:flex;overflow:hidden}.action-rail .rail-btn[data-v-465f34f9]{letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;min-width:0;min-height:44px;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:none;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.action-rail .rail-btn+.rail-btn[data-v-465f34f9]{box-shadow:inset 1px 0 0 var(--border-2)}.action-rail .rail-btn.accent[data-v-465f34f9]{color:var(--accent-deep)}.action-rail .rail-btn.muted[data-v-465f34f9]{color:var(--text-2)}.action-rail .rail-btn[data-v-465f34f9]:active{background:#1a1a2e0a}.action-rail .rail-btn.accent[data-v-465f34f9]:active{background:var(--accent-soft)}.action-rail .rail-btn[data-v-465f34f9]:only-child{border-radius:var(--r-full)}.keep-awake-row[data-v-465f34f9]{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--card);width:100%;max-width:320px;min-height:48px;box-shadow:var(--sh-sm);text-align:left;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.keep-awake-row[data-v-465f34f9]:active{transform:scale(.99)}.keep-awake-copy[data-v-465f34f9]{flex-direction:column;gap:2px;min-width:0;display:flex}.keep-awake-copy strong[data-v-465f34f9]{color:var(--text);font-size:.9rem;font-weight:750}.keep-awake-copy small[data-v-465f34f9]{color:var(--muted);font-size:.72rem;font-weight:600}.keep-awake-row .toggle-switch[data-v-465f34f9]{border-radius:var(--r-full);width:44px;height:26px;transition:background var(--fast) var(--ease);background:#1a1a2e1f;flex:none;position:relative}.keep-awake-row .toggle-switch[data-v-465f34f9]:after{content:"";width:20px;height:20px;transition:transform var(--fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1a1a2e2e}.keep-awake-row .toggle-switch.on[data-v-465f34f9]{background:var(--accent)}.keep-awake-row .toggle-switch.on[data-v-465f34f9]:after{transform:translate(18px)}.action-stack[data-v-465f34f9]{background:var(--card);width:100%;box-shadow:var(--sh-md);border:1px solid var(--border);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.subject-picker[data-v-465f34f9]{border:none;border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--blue-soft) 70%, #fff) 0%, #fff 100%);text-align:left;-webkit-tap-highlight-color:transparent;width:100%;min-height:52px;transition:background .2s var(--ease);align-items:center;gap:10px;padding:10px 12px 10px 10px;display:flex}.subject-picker[data-v-465f34f9]:active:not(:disabled){background:var(--blue-soft)}.subject-picker[data-v-465f34f9]:disabled{opacity:1}.subject-picker.locked[data-v-465f34f9]{background:color-mix(in srgb, var(--blue-soft) 55%, #fff)}.subject-picker-badge[data-v-465f34f9]{width:36px;height:36px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 12%, transparent);background:#fff;border-radius:12px;flex:none;place-items:center;font-size:1.2rem;line-height:1;display:grid}.subject-picker.locked .subject-picker-badge[data-v-465f34f9]{background:color-mix(in srgb, var(--blue) 10%, #fff)}.subject-picker-copy[data-v-465f34f9]{flex:auto;min-width:0}.subject-picker-name[data-v-465f34f9]{color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:800;display:block;overflow:hidden}.subject-picker-action[data-v-465f34f9]{border-radius:var(--r-full);background:color-mix(in srgb, var(--blue) 10%, #fff);min-height:28px;color:var(--blue);flex:none;align-items:center;gap:2px;padding:0 10px 0 12px;font-size:.78rem;font-weight:750;line-height:1;display:inline-flex}.subject-picker-chevron[data-v-465f34f9]{font-size:1.05rem;font-weight:700;line-height:1;transform:translateY(-.5px)}.subject-picker-live[data-v-465f34f9]{border-radius:var(--r-full);background:color-mix(in srgb, var(--blue) 14%, #fff);color:#2563eb;flex:none;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:750;display:inline-flex}.subject-picker-dot[data-v-465f34f9]{background:#3b82f6;border-radius:50%;width:7px;height:7px;animation:1.6s ease-out infinite subject-live-pulse-465f34f9;box-shadow:0 0 #3b82f673}.action-stack .stack-primary[data-v-465f34f9]{width:100%;min-height:50px;box-shadow:none;border:none;border-radius:0;justify-content:center;align-items:center;gap:8px;margin:0;font-size:1.02rem;display:inline-flex}.action-stack .stack-primary[data-v-465f34f9]:active{filter:brightness(.96);transform:none}.pomodoro-actions>.primary-button[data-v-465f34f9]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button.tone-start[data-v-465f34f9]{background:var(--accent);box-shadow:var(--sh-accent)}.primary-button.tone-pause[data-v-465f34f9]{background:#f59e0b;box-shadow:0 8px 20px #f59e0b47}.primary-button.tone-resume[data-v-465f34f9]{background:#22c55e;box-shadow:0 8px 20px #22c55e47}.action-stack .stack-primary.tone-pause[data-v-465f34f9],.action-stack .stack-primary.tone-resume[data-v-465f34f9],.action-stack .stack-primary.tone-start[data-v-465f34f9]{box-shadow:none}.action-icon[data-v-465f34f9]{flex:none;width:14px;height:14px;position:relative}.action-icon.play[data-v-465f34f9]:before{content:"";border:6px solid #0000;border-left:10px solid;border-right-width:0;position:absolute;top:1px;left:3px}.action-icon.pause[data-v-465f34f9]:before,.action-icon.pause[data-v-465f34f9]:after{content:"";background:currentColor;border-radius:1px;width:4px;height:12px;position:absolute;top:1px}.action-icon.pause[data-v-465f34f9]:before{left:2px}.action-icon.pause[data-v-465f34f9]:after{right:2px}@keyframes subject-live-pulse-465f34f9{0%{box-shadow:0 0 #3b82f673}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}.fruit-sheet-root[data-v-465f34f9]{z-index:85;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#1a1a2e61;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.fruit-sheet[data-v-465f34f9]{background:var(--card);width:min(100%,420px);max-height:min(72vh,560px);box-shadow:0 -8px 40px #1a1a2e24, var(--sh-lg);border-radius:24px 24px 20px 20px;flex-direction:column;gap:10px;padding:10px 14px 16px;display:flex;overflow:hidden;transform:translateZ(0)}.fruit-sheet-handle[data-v-465f34f9]{border-radius:var(--r-full);background:#1a1a2e1f;align-self:center;width:42px;height:4px}.fruit-sheet-head[data-v-465f34f9]{justify-content:space-between;align-items:center;gap:12px;display:flex}.fruit-sheet-eyebrow[data-v-465f34f9]{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:800}.fruit-sheet-head h3[data-v-465f34f9]{margin:2px 0 0;font-size:1.1rem;font-weight:800}.fruit-sheet-hint[data-v-465f34f9]{color:var(--muted);margin:0;font-size:.78rem}.fruit-grid[data-v-465f34f9]{-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;padding-bottom:4px;display:grid;overflow:auto}.fruit-option[data-v-465f34f9]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-align:center;-webkit-tap-highlight-color:transparent;min-height:88px;transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex}.fruit-option[data-v-465f34f9]:active{background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg));transform:scale(.98)}.fruit-option.active[data-v-465f34f9]{border-color:var(--accent);background:var(--accent-soft)}.fruit-pair[data-v-465f34f9]{align-items:center;gap:4px;font-size:1.55rem;line-height:1;display:flex}.fruit-arrow[data-v-465f34f9]{color:var(--muted);font-size:.72rem;font-weight:700}.fruit-option strong[data-v-465f34f9]{font-size:.78rem;font-weight:750}.fruit-sheet-enter-active[data-v-465f34f9]{transition:opacity .34s}.fruit-sheet-leave-active[data-v-465f34f9]{transition:opacity .26s}.fruit-sheet-enter-active .fruit-sheet[data-v-465f34f9]{transition:transform .42s cubic-bezier(.22,1.15,.36,1),opacity .34s}.fruit-sheet-leave-active .fruit-sheet[data-v-465f34f9]{transition:transform .28s cubic-bezier(.4,0,.7,.2),opacity .24s}.fruit-sheet-enter-from[data-v-465f34f9],.fruit-sheet-leave-to[data-v-465f34f9]{opacity:0}.fruit-sheet-enter-from .fruit-sheet[data-v-465f34f9],.fruit-sheet-leave-to .fruit-sheet[data-v-465f34f9]{opacity:.88;transform:translateY(calc(100% + 20px))}.fruit-sheet-enter-to .fruit-sheet[data-v-465f34f9],.fruit-sheet-leave-from .fruit-sheet[data-v-465f34f9]{opacity:1;transform:translate(0,0)}@keyframes tomato-bob-465f34f9{0%,to{opacity:.28;transform:scale(.92)translateY(3px)rotate(-2deg)}50%{opacity:.92;transform:scale(1.1)translateY(-8px)rotate(2deg)}}@keyframes leaf-breathe-465f34f9{0%,to{opacity:.28;transform:scale(.92)translateY(3px)rotate(-2deg)}50%{opacity:.92;transform:scale(1.12)translateY(-8px)rotate(4deg)}}@keyframes focus-pulse-465f34f9{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes rest-breathe-465f34f9{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.timer-visual[data-v-465f34f9],.pomodoro-ring-wrap.running.focus[data-v-465f34f9],.pomodoro-ring-wrap.running.idle[data-v-465f34f9],.pomodoro-ring-wrap.running.stopwatch[data-v-465f34f9],.pomodoro-ring-wrap.running.break[data-v-465f34f9],.subject-picker-dot[data-v-465f34f9]{animation:none}.fruit-sheet-enter-active[data-v-465f34f9],.fruit-sheet-leave-active[data-v-465f34f9],.fruit-sheet-enter-active .fruit-sheet[data-v-465f34f9],.fruit-sheet-leave-active .fruit-sheet[data-v-465f34f9]{transition-duration:.01ms!important}.fruit-sheet-enter-from .fruit-sheet[data-v-465f34f9],.fruit-sheet-leave-to .fruit-sheet[data-v-465f34f9]{transform:none}}.study-range[data-v-13e9c6c5]{align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.range-time[data-v-13e9c6c5]{min-width:3.2em;color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem;font-weight:800;line-height:1.1}.range-time.start[data-v-13e9c6c5]{text-align:left}.range-time.end[data-v-13e9c6c5]{text-align:right}.range-track[data-v-13e9c6c5]{border-radius:var(--r-full);touch-action:none;cursor:pointer;background:#1a1a2e14;flex:auto;min-width:0;height:10px;position:relative}.range-fill[data-v-13e9c6c5]{border-radius:var(--r-full);background:var(--accent);pointer-events:none;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0ea5a01f}.range-thumb[data-v-13e9c6c5]{border:2px solid var(--accent);width:24px;height:24px;box-shadow:var(--sh-md);touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:50%;margin:0;padding:0;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.range-thumb.active[data-v-13e9c6c5]{cursor:grabbing;box-shadow:var(--sh-accent);transform:translate(-50%,-50%)scale(1.08)}.range-track.dragging[data-v-13e9c6c5]{cursor:grabbing}.book-sheet-root[data-v-7cfcc768]{z-index:90;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#1a1a2e61;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.book-sheet[data-v-7cfcc768]{background:var(--card);width:min(100%,420px);max-height:min(78vh,620px);box-shadow:0 -8px 40px #1a1a2e24, var(--sh-lg);border-radius:24px 24px 20px 20px;flex-direction:column;gap:12px;padding:10px 14px 16px;display:flex;overflow:hidden;transform:translateZ(0)}.book-sheet-handle[data-v-7cfcc768]{border-radius:var(--r-full);background:#1a1a2e1f;align-self:center;width:42px;height:4px}.book-sheet-head[data-v-7cfcc768]{justify-content:space-between;align-items:center;gap:12px;display:flex}.book-sheet-eyebrow[data-v-7cfcc768]{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:800}.book-sheet-head h3[data-v-7cfcc768]{margin:2px 0 0;font-size:1.1rem;font-weight:800}.book-search input[data-v-7cfcc768]{width:100%}.book-sheet-list[data-v-7cfcc768]{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:auto}.book-sheet-item[data-v-7cfcc768]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-align:left;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;min-height:58px;padding:12px 14px;display:flex}.book-sheet-item[data-v-7cfcc768]:active{transform:scale(.99)}.book-sheet-item.active[data-v-7cfcc768]{border-color:var(--accent);background:var(--accent-soft)}.book-sheet-text[data-v-7cfcc768]{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.book-sheet-text strong[data-v-7cfcc768]{font-size:.95rem;font-weight:800}.book-sheet-text small[data-v-7cfcc768]{color:var(--muted);font-size:.76rem;font-weight:500}.book-sheet-check[data-v-7cfcc768]{width:1.2em;color:var(--accent);text-align:center;flex:none;font-size:1.05rem;font-weight:800}.book-sheet-empty[data-v-7cfcc768]{color:var(--muted);text-align:center;margin:18px 0;font-size:.86rem}.sr-only[data-v-7cfcc768]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-sheet-enter-active[data-v-7cfcc768]{transition:opacity .34s}.book-sheet-leave-active[data-v-7cfcc768]{transition:opacity .26s}.book-sheet-enter-active .book-sheet[data-v-7cfcc768]{transition:transform .42s cubic-bezier(.22,1.15,.36,1),opacity .34s}.book-sheet-leave-active .book-sheet[data-v-7cfcc768]{transition:transform .28s cubic-bezier(.4,0,.7,.2),opacity .24s}.book-sheet-enter-from[data-v-7cfcc768],.book-sheet-leave-to[data-v-7cfcc768]{opacity:0}.book-sheet-enter-from .book-sheet[data-v-7cfcc768],.book-sheet-leave-to .book-sheet[data-v-7cfcc768]{opacity:.88;transform:translateY(calc(100% + 20px))}@media (prefers-reduced-motion:reduce){.book-sheet-enter-active[data-v-7cfcc768],.book-sheet-leave-active[data-v-7cfcc768],.book-sheet-enter-active .book-sheet[data-v-7cfcc768],.book-sheet-leave-active .book-sheet[data-v-7cfcc768]{transition-duration:.01ms!important}.book-sheet-enter-from .book-sheet[data-v-7cfcc768],.book-sheet-leave-to .book-sheet[data-v-7cfcc768]{transform:none}}.manage-panel[data-v-bc96195b]{position:relative}.auth-card[data-v-bc96195b],.manage-block[data-v-bc96195b]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);flex-direction:column;gap:10px;padding:16px;display:flex}.manage-content[data-v-bc96195b]{flex-direction:column;flex:auto;gap:12px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.auth-card h2[data-v-bc96195b],.manage-block h2[data-v-bc96195b]{margin:0;font-size:1rem;font-weight:800}.auth-card p[data-v-bc96195b],.hint[data-v-bc96195b]{color:var(--text-2);font-size:.88rem}.warn-text[data-v-bc96195b]{color:var(--danger);margin:0;font-size:.88rem;font-weight:600;line-height:1.45}.pin-field[data-v-bc96195b]{flex-direction:column;gap:8px;display:flex}.pin-label[data-v-bc96195b]{color:var(--text-2);font-size:.8rem;font-weight:700}.link-button[data-v-bc96195b]{color:var(--accent);text-align:left;background:0 0;border:none;padding:4px 0;font-size:.86rem;font-weight:700}.primary-button.danger[data-v-bc96195b]{background:var(--danger);border-color:var(--danger);color:#fff}input[data-v-bc96195b],select[data-v-bc96195b]{width:100%}.key-row[data-v-bc96195b]{transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#1a1a2e0d;border:1px solid #0000;border-radius:16px;align-items:center;gap:8px;margin-top:8px;padding:6px 6px 6px 14px;display:flex}.key-row[data-v-bc96195b]:focus-within{border-color:color-mix(in srgb, var(--accent) 40%, var(--border-2));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);background:#fff}.key-row input[data-v-bc96195b]{min-width:0;min-height:40px;box-shadow:none;background:0 0;border:none;border-radius:0;flex:auto;padding:8px 0;font-size:.92rem;font-weight:600}.key-row input[data-v-bc96195b]:hover,.key-row input[data-v-bc96195b]:focus{box-shadow:none;background:0 0;border:none}.key-row .compact-button[data-v-bc96195b]{border-radius:var(--r-full);flex:none;min-height:36px;padding:0 14px}.curriculum-grid[data-v-bc96195b]{gap:8px;display:grid}.curriculum-card[data-v-bc96195b]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-align:left;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.curriculum-card.active[data-v-bc96195b]{border-color:var(--accent);background:var(--accent-soft)}.curriculum-card span[data-v-bc96195b]{color:var(--muted);font-size:.8rem}.more-books-btn[data-v-bc96195b]{border:1px dashed color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--accent-soft) 70%, #fff);width:100%;min-height:44px;color:var(--accent-deep);margin-top:4px;font-size:.88rem;font-weight:750}.more-books-btn[data-v-bc96195b]:active{transform:scale(.99)}.setting-block[data-v-bc96195b]{flex-direction:column;gap:10px;padding:12px 0 4px;display:flex}.slider-head[data-v-bc96195b]{justify-content:space-between;align-items:center;gap:12px;font-size:.92rem;font-weight:700;display:flex}.slider-head strong[data-v-bc96195b]{color:var(--accent-deep);font-variant-numeric:tabular-nums}.count-slider[data-v-bc96195b]{width:100%;height:28px;min-height:0;box-shadow:none;appearance:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.count-slider[data-v-bc96195b]:hover,.count-slider[data-v-bc96195b]:focus{box-shadow:none;background:0 0;border:none}.count-slider[data-v-bc96195b]:focus-visible{outline:none}.count-slider[data-v-bc96195b]::-webkit-slider-runnable-track{border-radius:var(--r-full);background:#1a1a2e1a;height:6px}.count-slider[data-v-bc96195b]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid #fff;border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 4px 12px #0ea5a059}.count-slider[data-v-bc96195b]::-moz-range-track{border-radius:var(--r-full);background:#1a1a2e1a;height:6px}.count-slider[data-v-bc96195b]::-moz-range-thumb{background:var(--accent);border:3px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 4px 12px #0ea5a059}.slider-ticks[data-v-bc96195b]{color:var(--muted);justify-content:space-between;padding:0 2px;font-size:.72rem;font-weight:650;display:flex}.setting-row[data-v-bc96195b]{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.setting-row small[data-v-bc96195b]{color:var(--muted);margin-top:2px;font-size:.76rem;font-weight:500;display:block}.schedule-card[data-v-bc96195b]{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);flex-direction:column;gap:10px;padding:12px;display:flex}.option-row[data-v-bc96195b]{align-items:flex-start;gap:10px;display:flex}.option-label[data-v-bc96195b]{min-width:2.4em;color:var(--muted);flex:none;padding-top:8px;font-size:.74rem;font-weight:700}.chip-group[data-v-bc96195b]{border-radius:var(--r-full);background:var(--card);flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:3px;display:flex}.schedule-card .chip-group[data-v-bc96195b],.manage-block .chip-group[data-v-bc96195b]{background:var(--bg)}.schedule-card .chip-group[data-v-bc96195b]{background:var(--card)}.play-chip[data-v-bc96195b]{border-radius:var(--r-full);min-height:30px;color:var(--text-2);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;padding:5px 11px;font-size:.76rem;font-weight:700;line-height:1}.play-chip.on[data-v-bc96195b]{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.schedule-summary[data-v-bc96195b]{border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-deep);text-align:center;font-variant-numeric:tabular-nums;padding:8px 10px;font-size:.82rem;font-weight:750}.schedule-hint[data-v-bc96195b]{color:var(--muted);margin:0;font-size:.74rem;line-height:1.4}.field-label[data-v-bc96195b]{color:var(--text-2);flex-direction:column;gap:6px;font-size:.84rem;font-weight:700;display:flex}.option-list[data-v-bc96195b]{flex-direction:column;gap:8px;display:flex}.option-card[data-v-bc96195b]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-align:left;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 14px;display:flex}.option-card[data-v-bc96195b]:active{transform:scale(.99)}.option-card.active[data-v-bc96195b]{border-color:var(--accent);background:var(--accent-soft)}.option-text[data-v-bc96195b]{flex-direction:column;gap:2px;min-width:0;display:flex}.option-text strong[data-v-bc96195b]{color:var(--text);font-size:.95rem}.option-text small[data-v-bc96195b]{color:var(--muted);font-size:.76rem;font-weight:500}.option-check[data-v-bc96195b]{width:1.2em;color:var(--accent);text-align:center;flex:none;font-size:1.05rem;font-weight:800}.toggle-row[data-v-bc96195b]{text-align:left;background:0 0;border:none}.toggle-switch[data-v-bc96195b]{border-radius:var(--r-full);background:#1a1a2e1f;flex:none;width:44px;height:26px;position:relative}.toggle-switch[data-v-bc96195b]:after{content:"";width:20px;height:20px;transition:transform var(--fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch.on[data-v-bc96195b]{background:var(--accent)}.toggle-switch.on[data-v-bc96195b]:after{transform:translate(18px)}.error-text[data-v-bc96195b]{color:var(--danger);font-size:.84rem}.success-text[data-v-bc96195b]{color:var(--teal-deep);font-size:.84rem}.action-row[data-v-bc96195b]{gap:8px;display:flex}.version-row[data-v-bc96195b]{cursor:default;width:100%}.version-row.tapable[data-v-bc96195b]{cursor:pointer}.version-row.tapable[data-v-bc96195b]:active{transform:scale(.99)}.version-row[data-v-bc96195b]:disabled{opacity:1}.version-meta[data-v-bc96195b]{flex:none;align-items:center;gap:6px;display:flex}.version-ok[data-v-bc96195b]{color:var(--muted);font-size:.82rem;font-weight:600}.version-badge[data-v-bc96195b]{border-radius:var(--r-full);background:var(--accent);color:#fff;padding:3px 8px;font-size:.72rem;font-weight:700}.version-arrow[data-v-bc96195b]{color:var(--accent);font-size:1.25rem;font-weight:700;line-height:1}.tab-bar[data-v-117f45f0]{padding:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom));border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);flex:none;grid-template-columns:repeat(5,1fr);gap:2px;display:grid}.tab-bar-button[data-v-117f45f0]{border-radius:var(--r-md);min-height:52px;color:var(--muted);transition:all var(--fast) var(--ease);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.tab-bar-button.active[data-v-117f45f0]{background:var(--accent-soft);color:var(--accent-deep)}.tab-bar-button.pomodoro-live[data-v-117f45f0]{color:var(--accent-deep)}.tab-bar-button.pomodoro-live[data-v-117f45f0]:not(.active){background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}.tab-icon[data-v-117f45f0]{width:22px;height:22px;display:inline-flex;position:relative}.tab-icon svg[data-v-117f45f0]{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.live-clock[data-v-117f45f0]{overflow:visible}.live-clock .clock-hour[data-v-117f45f0],.live-clock .clock-minute[data-v-117f45f0]{transform-box:view-box;transform-origin:12px 12px}.live-clock .clock-hour[data-v-117f45f0]{stroke-width:2.2px;animation:48s linear infinite clock-hour-spin-117f45f0}.live-clock .clock-minute[data-v-117f45f0]{stroke-width:1.8px;animation:4s linear infinite clock-minute-spin-117f45f0}.live-clock.paused .clock-hour[data-v-117f45f0],.live-clock.paused .clock-minute[data-v-117f45f0]{animation-play-state:paused}.live-clock .clock-pivot[data-v-117f45f0]{stroke:none}.pause-badge[data-v-117f45f0]{background:var(--accent-deep);color:#fff;width:11px;height:11px;box-shadow:0 0 0 1.5px var(--card);border-radius:3px;justify-content:center;align-items:center;gap:1.5px;display:inline-flex;position:absolute;bottom:-3px;right:-5px}.pause-badge .pause-bar[data-v-117f45f0]{background:currentColor;border-radius:.5px;width:1.5px;height:6px;display:block}.tab-bar-button.pomodoro-paused .pause-badge[data-v-117f45f0]{background:color-mix(in srgb, var(--accent-deep) 88%, #b45309)}.tab-label[data-v-117f45f0]{font-size:.72rem;font-weight:700}.tab-bar-button.pomodoro-live .tab-label[data-v-117f45f0]{font-weight:800}@keyframes clock-minute-spin-117f45f0{to{transform:rotate(360deg)}}@keyframes clock-hour-spin-117f45f0{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.live-clock .clock-hour[data-v-117f45f0],.live-clock .clock-minute[data-v-117f45f0]{animation:none}}.speak-box[data-v-7448d5ab]{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.speak-button[data-v-7448d5ab]{border:1px solid var(--border-2);border-radius:var(--r-full);background:var(--card);width:40px;height:40px;color:var(--accent-deep);cursor:pointer;transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.speak-button[data-v-7448d5ab]:active{transform:scale(.94)}.speak-button.active[data-v-7448d5ab]{border-color:var(--danger);background:var(--danger);color:#fff}.speak-button.loading[data-v-7448d5ab]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.speak-button[data-v-7448d5ab]:disabled{opacity:.45;cursor:default}.speak-icon[data-v-7448d5ab]{width:18px;height:18px}.speak-icon.spin[data-v-7448d5ab]{animation:.8s linear infinite speak-spin-7448d5ab}@keyframes speak-spin-7448d5ab{to{transform:rotate(360deg)}}.speak-error[data-v-7448d5ab]{max-width:140px;color:var(--danger);text-align:right;font-size:.72rem;line-height:1.3}.ai-waiting[data-v-8957a3bf]{border-radius:var(--r-md);background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:22px 14px;display:flex}.ai-waiting.is-soft[data-v-8957a3bf]{background:var(--accent-soft)}.spinner[data-v-8957a3bf]{width:36px;height:36px;position:relative}.ring[data-v-8957a3bf]{border:3px solid #0ea5a02e;border-top-color:var(--accent);border-radius:50%;width:100%;height:100%;animation:.85s linear infinite ai-spin-8957a3bf;display:block}.copy[data-v-8957a3bf]{flex-direction:column;gap:6px;display:flex}.message[data-v-8957a3bf]{color:var(--accent-deep);justify-content:center;align-items:center;gap:2px;margin:0;font-size:.92rem;font-weight:750;display:inline-flex}.hint[data-v-8957a3bf]{color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.dots[data-v-8957a3bf]{align-items:center;gap:3px;min-width:18px;margin-left:4px;display:inline-flex}.dots i[data-v-8957a3bf]{background:var(--accent);opacity:.25;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite ai-dot-8957a3bf}.dots i[data-v-8957a3bf]:nth-child(2){animation-delay:.2s}.dots i[data-v-8957a3bf]:nth-child(3){animation-delay:.4s}@keyframes ai-spin-8957a3bf{to{transform:rotate(360deg)}}@keyframes ai-dot-8957a3bf{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ai-practice-card[data-v-1a13585c]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);flex-direction:column;gap:14px;padding:5px;display:flex}.card-head[data-v-1a13585c]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.meta[data-v-1a13585c]{color:var(--accent);font-size:.72rem;font-weight:700}h2[data-v-1a13585c]{margin:4px 0 0;font-size:1.15rem}.title-zh[data-v-1a13585c]{color:var(--muted);margin:4px 0 0;font-size:.86rem}.master-chip[data-v-1a13585c]{border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg);color:var(--muted);flex:none;padding:6px 10px;font-size:.74rem;font-weight:700}.master-chip.on[data-v-1a13585c]{background:var(--accent);border-color:var(--accent);color:#fff}.start-panel[data-v-1a13585c],.status-panel[data-v-1a13585c]{border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:10px;padding:16px 12px;display:flex}.idle-hint[data-v-1a13585c]{color:var(--muted);text-align:center;margin:0;font-size:.84rem;font-weight:650;line-height:1.4}.status-panel.success[data-v-1a13585c]{background:var(--accent-soft);color:var(--accent-deep)}.status-panel.error[data-v-1a13585c]{color:var(--danger)}.progress-row[data-v-1a13585c]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge[data-v-1a13585c]{border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);padding:4px 8px;font-size:.74rem;font-weight:700}.type-chip[data-v-1a13585c]{border-radius:var(--r-full);background:var(--bg);color:var(--text-2);padding:4px 8px;font-size:.72rem;font-weight:700}.cache-chip[data-v-1a13585c]{border-radius:var(--r-full);color:#15803d;background:#22c55e1f;padding:4px 8px;font-size:.72rem;font-weight:700}.regen-link[data-v-1a13585c]{border-radius:var(--r-full);color:var(--accent);background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:.74rem;font-weight:700}.regen-link[data-v-1a13585c]:disabled{opacity:.45}.muted[data-v-1a13585c]{color:var(--muted);font-size:.74rem}.prompt-row[data-v-1a13585c]{cursor:pointer;border-radius:var(--r-md);background:var(--bg);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.prompt-row[data-v-1a13585c]:active{background:var(--accent-soft)}.prompt-main[data-v-1a13585c]{flex:auto;min-width:0}.question-prompt[data-v-1a13585c]{margin:0;font-size:1rem;font-weight:700;line-height:1.45}.question-zh[data-v-1a13585c]{color:var(--muted);margin:6px 0 0;font-size:.84rem}.option-list[data-v-1a13585c]{flex-direction:column;gap:8px;margin-top:12px;display:flex}.option-button[data-v-1a13585c]{text-align:left;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);padding:12px 14px;font-size:.92rem;font-weight:600}.option-button.selected[data-v-1a13585c]{border-color:var(--accent);background:var(--accent-soft)}.option-button.correct[data-v-1a13585c]{color:#15803d;background:#22c55e1f;border-color:#16a34a}.option-button.wrong[data-v-1a13585c]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.result-banner[data-v-1a13585c]{border-radius:var(--r-md);background:var(--bg);padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.4}.result-banner.ok[data-v-1a13585c]{color:#15803d;background:#22c55e1f}.result-banner.bad[data-v-1a13585c]{background:var(--danger-soft);color:var(--danger)}.primary-button[data-v-1a13585c],.ghost-button[data-v-1a13585c]{width:100%}.ghost-button[data-v-1a13585c]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--text-2);padding:10px 12px;font-weight:700}.records-panel[data-v-1f5880e1]{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.summary-grid[data-v-1f5880e1]{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.summary-card[data-v-1f5880e1]{border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-sm);flex-direction:column;gap:4px;padding:12px;display:flex}.summary-card span[data-v-1f5880e1]{color:var(--muted);font-size:.72rem;font-weight:600}.summary-card strong[data-v-1f5880e1]{font-size:1.1rem;font-weight:800}.record-list[data-v-1f5880e1]{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:auto}.record-item[data-v-1f5880e1]{border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-sm);padding:14px}.record-item strong[data-v-1f5880e1]{margin-bottom:4px;display:block}.record-item p[data-v-1f5880e1]{color:var(--text-2);font-size:.86rem}.records-hint[data-v-1f5880e1]{color:var(--muted);text-align:center;margin:10px 0 0;font-size:.74rem}.wrong-review-card[data-v-03896467]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);flex-direction:column;gap:14px;padding:5px;display:flex}.card-head[data-v-03896467]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.meta[data-v-03896467]{color:var(--accent);font-size:.72rem;font-weight:700}h2[data-v-03896467]{margin:4px 0 0;font-size:1.15rem}.title-zh[data-v-03896467]{color:var(--muted);margin:4px 0 0;font-size:.86rem}.ghost-chip[data-v-03896467]{border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg);color:var(--muted);flex:none;padding:6px 10px;font-size:.74rem;font-weight:700}.progress-row[data-v-03896467]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge[data-v-03896467]{border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);padding:4px 8px;font-size:.74rem;font-weight:700}.type-chip[data-v-03896467]{border-radius:var(--r-full);background:var(--bg);color:var(--text-2);padding:4px 8px;font-size:.72rem;font-weight:700}.peek-chip[data-v-03896467]{border-radius:var(--r-full);background:var(--danger-soft);color:var(--danger);padding:4px 8px;font-size:.72rem;font-weight:700}.muted[data-v-03896467]{color:var(--muted);font-size:.74rem}.listen-block[data-v-03896467]{border-radius:var(--r-md);background:var(--bg);padding:12px}.listen-head[data-v-03896467]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.listen-hint[data-v-03896467]{color:var(--muted);margin:6px 0 0;font-size:.78rem;line-height:1.4}.listen-actions[data-v-03896467]{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.secondary-button[data-v-03896467]{border:1px solid var(--border);border-radius:var(--r-full);background:var(--card);color:var(--text-2);padding:8px 12px;font-size:.8rem;font-weight:700}.secondary-button[data-v-03896467]:disabled{opacity:.45}.link-button[data-v-03896467]{color:var(--accent);background:0 0;border:none;padding:0;font-size:.78rem;font-weight:700}.full-passage[data-v-03896467]{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.full-passage .en[data-v-03896467]{margin:0;font-size:.95rem;font-weight:650;line-height:1.45}.full-passage .zh[data-v-03896467]{color:var(--muted);margin:6px 0 0;font-size:.84rem}.prompt-row[data-v-03896467]{cursor:pointer;border-radius:var(--r-md);background:var(--bg);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.prompt-main[data-v-03896467]{flex:auto;min-width:0}.question-prompt[data-v-03896467]{margin:0;font-size:1rem;font-weight:700;line-height:1.45}.question-zh[data-v-03896467]{color:var(--muted);margin:6px 0 0;font-size:.84rem}.option-list[data-v-03896467]{flex-direction:column;gap:8px;margin-top:12px;display:flex}.option-button[data-v-03896467]{text-align:left;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);padding:12px 14px;font-size:.92rem;font-weight:600}.option-button.selected[data-v-03896467]{border-color:var(--accent);background:var(--accent-soft)}.option-button.correct[data-v-03896467]{color:#15803d;background:#22c55e1f;border-color:#16a34a}.option-button.wrong[data-v-03896467]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.result-banner[data-v-03896467]{border-radius:var(--r-md);background:var(--bg);padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.4}.result-banner.ok[data-v-03896467]{color:#15803d;background:#22c55e1f}.result-banner.warn[data-v-03896467]{color:#b45309;background:#f59e0b29}.result-banner.bad[data-v-03896467]{background:var(--danger-soft);color:var(--danger)}.status-panel[data-v-03896467]{border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:10px;padding:16px 12px;display:flex}.status-panel.success[data-v-03896467]{background:var(--accent-soft);color:var(--accent-deep)}.primary-button[data-v-03896467]{width:100%}.mode-switch[data-v-bf535227]{border-radius:var(--r-full);background:var(--card);box-shadow:var(--sh-sm);flex:none;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:4px;display:grid}.mode-chip[data-v-bf535227]{border-radius:var(--r-full);min-height:36px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-size:.8rem;font-weight:700;display:inline-flex;position:relative}.mode-chip.active[data-v-bf535227]{background:var(--accent);color:#fff}.count-dot[data-v-bf535227]{border-radius:var(--r-full);min-width:18px;height:18px;color:inherit;text-align:center;background:#ffffff47;padding:0 5px;font-size:.68rem;line-height:18px}.mode-chip:not(.active) .count-dot[data-v-bf535227]{background:var(--danger-soft);color:var(--danger)}.repractice-hint[data-v-bf535227]{border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-deep);flex:none;margin:0;padding:8px 12px;font-size:.78rem;font-weight:650;line-height:1.4}.queue-switch[data-v-bf535227]{flex:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.queue-chip[data-v-bf535227]{border-radius:var(--r-full);background:var(--card);color:var(--muted);box-shadow:var(--sh-sm);border:none;flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.queue-chip.active[data-v-bf535227]{background:var(--accent);color:#fff}.chip-tag[data-v-bf535227]{border-radius:var(--r-full);background:#ffffff38;padding:2px 6px;font-size:.66rem}.queue-chip:not(.active) .chip-tag[data-v-bf535227]{background:var(--accent-soft);color:var(--accent-deep)}.passage-stack[data-v-bf535227]{flex:auto;min-height:0;padding-bottom:8px;overflow:auto}.wrong-book[data-v-bf535227]{flex-direction:column;flex:auto;gap:12px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.wrong-group-stack[data-v-bf535227]{flex-direction:column;gap:12px;display:flex}.wrong-toolbar[data-v-bf535227]{justify-content:space-between;align-items:center;gap:10px;display:flex}.wrong-summary[data-v-bf535227]{color:var(--muted);margin:0;font-size:.84rem;font-weight:650}.primary-button.compact[data-v-bf535227]{width:auto;padding:8px 14px}.wrong-group[data-v-bf535227]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);padding:12px}.group-head[data-v-bf535227]{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.group-meta[data-v-bf535227]{color:var(--accent);margin:0;font-size:.72rem;font-weight:700}.group-head h3[data-v-bf535227]{margin:4px 0 0;font-size:1rem}.group-zh[data-v-bf535227]{color:var(--muted);margin:4px 0 0;font-size:.82rem}.ghost-chip[data-v-bf535227]{border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg);color:var(--text-2);flex:none;padding:6px 10px;font-size:.74rem;font-weight:700}.wrong-list[data-v-bf535227]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.wrong-item[data-v-bf535227]{border-radius:var(--r-md);background:var(--bg);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.wrong-item-move[data-v-bf535227],.wrong-item-enter-active[data-v-bf535227],.wrong-item-leave-active[data-v-bf535227]{transition:opacity .28s var(--ease), transform .28s var(--ease)}.wrong-item-enter-from[data-v-bf535227]{opacity:0;transform:translateY(-10px)}.wrong-item-leave-active[data-v-bf535227]{z-index:1;position:absolute;left:0;right:0}.wrong-item-leave-to[data-v-bf535227]{opacity:0;transform:translate(36px)scale(.96)}.wrong-group-move[data-v-bf535227],.wrong-group-enter-active[data-v-bf535227],.wrong-group-leave-active[data-v-bf535227]{transition:opacity .28s var(--ease), transform .28s var(--ease)}.wrong-group-enter-from[data-v-bf535227],.wrong-group-leave-to[data-v-bf535227]{opacity:0;transform:translateY(10px)scale(.98)}.wrong-main[data-v-bf535227]{flex:auto;min-width:0}.skill[data-v-bf535227]{color:var(--accent-deep);margin:0 0 4px;font-size:.72rem;font-weight:700}.prompt[data-v-bf535227]{margin:0;font-size:.9rem;font-weight:650;line-height:1.4}.hint[data-v-bf535227]{color:var(--muted);margin:6px 0 0;font-size:.74rem}.wrong-actions[data-v-bf535227]{flex-direction:row;flex:none;align-items:center;gap:8px;display:flex}.icon-action[data-v-bf535227]{border:1px solid var(--border-2,var(--border));border-radius:var(--r-full);background:var(--card);width:40px;height:40px;color:var(--muted);transition:transform var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease), border-color var(--fast) var(--ease);justify-content:center;align-items:center;padding:0;display:inline-flex}.action-icon[data-v-bf535227]{width:20px;height:20px}.icon-action.review[data-v-bf535227]{color:var(--accent-deep)}.icon-action.remove[data-v-bf535227]:hover,.icon-action.remove[data-v-bf535227]:active{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.icon-action.review[data-v-bf535227]:active,.icon-action.remove[data-v-bf535227]:active{transform:scale(.94)}.ghost-button[data-v-bf535227]{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--text-2);margin-top:8px;padding:10px 12px;font-weight:700}.empty-state[data-v-bf535227]{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.sentence-ai[data-v-27a1faa7]{flex-direction:column;gap:8px;display:flex}.ai-actions[data-v-27a1faa7]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ai-chip[data-v-27a1faa7]{border:1px solid var(--border-2);border-radius:var(--r-full);background:var(--card);color:var(--text-2);padding:7px 12px;font-size:.78rem;font-weight:700}.ai-chip.active[data-v-27a1faa7]{border-color:var(--accent);background:var(--accent);color:#fff}.ai-chip[data-v-27a1faa7]:disabled{opacity:.5}.ai-hint[data-v-27a1faa7]{color:var(--muted);font-size:.78rem}.ai-result[data-v-27a1faa7]{border-radius:var(--r-md);background:var(--bg);padding:2px;position:relative}.ai-empty[data-v-27a1faa7]{color:var(--muted);margin:0;padding:12px;font-size:.86rem}.stream-badge[data-v-27a1faa7]{border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);align-items:center;gap:6px;margin:8px 2px 4px;padding:4px 10px;font-size:.72rem;font-weight:750;display:inline-flex}.stream-dot[data-v-27a1faa7]{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite stream-pulse-27a1faa7}.ai-markdown.streaming[data-v-27a1faa7]{opacity:.92}@keyframes stream-pulse-27a1faa7{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.ai-markdown[data-v-27a1faa7]{color:var(--text);word-break:break-word;-webkit-user-select:text;user-select:text;font-size:.88rem;line-height:1.65}.ai-markdown[data-v-27a1faa7] p{margin:0 0 .65em}.ai-markdown[data-v-27a1faa7] p:last-child{margin-bottom:0}.ai-markdown[data-v-27a1faa7] h1,.ai-markdown[data-v-27a1faa7] h2,.ai-markdown[data-v-27a1faa7] h3,.ai-markdown[data-v-27a1faa7] h4{color:var(--text);margin:.85em 0 .4em;font-weight:800;line-height:1.35}.ai-markdown[data-v-27a1faa7] h1{font-size:1.1rem}.ai-markdown[data-v-27a1faa7] h2{font-size:1.02rem}.ai-markdown[data-v-27a1faa7] h3,.ai-markdown[data-v-27a1faa7] h4{font-size:.95rem}.ai-markdown[data-v-27a1faa7] ul,.ai-markdown[data-v-27a1faa7] ol{margin:0 0 .7em;padding-left:1.25em}.ai-markdown[data-v-27a1faa7] li{margin:.25em 0}.ai-markdown[data-v-27a1faa7] li>p{margin:.2em 0}.ai-markdown[data-v-27a1faa7] strong{font-weight:800}.ai-markdown[data-v-27a1faa7] blockquote{border-left:3px solid var(--accent);color:var(--text-2);background:#0ea5a00f;margin:.6em 0;padding:.35em .8em}.ai-markdown[data-v-27a1faa7] code{background:#1a1a2e0f;border-radius:6px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.ai-markdown[data-v-27a1faa7] pre{border-radius:var(--r-sm);background:#1a1a2e0f;margin:.6em 0;padding:2px 3px;overflow-x:auto}.ai-markdown[data-v-27a1faa7] pre code{background:0 0;padding:0}.ai-markdown[data-v-27a1faa7] .speakable-en{background:linear-gradient(transparent 62%, var(--accent-soft) 62%);color:var(--accent-deep);font:inherit;font-weight:700;line-height:inherit;text-align:left;cursor:pointer;-webkit-user-select:text;user-select:text;border:none;border-radius:4px;margin:0;padding:0 2px;display:inline}.ai-markdown[data-v-27a1faa7] .speakable-en.speaking{background:var(--danger-soft);color:var(--danger)}.ai-markdown[data-v-27a1faa7] .rewrite-essay-head{flex-wrap:wrap;align-items:center;gap:8px;margin:.85em 0 .4em;display:flex}.ai-markdown[data-v-27a1faa7] .rewrite-essay-head h1,.ai-markdown[data-v-27a1faa7] .rewrite-essay-head h2,.ai-markdown[data-v-27a1faa7] .rewrite-essay-head h3,.ai-markdown[data-v-27a1faa7] .rewrite-essay-head h4{margin:0}.ai-markdown[data-v-27a1faa7] .rewrite-practice-btn,.rewrite-practice-btn[data-v-27a1faa7]{border:1px solid var(--accent);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);flex:none;padding:6px 12px;font-size:.74rem;font-weight:700}.rewrite-fallback[data-v-27a1faa7]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:0 2px 8px;display:flex}.fallback-hint[data-v-27a1faa7]{color:var(--muted);font-size:.72rem}.ai-error[data-v-27a1faa7]{color:var(--danger);font-size:.86rem}.passage-card[data-v-ca5c63ff]{border-radius:var(--r-xl);background:var(--card);box-shadow:var(--sh-md);flex-direction:column;gap:14px;padding:5px;display:flex}.card-head[data-v-ca5c63ff]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.meta[data-v-ca5c63ff]{color:var(--accent);letter-spacing:.04em;font-size:.72rem;font-weight:700}.card-head h2[data-v-ca5c63ff]{margin-top:4px;font-size:1.2rem;font-weight:800}.title-zh[data-v-ca5c63ff]{color:var(--text-2);margin-top:4px;font-size:.86rem;font-weight:600}.master-chip.on[data-v-ca5c63ff]{background:var(--teal);color:#fff}.sentence-panel[data-v-ca5c63ff]{border-radius:var(--r-lg);background:var(--accent-soft);flex-direction:column;gap:10px;padding:14px;display:flex}.sentence-top[data-v-ca5c63ff]{cursor:pointer;border-radius:var(--r-md);background:#ffffff8c;justify-content:space-between;align-items:flex-start;gap:10px;margin:-4px -6px 0;padding:10px 12px;display:flex}.sentence-top[data-v-ca5c63ff]:active{background:#ffffffe6}.sentence-main[data-v-ca5c63ff]{flex:auto;min-width:0}.sentence-en[data-v-ca5c63ff]{-webkit-user-select:text;user-select:text;margin:0;font-size:1.05rem;font-weight:700;line-height:1.55}.sentence-zh[data-v-ca5c63ff]{color:var(--text-2);margin:6px 0 0;font-size:.9rem;line-height:1.5}.question-zh[data-v-ca5c63ff],.full-zh[data-v-ca5c63ff]{color:var(--text-2);font-size:.9rem;line-height:1.5}.sentence-nav[data-v-ca5c63ff]{justify-content:space-between;align-items:center;gap:8px;display:flex}.full-text[data-v-ca5c63ff]{border-radius:var(--r-md);background:var(--bg);padding:10px 12px}.full-text summary[data-v-ca5c63ff]{cursor:pointer;color:var(--text-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.summary-label[data-v-ca5c63ff]{font-weight:700}.full-text summary .ghost-button[data-v-ca5c63ff]{pointer-events:auto}.full-text summary:hover .summary-label[data-v-ca5c63ff]{color:var(--accent-deep)}.full-en[data-v-ca5c63ff]{-webkit-user-select:text;user-select:text;margin-top:10px;line-height:1.65}.sentence-span[data-v-ca5c63ff]{cursor:pointer}.sentence-span.done[data-v-ca5c63ff]{color:var(--text-2)}.sentence-span.active[data-v-ca5c63ff]{color:var(--danger);background:var(--danger-soft);border-radius:4px}.word-span.spoken[data-v-ca5c63ff]{background:linear-gradient(transparent 60%, var(--danger-soft) 60%);border-radius:2px}.full-zh[data-v-ca5c63ff]{margin-top:8px}.ghost-button.reading-active[data-v-ca5c63ff]{border-color:var(--danger);color:var(--danger)}.full-ai[data-v-ca5c63ff]{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.full-ai-label[data-v-ca5c63ff]{color:var(--accent-deep);letter-spacing:.04em;margin-bottom:8px;font-size:.78rem;font-weight:800}.question-list[data-v-ca5c63ff]{flex-direction:column;gap:14px;display:flex}.question-item[data-v-ca5c63ff]{flex-direction:column;gap:8px;display:flex}.question-prompt[data-v-ca5c63ff]{font-weight:700}.option-list[data-v-ca5c63ff]{flex-direction:column;gap:8px;display:flex}.option-button[data-v-ca5c63ff]{text-align:left;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--bg);padding:12px 14px;font-weight:600}.option-button.selected[data-v-ca5c63ff]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.option-button.correct[data-v-ca5c63ff]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-deep)}.option-button.wrong[data-v-ca5c63ff]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.result-banner[data-v-ca5c63ff]{border-radius:var(--r-md);background:var(--teal-soft);color:var(--teal-deep);text-align:center;padding:10px 12px;font-weight:700}.primary-button[data-v-ca5c63ff]:disabled{opacity:.45;box-shadow:none}.passage-stack[data-v-f6f41983]{flex-direction:column;flex:auto;gap:12px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.stats-overview[data-v-5e41c3c3]{border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-sm);flex:none;align-items:center;gap:2px;padding:6px 8px;display:flex}.stat-item[data-v-5e41c3c3]{flex:1 1 0;justify-content:center;align-items:baseline;gap:4px;min-width:0;padding:2px 4px;display:flex}.stat-item+.stat-item[data-v-5e41c3c3]{border-left:1px solid var(--border)}.stat-item span[data-v-5e41c3c3]{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:600}.stat-item strong[data-v-5e41c3c3]{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-size:.86rem;font-weight:800}.story-panel[data-v-4279a676]{gap:10px}.detail-toolbar[data-v-4279a676]{flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.ghost-chip[data-v-4279a676],.primary-chip[data-v-4279a676]{border-radius:var(--r-full);border:none;min-height:34px;padding:0 12px;font-size:.84rem;font-weight:750}.ghost-chip[data-v-4279a676]{background:var(--card);color:var(--text-2);box-shadow:var(--sh-sm)}.primary-chip[data-v-4279a676]{background:var(--accent);color:#fff}.detail-hint[data-v-4279a676]{color:var(--muted);flex:none;margin:0;font-size:.78rem;font-weight:650;line-height:1.4}.scroll-body[data-v-4279a676]{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:auto}.learn-btn[data-v-4279a676]{flex:none;width:100%}.list-head[data-v-4279a676]{flex:none;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.eyebrow[data-v-4279a676]{color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.list-head h3[data-v-4279a676]{margin:2px 0 0;font-size:1.15rem;font-weight:800}.count[data-v-4279a676]{color:var(--accent-deep);font-size:.82rem;font-weight:750}.status[data-v-4279a676]{color:var(--muted);margin:0;font-size:.88rem}.status.error[data-v-4279a676]{color:var(--danger)}.empty-state[data-v-4279a676]{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.empty-icon[data-v-4279a676]{font-size:2rem}.empty-state h3[data-v-4279a676]{margin:0}.empty-state p[data-v-4279a676]{color:var(--muted);margin:0;font-size:.84rem}.story-list[data-v-4279a676]{flex-direction:column;flex:auto;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.story-row[data-v-4279a676]{border-radius:var(--r-lg);background:var(--card);width:100%;box-shadow:var(--sh-sm);text-align:left;border:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.badge[data-v-4279a676]{background:var(--accent-soft);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:1.15rem;display:grid}.copy[data-v-4279a676]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.copy strong[data-v-4279a676]{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:800;overflow:hidden}.copy small[data-v-4279a676]{color:var(--accent-deep);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;overflow:hidden}.copy em[data-v-4279a676]{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:650}.chevron[data-v-4279a676]{color:var(--muted-2);font-size:1.2rem}.study-gate[data-v-f8769b38]{z-index:20;-webkit-backdrop-filter:blur(6px);background:#eef6f5d1;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.gate-card[data-v-f8769b38]{border-radius:var(--r-xl);background:var(--card);width:min(100%,340px);box-shadow:var(--sh-lg);text-align:center;padding:18px 16px 14px}.gate-eyebrow[data-v-f8769b38]{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:800}h3[data-v-f8769b38]{font-family:var(--font-display);letter-spacing:-.02em;margin:8px 0 0;font-size:1.2rem;font-weight:800}.gate-detail[data-v-f8769b38]{color:var(--text-2);margin:10px 0 0;font-size:.88rem;line-height:1.55}.gate-detail p[data-v-f8769b38]{margin:0}.gate-detail p+p[data-v-f8769b38]{margin-top:4px}.gate-wait[data-v-f8769b38]{border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-deep);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:12px 0 0;padding:10px 12px;font-size:.95rem;font-weight:800}.gate-status[data-v-f8769b38]{border-radius:var(--r-md);background:var(--bg);min-height:32px;color:var(--text-2);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;margin:10px 0 0;padding:6px 12px;font-size:.8rem;font-weight:700;display:flex}.gate-status-label[data-v-f8769b38]{opacity:.7;flex:none;font-size:.72rem;font-weight:800}.ghost-button[data-v-f8769b38]{width:100%;margin-top:12px}.auth-root[data-v-12a78617]{z-index:80;-webkit-backdrop-filter:blur(6px);background:#1a1a2e47;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-card[data-v-12a78617]{border-radius:var(--r-xl);background:var(--card);width:min(100%,360px);box-shadow:var(--sh-lg);flex-direction:column;gap:10px;padding:16px;display:flex}.auth-card h2[data-v-12a78617]{margin:0;font-size:1rem;font-weight:800}.hint[data-v-12a78617]{color:var(--text-2);margin:0;font-size:.88rem}.warn-text[data-v-12a78617]{color:var(--danger);margin:0;font-size:.88rem;font-weight:600;line-height:1.45}.pin-field[data-v-12a78617]{flex-direction:column;gap:8px;display:flex}.pin-label[data-v-12a78617]{color:var(--text-2);font-size:.8rem;font-weight:700}.link-button[data-v-12a78617]{color:var(--accent);text-align:left;background:0 0;border:none;padding:4px 0;font-size:.86rem;font-weight:700}.primary-button.danger[data-v-12a78617]{background:var(--danger);border-color:var(--danger);color:#fff}.error-text[data-v-12a78617]{color:var(--danger);margin:0;font-size:.84rem}.action-row[data-v-12a78617]{gap:8px;display:flex}.auth-enter-active[data-v-12a78617],.auth-leave-active[data-v-12a78617]{transition:opacity var(--base) var(--ease)}.auth-enter-active .auth-card[data-v-12a78617],.auth-leave-active .auth-card[data-v-12a78617]{transition:transform var(--base) var(--ease), opacity var(--base) var(--ease)}.auth-enter-from[data-v-12a78617],.auth-leave-to[data-v-12a78617]{opacity:0}.auth-enter-from .auth-card[data-v-12a78617],.auth-leave-to .auth-card[data-v-12a78617]{opacity:0;transform:translateY(10px)scale(.98)}.unit-player-shell[data-v-c62c9868]{flex-direction:column;flex:none;gap:8px;min-width:0;display:flex}.sentence-float[data-v-c62c9868]{border-radius:var(--r-lg);background:var(--card);box-shadow:var(--sh-md,0 10px 28px #0f172a1f);color:var(--text);word-break:break-word;border:1px solid #0ea5a047;padding:12px 14px;font-size:1rem;font-weight:700;line-height:1.45}.sentence-float-enter-active[data-v-c62c9868],.sentence-float-leave-active[data-v-c62c9868]{transition:opacity .18s,transform .18s}.sentence-float-enter-from[data-v-c62c9868],.sentence-float-leave-to[data-v-c62c9868]{opacity:0;transform:translateY(6px)}.unit-player-bar[data-v-c62c9868]{border-radius:var(--r-lg);background:var(--accent-soft);box-shadow:var(--sh-sm);border:1px solid #0ea5a040;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:visible}.unit-player-bar.follow[data-v-c62c9868]{border-color:#0000}.border-progress[data-v-c62c9868]{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.border-progress-track[data-v-c62c9868],.border-progress-value[data-v-c62c9868]{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.border-progress-track[data-v-c62c9868]{stroke:#22c55e38}.border-progress-value[data-v-c62c9868]{stroke:#22c55e;transition:stroke-dashoffset 50ms linear}.playing-dot[data-v-c62c9868]{background:var(--danger);z-index:2;border-radius:50%;flex:none;width:8px;height:8px;animation:1.4s ease-out infinite pulse-dot-c62c9868;box-shadow:0 0 #ef444473}.playing-dot.paused[data-v-c62c9868]{background:var(--muted);box-shadow:none;animation:none}.playing-dot.follow[data-v-c62c9868]{background:#22c55e;animation:1.4s ease-out infinite pulse-follow-c62c9868;box-shadow:0 0 #22c55e73}@keyframes pulse-dot-c62c9868{0%{box-shadow:0 0 #ef444473}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes pulse-follow-c62c9868{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.bar-main[data-v-c62c9868]{z-index:2;flex:auto;min-width:0;position:relative}.bar-sentence[data-v-c62c9868]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.88rem;font-weight:700;line-height:1.35;overflow:hidden}.bar-sentence.dimmed[data-v-c62c9868]{color:var(--muted);font-weight:600}.bar-actions[data-v-c62c9868]{z-index:2;flex:none;align-items:center;gap:6px;display:flex;position:relative}.media-icon-btn[data-v-c62c9868]{border-radius:var(--r-full);cursor:pointer;border:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.media-icon[data-v-c62c9868]{width:16px;height:16px}.stop-btn[data-v-c62c9868]{background:var(--danger-soft);color:var(--danger);border:1px solid #ef444440}.stop-btn[data-v-c62c9868]:active{transform:scale(.94)}.app-shell[data-v-485537dd]{flex-direction:column;gap:10px;height:100%;padding:0 14px;display:flex;position:relative;overflow:hidden}.app-header[data-v-485537dd]{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 6px;display:flex}.header-titles[data-v-485537dd]{flex-direction:column;gap:2px;min-width:0;display:flex}.header-actions[data-v-485537dd]{flex:none;align-items:center;gap:8px;display:flex}.eyebrow[data-v-485537dd]{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.62rem;font-weight:700}.screen-title[data-v-485537dd]{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.5rem;font-weight:800;line-height:1.1}.header-badge[data-v-485537dd]{border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;padding:8px 12px;font-size:.86rem;font-weight:800}.header-parent-btn[data-v-485537dd]{border-radius:var(--r-full);background:var(--accent-soft);width:40px;height:40px;min-height:40px;color:var(--accent-deep);box-shadow:var(--sh-sm);border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.header-parent-icon[data-v-485537dd]{width:22px;height:22px}.header-parent-icon path[data-v-485537dd],.header-parent-icon circle[data-v-485537dd],.header-parent-icon rect[data-v-485537dd]{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.content-panel[data-v-485537dd]{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.content-panel[data-v-485537dd]>:not(.study-gate-host){flex-direction:column;flex:auto;min-height:0;display:flex}.status-line[data-v-485537dd]{border-radius:var(--r-md);background:var(--card);color:var(--text-2);margin:0;padding:8px 12px;font-size:.86rem}.status-line.error[data-v-485537dd]{background:var(--danger-soft);color:var(--danger)}@media (width>=768px){.app-shell[data-v-485537dd]{gap:14px;padding:0 24px}.screen-title[data-v-485537dd]{font-size:1.8rem}}
