@layer reset{*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}img{max-width:100%;display:block}}@layer tokens{:root{--color-bg:#f4f7f6;--color-surface:#fff;--color-subtle:#ecfdf5;--color-brand-50:#f0fdf4;--color-brand-100:#d1fae5;--color-brand-200:#a7f3d0;--color-brand-300:#6ee7b7;--color-brand-400:#34d399;--color-brand-500:#10b981;--color-brand-600:#059669;--color-brand-700:#047857;--color-brand-800:#065f46;--color-brand-900:#064e3b;--color-text:#111827;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-text-faint:#d1d5db;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-bg-hover:color-mix(in srgb, var(--color-text) 5%, transparent);--color-success:#15803d;--color-success-600:#16a34a;--color-bg-success:#dcfce7;--color-border-success:#bbf7d0;--color-danger:#dc2626;--color-danger-50:#fef2f2;--color-danger-200:#fecaca;--color-danger-500:#ef4444;--color-danger-600:#dc2626;--color-bg-danger:#fee2e2;--color-border-danger:#fecaca;--color-warning:#d97706;--color-warning-50:#fffbeb;--color-warning-200:#fde68a;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-bg-warning:#fef3c7;--color-border-warning:#fde68a;--color-info:#2563eb;--color-info-50:#eff6ff;--color-info-200:#bfdbfe;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--color-bg-info:#dbeafe;--color-border-info:#bfdbfe;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-subtle:0 1px 3px #0000000f;--shadow-card:0 4px 16px -2px #00000014;--shadow-float:0 8px 24px -4px #0000001f;--font-sans:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;--font-mono:"SFMono-Regular", "Menlo", "Consolas", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:26px;--font-size-3xl:32px;--font-size-4xl:42px;--font-size-5xl:52px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.75;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-drawer:300;--z-modal-backdrop:400;--z-modal:410;--z-popover:500;--z-toast:600;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--bp-sm:640px;--bp-md:768px;--bp-lg:1080px;--bp-xl:1280px;--max-page:1440px;--max-content:1120px;--max-focus:768px;--max-form:540px}@media (width<=640px){:root{--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:26px;--font-size-4xl:32px;--font-size-5xl:40px}}}@layer base{:root{accent-color:var(--color-brand-600)}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);letter-spacing:0;line-height:1.8}a{color:var(--color-brand-600);text-decoration:none}a:hover{color:var(--color-brand-800)}:focus-visible{outline:2px solid var(--color-brand-600);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer layouts{.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex:1}.container{width:min(var(--max-content), calc(100% - 32px));margin:0 auto}.stack-md>*+*{margin-top:16px}.stack-lg>*+*{margin-top:24px}.bd-wrap{padding:var(--space-6) 0 var(--space-12)}@media (width<=640px){.bd-wrap{padding:var(--space-4) 0 var(--space-8)}}}@layer components{.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-title{font-size:var(--font-size-xl);line-height:1.5;font-weight:var(--font-weight-bold);letter-spacing:0;color:var(--color-text);margin:0}.panel-title-sm{font-size:var(--font-size-lg);line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--color-text)}.eyebrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-brand-700);margin:0 0 8px}.ui-icon{flex-shrink:0;width:1rem;height:1rem;display:inline-block}.ui-icon-sm{width:.875rem;height:.875rem}.ui-icon-md{width:1.125rem;height:1.125rem}.ui-icon-lg{width:2.125rem;height:2.125rem}.metric{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface)}.metric span{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.metric strong{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--font-size-3xl);color:var(--color-text);line-height:1;display:block}.metric-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-3);gap:var(--space-1);display:grid}.metric-card p,.metric-card-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.metric-card strong,.metric-card-value{font-family:var(--font-mono);font-size:var(--font-size-3xl);color:var(--color-text);line-height:1}.metric-card span,.metric-card-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.metric-inline{line-height:1.2;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);align-items:center;display:inline-flex}.metric-inline-danger{color:var(--color-danger-600)}.metric-inline-success{color:var(--color-success)}.metric-inline-muted{color:var(--color-text-muted)}.stat-row{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.stat-row-cell{padding:11px var(--space-3);border-right:1px solid var(--color-border);flex-direction:column;flex:1;display:flex}.stat-row-cell:last-child{border-right:none}.stat-row-value{font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);letter-spacing:-.02em;line-height:var(--leading-tight)}.stat-row-value-sm{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:0}.stat-row-value-warn{color:var(--color-warning)}.stat-row-value-brand{color:var(--color-brand-700)}.stat-row-value-danger{color:var(--color-danger)}.stat-row-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.stat-row-trend{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-top:3px}.stat-row-trend-up{color:var(--color-brand-700)}.stat-row-trend-down{color:var(--color-danger)}.stat-row-trend-flat{color:var(--color-text-subtle)}.stat-row-success{background:var(--color-brand-50);border-color:var(--color-brand-200)}.stat-row-success .stat-row-cell{border-right-color:var(--color-brand-200)}.stat-row-success .stat-row-value{color:var(--color-brand-700)}.stat-row-success .stat-row-value-default{color:var(--color-text)}.stat-row-flat{background:0 0;border:none;border-radius:0}.stat-row-flat .stat-row-cell{border-right:none;border-left:1px solid var(--color-border);padding:0 var(--space-5)}.stat-row-flat .stat-row-cell:first-child{border-left:none;padding-left:0}@media (width<=760px){.panel{padding:14px}}.book-thumb{border-radius:3px 7px 7px 3px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:3px 4px 14px #00000038}.book-thumb:before{content:"";background:#0000003d;width:7px;position:absolute;top:0;bottom:0;left:0}.book-thumb-text{font-weight:var(--font-weight-bold);color:#ffffffe6;text-align:center;line-height:var(--leading-snug);word-break:break-all;z-index:1;padding:0 var(--space-1)}.book-thumb-sm{width:56px;height:80px}.book-thumb-sm .book-thumb-text{font-size:7px}.book-thumb-md{width:72px;height:100px}.book-thumb-md .book-thumb-text{font-size:7px}.book-thumb-lg{width:72px;height:104px}.book-thumb-lg .book-thumb-text{font-size:6.5px}.book-thumb-0{background:linear-gradient(160deg,#1e3a8a,#3b82f6)}.book-thumb-1{background:linear-gradient(160deg,#5b21b6,#8b5cf6)}.book-thumb-2{background:linear-gradient(160deg,#92400e,#f59e0b)}.book-thumb-3{background:linear-gradient(160deg,#065f46,#34d399)}.book-thumb-4{background:linear-gradient(160deg,#7f1d1d,#f87171)}.book-thumb-5{background:linear-gradient(160deg,#1c1917,#78716c)}.book-thumb-6{background:linear-gradient(160deg,#14532d,#86efac)}.book-thumb-7{background:linear-gradient(160deg,#7c2d12,#fb923c)}.book-cover{isolation:isolate;border:1px solid #0f172a52;border-radius:3px 8px 8px 3px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:3px 5px 12px #0f172a42,inset -5px 0 8px #ffffff1f}.book-cover:before{z-index:3;content:"";pointer-events:none;background:linear-gradient(90deg,#00000061,#0000001f);border-right:1px solid #ffffff2e;width:8px;position:absolute;top:0;bottom:0;left:0}.book-cover:after{z-index:3;content:"";pointer-events:none;border:1px solid #ffffff3d;border-radius:1px 5px 5px 1px;position:absolute;inset:4px 4px 4px 11px;box-shadow:inset 0 0 0 1px #0f172a14}.book-cover-sm{width:56px;height:80px}.book-cover-md{width:66px;height:94px}.book-cover-lg{width:72px;height:104px}.book-cover-dashboard{width:96px;height:132px}.book-cover-fallback{z-index:1;color:#ffffffe6;font-size:8px;font-weight:var(--font-weight-bold);line-height:var(--leading-snug);padding:var(--space-2) var(--space-1);text-align:center;word-break:break-all;text-shadow:0 1px 2px #00000057;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin-left:7px;display:-webkit-box;position:relative;overflow:hidden}.book-cover-has-image .book-cover-fallback{display:none}.book-cover-image{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.note{border-radius:var(--radius-sm);margin-bottom:14px;padding:11px 13px}.note-label{font-size:9px;font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}.note-text{font-size:var(--font-size-sm);margin:0;line-height:1.55}.note-text strong{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.note-success{background:color-mix(in srgb, var(--color-brand-600) 7%, transparent);border:1px solid color-mix(in srgb, var(--color-brand-600) 16%, transparent)}.note-success .note-label,.note-success .note-text{color:var(--color-brand-700)}.note-warning{background:var(--color-bg-warning);border:1px solid var(--color-border-warning)}.note-warning .note-label,.note-warning .note-text{color:var(--color-warning)}.note-accent{background:#7c3aed0f;border:1px solid #7c3aed24}.note-accent .note-label{color:#7c3aed}.note-accent .note-text{color:#7c3aed;font-weight:var(--font-weight-medium)}.accordion{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.accordion-btn{width:100%;padding:var(--space-4) 22px;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.accordion-btn:hover{background:var(--color-bg)}.accordion-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);display:flex}.accordion-icon{width:var(--space-4);height:var(--space-4);color:var(--color-text-muted);flex-shrink:0}.accordion-chevron{width:var(--space-4);height:var(--space-4);color:var(--color-text-subtle);transition:transform var(--duration-slow) var(--ease-out);flex-shrink:0}.accordion-btn[aria-expanded=true] .accordion-chevron,.accordion[open] .accordion-chevron{transform:rotate(180deg)}.accordion-body{border-top:1px solid var(--color-border);display:none}.accordion[open] .accordion-body,.accordion-body.is-open,.accordion-body[data-state=open]{display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:var(--space-3) 14px;min-height:44px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid #0000;line-height:1.4;display:inline-flex}.btn-primary{background:var(--color-brand-700);color:var(--color-surface)}.btn-primary:hover{background:var(--color-brand-800)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface))}.btn-ghost{color:var(--color-brand-700);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-brand-50);color:var(--color-brand-800)}.btn-outline{background:var(--color-surface);color:var(--color-brand-700);border-color:var(--color-brand-600)}.btn-outline:hover{background:var(--color-brand-50);color:var(--color-brand-800)}.btn-pagination{min-width:184px;padding:10px var(--space-5);background:linear-gradient(180deg, color-mix(in srgb, var(--color-brand-50) 70%, var(--color-surface)) 0%, var(--color-surface) 100%);color:var(--color-brand-800);border-color:color-mix(in srgb, var(--color-brand-200) 80%, var(--color-border));box-shadow:0 14px 28px -24px color-mix(in srgb, var(--color-brand-800) 35%, transparent);border-radius:999px}.btn-pagination:hover{background:var(--color-brand-50);border-color:var(--color-brand-300);color:var(--color-brand-900)}.btn-pagination:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand-500) 24%, transparent);outline-offset:2px}.btn-tinted{background:var(--color-brand-50);color:var(--color-brand-700);border-color:var(--color-brand-200)}.btn-tinted:hover{background:var(--color-brand-100)}.btn-secondary[aria-selected=true]{background:var(--color-brand-700);color:var(--color-surface);border-color:var(--color-brand-700)}.btn-danger{background:var(--color-danger);color:var(--color-surface);border-color:var(--color-danger)}.btn-danger:hover{background:color-mix(in srgb, var(--color-danger) 88%, black);border-color:color-mix(in srgb, var(--color-danger) 88%, black)}.btn-danger-outline{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger-outline:hover{background:var(--color-bg-danger)}.btn-sm{padding:6px var(--space-3);min-height:36px;font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-3) var(--space-5);font-size:var(--font-size-md);border-radius:var(--radius-md)}.btn:disabled,.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-block{width:100%;display:flex}.btn-mini{padding:7px var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-mini:hover{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface))}.ox-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);cursor:pointer;display:inline-flex}.ox-btn.is-selected{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700)}.ox-btn.is-incorrect{border-color:var(--color-danger-400);background:var(--color-danger-50);color:var(--color-danger-600)}.ox-btn .ui-icon{flex-shrink:0}.modal-close-button,.drawer-close-button,.calendar-nav-button{border:1px solid var(--color-border);border-radius:var(--space-3);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);place-items:center;display:inline-grid}.modal-close-button:hover,.drawer-close-button:hover,.calendar-nav-button:hover{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-text) 3%, var(--color-surface));color:var(--color-text);box-shadow:0 8px 18px -16px color-mix(in srgb, var(--color-text) 65%, transparent)}.modal-close-button:focus-visible,.drawer-close-button:focus-visible,.calendar-nav-button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand-500) 24%, transparent);outline-offset:2px}.drawer-close-button{border-radius:999px}.iconbtn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.iconbtn:hover{background:var(--color-bg-hover);color:var(--color-text)}.iconbtn-plain{background:0 0!important}.app-btn-inline{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.app-btn-full{width:100%}.app-btn-danger{color:var(--color-danger)}.app-btn-danger:hover{background:var(--color-bg-danger);border-color:var(--color-border-danger)}.pill-group{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.pill{align-items:center;gap:var(--space-1);padding:4px var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:1px solid #0000;display:inline-flex}.pill:hover{background:var(--color-bg-hover);color:var(--color-text)}.pill.is-active{background:var(--color-brand-50);border-color:var(--color-brand-200);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.pill-divider{background:var(--color-border);width:1px;height:20px;margin:0 var(--space-1);flex-shrink:0}.chip{min-height:24px;padding:3px var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;display:inline-flex}.chip-neutral{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text)}.chip-brand{border-color:var(--color-brand-200);background:var(--color-brand-50);color:var(--color-brand-700)}.chip-success{border-color:var(--color-border-success);background:var(--color-bg-success);color:var(--color-success)}.chip-danger{border-color:var(--color-border-danger);background:var(--color-bg-danger);color:var(--color-danger)}.chip-warning{border-color:var(--color-border-warning);background:var(--color-bg-warning);color:var(--color-warning)}.chip-info{border-color:var(--color-border-info);background:var(--color-bg-info);color:var(--color-info)}.chip-pro{border-color:var(--color-border-warning);background:var(--color-bg-warning);color:var(--color-warning)}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip-mono{font-size:9px;font-weight:var(--font-weight-medium);letter-spacing:.04em;border-radius:var(--space-1);background:var(--color-bg);min-height:0;color:var(--color-text-subtle);border-color:#0000;padding:2px 6px}.chip-pill{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--space-1);white-space:nowrap;border-radius:20px;min-height:0;padding:3px 9px}.chip-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.chip-remove{color:var(--color-brand-600);cursor:pointer;font-size:var(--font-size-base);background:0 0;border:0;place-items:center;padding:0;line-height:1;display:inline-grid}.chip-remove:hover{color:var(--color-brand-800)}.status-badge{color:#526173;min-height:22px;font-size:var(--font-size-xs);white-space:nowrap;background:#eef2f6;border-radius:7px;justify-content:center;align-items:center;padding:3px 7px;font-weight:900;display:inline-flex}.status-badge-brand{background:var(--color-brand-50);color:var(--color-brand-700);border:1px solid var(--color-brand-200)}.status-badge-success{color:var(--color-success);background:#dcfce7}.status-badge-warning{color:var(--color-warning);background:#fef3c7}.status-badge-danger{color:var(--color-danger);background:#fee2e2}.queue-chip{padding:var(--space-2);text-align:center;border:1px solid #e5e7eb;border-radius:10px}.queue-chip span{font-size:var(--font-size-xs);display:block}.queue-chip strong{font-size:var(--font-size-2xl);line-height:1}.queue-chip-expired{color:#dc2626;background:#fef2f2;border-color:#fecaca}.queue-chip-today{color:#ea580c;background:#fff7ed;border-color:#fed7aa}.queue-chip-review{background:var(--color-bg-info);border-color:var(--color-border-info);color:var(--color-info)}.progress-bar{background:var(--color-border);border-radius:999px;height:6px;display:flex;overflow:hidden}.progress-bar-md{height:var(--space-2);border-radius:var(--space-1)}.progress-bar:not(.progress-bar-segmented)>span,.progress-bar:not(.progress-bar-segmented)>div{border-radius:inherit;background:var(--color-brand-700);width:0;height:100%;display:block}.progress-seg{border-radius:0;min-width:2px;height:100%;display:block}.progress-bar-segmented>.progress-seg{flex:var(--progress-weight,0) 1 0;width:auto}.progress-bar-segmented>.progress-seg[hidden]{display:none}.progress-seg-success{background:var(--color-brand-600)}.progress-seg-brand{background:var(--color-brand-700)}.progress-seg-warning{background:var(--color-warning)}.progress-seg-mid{background:#f59e0b}.progress-seg-danger{background:var(--color-danger)}.progress-seg-info{background:var(--color-info)}.progress-seg-muted,.progress-seg-status-unrated,.progress-seg-status-unanswered{background:var(--color-text-subtle)}.progress-seg-status-review,.progress-seg-status-miss{background:var(--color-danger)}.progress-seg-status-normal,.progress-seg-status-hit{background:var(--color-info)}.progress-seg-status-understood,.progress-seg-status-combo{background:var(--color-brand-600)}.progress-seg-status-unrated,.progress-seg-status-unanswered{order:1}.progress-seg-status-review,.progress-seg-status-miss{order:2}.progress-seg-status-normal,.progress-seg-status-hit{order:3}.progress-seg-status-understood,.progress-seg-status-combo{order:4}.progress-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.progress-dot-success{background:var(--color-brand-600)}.progress-dot-brand{background:var(--color-brand-700)}.progress-dot-warning{background:var(--color-warning)}.progress-dot-mid{background:#f59e0b}.progress-dot-danger{background:var(--color-danger)}.progress-dot-info{background:var(--color-info)}.progress-dot-muted{background:var(--color-text-subtle)}.progress-dot-none{background:var(--color-text-faint)}.progress-dot-status-unrated,.progress-dot-status-unanswered{background:var(--color-text-subtle)}.progress-dot-status-review,.progress-dot-status-miss{background:var(--color-danger)}.progress-dot-status-normal,.progress-dot-status-hit{background:var(--color-info)}.progress-dot-status-understood,.progress-dot-status-combo{background:var(--color-brand-600)}.chip-status-combo{border-color:var(--color-brand-200);background:var(--color-brand-50);color:var(--color-brand-700)}.chip-status-hit{border-color:var(--color-border-info);background:var(--color-bg-info);color:var(--color-info)}.chip-status-miss{border-color:var(--color-border-danger);background:var(--color-bg-danger);color:var(--color-danger)}.chip-status-unanswered{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.dot-status-combo{background:var(--color-brand-600)}.dot-status-hit{background:var(--color-info)}.dot-status-miss{background:var(--color-danger)}.dot-status-unanswered{background:var(--color-text-faint)}.kw-chip{align-items:center;gap:var(--space-1);min-height:22px;padding:2px var(--space-2);border:1px solid var(--color-brand-200);background:var(--color-brand-50);color:var(--color-brand-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:20px;display:inline-flex}.kw-chip-label{line-height:1.4}.kw-chip-remove{color:var(--color-brand-600);cursor:pointer;font-size:var(--font-size-base);background:0 0;border:0;place-items:center;padding:0;line-height:1;display:inline-grid}.kw-chip-remove:hover{color:var(--color-brand-800)}.kw-chips-container{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.date-range-filter{min-width:0;position:relative}.date-range-filter-inline{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.date-range-filter-label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.date-range-filter-summary{align-items:center;gap:var(--space-1);border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:999px;margin:0;padding:0 14px;display:inline-flex}.date-range-filter-summary-sep{color:var(--color-text-muted)}.date-range-filter-popover{top:calc(100% + var(--space-2));z-index:var(--z-popover);width:min(100vw - 32px,440px);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);gap:var(--space-3);display:grid;position:absolute;right:0}.date-range-filter-head{gap:var(--space-2);display:grid}.date-range-filter-popover-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.date-range-shortcuts{gap:var(--space-2);flex-wrap:wrap;display:flex}.date-range-shortcut{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border-radius:999px;padding:9px 14px;line-height:1}.date-range-shortcut:hover{border-color:var(--color-border-strong)}.date-range-shortcut:focus-visible{border-color:var(--color-brand-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-600) 22%, transparent);outline:none}.date-range-shortcut.is-active{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-900)}.date-range-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.date-range-filter-actions{justify-content:flex-end;display:flex}@media (width<=767px){.date-range-filter-inline{justify-content:flex-start}.date-range-filter-summary{justify-content:center;width:100%}.date-range-filter-popover{width:min(100%,440px);left:0;right:auto}.date-range-fields{grid-template-columns:1fr}.date-range-filter-actions{justify-content:stretch}.date-range-filter-actions .btn{width:100%}}.inline-setting-popover{min-width:0;position:relative}.inline-setting-popover-summary{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.inline-setting-popover-summary-copy{gap:4px;min-width:0;display:grid}.inline-setting-popover-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.inline-setting-popover-value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.4}.inline-setting-popover-panel{top:calc(100% + var(--space-2));z-index:var(--z-popover);width:min(100vw - 48px,440px);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);gap:var(--space-3);display:grid;position:absolute;right:0}.inline-setting-popover-panel.is-portal{width:min(100vw - 48px,440px);position:fixed;top:0;left:0;right:auto}.inline-setting-popover-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}@media (width<=767px){.inline-setting-popover-summary{flex-direction:column;align-items:stretch}.inline-setting-popover-summary .btn{width:100%}.inline-setting-popover-panel{width:min(100%,440px);left:0;right:auto}}.question-progress{gap:var(--space-2);display:grid}.qp-progress{gap:var(--space-2);flex-direction:column;display:flex}.qp-head{justify-content:space-between;align-items:baseline;display:flex}.qp-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.qp-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.qp-legend{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}.qp-legend li{font-size:var(--font-size-sm);color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.qp-name{margin-right:2px}.qp-legend strong{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:var(--color-text)}.qp-legend small{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.quiz-cond-wrap{position:relative}.recall-cond-header-right{align-items:center;gap:var(--space-3);display:flex}.recall-cond-page-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-700)}.quiz-cond-popover{top:calc(100% + var(--space-1));z-index:var(--z-popover);width:min(100vw - 32px,380px);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);gap:var(--space-3);display:grid;position:absolute;left:0}.quiz-cond-popover-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.quiz-cond-popover-fields{gap:var(--space-3);display:grid}.quiz-cond-popover-actions{justify-content:flex-end;gap:var(--space-2);display:flex}@media (width<=767px){.quiz-cond-popover{width:auto;left:0;right:0}}.preset-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.preset-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);padding:var(--space-2) var(--space-3);column-gap:var(--space-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.preset-card input{display:none}.preset-ic{grid-row:span 2;font-size:16px}.preset-title{font-weight:var(--font-weight-semibold);color:var(--color-text)}.preset-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.preset-card.is-active{border-color:var(--color-brand-300);background:var(--color-brand-50)}.ps-disabled-note{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.cond-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.cond-item dt{font-size:var(--font-size-xs);color:var(--color-text-muted);align-items:center;gap:6px;margin:0;display:inline-flex}.cond-item dd{font-weight:var(--font-weight-semibold);color:var(--color-text);justify-content:flex-end;align-items:center;margin:0;display:inline-flex}.cond-item{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cond-item dd .input,.cond-item dd .select{min-inline-size:170px}@media (width<=980px){.cond-grid{grid-template-columns:1fr}}.ch-sel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.ch-sel-tools{align-items:center;gap:var(--space-3);display:flex}.legend{gap:14px;margin:0;padding:0;list-style:none;display:flex}.legend li{color:var(--color-text-muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.ps-statefilter{align-items:center;gap:var(--space-2);margin-top:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.psf-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.psf-check{border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.psf-check input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.psf-check.is-checked{border-color:var(--color-brand-300);color:var(--color-brand-700);background:var(--color-brand-50)}.advanced-conditions{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-3);display:grid}.advanced-conditions.is-hidden{display:none}.advanced-conditions-head,.advanced-preview-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.advanced-conditions-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.advanced-conditions-note,.advanced-preview-summary{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.advanced-conditions-grid{gap:var(--space-3);grid-template-columns:minmax(0,2fr) minmax(160px,1fr);align-items:end;display:grid}.advanced-condition-checks{margin:0}.advanced-chapter-summary{margin:0 0 var(--space-2) 34px;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.advanced-chapter-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-brand-700)}.advanced-chapter-panel{margin:0 0 var(--space-3) 34px;gap:var(--space-2);display:grid}.advanced-chapter-panel.is-hidden{display:none}.advanced-candidate-row{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.advanced-candidate-check{margin-top:3px}.advanced-candidate-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.advanced-candidate-meta{gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;margin-top:2px;display:flex}.advanced-candidate-reasons{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.advanced-candidate-row.is-disabled{opacity:.55}.advanced-preset-option{grid-template-columns:minmax(0,1fr) max-content;display:grid}.advanced-preset-option .modal-list-meta{white-space:nowrap;justify-self:end}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.ps-chapter-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ch-sel-list li+li{border-top:1px solid var(--color-border)}.ps-chapter-row{background:0 0;grid-template-columns:22px 1fr 70px 200px repeat(4,40px) 32px;align-items:center;gap:12px;padding:12px 4px;display:grid}.ps-chapter-row input[type=checkbox]{display:none}.ch-check{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.ps-chapter-row.is-checked .ch-check{background:var(--color-brand-700);border-color:var(--color-brand-700)}.ps-chapter-row.is-checked .ch-check:after{content:"✓";color:#fff;font-size:13px;font-weight:700}.ps-chapter-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.ps-chapter-total,.ps-ch-stat{font-family:var(--font-mono);font-size:var(--font-size-xs)}.ps-chapter-bar{height:8px}.ps-ch-stat-miss{color:var(--color-danger)}.ps-ch-stat-hit{color:var(--color-info)}.ps-ch-stat-unasked{color:var(--color-text-subtle)}.ps-ch-stat-combo{color:var(--color-brand-600)}@media (width<=980px){.ch-sel-tools{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.advanced-conditions-grid{grid-template-columns:1fr}.ps-chapter-row{grid-template-columns:22px minmax(0,1fr) repeat(4,minmax(28px,36px));grid-template-areas:"chk name name name name name""chk bar bar bar bar bar""chk.unasked miss hit combo";gap:6px 10px;padding-block:14px}.ps-chapter-row input[type=checkbox],.ch-check{grid-area:chk}.ch-name{grid-area:name;min-width:0}.ch-total{display:none}.ch-bar{grid-area:bar;margin-block-start:4px}.ps-ch-stat{text-align:right;grid-column:auto;line-height:1.2}.ps-ch-stat-unasked{grid-area:unasked}.ps-ch-stat-miss{grid-area:miss}.ps-ch-stat-hit{grid-area:hit}.ps-ch-stat-combo{grid-area:combo}}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.field-required:after{content:"*";color:var(--color-danger);margin-left:2px}.field-optional:after{content:"（任意）";margin-left:var(--space-1);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--color-text-muted)}.field-help{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--leading-snug)}.field-error{font-size:var(--font-size-xs);color:var(--color-danger);line-height:var(--leading-snug)}.input,.textarea,.select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);color:var(--color-text);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;background:#fff;padding:10px 12px}.input::placeholder,.textarea::placeholder{color:var(--color-text-subtle)}.input:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-600) 22%, transparent);outline:none}.input:disabled,.textarea:disabled,.select:disabled{background:var(--color-bg);color:var(--color-text-subtle);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-danger)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus,.select[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 22%, transparent)}.select{-webkit-appearance:none;appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:12px 12px}.toggle{align-items:center;gap:var(--space-2);cursor:pointer;user-select:none;font-size:var(--font-size-base);color:var(--color-text);display:inline-flex}.toggle input[type=checkbox],.toggle input[type=radio]{cursor:pointer;width:18px;height:18px;margin:0}.toggle input:disabled{cursor:not-allowed;opacity:.55}.toggle:has(input:disabled){cursor:not-allowed;color:var(--color-text-subtle)}.switch-pill{background:var(--color-border-strong);cursor:pointer;width:44px;height:24px;transition:background var(--duration-fast) ease;border-radius:12px;flex-shrink:0;display:inline-block;position:relative}.switch-pill:after{content:"";width:18px;height:18px;transition:transform var(--duration-fast) ease;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch-pill input[type=checkbox]{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-pill:has(input:checked){background:var(--color-brand-600)}.switch-pill:has(input:checked):after{transform:translate(20px)}.switch-pill:has(input:disabled){opacity:.5;cursor:not-allowed}.inline-input{min-width:90px;color:var(--color-text);font-size:var(--font-size-sm);background:0 0;border:0;border-bottom:1px solid #0000;padding:4px 2px}.inline-input:focus{border-bottom-color:var(--color-brand-600);outline:0}.radio-card{align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;background:#fff;display:flex;position:relative}.radio-card:hover{border-color:var(--color-border-strong)}.radio-card[data-state=active]{border-color:var(--color-brand-600);background:var(--color-brand-50);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-600) 18%, transparent)}.note-field{gap:7px;display:grid}.note-field-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.note-field-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:800;display:block}.note-field-counter{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;flex-shrink:0}.textarea-note{background:var(--color-bg-warning);border-color:var(--color-border-warning);resize:none;min-height:calc(4.5em + 20px);max-height:calc(4.5em + 20px);line-height:1.5;overflow-y:auto}.radio-card input[type=radio],.radio-card input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.radio-card:has(input:disabled){cursor:not-allowed;opacity:.6}.wbm-tiptap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;min-height:100%;display:flex;overflow:hidden}.wbm-tiptap.is-readonly{border-color:#0000}.wbm-tiptap-editor{flex:1;min-height:220px;overflow-y:auto}.wbm-tiptap .ProseMirror{min-height:220px;color:var(--color-text);font-size:var(--font-size-base);outline:none;padding:16px;line-height:1.7}.wbm-tiptap .ProseMirror:focus{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--color-brand-600) 18%, transparent)}.wbm-tiptap .ProseMirror p{margin:.5em 0}.wbm-tiptap .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--color-text-subtle);pointer-events:none}.wbm-tiptap .ProseMirror h1,.wbm-tiptap .ProseMirror h2,.wbm-tiptap .ProseMirror h3{color:var(--color-text);letter-spacing:0;margin:1em 0 .55em;font-weight:900;line-height:1.35}.wbm-tiptap .ProseMirror h1{font-size:var(--font-size-2xl)}.wbm-tiptap .ProseMirror h2{font-size:var(--font-size-xl)}.wbm-tiptap .ProseMirror h3{font-size:var(--font-size-lg)}.wbm-tiptap .ProseMirror ul,.wbm-tiptap .ProseMirror ol{margin:.6em 0;padding-left:1.5em}.wbm-tiptap .ProseMirror li{margin:.25em 0}.wbm-tiptap .ProseMirror blockquote{border-left:3px solid var(--color-brand-300);color:var(--color-text-muted);margin:.8em 0;padding:.1em 0 .1em 1em}.wbm-tiptap .ProseMirror code{border-radius:var(--radius-sm);background:var(--color-bg);font-family:var(--font-mono);padding:.15em .35em;font-size:.9em}.wbm-tiptap .ProseMirror pre{border-radius:var(--radius-md);color:#f9fafb;background:#1f2937;margin:.8em 0;padding:12px;overflow-x:auto}.wbm-tiptap .ProseMirror pre code{color:inherit;background:0 0;padding:0}.wbm-tiptap .ProseMirror mark{border-radius:var(--radius-sm);background:var(--color-bg-warning);padding:.05em .2em}.wbm-tiptap .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0}.wbm-tiptap .ProseMirror th,.wbm-tiptap .ProseMirror td{border:1px solid var(--color-border);vertical-align:top;padding:8px}.wbm-tiptap .ProseMirror th{background:var(--color-bg);font-weight:800}.wbm-tiptap .ProseMirror .has-text-align-center{text-align:center}.wbm-tiptap .ProseMirror .has-text-align-right{text-align:right}.wbm-tiptap .ProseMirror .has-text-align-justify{text-align:justify}.wbm-tiptap .ProseMirror .wbm-tiptap-columns{gap:12px;min-height:48px;margin:.8em 0;display:flex}.wbm-tiptap .ProseMirror .wbm-tiptap-column{border-radius:var(--radius-md);overflow-wrap:break-word;border:1px dashed #0000;flex:1 1 0;min-width:0;padding:8px 10px}.wbm-tiptap .ProseMirror .wbm-tiptap-column:hover,.wbm-tiptap .ProseMirror .wbm-tiptap-column:focus-within{border-color:var(--color-border);background:color-mix(in srgb, var(--color-text) 2%, transparent)}.wbm-tiptap-floating-menu{z-index:1200;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-width:min(420px,100vw - 24px);box-shadow:var(--shadow-float);gap:4px;padding:6px;display:flex;position:absolute}.wbm-tiptap-floating-menu.is-hidden{display:none}.wbm-tiptap-slash-menu{overscroll-behavior:contain;flex-direction:column;min-width:180px;max-width:min(280px,100vw - 24px);max-height:min(320px,100vh - 24px);overflow-y:auto}.wbm-tiptap-floating-button{border-radius:var(--radius-sm);width:100%;min-height:28px;color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;line-height:1.2;display:inline-flex}.wbm-tiptap-floating-button:hover{background:var(--color-bg)}.wbm-tiptap-floating-button.is-danger{color:var(--color-danger)}.wbm-tiptap-button-icon{flex:0 0 14px;width:14px;height:14px}.wbm-tiptap-button-label{white-space:nowrap}.wbm-tiptap-bubble-menu{flex-wrap:wrap;align-items:center;max-width:min(620px,100vw - 24px)}.wbm-tiptap-error{border:1px solid var(--color-border-danger);border-radius:var(--radius-md);background:var(--color-bg-danger);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:14px}.wbm-tiptap-content-error{border:1px solid var(--color-border-warning,#f59e0b);border-radius:var(--radius-md);background:var(--color-bg-warning,#fffbeb);color:var(--color-warning,#92400e);font-size:var(--font-size-sm);margin-bottom:8px;padding:8px 12px}@media (width<=640px){.wbm-tiptap .ProseMirror .wbm-tiptap-columns{flex-direction:column;gap:8px}.wbm-tiptap-floating-menu{max-width:calc(100vw - 16px)}}.page{gap:var(--space-6);flex-direction:column;display:flex}.page-head{gap:var(--space-2);flex-direction:column;display:flex}.page-head-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:var(--color-text);margin:0}.page-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--leading-snug);margin:0}.breadcrumb{align-items:center;gap:var(--space-1);margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);padding:0;list-style:none;display:flex}.breadcrumb-row .breadcrumb{margin-bottom:0}.breadcrumb a{color:var(--color-text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-text)}.bc-sep{color:var(--color-text-faint)}.bc-current{color:var(--color-text);font-weight:var(--font-weight-semibold)}.breadcrumb-row{align-items:center;gap:var(--space-3);margin-block-end:var(--space-3);display:flex}.breadcrumb-row .breadcrumb{flex:1;margin-bottom:0}.page-head-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}@media (width<=760px){.breadcrumb,.breadcrumb-row{display:none}}.modal{z-index:var(--z-modal,410);background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal.is-hidden{display:none}.modal-card{background:#fff;border-radius:14px;flex-direction:column;width:min(540px,100%);max-height:80dvh;display:flex;overflow:hidden;box-shadow:0 30px 70px -40px #0f172a8c}.modal-card-md{width:min(640px,100%);max-height:85dvh;overflow-y:auto}.modal-card-lg{width:min(860px,100%);max-height:88dvh}.modal-head{border-bottom:1px solid #edf2ef;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-tabs{gap:var(--space-2);border-bottom:1px solid #edf2ef;padding:10px 16px;display:flex}.modal-tabs button{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#64748b;cursor:pointer;background:#fff;border:1px solid #d9e3de;padding:7px 10px}.modal-tabs button.is-active,.modal-tabs button[data-state=active]{border-color:var(--color-brand-200);background:var(--color-brand-50);color:var(--color-brand-700)}.modal-switcher,.modal-actions{border-bottom:1px solid #edf2ef;padding:10px 16px}.modal-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.modal-body{padding:var(--space-4);flex:1;overflow-y:auto}.modal-footer,.modal-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex}.modal-list{padding:10px;overflow:auto}.modal-state{text-align:center;font-size:var(--font-size-sm);color:#64748b;margin:0;padding:16px 8px}.modal-state.is-error{color:#dc2626}.modal-empty-note{font-size:var(--font-size-sm);color:#94a3b8;margin:0}.modal-list-item,.modal-book-item{text-align:left;background:#fff;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.modal-list-thumb,.modal-book-thumb{border-radius:4px;width:34px;height:46px}.modal-list-title,.modal-book-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#0f172a}.modal-list-meta,.modal-book-meta{font-size:var(--font-size-xs);color:#64748b}.modal-list-badge,.modal-book-badge{font-size:var(--font-size-sm);color:#fff;background:var(--color-brand-700);border-radius:999px;margin-left:auto;padding:3px 8px}.auth-modal,.loading-modal{z-index:200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-modal{z-index:999}.auth-modal-card{z-index:201;width:min(448px,100%);position:relative}.auth-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:0;position:absolute;top:16px;right:16px}.auth-modal-close:hover{color:#4b5563}.auth-modal-body{padding:var(--space-8);text-align:center}.auth-modal-title{color:var(--color-brand-900);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 8px}.auth-modal-description{color:#4b5563;margin:0 0 24px}.auth-modal-provider-list{gap:var(--space-3);flex-direction:column;display:flex}.auth-provider-button{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:#111827;width:100%;font-weight:var(--font-weight-medium);transition:background var(--duration-normal) ease;background:#fff;border:1px solid #d1d5db;padding:12px 16px;text-decoration:none;display:flex}.auth-provider-button:hover{background:#f9fafb}.loading-modal-inner{z-index:10;position:relative}.loading-overlay{opacity:.75}.loading-spinner{animation:1.2s linear infinite loading-spinner-rotate}.load-blink-dot{animation:1.2s ease-in-out infinite loading-spinner-blink}.loading-spinner .load-blink-dot:first-child{animation-delay:0s}.loading-spinner .load-blink-dot:nth-child(2){animation-delay:.1s}.loading-spinner .load-blink-dot:nth-child(3){animation-delay:.2s}.loading-spinner .load-blink-dot:nth-child(4){animation-delay:.3s}.loading-spinner .load-blink-dot:nth-child(5){animation-delay:.4s}.loading-spinner .load-blink-dot:nth-child(6){animation-delay:.5s}.loading-spinner .load-blink-dot:nth-child(7){animation-delay:.6s}.loading-spinner .load-blink-dot:nth-child(8){animation-delay:.7s}.loading-spinner .load-blink-dot:nth-child(9){animation-delay:.8s}.loading-spinner .load-blink-dot:nth-child(10){animation-delay:.9s}.loading-spinner .load-blink-dot:nth-child(11){animation-delay:1s}.loading-spinner .load-blink-dot:nth-child(12){animation-delay:1.1s}@keyframes loading-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-spinner-blink{0%,to{opacity:.25}50%{opacity:1}}.plan-limit-card{max-width:420px;padding:var(--space-6);max-height:88dvh;position:relative;overflow-y:auto}.plan-limit-close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.plan-limit-close:hover{background:var(--color-bg);color:var(--color-text)}.plan-limit-icon-row{margin-bottom:var(--space-4);justify-content:center;display:flex}.plan-limit-icon{border-radius:var(--radius-full);background:var(--color-warning-50);width:56px;height:56px;color:var(--color-warning-700);place-items:center;display:grid}.plan-limit-title{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-align:center;color:var(--color-text)}.plan-limit-desc{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:left;line-height:var(--leading-relaxed)}.plan-limit-feature-list{margin:0 0 var(--space-5);gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);padding:0;list-style:none;display:grid}.plan-limit-feature-item{align-items:center;gap:var(--space-2);display:flex}.plan-limit-check{border-radius:var(--radius-full);background:var(--color-brand-100);width:18px;height:18px;color:var(--color-brand-700);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.plan-limit-cta{justify-content:center;width:100%;display:flex}.plan-limit-cancel{width:100%;margin-top:var(--space-2);display:block}@media (width<=639px){.modal{padding:var(--space-3)}.modal-card{width:100%;max-height:88dvh}.modal-head,.modal-tabs,.modal-switcher,.modal-actions{padding-left:12px;padding-right:12px}}.drawer-overlay{z-index:90;background:#00000080;position:fixed;inset:0}.drawer-panel{z-index:100;width:min(320px,100vw - 2rem);height:100%;box-shadow:var(--shadow-float);transition:transform var(--duration-slow) ease;background:#fff;flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer-panel.is-open,.drawer-panel[data-state=open]{transform:translate(0)}.drawer-header{padding:var(--space-4);border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;display:flex}.drawer-brand-link{color:var(--color-brand-900);align-items:center;text-decoration:none;display:inline-flex}.drawer-brand-logo{width:32px;height:32px;margin-right:var(--space-2)}.drawer-brand-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.drawer-content{gap:var(--space-2);padding:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-link-list{gap:var(--space-1);margin-bottom:var(--space-4);color:#4b5563;font-size:var(--font-size-base);flex-direction:column;display:flex}.drawer-link-item{border-radius:var(--radius-sm);color:inherit;transition:background var(--duration-normal) ease;padding:8px 12px;text-decoration:none}.drawer-link-item:hover{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface))}.drawer-action{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);transition:background var(--duration-normal) var(--ease-out);border:0;text-decoration:none;display:flex}.drawer-action-primary{background:var(--color-brand-50);color:var(--color-text)}.drawer-action-primary:hover{background:var(--color-brand-100)}.drawer-action-default{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface));color:var(--color-text)}.drawer-action-default:hover{background:color-mix(in srgb, var(--color-text) 7%, var(--color-surface))}.drawer-action-danger{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface));color:var(--color-danger)}.drawer-action-danger:hover{background:var(--color-bg-danger)}.workspace-drawer{z-index:45;position:fixed;inset:0}.workspace-drawer-backdrop{background:#0f172a5c;position:absolute;inset:0}.workspace-drawer-panel{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:min(90vw,360px);display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:20px 0 45px #0f172a38}.workspace-drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:#fbfdff;min-height:54px;padding:0 14px;display:flex}.workspace-drawer-title{font-size:var(--font-size-base);color:var(--color-text);font-weight:900}@media (width<=639px){.workspace-drawer-panel{width:min(94vw,420px)}}.workspace-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(1440px,100% - 8px);box-shadow:var(--shadow-card);margin:0 auto;overflow:hidden}.workspace-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;justify-content:space-between;align-items:center;gap:22px;padding:18px 22px;display:flex}.workspace-summary h1{font-size:var(--font-size-xl);letter-spacing:0;margin:0;line-height:1.35}.workspace-summary p{color:var(--color-text-muted);font-size:var(--font-size-base);margin:10px 0 0}.workspace-summary-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.workspace-pane-head{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:56px;padding:0 14px;display:flex}.workspace-pane-head h2{font-size:var(--font-size-md);color:var(--color-text);letter-spacing:0;margin:0;font-weight:800}.workspace-pane-actions,.workspace-pane-title-wrap{align-items:center;gap:6px;min-width:0;display:flex}.workspace-pane-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.workspace-search{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:10px 14px}.workspace-list{padding:var(--space-2);margin:0;list-style:none}.workspace-list-item{color:#25334a;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px;display:grid}.workspace-list-item:hover{background:var(--color-bg)}.workspace-list-item:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand-500) 24%, transparent);outline-offset:2px}.workspace-list-item.is-active,.workspace-list-item[data-state=active]{background:var(--color-brand-50);border-color:var(--color-brand-100);color:var(--color-brand-800)}.workspace-list-icon{width:22px;height:22px;color:var(--color-text-muted);place-items:center;display:inline-grid}.workspace-list-item.is-active .workspace-list-icon,.workspace-list-item[data-state=active] .workspace-list-icon{color:var(--color-brand-700)}.workspace-list-main{min-width:0}.workspace-list-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);font-weight:800;line-height:1.35;display:block;overflow:hidden}.workspace-list-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;display:flex}@media (width<=639px){.breadcrumb-row{padding:var(--space-3)}.workspace-summary{padding:14px;display:block}.workspace-summary h1{font-size:var(--font-size-md)}.workspace-summary p{font-size:var(--font-size-sm)}.workspace-summary-actions{margin-top:var(--space-3);grid-template-columns:1fr;display:grid}}.action-bar-safe-space{height:92px}.action-bar{z-index:35;border-top:1px solid var(--color-border);backdrop-filter:blur(14px);background:#fffffff0;padding:12px 0;position:fixed;bottom:0;left:0;right:0}.action-bar-inner{width:min(var(--max-content), calc(100% - 32px));padding:0 var(--space-2);align-items:center;gap:var(--space-3);flex-wrap:nowrap;margin:0 auto;display:flex}.action-bar-count{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.action-bar-count-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);line-height:1}.action-bar-count-number{font-size:var(--font-size-2xl);color:var(--color-text);font-weight:900;line-height:1}.action-bar-count-unit{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.ab-slot{display:contents}.ab-left,.ab-center,.ab-right{align-items:center;gap:var(--space-2);display:flex}.action-bar--forward .action-bar-inner{justify-content:space-between}.action-bar--forward .ab-left{flex:0 auto;min-width:0}.action-bar--forward .ab-right{flex:none}.action-bar--pager .action-bar-inner{gap:var(--space-3);grid-template-columns:1fr auto 1fr;display:grid}.action-bar--pager .ab-left{justify-content:flex-start}.action-bar--pager .ab-center{justify-content:center}.action-bar--pager .ab-right{justify-content:flex-end}.action-bar--grade .action-bar-inner{justify-content:space-between}.action-bar--grade .ab-left{flex-wrap:nowrap;flex:none}.action-bar--grade .ab-right{flex:none}#practice-action-bar .ab-center{min-width:0}#practice-action-bar .lp-practice-center{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}#practice-action-bar .lp-inline-grade:not(.is-hidden){align-items:center;gap:var(--space-2);display:flex}#practice-action-bar .lp-main-actions{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}@media (width<=1024px){.action-bar-safe-space{height:104px}}@media (width<=640px){.action-bar{padding:8px 0}.action-bar-inner{width:min(var(--max-content), calc(100% - 20px));gap:var(--space-2);padding:0}.action-bar .btn{min-height:40px;font-size:var(--font-size-sm);padding:8px 12px}.action-bar-count-number{font-size:var(--font-size-xl)}.action-bar-count-unit{font-size:var(--font-size-xs)}.action-bar--forward .action-bar-inner{justify-content:space-between}.action-bar--forward .ab-left{flex:0 auto}.action-bar--forward .ab-right{flex:none}.action-bar--forward .ab-left .btn,.action-bar--forward .ab-right .btn{white-space:nowrap}.action-bar--pager .action-bar-inner{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"left center right";align-items:center;display:grid}.action-bar--pager .ab-left{grid-area:left;justify-content:flex-start}.action-bar--pager .ab-center{justify-content:center;align-items:center;gap:var(--space-2);flex-flow:row;grid-area:center;min-width:0}.action-bar--pager .ab-right{grid-area:right;justify-content:flex-end}.action-bar--pager .ab-left .btn,.action-bar--pager .ab-center .btn,.action-bar--pager .ab-right .btn{white-space:nowrap}.action-bar--grade .action-bar-inner{align-items:stretch;gap:var(--space-2);flex-direction:column}.action-bar--grade .ab-left{gap:var(--space-2);width:100%}.action-bar--grade .ab-left .ox-btn,.action-bar--grade .ab-left .btn{flex:1;min-width:0}.action-bar--grade .ab-right{gap:var(--space-2);flex-wrap:nowrap;width:100%}.action-bar--grade .ab-right .btn{white-space:nowrap;flex:1;min-width:0}.action-bar-wrap:has(.action-bar--forward) .action-bar-safe-space,.action-bar-wrap:has(.action-bar--pager) .action-bar-safe-space,.action-bar-wrap:has(#practice-action-bar) .action-bar-safe-space{height:76px}.action-bar-wrap:has(.action-bar--grade) .action-bar-safe-space{height:128px}.action-bar-wrap:has(#practice-action-bar:not(.is-single-mode)) .action-bar-safe-space{height:104px}.action-bar-wrap:has(#practice-action-bar.is-single-mode) .action-bar-safe-space{height:168px}}.admin-banner{color:#fff;text-align:center;background:#ef4444;padding:4px 0}.app-header{z-index:40;backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #e2e8f0;position:sticky;top:0}.app-header-inner{width:min(var(--max-content), calc(100% - 32px));padding:0 var(--space-2);margin:0 auto}.app-header-row{align-items:center;gap:18px;min-height:72px;padding:0;display:flex}.app-header-brand-wrap{align-items:center;display:flex}.app-header-brand-link{color:var(--color-brand-900);transition:color var(--duration-normal) ease;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.app-header-brand-link:hover{color:var(--color-brand-700)}.app-header-logo{object-fit:contain;width:40px;height:40px}.app-header-brand-title-desktop,.app-header-brand-title-mobile{font-size:var(--font-size-md);letter-spacing:0;font-weight:800}.app-header-brand-title-mobile{display:inline}.app-header-brand-title-desktop{display:none}.app-header-burger{color:#6b7280;cursor:pointer;background:0 0;border:0;margin-left:auto;display:none}.app-header-burger:hover{color:var(--color-text)}.app-header-controls{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.app-header-dashboard-link,.app-header-link{color:#334155;min-height:72px;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex;position:relative}.app-header-dashboard-link:hover,.app-header-link:hover{color:var(--color-brand-700)}.app-header-dashboard-link:after,.app-header-link:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:10px;right:10px}.app-header-dashboard-link:hover:after,.app-header-link:hover:after{background:var(--color-brand-600)}.app-header-menu-desktop{align-items:center;gap:var(--space-4);display:none}.app-header-link-list{margin-right:var(--space-4);align-items:center;gap:2px;display:flex}.header-timer-wrap,.header-user-wrap{position:relative}.header-timer-pill{align-items:center;gap:var(--space-2);min-height:42px;color:var(--color-brand-700);border-radius:var(--radius-md);font-weight:800;font-size:var(--font-size-md);cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;background:#ecfdf5;border:1px solid #a7f3d0;padding:0 14px;line-height:1;display:inline-flex;box-shadow:0 10px 24px -18px #047857e6}.header-timer-pill:hover{border-color:var(--color-brand-600);transform:translateY(-1px);box-shadow:0 12px 26px -18px #047857}.header-user-pill{align-items:center;gap:var(--space-2);color:#1e293b;min-height:42px;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:3px 10px 3px 3px;display:inline-flex}.header-user-pill:hover{color:var(--color-text);background:0 0}.header-user-avatar{color:#fff;width:34px;height:34px;font-size:var(--font-size-base);background:#64748b;border-radius:999px;place-items:center;font-weight:800;line-height:1;display:inline-grid}.header-popover{border-radius:var(--radius-md);min-width:210px;box-shadow:var(--shadow-float);padding:var(--space-2);z-index:110;background:#fff;border:1px solid #e2e8f0;position:absolute;top:calc(100% + 8px);right:0}.header-popover-item{align-items:center;gap:var(--space-2);color:#1e293b;border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);text-align:left;cursor:pointer;background:#fff;border:0;padding:10px 12px;text-decoration:none;display:inline-flex}.header-popover-item:hover{background:color-mix(in srgb, var(--color-text) 4%, var(--color-surface))}.header-popover-item-danger{color:#dc2626}@media (width>=640px){.app-header-inner{padding:0 16px}.app-header-brand-title-mobile{display:none}.app-header-brand-title-desktop{display:inline}}@media (width<=767px){.app-header-controls{gap:var(--space-2);order:2;margin-left:auto}.app-header-dashboard-link,.header-user-wrap{display:none}.app-header-burger{order:3;justify-content:center;align-items:center;width:40px;height:40px;margin-left:0;display:inline-flex}}@media (width<=639px){.app-header-row{gap:10px;min-height:64px}.header-timer-pill{min-height:38px;font-size:var(--font-size-base);padding:0 10px}.header-user-pill{min-height:38px}}@media (width>=768px){.app-header-burger{display:none}.app-header-menu-desktop{display:inline-flex}}.header-timer-modal-card{width:min(520px,100%);box-shadow:var(--shadow-float);border:1px solid #dbe4dd;border-radius:18px}.header-timer-modal-body{padding:18px;overflow:auto}.header-timer-modal-head{flex-shrink:0}.header-timer-mode-segment{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.header-timer-mode-segment[data-visible-count="3"]{grid-template-columns:repeat(3,1fr)}.header-timer-mode-btn{color:#334155;font-size:var(--font-size-sm);cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 8px;display:inline-flex}.header-timer-mode-btn[aria-pressed=true]{color:#047857;background:#ecfdf5;border-color:#10b981}.header-timer-modal-value{text-align:center;font-size:var(--font-size-5xl);line-height:1.1;font-weight:var(--font-weight-bold);letter-spacing:.04em;font-variant-numeric:tabular-nums;margin-bottom:var(--space-4);color:#0f172a}.header-timer-modal-value.mode-pomodoro{color:#047857}.header-timer-modal-value.mode-countdown{color:#1d4ed8}.header-timer-modal-value.mode-exam{color:#c2410c}.header-timer-modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.header-timer-modal-actions .btn-primary,.header-timer-modal-actions .btn-secondary{border-radius:var(--radius-md);min-height:46px;font-weight:var(--font-weight-bold)}.header-timer-modal-actions .btn-primary{color:#fff;background:linear-gradient(135deg,#059669,#047857);border:1px solid #047857}.header-timer-modal-actions .btn-secondary{color:#1f2937;background:#fff;border:1px solid #cfd8e3}.header-timer-modal-value-wrap{margin-bottom:14px}.header-timer-modal-input{border-radius:var(--radius-md);text-align:center;width:100%;height:56px;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:#1d4ed8;border:1px solid #93c5fd}.header-timer-settings-panel{padding:var(--space-3);background:#fbfefc;border:1px solid #dbe8e0;border-radius:14px;margin:-2px 0 14px}.header-timer-settings-head{justify-content:flex-end;margin-bottom:10px;display:flex}.header-timer-settings-head small{color:#64748b;font-size:var(--font-size-xs)}.header-timer-settings-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.header-timer-setting-field{gap:5px;display:grid}.header-timer-setting-field span,.header-timer-setting-field small{color:#64748b;font-size:var(--font-size-xs);line-height:1.2}.header-timer-setting-field input{color:#0f172a;width:100%;min-height:38px;font-size:var(--font-size-md);text-align:center;background:#fff;border:1px solid #d7dee8;border-radius:10px;font-weight:800}.header-timer-setting-field input:focus{border-color:#10b981;outline:3px solid #10b9812e}.header-timer-inline-form{gap:var(--space-3);display:grid}.header-timer-inline-field{gap:6px;display:grid}.header-timer-inline-field>span{color:#64748b;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.header-timer-inline-input-wrap{gap:6px;display:grid}.header-timer-inline-input-wrap small{color:#64748b;font-size:var(--font-size-xs);text-align:right}.header-timer-inline-help{color:#64748b;font-size:var(--font-size-xs);margin:0}.header-timer-inline-actions{justify-content:flex-end;display:flex}.header-timer-inline-actions .btn{min-width:120px}@media (width<=639px){.header-timer-settings-grid{grid-template-columns:1fr 1fr}.header-timer-inline-actions .btn{width:100%}}.app-footer{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:auto;padding:32px 0}.app-footer-inner{flex-direction:column;align-items:center;display:flex}.app-footer-links{margin-bottom:var(--space-4);gap:var(--space-6);display:flex}.app-footer-link{color:#6b7280;font-size:var(--font-size-base);transition:color var(--duration-normal) ease;text-decoration:none}.app-footer-link:hover{color:#374151}.app-footer-copy{text-align:center}.app-footer-copy-main{color:#9ca3af;font-size:var(--font-size-sm);margin:0 0 4px}.app-footer-brand{color:#6b7280;font-weight:var(--font-weight-semibold)}.app-footer-copy-sub{color:#9ca3af;font-size:var(--font-size-sm);margin:0}.img-mgr{gap:var(--space-2);flex-direction:column;display:flex}.img-mgr-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.img-mgr-thumbs{gap:var(--space-2);flex-wrap:wrap;min-height:1rem;display:flex}.img-mgr-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:zoom-in;width:80px;height:80px;position:relative;overflow:hidden}.img-mgr-thumb img{object-fit:cover;width:100%;height:100%;display:block}.img-mgr-thumb-remove{top:var(--space-1);right:var(--space-1);background:var(--color-danger);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:none;position:absolute}.img-mgr-thumb:hover .img-mgr-thumb-remove{display:flex}.img-mgr-status{font-size:var(--font-size-xs);color:var(--color-text-subtle);min-height:1rem}.img-mgr-status.is-error{color:var(--color-danger-600,var(--color-danger))}.img-mgr-status.is-success{color:var(--color-brand-600);font-weight:var(--font-weight-semibold)}.img-mgr-drop{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-xs);color:var(--color-text-subtle);cursor:pointer;text-align:center;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;flex-direction:column;display:flex}.img-mgr-drop.is-dragover{border-color:var(--color-brand-400);background:var(--color-brand-50);color:var(--color-brand-700)}.img-mgr-drop.is-hidden{display:none}.img-mgr-upload{align-items:center;gap:var(--space-1);display:inline-flex}.img-mgr-file-input.is-hidden{display:none}.img-mgr-slot{width:100%}.img-mgr-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;display:flex;overflow:hidden}.img-mgr-item.is-dragging{opacity:.5}.img-mgr-item.is-drag-over{border-top:2px solid var(--color-brand-400)}.img-mgr-drag-handle{padding:0 var(--space-2);color:var(--color-text-faint);font-size:var(--font-size-sm);letter-spacing:2px;cursor:grab;user-select:none;background:var(--color-bg);border-right:1px solid var(--color-border);flex-shrink:0;align-items:center;display:flex}.img-mgr-item-content{flex:1;min-width:0;position:relative}.img-mgr-item-img{cursor:zoom-in;width:100%;height:auto;display:block}.img-mgr-item-content .img-mgr-thumb-remove{top:var(--space-1);right:var(--space-1);display:none;position:absolute}.img-mgr-item:hover .img-mgr-thumb-remove{display:flex}.img-panel{border:1px solid var(--color-brand-200);border-radius:var(--radius-md);background:var(--color-brand-50)}.img-panel-head{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-brand-200);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-700)}.img-panel-body{padding:var(--space-3);background:var(--color-surface);border-radius:0 0 var(--radius-md) var(--radius-md)}.km-modal-card{max-height:min(88vh,760px)}.km-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.km-modal-subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.km-tabs{gap:var(--space-2)}.km-tab{min-width:120px}.km-panel{flex-direction:column;min-height:240px;display:flex}.km-panel.is-hidden{display:none}.km-search-bar{border-bottom:1px solid var(--color-border)}.km-search-field{flex:1;min-width:0}.km-results{gap:var(--space-2);flex-direction:column;min-height:280px;display:flex}.km-result-item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:flex}.km-result-copy{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.km-result-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);word-break:break-word;margin:0}.km-result-group,.km-result-preview{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.km-result-preview{line-height:var(--leading-relaxed)}.km-result-group.is-hidden,.km-result-preview.is-hidden{display:none}.km-link-btn{flex-shrink:0;min-width:96px}.km-link-btn.is-danger{border-color:var(--color-danger-200);background:var(--color-danger-50);color:var(--color-danger-700)}.km-link-btn.is-danger:hover{background:var(--color-danger-100)}.km-create-fields{gap:var(--space-4);flex-direction:column;display:flex}.km-create-note{margin:var(--space-4) 0 0;font-size:var(--font-size-xs);color:var(--color-text-subtle)}@media (width<=640px){.km-result-item{flex-direction:column}.km-link-btn{width:100%}}.lk-list{gap:var(--space-3);display:grid}.lk-empty{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.lk-chip-list{gap:var(--space-2);flex-wrap:wrap;min-height:32px;display:flex}.lk-card{gap:var(--space-3);padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);display:grid}.lk-card:first-child{border-top:none;padding-top:0}.lk-open-link{font-size:var(--font-size-xs);color:var(--color-brand-600,#059669);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);flex-shrink:0;text-decoration:none}.lk-open-link:hover{text-decoration:underline}.lk-accordion+.lk-accordion{margin-top:var(--space-2)}.lk-accordion>.accordion-body{gap:var(--space-3);padding:var(--space-4);display:grid}.lk-form-fields{gap:var(--space-3);grid-template-columns:minmax(140px,.4fr) minmax(0,1fr);display:grid}.lk-form-preview{padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-text);white-space:pre-wrap;line-height:var(--leading-relaxed);font-size:var(--font-size-sm)}.lk-form-keywords{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.lk-form-keywords .kw-add-input{width:10rem}.lk-form-editor{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:120px;overflow:hidden}.lk-form-note{gap:var(--space-2);display:grid}.lk-form-actions{justify-content:space-between;gap:var(--space-2);display:flex}.lk-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.lk-card-meta{gap:var(--space-2);flex:1;display:grid}.lk-ref-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.lk-ref-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.lk-ref-chapter{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.lk-ref-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;overflow:hidden}.lk-ref-link{flex-shrink:0}.lk-ref-empty{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.lk-ref-count{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media (width<=640px){.lk-form-fields{grid-template-columns:1fr}}.ad-slot{margin-block:var(--space-2)}.ad-slot-inner{justify-content:center;display:flex}}@layer pages{.dashboard-page{gap:var(--space-4);background:0 0;padding-block-start:var(--space-12);display:grid}.dashboard-toolbar{min-height:var(--space-10);justify-content:flex-end;align-items:center;display:flex}.mission-title-row,.mission-subtitle-row{align-items:center;gap:var(--space-2);display:inline-flex}.mission-title-row svg,.mission-subtitle-row svg{fill:none;width:18px;height:18px;stroke:var(--color-danger);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.mission-subtitle-row svg{stroke:var(--color-warning)}.mission-panel{grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:18px;display:grid}.dashboard-resume-panel{gap:var(--space-3);display:grid}.dashboard-resume-head{gap:var(--space-1);display:grid}.dashboard-resume-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.dashboard-resume-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.dashboard-resume-item{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.dashboard-resume-meta{gap:var(--space-2);flex-wrap:wrap;flex:auto;align-items:center;min-width:0;display:flex}.dashboard-resume-book{font-weight:var(--font-weight-medium);color:var(--color-text)}.dashboard-resume-updated{font-size:var(--font-size-sm);color:var(--color-text-muted)}.mission-side-stack{gap:var(--space-3);display:grid}.mission-main{background:var(--color-brand-50);border:1px solid var(--color-brand-200);padding:18px var(--space-5);border-radius:14px;flex-direction:column;display:flex}.mission-side{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-4);border-radius:14px;min-height:0}.mission-side h3{margin:0 0 var(--space-3);font-size:var(--font-size-md);line-height:var(--leading-snug);font-weight:var(--font-weight-semibold);color:var(--color-brand-900)}.mission-focus{margin-top:var(--space-3);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;display:grid}.mission-icon{border:2px solid var(--color-brand-200);background:var(--color-brand-50);border-radius:999px;place-items:center;width:72px;height:72px;display:grid}.mission-icon svg{fill:none;width:34px;height:34px;stroke:var(--color-brand-700);stroke-width:1.6px}.mission-icon svg *{fill:none}.mission-copy{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-brand-900);line-height:1.5;font-weight:var(--font-weight-bold)}.mission-reason{color:var(--color-danger);font-size:var(--font-size-sm);line-height:var(--leading-normal);font-weight:var(--font-weight-semibold);margin:0}.mission-progress-row{align-items:end;gap:var(--space-4);grid-template-columns:minmax(0,1fr) 250px;margin-top:14px;display:grid}.mission-progress-main{gap:var(--space-2);display:grid}.mission-progress-label{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.mission-progress-text{align-items:baseline;gap:var(--space-2);display:inline-flex}#mission-total-count{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-brand-900)}#mission-total-count.is-complete{color:var(--color-brand-600)}#mission-total-count span{font-size:var(--font-size-xl);color:var(--color-text-muted)}.mission-progress-text small{font-size:var(--font-size-base);color:var(--color-text-muted)}.mission-bar{height:var(--space-4);background:var(--color-border);border-radius:999px;overflow:hidden}#mission-total-bar{background:var(--color-brand-700);width:0%;height:100%;transition:width var(--duration-slow) var(--ease-out);border-radius:999px}.mission-metrics{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.mission-actions{padding-top:var(--space-3);gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;margin-top:auto;display:flex}.backlog-summary-panel .panel-head{margin-bottom:var(--space-2)}.backlog-book-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.backlog-book-list-item{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;flex-direction:column;gap:4px;text-decoration:none;transition:border-color .15s;display:flex}.backlog-book-list-item:hover{border-color:var(--color-brand-400)}.backlog-book-list-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.backlog-book-list-counts{gap:var(--space-3);display:flex}.backlog-book-list-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.backlog-book-list-count strong{font-weight:var(--font-weight-semibold);color:var(--color-brand-700)}.backlog-quick-btn{white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.backlog-quick-btn.is-disabled{opacity:.45;pointer-events:none}.backlog-btn-count{font-size:var(--font-size-xs);color:inherit;opacity:.75}.backlog-manage-link{font-size:var(--font-size-sm);color:var(--color-brand-700);text-decoration:none;display:block}.backlog-manage-link:hover{text-decoration:underline}.streak-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.streak-grid p{font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.streak-grid strong{color:var(--color-brand-900);font-size:34px}.streak-bars{height:72px;margin-top:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:6px;display:grid}.streak-week-col{place-items:end center;gap:var(--space-1);display:grid}.streak-bar-col{width:var(--space-3);min-height:var(--space-3);border-radius:4px 4px 0 0}.streak-week-day{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1}.streak-note{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.dashboard-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.calendar-toggle{gap:6px;display:flex}.week-grid{gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-day-cell{text-align:center}.cal-day-label{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.cal-day-date{width:min(44px,100%);height:44px;margin:var(--space-2) auto 6px;background:var(--color-bg);color:var(--color-text);border-radius:999px;place-items:center;display:grid}.cal-day-date.today{outline:2px solid var(--color-brand-700);outline-offset:2px}.cal-day-date.low{background:var(--color-brand-100)}.cal-day-date.mid{background:var(--color-brand-300)}.cal-day-date.high{background:var(--color-brand-500);color:var(--color-surface)}.cal-count-row{align-items:center;gap:var(--space-1);display:inline-flex}.cal-count-stack{flex-direction:column;gap:2px;display:inline-flex}.cal-count-dot{border-radius:999px;width:6px;height:6px}.cal-count-dot-exercise{background:var(--color-brand-600)}.cal-count-dot-knowledge{background:var(--color-warning)}.cal-count-val{font-size:var(--font-size-xs);color:var(--color-text-muted)}.month-nav{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}#calendar table{border-collapse:separate;width:100%;border-spacing:var(--space-1)}#calendar th,#calendar td{text-align:center;font-size:var(--font-size-sm)}#calendar td{border-radius:var(--space-3);min-height:56px;padding:6px 2px}.day-number{font-size:var(--font-size-xs)}.day-heat-low{background:color-mix(in srgb, var(--color-brand-500) 15%, transparent)}.day-heat-mid{background:color-mix(in srgb, var(--color-brand-500) 28%, transparent)}.day-heat-high{background:color-mix(in srgb, var(--color-brand-500) 42%, transparent)}.day-today{outline:2px solid var(--color-brand-700)}.activity-badge{flex-direction:column;align-items:center;gap:2px;display:flex}.input-count,.output-count{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);display:inline-flex}.count-dot{border-radius:999px;width:5px;height:5px}.check-list{margin:0;padding:0;list-style:none}.check-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);color:var(--color-text);display:flex}.check-item{align-items:center;gap:var(--space-2);display:inline-flex}.check-item svg{width:var(--space-4);height:var(--space-4);fill:none;stroke:var(--color-text);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.check-list li:last-child{border-bottom:0}.book-panel .panel-head{margin-bottom:var(--space-3)}.book-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.shelf-empty{text-align:center;padding:var(--space-16) var(--space-4);color:var(--color-text-subtle)}.shelf-empty-icon{width:48px;height:48px;color:var(--color-text-faint);margin-bottom:var(--space-3);display:inline-block}.shelf-empty-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-base);margin:0 0 var(--space-2)}.shelf-empty-copy{font-size:var(--font-size-sm);color:var(--color-text-subtle);margin:0}.book-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:var(--space-3);grid-template-columns:96px minmax(0,1fr);padding:13px;display:grid}.book-main{min-width:0}.book-cover-wrap{border-radius:var(--space-2);width:96px;height:132px;overflow:hidden}.book-cover-wrap .isbn{width:100%;height:100%;display:block}.book-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.book-summary{margin-top:var(--space-2);gap:2px;display:grid}.book-summary-primary,.book-summary-secondary{font-size:var(--font-size-sm);line-height:var(--leading-normal);margin:0}.book-summary-primary{color:var(--color-text);font-weight:var(--font-weight-medium)}.book-summary-secondary{color:var(--color-warning)}.book-meta-grid{margin-top:var(--space-3);gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.book-meta-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}.book-meta-chip span{font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.book-meta-chip strong{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-top:2px;display:block}.book-rate-row{margin-top:var(--space-3);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;display:grid}.book-rate-box{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3) var(--space-3)}.book-rate-box+.book-rate-box{border-left:1px solid var(--color-border)}.book-rate-head,.book-rate-sub{justify-content:space-between;align-items:baseline;display:flex}.book-rate-head{color:var(--color-text)}.book-rate-sub{font-size:var(--font-size-xs);margin-top:2px}.book-rate-box strong{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin-top:0;display:block}.book-rate-bar{margin-top:6px}.book-last{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);grid-column:1/-1}.book-footer{margin-top:var(--space-3);grid-column:1/-1;justify-content:flex-end;display:flex}.book-cta{min-width:112px}.stats-panel{gap:14px;display:grid}.stats-filter-row{gap:var(--space-3);grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:end;display:grid}.stats-filter-item{gap:6px;display:grid}.stats-filter-item span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stats-filter-range{min-width:0}.stats-result-container{gap:14px;display:grid}.stats-kpi-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stats-main-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(300px,1fr);display:grid}.stats-lower-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:14px}.stats-chart-wrap{height:240px;position:relative}.stats-pie-wrap{height:220px;position:relative}.stats-weak-list{gap:var(--space-3);display:grid}.stats-insight-card{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:color-mix(in srgb, var(--color-brand-50) 35%, white);display:grid}.stats-insight-head{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.stats-insight-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.stats-insight-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:4px 0 0}.stats-insight-progress{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.stats-insight-actions{justify-content:flex-start;align-items:center;gap:var(--space-2);display:flex}.stats-weak-item{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) 220px 42px;display:grid}.stats-weak-item-compact{grid-template-columns:minmax(0,1fr) minmax(120px,180px);align-items:start}.stats-weak-title{font-size:var(--font-size-base);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.stats-weak-score{font-size:var(--font-size-sm);color:var(--color-text);text-align:right}.stats-empty{padding:var(--space-3) 0;color:var(--color-text-subtle);font-size:var(--font-size-sm);margin:0}.stats-support-text{font-size:var(--font-size-sm);line-height:var(--leading-relaxed);color:var(--color-text-muted);margin:0}.stats-weak-score-wrap{justify-items:end;gap:2px;display:grid}.stats-weak-question-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:grid}.stats-weak-question-head{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.stats-weak-question-main{gap:var(--space-2);min-width:0;display:grid}.stats-weak-title-wrap{white-space:normal;text-overflow:clip;line-height:var(--leading-snug);overflow:visible}.stats-weak-question-history{min-width:0}.stats-weak-question-bar{width:min(220px,100%)}.stats-weak-question-history .qs-section-body{padding-top:0}.stats-weak-question-history .qs-history-row{margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:flex-start;align-items:start}.stats-weak-question-history .qs-history-dots{flex-wrap:wrap}.stats-weak-question-history .qs-history-dots span{block-size:24px;inline-size:24px}.stats-bottom-cta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stats-bottom-cta-copy h3{font-size:var(--font-size-lg);line-height:var(--leading-snug);color:var(--color-brand-900);margin:0}.stats-bottom-cta-copy p{margin:var(--space-1) 0 0;font-size:var(--font-size-base);line-height:var(--leading-normal);color:var(--color-brand-800)}.dashboard-layout-list{gap:var(--space-3);padding-top:var(--space-2);display:grid}.dashboard-layout-list label{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--color-text);display:inline-flex}@media (width<=1080px){.mission-panel,.dashboard-grid{grid-template-columns:1fr}.book-shelf,.stats-kpi-grid{grid-template-columns:1fr 1fr}.stats-main-grid,.stats-lower-grid{grid-template-columns:1fr}}@media (width<=760px){#streak-widget,#backlog-summary-panel{display:none}.dashboard-page{gap:var(--space-3);background:0 0;border:0;border-radius:0}#mission-total-count{font-size:28px}.mission-progress-row{gap:var(--space-3);grid-template-columns:1fr}.mission-metrics{grid-template-columns:1fr 1fr}.streak-grid strong{font-size:30px}.book-shelf{grid-template-columns:1fr}.book-card{padding:var(--space-3);grid-template-columns:80px minmax(0,1fr)}.book-card .book-cover-dashboard,.book-cover-wrap{width:80px;height:116px}.stats-kpi-grid,.stats-filter-row{grid-template-columns:1fr}.metric-card strong{font-size:var(--font-size-3xl)}.stats-weak-item{grid-template-columns:1fr;gap:6px}.stats-insight-head,.stats-insight-actions{grid-template-columns:1fr;display:grid}.stats-insight-progress,.stats-weak-item-compact{grid-template-columns:1fr}.stats-weak-score-wrap{justify-items:start}.stats-weak-question-head,.stats-bottom-cta{flex-direction:column;align-items:stretch}.book-footer{justify-content:stretch}.book-cta{text-align:center;justify-content:center;width:100%}}@media (width<=480px){.week-grid{gap:var(--space-1)}.cal-day-date{height:36px;font-size:var(--font-size-xs)}.cal-day-label{font-size:10px}}@media (width>=761px){.dashboard-grid{order:2}.book-panel{order:3}#dashboard-statistics{order:4}}.panel-head-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.opportunity-settings-card{width:min(480px,100%);padding:var(--space-6);max-height:88dvh;position:relative;overflow-y:auto}.opportunity-settings-heading{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.opportunity-settings-form{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.opportunity-settings-input{max-width:140px}.opportunity-settings-fieldset{border:none;margin:0;padding:0}.opportunity-category-list{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr;display:grid}.opportunity-category-item{font-size:var(--font-size-sm)}.opportunity-settings-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}@media (width>=561px){.opportunity-category-list{grid-template-columns:1fr 1fr}}.lp-page{background:var(--color-bg)}.lp-section,.lp-hero-section{padding:7rem 3.25rem}.lp-hero-section{background:var(--color-bg);align-items:center;min-height:100vh;padding-top:8rem;padding-bottom:5rem;display:flex;position:relative;overflow:hidden}.lp-container{width:100%;max-width:1160px;margin:0 auto}.lp-container-narrow{max-width:860px}.lp-container-form,.lp-container-cta{max-width:640px}.lp-container-faq{max-width:760px}.lp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);align-items:center;gap:4rem;display:grid;position:relative}.lp-hero-badge{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);border:1px solid var(--color-brand-100);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-brand-50) 70%, transparent);color:var(--color-brand-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase;padding:.45rem .75rem;display:inline-flex}.btn-hero,.btn-final,.btn-plan-solid,.btn-plan-disabled{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);min-height:44px;font-weight:var(--font-weight-bold);cursor:pointer;transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border:0;text-decoration:none;display:inline-flex}.btn-hero,.btn-final,.btn-plan-solid{background:var(--color-brand-600);color:var(--color-surface);padding:.85rem 1.25rem;box-shadow:0 14px 34px #0596693d}.btn-hero:hover,.btn-final:hover,.btn-plan-solid:hover{transform:translateY(-1px);box-shadow:0 18px 42px #0596694d}.btn-final{background:var(--color-surface);color:var(--color-brand-700)}.btn-plan-solid,.btn-plan-disabled{width:100%}.btn-plan-disabled{color:var(--color-text-faint);cursor:not-allowed;background:#f3f4f6;padding:.85rem 1.25rem}.animate-fade-in,.animate-fade-in-up{animation:.6s both lp-fade-in}.animate-fade-in-up{animation-name:lp-fade-in-up}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lp-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lp-hero-title,.lp-section-title,.lp-pain-title,.lp-final-title,.lp-report-title{color:var(--color-text);letter-spacing:-.025em;margin:0;font-weight:800;line-height:1.08}.lp-hero-title{font-size:clamp(2.5rem,4.5vw,3.75rem)}.lp-section-title{font-size:clamp(2.125rem,4vw,3.375rem)}.lp-pain-title{color:#f0f4f0;font-size:clamp(1.875rem,3.5vw,2.875rem)}.lp-report-title{font-size:clamp(1.5rem,3vw,2.25rem)}.lp-gradient-text{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-800));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;display:block}.lp-brand-text{color:var(--color-brand-700);font-style:normal}.lp-hero-copy,.lp-section-copy,.lp-muted-copy,.lp-small-copy,.lp-review-copy,.lp-final-copy,.lp-report-copy,.lp-error-text{color:var(--color-text-subtle);font-weight:var(--font-weight-light);line-height:1.75}.lp-hero-copy{max-width:440px;margin:28px 0 0;font-size:1.0625rem}.lp-hero-copy strong,.lp-plan-feature strong{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.lp-cta-stack{align-items:flex-start;gap:var(--space-3);flex-direction:column;margin-top:36px;display:flex}.lp-signup-note,.lp-review-user,.lp-report-copy,.lp-small-copy{font-size:var(--font-size-sm)}.lp-signup-note{color:var(--color-text-subtle);align-items:center;gap:.375rem;margin:0;display:flex}.lp-kpi-strip{gap:var(--space-3);margin-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-kpi-item{gap:var(--space-1);flex-direction:column;display:flex}.lp-kpi-num{color:var(--color-text);font-weight:var(--font-weight-bold)}.lp-kpi-label{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.lp-hero-visual-wrap{justify-content:center;align-items:center;display:flex}.lp-hero-grid-bg{pointer-events:none;background-image:linear-gradient(#0596690f 1px,#0000 1px),linear-gradient(90deg,#0596690f 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;mask-image:linear-gradient(#000,#0000 78%)}.lp-hero-visual{width:100%;height:420px;position:relative}.lp-mock-card{background:var(--color-surface);border:1px solid #0596692e;border-radius:16px;width:240px;position:absolute;overflow:hidden;box-shadow:0 12px 48px #0a1a0f21}.lp-mock-card-score{z-index:1;top:0;left:0;transform:rotate(-3deg)translateY(16px)}.lp-mock-card-recall{z-index:2;top:40px;right:0;transform:rotate(2deg)}.lp-mock-topbar{align-items:center;gap:var(--space-2);background:var(--color-brand-600);padding:12px 16px;display:flex}.lp-mock-card-recall .lp-mock-topbar{background:var(--color-brand-700)}.lp-mock-dot{border-radius:var(--radius-full);background:#ffffff80;width:6px;height:6px}.lp-mock-topline{border-radius:var(--radius-sm);background:#ffffff59;flex:1;height:8px}.lp-mock-body{padding:12px 16px 16px}.lp-mock-tag{border-radius:var(--radius-sm);color:var(--color-brand-600);letter-spacing:.1em;text-transform:uppercase;background:#05966912;padding:3px 8px;font-size:.5625rem;display:inline-flex}.lp-progress{height:5px;margin-top:var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius-sm);background:#0a1a0f12}.lp-progress-fill{border-radius:var(--radius-sm);background:var(--color-brand-500);width:66%;height:5px}.lp-mock-caption,.lp-recall-label{color:#0a1a0f85;font-size:.5rem}.lp-mock-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.lp-mock-row{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:#f8faf8;padding:8px 10px;display:flex}.lp-mock-row.is-pending{background:0 0;border:1px dashed #0a1a0f1f}.lp-mock-lines{flex:1}.lp-line{border-radius:var(--radius-sm);background:#0a1a0f1a;height:6px;margin-bottom:4px}.lp-line-short{background:#0a1a0f12;width:60%;height:5px;margin-bottom:0}.lp-line-medium{width:75%}.lp-line-small{width:50%}.lp-line-pending{background:#0a1a0f0d;width:65%}.lp-mark{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.lp-mark-ok{border:1.5px solid var(--color-brand-500);background:#dcfce7}.lp-mark-ng{background:#fee2e2;border:1.5px solid #f87171}.lp-mark-pending{border:1.5px dashed #0a1a0f33}.lp-recall-box{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:#f0fdf4;border:1px solid #0596691f}.lp-recall-action{margin-top:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-brand-600);font-size:.5625rem;font-weight:var(--font-weight-semibold);text-align:center;border:1px solid #05966940}.lp-score-row{margin-top:var(--space-2);gap:6px;display:flex}.lp-score-chip{border-radius:var(--radius-md);font-size:.5rem;font-weight:var(--font-weight-bold);text-align:center;flex:1;padding:8px 4px}.lp-score-chip.is-red{color:var(--color-danger-600);background:#fee2e2}.lp-score-chip.is-yellow{color:#ca8a04;background:#fef9c3}.lp-score-chip.is-green{color:var(--color-brand-600);background:#dcfce7}.lp-pain-section,.lp-final-cta-section{background:#06130b;padding:7rem 3.25rem}.lp-marquee-wrap{border-top:1px solid var(--color-brand-100);border-bottom:1px solid var(--color-brand-100);background:var(--color-surface);overflow:hidden}.lp-marquee-track{gap:var(--space-4);width:max-content;padding:var(--space-4) 0;animation:40s linear infinite lp-marquee;display:flex}.lp-marquee-item{color:var(--color-brand-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}@keyframes lp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp-pain-label{margin:0 0 var(--space-3);color:#f0f4f08c;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase}.lp-pain-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px;display:grid}.lp-pain-item{padding:var(--space-5);background:#ffffff0a;border:1px solid #f0f4f01f;border-radius:20px}.lp-pain-q{margin:0 0 var(--space-4);color:#f0f4f073;letter-spacing:.1em;font-size:.625rem}.lp-pain-text{margin:0 0 var(--space-4);color:#f0f4f0;font-weight:var(--font-weight-bold);line-height:1.55}.lp-pain-answer{color:#f0f4f09e;font-size:var(--font-size-sm);margin:0;line-height:1.7}.lp-pain-cta{text-align:center;margin-top:56px}.lp-pain-cta-note{margin:0 0 var(--space-5);color:#f0f4f080;font-size:var(--font-size-sm)}.lp-dual-section{background:var(--color-bg);padding:4rem 1rem 0}.lp-dual-label{margin:0 0 var(--space-5);color:var(--color-text-subtle);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-align:center}.lp-dual-pillar{display:flex}.lp-dual-cell{padding:var(--space-4) var(--space-8);background:var(--color-brand-600);color:var(--color-surface);text-align:center;flex:1}.lp-dual-cell:first-child{border-radius:20px 0 0 20px}.lp-dual-cell:last-child{background:var(--color-brand-700);border-radius:0 20px 20px 0}.lp-dual-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin:0}.lp-dual-copy{margin:var(--space-1) 0 0;color:#ffffffbf;font-size:var(--font-size-xs)}.lp-section-white{background:var(--color-surface)}.lp-section-surface{background:var(--color-bg)}.lp-section-brand{border-top:1px solid var(--color-brand-100);border-bottom:1px solid var(--color-brand-100);background:var(--color-brand-50)}.lp-section-brand-top{border-top:1px solid var(--color-brand-100);background:var(--color-brand-50)}.lp-section-border-top{border-top:1px solid var(--color-border)}.lp-section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:4.5rem;display:flex}.lp-steps-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-step-cell{padding:var(--space-6);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-subtle);border-radius:24px;position:relative;overflow:hidden}.lp-step-ghost{color:color-mix(in srgb, var(--color-brand-600) 8%, transparent);font-size:4rem;font-weight:var(--font-weight-bold);line-height:1;position:absolute;top:-.65rem;right:1rem}.lp-step-num{width:2rem;height:2rem;margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--color-brand-600);color:var(--color-surface);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:inline-flex}.lp-step-title,.lp-feature-title{margin:0 0 var(--space-2);color:var(--color-text);font-weight:var(--font-weight-bold)}.lp-step-chip{margin-top:var(--space-5);border-radius:var(--radius-full);background:var(--color-brand-50);color:var(--color-brand-700);font-size:.625rem;font-weight:var(--font-weight-bold);padding:.25rem .55rem;display:inline-flex}.lp-section-head-centered{margin-bottom:var(--space-16);text-align:center}.lp-section-label{margin:0 0 var(--space-3);color:var(--color-brand-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;display:inline-flex}.lp-section-label.is-centered{justify-content:center}.lp-section-copy{max-width:240px;font-size:var(--font-size-sm);margin:0}.lp-feature-layout,.lp-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4rem;display:grid}.lp-feature-list{gap:var(--space-3);margin-top:var(--space-8);flex-direction:column;display:flex}.lp-feature-row{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;display:flex}.lp-feature-num{color:var(--color-brand-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.lp-feature-tag{border-radius:var(--radius-full);background:var(--color-brand-50);color:var(--color-brand-700);font-size:.625rem;font-weight:var(--font-weight-bold);flex-shrink:0;padding:.25rem .5rem}.lp-curve-card,.lp-review-card,.lp-plan-cell,.lp-faq-item{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-subtle);border-radius:24px}.lp-curve-card{padding:var(--space-6)}.lp-curve-label{margin-bottom:var(--space-5);color:var(--color-text-subtle);letter-spacing:.08em;font-size:.625rem;display:inline-flex}.lp-review-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.lp-feature-copy{margin-top:var(--space-4);font-size:var(--font-size-base)}.lp-feature-body{flex:1;min-width:0}.lp-feature-desc,.lp-step-copy,.lp-curve-copy{color:var(--color-text-subtle);font-size:var(--font-size-sm);font-weight:var(--font-weight-light);margin:0;line-height:1.75}.lp-curve-copy{margin-top:var(--space-4);font-size:var(--font-size-xs)}.lp-review-copy{margin:0 0 var(--space-6);font-size:var(--font-size-sm)}.lp-section-brand .lp-section-title,.lp-section-brand-top .lp-section-title{margin-bottom:56px}.lp-review-card{padding:var(--space-6)}.lp-review-cert,.lp-plan-tag{margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--color-brand-50);color:var(--color-brand-700);font-size:.625rem;font-weight:var(--font-weight-bold);padding:.3rem .65rem;display:inline-flex}.lp-review-avatar{border-radius:var(--radius-full);background:var(--color-brand-600);width:2rem;height:2rem;color:var(--color-surface);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:inline-flex}.lp-pricing-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lp-plan-cell{padding:28px}.lp-plan-cell.highlight{border-color:var(--color-brand-200);box-shadow:0 18px 50px #05966924}.lp-plan-tag.muted{color:var(--color-text-subtle);background:#f3f4f6}.lp-plan-name{color:var(--color-text);font-weight:var(--font-weight-bold);margin:0}.lp-plan-price{margin:var(--space-2) 0 0;color:var(--color-text);font-size:2.5rem;font-weight:800;line-height:1}.lp-plan-price-note{margin:var(--space-2) 0 var(--space-6);color:var(--color-text-subtle);font-size:var(--font-size-sm)}.lp-plan-feature{align-items:flex-start;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;display:flex}.lp-plan-feature svg{flex-shrink:0;width:18px;height:18px;margin-top:.15rem}.lp-plan-feature.off{color:var(--color-text-subtle)}.lp-faq-item{padding:var(--space-5)}.lp-faq-item+.lp-faq-item{margin-top:var(--space-4)}.lp-faq-question{align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);color:var(--color-text);font-weight:var(--font-weight-bold);display:flex}.lp-faq-q-badge{border-radius:var(--radius-full);background:var(--color-brand-600);width:1.5rem;height:1.5rem;color:var(--color-surface);font-size:var(--font-size-xs);justify-content:center;align-items:center;display:inline-flex}.lp-faq-answer{color:var(--color-text-subtle);font-size:var(--font-size-sm);margin:0;line-height:1.8}.lp-review-user-row{align-items:center;gap:var(--space-3);display:flex}.lp-review-user{color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin:0}.lp-plan-features{margin:0 0 var(--space-8);flex-direction:column;gap:.875rem;padding:0;list-style:none;display:flex}.lp-final-cta-section{text-align:center}.lp-final-inner{padding:0 var(--space-5)}.lp-final-title{color:var(--color-surface);font-size:clamp(2rem,4vw,3.25rem)}.lp-final-copy{margin:var(--space-4) 0 var(--space-10);color:#ffffffb3;font-size:var(--font-size-base)}.lp-final-note{margin:var(--space-4) 0 0;color:#ffffff8c;font-size:var(--font-size-xs)}.lp-form-card{padding:var(--space-8);border:1px solid var(--color-brand-100);background:var(--color-brand-50);border-radius:24px}.lp-form-label{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:block}.lp-form-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;padding:.8rem .9rem}.lp-form-input:focus{border-color:var(--color-brand-500);outline:3px solid color-mix(in srgb, var(--color-brand-500) 18%, transparent)}.lp-form-field{margin-bottom:var(--space-5)}.lp-form-field-large{margin-bottom:var(--space-8)}.lp-form-input.is-textarea{resize:vertical;min-height:160px}.lp-form-actions{justify-content:flex-end;display:flex}.lp-error-text{margin:var(--space-1) 0 0;color:var(--color-danger-600);font-size:var(--font-size-xs)}@media (width<=1024px){.lp-section,.lp-hero-section,.lp-pain-section,.lp-final-cta-section{padding-right:var(--space-4);padding-left:var(--space-4)}.lp-hero-grid,.lp-feature-layout{grid-template-columns:1fr}.lp-hero-visual-wrap{display:none}.lp-section-head{flex-direction:column;align-items:flex-start}}@media (width<=768px){.lp-review-grid,.lp-pain-grid,.lp-steps-grid,.lp-pricing-grid{grid-template-columns:1fr}.lp-dual-pillar{flex-direction:column}.lp-dual-cell:first-child{border-radius:20px 20px 0 0}.lp-dual-cell:last-child{border-radius:0 0 20px 20px}}@media (width<=640px){.lp-kpi-strip{grid-template-columns:1fr}.lp-form-card{padding:var(--space-6)}}.bd-hero{gap:var(--space-5);padding:var(--space-6);margin-bottom:var(--space-5);grid-template-columns:1fr auto;align-items:start;display:grid}.bd-hero-main{align-items:flex-start;gap:var(--space-5);min-width:0;display:flex}.bd-hero-body{flex:1;min-width:0}.bd-hero-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--leading-tight);margin:0 0 var(--space-3)}.bd-hero-chips{margin-bottom:var(--space-3)}.bd-meta-grid{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.bd-meta-grid>div{flex-direction:column;gap:2px;display:flex}.bd-meta-grid dt{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-medium)}.bd-meta-grid dd{font-size:var(--font-size-sm);color:var(--color-text);margin:0}.bd-hero-actions{gap:var(--space-2);flex-direction:column;align-items:stretch;display:flex}.bd-hero-actions>a{white-space:nowrap;justify-content:center;text-decoration:none}.bd-actions-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.bd-action-card{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.bd-ac-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.bd-ac-head>div{min-width:0}.bd-ac-head>a{flex-shrink:0;text-decoration:none}.bd-ac-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);display:flex}.bd-ac-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.bd-ac-empty{padding:var(--space-4) 0 var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-3)}.bd-ac-empty-copy{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-subtle)}.bd-ac-empty-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-700);text-decoration:none}.bd-ac-empty-link:hover{color:var(--color-brand-800);text-decoration:underline}.bd-page-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.bd-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.bd-settings{grid-template-columns:1fr 1fr;display:grid}.bd-settings-col{padding:22px var(--space-6)}.bd-settings-col:first-child{border-right:1px solid var(--color-border)}.bd-settings-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-bg)}.bd-form-row{margin-bottom:14px}.bd-form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1);display:block}.bd-form-label-note{font-weight:var(--font-weight-regular);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.bd-form-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--space-1);line-height:1.55}.bd-input-row{gap:var(--space-2);align-items:stretch;display:flex}.bd-input-row .input{flex:auto;min-width:0}.bd-action-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.bd-empty{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-subtle)}.bd-empty p{margin:0 0 var(--space-3)}.bd-empty-icon{width:48px;height:48px;color:var(--color-text-faint);margin-bottom:var(--space-3);display:inline-block}.bd-empty-link{color:var(--color-brand-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;display:inline-block}.bd-empty-link:hover{color:var(--color-brand-800);text-decoration:underline}.bd-divider .bd-form-hint{margin-bottom:var(--space-2)}.bd-danger .bd-form-hint{margin-bottom:var(--space-3)}@media (width<=900px){.bd-hero{grid-template-columns:1fr}.bd-hero-actions{flex-flow:wrap}.bd-actions-grid,.bd-settings{grid-template-columns:1fr}.bd-settings-col:first-child{border-right:none;border-bottom:1px solid var(--color-border)}}@media (width<=640px){.bd-hero{padding:var(--space-4);gap:14px}.bd-hero-main{gap:14px}.bd-hero-actions{flex-direction:column}.bd-hero-actions .btn{justify-content:center;width:100%}.bd-action-card,.bd-settings-col{padding:var(--space-4)}}.lp-screen{background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-brand-600) 8%, transparent), transparent 42rem), var(--color-bg);min-height:100vh}.lp-main{padding:var(--space-4) var(--space-3) var(--space-8)}.lp-page-wrap{width:min(var(--max-page), calc(100% - var(--space-2)));margin:0 auto}.lp-container{gap:var(--space-4);display:grid}.lp-bulk-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.lp-bulk-summary-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-metric-label{font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.lp-metric-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.lp-today-strip{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-brand-200);border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-brand-50), var(--color-surface));color:var(--color-brand-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.lp-strip-left,.lp-strip-right{align-items:center;gap:var(--space-2);display:flex}.lp-strip-right{color:var(--color-brand-800);font-weight:var(--font-weight-bold)}.lp-strip-icon{border-radius:var(--radius-full);background:var(--color-brand-700);block-size:20px;inline-size:20px;color:var(--color-surface);place-items:center;display:grid}.lp-page-head{gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.lp-title-line{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.lp-section-title{margin:0;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2}.lp-group-badge{min-height:34px;padding:0 var(--space-3);border:1px solid var(--color-brand-200);border-radius:var(--radius-sm);background:var(--color-brand-50);color:var(--color-brand-800);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.lp-keyword-row{margin-top:var(--space-3);padding:var(--space-2) 0;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lp-keyword-label{font-weight:var(--font-weight-bold);color:var(--color-brand-700)}.lp-hint-btn{min-width:152px}.lp-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.lp-grid:not(.answer-hidden){grid-template-columns:repeat(2,minmax(0,1fr))}.lp-grid.lp-recall-focus{grid-template-columns:1fr}.lp-card-pad{padding:var(--space-4)}.lp-card-title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);display:flex}.lp-card-sub{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.lp-editor-box{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:160px;padding:var(--space-3)}.lp-count-row{margin-top:var(--space-1);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.lp-prev-recall-details.is-hidden{display:none}.lp-note-title-row{justify-content:space-between}.lp-btn-mini-save{min-height:32px}.lp-analysis-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lp-analysis-box{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3)}.lp-analysis-box.danger{border-color:var(--color-danger-200);background:var(--color-danger-50)}.lp-analysis-box.success{border-color:var(--color-border-success);background:var(--color-bg-success)}.lp-analysis-head{justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-bold);display:flex}.lp-analysis-head.danger{color:var(--color-danger-600)}.lp-analysis-head.success{color:var(--color-success)}.lp-summary-pill{border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--font-size-xs);border:1px solid}.lp-memo-card{border-color:var(--color-border);background:var(--color-surface)}.lp-progress-read{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);align-items:baseline;gap:6px;display:flex}.lp-progress-read strong{font-size:var(--font-size-2xl);color:var(--color-text)}.lp-ignored-words-empty{color:var(--color-text-subtle)}.lp-ignored-words-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.lp-ignored-word-chip{align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);min-height:32px;display:inline-flex}.lp-ignored-word-remove{min-height:26px}.lp-analysis-summary{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);margin-bottom:var(--space-3);display:flex}.lp-analysis-summary-main{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.lp-analysis-coverage{font-weight:var(--font-weight-bold);color:var(--color-text)}.lp-analysis-coverage span{font-size:var(--font-size-lg)}.lp-color-danger{color:var(--color-danger-600)}.lp-color-warning{color:var(--color-warning-700)}.lp-color-success{color:var(--color-success)}.lp-analysis-meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.lp-analysis-ignore-btn{color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:0}.lp-analysis-grid-inner{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lp-analysis-col-title{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2);align-items:center;display:inline-flex}.lp-analysis-col-title.danger{color:var(--color-danger-600);background:var(--color-danger-50)}.lp-analysis-col-title.success{color:var(--color-success);background:var(--color-bg-success)}.lp-analysis-empty{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-style:italic}.lp-analysis-chip-wrap{flex-wrap:wrap;gap:6px;display:flex}.lp-analysis-word-chip{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:1px solid #0000;align-items:center;display:inline-flex}.lp-analysis-word-chip.danger{color:var(--color-danger-600);border-color:var(--color-danger-200);background:var(--color-danger-50)}.lp-analysis-word-chip.success{color:var(--color-success);border-color:var(--color-border-success);background:var(--color-bg-success)}.lp-evaluation-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.lp-evaluation-item-head{justify-content:space-between;align-items:center;gap:var(--space-2);background:var(--color-bg);width:100%;padding:var(--space-3);text-align:left;border:0;display:flex}.lp-evaluation-item-title-wrap,.lp-evaluation-item-state{align-items:center;gap:var(--space-2);display:flex}.lp-evaluation-item-help{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:0}.lp-evaluation-item-body{padding:var(--space-3);border-top:1px solid var(--color-border)}.lp-evaluation-item-actions{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-evaluation-badge{min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);align-items:center;display:inline-flex}.lp-evaluation-badge[data-level="3"]{color:var(--color-brand-700);border-color:var(--color-brand-200);background:var(--color-brand-50)}.lp-evaluation-badge[data-level="2"]{color:var(--color-info);border-color:var(--color-border-info);background:var(--color-bg-info)}.lp-evaluation-badge[data-level="1"]{color:var(--color-danger-600);border-color:var(--color-danger-200);background:var(--color-danger-50)}.lp-eval-btn.is-selected{border-color:var(--color-brand-700);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-600) 20%, transparent)}.lp-evaluation-item.is-open .lp-evaluation-item-chevron{display:inline-block;transform:rotate(180deg)}.lp-inline-grade{gap:var(--space-2);flex-wrap:wrap;display:flex}.lp-grade-btn{min-width:0}.lp-grade-btn .ui-icon{width:1.2rem;height:1.2rem}.lp-single-eval-btn.is-selected{border-color:var(--color-brand-700);background:var(--color-brand-50);color:var(--color-brand-800);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-600) 20%, transparent)}#empty-state{text-align:center;padding:80px var(--space-3)}@media (width<=1024px){.lp-grid:not(.answer-hidden),.lp-bulk-summary-grid,.lp-analysis-grid,.lp-analysis-grid-inner,.lp-evaluation-item-actions{grid-template-columns:1fr}}@media (width<=640px){.lp-editor-box{min-height:120px}.lp-grid:not(.answer-hidden):not(.lp-recall-focus) #right-panel{-webkit-overflow-scrolling:touch;max-height:40vh;overflow-y:auto}}.lbe-screen{background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-brand-600) 8%, transparent), transparent 42rem), var(--color-bg);min-height:100vh}.lbe-shell{width:min(1500px,100% - 24px);padding:var(--space-4) var(--space-2) var(--space-4);margin:0 auto}.progress-strip{gap:var(--space-3);padding:var(--space-3);background:linear-gradient(90deg, var(--color-brand-50), var(--color-surface));border:1px solid var(--color-brand-200);border-radius:var(--radius-md);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.progress-copy{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-800);white-space:nowrap;display:flex}#progress-bar{transition:width var(--duration-normal) var(--ease-out)}.summary-card{margin-top:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.summary-head{justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.summary-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.summary-sub{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.stat-grid{flex:1;grid-template-columns:repeat(7,minmax(88px,1fr));gap:0;max-width:900px;display:grid}.stat{text-align:center;border-left:1px solid var(--color-border);padding:0 var(--space-2)}.stat:first-child{border-left:0}.stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-top:6px}.stat-value.status-review{color:var(--color-danger)}.stat-value.status-normal{color:var(--color-info)}.stat-value.status-understood{color:var(--color-brand-600)}.summary-actions{margin-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filters{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.primary-actions{gap:var(--space-2);display:flex}.list{margin-top:var(--space-3);gap:var(--space-2);display:grid}.eval-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);overflow:hidden}.item-row{grid-template-columns:42px minmax(220px,1.2fr) 330px 270px 120px;align-items:center;gap:14px;padding:14px 16px;display:grid}.status-dot{border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-subtle);border-radius:50%;place-items:center;display:grid}.status-dot svg{width:14px;height:14px}.status-dot.done{background:var(--color-success);color:var(--color-surface);border-color:var(--color-success)}.titlebox{min-width:0}.titleline{align-items:center;gap:6px;min-width:0;display:flex}.page-title{font-size:16px;font-weight:var(--font-weight-bold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eval-item .metrics{gap:var(--space-3);flex-wrap:wrap;align-items:center;min-height:32px;display:flex}.rating-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.rating{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;text-align:center;padding:8px 4px}.rating[data-level="3"]{color:var(--color-success);border-color:var(--color-border-success);background:var(--color-bg-success)}.rating[data-level="2"]{color:var(--color-warning-700);border-color:var(--color-warning-200);background:var(--color-warning-50)}.rating[data-level="1"]{color:var(--color-danger-600);border-color:var(--color-danger-200);background:var(--color-danger-50)}.rating.selected{box-shadow:inset 0 0 0 2px}.detail-toggle{white-space:nowrap;justify-self:end}.detail{border-top:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface), var(--color-bg));padding:var(--space-4);display:none}.eval-item.open .detail{display:block}.detail-stack{gap:var(--space-3);flex-direction:column;display:flex}.analysis-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4)}.analysis-panel .panel-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-text);display:flex}.detail-more-bar{margin-top:var(--space-2);justify-content:flex-end;display:flex}.extra-sections{display:none}.eval-item.show-extra .extra-sections{display:block}.content-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4)}.keyword-strip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:var(--space-3);margin-bottom:var(--space-3)}.keyword-strip-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex}.compare-tools{margin:0 0 var(--space-3);justify-content:flex-end;gap:8px;display:flex}.compare-mode{border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px var(--space-3);background:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);cursor:pointer}.compare-mode.active{background:var(--color-brand-700);color:var(--color-surface);border-color:var(--color-brand-700)}.compare-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.compare-grid.mode-recall{grid-template-columns:1fr}.compare-grid.mode-recall .note{display:none}.compare-grid.mode-note{grid-template-columns:1fr}.compare-grid.mode-note .recall{display:none}.compare-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;overflow:hidden}.compare-card.recall{background:color-mix(in srgb, var(--color-brand-50) 70%, var(--color-surface));border-color:var(--color-brand-200)}.compare-card.note{background:color-mix(in srgb, var(--color-warning-50) 60%, var(--color-surface));border-color:var(--color-warning-200)}.compare-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex}.compare-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;font-weight:var(--font-weight-regular)}.compare-body{padding:var(--space-3);min-height:150px;max-height:240px;line-height:var(--leading-relaxed);font-size:var(--font-size-sm);color:var(--color-text);overflow:auto}.compare-hint{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--leading-relaxed)}.note-save-row{margin-top:var(--space-2);justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=1100px){.item-row{grid-template-columns:36px 1fr}.metrics,.rating-buttons,.detail-toggle{grid-column:2}.detail-toggle{justify-self:start}.summary-head{flex-direction:column}.stat-grid{row-gap:var(--space-2);grid-template-columns:repeat(4,1fr);width:100%;max-width:none}.stat:nth-child(5){border-left:none}}@media (width<=760px){.lbe-shell{padding:0 10px var(--space-4)}.compare-grid,.compare-grid.mode-recall,.compare-grid.mode-note{grid-template-columns:1fr}.compare-grid.mode-recall .note,.compare-grid.mode-note .recall{display:none}}.learning-list-screen{background:var(--color-bg);color:var(--color-text)}.learning-list-shell{min-height:calc(100vh - var(--space-5));padding-block-start:var(--space-6)}.learning-summary-toggle{margin-right:var(--space-5);font-size:var(--font-size-sm);flex-shrink:0}.learning-list-screen .btn-mini{min-height:28px;font-size:var(--font-size-xs);padding:5px 9px}#add-group-btn,#add-group-btn-mobile,#drawer-close-btn,#add-page-btn,#toggle-side-panes-btn,#delete-page-btn,#open-drawer-btn{width:32px;min-width:32px;padding-inline:0}.learning-list-summary{column-gap:var(--space-5);row-gap:var(--space-3);margin:var(--space-4) var(--space-5);border:1px solid var(--color-border);background:var(--color-surface);padding:18px var(--space-6);border-radius:18px;grid-template:"cover.actions""cover main."/auto 1fr auto;align-items:center;display:grid}.learning-list-summary-main{grid-area:main;align-self:center}.workspace-summary-actions{grid-area:actions;place-self:center end}.learning-list-quiz-cond{margin:0 var(--space-5) var(--space-4)}.learning-list-quiz-cond .ps-grid{margin-block-end:0}.learning-advanced-panel{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.learning-advanced-panel.is-hidden{display:none}.learning-advanced-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.learning-advanced-summary{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.learning-advanced-preset-option{grid-template-columns:minmax(0,1fr) max-content;display:grid}.learning-advanced-preset-option .modal-list-meta{white-space:nowrap;justify-self:end}.learning-list-summary.is-hidden{display:none}.learning-summary-cover{background:linear-gradient(145deg, var(--color-brand-700) 0%, var(--color-brand-900) 100%);border-radius:6px;flex-shrink:0;grid-area:cover;justify-content:center;align-self:center;align-items:center;width:66px;height:94px;display:flex;overflow:hidden}.learning-summary-cover-text{color:#ffffffe6;font-size:9px;font-weight:900;line-height:var(--leading-snug);text-align:center;word-break:break-all;-webkit-line-clamp:5;-webkit-box-orient:vertical;padding:6px;display:-webkit-box;overflow:hidden}.learning-list-summary-main{min-width:0}.learning-list-summary-main h1{margin:0 0 var(--space-1);font-size:var(--font-size-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.learning-list-workspace{min-height:calc(100vh - 300px);margin:0 var(--space-5) 18px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:580px minmax(0,1fr);display:grid;overflow:hidden}.learning-list-workspace.is-side-collapsed{grid-template-columns:minmax(0,1fr)}.learning-navigation-pane{background:var(--color-surface);grid-template-columns:300px 280px;min-width:0;display:grid}.learning-left-pane,.learning-center-pane{border-right:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex}.learning-center-pane{background:var(--color-surface)}.learning-right-pane{background:var(--color-surface);flex-direction:column;min-width:0;display:flex}.learning-right-pane.is-mobile-collapsed{transform:none}.learning-mobile-toolbar,.learning-three-pane .only-mobile{display:none}.learning-three-pane{display:contents}.learning-three-pane .right-empty{justify-content:center;align-items:center;gap:var(--space-1);min-height:420px;color:var(--color-text-muted);font-size:var(--font-size-base);background:var(--color-surface);flex-direction:column;flex:1;display:flex}.learning-three-pane .right-empty p{margin:0}.learning-three-pane .right-empty .right-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-faint)}.learning-three-pane .right-content{flex-direction:column;height:100%;display:flex}.learning-three-pane .editor-top-row,.learning-three-pane .editor-group-row,.learning-three-pane .editor-note-row,.learning-three-pane .editor-recall-link{border-bottom:1px solid var(--color-border);padding:var(--space-3) 14px;background:var(--color-surface)}.learning-three-pane .editor-top-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.learning-three-pane .editor-group-row{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);grid-template-columns:auto minmax(160px,220px) 1fr;display:grid}.learning-three-pane .editor-keywords{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:var(--space-3) 14px;background:var(--color-surface);flex-wrap:wrap;min-height:44px;display:flex}.learning-three-pane .editor-body{min-height:360px;padding:var(--space-2) var(--space-3);flex:1;overflow-y:auto}.learning-three-pane .editor-recall-link a{color:var(--color-brand-700);font-size:var(--font-size-sm);font-weight:800;text-decoration:none}.learning-three-pane .editor-recall-link a:hover{color:var(--color-brand-800)}.editor-linked-questions{padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}.editor-linked-questions-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.editor-section-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.learning-list-summary .stat-row-flat{margin-top:var(--space-3);flex-wrap:wrap}.learning-list-summary .stat-row-value small{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:0}.learning-drawer-two-col{grid-template-rows:auto 1fr;grid-template-columns:1fr 1fr;width:min(90vw,440px);display:grid;overflow:hidden}.learning-drawer-header-full{grid-column:1/-1}.learning-drawer-col{flex-direction:column;min-height:0;display:flex;overflow:hidden}.learning-drawer-col+.learning-drawer-col{border-left:1px solid var(--color-border)}.learning-group-drawer{display:none}.learning-empty-item{padding:28px var(--space-3);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.learning-page-checkbox{width:var(--space-4);height:var(--space-4);accent-color:var(--color-brand-700)}.page-list-item{grid-template-columns:auto minmax(0,1fr) max-content}.learning-list-count{align-items:center;gap:var(--space-1);color:var(--color-brand-700);font-size:var(--font-size-sm);font-weight:900;display:inline-flex}.learning-row-actions{align-items:center;gap:var(--space-1);opacity:0;display:flex}.workspace-list-item:hover .learning-row-actions,.workspace-list-item:focus-within .learning-row-actions{opacity:1}.learning-row-action{width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.learning-row-action:hover{background:var(--color-surface);color:var(--color-brand-700)}.learning-row-action-danger:hover{color:var(--color-danger)}.pane-restore-bar{border-bottom:1px solid var(--color-border);padding:var(--space-3) 14px;background:var(--color-surface);align-items:center;display:flex}.learning-three-pane .editor-status-row{border-bottom:1px solid var(--color-border);padding:var(--space-3) 14px;background:var(--color-surface);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);grid-template-columns:auto minmax(120px,180px) 1fr;display:grid}.learning-three-pane .editor-status-label{white-space:nowrap}.recall-conditions-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:min(320px,100%);padding:14px 18px}.recall-cond-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.recall-cond-title{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.recall-cond-stats{gap:var(--space-5);display:flex}.recall-cond-stat{flex-direction:column;gap:3px;display:flex}.recall-cond-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.recall-cond-value{font-size:var(--font-size-base);color:var(--color-text);font-weight:800}.recall-cond-fields{gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.recall-cond-field{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.recall-cond-save-row{justify-content:flex-end;display:flex}@media (width<=860px){.recall-conditions-bar{margin:0 14px var(--space-3);justify-content:stretch}}.editor-status-select.status-select-3{background:var(--color-brand-50);color:var(--color-brand-700);font-weight:900}.editor-status-select.status-select-2{background:var(--color-bg-warning);color:var(--color-warning);font-weight:900}.editor-status-select.status-select-1{background:var(--color-bg-danger);color:var(--color-danger);font-weight:900}.learning-page-badges{flex-flow:row;justify-content:flex-end;align-items:flex-end;gap:4px;max-width:112px;display:flex}.learning-page-badges .chip{white-space:nowrap;min-height:22px;padding:3px 7px;font-size:11px;line-height:1.1}.learning-list-screen .is-drop-target{background:var(--color-brand-100)}.learning-list-screen .is-dragging{opacity:.5}.learning-list-screen .is-drop-above{border-top:2px solid var(--color-brand-600)}.learning-list-screen .is-drop-into{outline:1px solid var(--color-brand-200)}@media (width<=1180px){.learning-list-workspace{grid-template-columns:500px minmax(0,1fr)}.learning-navigation-pane{grid-template-columns:260px 240px}}@media (width<=860px){.learning-list-summary .stat-row-flat{gap:var(--space-3) 0;margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.learning-list-summary .stat-row-cell{border-left:0;padding:0}.learning-list-summary .stat-row-cell:first-child{padding-left:0}.learning-list-summary .stat-row-value{font-size:var(--font-size-md)}.learning-list-shell{border-left:0;border-right:0;border-radius:0;width:100%;min-height:100vh}.learning-list-summary{margin:var(--space-3) 14px;padding:14px var(--space-4);grid-template-columns:auto 1fr;grid-template-areas:"cover main"".actions"}.workspace-summary-actions{justify-self:end}.learning-summary-cover{width:54px;height:76px}.learning-list-summary-main h1{font-size:var(--font-size-md)}.learning-mobile-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 14px var(--space-3);display:flex}.learning-mobile-current-page{min-width:0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.learning-list-workspace{min-height:0;margin:0 14px var(--space-4);border-radius:var(--radius-lg);display:block;overflow:visible}.learning-navigation-pane{display:block}.learning-left-pane.is-desktop{display:none}.learning-center-pane{border-right:0}.learning-right-pane{z-index:var(--z-drawer);transition:transform var(--duration-normal) var(--ease-out);position:fixed;inset:0}.learning-right-pane.is-mobile-collapsed{transform:translate(100%)}.learning-three-pane .only-mobile{display:inline-flex}.learning-three-pane .right-mobile-head{border-bottom:1px solid var(--color-border);padding:var(--space-2);background:var(--color-surface)}.learning-three-pane .right-empty{min-height:280px}.learning-three-pane .editor-top-row{padding:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto}.learning-three-pane .editor-top-row .btn{padding-left:var(--space-3);padding-right:var(--space-3)}.learning-three-pane .editor-group-row{grid-template-columns:1fr;align-items:stretch}.learning-three-pane .editor-body{min-height:280px}.learning-group-drawer{display:block}.learning-group-drawer.is-hidden{display:none}.learning-group-drawer .learning-drawer-two-col{width:min(90vw,440px)}.learning-group-drawer .workspace-list{padding:var(--space-3)}}@media (width<=420px){.learning-three-pane .editor-top-row{grid-template-columns:minmax(0,1fr) auto}#delete-page-btn{grid-column:2}.workspace-list-item,.page-list-item{grid-template-columns:auto minmax(0,1fr)}.page-list-item .learning-page-badges{flex-wrap:wrap;grid-column:2;justify-self:start;max-width:100%}.workspace-list-item>.chip,.workspace-list-item>.learning-list-count,.workspace-list-item>.learning-row-actions{grid-column:2;justify-self:start}}#toc-sidebar{top:var(--space-4);max-height:calc(100vh - var(--space-8));scrollbar-width:thin;scrollbar-color:var(--color-brand-600) var(--color-bg);position:sticky;overflow-y:auto}#toc-sidebar::-webkit-scrollbar{width:6px}#toc-sidebar::-webkit-scrollbar-track{background:var(--color-bg);border-radius:3px}#toc-sidebar::-webkit-scrollbar-thumb{background-color:var(--color-brand-600);border-radius:3px}.toc-list a{padding:var(--space-2) var(--space-3);transition:all var(--duration-normal) var(--ease-out);color:var(--color-text-muted);font-size:var(--font-size-base);border-left:3px solid #0000;text-decoration:none;display:block}.toc-list a:hover{background-color:var(--color-bg);border-left-color:var(--color-brand-600)}.toc-list a.active{background-color:var(--color-brand-50);border-left-color:var(--color-brand-700);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.toc-chapter-title{font-weight:var(--font-weight-bold);color:var(--color-text);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.toc-page-title{padding-left:var(--space-6)!important}#toc-drawer{background:var(--color-surface);width:80%;max-width:320px;height:100dvh;box-shadow:var(--shadow-float);transition:left var(--duration-slow) var(--ease-out);z-index:var(--z-drawer);position:fixed;top:0;left:-100%;overflow-y:auto}#toc-drawer.open{left:0}#toc-overlay{opacity:0;visibility:hidden;width:100%;height:100%;transition:opacity var(--duration-slow) var(--ease-out), visibility var(--duration-slow) var(--ease-out);z-index:calc(var(--z-drawer) - 1);background:#00000080;position:fixed;top:0;left:0}#toc-overlay.open{opacity:1;visibility:visible}#toc-toggle-btn{bottom:calc(var(--space-16) + env(safe-area-inset-bottom));left:var(--space-4);background-color:var(--color-brand-700);color:var(--color-surface);padding:var(--space-3);box-shadow:var(--shadow-card);z-index:var(--z-sticky);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);border-radius:9999px;position:fixed}#toc-toggle-btn:hover{box-shadow:var(--shadow-float);transform:scale(1.05)}#toc-toggle-btn:active{transform:scale(.95)}#toc-drawer-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-base);position:sticky;top:0}.page-head{margin-bottom:var(--space-6)}.page-head-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-title{color:var(--color-text);margin:0 0 var(--space-1);font-size:1.5rem;font-weight:700}.page-sub{color:var(--color-text-muted);margin:0;font-size:.875rem}.bd-wrap:has(.settings-shell){padding-bottom:80px}.settings-shell{gap:var(--space-6);grid-template-columns:200px 1fr;align-items:start;display:grid}@media (width<=768px){.settings-shell{grid-template-columns:1fr}}.settings-nav{top:var(--space-6);padding:var(--space-2);position:sticky}.settings-nav ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}@media (width<=768px){.settings-nav{position:static}.settings-nav ul{flex-flow:wrap}}.settings-nav a{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.settings-nav a:hover{background-color:var(--color-brand-50);color:var(--color-brand-700)}.settings-nav a.is-active{background-color:var(--color-brand-100);color:var(--color-brand-700);font-weight:600}.settings-nav a.is-danger{color:var(--color-danger)}.settings-nav a.is-danger:hover,.settings-nav a.is-danger.is-active{background-color:var(--color-bg-danger);color:var(--color-danger)}.tab-panel{display:none}.tab-panel.is-active{display:block}.tab-head{margin-bottom:var(--space-6)}.panel-sub{color:var(--color-text-muted);margin:var(--space-1) 0 0;font-size:.875rem}.panel.is-danger>.tab-head .panel-title{color:var(--color-danger)}.hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.sub-title{color:var(--color-text);margin:0 0 var(--space-2);font-size:1rem;font-weight:600}.info-row{gap:var(--space-6);grid-template-columns:140px 1fr;align-items:start;display:grid}@media (width<=640px){.info-row{grid-template-columns:1fr}}.info-grid{gap:var(--space-5);flex-direction:column;display:flex}.cover-uploader{gap:var(--space-2);flex-direction:column;display:flex}.cu-frame{aspect-ratio:2/3;border:2px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-subtle);justify-content:center;align-items:center;width:140px;display:flex;overflow:hidden}.cu-frame img{object-fit:cover;width:100%;height:100%}.book-isbn-img{object-fit:cover;width:100%;height:100%;display:block}.cu-placeholder{align-items:center;gap:var(--space-1);padding:var(--space-3);text-align:center;flex-direction:column;display:flex}.cu-icon{font-size:1.5rem}.cu-label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.cu-sub{color:var(--color-text-subtle);font-size:.625rem}.input-with-action{gap:var(--space-2);align-items:stretch;display:flex}.input-with-action .input{flex:1}.input-with-suffix{align-items:center;gap:var(--space-2);display:flex}.input-with-suffix .input{flex:1}.suffix{color:var(--color-text-muted);white-space:nowrap;font-size:.875rem}.check-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.check-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);color:var(--color-text-muted);cursor:pointer;user-select:none;border-radius:999px;font-size:.8125rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.check-pill input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.check-pill.is-active{background-color:var(--color-brand-100);border-color:var(--color-brand-300);color:var(--color-brand-700)}.naming-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=640px){.naming-grid{grid-template-columns:1fr}}.feature-toggles{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:0;display:flex;overflow:hidden}.feature-toggle{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;display:flex}.feature-toggle:last-child{border-bottom:none}.feature-toggle.inline{padding:var(--space-3) 0;background:0 0;border:none}.ft-icon{flex-shrink:0;font-size:1.25rem}.ft-text{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.ft-title{color:var(--color-text);font-size:.9375rem;font-weight:600}.ft-desc{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.export-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.export-grid{grid-template-columns:1fr}}.export-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-subtle);flex-direction:column;display:flex}.ex-title{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.ex-desc{color:var(--color-text-muted);flex:1;margin:0;font-size:.8125rem}.ex-formats{gap:var(--space-1);flex-wrap:wrap;display:flex}.ex-note{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-info);border:1px solid var(--color-border-info);border-radius:var(--radius-sm);color:var(--color-info);font-size:.875rem;display:flex}.ex-note-warn{background:var(--color-bg-warning);border-color:var(--color-border-warning);color:var(--color-warning)}.danger-list{margin:0 0 var(--space-6);border:1px solid var(--color-border-danger);border-radius:var(--radius-md);padding:0;list-style:none;overflow:hidden}.danger-list li{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-danger);background:var(--color-surface);display:flex}.danger-list li:last-child{border-bottom:none}.danger-list h3{color:var(--color-text);margin:0 0 var(--space-1);font-size:.9375rem;font-weight:600}.danger-list p{color:var(--color-text-muted);margin:0;font-size:.8125rem}.bd-save-status{font-size:var(--font-size-xs);color:var(--color-brand-700);font-weight:var(--font-weight-semibold);opacity:0;margin-left:var(--space-2);transition:opacity .4s ease-out}.bd-save-status.is-visible{opacity:1}.tab-intro{margin-bottom:var(--space-4)}.tab-section+.tab-section{margin-top:var(--space-5)}.settings-nav .chip-pro{margin-left:auto}.panel-title .chip{margin-left:var(--space-2)}.settings-image-notice{margin-top:var(--space-4)}.settings-image-manage{margin-top:var(--space-3)}.export-card .btn{margin-top:auto}.settings-empty-btn{margin-top:var(--space-3)}.study-fields{gap:var(--space-5);flex-direction:column;display:flex}.bd-choices-preview{gap:var(--space-1);margin-top:var(--space-2);min-height:var(--space-6);flex-wrap:wrap;display:flex}.preset-pills{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.preset-pill{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s,color .15s}.preset-pill:hover{background:var(--color-brand-50);border-color:var(--color-brand-300);color:var(--color-brand-700)}.preset-pill.is-active{background:var(--color-brand-100);border-color:var(--color-brand-400);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.interval-grid{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}@media (width>=640px){.interval-grid{grid-template-columns:repeat(8,1fr)}}.interval-cell{gap:var(--space-1);flex-direction:column;display:flex}.interval-cell label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:center}.interval-cell .input{text-align:center;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:6px 4px}@media (width<=640px){.danger-list li{gap:var(--space-3);flex-wrap:wrap}}.kpi-strip{align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);scrollbar-width:none;display:flex;overflow-x:auto}.kpi-strip::-webkit-scrollbar{display:none}.kpi-cell{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);flex-shrink:0;display:flex}.kpi-ic{flex-shrink:0;width:1.25rem;height:1.25rem}.kpi-status-unanswered{color:var(--color-text-subtle)}.kpi-status-miss{color:var(--color-danger)}.kpi-status-hit{color:var(--color-info)}.kpi-status-combo{color:var(--color-brand-600)}.kpi-info{color:var(--color-info-600)}.kc-label{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-medium)}.kc-val{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:1.2}.kc-val small{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-regular);margin-left:2px}.kpi-divider{background:var(--color-border);width:1px;height:32px;margin:0 var(--space-2);flex-shrink:0}.items-shell{gap:var(--space-4);grid-template-columns:2fr 3fr;align-items:start;display:grid}.chapter-nav{top:var(--space-4);position:sticky}.cn-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.cn-list{padding:var(--space-2) 0;margin:0;list-style:none}.cn-list>li{align-items:center;display:flex;position:relative}.cn-list>li>a{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) ease, color var(--duration-fast) ease;flex:1;text-decoration:none;display:flex}.cn-list>li>a:hover{background:var(--color-bg-hover);color:var(--color-text)}.cn-list>li>a.is-active{background:var(--color-brand-50);color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.cn-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.4;overflow:hidden}.cn-count{font-size:var(--font-size-xs);color:var(--color-text-subtle);flex-shrink:0}.cn-handle{color:var(--color-text-faint);cursor:grab;padding:0 var(--space-1) 0 var(--space-3);font-size:var(--font-size-xs);letter-spacing:2px;flex-shrink:0;display:none}.cn-more{padding:var(--space-1) var(--space-2);color:var(--color-text-subtle);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;display:none}.cn-list>li:hover .cn-more{display:inline-flex}.cn-list>li:hover .cn-more:hover{background:var(--color-bg-hover)}.chapter-nav.is-reorder .cn-handle{display:block}.cn-add{justify-content:center;align-items:center;gap:var(--space-2);width:calc(100% - 2 * var(--space-3));box-sizing:border-box;margin:var(--space-2) var(--space-3) var(--space-3);font-size:var(--font-size-sm);padding:6px var(--space-3);display:flex}.items-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.bd-empty-spacious{padding:var(--space-8) var(--space-4)}.modal-head-actions{align-items:center;gap:var(--space-1);display:flex}.qil-state{padding:var(--space-12) var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-subtle)}.qil-state-error{color:var(--color-danger-600)}.qil-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.qil-toolbar-separated{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.qil-file-label{cursor:pointer}.qil-status{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.qil-status.is-success{color:var(--color-brand-600);font-weight:var(--font-weight-bold)}.qil-status.is-error{color:var(--color-danger-600)}.qil-stats-grid{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.qil-stat-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:var(--space-2) var(--space-3)}.qil-stat-label{font-size:.625rem;font-weight:var(--font-weight-bold);color:var(--color-text-subtle);margin-bottom:2px}.qil-stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.qil-filter-bar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.qil-filter-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.qil-accordion-list{gap:var(--space-4);display:grid}.qil-accordion{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.qil-accordion-head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--color-surface);color:var(--color-text-muted);text-align:left;font-weight:var(--font-weight-bold);cursor:pointer;transition:background var(--duration-fast) ease;border:0;display:flex}.qil-accordion-head:hover{background:var(--color-bg-hover)}.qil-accordion-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-subtle);flex-shrink:0}.qil-accordion-body{background:var(--color-bg)}.qil-question-card{padding:var(--space-4);border-top:1px solid var(--color-border)}.qil-question-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.qil-question-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.qil-question-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-brand-600)}.qil-meta-list{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.qil-image-area{margin-bottom:var(--space-2)}.qil-image-meta{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);align-items:center;font-size:.6875rem;display:inline-flex}@media (width<=640px){.qil-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.filter-bar{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.items-list{gap:var(--space-3);flex-direction:column;display:flex}.chapter-group{overflow:hidden}.cg-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;user-select:none;display:flex}.cg-head:hover{background:var(--color-bg-hover)}.cg-title{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;display:flex}.cg-no{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.cg-meta{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-regular)}.chapter-group.is-collapsed .item-list{display:none}.chapter-group.is-collapsed .cg-head .iconbtn svg{transform:rotate(-90deg)}.chapter-group .cg-head .iconbtn svg{transition:transform var(--duration-fast) ease}.item-list{margin:0;padding:0;list-style:none}.item-list>li{border-top:1px solid var(--color-border)}.it-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background var(--duration-fast) ease;display:flex}.it-row:hover{background:var(--color-bg-hover)}.it-no{width:52px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);flex-shrink:0}.it-cell{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex;overflow:hidden}.it-label{min-width:0;font-size:var(--font-size-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.it-status{flex-shrink:0}.it-srs{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.chip-srs-term{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-brand-50);color:var(--color-brand-700);border:1px solid var(--color-brand-200);align-items:center;padding:2px 7px;display:inline-flex}.chip-srs-date{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-bg-subtle);color:var(--color-text-subtle);border:1px solid var(--color-border);align-items:center;padding:2px 7px;display:inline-flex}.chip-srs-overdue{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-danger-50);color:var(--color-danger-600);border:1px solid var(--color-danger-200);align-items:center;padding:2px 7px;display:inline-flex}.it-spacer{flex:1}.it-imgs{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.img-pill{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;gap:3px;padding:2px 7px;display:inline-flex}.img-pill-q{background:var(--color-info-50);color:var(--color-info-700);border:1px solid var(--color-info-200)}.img-pill-a{background:var(--color-brand-50);color:var(--color-brand-700);border:1px solid var(--color-brand-200)}.img-pill-empty{background:var(--color-bg);color:var(--color-text-faint);border:1px solid var(--color-border)}.it-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.it-expand{padding:var(--space-4) var(--space-5);background:var(--color-bg);border-top:1px solid var(--color-border);display:none}.item-list>li.is-open .it-expand{display:block}.ix-imgrow{gap:var(--space-4);margin-bottom:var(--space-4);flex-direction:column;display:flex}.ix-group{margin-bottom:var(--space-5)}.ix-group:last-child{margin-bottom:0}.ix-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ix-head h4{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;display:flex}.ix-count{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-weight:var(--font-weight-regular)}.ix-ic{flex-shrink:0;width:1.25rem;height:1.25rem}.ix-ic-q{color:var(--color-info-600)}.ix-ic-a{color:var(--color-brand-600)}.img-stack{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.img-stack-item{align-items:flex-start;gap:var(--space-3);display:flex}.isi-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:80px;padding:var(--space-3);align-items:flex-start;gap:var(--space-2);flex:1;display:flex;position:relative;overflow:hidden}.isi-frame pre{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-all;flex:1;margin:0}.isi-frame-blank{background:var(--color-bg);border-style:dashed;justify-content:center;align-items:center;min-height:60px}.isi-no{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-subtle);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.isi-placeholder{font-size:var(--font-size-sm);color:var(--color-text-faint)}.isi-actions{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.isi-meta{font-size:var(--font-size-xs);color:var(--color-text-subtle);align-self:flex-start}.isi-btn{padding:3px var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) ease;align-items:center;gap:4px;display:inline-flex}.isi-btn:hover{background:var(--color-bg-hover)}.isi-danger{color:var(--color-danger-600);border-color:var(--color-danger-200)}.isi-danger:hover{background:var(--color-danger-50)}.it-expand-foot{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.ix-imgrow .img-mgr-thumbs{flex-direction:column;align-items:stretch}.storage-note{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;line-height:1.55;display:flex}.storage-note>span{flex:1;min-width:180px}.storage-note>.btn{white-space:nowrap;flex-shrink:0;align-self:flex-start}.modal-grid{gap:var(--space-5);padding:var(--space-4) 16px;grid-template-columns:1fr 1fr;display:grid}.modal-pane{gap:var(--space-4);flex-direction:column;display:flex}.mp-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;display:flex}.mp-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.mp-note{align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-subtle);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex}.mp-warn{align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-warning-700);background:var(--color-warning-50);border:1px solid var(--color-warning-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex}.modal-img-meta{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:10px 16px;display:flex}.modal-img-actions{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.range-cards{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.range-card{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;flex-direction:column;display:flex}.range-card input[type=radio]{display:none}.range-card.is-active{border-color:var(--color-brand-400);background:var(--color-brand-50)}.rc-ic{width:1.25rem;height:1.25rem;color:var(--color-text-muted)}.rc-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.rc-val{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.rc-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.items-modal-stats{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.items-modal-stats>div{font-size:var(--font-size-sm);color:var(--color-text-muted);justify-content:space-between;display:flex}.items-modal-stats dt{color:var(--color-text-subtle)}.items-modal-stats dd{font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.dropzone{align-items:center;gap:var(--space-2);padding:var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;flex-direction:column;display:flex}.dropzone.is-dragover{border-color:var(--color-brand-400);background:var(--color-brand-50)}.dz-icon{width:2rem;height:2rem;color:var(--color-text-subtle)}.dz-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.file-row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex}.fr-check{color:var(--color-success-600);flex-shrink:0;width:1rem;height:1rem}.fr-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fr-size{color:var(--color-text-subtle);flex-shrink:0}.fr-del{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;flex-shrink:0;padding:2px}.fr-del:hover{color:var(--color-danger-600)}.conflict-policy{gap:var(--space-2);flex-direction:column;display:flex}.cp-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.radio-cards-compact{gap:var(--space-2);flex-direction:column;display:flex}.radio-cards-compact .range-card{align-items:flex-start;gap:var(--space-2);flex-direction:row}@media (width<=900px){.items-shell{grid-template-columns:1fr}.chapter-nav{position:static}.cn-list{gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.cn-list>li{flex-shrink:0}.cn-list>li>a{padding:4px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border)}.cn-list>li>a.is-active{border-color:var(--color-brand-300)}.cn-more{display:none!important}.modal-grid{grid-template-columns:1fr}.range-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.kpi-strip{gap:0}.kpi-cell{padding:var(--space-2) var(--space-3)}.it-row{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.it-no{width:44px}.it-srs,.it-imgs{display:none}.cmm-list{max-height:min(200px,40vh)}}.edit-ctrl{display:none!important}[data-edit-mode=true] .it-del-question{display:inline-flex!important}[data-edit-mode=true] .cg-edit-zone{display:flex!important}#edit-mode-btn.is-active{background:var(--color-brand-50);border-color:var(--color-brand-400);color:var(--color-brand-700)}.cg-edit-zone{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);flex-wrap:wrap;display:flex}.cg-append-count{flex-shrink:0;width:120px}.cmm-list{padding:var(--space-2) 0;max-height:360px;margin:0;list-style:none;overflow-y:auto}.cmm-item{border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.cmm-item:last-child{border-bottom:none}.cmm-item.is-deleted{opacity:.4;text-decoration:line-through}.cmm-item.is-dragging{opacity:.5}.cmm-item.is-drag-over{border-top:2px solid var(--color-brand-400)}.cmm-item-row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);display:flex}.cmm-drag{cursor:grab;color:var(--color-text-faint);user-select:none;touch-action:none;flex-shrink:0}.cmm-seq{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:right;flex-shrink:0;width:20px}.cmm-name-input{flex:1}.cmm-count-input{flex-shrink:0;width:90px}.cmm-del-btn{flex-shrink:0}.cmm-q-body{background:var(--color-bg-subtle);border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-4) var(--space-3)}.cmm-q-body.is-hidden{display:none}.cmm-q-list{margin:0 0 var(--space-2);max-height:160px;padding:0;list-style:none;overflow-y:auto}.cmm-q-item{padding:2px var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-body);justify-content:space-between;align-items:center;display:flex}.cmm-q-item:hover{background:var(--color-bg-hover);border-radius:var(--radius-sm)}.cmm-q-title{flex:1}.cmm-q-empty{padding:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-faint)}.cmm-q-footer{align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.cmm-q-reset-btn{margin-left:auto}.it-dropdown{z-index:100;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:140px;padding:var(--space-1) 0;position:absolute;top:100%;right:0}.it-dropdown-item{width:100%;padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text-body);background:0 0;border:none;display:block}.it-dropdown-item:hover{background:var(--color-bg-hover)}.it-dropdown-danger{color:var(--color-danger-600)}.it-dropdown-danger:hover{background:var(--color-danger-50)}.cmm-add-row{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:center;display:flex}.cmm-add-row .cmm-add-name{flex:1}.cmm-add-row .cmm-add-count{width:90px}.modal-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);display:flex}.ie-shell{gap:var(--space-5);grid-template-columns:1fr 272px;align-items:start;display:grid}@media (width<=900px){.ie-shell{grid-template-columns:1fr}}.ie-form{gap:var(--space-5);flex-direction:column;display:flex}.ie-grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=600px){.ie-grid-2{grid-template-columns:1fr}}.ie-section-top{margin-top:var(--space-4)}.ie-panel-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:calc(var(--space-1) * -1) 0 var(--space-3);line-height:var(--leading-snug)}.ie-panel-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ie-char-counter{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--space-1)}.ie-answer-types{gap:var(--space-3);flex-wrap:wrap;display:flex}.ie-radio-card{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;flex:1;min-width:120px;display:flex}.ie-radio-card input[type=radio]{accent-color:var(--color-brand-600)}.ie-radio-card:has(input:checked){border-color:var(--color-brand-600);background:color-mix(in srgb, var(--color-brand-600) 6%, transparent)}.ie-rc-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:block}.ie-rc-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.ie-answer-textarea{resize:vertical;min-height:80px}.ie-choice-list-top{margin-top:var(--space-2)}.ie-add-choice-btn{margin-top:var(--space-3)}.ie-choice-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ie-choice-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) ease;display:flex}.ie-choice-list li.is-correct{border-color:var(--color-brand-400);background:color-mix(in srgb, var(--color-brand-600) 5%, transparent)}.ie-ch-key{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);min-width:18px}.ie-ch-correct{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;display:flex}.ie-ch-correct input[type=checkbox]{accent-color:var(--color-brand-600)}.ie-side{gap:var(--space-4);top:var(--space-4);flex-direction:column;display:flex;position:sticky}.ie-info-dl{gap:var(--space-2);font-size:var(--font-size-sm);flex-direction:column;display:flex}.ie-info-dl>div{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.ie-info-dl dt{color:var(--color-text-muted);flex-shrink:0}.ie-info-dl dd{text-align:right;color:var(--color-text)}.btn.is-disabled{opacity:.4;pointer-events:none;cursor:default}.page-practice-setup{padding-block-end:var(--space-24)}.ps-hero{margin-block-end:var(--space-5)}.page-practice-setup .learning-list-summary{margin-inline:0;margin-top:0;margin-bottom:var(--space-5)}.ps-hero-title{font-size:var(--font-size-2xl);color:var(--color-text);margin:0}.ps-hero .stat-row-flat{margin-top:var(--space-2)}.ps-hero .stat-row-value small{color:var(--color-text-subtle)}.ps-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;margin-block-end:var(--space-4);display:grid}.ps-chapters{margin-block-end:var(--space-4)}.ps-presets,.ps-conditions{flex-direction:column;display:flex}.ps-presets .preset-grid,.ps-conditions .cond-grid{flex:1}.ps-chapters-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ps-action-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.ps-action-fields{gap:var(--space-3);flex-wrap:wrap;flex:1;display:flex}.ps-field-inline{min-inline-size:180px}.ps-errors{margin-top:var(--space-2)}.ps-cond-actions{margin-top:var(--space-3);justify-content:flex-end;display:flex}.ps-cond-edit.is-hidden{display:none}@media (width<=980px){.ps-grid{grid-template-columns:1fr}}@media (width<=768px){.ps-action-fields{flex-direction:column;width:100%}.ps-field-inline{min-inline-size:100%}.ps-action-row .btn{width:100%}}.qs-screen{background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-brand-600) 8%, transparent), transparent 36rem), var(--color-bg);min-height:100vh}.qs-main{padding:var(--space-4) var(--space-3) var(--space-8)}.qs-page{width:min(var(--max-page), 100%);margin:0 auto}.qs-progress-strip{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);display:flex}.qs-progress-strip-main{flex:1;min-width:0}.qs-progress-strip-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.qs-progress-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.qs-progress-copy{margin-bottom:var(--space-2);font-size:var(--font-size-lg)}.qs-progress-bar{max-width:480px}.qs-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.qs-review-layout{align-items:start}.qs-review-list{gap:var(--space-4);display:grid}.qs-card{padding:var(--space-5)}.qs-review-card{padding-block-end:var(--space-4)}.qs-card-head{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.qs-card-meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.qs-card-heading .page-title{margin-bottom:var(--space-1)}.qs-section{margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.qs-card-head+.qs-section{border-top:none;padding-top:0}.qs-section-head-inline{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.qs-section-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.qs-section-body{gap:var(--space-3);display:grid}.qs-rich-block{white-space:pre-wrap;line-height:var(--leading-relaxed);padding:0}.qs-readonly-text{min-height:80px}.qs-answer-textarea{min-height:140px}.qs-answer-body{gap:var(--space-4);display:grid}.qs-answer-subsection{gap:var(--space-3);display:grid}.qs-accordion-copy{padding-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.qs-accordion-actions{align-items:center;gap:var(--space-2);display:inline-flex}.qs-accordion-actions .accordion-chevron{justify-content:center;align-items:center;display:inline-flex}.qs-section.accordion{background:0 0;border:none;border-radius:0;overflow:visible}.qs-section.accordion .accordion-btn{padding:0}.qs-section.accordion .accordion-btn:hover{background:0 0}.qs-section.accordion .accordion-body{border-top:none}.qs-section.accordion .accordion-body>.qs-section{padding:var(--space-3) 0 0;border:none}.qs-editor-shell{min-height:160px;padding:0}.qs-inline-count{color:var(--color-brand-700);font-size:var(--font-size-xs)}.qs-side-stack{gap:var(--space-4);top:calc(var(--space-4) + 72px);display:grid;position:sticky}.qs-side-panel{padding:var(--space-4)}.qs-setting-block,.qs-summary-grid{gap:var(--space-2);display:grid}.qs-summary-hero{gap:var(--space-3);display:grid}.qs-summary-label{margin:0 0 var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.qs-summary-figure{font-size:var(--font-size-xl);line-height:1.2}.qs-summary-progress{border-radius:var(--radius-full);background:var(--color-bg-subtle,var(--color-bg));block-size:10px;position:relative;overflow:hidden}.qs-summary-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-brand-500), var(--color-brand-700));block-size:100%;display:block}.qs-summary-note{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.qs-summary-metrics{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.qs-summary-metric{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.qs-summary-metric-label{margin-bottom:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.qs-summary-metric-value{font-size:var(--font-size-lg);line-height:1.2}.qs-history-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.qs-history-label,.qs-history-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.qs-history-dots{gap:var(--space-2);display:flex}.qs-history-dots span{border-radius:var(--radius-full);background:var(--color-bg-subtle,var(--color-bg));block-size:28px;inline-size:28px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border:1px solid var(--color-border);justify-content:center;align-items:center;display:inline-flex}.qs-history-dots span.is-correct{border-color:var(--color-brand-300);background:var(--color-brand-50);color:var(--color-brand-700)}.qs-history-dots span.is-incorrect{border-color:var(--color-danger-300);background:var(--color-danger-50);color:var(--color-danger-600)}.qs-history-dots span.is-empty{color:var(--color-text-subtle);background:0 0}.qs-grade-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-brand-200);border-radius:var(--radius-md);background:var(--color-brand-50);margin-bottom:var(--space-4);display:flex}.qs-grade-actions{gap:var(--space-2);display:flex}.qs-grade-btn,.qs-modal-ox-btn,.qs-grade-btn{min-width:0}.qs-grade-btn .ui-icon{width:1.2rem;height:1.2rem}.qs-panel-toggle-bar{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.toggle-indicator{border-radius:var(--radius-full);border:1px solid;block-size:10px;inline-size:10px;display:inline-flex}.panel-toggle-btn.is-active{border-color:var(--color-brand-300);background:var(--color-brand-50);color:var(--color-brand-700)}.toggle-indicator.is-active{background:currentColor}.qs-panel-container{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.qs-inline-panel{min-width:min(100%,320px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex:1}.qs-inline-panel.is-full{flex:100%}.qs-inline-panel.is-half{flex:1 1 calc(50% - var(--space-2))}.qs-action-controls,.qs-inline-grade{gap:var(--space-2);flex-wrap:wrap;display:flex}.qs-error-text{margin-top:var(--space-2);color:var(--color-danger-600);font-size:var(--font-size-sm)}.q-choice-list{gap:var(--space-2);margin-top:var(--space-2);display:grid}.q-choice-item{list-style:none}.q-choice-label{align-items:start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:auto 28px 1fr;display:grid}.q-choice-key{border-radius:var(--radius-full);background:var(--color-brand-50);block-size:28px;inline-size:28px;color:var(--color-brand-700);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:inline-flex}.q-choice-text{white-space:pre-wrap}@media (width<=1024px){.qs-layout{grid-template-columns:minmax(0,1fr)}.qs-side-stack{position:static}}@media (width<=640px){.qs-main{padding-inline:var(--space-2)}.qs-card,.qs-side-panel{padding:var(--space-4)}.qs-progress-strip,.qs-grade-bar{flex-direction:column;align-items:stretch}.qs-grade-actions,.qs-grade-actions .btn,.qs-progress-back{width:100%}.qs-history-row{flex-direction:column;align-items:flex-start}.qs-summary-metrics{grid-template-columns:1fr}}.ca-kpi-card{padding:var(--space-4);margin-bottom:var(--space-4)}.ca-kpi-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ca-kpi-title{margin:0}.ca-kpi-progress-row{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.ca-kpi-progress-fill{flex:1}.ca-kpi-pct{text-align:right;min-width:3rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);flex-shrink:0}.ca-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.ca-toolbar-center{align-items:center;gap:var(--space-2);flex:1;display:flex}.ca-toolbar-right{align-items:center;gap:var(--space-2);display:flex}.ca-collapse-btn.is-active{background:var(--color-brand-50);border-color:var(--color-brand-200);color:var(--color-brand-700)}.ca-count-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.ca-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ca-item.is-graded-correct{border-left:3px solid var(--color-brand-600)}.ca-item.is-graded-incorrect{border-left:3px solid var(--color-danger)}.ca-item.is-filtered-hidden{display:none}.ca-item-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:56px;display:flex}.ca-item-main{flex:1;min-width:0}.ca-item-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.ca-item-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.ca-item-chapter{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ca-glance-compare{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.ca-glance-cell{padding:var(--space-3) var(--space-4);min-width:0}.ca-glance-cell+.ca-glance-cell,.ca-glance-images{border-left:1px solid var(--color-border)}.ca-glance-images{gap:var(--space-2);padding:var(--space-2);grid-template-columns:repeat(2,144px);display:grid}.ca-glance-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:zoom-in;width:144px;height:84px;padding:0;display:block;position:relative;overflow:hidden}.ca-glance-thumb span{z-index:1;padding:2px var(--space-1);background:color-mix(in srgb, var(--color-text) 72%, transparent);color:var(--color-surface);font-size:var(--font-size-xs);position:absolute;inset:auto 0 0}.ca-glance-thumb img{object-fit:cover;object-position:top center;transform-origin:top;width:100%;height:100%;transform:scale(1.55)}.ca-glance-thumb.is-empty{display:none}.ca-compare-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);display:block}.ca-compare-body{font-size:var(--font-size-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word;margin:0}.ca-compare-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;font-style:italic}.ca-verdict-btn.is-correct{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700)}.ca-verdict{gap:var(--space-2);flex-shrink:0;display:flex}.ca-item-body{border-top:1px solid var(--color-border);padding:var(--space-4);display:none}.ca-question-number{color:var(--color-brand-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex:none}.ca-workspace{gap:var(--space-3);display:grid}.ca-card-save{align-items:center;gap:var(--space-2);display:flex}.ca-panel-groups{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:grid}.ca-panel-group{align-items:flex-start;gap:var(--space-3);display:flex}.ca-panel-group-label{padding-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex:0 0 5rem}.ca-panel-group .qs-panel-toggle-bar{margin-bottom:0}.ca-panel-text{white-space:pre-wrap;margin:0}.ca-item-body[data-edit-mode=false] .ca-edit-only,.ca-item-body[data-edit-mode=false] .img-mgr-upload,.ca-item-body[data-edit-mode=false] .img-mgr-drop,.ca-item-body[data-edit-mode=false] .img-mgr-edit-action{display:none}.ca-item-body[data-edit-mode=false] .wbm-tiptap-editor{pointer-events:none}.ca-item-body[data-edit-mode=false] .textarea[readonly]{resize:none;background:0 0;border-color:#0000}.ca-item-body[data-edit-mode=false] .textarea-note[readonly]{border-color:var(--color-border-warning);background:var(--color-bg-warning)}.ca-note-field{gap:var(--space-2)}.ca-note-field .wbm-tiptap-editor{min-height:120px}.ca-item.is-open .ca-item-body{display:block}.ca-item-body>.qs-section:first-child{border-top:none;padding-top:0}@media (width<=720px){.ca-item-head{gap:var(--space-2);flex-wrap:wrap}.ca-verdict{width:100%}.ca-verdict-btn{flex:1}.ca-glance-compare{grid-template-columns:1fr}.ca-glance-cell+.ca-glance-cell,.ca-glance-images{border-left:none;border-top:1px solid var(--color-border)}.ca-glance-images{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-glance-thumb{width:100%}.ca-panel-group{gap:var(--space-1);display:grid}.ca-toolbar,.ca-toolbar-right{flex-direction:column;align-items:stretch}}.ah-page{gap:var(--space-5)}.ah-title-wrap{gap:var(--space-2);flex-direction:column;display:flex}.ah-page-title{align-items:center;gap:var(--space-2);display:inline-flex}.ah-title-icon{color:var(--color-brand-700)}.ah-filter-bar{padding:var(--space-4);justify-content:flex-start;display:flex}.ah-filter-fields{gap:var(--space-4);display:flex}.ah-filter-field{min-width:220px}.ah-content{gap:var(--space-4);flex-direction:column;display:flex}.ah-session-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ah-session-card{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.ah-session-shell{gap:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(320px,.95fr);align-items:start;display:grid}.ah-session-main{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ah-session-head{align-items:center;gap:var(--space-2);display:flex}.ah-status-dot{background:var(--color-border-strong);border-radius:999px;flex-shrink:0;width:10px;height:10px}.ah-status-high{background:var(--color-success)}.ah-status-mid{background:var(--color-warning)}.ah-status-low{background:var(--color-danger)}.ah-session-date,.ah-session-book,.ah-session-chapter{margin:0}.ah-session-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ah-session-book{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);word-break:break-word}.ah-session-chapter{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ah-session-chips{margin-top:var(--space-1)}.ah-session-stats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.ah-session-stat{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-bg)}.ah-session-stat dt{margin:0 0 var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.ah-session-stat dd{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.ah-session-stat dd small{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:2px}.ah-value-success{color:var(--color-success)}.ah-value-danger{color:var(--color-danger)}.ah-session-actions{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ah-order-switch{gap:var(--space-2);flex-direction:column;display:flex}.ah-order-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ah-order-buttons,.ah-action-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.ah-empty{padding:var(--space-8);justify-items:center;gap:var(--space-3);text-align:center;display:grid}.ah-empty-icon{color:var(--color-text-faint)}.ah-empty-title,.ah-empty-copy{margin:0}.ah-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.ah-empty-copy{max-width:36rem;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.ah-load-more{margin-top:var(--space-5);padding-top:var(--space-2);justify-content:center;display:flex}.ah-load-more .btn-pagination{min-height:44px}@media (width<=900px){.ah-session-shell{grid-template-columns:1fr}}@media (width<=640px){.ah-filter-bar,.ah-session-card,.ah-empty{padding:var(--space-4)}.ah-filter-fields,.ah-action-buttons,.ah-order-buttons{flex-direction:column;width:100%}.ah-filter-field{width:100%;min-width:0}.ah-session-stats{grid-template-columns:1fr 1fr}.ah-session-actions{align-items:flex-start}.ah-order-switch,.ah-action-buttons .btn{width:100%}}.lh-page{gap:var(--space-5)}.lh-title-wrap{gap:var(--space-2);flex-direction:column;display:flex}.lh-page-title{align-items:center;gap:var(--space-2);display:inline-flex}.lh-title-icon{color:var(--color-brand-700)}.lh-filter-bar{padding:var(--space-4);justify-content:flex-start;display:flex}.lh-filter-fields{gap:var(--space-4);display:flex}.lh-filter-field{min-width:220px}.lh-content{gap:var(--space-4);flex-direction:column;display:flex}.lh-session-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lh-session-card{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.lh-session-head{align-items:baseline;gap:var(--space-3);display:flex}.lh-session-date{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.lh-session-pages{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.lh-session-distribution{gap:var(--space-2);flex-wrap:wrap;display:flex}.lh-dist-chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--font-size-sm);border-radius:9999px;display:inline-flex}.lh-dist-understood{background:var(--color-brand-50);color:var(--color-brand-700)}.lh-dist-normal{background:var(--color-bg-info);color:var(--color-info)}.lh-dist-review{background:var(--color-bg-danger);color:var(--color-danger)}.lh-session-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.lh-empty{padding:var(--space-8);justify-items:center;gap:var(--space-3);text-align:center;display:grid}.lh-empty-icon{color:var(--color-text-faint)}.lh-empty-title,.lh-empty-copy{margin:0}.lh-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.lh-empty-copy{max-width:36rem;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.lh-load-more{margin-top:var(--space-5);padding-top:var(--space-2);justify-content:center;display:flex}.lh-load-more .btn-pagination{min-height:44px}@media (width<=640px){.lh-filter-bar,.lh-session-card,.lh-empty{padding:var(--space-4)}.lh-filter-fields{flex-direction:column;width:100%}.lh-filter-field{width:100%;min-width:0}}.auth-page{background:var(--color-bg);min-height:100dvh}.auth-main{padding:var(--space-8) 0;justify-content:center;align-items:center;display:flex}.auth-container{width:min(100%,480px)}.auth-card{padding:var(--space-8);gap:var(--space-4);display:grid}.auth-card-title{font-size:var(--font-size-2xl);line-height:1.4;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.auth-card-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.7}.auth-card-actions{gap:var(--space-3);display:grid}.auth-card-link{text-align:center}.auth-card-link a{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.auth-card-link a:hover{color:var(--color-text)}.error-main{text-align:center;padding:var(--space-8) 0;justify-content:center;align-items:center;display:flex}.error-card{width:min(100%,560px);padding:var(--space-8);gap:var(--space-4);justify-items:center;display:grid}.error-icon{background:var(--color-danger-50);border:1px solid var(--color-danger-200);width:72px;height:72px;color:var(--color-danger-600);font-size:36px;font-weight:var(--font-weight-bold);border-radius:999px;place-items:center;display:grid}.error-copy{gap:var(--space-2);display:grid}.error-title{font-size:var(--font-size-2xl);line-height:1.4;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.error-text{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0;line-height:1.7}@media (width<=640px){.auth-main,.error-main{padding:var(--space-5) 0}.auth-card,.error-card{padding:var(--space-6)}}.legal-main{padding:var(--space-6) 0 var(--space-12)}.legal-article{gap:var(--space-5);width:min(100%,860px);margin:0 auto;display:grid}.legal-title{font-size:var(--font-size-3xl);line-height:1.3;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.legal-intro{font-size:var(--font-size-base);color:var(--color-text);margin:0;line-height:1.8}.legal-list,.legal-list ol,.legal-list ul{margin:0;padding-left:20px}.legal-list{gap:var(--space-4);color:var(--color-text);display:grid}.legal-list li{line-height:1.8}.legal-list>li>span,.legal-list strong{font-weight:var(--font-weight-bold);color:var(--color-text)}.legal-list ol,.legal-list ul{gap:var(--space-2);margin-top:var(--space-2);display:grid}@media (width<=640px){.legal-main{padding:var(--space-4) 0 var(--space-8)}}.mypage-shell{width:min(100%,860px);margin:var(--space-6) auto 0;gap:var(--space-6);display:grid}.mypage-section{gap:var(--space-5);display:grid}.mypage-section-title{font-size:var(--font-size-lg);line-height:1.4;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.mypage-divider{border:0;border-top:1px solid var(--color-border);margin:0}.mypage-toggle-row{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:start;display:grid}.mypage-toggle-copy{gap:var(--space-1);display:grid}.mypage-toggle-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.mypage-toggle-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.mypage-field-stack{gap:var(--space-3);display:grid}.mypage-slider-row{gap:var(--space-2);display:grid}.mypage-slider-value{margin-left:var(--space-2);color:var(--color-brand-700);font-weight:var(--font-weight-bold)}.mypage-range{width:100%;accent-color:var(--color-brand-700)}.mypage-preset-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.mypage-preset-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.mypage-preset-btn.active{border-color:var(--color-brand-600);background:var(--color-brand-50);color:var(--color-brand-700)}.mypage-interval-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mypage-interval-item{gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);justify-items:center;display:grid}.mypage-interval-item .input{text-align:center}.mypage-danger-panel{border-color:var(--color-border-danger)}.mypage-danger-panel .panel-title{color:var(--color-danger)}.mypage-danger-copy{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.mypage-notification{z-index:9999;max-width:min(420px,100vw - 32px);box-shadow:var(--shadow-card);transition:opacity var(--duration-fast) var(--ease-out);position:fixed;top:20px;right:20px}@media (width<=640px){.mypage-interval-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mypage-notification{top:12px;right:12px}}.backlog-practice-page,.backlog-complete-page{gap:var(--space-4);display:grid}.backlog-practice-banner{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning);background:var(--color-bg-warning);border:1px solid var(--color-border-warning);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:inline-flex}.backlog-practice-progress{align-items:center;gap:var(--space-3);display:flex}.backlog-practice-progress-bar-wrap{background:var(--color-border);border-radius:999px;flex:1;height:8px;overflow:hidden}.backlog-practice-progress-bar{background:var(--color-brand-600);border-radius:999px;height:100%;transition:width .3s}.backlog-practice-progress-text{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.backlog-practice-context{gap:var(--space-2);flex-wrap:wrap;display:flex}.backlog-practice-card{padding:var(--space-6)}.backlog-practice-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-3)}.backlog-practice-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-4)}.backlog-practice-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-2);display:block}.backlog-practice-textarea{resize:vertical;width:100%}.backlog-practice-recall,.backlog-practice-note-toggle{margin-bottom:var(--space-4)}.backlog-practice-details summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-brand-700);user-select:none}.backlog-practice-note-content{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.backlog-practice-note-fallback{color:var(--color-text-muted);margin:0}.backlog-practice-eval{margin:0 0 var(--space-5);border:none;padding:0}.backlog-practice-eval-legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-3)}.backlog-practice-eval-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.backlog-eval-label{align-items:center;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;transition:border-color .15s,background .15s;display:flex}.backlog-eval-label:hover{border-color:var(--color-brand-400);background:var(--color-brand-50)}.backlog-eval-label input[type=radio]{opacity:0;width:0;height:0;position:absolute}.backlog-eval-label:has(input:checked){border-color:var(--color-brand-600);background:var(--color-brand-50)}.backlog-eval-understood:has(input:checked){border-color:var(--color-success-600);background:var(--color-brand-50)}.backlog-eval-poor:has(input:checked){border-color:var(--color-danger);background:var(--color-danger-50)}.backlog-eval-icon{font-size:24px;font-weight:var(--font-weight-bold)}.backlog-eval-understood .backlog-eval-icon{color:var(--color-success-600)}.backlog-eval-again .backlog-eval-icon{color:var(--color-brand-600)}.backlog-eval-poor .backlog-eval-icon{color:var(--color-danger)}.backlog-eval-text{font-size:var(--font-size-sm);color:var(--color-text)}.backlog-practice-actions{gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.backlog-practice-submit{flex:1}.backlog-practice-skip-form,.backlog-practice-footer{text-align:center}.backlog-practice-quit{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.backlog-practice-quit:hover{text-decoration:underline}.backlog-complete-card{text-align:center;padding:var(--space-8) var(--space-6)}.backlog-complete-icon{background:var(--color-brand-50);border:2px solid color-mix(in srgb, var(--color-success-600) 40%, white);width:72px;height:72px;margin:0 auto var(--space-4);border-radius:999px;place-items:center;display:grid}.backlog-complete-icon svg{width:36px;height:36px;stroke:var(--color-success-600);fill:none}.backlog-complete-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-3)}.backlog-complete-body{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0 0 var(--space-6)}.backlog-complete-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=760px){.backlog-practice-eval-grid{grid-template-columns:1fr}.backlog-practice-page{gap:var(--space-3)}}.backlog-list-page{gap:var(--space-4);display:grid}.backlog-list-header{justify-content:space-between;align-items:center;display:flex}.backlog-list-summary{gap:var(--space-3);flex-wrap:wrap;display:flex}.backlog-list-summary-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);display:inline-flex}.backlog-list-summary-chip strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.backlog-chip-expired{background:var(--color-bg-warning);border-color:var(--color-border-warning);color:var(--color-warning)}.backlog-chip-expired strong{color:var(--color-warning)}.backlog-list-empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted);gap:var(--space-4);place-items:center;display:grid}.backlog-list-controls{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.backlog-list-controls-left{gap:var(--space-2);flex:1;display:flex}.backlog-list-controls-right{align-items:center;gap:var(--space-2);display:flex}.backlog-list-select{font-size:var(--font-size-sm);padding:4px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.backlog-selected-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.backlog-group{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.backlog-group+.backlog-group{margin-top:var(--space-3)}.backlog-group-header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg);cursor:pointer;text-align:left;border:none;display:flex}.backlog-group-header:hover{background:var(--color-border)}.backlog-group-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text);flex:1}.backlog-group-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.backlog-group-chevron{font-size:var(--font-size-xs);color:var(--color-text-muted)}.backlog-group-body{border-top:1px solid var(--color-border)}.backlog-item{border-bottom:1px solid var(--color-border)}.backlog-item:last-child{border-bottom:none}.backlog-item-label{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.backlog-item-label:hover{background:var(--color-bg)}.backlog-item-info{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.backlog-item-chapter{font-size:var(--font-size-xs);color:var(--color-text-muted)}.backlog-item-title{font-size:var(--font-size-sm);color:var(--color-text)}.backlog-item-dates{gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.backlog-item-overdue{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.backlog-overdue-expired{color:var(--color-warning);font-weight:var(--font-weight-semibold)}.backlog-overdue-today{color:var(--color-brand-600);font-weight:var(--font-weight-semibold)}.backlog-delete-all-btn{margin-left:auto}.backlog-toast{bottom:var(--space-8);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-surface);z-index:200;background:#374151;animation:.2s fadeInUp;position:fixed;left:50%;transform:translate(-50%)}.backlog-toast-success{background:var(--color-success-600)}.backlog-toast-error{background:var(--color-danger)}.backlog-toast-warning{background:var(--color-warning)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=760px){.backlog-list-controls{flex-direction:column;align-items:stretch}.backlog-list-controls-right{flex-wrap:wrap}.backlog-delete-all-btn{margin-left:0}}}@layer utilities{.is-hidden{display:none}.no-scroll{overflow:hidden}.inline{display:inline}.tabular{font-variant-numeric:tabular-nums;letter-spacing:.01em}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}@media (width<=640px){.hide-mobile{display:none}.show-mobile{display:inline}}@media (width>=641px){.show-mobile{display:none}}}