:root{--font-display:"Cormorant Garamond", "Georgia", "Palatino Linotype", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:var(--font-ui);--heading-letter-spacing:-.03em;--heading-transform:none;--heading-weight:600;--sanctuary-mark:"✦";--radius-button:var(--radius-pill);--radius-card:var(--radius-2xl);--radius-chip:var(--radius-pill);--radius-nav:var(--radius-pill);--card-border-style:solid;--card-border-width:1px;--page-pattern:none;--page-sparkle:none;--page-sparkle-opacity:0;--primary-btn-bg:linear-gradient(165deg, color-mix(in srgb, var(--accent-hover) 80%, white), var(--button-primary-bg) 50%, var(--brand-orange));--primary-btn-shadow:0 2px 4px color-mix(in srgb, var(--text) 8%, transparent), 0 10px 24px color-mix(in srgb, var(--accent) 28%, transparent);--nav-link-active-bg:linear-gradient(180deg, var(--nav-link-active-top), var(--nav-link-active-bottom));--site-max-width:1120px;--page-gutter:clamp(16px, 4vw, 32px);--section-gap:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--radius-xs:7px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:24px;--radius-3xl:26px;--radius-shell:30px;--radius-pill:999px;--radius-circle:50%;--transition-fast:.18s ease;--transition-med:.25s ease;--transition-slow:.35s ease;--lift-sm:translateY(-1px);--lift-md:translateY(-2px);--button-padding-sm:8px 12px;--button-padding-md:10px 16px;--button-padding-lg:12px 18px;--input-padding:10px 12px;--card-padding:22px;--card-padding-lg:24px;--modal-padding:26px;--page-overlay:linear-gradient(#00000024, #00000024);--page-glow-left:radial-gradient(circle at top left, var(--accent-soft), transparent 30%);--page-glow-right:radial-gradient(circle at top right, var(--accent-muted), transparent 26%);--page-gradient:linear-gradient(135deg, var(--page-bg-soft) 0%, var(--page-bg) 45%, var(--surface-muted) 100%);--page-grain-opacity:.3;--page-grain-blend:multiply;--theme-color-meta:var(--page-bg);--shell-sidebar-bg:linear-gradient(180deg, var(--surface-raised) 0%, var(--surface) 100%);--shell-sidebar-accent:radial-gradient(ellipse at 50% 0%, var(--accent-soft), transparent 60%);--shell-sidebar-border:var(--border-color);--shell-nook-bg:var(--accent-soft);--shell-nook-border:var(--border-color);--shell-logo-shadow:var(--shadow-soft);--shell-logo-glow:none;--spotlight-text:var(--brand-cream);--spotlight-text-soft:color-mix(in srgb, var(--brand-cream) 80%, transparent);--spotlight-overlay:linear-gradient(125deg, #1a1208eb, #281e10b3);--spotlight-backdrop-opacity:.5;--spotlight-border:var(--border-color);--spotlight-glow:var(--shadow-strong);--reading-zone-bg:var(--surface-raised);--reading-zone-border:var(--border-color);--app-bg:var(--page-bg);--app-bg-soft:var(--page-bg-soft);--surface-bg:var(--surface);--surface-bg-soft:var(--surface-soft);--surface-bg-muted:var(--surface-muted);--surface-bg-raised:var(--surface-raised);--card-bg:var(--surface);--card-bg-soft:var(--surface-soft);--card-border:var(--border-color);--card-radius:var(--radius-card);--card-gradient:linear-gradient(180deg, var(--card-sheen-top), var(--card-sheen-bottom));--card-sheen-top:#ffffff14;--card-sheen-bottom:#00000005;--card-inner-highlight:0 2px 0 #ffffff2e inset;--card-shadow:var(--card-inner-highlight), var(--shadow-soft);--nav-bg:var(--surface);--nav-bg-soft:var(--surface-soft);--nav-border:var(--border-color);--nav-shadow:var(--shadow-soft);--nav-link-bg:var(--button-bg);--nav-link-bg-hover:var(--button-bg-hover);--nav-link-text:var(--button-text);--nav-link-border:var(--button-border);--nav-link-active-top:var(--accent-hover);--nav-link-active-bottom:var(--accent);--nav-link-active-text:var(--text-inverse);--nav-link-active-border:var(--accent);--nav-link-active-shadow:0 2px 4px #0000001a, inset 0 1px 0 #ffffff73;--button-bg:var(--surface);--button-bg-hover:var(--surface-soft);--button-text:var(--text);--button-border:var(--border-color);--button-shadow:var(--shadow-soft);--button-primary-bg:var(--accent);--button-primary-bg-hover:var(--accent-hover);--button-primary-text:var(--text-inverse);--button-secondary-bg:var(--success-soft);--button-secondary-bg-hover:var(--accent-soft);--button-secondary-text:var(--success);--button-danger-bg:var(--danger);--button-danger-bg-hover:var(--danger);--button-danger-text:var(--danger-soft);--input-bg:var(--surface-raised);--input-border:var(--border-color);--input-focus:var(--accent);--input-text:var(--text);--input-placeholder:var(--text-soft);--form-field-bg:var(--input-bg);--form-field-border:var(--input-border);--form-field-text:var(--input-text);--form-field-placeholder:var(--input-placeholder);--modal-bg:var(--surface);--modal-border:var(--border-color);--modal-shadow:var(--shadow-strong);--modal-overlay:#0000007a;--chip-bg:var(--surface-muted);--chip-text:var(--text);--chip-border:var(--border-color);--badge-bg:var(--chip-bg);--badge-text:var(--chip-text);--badge-border:var(--chip-border);--card-text:var(--text);--level-badge-bg:linear-gradient(180deg, var(--level-badge-top), var(--level-badge-bottom));--level-badge-top:var(--accent-hover);--level-badge-bottom:var(--accent);--level-badge-shadow:inset 0 1px 0 #ffffff4d, var(--shadow-soft);--progress-track:color-mix(in srgb, var(--surface-muted) 80%, var(--text) 4%);--progress-fill:linear-gradient(90deg, var(--brand-orange), var(--accent), var(--accent-hover));--glow-accent:0 0 24px var(--accent-soft);--glow-muted:0 0 18px var(--accent-muted);--focus-ring:0 0 0 3px var(--accent-soft);--sunflower-gold:var(--brand-gold);--sunflower-orange:var(--brand-orange);--forest-green:var(--brand-green);--leaf-green:var(--brand-leaf);--warm-cream:var(--brand-cream);--cream:var(--brand-cream);--paper:var(--surface);--paper-soft:var(--surface-soft);--paper-warm:var(--surface-muted);--sunflower:var(--accent);--sage:var(--brand-leaf);--sage-dark:var(--brand-green);--ink:var(--text);--muted:var(--text-soft);--line:var(--border-color);--chip:var(--chip-bg);--danger-bg:var(--button-danger-bg);--danger-text:var(--button-danger-text)}@media (max-width:768px){:root{--space-6:1.2rem;--space-5:1rem;--space-4:.8rem;--space-3:.65rem}}*{box-sizing:border-box}html{background:var(--page-bg);min-width:320px;min-height:100%}.skip-link{z-index:1000;clip:rect(0, 0, 0, 0);clip-path:inset(50%);background:var(--surface-raised);width:1px;height:1px;color:var(--text);white-space:nowrap;border:0;margin:-1px;padding:0;font-weight:700;text-decoration:none;position:absolute;top:12px;left:12px;overflow:hidden}.skip-link:focus{border:1px solid var(--border-strong);border-radius:var(--radius-pill);clip:auto;clip-path:none;white-space:normal;outline:2px solid var(--accent);outline-offset:2px;width:auto;height:auto;margin:0;padding:10px 14px;overflow:visible}body{min-width:320px;min-height:100vh;font-family:var(--font-ui);-webkit-font-smoothing:antialiased;color:var(--text);background:var(--page-overlay), var(--page-pattern), var(--page-sparkle), var(--app-background-image,none), var(--page-glow-left), var(--page-glow-right), var(--page-gradient);background-size:var(--page-overlay-size,cover), var(--page-pattern-size,cover), var(--page-sparkle-size,auto), var(--app-background-size,380px), var(--page-glow-size,auto), var(--page-glow-size,auto), var(--page-gradient-size,auto);background-repeat:no-repeat, no-repeat, repeat, var(--app-background-repeat,repeat), no-repeat, no-repeat, no-repeat;background-position:50%;background-attachment:fixed;margin:0;font-size:1rem;font-weight:400;transition:background .35s,color .2s}body:before{content:"";z-index:0;pointer-events:none;opacity:var(--page-grain-opacity,.3);mix-blend-mode:var(--page-grain-blend,multiply);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}body:after{content:"";z-index:0;pointer-events:none;opacity:var(--page-firefly-opacity,0);background:radial-gradient(circle at 18% 72%, var(--accent-soft), transparent 8%), radial-gradient(circle at 82% 28%, var(--accent-muted), transparent 6%), radial-gradient(circle at 55% 88%, var(--accent-soft), transparent 5%);position:fixed;top:0;bottom:0;left:0;right:0}button,input,select,textarea{font-family:inherit}button{transition:opacity .15s,transform .15s,background .15s,border-color .15s,box-shadow .15s}button:hover{opacity:.94}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--heading-weight,600);letter-spacing:var(--heading-letter-spacing,-.03em);text-transform:var(--heading-transform,none);line-height:1.12}p{line-height:1.6}.page-header h2{margin-bottom:10px;font-size:clamp(1.8rem,3vw,2.4rem)}.page-header p{max-width:680px;font-size:1.02rem}.section-subtext{color:var(--text-soft);font-size:.92rem;line-height:1.5}.soft-label{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.card,.goal-card,.insight-card,.chart-card,.book-card,.achievement-card,.nav-link,.wrap-chart-card,.wrap-highlight,.wrap-stat-card{transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.goal-card:hover,.insight-card:hover,.chart-card:hover,.achievement-card:hover,.book-card:hover,.wrap-chart-card:hover,.wrap-highlight:hover,.wrap-stat-card:hover{border-color:var(--border-strong)}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted-text{color:var(--text-soft)}.section-card{padding:var(--card-padding-lg);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-soft)}.section-card h2,.section-card h3{color:var(--text)}.section-card p{color:var(--text-soft)}.update-notes-box{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-soft);box-shadow:var(--shadow-soft);gap:8px;padding:16px;display:grid}.update-note-line:not(:last-child){border-bottom:1px solid #ffffff0a;padding-bottom:8px}.upgraded-controls{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}:root,:root[data-theme=forest-light],[data-theme=forest-light]{--font-display:"Fraunces", "Cormorant Garamond", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.02em;--heading-weight:600;--sanctuary-mark:"🌻";--brand-gold:#f4b002;--brand-orange:#c76605;--brand-green:#2d4a0f;--brand-leaf:#5f7a1a;--brand-cream:#fff8dc;--brand-bark:#3d2e1a;--page-bg:#d8c9a4;--page-bg-soft:#f9f3e4;--surface:#faf6ec;--surface-soft:#f0e8d6;--surface-raised:#fffefb;--surface-muted:#e2d8c4;--text:#1a1208;--text-soft:#5a4a32;--text-inverse:#fffdf6;--accent:var(--brand-gold);--accent-hover:#ffc933;--accent-strong:var(--brand-orange);--accent-soft:#f4b00238;--accent-muted:#5f7a1a2e;--success:var(--brand-green);--success-soft:#e4ecd0;--danger:#a94438;--danger-soft:#fff3ec;--border-color:#2d4a0f33;--border-strong:#2d4a0f61;--shadow-soft:0 1px 2px #1a12080a, 0 8px 24px #1a120812;--shadow:0 4px 12px #1a12080f, 0 16px 40px #2d4a0f14;--shadow-strong:0 12px 32px #1a12081a, 0 32px 64px #2d4a0f1f;--focus-ring:#f4b002b8;--overlay:#261a0c94;--radius-button:var(--radius-pill);--radius-card:22px;--radius-chip:var(--radius-pill);--radius-nav:var(--radius-pill);--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/forest-light-botanical.svg);--app-background-size:520px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 85% 55% at 0% -10%, #ffd66452, transparent 60%), radial-gradient(ellipse 50% 40% at 100% -4%, #f4b00224, transparent 56%), radial-gradient(ellipse 48% 38% at 100% 100%, #2d4a0f1a, transparent 52%), radial-gradient(ellipse 52% 42% at 0% 100%, #f4b0021f, transparent 54%);--page-sparkle:radial-gradient(2px 2px at 18% 24%, #f4b0028c, transparent), radial-gradient(1.4px 1.4px at 62% 14%, #ffe08280, transparent), radial-gradient(1px 1px at 40% 68%, #ffffff8c, transparent), radial-gradient(1.6px 1.6px at 86% 48%, #f4b00266, transparent), radial-gradient(1.2px 1.2px at 28% 82%, #5f7a1a47, transparent);--page-overlay:linear-gradient(185deg, #fffae680 0%, #fff8dc2e 34%, transparent 68%);--page-glow-left:radial-gradient(ellipse 68% 52% at -8% 6%, #ffd66447, transparent 64%);--page-glow-right:radial-gradient(ellipse 52% 44% at 108% 12%, #5f7a1a1f, transparent 60%);--page-gradient:linear-gradient(162deg, #fff9ec 0%, #faf0d8 28%, #f3e6c8 58%, #e8d8b0 82%, #dcc9a0 100%);--page-grain-opacity:.1;--page-grain-blend:multiply;--page-firefly-opacity:.4;--card-sheen-top:#ffffff85;--card-sheen-bottom:#3d2e1a0d;--card-inner-highlight:0 1px 0 #ffffffa6 inset;--button-primary-text:var(--text-inverse);--primary-btn-bg:linear-gradient(168deg, #ffe082 0%, #f4b002 42%, #e8940a 78%, #c76605 100%);--primary-btn-shadow:0 2px 4px #1a120814, 0 10px 28px #f4b00252, inset 0 1px 0 #ffffff73;--nav-link-active-top:#ffe082;--nav-link-active-bottom:var(--brand-gold);--nav-link-active-text:var(--brand-bark);--nav-link-active-border:#c7660538;--nav-link-active-shadow:0 2px 6px #f4b00238, inset 0 1px 0 #ffffff8c;--chip-bg:color-mix(in srgb, var(--surface-muted) 85%, var(--brand-gold) 8%);--progress-fill:linear-gradient(90deg, var(--brand-green), var(--brand-leaf), var(--brand-gold), var(--accent-hover));--shell-sidebar-bg:linear-gradient(180deg, #fffef8 0%, #faf3e0 52%, #f0e4c8 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 65% at 50% -10%, #f4b0022e, transparent 60%);--shell-sidebar-border:#2d4a0f24;--shell-nook-bg:radial-gradient(ellipse 120% 80% at 50% 0%, #ffecaa8c, transparent 55%), linear-gradient(148deg, #fffae6f5, #f0e2bef2);--shell-nook-border:#c7660547;--shell-logo-shadow:0 10px 32px #40301424;--shell-logo-glow:drop-shadow(0 4px 16px #f4b00261) drop-shadow(0 1px 0 #ffffff73);--spotlight-text:#fffdf6;--spotlight-text-soft:#fffdf6d6;--spotlight-overlay:linear-gradient(125deg, #1a1208eb 0%, #2d4a0fc7 48%, #3d2e1aad 100%);--spotlight-backdrop-opacity:.5;--spotlight-border:#f4b00252;--spotlight-glow:var(--shadow-strong);--spotlight-label-color:var(--accent-hover);--reading-zone-bg:radial-gradient(ellipse 120% 75% at 50% -30%, #fff8dcb8, transparent 54%), radial-gradient(ellipse 50% 40% at 100% 100%, #5f7a1a1a, transparent 52%), radial-gradient(ellipse 42% 36% at 0% 85%, #f4b00214, transparent 50%), linear-gradient(175deg, #fffefb 0%, #faf6ec 48%, #f0e8d6 100%);--reading-zone-border:color-mix(in srgb, var(--brand-gold) 28%, var(--border-color));--theme-color-meta:#f9f3e4}:root:not([data-theme]) .page-header h2,:root[data-theme=forest-light] .page-header h2,[data-theme=forest-light] .page-header h2{background:linear-gradient(118deg, var(--brand-green) 0%, color-mix(in srgb, var(--brand-green) 55%, var(--brand-bark)) 55%, color-mix(in srgb, var(--brand-gold) 45%, var(--brand-green)) 100%);color:#0000;filter:drop-shadow(0 1px 8px #f4b0022e);-webkit-background-clip:text;background-clip:text}:root[data-theme=forest-light] .page-header p,[data-theme=forest-light] .page-header p{color:var(--text-soft);font-size:1.04rem}:root:not([data-theme]) .home-hero-tagline,:root[data-theme=forest-light] .home-hero-tagline,[data-theme=forest-light] .home-hero-tagline{color:color-mix(in srgb, var(--brand-green) 42%, var(--text))}:root:not([data-theme]) .card,:root:not([data-theme]) .goal-card,:root:not([data-theme]) .chart-card,:root[data-theme=forest-light] .card,[data-theme=forest-light] .card,:root[data-theme=forest-light] .goal-card,[data-theme=forest-light] .goal-card,:root[data-theme=forest-light] .chart-card,[data-theme=forest-light] .chart-card{background:linear-gradient(180deg, #ffffff8c, #fff8dc2e), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-green) 14%, var(--border-color));box-shadow:var(--card-shadow,var(--shadow-soft)), 0 0 0 1px #ffffff73, 0 14px 36px #2d4a0f0f}:root:not([data-theme]) .card:hover,:root:not([data-theme]) .goal-card:hover,:root[data-theme=forest-light] .card:hover,[data-theme=forest-light] .card:hover,:root[data-theme=forest-light] .goal-card:hover,[data-theme=forest-light] .goal-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 40%, var(--border-strong));box-shadow:var(--card-shadow,var(--shadow)), 0 0 0 1px #f4b00229, 0 16px 40px #f4b0021f}:root:not([data-theme]) .sidebar-nav-link.active,:root:not([data-theme]) .sidebar-nav-link[aria-current=page],:root[data-theme=forest-light] .sidebar-nav-link.active,[data-theme=forest-light] .sidebar-nav-link.active,:root[data-theme=forest-light] .sidebar-nav-link[aria-current=page],[data-theme=forest-light] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #ffe08259, #f4b0021f), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-gold) 45%, var(--border-color));box-shadow:var(--nav-link-active-shadow)}:root[data-theme=forest-light] .filter-chip,[data-theme=forest-light] .filter-chip,:root[data-theme=forest-light] .status-chip,[data-theme=forest-light] .status-chip{border-radius:var(--radius-chip);background:linear-gradient(180deg, #ffffff59, var(--chip-bg))}:root:not([data-theme]) body:after,:root[data-theme=forest-light] body:after,[data-theme=forest-light] body:after{background:radial-gradient(3px at 14% 78%,#f4b00259,#0000 60%),radial-gradient(2px at 32% 62%,#ffe08266,#0000 60%),radial-gradient(2.5px at 58% 84%,#f4b00247,#0000 60%),radial-gradient(2px at 78% 70%,#ffe08252,#0000 60%),radial-gradient(3px at 88% 22%,#ffe0824d,#0000 60%),radial-gradient(2px at 42% 18%,#f4b00238,#0000 60%),radial-gradient(28% 18% at 8% 12%,#ffd66429,#0000 55%)}@media (prefers-reduced-motion:no-preference){:root:not([data-theme]) body:after,:root[data-theme=forest-light] body:after,[data-theme=forest-light] body:after{animation:22s ease-in-out infinite alternate forest-light-pollen}}@keyframes forest-light-pollen{0%{opacity:calc(var(--page-firefly-opacity,.4) * .6);transform:translateY(0)translate(0)}to{opacity:var(--page-firefly-opacity,.4);transform:translateY(-6px)translate(3px)}}:root:not([data-theme]) .auth-logo-stage,:root[data-theme=forest-light] .auth-logo-stage,[data-theme=forest-light] .auth-logo-stage{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-block;position:relative}:root:not([data-theme]) .auth-logo-stage:before,:root[data-theme=forest-light] .auth-logo-stage:before,[data-theme=forest-light] .auth-logo-stage:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(72% 68% at 48% 42%,#ffe0826b,#f4b00229 48%,#0000 72%);position:absolute;top:-14%;bottom:-6%;left:-10%;right:-10%}:root:not([data-theme]) .auth-logo,:root[data-theme=forest-light] .auth-logo,[data-theme=forest-light] .auth-logo{z-index:1;position:relative}:root:not([data-theme]) .auth-hero h1 em,:root[data-theme=forest-light] .auth-hero h1 em,[data-theme=forest-light] .auth-hero h1 em{color:color-mix(in srgb, var(--brand-green) 58%, var(--text));font-style:italic}:root:not([data-theme]) .auth-feature-card,:root[data-theme=forest-light] .auth-feature-card,[data-theme=forest-light] .auth-feature-card{border-color:color-mix(in srgb, var(--brand-green) 14%, var(--border-color));background:linear-gradient(180deg, #ffffff6b, transparent 38%), color-mix(in srgb, var(--surface-raised) 92%, var(--accent-soft));transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}:root:not([data-theme]) .auth-feature-card:hover,:root[data-theme=forest-light] .auth-feature-card:hover,[data-theme=forest-light] .auth-feature-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 32%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #f4b0021a;transform:translateY(-2px)}:root:not([data-theme]) .auth-feature-card span,:root[data-theme=forest-light] .auth-feature-card span,[data-theme=forest-light] .auth-feature-card span{filter:drop-shadow(0 2px 6px #f4b00233)}:root:not([data-theme]) .auth-card,:root[data-theme=forest-light] .auth-card,[data-theme=forest-light] .auth-card{box-shadow:0 24px 60px #2d4a0f1a,0 8px 24px #1a12080f,inset 0 1px #ffffff8c}:root:not([data-theme]) .auth-card:after,:root[data-theme=forest-light] .auth-card:after,[data-theme=forest-light] .auth-card:after{content:"";background:linear-gradient(90deg, var(--brand-green), var(--brand-gold), var(--brand-orange));opacity:.85;pointer-events:none;border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:24px;right:24px}:root:not([data-theme]) .home-hero,:root[data-theme=forest-light] .home-hero,[data-theme=forest-light] .home-hero{box-shadow:var(--shadow), inset 0 1px 0 #ffffffa6, 0 0 0 1px #f4b0021a;position:relative;overflow:hidden}:root:not([data-theme]) .home-hero:before,:root[data-theme=forest-light] .home-hero:before,[data-theme=forest-light] .home-hero:before{content:"";pointer-events:none;background:radial-gradient(58% 48% at 100% 0,#f4b00233,#0000 62%),radial-gradient(42% 36% at 0 100%,#5f7a1a1a,#0000 58%),linear-gradient(135deg,#fff8dc59 0%,#0000 45%);position:absolute;top:0;bottom:0;left:0;right:0}:root:not([data-theme]) .home-hero-top,:root[data-theme=forest-light] .home-hero-top,[data-theme=forest-light] .home-hero-top,:root:not([data-theme]) .home-reading-card,:root[data-theme=forest-light] .home-reading-card,[data-theme=forest-light] .home-reading-card,:root:not([data-theme]) .home-glance,:root[data-theme=forest-light] .home-glance,[data-theme=forest-light] .home-glance{z-index:1;position:relative}:root:not([data-theme]) .home-hero-tagline,:root[data-theme=forest-light] .home-hero-tagline,[data-theme=forest-light] .home-hero-tagline{display:inline-block}:root:not([data-theme]) .home-hero-tagline:after,:root[data-theme=forest-light] .home-hero-tagline:after,[data-theme=forest-light] .home-hero-tagline:after{content:"";background:linear-gradient(90deg, var(--brand-green), var(--brand-gold));opacity:.85;border-radius:999px;width:52px;height:3px;margin-top:10px;display:block}:root:not([data-theme]) .home-reading-card,:root[data-theme=forest-light] .home-reading-card,[data-theme=forest-light] .home-reading-card{border-color:color-mix(in srgb, var(--brand-gold) 22%, var(--border-color));background:linear-gradient(180deg, #ffffff8c, transparent 28%), color-mix(in srgb, var(--surface-raised) 94%, var(--accent-soft));box-shadow:inset 0 1px #ffffffb3,0 10px 28px #2d4a0f0f}:root:not([data-theme]) .reading-spotlight-inner,:root[data-theme=forest-light] .reading-spotlight-inner,[data-theme=forest-light] .reading-spotlight-inner{box-shadow:inset 0 1px #ffffff8c}:root:not([data-theme]) .reading-spotlight-label,:root[data-theme=forest-light] .reading-spotlight-label,[data-theme=forest-light] .reading-spotlight-label{letter-spacing:.12em;font-weight:800}:root:not([data-theme]) .home-glance--inset,:root[data-theme=forest-light] .home-glance--inset,[data-theme=forest-light] .home-glance--inset{border-top-color:color-mix(in srgb, var(--brand-green) 16%, var(--border-color))}:root:not([data-theme]) .home-glance-stat,:root[data-theme=forest-light] .home-glance-stat,[data-theme=forest-light] .home-glance-stat{background:linear-gradient(180deg, #ffffff61, transparent 42%), color-mix(in srgb, var(--surface-raised) 90%, var(--accent-soft));transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);padding-left:46px;box-shadow:inset 0 1px #ffffff73}:root:not([data-theme]) .home-glance-stat:hover,:root[data-theme=forest-light] .home-glance-stat:hover,[data-theme=forest-light] .home-glance-stat:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff80,0 8px 20px #f4b00214}:root:not([data-theme]) .home-glance-icon,:root[data-theme=forest-light] .home-glance-icon,[data-theme=forest-light] .home-glance-icon{background:linear-gradient(180deg, #ffffffa6, color-mix(in srgb, var(--accent-soft) 85%, transparent));border-radius:9px;place-items:center;width:28px;height:28px;font-size:.92rem;display:grid;top:10px;left:10px;box-shadow:inset 0 1px #ffffff8c}:root:not([data-theme]) .home-glance-value,:root[data-theme=forest-light] .home-glance-value,[data-theme=forest-light] .home-glance-value{color:color-mix(in srgb, var(--brand-green) 35%, var(--text))}:root:not([data-theme]) .home-glance-stat:first-child,:root[data-theme=forest-light] .home-glance-stat:first-child,[data-theme=forest-light] .home-glance-stat:first-child{border-left:3px solid var(--brand-orange)}:root:not([data-theme]) .home-glance-stat:nth-child(2),:root[data-theme=forest-light] .home-glance-stat:nth-child(2),[data-theme=forest-light] .home-glance-stat:nth-child(2){border-left:3px solid var(--brand-green)}:root:not([data-theme]) .home-glance-stat:nth-child(3),:root[data-theme=forest-light] .home-glance-stat:nth-child(3),[data-theme=forest-light] .home-glance-stat:nth-child(3){border-left:3px solid var(--brand-gold)}:root:not([data-theme]) .home-glance-stat:nth-child(4),:root[data-theme=forest-light] .home-glance-stat:nth-child(4),[data-theme=forest-light] .home-glance-stat:nth-child(4){border-left:3px solid var(--brand-leaf)}:root:not([data-theme]) .home-glance-stat--audio,:root[data-theme=forest-light] .home-glance-stat--audio,[data-theme=forest-light] .home-glance-stat--audio{background:linear-gradient(180deg, #ffffff61, transparent 42%), color-mix(in srgb, var(--accent-soft) 28%, var(--surface-raised))}:root:not([data-theme]) .primary-btn,:root[data-theme=forest-light] .primary-btn,[data-theme=forest-light] .primary-btn{text-shadow:0 1px #ffffff38}:root:not([data-theme]) .primary-btn:hover:not(:disabled),:root[data-theme=forest-light] .primary-btn:hover:not(:disabled),[data-theme=forest-light] .primary-btn:hover:not(:disabled){box-shadow:0 4px 8px #1a12081a,0 14px 32px #f4b00261,inset 0 1px #ffffff80}:root:not([data-theme]) .app-sanctuary-nook,:root[data-theme=forest-light] .app-sanctuary-nook,[data-theme=forest-light] .app-sanctuary-nook{box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffff8c;position:relative;overflow:hidden}:root:not([data-theme]) .app-sanctuary-nook:before,:root[data-theme=forest-light] .app-sanctuary-nook:before,[data-theme=forest-light] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% -20%,#f4b00238,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}:root:not([data-theme]) .app-sanctuary-name,:root[data-theme=forest-light] .app-sanctuary-name,[data-theme=forest-light] .app-sanctuary-name{font-family:var(--font-display);background:linear-gradient(120deg, var(--brand-green) 0%, color-mix(in srgb, var(--brand-green) 50%, var(--brand-gold)) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}:root:not([data-theme]) .form-card,:root[data-theme=forest-light] .form-card,[data-theme=forest-light] .form-card,:root:not([data-theme]) .book-card,:root[data-theme=forest-light] .book-card,[data-theme=forest-light] .book-card{background:linear-gradient(180deg, #ffffff80, #fff8dc26), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-green) 14%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #fff6}:root:not([data-theme]) .app-sanctuary-sunflower,:root[data-theme=forest-light] .app-sanctuary-sunflower,[data-theme=forest-light] .app-sanctuary-sunflower{filter:drop-shadow(0 2px 8px #f4b00259)}:root:not([data-theme]) .progress-fill,:root:not([data-theme]) .bar-fill,:root[data-theme=forest-light] .progress-fill,[data-theme=forest-light] .progress-fill,:root[data-theme=forest-light] .bar-fill,[data-theme=forest-light] .bar-fill{box-shadow:inset 0 1px #ffffff59}:root:not([data-theme]) .app-footer-cozy,:root[data-theme=forest-light] .app-footer-cozy,[data-theme=forest-light] .app-footer-cozy{opacity:.92}:root:not([data-theme]) .app-footer-sunflower,:root[data-theme=forest-light] .app-footer-sunflower,[data-theme=forest-light] .app-footer-sunflower{filter:drop-shadow(0 2px 8px #f4b00247)}:root[data-theme=forest-dark],[data-theme=forest-dark]{--font-display:"Fraunces", "Cormorant Garamond", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.02em;--heading-weight:600;--sanctuary-mark:"🌙";--brand-gold:#f4b002;--brand-orange:#e8940a;--brand-green:#8faa3a;--brand-leaf:#c3ce50;--brand-cream:#fff3c4;--brand-moss:#0e1608;--brand-bark:#1a1208;--page-bg:#060a04;--page-bg-soft:#0a1006;--surface:#182410;--surface-soft:#121c0b;--surface-raised:#243318;--surface-muted:#2f4220;--text:#f5edd4;--text-soft:#c9bc8e;--text-inverse:#141e0c;--accent:var(--brand-gold);--accent-hover:#ffd35a;--accent-strong:#ffb833;--accent-soft:#f4b0022e;--accent-muted:#c3ce5029;--success:var(--brand-leaf);--success-soft:#b8c94e29;--danger:#e07a6a;--danger-soft:#e07a6a2e;--border-color:#f4b00229;--border-strong:#f4b0025c;--shadow-soft:0 2px 8px #00000061, 0 12px 32px #00000047;--shadow:0 8px 28px #00000073, 0 20px 48px #00000052;--shadow-strong:0 16px 48px #00000094, 0 32px 72px #0000006b;--focus-ring:#f4b002c7;--overlay:#040802d6;--radius-button:var(--radius-pill);--radius-card:22px;--radius-chip:var(--radius-pill);--radius-nav:var(--radius-pill);--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/forest-dark-canopy.svg);--app-background-size:460px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 70% 45% at 50% -8%, #fff3c41a, transparent 58%), radial-gradient(ellipse 55% 40% at 0% 100%, #f4b00214, transparent 52%), radial-gradient(ellipse 50% 38% at 100% 90%, #8faa3a12, transparent 50%);--page-sparkle:radial-gradient(1.8px 1.8px at 20% 65%, #f4b0028c, transparent), radial-gradient(1.2px 1.2px at 72% 40%, #ffd35a66, transparent), radial-gradient(1px 1px at 45% 80%, #c3ce5059, transparent);--page-overlay:linear-gradient(180deg, #fff3c40a 0%, #0000002e 45%, #0000006b 100%);--page-glow-left:radial-gradient(ellipse 60% 48% at -8% 12%, #f4b0021f, transparent 62%);--page-glow-right:radial-gradient(ellipse 52% 42% at 108% 18%, #c3ce5014, transparent 58%);--page-gradient:linear-gradient(168deg, #080c05 0%, #0a1006 32%, #10180a 68%, #162010 100%);--page-grain-opacity:.15;--page-grain-blend:soft-light;--page-firefly-opacity:.82;--card-sheen-top:#fff8dc0f;--card-sheen-bottom:#00000047;--card-inner-highlight:0 1px 0 #fff3c41a inset;--button-primary-text:var(--text-inverse);--primary-btn-bg:linear-gradient(168deg, #ffe082 0%, #f4b002 38%, #e8940a 72%, #a86a00 100%);--primary-btn-shadow:0 4px 14px #f4b00252, 0 0 28px #f4b00224, inset 0 1px 0 #fff3c461;--nav-link-active-top:#ffd35a;--nav-link-active-bottom:var(--brand-gold);--nav-link-active-text:var(--brand-cream);--nav-link-active-border:#f4b00252;--nav-link-active-shadow:0 2px 8px #f4b0023d, 0 0 16px #f4b0021f, inset 0 1px 0 #fff3c438;--chip-bg:color-mix(in srgb, var(--surface-muted) 88%, var(--brand-gold) 6%);--progress-fill:linear-gradient(90deg, var(--brand-green), var(--brand-leaf), var(--brand-gold), var(--accent-hover));--shell-sidebar-bg:linear-gradient(180deg, #1a2610 0%, #121c0b 52%, #0a1006 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 70% at 50% -12%, #f4b00224, transparent 58%);--shell-sidebar-border:#f4b0021a;--shell-nook-bg:radial-gradient(ellipse 110% 75% at 50% 0%, #f4b00224, transparent 55%), linear-gradient(148deg, #243318f2, #121c0bfa);--shell-nook-border:#f4b0023d;--shell-logo-shadow:0 8px 32px #00000080;--shell-logo-glow:drop-shadow(0 0 18px #f4b00247) drop-shadow(0 4px 12px #0006);--spotlight-text:#fff8e8;--spotlight-text-soft:#fff8e8cc;--spotlight-overlay:linear-gradient(125deg, #040802f0 0%, #0e1608d6 48%, #182410bd 100%);--spotlight-backdrop-opacity:.5;--spotlight-border:#f4b00247;--spotlight-glow:0 24px 60px #0000008c, 0 0 48px #f4b0021a;--spotlight-label-color:var(--accent-hover);--reading-zone-bg:radial-gradient(ellipse 100% 65% at 50% -15%, #f4b0021f, transparent 54%), radial-gradient(ellipse 45% 38% at 100% 100%, #8faa3a14, transparent 50%), radial-gradient(ellipse 40% 34% at 0% 90%, #f4b0020f, transparent 48%), linear-gradient(175deg, #1e2c14 0%, #182410 48%, #121c0b 100%);--reading-zone-border:color-mix(in srgb, var(--brand-gold) 32%, var(--border-color));--theme-color-meta:#0a1006}:root[data-theme=forest-dark] body:after,[data-theme=forest-dark] body:after{background:radial-gradient(circle at 14% 78%,#f4b0023d,#0000 9%),radial-gradient(circle at 82% 28%,#ffd35a2e,#0000 7%),radial-gradient(circle at 48% 92%,#c3ce5024,#0000 6%),radial-gradient(circle at 68% 52%,#f4b0021f,#0000 5%),radial-gradient(circle at 28% 34%,#fff3c41a,#0000 4%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=forest-dark] body:after,[data-theme=forest-dark] body:after{animation:14s ease-in-out infinite alternate forest-dark-fireflies}}@keyframes forest-dark-fireflies{0%{opacity:calc(var(--page-firefly-opacity,.72) * .55);transform:translateY(0)}to{opacity:var(--page-firefly-opacity,.72);transform:translateY(-4px)}}:root[data-theme=forest-dark] .page-header h2,[data-theme=forest-dark] .page-header h2{background:linear-gradient(118deg, var(--brand-cream) 0%, var(--accent-hover) 55%, var(--brand-gold) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=forest-dark] .page-header p,[data-theme=forest-dark] .page-header p{color:var(--text-soft);font-size:1.04rem}:root[data-theme=forest-dark] .card,[data-theme=forest-dark] .card,:root[data-theme=forest-dark] .goal-card,[data-theme=forest-dark] .goal-card,:root[data-theme=forest-dark] .chart-card,[data-theme=forest-dark] .chart-card{border-color:color-mix(in srgb, var(--brand-gold) 14%, var(--border-color));box-shadow:var(--card-shadow), 0 0 0 1px #f4b0020d}:root[data-theme=forest-dark] .card:hover,[data-theme=forest-dark] .card:hover,:root[data-theme=forest-dark] .goal-card:hover,[data-theme=forest-dark] .goal-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 38%, var(--border-strong));box-shadow:var(--card-shadow), 0 0 0 1px #f4b0021f, 0 12px 32px #f4b0020f}:root[data-theme=forest-dark] .primary-btn,[data-theme=forest-dark] .primary-btn{text-shadow:0 1px #ffffff2e;box-shadow:var(--primary-btn-shadow)}:root[data-theme=forest-dark] .primary-btn:hover:not(:disabled),[data-theme=forest-dark] .primary-btn:hover:not(:disabled){box-shadow:0 6px 18px #f4b00261,0 0 32px #f4b00233,inset 0 1px #fff3c46b}:root[data-theme=forest-dark] .sidebar-nav-link.active,[data-theme=forest-dark] .sidebar-nav-link.active,:root[data-theme=forest-dark] .sidebar-nav-link[aria-current=page],[data-theme=forest-dark] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #f4b00238, #f4b0020f), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-gold) 42%, var(--border-color));box-shadow:var(--nav-link-active-shadow)}:root[data-theme=forest-dark] .app-sanctuary-nook,[data-theme=forest-dark] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 24px #f4b00214;position:relative;overflow:hidden}:root[data-theme=forest-dark] .app-sanctuary-nook:before,[data-theme=forest-dark] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(85% 65% at 50% -25%,#f4b0022e,#0000 62%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=forest-dark] .app-sanctuary-sunflower,[data-theme=forest-dark] .app-sanctuary-sunflower{filter:drop-shadow(0 0 10px #f4b00259)}:root[data-theme=forest-dark] .auth-logo-stage,[data-theme=forest-dark] .auth-logo-stage{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-block;position:relative}:root[data-theme=forest-dark] .auth-logo,[data-theme=forest-dark] .auth-logo{z-index:1;position:relative}:root[data-theme=forest-dark] .auth-logo-stage:before,[data-theme=forest-dark] .auth-logo-stage:before{background:radial-gradient(70% 65% at 50% 42%,#fff3c41f,#f4b00238 42%,#0000 72%)}:root[data-theme=forest-dark] .auth-hero h1 em,[data-theme=forest-dark] .auth-hero h1 em{color:color-mix(in srgb, var(--accent-hover) 72%, var(--brand-cream));font-style:italic}:root[data-theme=forest-dark] .auth-feature-card,[data-theme=forest-dark] .auth-feature-card{border-color:color-mix(in srgb, var(--brand-gold) 18%, var(--border-color));background:linear-gradient(180deg, #fff3c40f, transparent 40%), color-mix(in srgb, var(--surface-raised) 90%, var(--accent-soft))}:root[data-theme=forest-dark] .auth-feature-card:hover,[data-theme=forest-dark] .auth-feature-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 38%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 20px #f4b0021a}:root[data-theme=forest-dark] .auth-feature-card span,[data-theme=forest-dark] .auth-feature-card span{filter:drop-shadow(0 0 8px #f4b00247)}:root[data-theme=forest-dark] .auth-card,[data-theme=forest-dark] .auth-card{box-shadow:0 24px 60px #00000073,0 0 40px #f4b0020f,inset 0 1px #fff3c414}:root[data-theme=forest-dark] .auth-card:after,[data-theme=forest-dark] .auth-card:after{content:"";background:linear-gradient(90deg, var(--brand-leaf), var(--brand-gold), var(--accent-hover));opacity:.9;pointer-events:none;border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:24px;right:24px}:root[data-theme=forest-dark] .home-hero,[data-theme=forest-dark] .home-hero{box-shadow:var(--shadow), inset 0 1px 0 #fff3c414, 0 0 0 1px #f4b00214;position:relative;overflow:hidden}:root[data-theme=forest-dark] .home-hero:before,[data-theme=forest-dark] .home-hero:before{content:"";pointer-events:none;background:radial-gradient(60% 42% at 50% -5%,#fff3c414,#0000 58%),radial-gradient(45% 38% at 100% 100%,#f4b00214,#0000 55%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=forest-dark] .home-hero-top,[data-theme=forest-dark] .home-hero-top,:root[data-theme=forest-dark] .home-reading-card,[data-theme=forest-dark] .home-reading-card,:root[data-theme=forest-dark] .home-glance,[data-theme=forest-dark] .home-glance{z-index:1;position:relative}:root[data-theme=forest-dark] .home-hero-tagline,[data-theme=forest-dark] .home-hero-tagline{color:color-mix(in srgb, var(--brand-cream) 55%, var(--text));display:inline-block}:root[data-theme=forest-dark] .home-hero-tagline:after,[data-theme=forest-dark] .home-hero-tagline:after{content:"";background:linear-gradient(90deg, var(--brand-leaf), var(--brand-gold));opacity:.9;border-radius:999px;width:52px;height:3px;margin-top:10px;display:block}:root[data-theme=forest-dark] .home-reading-card,[data-theme=forest-dark] .home-reading-card{border-color:color-mix(in srgb, var(--brand-gold) 28%, var(--border-color));background:linear-gradient(180deg, #fff3c40d, transparent 32%), color-mix(in srgb, var(--surface-raised) 92%, var(--accent-soft));box-shadow:inset 0 1px #fff3c41a,0 10px 32px #00000047,0 0 24px #f4b0020f}:root[data-theme=forest-dark] .reading-spotlight-label,[data-theme=forest-dark] .reading-spotlight-label{letter-spacing:.12em;color:var(--accent-hover);font-weight:800}:root[data-theme=forest-dark] .home-glance--inset,[data-theme=forest-dark] .home-glance--inset{border-top-color:color-mix(in srgb, var(--brand-gold) 18%, var(--border-color))}:root[data-theme=forest-dark] .home-glance-stat,[data-theme=forest-dark] .home-glance-stat{background:linear-gradient(180deg, #fff3c40d, transparent 42%), color-mix(in srgb, var(--surface-raised) 88%, var(--accent-soft));transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);padding-left:46px;box-shadow:inset 0 1px #fff3c414}:root[data-theme=forest-dark] .home-glance-stat:hover,[data-theme=forest-dark] .home-glance-stat:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff3c41a,0 8px 24px #f4b0021a}:root[data-theme=forest-dark] .home-glance-icon,[data-theme=forest-dark] .home-glance-icon{background:linear-gradient(180deg, #fff3c41f, color-mix(in srgb, var(--accent-soft) 90%, transparent));border-radius:9px;place-items:center;width:28px;height:28px;font-size:.92rem;display:grid;top:10px;left:10px;box-shadow:inset 0 1px #fff3c426,0 0 12px #f4b00214}:root[data-theme=forest-dark] .home-glance-value,[data-theme=forest-dark] .home-glance-value{color:color-mix(in srgb, var(--brand-cream) 45%, var(--text))}:root[data-theme=forest-dark] .home-glance-stat:first-child,[data-theme=forest-dark] .home-glance-stat:first-child{border-left:3px solid var(--brand-orange)}:root[data-theme=forest-dark] .home-glance-stat:nth-child(2),[data-theme=forest-dark] .home-glance-stat:nth-child(2){border-left:3px solid var(--brand-green)}:root[data-theme=forest-dark] .home-glance-stat:nth-child(3),[data-theme=forest-dark] .home-glance-stat:nth-child(3){border-left:3px solid var(--brand-gold)}:root[data-theme=forest-dark] .home-glance-stat:nth-child(4),[data-theme=forest-dark] .home-glance-stat:nth-child(4){border-left:3px solid var(--brand-leaf)}:root[data-theme=forest-dark] .home-glance-stat--audio,[data-theme=forest-dark] .home-glance-stat--audio{background:linear-gradient(180deg, #fff3c40d, transparent 42%), color-mix(in srgb, var(--accent-soft) 32%, var(--surface-raised))}:root[data-theme=forest-dark] .progress-fill,[data-theme=forest-dark] .progress-fill,:root[data-theme=forest-dark] .bar-fill,[data-theme=forest-dark] .bar-fill{box-shadow:inset 0 1px #fff3c433,0 0 12px #f4b00226}:root[data-theme=forest-dark] .app-footer-sunflower,[data-theme=forest-dark] .app-footer-sunflower{filter:drop-shadow(0 0 10px #f4b00252)}:root[data-theme=princess],[data-theme=princess]{--font-display:"Lora", "Playfair Display", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-script:"Dancing Script", "Lora", cursive;--heading-letter-spacing:.01em;--heading-weight:600;--heading-transform:none;--sanctuary-mark:"👑";--brand-gold:gold;--brand-orange:#e91e8c;--brand-green:#9c27b0;--brand-leaf:#f48fb1;--brand-cream:#fff5f9;--brand-rose:#fce4ef;--brand-amethyst:#7b1fa2;--page-bg:#efc0d8;--page-bg-soft:#fff0f6;--surface:#fff5f9;--surface-soft:#fce4ef;--surface-raised:#fffbfd;--surface-muted:#f3b8cc;--text:#4a1040;--text-soft:#8e4578;--text-inverse:#fff9fc;--accent:#e91e8c;--accent-hover:#f06292;--accent-strong:#ad1457;--accent-soft:#e91e8c33;--accent-muted:#ffd70042;--success:#9c27b0;--success-soft:#9c27b024;--danger:#c62828;--danger-soft:#ffe4f0;--border-color:#ad145738;--border-strong:#ffd7006b;--shadow-soft:0 2px 8px #e91e8c1a, 0 12px 28px #ad145714;--shadow:0 8px 24px #e91e8c24, 0 20px 44px #9c27b01a;--shadow-strong:0 16px 40px #ad14572e, 0 32px 64px #e91e8c1f;--focus-ring:#e91e8c8c;--overlay:#4a10408c;--radius-button:var(--radius-pill);--radius-card:26px;--radius-chip:var(--radius-pill);--radius-nav:var(--radius-pill);--card-border-style:solid;--card-border-width:1px;--app-background-image:none;--page-pattern:radial-gradient(ellipse 115% 58% at 50% -30%, #ffda7857, transparent 62%), radial-gradient(ellipse 38% 28% at 50% -6%, #ffffff80, transparent 68%), radial-gradient(ellipse 6% 42% at 44% -4%, #ffd70024, transparent 72%), radial-gradient(ellipse 6% 42% at 50% -4%, #fff3, transparent 72%), radial-gradient(ellipse 6% 42% at 56% -4%, #ffd7001f, transparent 72%), linear-gradient(90deg, transparent 0%, transparent 5%, #ffffff24 6.5%, transparent 8.5%, transparent 12%, #00000009 13%, transparent 15%), linear-gradient(270deg, transparent 0%, transparent 5%, #ffffff1f 6.5%, transparent 8.5%, transparent 12%, #00000008 13%, transparent 15%), radial-gradient(ellipse 82% 36% at 50% 112%, #ffb6c13d, transparent 58%);--page-sparkle:radial-gradient(1px 1px at 7% 12%, #fffffff2, transparent), radial-gradient(1px 1px at 4% 48%, #ffd700b3, transparent), radial-gradient(1px 1px at 9% 78%, #ba68c8a6, transparent), radial-gradient(1px 1px at 19% 71%, #ffd700d9, transparent), radial-gradient(1px 1px at 33% 28%, #ffffffbf, transparent), radial-gradient(1px 1px at 48% 8%, #ffd700cc, transparent), radial-gradient(1px 1px at 52% 18%, #ffffffe6, transparent), radial-gradient(1px 1px at 48% 86%, #ffb6c1d9, transparent), radial-gradient(1px 1px at 61% 15%, #ffffffe6, transparent), radial-gradient(1px 1px at 76% 54%, #ffd700bf, transparent), radial-gradient(1px 1px at 89% 83%, #fffc, transparent), radial-gradient(1px 1px at 96% 44%, #ffd700a6, transparent), radial-gradient(1px 1px at 93% 18%, #f48fb1bf, transparent), radial-gradient(1.5px 1.5px at 42% 44%, #fff0faa6, transparent), radial-gradient(1.5px 1.5px at 14% 38%, #ffd70099, transparent), radial-gradient(1.5px 1.5px at 68% 36%, #ffffffd9, transparent), radial-gradient(2px 2px at 50% 12%, #ffd7008c, transparent), radial-gradient(1px 1px at 54% 62%, #fff9, transparent);--page-overlay:linear-gradient(180deg, #ffffff52 0%, #fff8fc24 24%, #fce4ef0d 50%, #f3c8dc14 100%);--page-glow-left:linear-gradient(90deg, #58187052 0%, #7b1fa23d 4%, #9c27b029 9%, #ba68c81a 14%, #ffffff14 18%, #9c27b00a 22%, transparent 34%);--page-glow-right:linear-gradient(270deg, #680e3e47 0%, #880e4f33 5%, #c2185b24 10%, #f48fb117 15%, #ffffff12 19%, #e91e8c0a 23%, transparent 36%);--page-gradient:linear-gradient(168deg, #fffaff 0%, #fff8fc 18%, #fff0f6 40%, #fce4ef 68%, #efc0d8 100%);--page-grain-opacity:.05;--page-grain-blend:overlay;--page-firefly-opacity:.62;--card-sheen-top:#ffffff9e;--card-sheen-bottom:#e91e8c0a;--card-inner-highlight:0 1px 0 #ffffffbf inset;--button-primary-text:var(--text-inverse);--primary-btn-bg:linear-gradient(135deg, #ffc1e3 0%, #ff80ab 18%, #e91e8c 48%, #ad1457 82%, #880e4f 100%);--primary-btn-shadow:0 4px 14px #e91e8c52, 0 0 0 1px #ffd70059, inset 0 1px 0 #ffffff73;--nav-link-active-top:#ffc1e3;--nav-link-active-bottom:#e91e8c;--nav-link-active-text:var(--text-inverse);--nav-link-active-border:#ffd70073;--nav-link-active-shadow:0 4px 14px #e91e8c47, 0 0 0 1px #ffd70038, inset 0 1px 0 #fff6;--chip-bg:linear-gradient(180deg, #fff5f9, #fce4ef);--progress-fill:linear-gradient(90deg, #f48fb1, #e91e8c, gold, #fff59d);--shell-sidebar-bg:linear-gradient(180deg, #fffbfd 0%, #fff0f6 45%, #fce4ef 100%);--shell-sidebar-accent:radial-gradient(ellipse 130% 75% at 50% -10%, #ffd7002e, transparent 58%);--shell-sidebar-border:#ffd70047;--shell-nook-bg:radial-gradient(ellipse 120% 80% at 50% 0%, #ffd70033, transparent 55%), linear-gradient(148deg, #fffbfdfa, #fce4eff5);--shell-nook-border:#ffd7006b;--shell-logo-shadow:0 12px 36px #e91e8c24;--shell-logo-glow:drop-shadow(0 0 16px #ffd70073) drop-shadow(0 4px 12px #e91e8c33);--spotlight-text:#fff9fc;--spotlight-text-soft:#fff9fcd6;--spotlight-overlay:linear-gradient(125deg, #4a1040eb 0%, #880e4fc7 45%, #ad1457a6 100%);--spotlight-backdrop-opacity:.48;--spotlight-border:#ffd70061;--spotlight-glow:0 20px 48px #ad145733, 0 0 32px #ffd7001f;--spotlight-label-color:gold;--reading-zone-bg:radial-gradient(ellipse 110% 70% at 50% -25%, #ffffffbf, transparent 52%), radial-gradient(ellipse 55% 42% at 100% 100%, #ffd70024, transparent 50%), radial-gradient(ellipse 48% 38% at 0% 90%, #e91e8c14, transparent 48%), linear-gradient(175deg, #fffbfd, #fff0f6 50%, #fce4ef);--reading-zone-border:color-mix(in srgb, var(--brand-gold) 42%, var(--border-color));--theme-color-meta:#fff0f6}:root[data-theme=princess] body:after,[data-theme=princess] body:after{background:radial-gradient(9% 88% at 0%,#ba68c847,#0000 72%),radial-gradient(9% 88% at 100%,#f48fb13d,#0000 72%),radial-gradient(circle at 50% 6%,#ffd70052 0,#0000 3.5%),radial-gradient(circle at 14% 22%,#ffffff9e 0,#0000 2.2%),radial-gradient(circle at 76% 16%,#ffd7007a 0,#0000 1.8%),radial-gradient(circle at 90% 68%,#ffffff80 0,#0000 2%),radial-gradient(circle at 44% 88%,#f48fb157 0,#0000 2.4%),radial-gradient(circle at 58% 48%,#ffd70047 0,#0000 1.6%),radial-gradient(circle at 24% 55%,#ffffff70 0,#0000 1.4%),radial-gradient(circle at 68% 78%,#ffd7003d 0,#0000 1.5%),radial-gradient(circle at 36% 34%,#ffffff61 0,#0000 1.2%),radial-gradient(circle at 82% 44%,#e91e8c2e 0,#0000 2%),radial-gradient(circle at 3% 32%,#ffd70038 0,#0000 1.8%),radial-gradient(circle at 97% 62%,#ffffff59 0,#0000 1.6%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=princess] body:after,[data-theme=princess] body:after{animation:14s ease-in-out infinite alternate princess-sparkle-drift}}@keyframes princess-sparkle-drift{0%{opacity:calc(var(--page-firefly-opacity,.62) * .62);transform:translateY(0)}to{opacity:var(--page-firefly-opacity,.62);transform:translateY(-3px)}}:root[data-theme=princess] .page-header h2,[data-theme=princess] .page-header h2{font-family:var(--font-display);background:linear-gradient(118deg,#880e4f 0%,#e91e8c 35%,#f06292 55%,gold 85%,#fff59d 100%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.18em;font-style:italic;line-height:1.4;overflow:visible}:root[data-theme=princess] .page-header p,[data-theme=princess] .page-header p{color:var(--text-soft);font-size:1.06rem;font-family:var(--font-script);font-style:normal}:root[data-theme=princess] .card,[data-theme=princess] .card,:root[data-theme=princess] .goal-card,[data-theme=princess] .goal-card,:root[data-theme=princess] .chart-card,[data-theme=princess] .chart-card,:root[data-theme=princess] .insight-card,[data-theme=princess] .insight-card{border-color:color-mix(in srgb, var(--brand-gold) 28%, var(--border-color));box-shadow:var(--card-shadow), 0 0 0 1px #ffd70033, 0 0 28px #e91e8c0f}:root[data-theme=princess] .card:hover,[data-theme=princess] .card:hover,:root[data-theme=princess] .goal-card:hover,[data-theme=princess] .goal-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 48%, var(--border-strong));box-shadow:var(--card-shadow), 0 0 0 1px #ffd70052, 0 14px 36px #e91e8c1f}:root[data-theme=princess] .primary-btn,[data-theme=princess] .primary-btn,:root[data-theme=princess] .primary-submit,[data-theme=princess] .primary-submit{text-shadow:0 1px #ffffff47;letter-spacing:.04em;position:relative;overflow:hidden}:root[data-theme=princess] .primary-btn:after,[data-theme=princess] .primary-btn:after,:root[data-theme=princess] .primary-submit:after,[data-theme=princess] .primary-submit:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff6b 50%,#0000 62%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=princess] .primary-btn:after,[data-theme=princess] .primary-btn:after,:root[data-theme=princess] .primary-submit:after,[data-theme=princess] .primary-submit:after{animation:3.5s ease-in-out infinite princess-btn-shimmer}}@keyframes princess-btn-shimmer{0%,to{transform:translate(-120%)}45%,55%{transform:translate(120%)}}:root[data-theme=princess] .primary-btn:hover:not(:disabled),[data-theme=princess] .primary-btn:hover:not(:disabled){box-shadow:0 6px 20px #e91e8c61,0 0 0 1px #ffd70073,0 0 24px #ffd7002e,inset 0 1px #ffffff80}:root[data-theme=princess] .secondary-btn,[data-theme=princess] .secondary-btn{border:1px solid color-mix(in srgb, var(--brand-gold) 35%, var(--border-color));background:linear-gradient(180deg, #fff5f9, var(--chip-bg))}:root[data-theme=princess] .sidebar-nav-link.active,[data-theme=princess] .sidebar-nav-link.active,:root[data-theme=princess] .sidebar-nav-link[aria-current=page],[data-theme=princess] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #ffc1e38c, #e91e8c2e), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-gold) 50%, var(--border-color));box-shadow:var(--nav-link-active-shadow)}:root[data-theme=princess] .app-sanctuary-nook,[data-theme=princess] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 28px #ffd70024;position:relative;overflow:hidden}:root[data-theme=princess] .app-sanctuary-nook:before,[data-theme=princess] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(90% 65% at 50% -30%,#ffd70038,#0000 58%),radial-gradient(circle at 88% 12%,#ffffff59,#0000 8%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=princess] .app-sanctuary-name,[data-theme=princess] .app-sanctuary-name{font-family:var(--font-script);background:linear-gradient(120deg,#ad1457,#e91e8c,gold);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.14rem;font-style:normal;font-weight:600}:root[data-theme=princess] .app-sanctuary-sunflower,[data-theme=princess] .app-sanctuary-sunflower{filter:drop-shadow(0 0 8px #ffd70080)}:root[data-theme=princess] .app-sanctuary-nook:after,[data-theme=princess] .app-sanctuary-nook:after{letter-spacing:.5em;color:color-mix(in srgb, var(--brand-gold) 70%, transparent);font-size:.55rem}:root[data-theme=princess] .auth-logo-stage,[data-theme=princess] .auth-logo-stage{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-block;position:relative}:root[data-theme=princess] .auth-logo,[data-theme=princess] .auth-logo{z-index:1;position:relative}:root[data-theme=princess] .auth-logo-stage:before,[data-theme=princess] .auth-logo-stage:before{background:radial-gradient(75% 70% at 50% 40%,#ffd70059,#e91e8c2e 45%,#0000 72%)}:root[data-theme=princess] .auth-hero h1 em,[data-theme=princess] .auth-hero h1 em{font-family:var(--font-script);background:linear-gradient(120deg,#e91e8c,gold);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.1em;font-style:normal}:root[data-theme=princess] .auth-feature-card,[data-theme=princess] .auth-feature-card{border-color:color-mix(in srgb, var(--brand-gold) 30%, var(--border-color));background:linear-gradient(180deg, #ffffff8c, transparent 40%), color-mix(in srgb, var(--surface-raised) 92%, var(--accent-soft))}:root[data-theme=princess] .auth-feature-card:hover,[data-theme=princess] .auth-feature-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 55%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 24px #ffd7002e}:root[data-theme=princess] .auth-feature-card span,[data-theme=princess] .auth-feature-card span{filter:drop-shadow(0 2px 8px #e91e8c33)}:root[data-theme=princess] .auth-card,[data-theme=princess] .auth-card{box-shadow:0 24px 60px #e91e8c24,0 0 40px #ffd7001a,inset 0 1px #ffffffa6}:root[data-theme=princess] .auth-card:after,[data-theme=princess] .auth-card:after{content:"";opacity:.95;pointer-events:none;background:linear-gradient(90deg,gold,#e91e8c,#9c27b0,gold) 0 0/200% 100%;border-radius:0 0 4px 4px;height:4px;position:absolute;top:0;left:20px;right:20px}@media (prefers-reduced-motion:no-preference){:root[data-theme=princess] .auth-card:after,[data-theme=princess] .auth-card:after{animation:6s linear infinite princess-gilt-shift}}@keyframes princess-gilt-shift{0%{background-position:0%}to{background-position:200%}}:root[data-theme=princess] .auth-eyebrow,[data-theme=princess] .auth-eyebrow{font-family:var(--font-script);color:var(--accent-strong);letter-spacing:.12em;font-size:1.05rem}:root[data-theme=princess] .home-greeting,[data-theme=princess] .home-greeting{font-style:italic}:root[data-theme=princess] .home-greeting strong,[data-theme=princess] .home-greeting strong{font-family:var(--font-display);background:linear-gradient(120deg, var(--accent-strong), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:600}:root[data-theme=princess] .home-hero,[data-theme=princess] .home-hero{box-shadow:var(--shadow), inset 0 1px 0 #ffffffbf, 0 0 0 1px #ffd70038, 0 0 40px #e91e8c14;position:relative;overflow:hidden}:root[data-theme=princess] .home-hero:before,[data-theme=princess] .home-hero:before{content:"";pointer-events:none;background:radial-gradient(65% 50% at 50% -8%,#ffd7002e,#0000 58%),radial-gradient(40% 35% at 100% 100%,#e91e8c1a,#0000 55%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=princess] .home-hero-top,[data-theme=princess] .home-hero-top,:root[data-theme=princess] .home-reading-card,[data-theme=princess] .home-reading-card,:root[data-theme=princess] .home-glance,[data-theme=princess] .home-glance{z-index:1;position:relative}:root[data-theme=princess] .home-hero-tagline,[data-theme=princess] .home-hero-tagline{font-family:var(--font-script);color:color-mix(in srgb, var(--accent-strong) 55%, var(--text));font-size:clamp(1.35rem,2.4vw,1.7rem);font-style:normal;font-weight:600;display:inline-block}:root[data-theme=princess] .home-hero-tagline:after,[data-theme=princess] .home-hero-tagline:after{content:" 💕";margin-left:2px;font-size:.92em;display:inline}:root[data-theme=princess] .home-hero-tagline:before,[data-theme=princess] .home-hero-tagline:before{content:"";background:linear-gradient(90deg,gold,#e91e8c,gold) 0 0/200% 100%;border-radius:999px;width:72px;height:4px;margin-bottom:10px;display:block}@media (prefers-reduced-motion:no-preference){:root[data-theme=princess] .home-hero-tagline:before,[data-theme=princess] .home-hero-tagline:before{animation:5s linear infinite princess-gilt-shift}}:root[data-theme=princess] .home-reading-card,[data-theme=princess] .home-reading-card{border-color:color-mix(in srgb, var(--brand-gold) 38%, var(--border-color));background:linear-gradient(180deg, #ffffff9e, transparent 30%), color-mix(in srgb, var(--surface-raised) 94%, var(--accent-soft));box-shadow:inset 0 1px #fffc,0 10px 32px #e91e8c1a,0 0 0 1px #ffd70026}:root[data-theme=princess] .reading-spotlight-inner,[data-theme=princess] .reading-spotlight-inner{border-color:color-mix(in srgb, var(--brand-gold) 35%, var(--reading-zone-border));box-shadow:inset 0 1px #ffffffa6,0 0 20px #ffd70014}:root[data-theme=princess] .reading-spotlight-label,[data-theme=princess] .reading-spotlight-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);font-style:italic;font-weight:800}:root[data-theme=princess] .home-glance--inset,[data-theme=princess] .home-glance--inset{border-top-color:color-mix(in srgb, var(--brand-gold) 28%, var(--border-color))}:root[data-theme=princess] .home-glance-stat,[data-theme=princess] .home-glance-stat{background:linear-gradient(180deg, #ffffff7a, transparent 42%), color-mix(in srgb, var(--surface-raised) 88%, var(--accent-soft));transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding-left:46px;box-shadow:inset 0 1px #ffffff8c}:root[data-theme=princess] .home-glance-stat:hover,[data-theme=princess] .home-glance-stat:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffa6,0 8px 24px #e91e8c1f,0 0 16px #ffd7001a}:root[data-theme=princess] .home-glance-icon,[data-theme=princess] .home-glance-icon{background:linear-gradient(180deg, #ffffffbf, color-mix(in srgb, var(--accent-soft) 80%, transparent));border-radius:9px;place-items:center;width:28px;height:28px;font-size:.92rem;display:grid;top:10px;left:10px;box-shadow:inset 0 1px #ffffffb3,0 0 10px #ffd70026}:root[data-theme=princess] .home-glance-value,[data-theme=princess] .home-glance-value{font-family:var(--font-display);background:linear-gradient(120deg,#ad1457,#e91e8c);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic}:root[data-theme=princess] .home-glance-stat:first-child,[data-theme=princess] .home-glance-stat:first-child{border-left:4px solid #ff9800}:root[data-theme=princess] .home-glance-stat:nth-child(2),[data-theme=princess] .home-glance-stat:nth-child(2){border-left:4px solid var(--brand-orange)}:root[data-theme=princess] .home-glance-stat:nth-child(3),[data-theme=princess] .home-glance-stat:nth-child(3){border-left:4px solid var(--brand-gold)}:root[data-theme=princess] .home-glance-stat:nth-child(4),[data-theme=princess] .home-glance-stat:nth-child(4){border-left:4px solid var(--brand-green)}:root[data-theme=princess] .home-glance-stat--audio,[data-theme=princess] .home-glance-stat--audio{background:linear-gradient(180deg, #ffffff7a, transparent 42%), color-mix(in srgb, var(--accent-soft) 32%, var(--surface-raised))}:root[data-theme=princess] .home-columns .goal-card,[data-theme=princess] .home-columns .goal-card,:root[data-theme=princess] .home-columns .card,[data-theme=princess] .home-columns .card{border-color:color-mix(in srgb, var(--brand-gold) 32%, var(--border-color))}:root[data-theme=princess] .filter-chip,[data-theme=princess] .filter-chip,:root[data-theme=princess] .status-chip,[data-theme=princess] .status-chip{border:1px solid color-mix(in srgb, var(--brand-gold) 22%, var(--border-color));background:linear-gradient(180deg, #fff8fc, var(--chip-bg))}:root[data-theme=princess] .progress-fill,[data-theme=princess] .progress-fill,:root[data-theme=princess] .bar-fill,[data-theme=princess] .bar-fill{box-shadow:inset 0 1px #fff6,0 0 14px #ffd70038}:root[data-theme=princess] .dock-link--accent,[data-theme=princess] .dock-link--accent{background:var(--primary-btn-bg);box-shadow:var(--primary-btn-shadow)}:root[data-theme=princess] .app-footer-sunflower,[data-theme=princess] .app-footer-sunflower{filter:drop-shadow(0 0 8px #ffd70066)}:root[data-theme=princess] .app-footer-cozy,[data-theme=princess] .app-footer-cozy{font-style:italic}:root[data-theme=princess] .app-footer-cozy p,[data-theme=princess] .app-footer-cozy p{color:color-mix(in srgb, var(--accent-strong) 40%, var(--text-soft))}:root[data-theme=princess] .calendar-day:not(.blank),[data-theme=princess] .calendar-day:not(.blank){color:#8e4578;background:#f8d4e4}:root[data-theme=princess] .calendar-day.read-light,[data-theme=princess] .calendar-day.read-light,:root[data-theme=princess] .calendar-day.read-medium,[data-theme=princess] .calendar-day.read-medium,:root[data-theme=princess] .calendar-day.read-heavy,[data-theme=princess] .calendar-day.read-heavy,:root[data-theme=princess] .calendar-day.has-read,[data-theme=princess] .calendar-day.has-read{color:#fff9fc;background:#e91e8c}:root[data-theme=princess] .calendar-day.has-read:after,[data-theme=princess] .calendar-day.has-read:after{background:gold;box-shadow:0 0 0 1px #4a104033}:root[data-theme=romance],[data-theme=romance]{--font-display:"Cormorant Garamond", "Lora", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:.01em;--heading-weight:600;--heading-transform:none;--sanctuary-mark:"💋";--brand-gold:#d4a574;--brand-orange:#8b2942;--brand-green:#5c3d4a;--brand-leaf:#a85a6e;--brand-cream:#f7efe6;--brand-wine:#6b1d32;--brand-ink:#1c0e14;--page-bg:#12080e;--page-bg-soft:#1a0c14;--surface:#2c1522;--surface-soft:#201018;--surface-raised:#f7efe6;--surface-muted:#3c1c2c;--text:#f3e8dc;--text-soft:#c4a8b0;--text-inverse:#1c0e14;--card-text:#2a141c;--card-text-soft:#6a4a52;--accent:#c45a72;--accent-hover:#d4788c;--accent-strong:#8b2942;--accent-soft:#c45a723d;--accent-muted:#d4a5743d;--success:#7a8a6a;--success-soft:#7a8a6a2e;--danger:#c44a4a;--danger-soft:#c44a4a2e;--border-color:#c45a7247;--border-strong:#d4a5746b;--shadow-soft:0 2px 14px #0000006b, 0 0 28px #6b1d3224;--shadow:0 12px 30px #00000085, 0 0 36px #c45a721f;--shadow-strong:0 20px 50px #0009, 0 0 44px #6b1d322e;--focus-ring:#c45a728c;--overlay:#0e060ae6;--card-bg:var(--surface-raised);--card-bg-soft:#efe4d8;--chip-bg:linear-gradient(180deg, #3c1c2c, #2c1522);--chip-text:var(--text);--radius-button:999px;--radius-card:18px;--radius-chip:999px;--radius-nav:12px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/romance-petals.svg);--app-background-size:480px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 58% 42% at 50% -10%, #c45a7252, transparent 58%), radial-gradient(ellipse 48% 38% at 0% 100%, #6b1d3285, transparent 55%), radial-gradient(ellipse 42% 32% at 100% 88%, #d4a57429, transparent 52%), radial-gradient(ellipse 32% 26% at 70% 38%, #c45a7224, transparent 50%);--page-sparkle:radial-gradient(2px 2px at 28% 38%, #d4a574b3, transparent), radial-gradient(1.5px 1.5px at 72% 58%, #c45a728c, transparent), radial-gradient(2px 2px at 48% 22%, #ffdcc86b, transparent);--page-overlay:linear-gradient(180deg, #2c152261 0%, transparent 40%, #12080e80 100%);--page-glow-left:radial-gradient(ellipse 46% 42% at 0% 70%, #6b1d3257, transparent 60%);--page-glow-right:radial-gradient(ellipse 42% 36% at 100% 18%, #d4a57424, transparent 55%);--page-gradient:linear-gradient(168deg, #201018 0%, #1a0c14 45%, #12080e 100%);--page-grain-opacity:.15;--page-grain-blend:soft-light;--page-firefly-opacity:.52;--card-sheen-top:#fffcf894;--card-sheen-bottom:#2a141c0d;--card-inner-highlight:0 1px 0 #fffcf8a6 inset;--button-primary-text:#f7efe6;--primary-btn-bg:linear-gradient(155deg, #d4788c 0%, #c45a72 36%, #8b2942 74%, #6b1d32 100%);--primary-btn-shadow:0 4px 18px #8b294261, inset 0 1px 0 #ffdce638;--nav-link-active-top:#c45a72;--nav-link-active-bottom:#8b2942;--nav-link-active-text:#f7efe6;--nav-link-active-border:#d4a5745c;--nav-link-active-shadow:0 4px 16px #8b29424d;--progress-fill:linear-gradient(90deg, #6b1d32, #c45a72, #d4a574);--shell-sidebar-bg:linear-gradient(180deg, #2c1522 0%, #1a0c14 100%);--shell-sidebar-accent:radial-gradient(ellipse 110% 70% at 50% 110%, #6b1d3266, transparent 55%);--shell-sidebar-border:#c45a723d;--shell-nook-bg:radial-gradient(ellipse 100% 70% at 50% 100%, #c45a723d, transparent 55%), linear-gradient(148deg, #3c1c2c, #1a0c14);--shell-nook-border:#d4a57452;--shell-logo-glow:drop-shadow(0 0 16px #c45a7266);--spotlight-text:#f7efe6;--spotlight-text-soft:#f7efe6db;--spotlight-overlay:linear-gradient(125deg, #12080ef0 0%, #6b1d32cc 55%, #c45a7273 100%);--spotlight-backdrop-opacity:.48;--spotlight-border:#d4a57457;--spotlight-glow:0 20px 48px #6b1d3242;--spotlight-label-color:#d4a574;--reading-zone-bg:radial-gradient(ellipse 100% 60% at 50% 110%, #6b1d3247, transparent 50%), linear-gradient(175deg, #2c1522, #1a0c14);--reading-zone-border:#c45a724d;--theme-color-meta:#1a0c14}:root[data-theme=romance] body:after,[data-theme=romance] body:after{pointer-events:none;background:radial-gradient(24% 18% at 18% 76%,#d4a57452,#0000 55%),radial-gradient(18% 14% at 78% 28%,#c45a723d,#0000 52%),radial-gradient(14% 12% at 52% 52%,#ffc8b41f,#0000 50%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=romance] body:after,[data-theme=romance] body:after{animation:3.8s ease-in-out infinite alternate romance-candle-flicker}}@keyframes romance-candle-flicker{0%{opacity:calc(var(--page-firefly-opacity,.52) * .62)}to{opacity:var(--page-firefly-opacity,.52)}}:root[data-theme=romance] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf88c, #f7efe638), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-wine) 24%, #d4a5745c);box-shadow:var(--shadow-soft), 0 0 24px #c45a7214}:root[data-theme=romance] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf88c, #f7efe638), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-wine) 24%, #d4a5745c);box-shadow:var(--shadow-soft), 0 0 24px #c45a7214}[data-theme=romance] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf88c, #f7efe638), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-wine) 24%, #d4a5745c);box-shadow:var(--shadow-soft), 0 0 24px #c45a7214}[data-theme=romance] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf88c, #f7efe638), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-wine) 24%, #d4a5745c);box-shadow:var(--shadow-soft), 0 0 24px #c45a7214}:root[data-theme=romance] .page-header h2,[data-theme=romance] .page-header h2{font-family:var(--font-display);background:linear-gradient(118deg,#f3e8dc 0%,#c45a72 45%,#d4a574 100%);color:#0000;filter:drop-shadow(0 2px 12px #c45a7240);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:600}:root[data-theme=romance] .app-sidebar,[data-theme=romance] .app-sidebar{--text:#f3e8dc;--text-soft:#c4a8b0;color:#f3e8dc}:root[data-theme=romance] .app-sanctuary-name,[data-theme=romance] .app-sanctuary-name{font-family:var(--font-display);color:#d4a574;text-shadow:0 0 16px #d4a57440;font-style:italic}:root[data-theme=romance] .sidebar-nav-link.active,[data-theme=romance] .sidebar-nav-link.active,:root[data-theme=romance] .sidebar-nav-link[aria-current=page],[data-theme=romance] .sidebar-nav-link[aria-current=page]{color:#f3e8dc;background:linear-gradient(135deg,#c45a7261,#2c1522eb);border-color:#d4a57461;box-shadow:0 0 18px #c45a722e}:root[data-theme=romance] .book-card .book-content,[data-theme=romance] .book-card .book-content{background:0 0}:root[data-theme=romance] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-wine) 25%, transparent);background:color-mix(in srgb, var(--brand-cream) 82%, #efe4d8);color:var(--card-text)}:root[data-theme=romance] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-wine) 25%, transparent);background:color-mix(in srgb, var(--brand-cream) 82%, #efe4d8);color:var(--card-text)}[data-theme=romance] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-wine) 25%, transparent);background:color-mix(in srgb, var(--brand-cream) 82%, #efe4d8);color:var(--card-text)}[data-theme=romance] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-wine) 25%, transparent);background:color-mix(in srgb, var(--brand-cream) 82%, #efe4d8);color:var(--card-text)}:root[data-theme=romance] .auth-hero h1 em,[data-theme=romance] .auth-hero h1 em{color:#c45a72}@media (max-width:900px){:root[data-theme=romance] .app-mobile-bar,[data-theme=romance] .app-mobile-bar,:root[data-theme=romance] .app-dock,[data-theme=romance] .app-dock{color:#f3e8dc;background:#2c1522f2;border-color:#c45a7247}:root[data-theme=romance] .dock-link.active,[data-theme=romance] .dock-link.active,:root[data-theme=romance] .dock-link[aria-current=page],[data-theme=romance] .dock-link[aria-current=page]{color:#f7efe6;background:#5d2b3c}:root[data-theme=romance] .dock-link--accent,[data-theme=romance] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text)}}:root[data-theme=fantasy],[data-theme=fantasy]{--font-display:"Cinzel", "Spectral", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:.08em;--heading-weight:600;--heading-transform:uppercase;--sanctuary-mark:"🐉";--brand-gold:#ffd166;--brand-orange:#ef7b45;--brand-green:#4a7c59;--brand-leaf:#6fa87a;--brand-cream:#faf3df;--brand-ink:#2b180e;--brand-stone:#2a3142;--brand-dragon:#dc4a2a;--brand-arcane:#9d7cd8;--brand-torch:#ff965f;--brand-moss:#3d5a42;--page-bg:#0e1118;--page-bg-soft:#161b28;--surface:#222838;--surface-soft:#1a2030;--surface-raised:#faf3df;--surface-muted:#2e3548;--text:#ece6d8;--text-soft:#a89f92;--text-inverse:#1a1210;--card-text:#2b180e;--card-text-soft:#5c4a38;--accent:#ffd166;--accent-hover:#ffe49a;--accent-strong:#ef7b45;--accent-soft:#ffd16633;--accent-muted:#9d7cd838;--success:#6fa87a;--success-soft:#6fa87a2e;--danger:#dc4a2a;--danger-soft:#dc4a2a2e;--border-color:#ffd16638;--border-strong:#ffd1666b;--shadow-soft:0 2px 10px #00000061, 0 12px 28px #9d7cd814;--shadow:0 8px 24px #0000007a, 0 20px 44px #ffd16614;--shadow-strong:0 16px 40px #00000094, 0 32px 64px #9d7cd81f;--focus-ring:#ffd1669e;--overlay:#080a10d1;--card-bg:var(--surface-raised);--card-bg-soft:#f2e4c4;--chip-bg:linear-gradient(180deg, #2e3548, #222838);--chip-text:var(--text);--radius-button:10px;--radius-card:12px;--radius-chip:8px;--radius-nav:10px;--card-border-style:solid;--card-border-width:2px;--app-background-image:url(/themes/fantasy-runes.svg);--app-background-size:480px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 58% 58% at 50% 52%, #9d7cd829, transparent 58%), radial-gradient(ellipse 46% 46% at 50% 52%, transparent 40%, #ffd1661a 42%, transparent 44%), radial-gradient(ellipse 38% 38% at 50% 52%, transparent 46%, #9d7cd824 48%, transparent 50%), radial-gradient(ellipse 62% 52% at 0% 100%, #080a10f2, transparent 58%), radial-gradient(ellipse 62% 52% at 100% 100%, #080a10eb, transparent 58%), radial-gradient(ellipse 36% 32% at 3% 96%, #ef7b456b, transparent 62%), radial-gradient(ellipse 36% 32% at 97% 94%, #ffd1665c, transparent 60%), radial-gradient(ellipse 22% 20% at 5% 90%, #ff965f52, transparent 58%), radial-gradient(ellipse 22% 20% at 95% 88%, #ffd16647, transparent 56%), radial-gradient(ellipse 52% 36% at 50% -18%, #9d7cd82e, transparent 62%), linear-gradient(90deg, #0e1118b8 0%, #1a203061 5%, transparent 14%, transparent 86%, #1a203061 95%, #0e1118b8 100%);--page-sparkle:radial-gradient(1px 1px at 14% 72%, #ffd166e6, transparent), radial-gradient(1px 1px at 28% 58%, #9d7cd8d9, transparent), radial-gradient(1px 1px at 42% 82%, #ef7b45cc, transparent), radial-gradient(1px 1px at 56% 44%, #ffe49cbf, transparent), radial-gradient(1.5px 1.5px at 68% 68%, #9d7cd8cc, transparent), radial-gradient(1px 1px at 82% 54%, #ffd166b3, transparent), radial-gradient(1px 1px at 22% 32%, #ef7b4599, transparent), radial-gradient(1px 1px at 74% 28%, #ffd166a6, transparent), radial-gradient(1px 1px at 48% 18%, #9d7cd88c, transparent), radial-gradient(1.5px 1.5px at 36% 88%, #ffe49c99, transparent), radial-gradient(2px 2px at 50% 50%, #9d7cd859, transparent), radial-gradient(1px 1px at 88% 78%, #ffd16680, transparent);--page-overlay:linear-gradient(180deg, #161b288c 0%, #0e111847 35%, #0e11181f 62%, #ef7b4514 100%);--page-glow-left:linear-gradient(90deg, #0e1118d9 0%, #2a31428c 4%, #ef7b452e 9%, #ffd1661a 14%, #9d7cd80f 18%, transparent 32%);--page-glow-right:linear-gradient(270deg, #0e1118d1 0%, #2a314285 4%, #ffd16624 9%, #9d7cd814 14%, #ef7b450f 18%, transparent 32%);--page-gradient:linear-gradient(168deg, #1a2030 0%, #161b28 28%, #121722 55%, #0e1118 100%);--page-grain-opacity:.22;--page-grain-blend:soft-light;--page-firefly-opacity:.92;--card-sheen-top:#fff8dd8c;--card-sheen-bottom:#2b180814;--card-inner-highlight:0 1px 0 #fff8dda6 inset;--button-primary-text:var(--brand-ink);--primary-btn-bg:linear-gradient(155deg, #fff0c9 0%, #ffd166 22%, #ef7b45 52%, #b84a1f 82%, #6b2810 100%);--primary-btn-shadow:0 4px 16px #ffd16652, 0 0 28px #9d7cd824, inset 0 1px 0 #fff8dd7a;--nav-link-active-top:#ffe49a;--nav-link-active-bottom:#ffd166;--nav-link-active-text:var(--brand-ink);--nav-link-active-border:#9d7cd861;--nav-link-active-shadow:0 4px 14px #ffd16647, 0 0 0 1px #9d7cd838, inset 0 1px 0 #fff8dd6b;--progress-fill:linear-gradient(90deg, #9d7cd8, #4a7c59, #ffd166, #ef7b45);--shell-sidebar-bg:linear-gradient(180deg, #222838 0%, #1a2030 45%, #121722 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 70% at 50% 110%, #ef7b452e, transparent 58%);--shell-sidebar-border:#ffd16629;--shell-nook-bg:radial-gradient(ellipse 110% 80% at 50% 100%, #ffd1662e, transparent 55%), radial-gradient(ellipse 80% 55% at 50% 0%, #9d7cd81f, transparent 58%), linear-gradient(148deg, #222838fa, #161b28f5);--shell-nook-border:#ffd16652;--shell-logo-shadow:0 12px 36px #9d7cd829;--shell-logo-glow:drop-shadow(0 0 18px #ffd1666b) drop-shadow(0 4px 12px #9d7cd847);--spotlight-text:#faf3df;--spotlight-text-soft:#faf3dfdb;--spotlight-overlay:linear-gradient(125deg, #0e1118f5 0%, #2a3142e0 38%, #9d7cd88c 72%, #ef7b457a 100%);--spotlight-backdrop-opacity:.54;--spotlight-border:#ffd16661;--spotlight-glow:0 20px 48px #00000073, 0 0 36px #9d7cd82e;--spotlight-label-color:#ffd166;--reading-zone-bg:radial-gradient(ellipse 105% 65% at 50% 115%, #ef7b451f, transparent 52%), radial-gradient(ellipse 55% 42% at 50% -15%, #9d7cd814, transparent 55%), linear-gradient(175deg, #faf3df, #f2e4c4 48%, #e8d4a8);--reading-zone-border:color-mix(in srgb, var(--brand-gold) 38%, #9d7cd838);--theme-color-meta:#0e1118}:root[data-theme=fantasy] :-webkit-any(.app-user-card,.sidebar-nav-link.active,.sidebar-nav-link[aria-current=page],.auth-card,.auth-modal,.auth-feature-card,.card,.goal-card,.chart-card,.insight-card,.home-hero,.home-reading-card,.home-panel,.home-welcome-card,.home-reading-idle,.onboarding-guide,.home-glance-stat,.settings-profile-hero,.theme-picker-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text)}:root[data-theme=fantasy] :is(.app-user-card,.sidebar-nav-link.active,.sidebar-nav-link[aria-current=page],.auth-card,.auth-modal,.auth-feature-card,.card,.goal-card,.chart-card,.insight-card,.home-hero,.home-reading-card,.home-panel,.home-welcome-card,.home-reading-idle,.onboarding-guide,.home-glance-stat,.settings-profile-hero,.theme-picker-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text)}[data-theme=fantasy] :-webkit-any(.app-user-card,.sidebar-nav-link.active,.sidebar-nav-link[aria-current=page],.auth-card,.auth-modal,.auth-feature-card,.card,.goal-card,.chart-card,.insight-card,.home-hero,.home-reading-card,.home-panel,.home-welcome-card,.home-reading-idle,.onboarding-guide,.home-glance-stat,.settings-profile-hero,.theme-picker-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text)}[data-theme=fantasy] :is(.app-user-card,.sidebar-nav-link.active,.sidebar-nav-link[aria-current=page],.auth-card,.auth-modal,.auth-feature-card,.card,.goal-card,.chart-card,.insight-card,.home-hero,.home-reading-card,.home-panel,.home-welcome-card,.home-reading-idle,.onboarding-guide,.home-glance-stat,.settings-profile-hero,.theme-picker-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text)}:root[data-theme=fantasy] body:after,[data-theme=fantasy] body:after{background:radial-gradient(16% 92% at 0 100%,#ef7b453d,#0000 72%),radial-gradient(16% 92% at 100% 100%,#ffd16638,#0000 72%),radial-gradient(38% 38%,#9d7cd814,#0000 62%),radial-gradient(circle at 6% 92%,#ff965f6b 0,#0000 4.5%),radial-gradient(circle at 94% 90%,#ffd1665c 0,#0000 4%),radial-gradient(circle at 16% 78%,#ffd1664d 0,#0000 2.6%),radial-gradient(circle at 84% 72%,#9d7cd847 0,#0000 2.4%),radial-gradient(circle at 32% 58%,#ffe49c38 0,#0000 1.5%),radial-gradient(circle at 68% 48%,#9d7cd833 0,#0000 1.3%),radial-gradient(circle at 48% 38%,#ffd16629 0,#0000 1.1%),radial-gradient(circle at 24% 28%,#ef7b4524 0,#0000 1%),radial-gradient(circle at 76% 22%,#9d7cd824 0,#0000 1%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=fantasy] body:after,[data-theme=fantasy] body:after{animation:12s ease-in-out infinite alternate fantasy-arcane-drift}}@keyframes fantasy-arcane-drift{0%{opacity:calc(var(--page-firefly-opacity,.82) * .48);transform:translateY(0)translate(0)}to{opacity:var(--page-firefly-opacity,.82);transform:translateY(-8px)translate(3px)}}:root[data-theme=fantasy] .page-header h2,[data-theme=fantasy] .page-header h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(118deg,#ece6d8 0%,#ffd166 28%,#ef7b45 52%,#9d7cd8 78%,#ffd166 100%);color:#0000;filter:drop-shadow(0 0 20px #ffd16647);-webkit-background-clip:text;background-clip:text}:root[data-theme=fantasy] .page-header p,[data-theme=fantasy] .page-header p{color:var(--text-soft);letter-spacing:.04em;font-size:1.02rem;font-style:italic}:root[data-theme=fantasy] .card,[data-theme=fantasy] .card,:root[data-theme=fantasy] .goal-card,[data-theme=fantasy] .goal-card,:root[data-theme=fantasy] .chart-card,[data-theme=fantasy] .chart-card,:root[data-theme=fantasy] .insight-card,[data-theme=fantasy] .insight-card{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);background:linear-gradient(180deg, #fff8dd9e, #f2e4c438), var(--card-gradient,none), var(--card-bg,var(--surface-raised));box-shadow:var(--card-shadow), inset 0 0 0 1px #fff8dd73, 0 0 0 1px #9d7cd814, 0 0 32px #ffd1660f}:root[data-theme=fantasy] .card:hover,[data-theme=fantasy] .card:hover,:root[data-theme=fantasy] .goal-card:hover,[data-theme=fantasy] .goal-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 52%, var(--brand-arcane));box-shadow:var(--card-shadow), inset 0 0 0 1px #fff8dd8c, 0 0 0 1px #9d7cd82e, 0 14px 36px #ffd16624}:root[data-theme=fantasy] .card h2,[data-theme=fantasy] .card h2,:root[data-theme=fantasy] .card h3,[data-theme=fantasy] .card h3,:root[data-theme=fantasy] .card h4,[data-theme=fantasy] .card h4,:root[data-theme=fantasy] .goal-card h3,[data-theme=fantasy] .goal-card h3{color:var(--card-text)}:root[data-theme=fantasy] .card p,[data-theme=fantasy] .card p,:root[data-theme=fantasy] .goal-card p,[data-theme=fantasy] .goal-card p{color:var(--card-text-soft)}:root[data-theme=fantasy] .primary-btn,[data-theme=fantasy] .primary-btn,:root[data-theme=fantasy] .primary-submit,[data-theme=fantasy] .primary-submit{border:1px solid color-mix(in srgb, var(--brand-gold) 48%, var(--brand-arcane));text-shadow:0 1px #ffffff47;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display);font-size:.88rem;position:relative;overflow:hidden}:root[data-theme=fantasy] .primary-btn:after,[data-theme=fantasy] .primary-btn:after,:root[data-theme=fantasy] .primary-submit:after,[data-theme=fantasy] .primary-submit:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff8dd7a 50%,#0000 65%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=fantasy] .primary-btn:after,[data-theme=fantasy] .primary-btn:after,:root[data-theme=fantasy] .primary-submit:after,[data-theme=fantasy] .primary-submit:after{animation:3.4s ease-in-out infinite fantasy-seal-shimmer}}@keyframes fantasy-seal-shimmer{0%,to{opacity:.85;transform:translate(-120%)}50%{opacity:1;transform:translate(120%)}}:root[data-theme=fantasy] .primary-btn:hover:not(:disabled),[data-theme=fantasy] .primary-btn:hover:not(:disabled){box-shadow:0 8px 22px #ffd16661,0 0 0 1px #9d7cd861,0 0 32px #ffd16633,inset 0 1px #fff8dd8c}:root[data-theme=fantasy] .secondary-btn,[data-theme=fantasy] .secondary-btn{border:1px solid color-mix(in srgb, var(--brand-gold) 32%, var(--border-color));color:var(--card-text);background:linear-gradient(#faf3df,#f2e4c4)}:root[data-theme=fantasy] .sidebar-nav-link.active,[data-theme=fantasy] .sidebar-nav-link.active,:root[data-theme=fantasy] .sidebar-nav-link[aria-current=page],[data-theme=fantasy] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #ffe49c6b, #ffd16638), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-gold) 48%, var(--brand-arcane));box-shadow:var(--nav-link-active-shadow);color:var(--card-text)}:root[data-theme=fantasy] .app-sanctuary-nook,[data-theme=fantasy] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 32px #9d7cd824, 0 0 48px #ffd16614;position:relative;overflow:hidden}:root[data-theme=fantasy] .app-sanctuary-nook:before,[data-theme=fantasy] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(90% 70% at 50% 110%,#ef7b4538,#0000 62%),radial-gradient(60% 45% at 50% -20%,#9d7cd829,#0000 58%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=fantasy] .app-sanctuary-name,[data-theme=fantasy] .app-sanctuary-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(120deg,#ffd166,#ef7b45,#9d7cd8);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}:root[data-theme=fantasy] .app-sanctuary-nook:after,[data-theme=fantasy] .app-sanctuary-nook:after{letter-spacing:.42em;color:color-mix(in srgb, var(--brand-gold) 72%, transparent);font-size:.52rem}:root[data-theme=fantasy] .app-sanctuary-sunflower,[data-theme=fantasy] .app-sanctuary-sunflower{filter:drop-shadow(0 0 14px #ffd1666b)}:root[data-theme=fantasy] .app-sidebar,[data-theme=fantasy] .app-sidebar{color:var(--text);--text-soft:#cfc6b8}:root[data-theme=fantasy] .sidebar-nav-label,[data-theme=fantasy] .sidebar-nav-label{color:#b8afa3}:root[data-theme=fantasy] .sidebar-nav-link,[data-theme=fantasy] .sidebar-nav-link{color:#ddd5c8}:root[data-theme=fantasy] .sidebar-nav-link:hover,[data-theme=fantasy] .sidebar-nav-link:hover{color:#faf3df;background:#ffd16614}:root[data-theme=fantasy] .sidebar-nav-link svg,[data-theme=fantasy] .sidebar-nav-link svg{opacity:.88}:root[data-theme=fantasy] .app-user-card,[data-theme=fantasy] .app-user-card{border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);background:linear-gradient(180deg, #fff8ddc7, #f2e4c46b), var(--surface-raised);box-shadow:inset 0 1px #fff8ddb8,0 6px 20px #00000052}:root[data-theme=fantasy] .app-user-card:hover,[data-theme=fantasy] .app-user-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 48%, var(--brand-arcane));box-shadow:inset 0 1px #fff8ddd1,0 8px 24px #ffd16624}:root[data-theme=fantasy] .app-user-card .app-user-meta strong,[data-theme=fantasy] .app-user-card .app-user-meta strong{color:var(--brand-ink);font-weight:800}:root[data-theme=fantasy] .app-user-avatar,[data-theme=fantasy] .app-user-avatar{color:var(--brand-ink);border:1px solid color-mix(in srgb, var(--brand-gold) 38%, transparent);background:linear-gradient(#ffe49cc7,#ffd1666b)}:root[data-theme=fantasy] .app-signout,[data-theme=fantasy] .app-signout{color:#cfc6b8}:root[data-theme=fantasy] .app-signout:hover,[data-theme=fantasy] .app-signout:hover{color:#ffb4a0}:root[data-theme=fantasy] .auth-logo-stage,[data-theme=fantasy] .auth-logo-stage{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-block;position:relative}:root[data-theme=fantasy] .auth-logo,[data-theme=fantasy] .auth-logo{z-index:1;position:relative}:root[data-theme=fantasy] .auth-logo-stage:before,[data-theme=fantasy] .auth-logo-stage:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(72% 68% at 48% 55%,#ffd16647,#9d7cd82e 48%,#0000 72%);position:absolute;top:-14%;bottom:-6%;left:-10%;right:-10%}:root[data-theme=fantasy] .auth-hero h1,[data-theme=fantasy] .auth-hero h1{font-family:var(--font-display);letter-spacing:.06em}:root[data-theme=fantasy] .auth-hero h1 em,[data-theme=fantasy] .auth-hero h1 em{color:color-mix(in srgb, var(--brand-gold) 82%, var(--brand-arcane));font-style:normal}:root[data-theme=fantasy] .auth-feature-card,[data-theme=fantasy] .auth-feature-card{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 28%, #9d7cd83d);background:linear-gradient(180deg, #fff8dd8c, #f2e4c42e), color-mix(in srgb, var(--surface-raised) 92%, var(--accent-soft));box-shadow:inset 0 0 0 1px #fff8dd61}:root[data-theme=fantasy] .auth-feature-card:hover,[data-theme=fantasy] .auth-feature-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 45%, var(--brand-arcane));box-shadow:var(--shadow-soft), inset 0 0 0 1px #fff8dd7a, 0 0 28px #9d7cd829}:root[data-theme=fantasy] .auth-card,[data-theme=fantasy] .auth-card{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);background:linear-gradient(180deg, #fff8dd94, #f2e4c447), var(--surface-raised);box-shadow:0 24px 56px #0000006b,0 0 48px #9d7cd81f,inset 0 1px #fff8dd8c,inset 0 0 0 1px #ffffff38}:root[data-theme=fantasy] .auth-card:after,[data-theme=fantasy] .auth-card:after{content:"";opacity:.95;pointer-events:none;background:linear-gradient(90deg,#9d7cd8,#ffd166,#ef7b45,#dc4a2a,#ffd166) 0 0/200% 100%;border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:24px;right:24px}@media (prefers-reduced-motion:no-preference){:root[data-theme=fantasy] .auth-card:after,[data-theme=fantasy] .auth-card:after{animation:5.5s linear infinite fantasy-rune-shift}}@keyframes fantasy-rune-shift{0%{background-position:0%}to{background-position:200%}}:root[data-theme=fantasy] .auth-eyebrow,[data-theme=fantasy] .auth-eyebrow{color:#6b4a12;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-family:var(--font-display);font-weight:700}:root[data-theme=fantasy] .auth-feature-card span,[data-theme=fantasy] .auth-feature-card span{filter:drop-shadow(0 0 10px #ffd16652)}:root[data-theme=fantasy] .auth-feature-card strong,[data-theme=fantasy] .auth-feature-card strong{color:var(--brand-ink);font-family:var(--font-ui);text-transform:none;letter-spacing:.01em;font-weight:800}:root[data-theme=fantasy] .auth-feature-grid .auth-feature-card:first-child strong,[data-theme=fantasy] .auth-feature-grid .auth-feature-card:first-child strong{color:#2d4a34}:root[data-theme=fantasy] .auth-feature-grid .auth-feature-card:nth-child(2) strong,[data-theme=fantasy] .auth-feature-grid .auth-feature-card:nth-child(2) strong{color:#5c4518}:root[data-theme=fantasy] .auth-feature-grid .auth-feature-card:nth-child(3) strong,[data-theme=fantasy] .auth-feature-grid .auth-feature-card:nth-child(3) strong{color:#7a3818}:root[data-theme=fantasy] .auth-feature-card p,[data-theme=fantasy] .auth-feature-card p{color:var(--card-text-soft)}:root[data-theme=fantasy] .auth-card h2,[data-theme=fantasy] .auth-card h2,:root[data-theme=fantasy] .auth-modal h2,[data-theme=fantasy] .auth-modal h2{color:var(--brand-ink);background:0 0;-webkit-background-clip:unset;background-clip:unset;filter:none;text-shadow:none}:root[data-theme=fantasy] .auth-card .muted-text,[data-theme=fantasy] .auth-card .muted-text,:root[data-theme=fantasy] .auth-modal .muted-text,[data-theme=fantasy] .auth-modal .muted-text{color:var(--card-text-soft)}:root[data-theme=fantasy] .auth-form label,[data-theme=fantasy] .auth-form label{color:var(--brand-ink);font-family:var(--font-ui);text-transform:none;letter-spacing:.01em;font-weight:700}:root[data-theme=fantasy] .auth-card .form-message,[data-theme=fantasy] .auth-card .form-message,:root[data-theme=fantasy] .auth-modal .form-message,[data-theme=fantasy] .auth-modal .form-message{color:var(--card-text)}:root[data-theme=fantasy] .auth-login-message,[data-theme=fantasy] .auth-login-message{color:var(--card-text);border:1px solid color-mix(in srgb, var(--brand-gold) 24%, transparent);background:#fff8ddb8}:root[data-theme=fantasy] .auth-card .text-button,[data-theme=fantasy] .auth-card .text-button,:root[data-theme=fantasy] .auth-modal .text-button,[data-theme=fantasy] .auth-modal .text-button{color:#9a4a18}:root[data-theme=fantasy] .auth-card .text-button:hover,[data-theme=fantasy] .auth-card .text-button:hover,:root[data-theme=fantasy] .auth-modal .text-button:hover,[data-theme=fantasy] .auth-modal .text-button:hover{color:#7a3818}:root[data-theme=fantasy] .auth-card .support-email-link,[data-theme=fantasy] .auth-card .support-email-link,:root[data-theme=fantasy] .auth-modal .support-email-link,[data-theme=fantasy] .auth-modal .support-email-link{color:#9a4a18}:root[data-theme=fantasy] .auth-signup-prompt p,[data-theme=fantasy] .auth-signup-prompt p,:root[data-theme=fantasy] .auth-support-note,[data-theme=fantasy] .auth-support-note,:root[data-theme=fantasy] .auth-field-hint,[data-theme=fantasy] .auth-field-hint,:root[data-theme=fantasy] .auth-signup-success-steps,[data-theme=fantasy] .auth-signup-success-steps,:root[data-theme=fantasy] .auth-signup-success-tip,[data-theme=fantasy] .auth-signup-success-tip,:root[data-theme=fantasy] .auth-signup-success-support,[data-theme=fantasy] .auth-signup-success-support,:root[data-theme=fantasy] .auth-card .soft-label,[data-theme=fantasy] .auth-card .soft-label,:root[data-theme=fantasy] .auth-modal .soft-label,[data-theme=fantasy] .auth-modal .soft-label{color:var(--card-text-soft)}:root[data-theme=fantasy] .auth-modal,[data-theme=fantasy] .auth-modal{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);background:linear-gradient(180deg, #fff8dd94, #f2e4c447), var(--surface-raised);box-shadow:0 28px 80px #0000006b,0 0 48px #9d7cd81f,inset 0 1px #fff8dd8c}:root[data-theme=fantasy] .auth-modal-close,[data-theme=fantasy] .auth-modal-close{color:var(--brand-ink);background:#fff8dda6}:root[data-theme=fantasy] .auth-modal-close:hover,[data-theme=fantasy] .auth-modal-close:hover{background:#ffd16659}:root[data-theme=fantasy] .home-greeting,[data-theme=fantasy] .home-greeting{color:var(--card-text-soft);font-family:var(--font-ui)}:root[data-theme=fantasy] .home-greeting strong,[data-theme=fantasy] .home-greeting strong{background:0 0;-webkit-background-clip:unset;background-clip:unset;color:var(--brand-ink);font-weight:700}:root[data-theme=fantasy] .home-hero,[data-theme=fantasy] .home-hero{color:var(--card-text);background:radial-gradient(ellipse 75% 50% at 100% 0%, #ffd16624, transparent 58%), linear-gradient(180deg, #fff8dd9e, #f2e4c447), var(--surface-raised);border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);box-shadow:var(--shadow), inset 0 1px 0 #fff8dd8c, 0 0 0 1px #9d7cd81f, 0 0 48px #ffd1661a;position:relative;overflow:hidden}:root[data-theme=fantasy] .home-hero:before,[data-theme=fantasy] .home-hero:before{content:"";pointer-events:none;background:radial-gradient(38% 42% at 0 100%,#ef7b4547,#0000 58%),radial-gradient(38% 42% at 100% 100%,#ffd16638,#0000 56%),radial-gradient(55% 38% at 50% -12%,#9d7cd824,#0000 55%);position:absolute;top:0;bottom:0;left:0;right:0}@media (prefers-reduced-motion:no-preference){:root[data-theme=fantasy] .home-hero:before,[data-theme=fantasy] .home-hero:before{animation:4.2s ease-in-out infinite alternate fantasy-torch-flicker}}@keyframes fantasy-torch-flicker{0%{opacity:.72}to{opacity:1}}:root[data-theme=fantasy] .home-hero-top,[data-theme=fantasy] .home-hero-top,:root[data-theme=fantasy] .home-reading-card,[data-theme=fantasy] .home-reading-card,:root[data-theme=fantasy] .home-glance,[data-theme=fantasy] .home-glance{z-index:1;position:relative}:root[data-theme=fantasy] .home-hero-tagline,[data-theme=fantasy] .home-hero-tagline{color:var(--brand-ink);font-family:var(--font-display);letter-spacing:.03em;text-transform:none;font-size:clamp(1.35rem,2.4vw,1.85rem);font-style:normal;font-weight:600;display:inline-block}:root[data-theme=fantasy] .home-hero-tagline:after,[data-theme=fantasy] .home-hero-tagline:after{content:" 🐉";text-transform:none;margin-left:2px;font-size:.88em;display:inline}:root[data-theme=fantasy] .home-hero-tagline:before,[data-theme=fantasy] .home-hero-tagline:before{content:"";opacity:.95;background:linear-gradient(90deg,#9d7cd8,#ffd166,#ef7b45,#ffd166) 0 0/200% 100%;border-radius:2px;width:72px;height:3px;margin-bottom:10px;display:block;box-shadow:0 0 18px #ffd16661}@media (prefers-reduced-motion:no-preference){:root[data-theme=fantasy] .home-hero-tagline:before,[data-theme=fantasy] .home-hero-tagline:before{animation:4.5s linear infinite fantasy-rune-shift}}:root[data-theme=fantasy] .home-reading-card,[data-theme=fantasy] .home-reading-card{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 30%, #9d7cd83d);background:linear-gradient(180deg, #fff8dd85, #f2e4c42e), var(--surface-raised);box-shadow:inset 0 1px #fff8dd8c,inset 0 0 0 1px #ffffff38,0 10px 32px #00000047,0 0 32px #9d7cd81a}:root[data-theme=fantasy] .reading-spotlight-inner,[data-theme=fantasy] .reading-spotlight-inner{border:2px solid color-mix(in srgb, var(--brand-gold) 36%, var(--reading-zone-border));box-shadow:inset 0 1px #fff8dd8c,0 0 24px #9d7cd81f}:root[data-theme=fantasy] .reading-spotlight-label,[data-theme=fantasy] .reading-spotlight-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink);font-weight:700}:root[data-theme=fantasy] .home-glance--inset,[data-theme=fantasy] .home-glance--inset{border-top-color:color-mix(in srgb, var(--brand-gold) 22%, var(--border-color))}:root[data-theme=fantasy] .home-glance-stat,[data-theme=fantasy] .home-glance-stat{color:var(--card-text);background:linear-gradient(180deg, #fff8dd7a, #f2e4c41f), var(--surface-raised);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);padding-left:46px;box-shadow:inset 0 1px #fff8dd7a}:root[data-theme=fantasy] .home-glance-stat:hover,[data-theme=fantasy] .home-glance-stat:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff8dd94,0 8px 24px #ffd16624}:root[data-theme=fantasy] .home-glance-icon,[data-theme=fantasy] .home-glance-icon{background:linear-gradient(180deg, #ffe49c73, color-mix(in srgb, var(--accent-soft) 90%, transparent));border-radius:8px;place-items:center;width:28px;height:28px;font-size:.92rem;display:grid;top:10px;left:10px;box-shadow:inset 0 1px #fff8dd6b,0 0 14px #9d7cd824}:root[data-theme=fantasy] .home-glance-value,[data-theme=fantasy] .home-glance-value{background:linear-gradient(120deg,#b84a1f,#ffd166);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=fantasy] .home-glance-label,[data-theme=fantasy] .home-glance-label{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-glance-sub,[data-theme=fantasy] .home-glance-sub{color:#9a4a18}:root[data-theme=fantasy] .home-goal-bar-label,[data-theme=fantasy] .home-goal-bar-label,:root[data-theme=fantasy] .home-goal-bar-target,[data-theme=fantasy] .home-goal-bar-target,:root[data-theme=fantasy] .home-goals-tabs button,[data-theme=fantasy] .home-goals-tabs button{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-goals-tabs button.is-active,[data-theme=fantasy] .home-goals-tabs button.is-active{color:var(--brand-ink)}:root[data-theme=fantasy] .home-goal-bar,[data-theme=fantasy] .home-goal-bar{background:#fff8dd73}:root[data-theme=fantasy] .home-session-row strong,[data-theme=fantasy] .home-session-row strong,:root[data-theme=fantasy] .reading-shelf-label,[data-theme=fantasy] .reading-shelf-label{color:var(--brand-ink)}:root[data-theme=fantasy] .reading-shelf-author,[data-theme=fantasy] .reading-shelf-author{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-columns .goal-card,[data-theme=fantasy] .home-columns .goal-card,:root[data-theme=fantasy] .home-columns .card,[data-theme=fantasy] .home-columns .card{border-color:color-mix(in srgb, var(--brand-gold) 30%, #9d7cd83d)}:root[data-theme=fantasy] .dock-link--accent,[data-theme=fantasy] .dock-link--accent{background:var(--primary-btn-bg);box-shadow:var(--primary-btn-shadow)}:root[data-theme=fantasy] .app-footer-cozy p,[data-theme=fantasy] .app-footer-cozy p{color:color-mix(in srgb, var(--brand-gold) 42%, var(--text-soft))}:root[data-theme=fantasy] .home-glance-stat:first-child,[data-theme=fantasy] .home-glance-stat:first-child{border-left:3px solid var(--brand-arcane)}:root[data-theme=fantasy] .home-glance-stat:nth-child(2),[data-theme=fantasy] .home-glance-stat:nth-child(2){border-left:3px solid var(--brand-gold)}:root[data-theme=fantasy] .home-glance-stat:nth-child(3),[data-theme=fantasy] .home-glance-stat:nth-child(3){border-left:3px solid var(--brand-orange)}:root[data-theme=fantasy] .home-glance-stat:nth-child(4),[data-theme=fantasy] .home-glance-stat:nth-child(4){border-left:3px solid var(--brand-dragon)}:root[data-theme=fantasy] .filter-chip,[data-theme=fantasy] .filter-chip,:root[data-theme=fantasy] .status-chip,[data-theme=fantasy] .status-chip{color:var(--card-text);border:1px solid color-mix(in srgb, var(--brand-gold) 28%, var(--border-color));background:linear-gradient(#faf3df,#f2e4c4)}:root[data-theme=fantasy] .progress-fill,[data-theme=fantasy] .progress-fill,:root[data-theme=fantasy] .bar-fill,[data-theme=fantasy] .bar-fill{box-shadow:inset 0 1px #fff8dd59,0 0 16px #ffd1663d}:root[data-theme=fantasy] .app-footer-sunflower,[data-theme=fantasy] .app-footer-sunflower{filter:drop-shadow(0 0 12px #ffd16661)}:root[data-theme=fantasy] .settings-header p,[data-theme=fantasy] .settings-header p{color:var(--text-soft)}:root[data-theme=fantasy] .settings-contents,[data-theme=fantasy] .settings-contents{border:1px solid color-mix(in srgb, var(--brand-gold) 28%, #9d7cd83d);box-shadow:var(--shadow-soft), inset 0 1px 0 #ffd16614;background:radial-gradient(80% 60% at 50% 0,#9d7cd81a,#0000 58%),linear-gradient(#2a3142,#222838)}:root[data-theme=fantasy] .settings-contents p,[data-theme=fantasy] .settings-contents p{color:var(--brand-gold);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}:root[data-theme=fantasy] .settings-contents a,[data-theme=fantasy] .settings-contents a{color:var(--text);background:#0e11186b;border-color:#ffd1661f}:root[data-theme=fantasy] .settings-contents a:hover,[data-theme=fantasy] .settings-contents a:hover{border-color:color-mix(in srgb, var(--brand-gold) 42%, var(--brand-arcane));background:#9d7cd824}:root[data-theme=fantasy] .settings-card.settings-card,[data-theme=fantasy] .settings-card.settings-card{position:relative;overflow:hidden}:root[data-theme=fantasy] .settings-card.settings-card:before,[data-theme=fantasy] .settings-card.settings-card:before{content:"";pointer-events:none;background:radial-gradient(55% 42% at 0 100%,#ef7b451a,#0000 58%),radial-gradient(55% 42% at 100% 100%,#ffd16614,#0000 56%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=fantasy] .settings-card-header h3,[data-theme=fantasy] .settings-card-header h3{z-index:1;color:var(--card-text);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;position:relative}:root[data-theme=fantasy] .settings-card-header p,[data-theme=fantasy] .settings-card-header p{z-index:1;color:var(--card-text-soft);position:relative}:root[data-theme=fantasy] .settings-card .soft-label,[data-theme=fantasy] .settings-card .soft-label{color:color-mix(in srgb, var(--brand-arcane) 72%, var(--brand-ink));letter-spacing:.16em}:root[data-theme=fantasy] .settings-profile-hero,[data-theme=fantasy] .settings-profile-hero{z-index:1;border:1px solid color-mix(in srgb, var(--brand-gold) 24%, #9d7cd833);background:linear-gradient(#fff8dd59,#f2e4c41f),#f2e4c4;position:relative}:root[data-theme=fantasy] .settings-profile-hero strong,[data-theme=fantasy] .settings-profile-hero strong{color:var(--card-text)}:root[data-theme=fantasy] .settings-profile-hero p,[data-theme=fantasy] .settings-profile-hero p{color:var(--card-text-soft)}:root[data-theme=fantasy] .theme-picker legend,[data-theme=fantasy] .theme-picker legend{color:var(--card-text);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}:root[data-theme=fantasy] .theme-picker-note,[data-theme=fantasy] .theme-picker-note{color:var(--card-text-soft)}:root[data-theme=fantasy] .theme-picker-card,[data-theme=fantasy] .theme-picker-card{color:var(--text);border:1px solid color-mix(in srgb, var(--brand-gold) 22%, #9d7cd847);box-shadow:var(--shadow-soft), inset 0 1px 0 #ffd1660f;background:radial-gradient(80% 70% at 50% 0,#9d7cd81f,#0000 58%),linear-gradient(#2a3142,#1a2030)}:root[data-theme=fantasy] .theme-picker-card strong,[data-theme=fantasy] .theme-picker-card strong{color:var(--brand-gold);font-family:var(--font-display);letter-spacing:.04em;font-size:.82rem}:root[data-theme=fantasy] .theme-picker-card span:last-child,[data-theme=fantasy] .theme-picker-card span:last-child{color:var(--text-soft)}:root[data-theme=fantasy] .theme-picker-card:hover,[data-theme=fantasy] .theme-picker-card:hover{border-color:color-mix(in srgb, var(--brand-gold) 45%, var(--brand-arcane));box-shadow:var(--shadow-soft), 0 0 24px #9d7cd824}:root[data-theme=fantasy] .theme-picker-card.is-selected,[data-theme=fantasy] .theme-picker-card.is-selected{border-color:var(--brand-gold);outline-color:var(--brand-gold);box-shadow:0 0 0 1px #9d7cd852, 0 0 28px #ffd1662e, var(--shadow-soft)}:root[data-theme=fantasy] .settings-card input,[data-theme=fantasy] .settings-card select,[data-theme=fantasy] .settings-card textarea,:root[data-theme=fantasy] .settings-card label,[data-theme=fantasy] .settings-card label{color:var(--card-text)}:root[data-theme=fantasy] .settings-card input,[data-theme=fantasy] .settings-card select,[data-theme=fantasy] .settings-card textarea{border-color:color-mix(in srgb, var(--brand-gold) 28%, #2b180838);color:var(--card-text);background:#fff8ddb8}:root[data-theme=fantasy] .settings-data-panel,[data-theme=fantasy] .settings-data-panel,:root[data-theme=fantasy] .settings-warning-card,[data-theme=fantasy] .settings-warning-card,:root[data-theme=fantasy] .settings-goal-group,[data-theme=fantasy] .settings-goal-group{border-color:color-mix(in srgb, var(--brand-gold) 22%, #9d7cd833);color:var(--card-text);background:linear-gradient(#fff8dd47,#f2e4c41a),#f2e4c4}:root[data-theme=fantasy] .settings-data-panel h4,[data-theme=fantasy] .settings-data-panel h4,:root[data-theme=fantasy] .settings-warning-card strong,[data-theme=fantasy] .settings-warning-card strong,:root[data-theme=fantasy] .settings-goal-group h4,[data-theme=fantasy] .settings-goal-group h4{color:var(--card-text)}:root[data-theme=fantasy] .settings-data-panel p,[data-theme=fantasy] .settings-data-panel p,:root[data-theme=fantasy] .settings-warning-card p,[data-theme=fantasy] .settings-warning-card p{color:var(--card-text-soft)}:root[data-theme=fantasy] .app-sanctuary-tagline,[data-theme=fantasy] .app-sanctuary-tagline{color:#cfc6b8}:root[data-theme=fantasy] .home-welcome-card,[data-theme=fantasy] .home-welcome-card{color:var(--card-text);border:2px dashed color-mix(in srgb, var(--brand-gold) 42%, var(--brand-arcane));background:linear-gradient(#ffffff6b,#fff8dd2e),#f5ecd4;box-shadow:inset 0 1px #fff8dda6}:root[data-theme=fantasy] .home-welcome-card h2,[data-theme=fantasy] .home-welcome-card h2{color:var(--brand-ink);font-family:var(--font-display);letter-spacing:.04em;text-transform:none;font-size:1.45rem}:root[data-theme=fantasy] .home-welcome-card p,[data-theme=fantasy] .home-welcome-card p{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-reading-idle,[data-theme=fantasy] .home-reading-idle{color:var(--card-text);background:linear-gradient(180deg, #fff8dd7a, #f2e4c429), var(--surface-raised)}:root[data-theme=fantasy] .home-reading-idle p,[data-theme=fantasy] .home-reading-idle p{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-panel,[data-theme=fantasy] .home-panel{color:var(--card-text);background:linear-gradient(180deg, #fff8dd85, #f2e4c42e), var(--surface-raised)}:root[data-theme=fantasy] .home-panel-head h2,[data-theme=fantasy] .home-panel-head h2,:root[data-theme=fantasy] .home-panel h2,[data-theme=fantasy] .home-panel h2,:root[data-theme=fantasy] .home-panel h3,[data-theme=fantasy] .home-panel h3{color:var(--brand-ink)}:root[data-theme=fantasy] .home-panel-sub,[data-theme=fantasy] .home-panel-sub,:root[data-theme=fantasy] .home-activity-empty,[data-theme=fantasy] .home-activity-empty,:root[data-theme=fantasy] .home-session-row p,[data-theme=fantasy] .home-session-row p,:root[data-theme=fantasy] .home-session-row time,[data-theme=fantasy] .home-session-row time{color:var(--card-text-soft)}:root[data-theme=fantasy] .home-text-link,[data-theme=fantasy] .home-text-link{color:#9a4a18}:root[data-theme=fantasy] .onboarding-guide,[data-theme=fantasy] .onboarding-guide{color:var(--card-text);border:2px solid color-mix(in srgb, var(--brand-gold) 32%, #9d7cd847);background:linear-gradient(180deg, #fff8dd94, #f2e4c438), var(--surface-raised);box-shadow:var(--shadow-soft), inset 0 1px 0 #fff8dd8c}:root[data-theme=fantasy] .onboarding-guide .soft-label,[data-theme=fantasy] .onboarding-guide .soft-label{color:color-mix(in srgb, var(--brand-arcane) 55%, var(--brand-ink))}:root[data-theme=fantasy] .onboarding-guide-head h2,[data-theme=fantasy] .onboarding-guide-head h2{color:var(--brand-ink);font-family:var(--font-display);letter-spacing:.04em;text-transform:none}:root[data-theme=fantasy] .onboarding-guide-sub,[data-theme=fantasy] .onboarding-guide-sub{color:var(--card-text-soft)}:root[data-theme=fantasy] .onboarding-step,[data-theme=fantasy] .onboarding-step{border-color:color-mix(in srgb, var(--brand-gold) 24%, #9d7cd82e);background:#fff8dd8c}:root[data-theme=fantasy] .onboarding-step-body a,[data-theme=fantasy] .onboarding-step-body a{color:#9a4a18;text-underline-offset:2px;font-weight:700;text-decoration:underline}:root[data-theme=fantasy] .onboarding-step-body a:hover,[data-theme=fantasy] .onboarding-step-body a:hover{color:var(--brand-dragon)}:root[data-theme=fantasy] .onboarding-step-body strong,[data-theme=fantasy] .onboarding-step-body strong{color:var(--brand-ink)}:root[data-theme=fantasy] .onboarding-step-body p,[data-theme=fantasy] .onboarding-step-body p{color:var(--card-text-soft)}:root[data-theme=fantasy] .onboarding-step-status,[data-theme=fantasy] .onboarding-step-status{color:var(--brand-ink);background:#ffd16647}:root[data-theme=fantasy] .onboarding-banner,[data-theme=fantasy] .onboarding-banner{color:var(--card-text);border-color:color-mix(in srgb, var(--brand-gold) 32%, #9d7cd83d);background:linear-gradient(180deg, #fff8dd85, #f2e4c42e), var(--surface-raised)}:root[data-theme=fantasy] .onboarding-banner-copy strong,[data-theme=fantasy] .onboarding-banner-copy strong{color:var(--brand-ink)}:root[data-theme=fantasy] .onboarding-banner-copy p,[data-theme=fantasy] .onboarding-banner-copy p{color:var(--card-text-soft)}:root[data-theme=fantasy] .onboarding-dismiss,[data-theme=fantasy] .onboarding-dismiss{color:#9a4a18}:root[data-theme=fantasy] .home-hero h2,[data-theme=fantasy] .home-hero h2{background:0 0;-webkit-background-clip:unset;background-clip:unset;filter:none;color:var(--brand-ink)}:root[data-theme=thriller],[data-theme=thriller]{--font-display:"Space Grotesk", "DM Sans", system-ui, sans-serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.04em;--heading-weight:700;--heading-transform:none;--sanctuary-mark:"⚡";--brand-gold:#7eb8c9;--brand-orange:#e23d3d;--brand-green:#3d5a66;--brand-leaf:#5a7a88;--brand-cream:#dce8ee;--brand-ice:#7eb8c9;--brand-ink:#06080c;--page-bg:#040608;--page-bg-soft:#0a0e14;--surface:#121820;--surface-soft:#0c1118;--surface-raised:#1a222c;--surface-muted:#24303c;--text:#dce8ee;--text-soft:#8aa0b0;--text-inverse:#06080c;--accent:#e23d3d;--accent-hover:#f05555;--accent-strong:#7eb8c9;--accent-soft:#e23d3d38;--accent-muted:#7eb8c933;--success:#4a8a72;--success-soft:#4a8a7229;--danger:#f05555;--danger-soft:#f055552e;--border-color:#7eb8c929;--border-strong:#e23d3d7a;--shadow-soft:0 2px 14px #00000085, 0 0 0 1px #7eb8c90d;--shadow:0 14px 34px #0009, 0 0 30px #e23d3d14;--shadow-strong:0 22px 54px #000000b3, 0 0 42px #7eb8c91a;--focus-ring:#e23d3d8c;--overlay:#020408eb;--chip-bg:linear-gradient(180deg, #1a222c, #121820);--chip-text:var(--text);--radius-button:4px;--radius-card:6px;--radius-chip:4px;--radius-nav:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:8px;--radius-3xl:10px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/thriller-rain.svg);--app-background-size:420px;--app-background-repeat:repeat;--page-pattern:linear-gradient(180deg, #7eb8c917 0%, transparent 24%), repeating-linear-gradient(0deg, transparent, transparent 3px, #7eb8c908 3px, #7eb8c908 4px), radial-gradient(ellipse 52% 36% at 100% 0%, #e23d3d29, transparent 50%), radial-gradient(ellipse 42% 32% at 0% 100%, #7eb8c91a, transparent 50%);--page-sparkle:radial-gradient(1px 1px at 28% 38%, #7eb8c966, transparent), radial-gradient(1px 1px at 72% 54%, #e23d3d47, transparent);--page-overlay:linear-gradient(180deg, #0a0e148c 0%, transparent 40%, #00000073 100%);--page-glow-left:radial-gradient(ellipse 40% 50% at 0% 40%, #7eb8c91a, transparent 55%);--page-glow-right:radial-gradient(ellipse 36% 40% at 100% 10%, #e23d3d1f, transparent 50%);--page-gradient:linear-gradient(168deg, #0c1118 0%, #0a0e14 50%, #040608 100%);--page-grain-opacity:.24;--page-grain-blend:soft-light;--page-firefly-opacity:.22;--card-sheen-top:#dce8ee0a;--card-sheen-bottom:#00000047;--card-inner-highlight:inset 0 1px 0 #7eb8c912;--button-primary-text:#fff;--primary-btn-bg:linear-gradient(180deg, #f05555 0%, #e23d3d 45%, #b82828 100%);--primary-btn-shadow:0 4px 16px #e23d3d61, 0 0 0 1px #7eb8c929;--nav-link-active-top:#e23d3d;--nav-link-active-bottom:#b82828;--nav-link-active-text:#fff;--nav-link-active-border:#7eb8c94d;--nav-link-active-shadow:0 0 18px #e23d3d47;--progress-fill:linear-gradient(90deg, #7eb8c9, #e23d3d);--shell-sidebar-bg:linear-gradient(180deg, #121820 0%, #0a0e14 100%);--shell-sidebar-accent:radial-gradient(ellipse 100% 50% at 50% 110%, #e23d3d24, transparent 55%);--shell-sidebar-border:#7eb8c924;--shell-nook-bg:linear-gradient(148deg, #1a222c, #0c1118);--shell-nook-border:#e23d3d52;--shell-logo-glow:drop-shadow(0 0 14px #e23d3d6b);--spotlight-text:#dce8ee;--spotlight-text-soft:#dce8eed1;--spotlight-overlay:linear-gradient(125deg, #040608f2 0%, #121820e6 50%, #b8282885 100%);--spotlight-backdrop-opacity:.52;--spotlight-border:#e23d3d5c;--spotlight-glow:0 20px 48px #00000085;--spotlight-label-color:#7eb8c9;--reading-zone-bg:linear-gradient(175deg, #121820, #0a0e14);--reading-zone-border:#e23d3d47;--input-bg:#040608c7;--input-border:#7eb8c938;--form-field-bg:#040608c7;--form-field-border:#7eb8c938;--theme-color-meta:#0a0e14}:root[data-theme=thriller] body:after,[data-theme=thriller] body:after{pointer-events:none;background:linear-gradient(105deg,#0000 40%,#7eb8c90d 46%,#0000 52%),radial-gradient(36% 26% at 90% 8%,#e23d3d24,#0000 55%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=thriller] body:after,[data-theme=thriller] body:after{animation:7s linear infinite thriller-rain-shift}}@keyframes thriller-rain-shift{0%{opacity:calc(var(--page-firefly-opacity,.22) * .7);transform:translateY(0)}to{opacity:var(--page-firefly-opacity,.22);transform:translateY(28px)}}:root[data-theme=thriller] .page-header h2,[data-theme=thriller] .page-header h2{font-family:var(--font-display);letter-spacing:-.05em;text-transform:uppercase;color:var(--text);border-bottom:2px solid var(--accent);padding-bottom:.35em;font-size:clamp(1.6rem,3vw,2.1rem);display:inline-block}:root[data-theme=thriller] .page-header p,[data-theme=thriller] .page-header p{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ice);font-size:.78rem}:root[data-theme=thriller] :-webkit-any(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){border-radius:var(--radius-card);border-color:#7eb8c924;border-left:3px solid var(--accent);box-shadow:var(--shadow-soft);background:linear-gradient(#1a222c 0%,#121820 100%)}:root[data-theme=thriller] :is(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){border-radius:var(--radius-card);border-color:#7eb8c924;border-left:3px solid var(--accent);box-shadow:var(--shadow-soft);background:linear-gradient(#1a222c 0%,#121820 100%)}[data-theme=thriller] :-webkit-any(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){border-radius:var(--radius-card);border-color:#7eb8c924;border-left:3px solid var(--accent);box-shadow:var(--shadow-soft);background:linear-gradient(#1a222c 0%,#121820 100%)}[data-theme=thriller] :is(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){border-radius:var(--radius-card);border-color:#7eb8c924;border-left:3px solid var(--accent);box-shadow:var(--shadow-soft);background:linear-gradient(#1a222c 0%,#121820 100%)}:root[data-theme=thriller] .primary-btn,[data-theme=thriller] .primary-btn,:root[data-theme=thriller] .primary-submit,[data-theme=thriller] .primary-submit{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700;font-family:var(--font-display);border-radius:4px}:root[data-theme=thriller] .sidebar-nav-link.active,[data-theme=thriller] .sidebar-nav-link.active,:root[data-theme=thriller] .sidebar-nav-link[aria-current=page],[data-theme=thriller] .sidebar-nav-link[aria-current=page]{color:#fff;background:#e23d3d;border-color:#e23d3d;border-radius:4px;box-shadow:0 0 16px #e23d3d59}:root[data-theme=thriller] .app-sanctuary-name,[data-theme=thriller] .app-sanctuary-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--brand-ice);font-size:.85rem;font-weight:700}:root[data-theme=thriller] .auth-card,[data-theme=thriller] .auth-card{border-left:4px solid var(--accent);border-radius:6px;box-shadow:0 24px 56px #0000008c}:root[data-theme=thriller] .auth-hero h1 em,[data-theme=thriller] .auth-hero h1 em{color:var(--accent);font-style:normal}@media (max-width:900px){:root[data-theme=thriller] .app-mobile-bar,[data-theme=thriller] .app-mobile-bar,:root[data-theme=thriller] .app-dock,[data-theme=thriller] .app-dock{background:#121820f5;border-color:#e23d3d59}:root[data-theme=thriller] .dock-link.active,[data-theme=thriller] .dock-link.active,:root[data-theme=thriller] .dock-link[aria-current=page],[data-theme=thriller] .dock-link[aria-current=page]{color:#fff;background:#e23d3d;border-radius:6px}:root[data-theme=thriller] .dock-link--accent,[data-theme=thriller] .dock-link--accent{background:var(--primary-btn-bg);color:#fff}}:root[data-theme=drama],[data-theme=drama]{--font-display:"Fraunces", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.01em;--heading-weight:600;--heading-transform:none;--sanctuary-mark:"📜";--brand-gold:#b8956a;--brand-orange:#8a3a3a;--brand-green:#4a5a48;--brand-leaf:#6a7a64;--brand-cream:#f2e8d4;--brand-velvet:#4a1528;--brand-ink:#1a1210;--page-bg:#140e0c;--page-bg-soft:#1c1410;--surface:#2a201a;--surface-soft:#201816;--surface-raised:#f2e8d4;--surface-muted:#342820;--text:#efe4d0;--text-soft:#b8a890;--text-inverse:#1a1210;--card-text:#2a1c14;--card-text-soft:#6a5648;--accent:#b8956a;--accent-hover:#c9a87e;--accent-strong:#8a3a3a;--accent-soft:#b8956a3d;--accent-muted:#8a3a3a47;--success:#6a7a64;--success-soft:#6a7a642e;--danger:#c45c5c;--danger-soft:#c45c5c2e;--border-color:#b8956a3d;--border-strong:#b8956a70;--shadow-soft:0 2px 14px #00000070;--shadow:0 12px 30px #00000085;--shadow-strong:0 20px 50px #0009;--focus-ring:#b8956a8c;--overlay:#0c0806e6;--card-bg:var(--surface-raised);--card-bg-soft:#e8dcc4;--chip-bg:#342820;--chip-text:var(--text);--radius-button:8px;--radius-card:10px;--radius-chip:6px;--radius-nav:8px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/drama-stage.svg);--app-background-size:460px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 72% 32% at 50% -6%, #4a1528b3, transparent 55%), radial-gradient(ellipse 52% 22% at 50% 0%, #8a3a3a47, transparent 50%), radial-gradient(ellipse 42% 36% at 0% 100%, #140e0ce0, transparent 50%), radial-gradient(ellipse 42% 36% at 100% 100%, #140e0ce0, transparent 50%), radial-gradient(ellipse 32% 42% at 50% 100%, #4a152866, transparent 55%);--page-sparkle:radial-gradient(1.8px 1.8px at 50% 8%, #b8956a8c, transparent), radial-gradient(1px 1px at 28% 40%, #f2e8d42e, transparent), radial-gradient(1.2px 1.2px at 72% 36%, #b8956a4d, transparent);--page-overlay:linear-gradient(180deg, #4a15283d 0%, transparent 35%, #140e0c85 100%);--page-glow-left:radial-gradient(ellipse 36% 52% at 0% 50%, #4a152842, transparent 55%);--page-glow-right:radial-gradient(ellipse 36% 52% at 100% 50%, #4a152842, transparent 55%);--page-gradient:linear-gradient(168deg, #201816 0%, #1c1410 40%, #140e0c 100%);--page-grain-opacity:.2;--page-grain-blend:multiply;--page-firefly-opacity:.32;--card-sheen-top:#fffaf085;--card-sheen-bottom:#2a1c140f;--card-inner-highlight:0 1px 0 #fffaf094 inset;--button-primary-text:#f2e8d4;--primary-btn-bg:linear-gradient(155deg, #8a3a3a 0%, #6a2828 50%, #4a1528 100%);--primary-btn-shadow:0 4px 18px #4a15286b;--nav-link-active-top:#b8956a;--nav-link-active-bottom:#8a3a3a;--nav-link-active-text:#1a1210;--nav-link-active-border:#b8956a6b;--nav-link-active-shadow:0 4px 14px #b8956a3d;--progress-fill:linear-gradient(90deg, #4a1528, #b8956a);--shell-sidebar-bg:linear-gradient(180deg, #2a201a 0%, #1c1410 100%);--shell-sidebar-accent:radial-gradient(ellipse 110% 60% at 50% 0%, #4a152866, transparent 55%);--shell-sidebar-border:#b8956a33;--shell-nook-bg:radial-gradient(ellipse 100% 60% at 50% 0%, #4a152857, transparent 50%), linear-gradient(148deg, #342820, #1c1410);--shell-nook-border:#b8956a52;--shell-logo-glow:drop-shadow(0 0 14px #b8956a52);--spotlight-text:#f2e8d4;--spotlight-text-soft:#f2e8d4db;--spotlight-overlay:linear-gradient(125deg, #140e0cf0 0%, #4a1528c2 55%, #b8956a5c 100%);--spotlight-backdrop-opacity:.48;--spotlight-border:#b8956a57;--spotlight-glow:0 20px 48px #0000006b;--spotlight-label-color:#b8956a;--reading-zone-bg:linear-gradient(175deg, #2a201a, #1c1410);--reading-zone-border:#b8956a47;--theme-color-meta:#1c1410}:root[data-theme=drama] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item,.heatmap-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffaf080, transparent 42%), var(--card-bg);border-color:color-mix(in srgb, var(--brand-gold) 38%, transparent);box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf06b}:root[data-theme=drama] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item,.heatmap-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffaf080, transparent 42%), var(--card-bg);border-color:color-mix(in srgb, var(--brand-gold) 38%, transparent);box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf06b}[data-theme=drama] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item,.heatmap-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffaf080, transparent 42%), var(--card-bg);border-color:color-mix(in srgb, var(--brand-gold) 38%, transparent);box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf06b}[data-theme=drama] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item,.heatmap-card){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffaf080, transparent 42%), var(--card-bg);border-color:color-mix(in srgb, var(--brand-gold) 38%, transparent);box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf06b}:root[data-theme=drama] .page-header h2,[data-theme=drama] .page-header h2{font-family:var(--font-display);color:var(--brand-cream);text-shadow:0 2px 22px #4a152866;font-style:italic}:root[data-theme=drama] .page-header h2:after,[data-theme=drama] .page-header h2:after{content:"";background:linear-gradient(90deg,#b8956a,#4a1528,#0000);width:72px;height:2px;margin-top:10px;display:block}:root[data-theme=drama] .app-sidebar,[data-theme=drama] .app-sidebar{--text:#efe4d0;--text-soft:#b8a890;color:#efe4d0}:root[data-theme=drama] .app-sanctuary-name,[data-theme=drama] .app-sanctuary-name{font-family:var(--font-display);color:var(--accent);font-style:italic}:root[data-theme=drama] .sidebar-nav-link.active,[data-theme=drama] .sidebar-nav-link.active,:root[data-theme=drama] .sidebar-nav-link[aria-current=page],[data-theme=drama] .sidebar-nav-link[aria-current=page]{color:#efe4d0;background:linear-gradient(135deg,#b8956a52,#4a152873);border-color:#b8956a6b}:root[data-theme=drama] .book-card .book-content,[data-theme=drama] .book-card .book-content{background:0 0}:root[data-theme=drama] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-velvet) 25%, transparent);color:var(--card-text);background:#e8dcc4}:root[data-theme=drama] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-velvet) 25%, transparent);color:var(--card-text);background:#e8dcc4}[data-theme=drama] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-velvet) 25%, transparent);color:var(--card-text);background:#e8dcc4}[data-theme=drama] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-velvet) 25%, transparent);color:var(--card-text);background:#e8dcc4}:root[data-theme=drama] .primary-btn,[data-theme=drama] .primary-btn,:root[data-theme=drama] .primary-submit,[data-theme=drama] .primary-submit{letter-spacing:.04em}:root[data-theme=drama] .auth-hero h1 em,[data-theme=drama] .auth-hero h1 em{color:#b8956a}@media (max-width:900px){:root[data-theme=drama] .app-mobile-bar,[data-theme=drama] .app-mobile-bar,:root[data-theme=drama] .app-dock,[data-theme=drama] .app-dock{color:#efe4d0;background:#2a201af2;border-color:#b8956a47}:root[data-theme=drama] .dock-link.active,[data-theme=drama] .dock-link.active,:root[data-theme=drama] .dock-link[aria-current=page],[data-theme=drama] .dock-link[aria-current=page]{color:#f2e8d4;background:#4f3e2f}:root[data-theme=drama] .dock-link--accent,[data-theme=drama] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text)}}:root[data-theme=horror],[data-theme=horror]{--font-display:"Spectral", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:.02em;--heading-weight:600;--heading-transform:none;--sanctuary-mark:"🕯️";--brand-gold:#8a1818;--brand-orange:#c41e1e;--brand-green:#3d4a32;--brand-leaf:#5a6a48;--brand-cream:#d4c4bc;--brand-ink:#080606;--brand-ash:#141010;--brand-blood:#c41e1e;--brand-blood-deep:#6b0f0f;--page-bg:#030202;--page-bg-soft:#080606;--surface:#121010;--surface-soft:#0a0808;--surface-raised:#1a1414;--surface-muted:#221818;--text:#d4c4bc;--text-soft:#a8948e;--text-inverse:#080606;--card-text:#d4c4bc;--card-text-soft:#8a7570;--accent:#c41e1e;--accent-hover:#e82828;--accent-strong:#8b0000;--accent-soft:#c41e1e47;--accent-muted:#c41e1e24;--success:#6a7a5a;--success-soft:#6a7a5a2e;--danger:#e82828;--danger-soft:#e8282838;--border-color:#c41e1e47;--border-strong:#c41e1e85;--shadow-soft:0 2px 12px #0000009e, 0 8px 24px #c41e1e0f;--shadow:0 8px 28px #000000b8, 0 16px 40px #c41e1e14;--shadow-strong:0 16px 44px #000000d1, 0 24px 56px #c41e1e1f;--focus-ring:#e828289e;--overlay:#020101f0;--card-bg:#1a1414;--card-bg-soft:#141010;--chip-bg:linear-gradient(180deg, #221818, #121010);--chip-text:var(--text);--input-bg:#030202b8;--input-border:#c41e1e52;--input-text:var(--text);--input-placeholder:#8a7570b8;--form-field-bg:#030202b8;--form-field-border:#c41e1e52;--form-field-text:var(--text);--form-field-placeholder:#8a7570b8;--radius-button:4px;--radius-card:6px;--radius-chip:4px;--radius-nav:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:8px;--radius-3xl:10px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/horror-ash.svg);--app-background-size:440px;--app-background-repeat:repeat;--page-pattern:repeating-linear-gradient(0deg, #ffffff05 0, #ffffff05 1px, transparent 1px, transparent 2px), repeating-linear-gradient(92deg, transparent 0, transparent 48px, #c41e1e04 48px, #c41e1e04 49px), radial-gradient(ellipse 48% 38% at 50% 108%, #c41e1e61, transparent 58%), radial-gradient(ellipse 32% 24% at 50% 98%, #e8282838, transparent 52%), radial-gradient(ellipse 22% 62% at 0% 50%, #000000d6, transparent 62%), radial-gradient(ellipse 22% 62% at 100% 50%, #000000d6, transparent 62%);--page-sparkle:radial-gradient(1.2px 1.2px at 22% 30%, #c41e1e59, transparent), radial-gradient(1px 1px at 70% 55%, #d4c4bc26, transparent);--page-overlay:linear-gradient(180deg, #080606b8 0%, #03020261 48%, #c41e1e1a 100%);--page-glow-left:linear-gradient(90deg, #030202f5 0%, #1a141494 8%, #c41e1e1f 14%, transparent 28%);--page-glow-right:linear-gradient(270deg, #030202f0 0%, #1a14148c 8%, #c41e1e14 14%, transparent 28%);--page-gradient:linear-gradient(180deg, #0a0808 0%, #060404 55%, #030202 100%);--page-grain-opacity:.52;--page-grain-blend:overlay;--page-firefly-opacity:.38;--card-sheen-top:#c41e1e0f;--card-sheen-bottom:#0000006b;--card-inner-highlight:0 1px 0 #c41e1e14 inset;--button-primary-text:#f8ece8;--primary-btn-bg:linear-gradient(180deg, #e82828 0%, #c41e1e 48%, #6b0f0f 100%);--primary-btn-shadow:0 4px 18px #c41e1e6b, inset 0 1px 0 #ffb4b424;--nav-link-active-top:#e82828;--nav-link-active-bottom:#8b0000;--nav-link-active-text:#f8ece8;--nav-link-active-border:#c41e1e85;--nav-link-active-shadow:0 0 22px #c41e1e47, inset 0 1px 0 #ffb4b41a;--progress-fill:linear-gradient(90deg, #6b0f0f, #c41e1e, #8a1818);--shell-sidebar-bg:linear-gradient(180deg, #141010 0%, #0a0808 52%, #030202 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 70% at 50% 110%, #c41e1e38, transparent 58%);--shell-sidebar-border:#c41e1e38;--shell-nook-bg:radial-gradient(ellipse 100% 80% at 50% 100%, #c41e1e3d, transparent 55%), linear-gradient(148deg, #1a1414, #080606);--shell-nook-border:#c41e1e61;--shell-logo-glow:drop-shadow(0 0 16px #c41e1e61);--spotlight-text:#d4c4bc;--spotlight-text-soft:#d4c4bcd1;--spotlight-overlay:linear-gradient(125deg, #030202f5 0%, #1a1414eb 38%, #c41e1eb8 100%);--spotlight-backdrop-opacity:.72;--spotlight-border:#c41e1e7a;--spotlight-glow:0 20px 48px #000000ad;--spotlight-label-color:#e82828;--reading-zone-bg:linear-gradient(175deg, #221818 0%, #1a1414 48%, #121010 100%);--reading-zone-border:#c41e1e52;--theme-color-meta:#030202}:root[data-theme=horror] body:before,[data-theme=horror] body:before{opacity:.48;mix-blend-mode:overlay}:root[data-theme=horror] body:after,[data-theme=horror] body:after{background:radial-gradient(18% 92% at 50% 108%,#c41e1e47,#0000 72%),radial-gradient(circle at 50% 96%,#e8282852 0,#0000 5%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=horror] body:after,[data-theme=horror] body:after{animation:4.5s ease-in-out infinite alternate horror-flicker}}@keyframes horror-flicker{0%,to{opacity:calc(var(--page-firefly-opacity,.38) * .62)}46%{opacity:var(--page-firefly-opacity,.38)}48%{opacity:calc(var(--page-firefly-opacity,.38) * .22)}50%{opacity:calc(var(--page-firefly-opacity,.38) * .92)}52%{opacity:calc(var(--page-firefly-opacity,.38) * .38)}}:root[data-theme=horror] .card,[data-theme=horror] .card,:root[data-theme=horror] .form-card,[data-theme=horror] .form-card,:root[data-theme=horror] .goal-card,[data-theme=horror] .goal-card,:root[data-theme=horror] .chart-card,[data-theme=horror] .chart-card,:root[data-theme=horror] .insight-card,[data-theme=horror] .insight-card,:root[data-theme=horror] .heatmap-card,[data-theme=horror] .heatmap-card,:root[data-theme=horror] .settings-card,[data-theme=horror] .settings-card{box-shadow:var(--card-shadow), inset 0 1px 0 #c41e1e0f, inset 0 -24px 48px #00000047;color:var(--text);background:linear-gradient(#c41e1e0f 0%,#0000 22%),linear-gradient(#221818 0%,#1a1414 55%,#121010 100%);border-color:#c41e1e47}:root[data-theme=horror] .card h2,[data-theme=horror] .card h2,:root[data-theme=horror] .card h3,[data-theme=horror] .card h3{color:var(--text);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}:root[data-theme=horror] .page-header h2,[data-theme=horror] .page-header h2{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#f8ece8;text-shadow:0 0 24px #c41e1e7a,0 2px 8px #000000b8;font-weight:700}:root[data-theme=horror] .page-header p,[data-theme=horror] .page-header p{color:var(--text-soft)}:root[data-theme=horror] .primary-btn,[data-theme=horror] .primary-btn,:root[data-theme=horror] .primary-submit,[data-theme=horror] .primary-submit{letter-spacing:.1em;text-transform:uppercase;font-size:.84rem;font-family:var(--font-display);border-radius:4px}:root[data-theme=horror] .secondary-btn,[data-theme=horror] .secondary-btn{color:var(--text);background:linear-gradient(#221818,#141010);border:1px solid #c41e1e61;border-radius:4px}:root[data-theme=horror] .app-sidebar,[data-theme=horror] .app-sidebar{color:var(--text)}:root[data-theme=horror] .sidebar-nav-link,[data-theme=horror] .sidebar-nav-link{color:#a89890;border-radius:4px}:root[data-theme=horror] .sidebar-nav-link:hover,[data-theme=horror] .sidebar-nav-link:hover{color:var(--text);background:#c41e1e24}:root[data-theme=horror] .sidebar-nav-link.active,[data-theme=horror] .sidebar-nav-link.active,:root[data-theme=horror] .sidebar-nav-link[aria-current=page],[data-theme=horror] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #e82828d1, #8b0000eb), var(--surface-muted);box-shadow:var(--nav-link-active-shadow);color:#f8ece8;--text:#f8ece8;--text-soft:#f8ece8c7;border-color:#c41e1e94}:root[data-theme=horror] .sidebar-nav-link.active svg,[data-theme=horror] .sidebar-nav-link.active svg{color:#f8ece8}:root[data-theme=horror] .app-sanctuary-nook,[data-theme=horror] .app-sanctuary-nook{position:relative;overflow:hidden}:root[data-theme=horror] .app-sanctuary-nook:before,[data-theme=horror] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(90% 70% at 50% 110%,#c41e1e47,#0000 62%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=horror] .app-sanctuary-name,[data-theme=horror] .app-sanctuary-name{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#f8ece8;text-shadow:0 0 18px #c41e1e6b}:root[data-theme=horror] .app-sanctuary-tagline,[data-theme=horror] .app-sanctuary-tagline{color:var(--text-soft)}:root[data-theme=horror] .app-user-card,[data-theme=horror] .app-user-card{color:var(--text);background:linear-gradient(#221818,#1a1414);border-color:#c41e1e52}:root[data-theme=horror] .app-user-card .app-user-meta strong,[data-theme=horror] .app-user-card .app-user-meta strong{color:var(--text);font-weight:800}:root[data-theme=horror] .app-user-avatar,[data-theme=horror] .app-user-avatar{color:var(--brand-ink);background:linear-gradient(#e82828,#8b0000);border:1px solid #c41e1e6b}:root[data-theme=horror] .app-signout,[data-theme=horror] .app-signout{color:var(--text-soft)}:root[data-theme=horror] .app-signout:hover,[data-theme=horror] .app-signout:hover{color:var(--danger)}:root[data-theme=horror] .auth-feature-card,[data-theme=horror] .auth-feature-card,:root[data-theme=horror] .auth-card,[data-theme=horror] .auth-card{color:var(--text);background:linear-gradient(#c41e1e14 0%,#0000 28%),linear-gradient(#221818 0%,#1a1414 55%,#121010 100%);border-color:#c41e1e52}:root[data-theme=horror] .auth-card:after,[data-theme=horror] .auth-card:after{content:"";opacity:.88;pointer-events:none;background:linear-gradient(90deg,#0000,#c41e1e,#e82828,#c41e1e,#0000);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:18px;right:18px}:root[data-theme=horror] .auth-card h2,[data-theme=horror] .auth-card h2,:root[data-theme=horror] .auth-form label,[data-theme=horror] .auth-form label,:root[data-theme=horror] .auth-feature-card strong,[data-theme=horror] .auth-feature-card strong{color:var(--text)}:root[data-theme=horror] .auth-eyebrow,[data-theme=horror] .auth-eyebrow{color:#e82828;letter-spacing:.18em;text-transform:uppercase}:root[data-theme=horror] .auth-feature-card p,[data-theme=horror] .auth-feature-card p,:root[data-theme=horror] .auth-card .muted-text,[data-theme=horror] .auth-card .muted-text{color:var(--text-soft)}:root[data-theme=horror] .auth-card .text-button,[data-theme=horror] .auth-card .text-button,:root[data-theme=horror] .auth-card .support-email-link,[data-theme=horror] .auth-card .support-email-link{color:#e82828}:root[data-theme=horror] .home-hero,[data-theme=horror] .home-hero,:root[data-theme=horror] .home-reading-card,[data-theme=horror] .home-reading-card,:root[data-theme=horror] .home-panel,[data-theme=horror] .home-panel,:root[data-theme=horror] .home-glance-stat,[data-theme=horror] .home-glance-stat,:root[data-theme=horror] .onboarding-guide,[data-theme=horror] .onboarding-guide,:root[data-theme=horror] .home-welcome-card,[data-theme=horror] .home-welcome-card,:root[data-theme=horror] .home-reading-idle,[data-theme=horror] .home-reading-idle{color:var(--text);box-shadow:var(--card-shadow), inset 0 -32px 64px #00000052;background:linear-gradient(#c41e1e12 0%,#0000 24%),linear-gradient(#221818 0%,#1a1414 55%,#121010 100%);border-color:#c41e1e47}:root[data-theme=horror] .home-hero,[data-theme=horror] .home-hero{position:relative;overflow:hidden}:root[data-theme=horror] .home-hero:before,[data-theme=horror] .home-hero:before{content:"";pointer-events:none;background:radial-gradient(55% 42% at 50% 108%,#c41e1e2e,#0000 58%),radial-gradient(38% 28% at 0 0,#0000006b,#0000 52%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=horror] .home-greeting,[data-theme=horror] .home-greeting{color:var(--text-soft)}:root[data-theme=horror] .home-greeting strong,[data-theme=horror] .home-greeting strong{color:var(--text);background:0 0;-webkit-background-clip:unset;background-clip:unset}:root[data-theme=horror] .home-hero-tagline,[data-theme=horror] .home-hero-tagline{color:#e82828;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 28px #c41e1e85,0 2px 12px #000000b8;font-size:clamp(1.35rem,2.4vw,1.85rem);font-style:normal;font-weight:700;position:relative}:root[data-theme=horror] .home-hero-tagline:before,[data-theme=horror] .home-hero-tagline:before{content:"";background:linear-gradient(90deg,#0000,#c41e1e 18%,#e82828 50%,#8b0000 82%,#0000);border-radius:1px;width:88px;height:3px;margin-bottom:10px;display:block;transform:skew(-12deg);box-shadow:0 0 14px #c41e1e7a}:root[data-theme=horror] .home-hero-tagline:after,[data-theme=horror] .home-hero-tagline:after{content:" 🔪"}:root[data-theme=horror] .home-panel-head h2,[data-theme=horror] .home-panel-head h2,:root[data-theme=horror] .onboarding-guide-head h2,[data-theme=horror] .onboarding-guide-head h2{color:var(--text);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}:root[data-theme=horror] .home-glance-value,[data-theme=horror] .home-glance-value{color:#e82828;text-shadow:0 0 18px #c41e1e61;background:0 0;-webkit-background-clip:unset;background-clip:unset}:root[data-theme=horror] .home-glance-label,[data-theme=horror] .home-glance-label{color:var(--text-soft)}:root[data-theme=horror] .reading-spotlight,[data-theme=horror] .reading-spotlight{color:var(--text)}:root[data-theme=horror] .reading-spotlight-backdrop,[data-theme=horror] .reading-spotlight-backdrop{opacity:.82}:root[data-theme=horror] .reading-spotlight-backdrop:after,[data-theme=horror] .reading-spotlight-backdrop:after{background:linear-gradient(125deg,#030202eb 0%,#1a1414c7 42%,#c41e1e8c 100%)}:root[data-theme=horror] .reading-spotlight-inner,[data-theme=horror] .reading-spotlight-inner{background:linear-gradient(#c41e1e1a 0%,#0000 32%),linear-gradient(#221818,#141010);border:1px solid #c41e1e6b;box-shadow:inset 0 1px #c41e1e1f,0 12px 36px #00000094}:root[data-theme=horror] .reading-spotlight-label,[data-theme=horror] .reading-spotlight-label{color:#e82828;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-weight:700}:root[data-theme=horror] .reading-spotlight-copy h2,[data-theme=horror] .reading-spotlight-copy h2{color:var(--text);font-family:var(--font-display)}:root[data-theme=horror] .reading-spotlight-author,[data-theme=horror] .reading-spotlight-author,:root[data-theme=horror] .reading-spotlight-detail,[data-theme=horror] .reading-spotlight-detail{color:var(--text-soft)}:root[data-theme=horror] .reading-spotlight-meta span,[data-theme=horror] .reading-spotlight-meta span{color:var(--text-soft);background:#0302027a;border-color:#c41e1e47}:root[data-theme=horror] .reading-spotlight-bar,[data-theme=horror] .reading-spotlight-bar{background:#0302028c}:root[data-theme=horror] .home-goals-tabs,[data-theme=horror] .home-goals-tabs{background:#0302027a;border-color:#c41e1e38}:root[data-theme=horror] .home-goals-tabs button,[data-theme=horror] .home-goals-tabs button{color:var(--text-soft)}:root[data-theme=horror] .home-goals-tabs button.is-active,[data-theme=horror] .home-goals-tabs button.is-active{color:var(--text);background:#2a2020;box-shadow:inset 0 0 0 1px #c41e1e47}:root[data-theme=horror] .home-goal-bar,[data-theme=horror] .home-goal-bar{background:#0302026b;border-color:#c41e1e2e}:root[data-theme=horror] .home-goal-bar-label,[data-theme=horror] .home-goal-bar-label,:root[data-theme=horror] .home-goal-bar-head strong,[data-theme=horror] .home-goal-bar-head strong{color:var(--text)}:root[data-theme=horror] .home-goal-bar-target,[data-theme=horror] .home-goal-bar-target,:root[data-theme=horror] .home-goal-bar-percent,[data-theme=horror] .home-goal-bar-percent{color:var(--text-soft)}:root[data-theme=horror] .home-session-row strong,[data-theme=horror] .home-session-row strong{color:var(--text)}:root[data-theme=horror] .home-session-row p,[data-theme=horror] .home-session-row p,:root[data-theme=horror] .home-session-row time,[data-theme=horror] .home-session-row time{color:var(--text-soft)}:root[data-theme=horror] .home-text-link,[data-theme=horror] .home-text-link{color:#e82828}:root[data-theme=horror] .month-card,[data-theme=horror] .month-card{background:linear-gradient(#1a1414,#121010);border-color:#c41e1e38}:root[data-theme=horror] .month-card h4,[data-theme=horror] .month-card h4{color:var(--text)}:root[data-theme=horror] .calendar-day,[data-theme=horror] .calendar-day{color:var(--text-soft);background:#0302029e}:root[data-theme=horror] .calendar-day.read-light,[data-theme=horror] .calendar-day.read-light{color:var(--text);background:#c41e1e6b}:root[data-theme=horror] .reading-log-item,[data-theme=horror] .reading-log-item{background:#03020261;border-color:#c41e1e33}:root[data-theme=horror] .settings-header p,[data-theme=horror] .settings-header p{color:var(--text-soft)}:root[data-theme=horror] .settings-contents,[data-theme=horror] .settings-contents{box-shadow:var(--shadow-soft), inset 0 1px 0 #c41e1e14;background:radial-gradient(80% 60% at 50% 0,#c41e1e24,#0000 58%),linear-gradient(#1a1414,#0a0808);border-color:#c41e1e52}:root[data-theme=horror] .settings-contents p,[data-theme=horror] .settings-contents p{color:#e82828;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}:root[data-theme=horror] .settings-contents a,[data-theme=horror] .settings-contents a{color:var(--text);background:#0302027a;border-color:#c41e1e2e;border-radius:4px}:root[data-theme=horror] .settings-contents a:hover,[data-theme=horror] .settings-contents a:hover{background:#c41e1e29;border-color:#c41e1e6b}:root[data-theme=horror] .settings-card.settings-card,[data-theme=horror] .settings-card.settings-card{background:linear-gradient(#c41e1e14 0%,#0000 28%),linear-gradient(#221818 0%,#1a1414 55%,#121010 100%);border-color:#c41e1e52}:root[data-theme=horror] .settings-card-header h3,[data-theme=horror] .settings-card-header h3{color:var(--text);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase}:root[data-theme=horror] .settings-card-header p,[data-theme=horror] .settings-card-header p{color:var(--text-soft)}:root[data-theme=horror] .settings-card .soft-label,[data-theme=horror] .settings-card .soft-label{color:#e82828;letter-spacing:.14em}:root[data-theme=horror] .settings-profile-hero,[data-theme=horror] .settings-profile-hero{background:#0302026b;border-color:#c41e1e47}:root[data-theme=horror] .theme-picker legend,[data-theme=horror] .theme-picker legend{color:var(--text);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase}:root[data-theme=horror] .theme-picker-note,[data-theme=horror] .theme-picker-note{color:var(--text-soft)}:root[data-theme=horror] .theme-picker-card,[data-theme=horror] .theme-picker-card{color:var(--text);background:radial-gradient(80% 70% at 50% 0,#c41e1e24,#0000 58%),linear-gradient(#1a1414,#0a0808);border-color:#c41e1e47;border-radius:6px}:root[data-theme=horror] .theme-picker-card strong,[data-theme=horror] .theme-picker-card strong{color:#e82828;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem}:root[data-theme=horror] .theme-picker-card span:last-child,[data-theme=horror] .theme-picker-card span:last-child{color:var(--text-soft)}:root[data-theme=horror] .theme-picker-card:hover,[data-theme=horror] .theme-picker-card:hover{border-color:#c41e1e7a;box-shadow:0 0 24px #c41e1e24}:root[data-theme=horror] .theme-picker-card.is-selected,[data-theme=horror] .theme-picker-card.is-selected{box-shadow:0 0 0 1px #c41e1e61, 0 0 28px #c41e1e38, var(--shadow-soft);border-color:#e82828;outline-color:#e82828}:root[data-theme=horror] .settings-data-panel,[data-theme=horror] .settings-data-panel,:root[data-theme=horror] .settings-warning-card,[data-theme=horror] .settings-warning-card,:root[data-theme=horror] .settings-goal-group,[data-theme=horror] .settings-goal-group{background:#0302026b;border-color:#c41e1e33}:root[data-theme=horror] .settings-data-panel h4,[data-theme=horror] .settings-data-panel h4,:root[data-theme=horror] .settings-warning-card strong,[data-theme=horror] .settings-warning-card strong,:root[data-theme=horror] .settings-goal-group h4,[data-theme=horror] .settings-goal-group h4{color:var(--text)}:root[data-theme=horror] .settings-data-panel p,[data-theme=horror] .settings-data-panel p,:root[data-theme=horror] .settings-warning-card p,[data-theme=horror] .settings-warning-card p{color:var(--text-soft)}:root[data-theme=horror] input,[data-theme=horror] input,:root[data-theme=horror] select,[data-theme=horror] select,:root[data-theme=horror] textarea,[data-theme=horror] textarea{color:var(--text);background:#0302029e;border-color:#c41e1e52;border-radius:4px}:root[data-theme=horror] label,[data-theme=horror] label{color:var(--text-soft)}:root[data-theme=mystery],[data-theme=mystery]{--font-display:"Lora", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:0;--heading-weight:600;--heading-transform:none;--sanctuary-mark:"🗝️";--brand-gold:#c9a05a;--brand-orange:#8a6a3a;--brand-green:#3a5a4a;--brand-leaf:#5a7a68;--brand-cream:#e4e0d4;--brand-fog:#6a7a7e;--brand-ink:#0e1418;--page-bg:#0a1014;--page-bg-soft:#10181e;--surface:#1a242c;--surface-soft:#141e26;--surface-raised:#222e38;--surface-muted:#2a3844;--text:#e4e0d4;--text-soft:#9aa8a8;--text-inverse:#0e1418;--accent:#c9a05a;--accent-hover:#dbb56e;--accent-strong:#3a5a4a;--accent-soft:#c9a05a38;--accent-muted:#6a7a7e4d;--success:#5a7a68;--success-soft:#5a7a682e;--danger:#b85a5a;--danger-soft:#b85a5a2e;--border-color:#6a7a7e47;--border-strong:#c9a05a6b;--shadow-soft:0 2px 16px #00000075, 0 0 26px #3a5a4a1a;--shadow:0 14px 34px #0000008a, 0 0 30px #c9a05a14;--shadow-strong:0 22px 54px #000000a3;--focus-ring:#c9a05a8c;--overlay:#080c0ee6;--chip-bg:linear-gradient(180deg, #222e38, #1a242c);--chip-text:var(--text);--radius-button:8px;--radius-card:12px;--radius-chip:6px;--radius-nav:8px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/mystery-fog.svg);--app-background-size:400px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 100% 58% at 50% -22%, #6a7a7e73, transparent 58%), radial-gradient(ellipse 72% 52% at 50% 42%, #6a7a7e24, transparent 60%), radial-gradient(ellipse 50% 40% at 86% 14%, #c9a05a38, transparent 50%), radial-gradient(ellipse 60% 46% at 10% 92%, #3a5a4a4d, transparent 55%);--page-sparkle:radial-gradient(2.6px 2.6px at 84% 12%, #ffdca0cc, transparent), radial-gradient(1.6px 1.6px at 80% 16%, #c9a05a94, transparent), radial-gradient(1px 1px at 40% 50%, #e4e0d438, transparent);--page-overlay:linear-gradient(180deg, #6a7a7e24 0%, transparent 40%, #0a101494 100%);--page-glow-left:radial-gradient(ellipse 46% 52% at 0% 60%, #3a5a4a2e, transparent 55%);--page-glow-right:radial-gradient(ellipse 42% 36% at 100% 12%, #c9a05a29, transparent 52%);--page-gradient:linear-gradient(168deg, #141e26 0%, #10181e 45%, #0a1014 100%);--page-grain-opacity:.18;--page-grain-blend:soft-light;--page-firefly-opacity:.42;--card-sheen-top:#e4e0d40d;--card-sheen-bottom:#00000038;--card-inner-highlight:inset 0 1px 0 #e4e0d40f;--button-primary-text:#0e1418;--primary-btn-bg:linear-gradient(155deg, #e0c080 0%, #c9a05a 40%, #8a6a3a 85%, #3a5a4a 100%);--primary-btn-shadow:0 4px 18px #c9a05a4d, 0 0 22px #3a5a4a24;--nav-link-active-top:#c9a05a;--nav-link-active-bottom:#8a6a3a;--nav-link-active-text:#0e1418;--nav-link-active-border:#3a5a4a6b;--nav-link-active-shadow:0 4px 14px #c9a05a3d;--progress-fill:linear-gradient(90deg, #3a5a4a, #c9a05a);--shell-sidebar-bg:linear-gradient(180deg, #1a242c 0%, #10181e 100%);--shell-sidebar-accent:radial-gradient(ellipse 90% 50% at 80% 0%, #c9a05a29, transparent 50%);--shell-sidebar-border:#6a7a7e38;--shell-nook-bg:radial-gradient(ellipse 70% 50% at 85% 0%, #c9a05a29, transparent 50%), linear-gradient(148deg, #222e38, #141e26);--shell-nook-border:#c9a05a52;--shell-logo-glow:drop-shadow(0 0 16px #c9a05a57);--spotlight-text:#e4e0d4;--spotlight-text-soft:#e4e0d4d9;--spotlight-overlay:linear-gradient(125deg, #0a1014f0 0%, #3a5a4aa6 55%, #c9a05a5c 100%);--spotlight-backdrop-opacity:.5;--spotlight-border:#c9a05a52;--spotlight-glow:0 20px 48px #0000006b;--spotlight-label-color:#c9a05a;--reading-zone-bg:radial-gradient(ellipse 50% 35% at 90% 0%, #c9a05a1f, transparent 50%), linear-gradient(175deg, #1a242c, #10181e);--reading-zone-border:#c9a05a42;--input-bg:#0a1014c7;--input-border:#6a7a7e4d;--form-field-bg:#0a1014c7;--form-field-border:#6a7a7e4d;--theme-color-meta:#10181e}:root[data-theme=mystery] body:after,[data-theme=mystery] body:after{pointer-events:none;background:radial-gradient(92% 42% at 50% -6%,#6a7a7e38,#0000 55%),radial-gradient(32% 24% at 88% 8%,#c9a05a29,#0000 55%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=mystery] body:after,[data-theme=mystery] body:after{animation:16s ease-in-out infinite alternate mystery-fog-drift}}@keyframes mystery-fog-drift{0%{opacity:calc(var(--page-firefly-opacity,.42) * .7);transform:translate(-6px)}to{opacity:var(--page-firefly-opacity,.42);transform:translate(8px)}}:root[data-theme=mystery] .page-header h2,[data-theme=mystery] .page-header h2{font-family:var(--font-display);color:var(--text);text-shadow:0 0 30px #c9a05a40;font-style:italic}:root[data-theme=mystery] :-webkit-any(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){box-shadow:var(--shadow-soft), inset 0 1px 0 #e4e0d40d;background:linear-gradient(#222e38 0%,#1a242c 100%);border-color:#6a7a7e42}:root[data-theme=mystery] :is(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){box-shadow:var(--shadow-soft), inset 0 1px 0 #e4e0d40d;background:linear-gradient(#222e38 0%,#1a242c 100%);border-color:#6a7a7e42}[data-theme=mystery] :-webkit-any(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){box-shadow:var(--shadow-soft), inset 0 1px 0 #e4e0d40d;background:linear-gradient(#222e38 0%,#1a242c 100%);border-color:#6a7a7e42}[data-theme=mystery] :is(.card,.form-card,.book-card,.goal-card,.chart-card,.insight-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.month-card,.reading-log-item){box-shadow:var(--shadow-soft), inset 0 1px 0 #e4e0d40d;background:linear-gradient(#222e38 0%,#1a242c 100%);border-color:#6a7a7e42}:root[data-theme=mystery] .card:hover,[data-theme=mystery] .card:hover{box-shadow:var(--shadow), 0 0 24px #c9a05a14;border-color:#c9a05a61}:root[data-theme=mystery] .sidebar-nav-link.active,[data-theme=mystery] .sidebar-nav-link.active,:root[data-theme=mystery] .sidebar-nav-link[aria-current=page],[data-theme=mystery] .sidebar-nav-link[aria-current=page]{color:var(--text);background:linear-gradient(135deg,#c9a05a47,#3a5a4a52);border-color:#c9a05a6b}:root[data-theme=mystery] .app-sanctuary-name,[data-theme=mystery] .app-sanctuary-name{font-family:var(--font-display);color:var(--accent);font-style:italic}:root[data-theme=mystery] .app-sanctuary-nook,[data-theme=mystery] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 26px #c9a05a1a;position:relative;overflow:hidden}:root[data-theme=mystery] .app-sanctuary-nook:before,[data-theme=mystery] .app-sanctuary-nook:before{content:"";pointer-events:none;background:radial-gradient(45% 40% at 90% 8%,#c9a05a2e,#0000 55%);position:absolute;top:0;bottom:0;left:0;right:0}:root[data-theme=mystery] .auth-card,[data-theme=mystery] .auth-card{border-color:#c9a05a52;box-shadow:0 24px 56px #00000073,0 0 38px #c9a05a1a}:root[data-theme=mystery] .auth-hero h1 em,[data-theme=mystery] .auth-hero h1 em{color:#c9a05a}@media (max-width:900px){:root[data-theme=mystery] .app-mobile-bar,[data-theme=mystery] .app-mobile-bar{background:#1a242cf2;border-bottom-color:#c9a05a47;box-shadow:inset 0 -24px 40px -28px #c9a05a1f}:root[data-theme=mystery] .app-dock,[data-theme=mystery] .app-dock{background:#1a242cf5;border-top-color:#3a5a4a59}:root[data-theme=mystery] .dock-link.active,[data-theme=mystery] .dock-link.active,:root[data-theme=mystery] .dock-link[aria-current=page],[data-theme=mystery] .dock-link[aria-current=page]{color:#e0c080;background:#413f36}:root[data-theme=mystery] .dock-link--accent,[data-theme=mystery] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text)}}:root[data-theme=autumn],[data-theme=autumn]{--font-display:"Fraunces", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.012em;--heading-weight:700;--heading-transform:none;--sanctuary-mark:"🍂";--brand-gold:#f0a030;--brand-orange:#e85d04;--brand-green:#5c6b2a;--brand-leaf:#d4772e;--brand-cream:#fff1dc;--brand-maple:#c1121f;--brand-russet:#6f1d1b;--brand-pumpkin:#f48c06;--brand-ink:#2b1408;--page-bg:#c4783a;--page-bg-soft:#e8a86a;--surface:#fff4e6;--surface-soft:#f6d9b4;--surface-raised:#fffaf2;--surface-muted:#ebc089;--text:#2b1408;--text-soft:#7a4020;--text-inverse:#fffaf2;--accent:#e85d04;--accent-hover:#f48c06;--accent-strong:#c1121f;--accent-soft:#e85d0433;--accent-muted:#f0a0304d;--success:#5c6b2a;--success-soft:#5c6b2a2e;--danger:#9b2226;--danger-soft:#ffe8dc;--border-color:#6f1d1b33;--border-strong:#e85d046b;--shadow-soft:0 2px 10px #2b140812, 0 14px 32px #c1121f1a;--shadow:0 10px 28px #2b14081a, 0 22px 48px #e85d0424;--shadow-strong:0 18px 44px #2b140824, 0 30px 60px #c1121f29;--focus-ring:#e85d0494;--overlay:#2b14088f;--chip-bg:linear-gradient(180deg, #fffaf2, #f6d9b4);--chip-text:var(--text);--radius-button:var(--radius-pill);--radius-card:18px;--radius-chip:var(--radius-pill);--radius-nav:var(--radius-pill);--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/autumn-leaves.svg);--app-background-size:420px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 78% 52% at 0% -12%, #f48c067a, transparent 56%), radial-gradient(ellipse 58% 44% at 100% -4%, #c1121f38, transparent 54%), radial-gradient(ellipse 52% 38% at 92% 100%, #e85d0442, transparent 52%), radial-gradient(ellipse 42% 32% at 8% 96%, #5c6b2a24, transparent 50%);--page-sparkle:radial-gradient(2px 2px at 14% 22%, #ffe6a0b3, transparent), radial-gradient(1.5px 1.5px at 66% 16%, #c1121f66, transparent), radial-gradient(1px 1px at 38% 70%, #ffffff80, transparent), radial-gradient(2px 2px at 88% 58%, #f48c0680, transparent);--page-overlay:linear-gradient(185deg, #fff5e16b 0%, #f48c061a 38%, #c1121f0f 72%, transparent 100%);--page-glow-left:radial-gradient(ellipse 54% 46% at -6% 18%, #f48c0652, transparent 58%);--page-glow-right:radial-gradient(ellipse 48% 40% at 108% 12%, #c1121f2e, transparent 55%);--page-gradient:linear-gradient(162deg, #fff4e4 0%, #f7d09a 30%, #e9a05a 58%, #d47438 82%, #b85a28 100%);--page-grain-opacity:.14;--page-grain-blend:multiply;--page-firefly-opacity:.5;--card-sheen-top:#ffffff9e;--card-sheen-bottom:#6f1d1b0d;--card-inner-highlight:0 1px 0 #ffffffb3 inset;--button-primary-text:#fffaf2;--primary-btn-bg:linear-gradient(155deg, #f0a030 0%, #e85d04 36%, #c1121f 72%, #6f1d1b 100%);--primary-btn-shadow:0 4px 18px #e85d0461, inset 0 1px 0 #ffe6b46b;--nav-link-active-top:#f0a030;--nav-link-active-bottom:#e85d04;--nav-link-active-text:#fffaf2;--nav-link-active-border:#c1121f61;--nav-link-active-shadow:0 4px 16px #e85d0452;--progress-fill:linear-gradient(90deg, #5c6b2a, #f0a030, #c1121f);--shell-sidebar-bg:linear-gradient(180deg, #fffaf2 0%, #fff1dc 42%, #f7d09a 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 70% at 50% 110%, #e85d0433, transparent 58%);--shell-sidebar-border:#6f1d1b2e;--shell-nook-bg:radial-gradient(ellipse 110% 80% at 50% 100%, #f0a03052, transparent 55%), linear-gradient(148deg, #fffaf2fa, #f6d9b4f5);--shell-nook-border:#e85d0461;--shell-logo-glow:drop-shadow(0 0 16px #f0a0307a);--spotlight-text:#fffaf2;--spotlight-text-soft:#fffaf2e6;--spotlight-overlay:linear-gradient(125deg, #2b1408f0 0%, #6f1d1bcc 45%, #e85d0485 100%);--spotlight-backdrop-opacity:.38;--spotlight-border:#f0a0307a;--spotlight-glow:0 20px 48px #c1121f33;--spotlight-label-color:#f0a030;--reading-zone-bg:radial-gradient(ellipse 105% 65% at 50% 115%, #f0a0304d, transparent 52%), linear-gradient(175deg, #fffaf2, #fff1dc 50%, #f7d09a);--reading-zone-border:color-mix(in srgb, var(--accent) 32%, var(--border-color));--theme-color-meta:#e9a05a}:root[data-theme=autumn] body:after,[data-theme=autumn] body:after{pointer-events:none;background:radial-gradient(18% 12% at 12% 16%,#c1121f33,#0000 55%),radial-gradient(15% 11% at 74% 20%,#f0a03042,#0000 50%),radial-gradient(16% 11% at 50% 72%,#e85d0429,#0000 52%),radial-gradient(13% 9% at 24% 88%,#6f1d1b24,#0000 50%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=autumn] body:after,[data-theme=autumn] body:after{animation:14s ease-in-out infinite alternate autumn-leaf-drift}}@keyframes autumn-leaf-drift{0%{opacity:calc(var(--page-firefly-opacity,.5) * .62);transform:translateY(0)translate(0)rotate(0)}to{opacity:var(--page-firefly-opacity,.5);transform:translateY(12px)translate(-10px)rotate(-2.5deg)}}:root[data-theme=autumn] .page-header h2,[data-theme=autumn] .page-header h2{font-family:var(--font-display);background:linear-gradient(118deg,#2b1408 0%,#e85d04 38%,#c1121f 68%,#f0a030 100%);color:#0000;filter:drop-shadow(0 2px 10px #e85d0438);-webkit-background-clip:text;background-clip:text}:root[data-theme=autumn] :-webkit-any(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffff9e, #fff1dc38), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 32%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffff6b, 0 16px 36px #e85d041a}:root[data-theme=autumn] :is(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffff9e, #fff1dc38), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 32%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffff6b, 0 16px 36px #e85d041a}[data-theme=autumn] :-webkit-any(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffff9e, #fff1dc38), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 32%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffff6b, 0 16px 36px #e85d041a}[data-theme=autumn] :is(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffff9e, #fff1dc38), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 32%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffff6b, 0 16px 36px #e85d041a}:root[data-theme=autumn] .card:hover,[data-theme=autumn] .card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border-strong));box-shadow:var(--shadow), 0 0 30px #f0a03024}:root[data-theme=autumn] .sidebar-nav-link.active,[data-theme=autumn] .sidebar-nav-link.active,:root[data-theme=autumn] .sidebar-nav-link[aria-current=page],[data-theme=autumn] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #f0a03085, #e85d0438), var(--surface-raised);border-color:color-mix(in srgb, var(--brand-maple) 42%, var(--border-color));color:var(--text);box-shadow:0 4px 14px #e85d0433}:root[data-theme=autumn] .app-sanctuary-name,[data-theme=autumn] .app-sanctuary-name{font-family:var(--font-display);background:linear-gradient(120deg,#e85d04,#c1121f);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=autumn] .app-sanctuary-nook,[data-theme=autumn] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 34px #f0a03033}:root[data-theme=autumn] .home-greeting strong,[data-theme=autumn] .home-greeting strong{font-family:var(--font-display);color:var(--accent-strong)}:root[data-theme=autumn] .auth-card,[data-theme=autumn] .auth-card,:root[data-theme=autumn] .auth-feature-card,[data-theme=autumn] .auth-feature-card{border-color:color-mix(in srgb, var(--accent) 34%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 38px #e85d041f}:root[data-theme=autumn] .auth-hero h1 em,[data-theme=autumn] .auth-hero h1 em{color:#e85d04}:root[data-theme=autumn] .primary-btn,[data-theme=autumn] .primary-btn,:root[data-theme=autumn] .primary-submit,[data-theme=autumn] .primary-submit{letter-spacing:.02em}@media (max-width:900px){:root[data-theme=autumn] .app-mobile-bar,[data-theme=autumn] .app-mobile-bar{background:#fef6e9;border-bottom-color:#e85d0457}:root[data-theme=autumn] .app-dock,[data-theme=autumn] .app-dock{background:#fff7ed;border-top-color:#c1121f42}:root[data-theme=autumn] .dock-link.active,[data-theme=autumn] .dock-link.active,:root[data-theme=autumn] .dock-link[aria-current=page],[data-theme=autumn] .dock-link[aria-current=page]{color:#6f1d1b;background:#f8d19c}:root[data-theme=autumn] .dock-link--accent,[data-theme=autumn] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text);box-shadow:var(--primary-btn-shadow)}}:root[data-theme=winter],[data-theme=winter]{--font-display:"Libre Baskerville", "Lora", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:-.01em;--heading-weight:700;--heading-transform:none;--sanctuary-mark:"❄️";--brand-gold:#a8d4e8;--brand-orange:#5a8aaa;--brand-green:#3d6a7a;--brand-leaf:#7ab0c8;--brand-cream:#f4fafc;--brand-ice:#e8f4fa;--brand-frost:#8ec5d8;--brand-ink:#0e2430;--page-bg:#7eafc2;--page-bg-soft:#c5e4f0;--surface:#f7fbfd;--surface-soft:#e2eef5;--surface-raised:#fff;--surface-muted:#c5dce8;--text:#0e2430;--text-soft:#3d5a6a;--text-inverse:#f4fafc;--accent:#1f6a8c;--accent-hover:#2f86ab;--accent-strong:#143d54;--accent-soft:#1f6a8c26;--accent-muted:#8ec5d86b;--success:#3d7a6a;--success-soft:#3d7a6a29;--danger:#a94450;--danger-soft:#fce8ec;--border-color:#1f6a8c2e;--border-strong:#1f6a8c66;--shadow-soft:0 2px 12px #0e24300f, 0 14px 32px #5a8aaa24;--shadow:0 10px 28px #0e243014, 0 22px 48px #1f6a8c29;--shadow-strong:0 18px 44px #0e24301f, 0 30px 60px #1f6a8c2e;--focus-ring:#1f6a8c8c;--overlay:#0e24307a;--chip-bg:linear-gradient(180deg, #fff, #e2eef5);--chip-text:var(--text);--radius-button:999px;--radius-card:20px;--radius-chip:999px;--radius-nav:14px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/winter-frost.svg);--app-background-size:380px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 85% 52% at 50% -18%, #ffffffc7, transparent 56%), radial-gradient(ellipse 55% 42% at 0% 100%, #8ec5d86b, transparent 52%), radial-gradient(ellipse 50% 38% at 100% 85%, #5a8aaa42, transparent 50%), radial-gradient(ellipse 40% 30% at 72% 18%, #e8f4fa8c, transparent 48%);--page-sparkle:radial-gradient(2.2px 2.2px at 18% 28%, #fffffff2, transparent), radial-gradient(1.6px 1.6px at 62% 16%, #a8d4e8d9, transparent), radial-gradient(1.2px 1.2px at 44% 72%, #ffffffbf, transparent), radial-gradient(2px 2px at 88% 52%, #c8e4f0cc, transparent), radial-gradient(1px 1px at 12% 58%, #ffffffa6, transparent);--page-overlay:linear-gradient(180deg, #ffffff94 0%, #e8f4fa47 42%, #8ec5d824 100%);--page-glow-left:radial-gradient(ellipse 52% 46% at -4% 28%, #ffffff80, transparent 58%);--page-glow-right:radial-gradient(ellipse 46% 40% at 105% 14%, #8ec5d85c, transparent 55%);--page-gradient:linear-gradient(168deg, #fff 0%, #eef7fb 24%, #d5eaf4 52%, #b2d2e2 78%, #8eb8c8 100%);--page-grain-opacity:.09;--page-grain-blend:soft-light;--page-firefly-opacity:.55;--card-sheen-top:#ffffffd1;--card-sheen-bottom:#1f6a8c0a;--card-inner-highlight:0 1px 0 #ffffffe0 inset;--button-primary-text:#f4fafc;--primary-btn-bg:linear-gradient(155deg, #7ab0c8 0%, #1f6a8c 42%, #143d54 82%, #0e2430 100%);--primary-btn-shadow:0 4px 18px #1f6a8c57, inset 0 1px 0 #ffffff47;--nav-link-active-top:#a8d4e8;--nav-link-active-bottom:#1f6a8c;--nav-link-active-text:#f4fafc;--nav-link-active-border:#1f6a8c61;--nav-link-active-shadow:0 4px 16px #1f6a8c42;--progress-fill:linear-gradient(90deg, #a8d4e8, #1f6a8c, #143d54);--shell-sidebar-bg:linear-gradient(180deg, #fff 0%, #eef7fb 48%, #d5eaf4 100%);--shell-sidebar-accent:radial-gradient(ellipse 120% 70% at 50% 110%, #8ec5d861, transparent 58%);--shell-sidebar-border:#1f6a8c29;--shell-nook-bg:radial-gradient(ellipse 110% 80% at 50% 100%, #a8d4e86b, transparent 55%), linear-gradient(148deg, #fffffffa, #e2eef5f5);--shell-nook-border:#1f6a8c47;--shell-logo-glow:drop-shadow(0 0 18px #a8d4e894);--spotlight-text:#f4fafc;--spotlight-text-soft:#f4fafce6;--spotlight-overlay:linear-gradient(125deg, #0e2430eb 0%, #1f6a8cbd 50%, #8ec5d86b 100%);--spotlight-backdrop-opacity:.36;--spotlight-border:#a8d4e880;--spotlight-glow:0 20px 48px #1f6a8c33;--spotlight-label-color:#a8d4e8;--reading-zone-bg:radial-gradient(ellipse 105% 65% at 50% 115%, #a8d4e86b, transparent 52%), linear-gradient(175deg, #fff, #eef7fb 50%, #d5eaf4);--reading-zone-border:color-mix(in srgb, var(--accent) 28%, var(--border-color));--theme-color-meta:#c5e4f0}:root[data-theme=winter] body:after,[data-theme=winter] body:after{pointer-events:none;background:radial-gradient(3px at 16% 20%,#ffffffe6,#0000 60%),radial-gradient(2px at 40% 36%,#ffffffb8,#0000 60%),radial-gradient(2.6px at 66% 26%,#ffffffd1,#0000 60%),radial-gradient(2px at 84% 54%,#ffffffad,#0000 60%),radial-gradient(3px at 26% 70%,#ffffffc7,#0000 60%),radial-gradient(2px at 54% 86%,#ffffff9e,#0000 60%),radial-gradient(2.4px at 92% 76%,#ffffffbd,#0000 60%),radial-gradient(1.6px at 72% 42%,#e8f4facc,#0000 60%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=winter] body:after,[data-theme=winter] body:after{animation:20s linear infinite winter-snowfall}}@keyframes winter-snowfall{0%{opacity:calc(var(--page-firefly-opacity,.55) * .68);transform:translateY(-10px)translate(0)}to{opacity:var(--page-firefly-opacity,.55);transform:translateY(16px)translate(4px)}}:root[data-theme=winter] .page-header h2,[data-theme=winter] .page-header h2{font-family:var(--font-display);background:linear-gradient(118deg,#0e2430 0%,#1f6a8c 48%,#7ab0c8 100%);color:#0000;filter:drop-shadow(0 1px 8px #a8d4e873);-webkit-background-clip:text;background-clip:text}:root[data-theme=winter] :-webkit-any(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffffe6, #e2eef559), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffffbf, 0 0 28px #a8d4e838}:root[data-theme=winter] :is(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffffe6, #e2eef559), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffffbf, 0 0 28px #a8d4e838}[data-theme=winter] :-webkit-any(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffffe6, #e2eef559), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffffbf, 0 0 28px #a8d4e838}[data-theme=winter] :is(.card,.form-card,.goal-card,.chart-card,.insight-card,.book-card,.home-panel,.wrap-section,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){background:linear-gradient(180deg, #ffffffe6, #e2eef559), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 24%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 0 1px #ffffffbf, 0 0 28px #a8d4e838}:root[data-theme=winter] .card:hover,[data-theme=winter] .card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-strong));box-shadow:var(--shadow), 0 0 36px #a8d4e852}:root[data-theme=winter] .sidebar-nav-link.active,[data-theme=winter] .sidebar-nav-link.active,:root[data-theme=winter] .sidebar-nav-link[aria-current=page],[data-theme=winter] .sidebar-nav-link[aria-current=page]{background:linear-gradient(135deg, #a8d4e894, #1f6a8c29), var(--surface-raised);border-color:color-mix(in srgb, var(--accent) 40%, var(--border-color));color:var(--text);box-shadow:0 0 18px #a8d4e861}:root[data-theme=winter] .app-sanctuary-name,[data-theme=winter] .app-sanctuary-name{font-family:var(--font-display);background:linear-gradient(120deg,#1f6a8c,#5a8aaa);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=winter] .app-sanctuary-nook,[data-theme=winter] .app-sanctuary-nook{box-shadow:var(--shadow-soft), 0 0 30px #a8d4e852}:root[data-theme=winter] .home-greeting strong,[data-theme=winter] .home-greeting strong{font-family:var(--font-display);color:var(--accent-strong)}:root[data-theme=winter] .auth-card,[data-theme=winter] .auth-card,:root[data-theme=winter] .auth-feature-card,[data-theme=winter] .auth-feature-card{border-color:color-mix(in srgb, var(--accent) 28%, var(--border-color));box-shadow:var(--shadow-soft), 0 0 38px #8ec5d842}:root[data-theme=winter] .auth-hero h1 em,[data-theme=winter] .auth-hero h1 em{color:#1f6a8c}@media (max-width:900px){:root[data-theme=winter] .app-mobile-bar,[data-theme=winter] .app-mobile-bar{background:#fafcfe;border-bottom-color:#1f6a8c47}:root[data-theme=winter] .app-dock,[data-theme=winter] .app-dock{background:#fcfdfe;border-top-color:#1f6a8c3d}:root[data-theme=winter] .dock-link.active,[data-theme=winter] .dock-link.active,:root[data-theme=winter] .dock-link[aria-current=page],[data-theme=winter] .dock-link[aria-current=page]{color:#143d54;background:#cfe7f2}:root[data-theme=winter] .dock-link--accent,[data-theme=winter] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text);box-shadow:var(--primary-btn-shadow)}}:root[data-theme=christmas],[data-theme=christmas]{--font-display:"Playfair Display", "Lora", "Georgia", serif;--font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-letter-spacing:.01em;--heading-weight:700;--heading-transform:none;--sanctuary-mark:"🎄";--brand-gold:gold;--brand-orange:#c62828;--brand-green:#1b5e20;--brand-leaf:#2e7d32;--brand-cream:#fff8e7;--brand-holly:#c62828;--brand-pine:#0d3b1e;--brand-ink:#0a1a10;--page-bg:#0a2214;--page-bg-soft:#12301c;--surface:#184028;--surface-soft:#102818;--surface-raised:#fff8e7;--surface-muted:#245832;--text:#f5efe0;--text-soft:#b8c9b0;--text-inverse:#0a1a10;--card-text:#1a2010;--card-text-soft:#4a5540;--accent:gold;--accent-hover:#ffe44d;--accent-strong:#c62828;--accent-soft:#ffd70033;--accent-muted:#2e7d3259;--success:#43a047;--success-soft:#43a04733;--danger:#e53935;--danger-soft:#e5393533;--border-color:#ffd70038;--border-strong:#c6282873;--shadow-soft:0 2px 14px #00000073, 0 0 26px #ffd70014;--shadow:0 12px 30px #00000085, 0 0 34px #c628281f;--shadow-strong:0 20px 50px #0009, 0 0 42px #ffd7001f;--focus-ring:#ffd70099;--overlay:#06100ae0;--card-bg:var(--surface-raised);--card-bg-soft:#f5ecd4;--chip-bg:linear-gradient(180deg, #245832, #184028);--chip-text:var(--text);--radius-button:999px;--radius-card:16px;--radius-chip:999px;--radius-nav:12px;--card-border-style:solid;--card-border-width:1px;--app-background-image:url(/themes/christmas-glow.svg);--app-background-size:440px;--app-background-repeat:repeat;--page-pattern:radial-gradient(ellipse 72% 46% at 50% -8%, #ffd70033, transparent 55%), radial-gradient(ellipse 52% 40% at 0% 100%, #c628284d, transparent 52%), radial-gradient(ellipse 48% 36% at 100% 90%, #2e7d3261, transparent 50%), radial-gradient(ellipse 40% 30% at 80% 10%, #ffd7001f, transparent 48%);--page-sparkle:radial-gradient(2.6px 2.6px at 20% 18%, #ffd700e6, transparent), radial-gradient(2px 2px at 68% 14%, #ffffffb8, transparent), radial-gradient(2px 2px at 44% 58%, #c628288c, transparent), radial-gradient(1.6px 1.6px at 86% 68%, #ffd700ad, transparent), radial-gradient(2px 2px at 14% 78%, #e8f5e980, transparent);--page-overlay:linear-gradient(180deg, #1840286b 0%, transparent 40%, #0a1a108c 100%);--page-glow-left:radial-gradient(ellipse 46% 46% at 0% 70%, #c6282847, transparent 58%);--page-glow-right:radial-gradient(ellipse 44% 40% at 100% 18%, #ffd7002e, transparent 55%);--page-gradient:linear-gradient(168deg, #184028 0%, #12301c 34%, #0a2214 68%, #071610 100%);--page-grain-opacity:.15;--page-grain-blend:soft-light;--page-firefly-opacity:.58;--card-sheen-top:#fffcf094;--card-sheen-bottom:#0d3b1e0d;--card-inner-highlight:0 1px 0 #fffcf0a6 inset;--button-primary-text:#0a1a10;--primary-btn-bg:linear-gradient(155deg, #ffe44d 0%, gold 36%, #c9a000 70%, #8a7000 100%);--primary-btn-shadow:0 4px 18px #ffd70057, 0 0 22px #c6282824, inset 0 1px 0 #ffffff59;--nav-link-active-top:gold;--nav-link-active-bottom:#c9a000;--nav-link-active-text:#0a1a10;--nav-link-active-border:#c6282866;--nav-link-active-shadow:0 4px 16px #ffd7004d;--progress-fill:linear-gradient(90deg, #1b5e20, #c62828, gold);--shell-sidebar-bg:linear-gradient(180deg, #184028 0%, #0a2214 100%);--shell-sidebar-accent:radial-gradient(ellipse 110% 70% at 50% 110%, #c6282852, transparent 55%);--shell-sidebar-border:#ffd70033;--shell-nook-bg:radial-gradient(ellipse 100% 70% at 50% 100%, #ffd70033, transparent 55%), linear-gradient(148deg, #245832, #0a2214);--shell-nook-border:#ffd7005c;--shell-logo-glow:drop-shadow(0 0 18px #ffd7007a);--spotlight-text:#fff8e7;--spotlight-text-soft:#fff8e7e6;--spotlight-overlay:linear-gradient(125deg, #0a1a10f0 0%, #1b5e20bd 40%, #c628288c 100%);--spotlight-backdrop-opacity:.44;--spotlight-border:#ffd7006b;--spotlight-glow:0 20px 48px #c6282840;--spotlight-label-color:gold;--reading-zone-bg:radial-gradient(ellipse 100% 60% at 50% 110%, #ffd70024, transparent 50%), linear-gradient(175deg, #184028, #0a2214);--reading-zone-border:#ffd70047;--theme-color-meta:#0a2214}:root[data-theme=christmas] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf099, #fff8e738), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-gold) 38%, #c6282838);box-shadow:var(--shadow-soft), 0 0 22px #ffd70014}:root[data-theme=christmas] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf099, #fff8e738), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-gold) 38%, #c6282838);box-shadow:var(--shadow-soft), 0 0 22px #ffd70014}[data-theme=christmas] :-webkit-any(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf099, #fff8e738), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-gold) 38%, #c6282838);box-shadow:var(--shadow-soft), 0 0 22px #ffd70014}[data-theme=christmas] :is(.card,.goal-card,.chart-card,.insight-card,.form-card,.book-card,.auth-card,.auth-feature-card,.home-panel,.home-hero,.onboarding-guide,.wrap-section,.wrap-stat-card,.achievement-card,.theme-picker-card,.settings-profile-hero,.month-card,.reading-log-item){--text:var(--card-text);--text-soft:var(--card-text-soft);color:var(--card-text);background:linear-gradient(180deg, #fffcf099, #fff8e738), var(--card-bg,var(--surface-raised));border-color:color-mix(in srgb, var(--brand-gold) 38%, #c6282838);box-shadow:var(--shadow-soft), 0 0 22px #ffd70014}:root[data-theme=christmas] body:after,[data-theme=christmas] body:after{pointer-events:none;background:radial-gradient(4px at 14% 16%,#ffd700bf,#0000 55%),radial-gradient(3px at 38% 12%,#ffffff85,#0000 55%),radial-gradient(3.6px at 70% 20%,#c6282894,#0000 55%),radial-gradient(3px at 88% 44%,#ffd70085,#0000 55%),radial-gradient(4px at 24% 64%,#e8f5e96b,#0000 55%),radial-gradient(3px at 58% 80%,#c628286b,#0000 55%),radial-gradient(3.5px at 92% 74%,#ffd70094,#0000 55%)}@media (prefers-reduced-motion:no-preference){:root[data-theme=christmas] body:after,[data-theme=christmas] body:after{animation:3.2s ease-in-out infinite alternate christmas-twinkle}}@keyframes christmas-twinkle{0%{opacity:calc(var(--page-firefly-opacity,.58) * .52)}to{opacity:var(--page-firefly-opacity,.58)}}:root[data-theme=christmas] .page-header h2,[data-theme=christmas] .page-header h2{font-family:var(--font-display);background:linear-gradient(118deg,#f5efe0 0%,gold 38%,#c62828 72%,#2e7d32 100%);color:#0000;filter:drop-shadow(0 2px 14px #ffd70052);-webkit-background-clip:text;background-clip:text;font-style:italic}:root[data-theme=christmas] .app-sidebar,[data-theme=christmas] .app-sidebar{--text:#f5efe0;--text-soft:#b8c9b0;color:#f5efe0}:root[data-theme=christmas] .app-sanctuary-name,[data-theme=christmas] .app-sanctuary-name{font-family:var(--font-display);color:gold;text-shadow:0 0 20px #ffd70061;font-style:italic}:root[data-theme=christmas] .sidebar-nav-link.active,[data-theme=christmas] .sidebar-nav-link.active,:root[data-theme=christmas] .sidebar-nav-link[aria-current=page],[data-theme=christmas] .sidebar-nav-link[aria-current=page]{color:#fff8e7;background:linear-gradient(135deg,#ffd70052,#c6282842);border-color:#ffd7007a;box-shadow:0 0 20px #ffd70038}:root[data-theme=christmas] .book-card .book-content,[data-theme=christmas] .book-card .book-content{background:0 0}:root[data-theme=christmas] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-holly) 30%, transparent);background:color-mix(in srgb, var(--brand-cream) 88%, #f5ecd4);color:var(--card-text)}:root[data-theme=christmas] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-holly) 30%, transparent);background:color-mix(in srgb, var(--brand-cream) 88%, #f5ecd4);color:var(--card-text)}[data-theme=christmas] :-webkit-any(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-holly) 30%, transparent);background:color-mix(in srgb, var(--brand-cream) 88%, #f5ecd4);color:var(--card-text)}[data-theme=christmas] :is(.genre-chip,.format-chip,.reads-chip,.shelf-link-chip){border-color:color-mix(in srgb, var(--brand-holly) 30%, transparent);background:color-mix(in srgb, var(--brand-cream) 88%, #f5ecd4);color:var(--card-text)}:root[data-theme=christmas] .auth-hero h1 em,[data-theme=christmas] .auth-hero h1 em{color:gold}:root[data-theme=christmas] .primary-btn,[data-theme=christmas] .primary-btn,:root[data-theme=christmas] .primary-submit,[data-theme=christmas] .primary-submit{letter-spacing:.03em}@media (max-width:900px){:root[data-theme=christmas] .app-mobile-bar,[data-theme=christmas] .app-mobile-bar,:root[data-theme=christmas] .app-dock,[data-theme=christmas] .app-dock{color:#f5efe0;background:#184028f2;border-color:#ffd7004d}:root[data-theme=christmas] .dock-link.active,[data-theme=christmas] .dock-link.active,:root[data-theme=christmas] .dock-link[aria-current=page],[data-theme=christmas] .dock-link[aria-current=page]{color:#fff8e7;background:#596a1d}:root[data-theme=christmas] .dock-link--accent,[data-theme=christmas] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text);box-shadow:var(--primary-btn-shadow)}}:root[data-theme],[data-theme]{--button-primary-bg:var(--accent);--button-primary-bg-hover:var(--accent-hover)}@media (max-width:900px){:root[data-theme=fantasy] .app-mobile-bar,[data-theme=fantasy] .app-mobile-bar{background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom-color:color-mix(in srgb, var(--accent) 28%, transparent);color:#ece6d8}:root[data-theme=fantasy] .app-dock,[data-theme=fantasy] .app-dock{background:color-mix(in srgb, var(--surface) 96%, transparent);border-top-color:color-mix(in srgb, var(--accent) 28%, transparent);color:#ece6d8}:root[data-theme=fantasy] .dock-link.active,[data-theme=fantasy] .dock-link.active,:root[data-theme=fantasy] .dock-link[aria-current=page],[data-theme=fantasy] .dock-link[aria-current=page]{background:color-mix(in srgb, var(--accent) 22%, var(--surface));color:#ffd166;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}:root[data-theme=horror] .app-mobile-bar,[data-theme=horror] .app-mobile-bar{background:#121010f0;border-bottom-color:#c41e1e66}:root[data-theme=horror] .app-dock,[data-theme=horror] .app-dock{background:#121010f5;border-top-color:#c41e1e52}:root[data-theme=horror] .dock-link.active,[data-theme=horror] .dock-link.active,:root[data-theme=horror] .dock-link[aria-current=page],[data-theme=horror] .dock-link[aria-current=page]{color:#e8d4cc;background:#3d1313}:root[data-theme=fantasy] .dock-link--accent,[data-theme=fantasy] .dock-link--accent,:root[data-theme=horror] .dock-link--accent,[data-theme=horror] .dock-link--accent{background:var(--primary-btn-bg);color:var(--button-primary-text);box-shadow:var(--primary-btn-shadow)}:root[data-theme=forest-dark] .dock-link.active,[data-theme=forest-dark] .dock-link.active,:root[data-theme=forest-dark] .dock-link[aria-current=page],[data-theme=forest-dark] .dock-link[aria-current=page]{color:#ffd35a}:root[data-theme=christmas] .dock-link.active,[data-theme=christmas] .dock-link.active,:root[data-theme=christmas] .dock-link[aria-current=page],[data-theme=christmas] .dock-link[aria-current=page]{box-shadow:0 0 14px #ffd70033}}:root[data-theme=romance] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #c45a7214;border-color:#c45a724d}:root[data-theme=romance] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #c45a7214;border-color:#c45a724d}[data-theme=romance] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #c45a7214;border-color:#c45a724d}[data-theme=romance] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #c45a7214;border-color:#c45a724d}:root[data-theme=thriller] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){border-left:3px solid #e23d3d;border-radius:6px}:root[data-theme=thriller] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){border-left:3px solid #e23d3d;border-radius:6px}[data-theme=thriller] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){border-left:3px solid #e23d3d;border-radius:6px}[data-theme=thriller] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){border-left:3px solid #e23d3d;border-radius:6px}:root[data-theme=drama] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf033;border-color:#b8956a61}:root[data-theme=drama] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf033;border-color:#b8956a61}[data-theme=drama] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf033;border-color:#b8956a61}[data-theme=drama] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), inset 0 1px 0 #fffaf033;border-color:#b8956a61}:root[data-theme=mystery] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 26px #c9a05a14;border-color:#c9a05a4d}:root[data-theme=mystery] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 26px #c9a05a14;border-color:#c9a05a4d}[data-theme=mystery] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 26px #c9a05a14;border-color:#c9a05a4d}[data-theme=mystery] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 26px #c9a05a14;border-color:#c9a05a4d}:root[data-theme=autumn] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #f0a0301a;border-color:#e85d0452}:root[data-theme=autumn] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #f0a0301a;border-color:#e85d0452}[data-theme=autumn] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #f0a0301a;border-color:#e85d0452}[data-theme=autumn] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 20px #f0a0301a;border-color:#e85d0452}:root[data-theme=winter] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 24px #a8d4e833;border-color:#1f6a8c47}:root[data-theme=winter] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 24px #a8d4e833;border-color:#1f6a8c47}[data-theme=winter] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 24px #a8d4e833;border-color:#1f6a8c47}[data-theme=winter] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 24px #a8d4e833;border-color:#1f6a8c47}:root[data-theme=christmas] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #ffd7001a;border-color:#ffd70059}:root[data-theme=christmas] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #ffd7001a;border-color:#ffd70059}[data-theme=christmas] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #ffd7001a;border-color:#ffd70059}[data-theme=christmas] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #ffd7001a;border-color:#ffd70059}:root[data-theme=horror] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 18px #c41e1e1a;border-color:#c41e1e4d}:root[data-theme=horror] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 18px #c41e1e1a;border-color:#c41e1e4d}[data-theme=horror] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 18px #c41e1e1a;border-color:#c41e1e4d}[data-theme=horror] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 18px #c41e1e1a;border-color:#c41e1e4d}:root[data-theme=fantasy] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #9d7cd81a;border-color:#ffd16652}:root[data-theme=fantasy] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #9d7cd81a;border-color:#ffd16652}[data-theme=fantasy] :-webkit-any(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #9d7cd81a;border-color:#ffd16652}[data-theme=fantasy] :is(.wrap-section,.wrap-stat-card,.wrap-highlight){box-shadow:var(--shadow-soft), 0 0 22px #9d7cd81a;border-color:#ffd16652}button,.nav-link,.profile-avatar-link,.shelf-toggle{cursor:pointer}button:disabled{cursor:not-allowed}.nav-link{border-radius:var(--radius-nav);min-height:38px;color:var(--text-soft);white-space:nowrap;box-shadow:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--nav-link-bg-hover);color:var(--text);transform:var(--lift-sm)}.nav-link.active,.nav-link[aria-current=page]{color:var(--nav-link-active-text);background:var(--nav-link-active-bg);border-color:var(--nav-link-active-border);box-shadow:var(--nav-link-active-shadow)}.profile-action-btn{border:1px solid var(--button-border);border-radius:var(--radius-pill);background:var(--button-bg);min-width:88px;height:40px;color:var(--button-text);box-shadow:var(--button-shadow);justify-content:center;align-items:center;padding:0 14px;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}.profile-action-btn:hover{background:var(--button-bg-hover);transform:var(--lift-sm)}.profile-action-btn.active{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-bg)}.primary-submit,.primary-btn{width:100%;min-height:44px;padding:var(--button-padding-lg);border-radius:var(--radius-button);background:var(--primary-btn-bg);color:var(--button-primary-text);font-family:var(--font-ui);letter-spacing:.02em;box-shadow:var(--primary-btn-shadow);border:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.primary-submit:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:var(--button-primary-bg-hover);transform:var(--lift-sm)}.secondary-btn,.action-btn-secondary{border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);border:none;font-weight:800}.secondary-btn{width:100%;margin-top:var(--space-2);padding:var(--button-padding-md)}.secondary-btn:hover:not(:disabled),.action-btn-secondary:hover:not(:disabled){background:var(--surface-soft);transform:var(--lift-sm)}.danger-btn,.danger-action-btn,.action-btn-delete{border-radius:var(--radius-pill);background:var(--button-danger-bg);color:var(--button-danger-text);border:none;font-weight:800}.danger-btn:hover:not(:disabled),.danger-action-btn:hover:not(:disabled),.action-btn-delete:hover:not(:disabled){background:var(--button-danger-bg-hover);transform:var(--lift-sm)}.edit-btn,.delete-btn{width:100%;padding:var(--button-padding-sm);border-radius:var(--radius-sm);border:none;font-size:.85rem;font-weight:800}.edit-btn{margin-bottom:var(--space-2);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.edit-btn:hover:not(:disabled){background:var(--button-secondary-bg-hover);transform:var(--lift-sm)}.delete-btn{background:var(--button-danger-bg);color:var(--button-danger-text)}.delete-btn:hover:not(:disabled){background:var(--button-danger-bg-hover);transform:var(--lift-sm)}.log-actions,.button-row{gap:var(--space-2);margin-top:var(--space-3);align-items:center;display:flex}.action-btn{border-radius:var(--radius-pill);border:none;flex:1;min-height:42px;padding:10px 16px;font-size:.92rem;font-weight:800;transition:transform .18s,background .18s,box-shadow .18s}.action-btn:hover:not(:disabled){transform:var(--lift-sm)}.action-btn-edit:hover:not(:disabled),.edit-log-btn:hover:not(:disabled){background:var(--button-secondary-bg-hover)}.edit-log-btn,.delete-log-btn{padding:var(--button-padding-sm);border-radius:var(--radius-pill);border:none;font-weight:800}.delete-log-btn{background:var(--button-danger-bg);color:var(--button-danger-text)}.delete-log-btn:hover:not(:disabled){background:var(--button-danger-bg-hover);transform:var(--lift-sm)}.text-link{color:var(--text-soft);font:inherit;text-align:left;background:0 0;border:none;padding:0;font-style:italic}.text-link:hover{color:var(--text);text-decoration:underline}.pagination-controls{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-7) 0 0;display:flex}.pagination-controls button{border:1px solid var(--button-border);border-radius:var(--radius-pill);background:var(--button-bg);color:var(--button-text);padding:.65rem 1rem;font-weight:800}.pagination-controls span{color:var(--text);font-weight:800}.book-card .card-actions{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:1fr;display:grid}.book-card-action{border-radius:var(--radius-pill);border:none;width:100%;min-height:34px;padding:8px 12px;font-size:.88rem;font-weight:800}.book-card-action-edit{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.book-card-action-details{background:var(--chip-bg);color:var(--chip-text)}.book-card-action:hover:not(:disabled){transform:var(--lift-sm)}.nav-link:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.primary-submit:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.primary-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.secondary-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.danger-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.danger-action-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.edit-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.delete-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.edit-log-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.delete-log-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.profile-action-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.action-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.book-card-action:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.pagination-controls button:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}@media (max-width:768px){.nav-link{min-height:36px;padding:8px 12px;font-size:.86rem}.form-submit-bar button,.primary-submit,.primary-btn,.secondary-btn,.danger-btn,.danger-action-btn{width:100%}.profile-action-btn{min-width:76px;height:38px;padding:0 12px;font-size:.82rem}}@media (max-width:480px){.nav-link{text-align:center;width:100%}.button-row,.log-actions{flex-direction:column;align-items:stretch}}:root{--chip-padding-y:5px;--chip-padding-x:11px;--chip-font-size:.78rem;--chip-font-weight:700;--chip-line-height:1.2;--page-stack-gap:var(--section-gap)}.library-page,.reading-log-page,.add-book-page,.insights-page,.achievements-page,.shelves-page,.series-page,.wrapup-page{gap:var(--page-stack-gap);display:grid}.page-header,.library-header,.reading-log-header,.add-book-header{margin-bottom:0}.filter-chip,.genre-chip,.format-chip,.edition-chip,.modal-status-chip{min-height:calc(var(--chip-padding-y) * 2 + var(--chip-font-size) * var(--chip-line-height));padding:var(--chip-padding-y) var(--chip-padding-x);border-radius:var(--chip-radius,var(--radius-chip));font-family:var(--font-ui);font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);line-height:var(--chip-line-height);white-space:nowrap;justify-content:center;align-items:center;gap:4px;display:inline-flex}.active-filter-chips{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip{border:1px solid color-mix(in srgb, var(--chip-border,var(--border-color)) 80%, transparent);background:var(--chip-bg);color:var(--chip-text)}.genre-chip{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border-color));color:var(--accent-strong,var(--accent));cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);background:0 0;text-decoration:none}.genre-chip:hover{background:var(--accent-soft);transform:var(--lift-sm)}.format-chip,.edition-chip{border:1px solid var(--chip-border,var(--border-color));background:var(--chip-bg);color:var(--chip-text)}.toolbar-btn{border:1px solid var(--button-border,var(--border-color));border-radius:var(--radius-pill);background:var(--button-bg,var(--surface));min-height:36px;color:var(--button-text,var(--text));font-family:var(--font-ui);transition:background var(--transition-fast), transform var(--transition-fast);flex-shrink:0;padding:7px 14px;font-size:.82rem;font-weight:700}.toolbar-btn:hover:not(:disabled){background:var(--button-bg-hover,var(--surface-soft));transform:var(--lift-sm)}.toolbar-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.library-summary{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.action-btn{font-family:var(--font-ui);font-weight:700}.action-btn-secondary{background:var(--chip-bg);min-height:42px;color:var(--chip-text);padding:10px 16px}.action-btn-secondary:hover:not(:disabled){background:var(--surface-soft)}.action-btn-edit,.edit-log-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.action-btn-delete,.delete-log-btn{background:var(--button-danger-bg);color:var(--button-danger-text)}.button-row{gap:var(--space-2)}.empty-state{border-radius:var(--radius-xl);padding:clamp(28px,5vw,40px) clamp(20px,4vw,32px)}.empty-state h3{margin:0 0 var(--space-2);font-size:clamp(1.15rem,3vw,1.35rem)}.empty-state p{max-width:42ch;margin:0 auto;line-height:1.55}.empty-state-actions,.onboarding-empty-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.empty-state-actions .primary-btn,.empty-state-actions .secondary-btn,.onboarding-empty-actions .primary-btn,.onboarding-empty-actions .secondary-btn{width:auto;min-width:min(100%,168px);max-width:100%;margin-top:0}.empty-state>.primary-btn,.empty-state>.secondary-btn{width:auto;min-width:min(100%,200px);max-width:320px;margin:var(--space-4) auto 0}.library-controls,.wrapup-controls,.achievement-filters{border:1px solid var(--border-color);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-soft)}.library-filter-field,.wrapup-control-field{gap:6px;min-width:0;display:grid}.library-filter-label,.wrapup-control-label{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.library-controls input,.library-controls select,.wrapup-controls select,.achievement-filters select{border-radius:var(--radius-md);min-height:42px;font-family:var(--font-ui);padding:10px 14px;font-size:.94rem}.achievement-filters select{font-weight:600}.library-search-input{border:1px solid var(--input-border,var(--border-color));background:var(--input-bg,var(--surface-raised));color:var(--input-text,var(--text));font-family:var(--font-ui)}.library-search-input::placeholder{color:var(--input-placeholder,var(--text-soft))}.library-search-input:focus-visible{border-color:var(--input-focus,var(--accent));box-shadow:0 0 0 4px var(--focus-ring);outline:none}.pagination-controls button{border:1px solid var(--button-border,var(--border-color));border-radius:var(--radius-pill);background:var(--button-bg,var(--surface));min-height:38px;color:var(--button-text,var(--text));font-family:var(--font-ui);box-shadow:var(--button-shadow,var(--shadow-soft));transition:background var(--transition-fast), transform var(--transition-fast);padding:8px 16px;font-size:.86rem;font-weight:700}.pagination-controls button:hover:not(:disabled){background:var(--button-bg-hover,var(--surface-soft));transform:var(--lift-sm)}.pagination-controls span{font-family:var(--font-ui);font-size:.88rem;font-weight:700}.genre-chip:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.toolbar-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.filter-chip:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.library-search-clear:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.cover-drop-zone:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}@media (max-width:768px){:root{--page-stack-gap:18px}.library-summary{flex-direction:column;align-items:stretch}.library-summary .toolbar-btn{width:100%}.empty-state-actions,.onboarding-empty-actions{flex-direction:column;align-items:stretch}.empty-state-actions .primary-btn,.empty-state-actions .secondary-btn,.onboarding-empty-actions .primary-btn,.onboarding-empty-actions .secondary-btn,.empty-state>.primary-btn{width:100%;min-width:0;max-width:none}}.cozy-icon{flex-shrink:0;display:inline-flex}.cozy-icon-medallion{border:1px solid var(--cozy-icon-border,color-mix(in srgb, var(--accent) 28%, var(--border-color)));background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--cozy-icon-bg-soft,var(--accent-soft)) 85%, white), var(--cozy-icon-bg,color-mix(in srgb, var(--accent-soft) 55%, var(--surface-raised))));box-shadow:inset 0 1px 0 #ffffff59, 0 4px 12px color-mix(in srgb, var(--cozy-icon-shadow,var(--accent)) 12%, transparent);color:var(--cozy-icon-fg,var(--accent-strong,var(--accent)));border-radius:50%;place-items:center;display:grid}.cozy-icon-svg{width:58%;height:58%;display:block}.cozy-icon-emoji{filter:drop-shadow(0 1px 2px #00000014);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1}.cozy-icon--xs .cozy-icon-medallion{width:28px;height:28px}.cozy-icon--xs .cozy-icon-emoji{font-size:.95rem}.cozy-icon--sm .cozy-icon-medallion{width:36px;height:36px}.cozy-icon--sm .cozy-icon-emoji{font-size:1.1rem}.cozy-icon--md .cozy-icon-medallion{width:46px;height:46px}.cozy-icon--md .cozy-icon-emoji{font-size:1.35rem}.cozy-icon--lg .cozy-icon-medallion{width:58px;height:58px}.cozy-icon--lg .cozy-icon-emoji{font-size:1.65rem}.cozy-icon--xl .cozy-icon-medallion{width:72px;height:72px}.cozy-icon--xl .cozy-icon-emoji{font-size:2rem}.cozy-icon--tone-streak{--cozy-icon-bg:color-mix(in srgb, #ff9f43 24%, var(--surface-raised));--cozy-icon-bg-soft:#ffd4a8;--cozy-icon-border:color-mix(in srgb, #ff8a3d 42%, var(--border-color));--cozy-icon-fg:#c45a12;--cozy-icon-shadow:#ff8a3d}.cozy-icon--tone-pages{--cozy-icon-bg:color-mix(in srgb, #6ea8ff 22%, var(--surface-raised));--cozy-icon-bg-soft:#c8dcff;--cozy-icon-border:color-mix(in srgb, #5b93ef 40%, var(--border-color));--cozy-icon-fg:#2f5fbf;--cozy-icon-shadow:#5b93ef}.cozy-icon--tone-days{--cozy-icon-bg:color-mix(in srgb, #ffd166 24%, var(--surface-raised));--cozy-icon-bg-soft:#ffe8a3;--cozy-icon-border:color-mix(in srgb, #f4b400 42%, var(--border-color));--cozy-icon-fg:#9a6b00;--cozy-icon-shadow:#f4b400}.cozy-icon--tone-audio{--cozy-icon-bg:color-mix(in srgb, #b197fc 24%, var(--surface-raised));--cozy-icon-bg-soft:#ddd0ff;--cozy-icon-border:color-mix(in srgb, #9775fa 42%, var(--border-color));--cozy-icon-fg:#6741d9;--cozy-icon-shadow:#9775fa}.cozy-icon--tone-books{--cozy-icon-bg:color-mix(in srgb, #69db7c 22%, var(--surface-raised));--cozy-icon-bg-soft:#c7f5ce;--cozy-icon-border:color-mix(in srgb, #51cf66 40%, var(--border-color));--cozy-icon-fg:#2f9e44;--cozy-icon-shadow:#51cf66}.cozy-icon--tone-finished{--cozy-icon-bg:color-mix(in srgb, #63e6be 22%, var(--surface-raised));--cozy-icon-bg-soft:#c3fae8;--cozy-icon-border:color-mix(in srgb, #38d9a9 40%, var(--border-color));--cozy-icon-fg:#0ca678;--cozy-icon-shadow:#38d9a9}.cozy-icon--tone-sessions{--cozy-icon-bg:color-mix(in srgb, #91a7ff 22%, var(--surface-raised));--cozy-icon-bg-soft:#dbe4ff;--cozy-icon-border:color-mix(in srgb, #748ffc 40%, var(--border-color));--cozy-icon-fg:#3b5bdb;--cozy-icon-shadow:#748ffc}.cozy-icon--tone-mood{--cozy-icon-bg:color-mix(in srgb, #ff8787 22%, var(--surface-raised));--cozy-icon-bg-soft:#ffc9c9;--cozy-icon-border:color-mix(in srgb, #fa5252 38%, var(--border-color));--cozy-icon-fg:#c92a2a;--cozy-icon-shadow:#fa5252}.cozy-icon--tone-trophy{--cozy-icon-bg:color-mix(in srgb, #ffe066 26%, var(--surface-raised));--cozy-icon-bg-soft:#fff3bf;--cozy-icon-border:color-mix(in srgb, #fab005 44%, var(--border-color));--cozy-icon-fg:#b8860b;--cozy-icon-shadow:#fab005}.cozy-icon--tone-sunflower{--cozy-icon-bg:color-mix(in srgb, var(--accent-soft) 70%, #fff8dc);--cozy-icon-bg-soft:#fff3bf;--cozy-icon-border:color-mix(in srgb, var(--accent) 45%, var(--border-color));--cozy-icon-fg:var(--accent-strong,var(--accent));--cozy-icon-shadow:var(--accent)}.cozy-icon--tone-xp{--cozy-icon-bg:color-mix(in srgb, #da77f2 22%, var(--surface-raised));--cozy-icon-bg-soft:#eebefa;--cozy-icon-border:color-mix(in srgb, #be4bdb 40%, var(--border-color));--cozy-icon-fg:#9c36b5;--cozy-icon-shadow:#be4bdb}.cozy-icon--tone-goals,.cozy-icon--tone-target{--cozy-icon-bg:color-mix(in srgb, #74c0fc 22%, var(--surface-raised));--cozy-icon-bg-soft:#d0ebff;--cozy-icon-border:color-mix(in srgb, #339af0 40%, var(--border-color));--cozy-icon-fg:#1864ab;--cozy-icon-shadow:#339af0}.cozy-icon--tone-locked{--cozy-icon-bg:color-mix(in srgb, var(--text-soft) 12%, var(--surface-raised));--cozy-icon-bg-soft:color-mix(in srgb, var(--surface-soft) 80%, white);--cozy-icon-border:color-mix(in srgb, var(--text-soft) 28%, var(--border-color));--cozy-icon-fg:var(--text-soft);--cozy-icon-shadow:var(--text-soft)}.cozy-icon--tone-mystery{--cozy-icon-bg:color-mix(in srgb, #868e96 18%, var(--surface-raised));--cozy-icon-bg-soft:#dee2e6;--cozy-icon-border:color-mix(in srgb, #495057 32%, var(--border-color));--cozy-icon-fg:#495057;--cozy-icon-shadow:#868e96}.cozy-icon--tone-rose{--cozy-icon-bg:color-mix(in srgb, #ff8fb1 24%, var(--surface-raised));--cozy-icon-bg-soft:#ffdeeb;--cozy-icon-border:color-mix(in srgb, #f06595 40%, var(--border-color));--cozy-icon-fg:#c2255c;--cozy-icon-shadow:#f06595}.cozy-icon--tone-leaf{--cozy-icon-bg:color-mix(in srgb, #8ce99a 22%, var(--surface-raised));--cozy-icon-bg-soft:#d8f5e1;--cozy-icon-border:color-mix(in srgb, #40c057 38%, var(--border-color));--cozy-icon-fg:#2b8a3e;--cozy-icon-shadow:#40c057}.cozy-icon--tone-flame{--cozy-icon-bg:color-mix(in srgb, #ff922b 24%, var(--surface-raised));--cozy-icon-bg-soft:#ffd8a8;--cozy-icon-border:color-mix(in srgb, #fd7e14 42%, var(--border-color));--cozy-icon-fg:#d9480f;--cozy-icon-shadow:#fd7e14}.cozy-icon--tone-paperback,.cozy-icon--tone-hardback,.cozy-icon--tone-ebook{--cozy-icon-bg:color-mix(in srgb, #69db7c 22%, var(--surface-raised));--cozy-icon-bg-soft:#c7f5ce;--cozy-icon-border:color-mix(in srgb, #51cf66 40%, var(--border-color));--cozy-icon-fg:#2f9e44;--cozy-icon-shadow:#51cf66}.cozy-icon--tone-progress{--cozy-icon-bg:color-mix(in srgb, #74c0fc 22%, var(--surface-raised));--cozy-icon-bg-soft:#d0ebff;--cozy-icon-border:color-mix(in srgb, #339af0 40%, var(--border-color));--cozy-icon-fg:#1864ab;--cozy-icon-shadow:#339af0}.cozy-icon--tone-star,.cozy-icon--tone-crown,.cozy-icon--tone-gem{--cozy-icon-bg:color-mix(in srgb, #ffe066 26%, var(--surface-raised));--cozy-icon-bg-soft:#fff3bf;--cozy-icon-border:color-mix(in srgb, #fab005 44%, var(--border-color));--cozy-icon-fg:#b8860b;--cozy-icon-shadow:#fab005}.cozy-icon--tone-note,.cozy-icon--tone-rainbow,.cozy-icon--tone-reread{--cozy-icon-bg:color-mix(in srgb, #91a7ff 22%, var(--surface-raised));--cozy-icon-bg-soft:#dbe4ff;--cozy-icon-border:color-mix(in srgb, #748ffc 40%, var(--border-color));--cozy-icon-fg:#3b5bdb;--cozy-icon-shadow:#748ffc}.achievement-badge{flex-shrink:0}.achievement-badge.is-unlocked .cozy-icon-medallion{transform:scale(1.02)}.achievement-badge.is-locked{filter:grayscale(.35);opacity:.88}.achievement-badge--legendary.is-unlocked .cozy-icon-medallion,.achievement-badge--epic.is-unlocked .cozy-icon-medallion{box-shadow:inset 0 1px 0 #fff6, 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 6px 18px color-mix(in srgb, var(--accent) 24%, transparent)}.achievement-badge--secret.is-unlocked .cozy-icon-medallion{box-shadow:inset 0 1px 0 #ffffff59, 0 0 0 1px color-mix(in srgb, var(--success) 20%, transparent), 0 6px 18px color-mix(in srgb, var(--success) 22%, transparent)}.achievement-badge--rare.is-unlocked .cozy-icon-medallion{box-shadow:inset 0 1px 0 #ffffff59, 0 5px 14px color-mix(in srgb, var(--cozy-icon-shadow) 18%, transparent)}.stat-tile{gap:10px;display:grid;position:relative}.stat-tile-copy{min-width:0}.stat-tile-label{font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-size:.76rem;font-weight:700;display:block}.stat-tile-value{font-family:var(--font-display);color:var(--text);font-size:1.45rem;font-weight:600;line-height:1.05;display:block}.stat-tile-sub{font-family:var(--font-ui);color:var(--accent-strong);margin-top:2px;font-size:.68rem;display:block}.stat-tile-helper{font-family:var(--font-ui);color:var(--text-soft);margin:4px 0 0;font-size:.82rem;line-height:1.45}.stat-tile--card,.stat-tile--insight{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.stat-tile--card .cozy-icon,.stat-tile--insight .cozy-icon{position:static;top:auto;left:auto}.stat-tile--card .stat-tile-value,.stat-tile--insight .stat-tile-value{margin-top:4px;font-size:1.55rem}.stat-tile--card .stat-tile-helper,.stat-tile--insight .stat-tile-helper{margin-top:6px}.stat-tile--glance{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 88%, var(--accent-soft));border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;padding:12px}.stat-tile--glance .stat-tile-value{font-size:1.45rem}.stat-tile--glance .stat-tile-label{text-transform:none;letter-spacing:0;font-size:.74rem;font-weight:600}.stat-tile--wrap{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-raised);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px}.stat-tile--wrap .stat-tile-label{letter-spacing:.06em;font-size:.72rem}.stat-tile--wrap .stat-tile-value{font-size:1.35rem}.stat-tile--wrap .stat-tile-helper{font-size:.78rem}.stat-tile--mobile{background:var(--surface-raised);border:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:92px;padding:12px 10px;display:flex}.stat-tile--mobile .stat-tile-copy{gap:2px;display:grid}.stat-tile--mobile .stat-tile-value{font-size:1.15rem}.stat-tile--mobile .stat-tile-label{text-transform:none;letter-spacing:0;font-size:.68rem}.stat-tile--inline{align-items:center;gap:8px;display:inline-flex}.stat-tile--inline .stat-tile-copy{display:inline}.stat-tile--inline .stat-tile-label{font-size:inherit;text-transform:none;letter-spacing:0;color:inherit;display:inline}.stat-tile--streak{background:color-mix(in srgb, #ff9f43 12%, var(--surface-raised))}.stat-tile--audio{background:color-mix(in srgb, #b197fc 14%, var(--surface-raised))}.level-badge .cozy-icon-medallion{width:84px;height:84px}.latest-achievement-card .achievement-badge{flex-shrink:0}.latest-achievement-card__main{align-items:flex-start;gap:14px;min-width:0;display:flex}.stat-tile.insight-card,.stat-tile.goal-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.insights-page .stat-tile.goal-card,.insights-page .stat-tile.insight-card,.achievement-summary .stat-tile.insight-card{flex-direction:unset;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.achievement-pin-summary-card__main{align-items:center;gap:10px;min-width:0;display:flex}.achievement-pin-summary-card__main strong{min-width:0}.home-goal-bar-label{align-items:center;gap:8px;display:inline-flex}.home-pinned-badge{align-items:center;gap:12px;display:flex}.home-target-body{align-items:flex-start}.home-target-icon-wrap{flex-shrink:0}.wrap-stat-card{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;display:grid}.home-mobile-stats-track{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.home-mobile-achievement,.home-achievement-strip{align-items:center;gap:12px;display:flex}.xp-breakdown-row{align-items:center;gap:10px;display:flex}.xp-breakdown-row .cozy-icon--xs .cozy-icon-medallion{width:24px;height:24px}@media (max-width:768px){.stat-tile--card,.stat-tile--insight{gap:10px;padding:12px 14px}.stat-tile--card .cozy-icon--md .cozy-icon-medallion,.stat-tile--insight .cozy-icon--md .cozy-icon-medallion{width:40px;height:40px}.stat-tile--glance{grid-template-columns:32px minmax(0,1fr);padding:10px}.stat-tile--glance .stat-tile-value{font-size:1.25rem}}input,select,textarea{border:1px solid var(--form-field-border);background:var(--form-field-bg);color:var(--form-field-text)}input::placeholder,textarea::placeholder{color:var(--form-field-placeholder);opacity:.72}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--text-soft)}.inline-edit-form,.reading-log-edit-form,.reading-log-form,.add-book-form,.settings-card{gap:var(--space-4);flex-direction:column;display:flex}.inline-edit-form input,.inline-edit-form select,.inline-edit-form textarea,.reading-log-edit-form input,.reading-log-edit-form select,.reading-log-edit-form textarea,.add-book-form input,.add-book-form select,.add-book-form textarea,.reading-log-form input,.reading-log-form select,.reading-log-form textarea,.settings-card input,.settings-card select,.settings-card textarea{border-radius:var(--radius-md);width:100%;min-width:0;padding:11px 13px;font-size:.95rem}.inline-edit-form textarea,.reading-log-edit-form textarea{resize:vertical;min-height:90px}.form-card{padding:var(--space-5);border:1px solid var(--card-border);border-radius:var(--radius-2xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--card-bg);box-shadow:var(--card-shadow)}.featured-form-card{border-color:var(--border-strong);background:radial-gradient(circle at top left, var(--accent-soft), transparent 24%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--card-bg)}.form-card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.form-icon,.achievement-icon{border-radius:var(--radius-circle);background:var(--accent-soft);flex:none;place-items:center;display:grid}.form-icon{width:42px;height:42px;font-size:1.15rem}.form-card-header h3{color:var(--text);margin:0;font-size:1.2rem;line-height:1.15}.form-card-header p{color:var(--text-soft);margin:3px 0 0;font-size:.9rem;line-height:1.35}.form-grid{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.form-grid:last-child{margin-bottom:0}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.three .edition-field{grid-column:1/-1}.add-book-form label,.reading-log-form label,.settings-card label{gap:var(--space-2);min-width:0;color:var(--text);flex-direction:column;font-size:.9rem;font-weight:800;display:flex}.add-book-form input,.add-book-form select{height:46px}.add-book-form textarea{resize:vertical;min-height:115px}.add-book-form small,.reading-log-form small,.settings-card small{color:var(--text-soft);font-size:.76rem;font-weight:500;line-height:1.35}.form-error{color:var(--danger-text);margin-top:.35rem;font-size:.85rem;font-weight:700;display:block}.isbn-fetch-card{padding:var(--space-4) var(--space-5)}.isbn-fetch-row{gap:var(--space-3);grid-template-columns:1fr minmax(220px,auto);align-items:start;display:grid}.isbn-fetch-row .form-error{grid-column:1/-1}.isbn-fetch-row .primary-btn{width:auto;min-width:220px;height:46px}.form-submit-bar{z-index:10;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--surface) 90%, transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:sticky;bottom:12px}.form-submit-bar button{border:1px solid var(--button-border);border-radius:var(--radius-pill);background:var(--button-bg);min-height:42px;color:var(--button-text);padding:10px 18px;font-weight:800}.form-submit-bar button:hover:not(:disabled){background:var(--button-bg-hover);transform:var(--lift-sm)}.form-submit-bar .primary-submit{background:var(--button-primary-bg);width:auto;color:var(--button-primary-text);border-color:#0000}.form-submit-bar .primary-submit:hover:not(:disabled){background:var(--button-primary-bg-hover)}.checkbox-row,.checkbox-label{align-items:center;gap:var(--space-2);flex-direction:row!important;display:flex!important}.checkbox-row input,.checkbox-label input{width:auto;accent-color:var(--accent)}@media (max-width:1100px){.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.isbn-fetch-row{grid-template-columns:1fr}.isbn-fetch-row .primary-btn{width:100%;min-width:0}}@media (max-width:900px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.form-submit-bar{border-radius:var(--radius-xl);flex-direction:column}}@media (max-width:768px){.form-card{padding:var(--space-4);border-radius:var(--radius-lg)}.form-submit-bar{align-items:stretch}.form-submit-bar .primary-submit{width:100%}}.cover-upload-preview{width:96px;height:144px;margin-top:var(--space-3);object-fit:cover;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-soft);box-shadow:var(--shadow-soft);display:block}.cover-drop-zone .cover-upload-preview,.add-book-cover-column .cover-upload-preview,.inline-edit-cover-column .cover-upload-preview{width:96px;height:144px;margin:0}.inline-edit-cover-column,.add-book-cover-column{gap:var(--space-2);align-content:start;display:grid}.inline-edit-field-label,.add-book-field-label{margin-bottom:var(--space-2);color:var(--text);font-size:.9rem;font-weight:800;display:block}.cover-url-field{gap:var(--space-2);color:var(--text-soft);flex-direction:column;margin:0;font-size:.82rem;font-weight:700;display:flex}.cover-url-field input{height:40px;font-size:.88rem}.cover-upload-hint{margin:0}.cover-drop-zone{width:100%;min-height:148px;padding:var(--space-3);border:2px dashed color-mix(in srgb, var(--accent) 35%, var(--border-color));border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--card-sheen-top), transparent), color-mix(in srgb, var(--accent-soft) 35%, var(--surface-soft));cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);place-items:center;display:grid}.cover-drop-zone:hover{border-color:var(--accent);transform:var(--lift-sm)}.cover-drop-zone:focus-visible{border-color:var(--accent);transform:var(--lift-sm)}.cover-drop-zone.is-dragging{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface-soft))}.cover-drop-zone.has-preview{min-height:auto;padding:var(--space-2);border-style:solid}.cover-drop-placeholder{max-width:16ch;color:var(--text-soft);text-align:center;justify-items:center;gap:6px;font-size:.82rem;font-weight:700;line-height:1.35;display:grid}.cover-drop-placeholder span:first-child{font-size:1.5rem}.success-text{color:var(--success);font-weight:800}.save-notice-banner{z-index:40;border:1px solid color-mix(in srgb, var(--success) 35%, var(--border-color));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--success) 12%, var(--surface));color:var(--text);text-align:center;box-shadow:var(--shadow-soft);margin:0 0 14px;padding:12px 16px;font-weight:700;position:sticky;top:0}.shelf-picker{gap:12px;display:grid}.shelf-picker-label,.shelf-picker-field-label,.shelf-picker-add-label{color:var(--text-soft);margin-bottom:6px;font-size:.84rem;font-weight:700;display:block}.shelf-picker-chips{flex-wrap:wrap;gap:8px;display:flex}.shelf-picker-chip{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text);cursor:pointer;padding:8px 12px;font-size:.84rem;font-weight:600}.shelf-picker-chip.is-selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.shelf-picker-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.shelf-picker-selected{color:var(--text-soft);margin:0;font-size:.82rem}.edition-field{gap:8px;display:grid}.edition-field-label{color:var(--text);font-size:.9rem;font-weight:800;display:block}.edition-field-chips{flex-wrap:wrap;gap:8px;display:flex}.edition-field-chip{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text);font-family:var(--font-ui);cursor:pointer;padding:7px 12px;font-size:.82rem;font-weight:600}.edition-field-chip.is-selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}@media (max-width:768px){.isbn-fetch-row{grid-template-columns:1fr}.isbn-fetch-row button{width:100%}}.book-cover-frame{aspect-ratio:2/3;border-radius:var(--radius-md);background:linear-gradient(165deg, var(--brand-cream) 0%, var(--surface-soft) 45%, color-mix(in srgb, var(--brand-green) 12%, var(--surface-muted)) 100%);width:100%;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 12px 28px color-mix(in srgb, var(--text) 12%, transparent);position:relative;overflow:hidden}.book-cover-frame img{object-fit:cover;width:100%;height:100%;display:block}.book-cover-fallback{text-align:center;background:radial-gradient(circle at 50% 30%, var(--accent-soft), transparent 55%), linear-gradient(180deg, color-mix(in srgb, var(--brand-cream) 90%, white), var(--surface-soft));flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:14px;display:flex}.book-cover-fallback-art{border-radius:var(--radius-circle);background:color-mix(in srgb, var(--surface-raised) 85%, transparent);width:72px;height:72px;box-shadow:var(--shadow-soft);place-items:center;display:grid;position:relative}.book-cover-fallback-sunflower{filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--accent) 50%, transparent));font-size:2rem;line-height:1}.book-cover-fallback-book{opacity:.4;font-size:.9rem;position:absolute;bottom:4px;right:6px}.book-cover-fallback-title{font-family:var(--font-display);color:var(--text);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.72rem;font-style:italic;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}[data-theme=forest-dark] .book-cover-fallback,html[data-theme-mode=dark] .book-cover-fallback{background:radial-gradient(circle at 50% 25%, var(--accent-soft), transparent 50%), linear-gradient(180deg, var(--surface-muted), var(--surface-soft))}[data-theme=forest-dark] .book-cover-fallback-art,html[data-theme-mode=dark] .book-cover-fallback-art{background:#0003}.card,.form-card,.goal-card,.insight-card,.level-card,.achievement-card,.shelf-section,.chart-card,.wrap-section,.wrap-stat-card,.wrap-highlight,.wrap-chart-card{background:var(--card-gradient), var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--card-shadow);color:var(--card-text)}.card{padding:var(--card-padding);border-radius:var(--radius-card);border-width:var(--card-border-width);border-style:var(--card-border-style)}.page-header{margin-bottom:22px}.page-header h2,.settings-card h3,.xp-breakdown h3,.achievement-section-title,.monthly-insights-section h3,.reading-log-form h3,.reading-log-layout h3,.heatmap-card h3,.recent-activity-section h3,.shelf-header h3,.book-content h3,.form-card-header h3,.book-modal h2{color:var(--text)}.card h3,.card h2,.card h4,.form-card h3,.form-card-header h3,.goal-card h3,.reading-log-form h3,.reading-log-layout h3,.heatmap-card h3,.recent-activity-section h3,.shelf-header h3,.book-content h3,.chart-card h4,.insight-card h4,.wrap-section h3{color:inherit}.page-header h2{margin:0 0 8px;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.3;overflow:visible}.page-header p,.empty-text,.goal-card p,.book-stats,.notes-preview,.modal-stat,.book-read-dates p{color:var(--text-soft)}.empty-state{text-align:center;border:1px dashed var(--border-color);border-radius:var(--radius-xl);background:var(--surface);color:var(--text-soft);padding:40px}.empty-state h3{color:var(--text);margin-top:0}.book-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.book-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface);height:100%;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;position:relative;overflow:hidden}.book-card--clickable{cursor:pointer;text-align:left}.book-card--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.book-card:hover{transform:var(--lift-md)}.book-card-cover{aspect-ratio:2/3;background:var(--surface-soft);flex-shrink:0;width:100%;position:relative;overflow:hidden}.book-linked-badge{z-index:4;background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:1.55rem;height:1.55rem;color:var(--accent);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;line-height:1;display:inline-flex;position:absolute;bottom:6px;right:6px;box-shadow:0 2px 8px #0000002e}.book-card-cover-button{cursor:pointer;text-align:inherit;color:inherit;border:0;margin:0;padding:0;display:block}.book-card-cover-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.book-card-cover-frame{width:100%;height:100%;aspect-ratio:unset;max-height:none;box-shadow:none;border-radius:0}.book-card-cover-frame img,.book-card-cover .book-cover-fallback{width:100%;height:100%;min-height:100%}.book-card-cover-frame img{object-fit:cover;object-position:center center}.book-cover{object-fit:cover;object-position:center center;background:0 0;width:100%;height:100%;padding:0;display:block}.book-content{background:var(--surface);flex-direction:column;flex:1;padding:10px 12px 12px;display:flex}.book-content h3{margin:0 0 2px;font-size:.98rem;line-height:1.22}.book-card-author{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.3}.book-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.book-content>*+*{margin-top:8px}.book-card-cover-rating{z-index:3;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--surface) 72%, transparent) 55%, color-mix(in srgb, var(--surface) 92%, transparent) 100%);letter-spacing:-.04em;pointer-events:none;justify-content:center;align-items:center;gap:1px;padding:18px 8px 7px;font-size:.82rem;line-height:1;display:flex;position:absolute;bottom:0;left:0;right:0}.sunflower-rating{flex-shrink:0;font-size:1rem}.series-line{color:var(--text-soft);margin:0 0 8px;font-size:.82rem}.book-meta{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.book-meta span{border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--text);padding:4px 8px;font-size:.72rem}.card-actions{margin-top:10px}.read-count-bar{border-bottom:1px solid var(--border-color);background:var(--accent-soft);color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;font-weight:700;display:flex}.read-count-bar span{color:var(--text)}.read-count-bar button{border-radius:var(--radius-pill);background:var(--button-primary-bg);color:var(--button-primary-text);cursor:pointer;border:none;padding:6px 12px;font-weight:700}.reading-progress{margin:10px 0}.progress-top{color:var(--text-soft);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.8rem;display:flex}.progress-top strong{color:var(--text)}.progress-bar,.bar-track{border-radius:var(--radius-pill);background:var(--progress-track);height:10px;overflow:hidden}.progress-fill,.bar-fill{border-radius:var(--radius-pill);background:var(--progress-fill);height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 35%, transparent)}.tag-sections{margin-top:14px}.tag-heading{color:var(--text);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem;font-weight:700}.book-stats{flex-wrap:wrap;gap:14px;margin-top:14px;font-size:.82rem;display:flex}.quote-preview{border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-soft);margin:10px 0;padding:10px;font-size:.85rem;font-style:italic}.notes-preview{font-size:.82rem;line-height:1.5}.read-history{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--accent-soft);margin:10px 0;padding:10px;font-size:.85rem}.read-history strong{color:var(--text);margin-bottom:8px;display:block}.expanded-book-details{border-top:1px solid var(--border-color);margin-top:10px;padding-top:10px}.book-modal-backdrop{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.book-modal{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 30%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);width:min(1180px,100%);max-height:90vh;box-shadow:var(--shadow-strong);padding:28px;position:relative;overflow-y:auto}.book-modal-toolbar{z-index:6;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:calc(100% - 32px);display:flex;position:absolute;top:16px;right:16px}.book-modal-toolbar .modal-close-btn{position:static}.book-modal-action{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;padding:6px 12px;font-size:.82rem;font-weight:700}.book-modal-action:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface))}.book-modal-edit-form{padding:0}.book-modal-edit-form .book-content{background:0 0;padding:0}.modal-close-btn{border:1px solid var(--border-color);border-radius:var(--radius-circle);background:var(--chip-bg);width:42px;height:42px;color:var(--chip-text);cursor:pointer;place-items:center;font-size:1.6rem;font-weight:900;line-height:1;display:grid}.modal-close-btn:hover{background:var(--button-primary-bg);color:var(--button-primary-text);transform:var(--lift-sm)}.book-modal-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:38px;display:grid}.book-modal-cover-panel{gap:var(--space-4);display:grid;position:sticky;top:0}.book-modal-cover-frame{border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 35%), var(--surface-soft);box-shadow:var(--shadow-strong);position:relative;overflow:hidden}.book-modal-cover-frame:after{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#0000 34%,#0000002e);position:absolute;top:0;bottom:0;left:0;right:0}.book-modal-cover{object-fit:cover;width:100%;max-height:520px;display:block}.book-modal-main{min-width:0}.book-modal-header{padding-right:min(320px,42%)}.book-modal h2{max-width:780px;color:var(--text);letter-spacing:-.05em;margin:0 0 8px;font-size:clamp(2rem,4vw,3.3rem);line-height:1}.modal-author{color:var(--text-soft);margin:0 0 16px;font-size:1.15rem;font-style:italic;font-weight:700}.modal-rating{justify-self:center;margin:0;font-size:1.45rem}.modal-hero-stats{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.modal-hero-stats div{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft)}.modal-hero-stats span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.modal-hero-stats strong{margin-top:var(--space-1);color:var(--text);font-size:1.15rem;line-height:1.1;display:block}.modal-meta-stack{gap:12px;margin:20px 0 24px;display:grid}.modal-meta-item{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);align-items:center;gap:12px;padding:12px 14px;display:flex}.modal-meta-item p{color:var(--text-soft);margin:0;font-weight:700}.modal-status-chip{border:1px solid;font-weight:900}.modal-status-reading{color:var(--success)!important}.modal-status-read{color:var(--accent)!important}.modal-status-tbr,.modal-status-to-be-read{color:var(--text-soft)!important}.modal-status-wishlist{color:var(--accent-muted)!important}.modal-status-dnf{color:var(--danger)!important}.modal-status-out-of-library{opacity:.78;color:var(--text-soft)!important}.book-detail-tabs{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:12px;margin:28px 0 22px;padding-bottom:16px;display:flex}.book-detail-tabs button{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface-soft);min-width:120px;color:var(--text-soft);cursor:pointer;padding:12px 18px;font-weight:900}.book-detail-tabs button:hover{border-color:var(--border-strong);color:var(--text);transform:var(--lift-sm)}.book-detail-tabs button.active{border-color:var(--accent);background:var(--button-primary-bg);color:var(--button-primary-text)}.book-tab-panel{animation:.18s both modalTabIn}@keyframes modalTabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-overview-layout,.modal-notes-layout{gap:18px;display:grid}.modal-section-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft);padding:18px}.modal-section-card .read-history,.modal-section-card .quote-preview,.modal-section-card .notes-preview,.modal-progress-card .reading-progress{margin:0}.book-read-dates{border-top:none;margin-top:0;padding-top:18px}.book-read-dates p{margin:0}.book-read-dates p+p{margin-top:8px}.modal-quote-card .quote-preview{padding:16px;font-size:1rem;line-height:1.6}.modal-notes-card .notes-preview{color:var(--text-soft);font-size:.98rem;line-height:1.7}.modal-session-list{gap:14px;display:grid}.modal-session-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft);padding:16px}.modal-session-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.modal-session-top strong{color:var(--text)}.modal-session-card p{margin:var(--space-2) 0;color:var(--text-soft)}.modal-session-meta{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.modal-session-meta span{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);padding:4px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.modal-session-note{padding-top:var(--space-3);border-top:1px solid var(--border-color);margin-top:var(--space-3)!important}.book-detail-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.book-detail-stat-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft);padding:18px}.book-detail-stat-card span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:900;display:block}.book-detail-stat-card strong{color:var(--text);font-size:1.3rem;line-height:1.1}.cover-upload-preview{object-fit:cover;border:1px solid var(--border-color);border-radius:var(--radius-md);width:90px;max-height:135px;box-shadow:var(--shadow-soft);margin-top:.75rem}.meta-search-chip{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.meta-search-chip:hover{text-decoration:underline}.book-card-tags,.book-meta-tags,.book-card-badges{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;align-items:center;display:flex}.book-card-shelves,.book-shelves{margin-top:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--border-color)}.book-card-shelves h4,.book-shelves h4{margin:0 0 var(--space-2);color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.book-card-shelves .chip,.book-shelves .chip{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 var(--space-1) var(--space-1) 0;display:inline-flex}.chip,.badge,.tag{justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);white-space:nowrap;padding:4px 9px;font-size:.78rem;line-height:1.2;display:inline-flex}.book-status-stamp{z-index:5;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);min-width:92px;color:var(--accent);letter-spacing:.08em;text-align:center;text-transform:uppercase;pointer-events:none;border:2px solid;justify-content:center;align-items:center;padding:6px 10px;font-size:.68rem;font-weight:900;display:inline-flex;position:absolute;top:12px;right:10px;transform:rotate(10deg);box-shadow:0 4px 10px #00000047}.status-to-be-read{color:var(--text-soft)}.status-reading{color:var(--success)}.status-read{color:var(--accent)}.status-wishlist{color:var(--accent-muted)}.status-dnf{color:var(--danger)}.status-out-of-library{color:var(--text-soft);opacity:.8}.book-edition-stamp{z-index:5;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);max-width:calc(52% - 8px);color:var(--accent-hover);letter-spacing:.07em;text-align:center;text-transform:uppercase;pointer-events:none;border:2px solid;justify-content:center;align-items:center;padding:5px 8px;font-size:.64rem;font-weight:900;line-height:1.15;display:inline-flex;position:absolute;top:14px;left:10px;transform:rotate(-10deg);box-shadow:0 4px 10px #00000047}.edition-stamp-fairyloot{color:color-mix(in srgb, var(--accent) 40%, #d24b86)}.edition-stamp-signed{color:var(--accent)}.edition-stamp-waterstones{color:color-mix(in srgb, var(--accent) 25%, #c4552a)}.edition-stamp-illumicrate{color:color-mix(in srgb, var(--accent) 35%, #6b4fd4)}.edition-stamp-bookish-box,.edition-stamp-bookish{color:color-mix(in srgb, var(--accent) 30%, #c47a1a)}.edition-stamp-tiktok{color:color-mix(in srgb, var(--accent) 20%, #1f8a8a)}.edition-stamp-special,.edition-stamp-special-edition{color:var(--accent-muted)}.book-genres{gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color);flex-wrap:wrap;display:flex}.genre-chip{border:1px solid var(--accent);border-radius:var(--radius-pill);width:-moz-fit-content;width:fit-content;color:var(--accent);cursor:pointer;background:0 0;align-items:center;padding:4px 9px;font-size:.78rem;font-weight:800;line-height:1.2;display:inline-flex}.genre-chip:hover{background:var(--accent-soft);transform:var(--lift-sm);text-decoration:none}.book-format-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.book-progress,.book-genres,.book-format-row,.tag-sections{min-height:32px}.format-chip,.edition-chip{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);align-items:center;padding:4px 9px;font-size:.76rem;font-weight:800;line-height:1.2;display:inline-flex}.book-card-icon-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;display:grid}.book-card-icon-actions button{border-radius:var(--radius-md);color:var(--text-soft);cursor:pointer;background:0 0;border:none;justify-items:center;gap:3px;padding:8px 4px;font-size:.74rem;font-weight:800;display:grid}.book-card-icon-actions button span:first-child{color:var(--accent-muted);font-size:1.05rem;font-weight:900;line-height:1}.book-card-icon-actions button:hover{background:var(--chip-bg);color:var(--text);transform:var(--lift-sm)}.book-card-icon-actions button:hover span:first-child{color:var(--accent)}.card,.goal-card,.insight-card,.chart-card,.shelf-section,.settings-card{padding:var(--card-padding-lg)}.goal-card,.insight-card,.chart-card{gap:12px}.goal-card span,.insight-card span{letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.goal-card strong,.insight-card strong{line-height:1.1}@media (max-width:900px){.book-modal{padding:22px}.book-modal-toolbar{max-width:none;margin:0 0 14px;position:static}.book-modal-header{padding-right:0}.book-modal-layout{grid-template-columns:1fr}.book-modal-cover-panel{position:static}.book-modal-cover{max-height:440px}.book-modal-cover-frame{max-width:300px;margin:0 auto}.book-modal h2{padding-right:0}.modal-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.card,.goal-card,.insight-card,.chart-card,.level-card,.achievement-card,.shelf-section,.form-card{border-radius:var(--radius-lg);padding:16px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.book-content{padding:14px}}@media (max-width:520px){.book-modal-backdrop{padding:12px}.book-modal{border-radius:var(--radius-2xl);padding:18px}.book-detail-tabs button{flex:45%;min-width:0}.book-modal h2{font-size:1.7rem}.modal-hero-stats{grid-template-columns:1fr}}@media (max-width:480px){.book-grid{grid-template-columns:1fr 1fr}}.barcode-scanner-backdrop{z-index:200;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.barcode-scanner-modal{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:var(--surface);width:min(520px,100%);max-height:calc(100dvh - 24px);box-shadow:var(--shadow-strong);flex-direction:column;padding:20px;display:flex;position:relative}.barcode-scanner-body{flex:auto;min-height:0;overflow-y:auto}.barcode-scanner-modal h3{color:var(--text);margin:0 44px 8px 0}.barcode-scanner-modal p{color:var(--text-soft)}.barcode-scanner-frame{border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:#000;margin-top:14px;position:relative;overflow:hidden}.barcode-scanner-box{min-height:240px}.barcode-scanner-box video{object-fit:cover;width:100%!important;height:240px!important}.barcode-scan-guide{pointer-events:none;border:2px solid var(--accent);border-radius:var(--radius-lg);position:absolute;top:18%;bottom:18%;left:18%;right:18%;box-shadow:0 0 0 999px #00000061}.barcode-scan-guide span{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);position:absolute;top:50%;left:8px;right:8px}.barcode-scanner-help{color:var(--text-soft);text-align:center;margin:12px 0 0;font-size:.88rem;line-height:1.45}.barcode-scanner-actions{border-top:1px solid var(--border-color);flex-shrink:0;margin-top:14px;padding-top:14px}.barcode-scanner-focus-btn{width:100%;min-height:44px;display:block}.barcode-scanner-focus-note{color:var(--text-soft);text-align:center;margin:8px 0 0;font-size:.8rem;line-height:1.4}@media (max-width:768px){.barcode-scanner-backdrop{align-items:flex-end;padding:0}.barcode-scanner-modal{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-height:100dvh}.barcode-scanner-box{min-height:220px}.barcode-scanner-box video{height:220px!important}}.book-metadata-update-backdrop{z-index:210;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.book-metadata-update-modal{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:var(--surface);width:min(640px,100%);max-height:calc(100dvh - 24px);box-shadow:var(--shadow-strong);flex-direction:column;padding:22px;display:flex;position:relative;overflow:auto}.book-metadata-update-modal .book-lookup-book-list{margin-top:var(--space-3);max-height:240px}.book-metadata-update-modal h3{margin:0 44px 8px 0}.book-metadata-update-intro{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.45}.book-metadata-update-search{gap:var(--space-3);margin-top:var(--space-4);display:grid}.book-metadata-update-search label{gap:6px;display:grid}.book-metadata-update-search-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.book-metadata-update-search-actions .primary-btn,.book-metadata-update-search-actions .secondary-btn{flex:140px;min-height:42px}.book-metadata-update-message{margin:var(--space-3) 0 0;color:var(--text);font-size:.9rem}.book-metadata-update-fields{gap:var(--space-2);margin-top:var(--space-4);min-height:0;display:grid;overflow-y:auto}.book-metadata-update-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.book-metadata-update-toolbar p{color:var(--text);margin:0;font-weight:800}.book-metadata-update-toolbar-actions{gap:var(--space-2);display:flex}.book-metadata-update-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.book-metadata-update-item{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-soft)}.book-metadata-update-checkbox{align-items:center;gap:10px;font-weight:800;display:flex}.book-metadata-update-checkbox input{width:18px;height:18px}.book-metadata-update-values{gap:var(--space-2);margin-top:var(--space-2);display:grid}.book-metadata-update-values p{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.4}.book-metadata-update-values p span{color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;font-weight:800;display:block}.book-metadata-update-covers{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.book-metadata-update-covers figure{margin:0}.book-metadata-update-covers figcaption{color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800}.book-metadata-update-covers img{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;max-width:120px;display:block}.book-metadata-update-covers span{aspect-ratio:2/3;border:1px dashed var(--border-color);border-radius:var(--radius-md);width:100%;max-width:120px;color:var(--text-soft);place-items:center;font-size:.8rem;display:grid}.book-metadata-update-error{margin:var(--space-3) 0 0;color:var(--danger,#b42318);font-size:.88rem}.book-metadata-update-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color);flex-wrap:wrap;display:flex}.book-metadata-update-actions .primary-btn,.book-metadata-update-actions .secondary-btn{min-height:42px}@media (max-width:768px){.book-metadata-update-backdrop{align-items:flex-end;padding:0}.book-metadata-update-modal{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-height:100dvh}.book-metadata-update-actions{flex-direction:column}.book-metadata-update-actions .primary-btn,.book-metadata-update-actions .secondary-btn{width:100%}}.shelf-link-chip{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);align-items:center;padding:4px 8px;font-size:.72rem;text-decoration:none;display:inline-flex}.shelf-link-chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text);transform:var(--lift-sm)}.reads-chip{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--accent-soft);width:-moz-fit-content;width:fit-content;color:var(--text);align-items:center;padding:4px 9px;font-size:.76rem;font-weight:800;line-height:1.2;display:inline-flex}.editing-card{min-height:100%}.book-details-inline{display:block}.book-details-inline .book-modal{width:100%;max-height:none}.onboarding-guide{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft);margin-top:20px;padding:22px 24px}.onboarding-guide-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.onboarding-guide-head h2{margin:4px 0 0}.onboarding-guide-sub{color:var(--text-soft);margin:8px 0 0}.onboarding-dismiss{flex-shrink:0}.onboarding-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.onboarding-step{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--surface-alt,var(--surface));align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.onboarding-step.is-done{opacity:.82}.onboarding-step-status{background:var(--accent-soft,#ffc1072e);width:28px;height:28px;color:var(--text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.onboarding-step.is-done .onboarding-step-status{background:var(--success-soft,#4caf502e)}.onboarding-step-body{min-width:0}.onboarding-step-body p{color:var(--text-soft);margin:4px 0 0;font-size:.92rem}.onboarding-banner{border:1px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.onboarding-banner-copy{align-items:flex-start;gap:12px;display:flex}.onboarding-banner-mark{font-size:1.4rem;line-height:1}.onboarding-banner-copy p{color:var(--text-soft);margin:4px 0 0;font-size:.92rem}.onboarding-banner-action{flex-shrink:0}.streak-reminder-banner{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border-color));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface));box-shadow:var(--shadow-soft);gap:14px;margin-bottom:18px;padding:16px 18px;display:grid}.streak-reminder-banner-copy{align-items:flex-start;gap:12px;display:flex}.streak-reminder-banner-mark{font-size:1.4rem;line-height:1}.streak-reminder-banner-copy p{color:var(--text-soft);margin:4px 0 0;font-size:.92rem}.streak-reminder-banner-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.streak-reminder-banner-action{flex-shrink:0}.streak-reminder-banner-dismiss{margin-left:auto}@media (max-width:900px){.streak-reminder-banner-actions{flex-direction:column;align-items:stretch}.streak-reminder-banner-dismiss{align-self:flex-start;margin-left:0}}.onboarding-empty-library{text-align:center}.onboarding-empty-library .onboarding-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.onboarding-empty-tip{color:var(--text-soft);margin-top:14px;font-size:.92rem}.support-email-link{color:var(--accent,var(--text));text-underline-offset:2px;text-decoration:underline}.settings-shortcuts-list{color:var(--text-soft);gap:10px;margin:0;padding-left:1.2rem;display:grid}.settings-shortcuts-list kbd{border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--surface-muted);min-width:1.4rem;color:var(--text);font-family:var(--font-ui);text-align:center;padding:2px 6px;font-size:.82rem;line-height:1.3;display:inline-block}.settings-support-card{gap:8px;display:grid}.settings-support-card p{color:var(--text-soft);margin:0}.settings-goals-nudge{border-radius:var(--radius-lg);border:1px dashed var(--border-color);color:var(--text-soft);background:var(--surface-alt,var(--surface));margin:0 0 16px;padding:12px 14px}.settings-reminder-note{color:var(--text-soft);margin:12px 0 0;font-size:.9rem;line-height:1.5}.settings-beta-error{border-radius:var(--radius-lg);color:#8b2e2e;background:#b43c3c14;border:1px solid #b43c3c59;margin:0 0 14px;padding:12px 14px;font-size:.92rem}.app-footer-support{margin:6px 0 0;font-size:.88rem}.toast-region{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1200;pointer-events:none;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed}.toast{border-radius:var(--radius-lg,16px);border:1px solid var(--border-color);background:var(--surface-raised);box-shadow:var(--shadow-strong);color:var(--text);pointer-events:auto;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.92rem;line-height:1.45;display:flex}.toast-message{white-space:pre-line;flex:1}.toast-undo{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin:0;padding:0;font-weight:600;text-decoration:underline}.toast-undo:hover{color:color-mix(in srgb, var(--accent) 80%, var(--text))}.toast-undo:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.toast--success{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface-raised))}.toast--error{border-color:color-mix(in srgb, #c0392b 45%, var(--border-color));background:color-mix(in srgb, #c0392b 12%, var(--surface-raised))}.toast--info{border-color:var(--border-color)}.confirm-backdrop{z-index:1300;background:color-mix(in srgb, var(--backdrop,#0f1419) 55%, transparent);place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-dialog{border-radius:var(--radius-xl,20px);border:1px solid var(--border-color);background:var(--surface-raised);width:min(420px,100%);box-shadow:var(--shadow-strong);padding:20px}.confirm-dialog h3{margin:0 0 8px}.confirm-dialog p{color:var(--text-soft);white-space:pre-line;margin:0 0 18px;line-height:1.5}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:900px){.toast-region{left:max(16px, env(safe-area-inset-left,0px));right:max(16px, env(safe-area-inset-right,0px));width:auto;bottom:calc(var(--mobile-dock-height,62px) + env(safe-area-inset-bottom,0px) + 16px)}}.app-layout{--sidebar-width:280px;--stage-max:1280px;--dock-height:72px;z-index:1;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid;position:relative}.app-brand-banner{padding:4px 2px 0;text-decoration:none;display:block}.app-logo-image{width:100%;max-width:100%;height:auto;filter:var(--shell-logo-glow);transition:transform var(--transition-med), filter var(--transition-med);margin:0 auto;display:block}.app-brand-banner:hover .app-logo-image{filter:var(--shell-logo-glow) brightness(1.05);transform:scale(1.02)}.app-sanctuary-nook{border:1px solid var(--shell-nook-border);border-radius:var(--radius-xl);background:var(--shell-nook-bg);box-shadow:var(--shadow-soft);padding:14px 14px 12px}.app-sanctuary-sunflower{margin-bottom:6px;font-size:1.5rem;line-height:1;display:block}.app-sanctuary-name{font-family:var(--font-display);color:var(--text);margin:0 0 4px;font-size:1.05rem;font-style:italic;font-weight:600;line-height:1.2}.app-sanctuary-tagline{font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.78rem;line-height:1.45}.app-sanctuary-nook:after{content:var(--sanctuary-mark);text-align:center;letter-spacing:.35em;color:color-mix(in srgb, var(--accent) 55%, transparent);margin-top:10px;font-size:.65rem;display:block}.app-sidebar{z-index:40;border-right:1px solid var(--shell-sidebar-border);background:var(--shell-sidebar-accent), var(--shell-sidebar-bg);height:100vh;box-shadow:4px 0 32px color-mix(in srgb, var(--text) 6%, transparent);flex-direction:column;gap:20px;padding:22px 16px 20px;display:flex;position:sticky;top:0}.sidebar-nav{flex:1;gap:24px;padding-right:4px;display:grid;overflow-y:auto}.sidebar-nav-group{gap:4px;display:grid}.sidebar-nav-label{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);padding:0 12px 6px;font-size:.68rem;font-weight:700}.sidebar-nav-link{border-radius:var(--radius-lg);color:var(--text-soft);font-family:var(--font-ui);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;align-items:center;gap:12px;padding:11px 14px;font-size:.92rem;font-weight:600;text-decoration:none;display:flex}.sidebar-nav-link svg{opacity:.72;flex-shrink:0}.sidebar-nav-link:hover{color:var(--text);background:color-mix(in srgb, var(--surface-soft) 80%, transparent);transform:translate(2px)}.sidebar-nav-link.active,.sidebar-nav-link[aria-current=page]{color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border-color));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 90%, transparent), transparent), var(--surface-raised);box-shadow:var(--shadow-soft)}.sidebar-nav-link.active svg,.sidebar-nav-link[aria-current=page] svg{opacity:1;color:var(--accent-strong)}.app-sidebar-foot{border-top:1px solid var(--border-color);gap:10px;padding-top:16px;display:grid}.sync-status{border:1px solid var(--border-color);border-radius:var(--radius-pill);min-height:28px;font-family:var(--font-ui);letter-spacing:.02em;white-space:nowrap;justify-content:center;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.sync-status--sidebar{justify-self:start}.sync-status--saved{color:var(--text-soft);background:color-mix(in srgb, var(--surface-raised) 90%, var(--accent-soft))}.sync-status--syncing{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 35%, var(--border-color));background:var(--accent-soft)}.sync-status--offline{color:var(--text);border-color:color-mix(in srgb, var(--warning,#c98a2e) 45%, var(--border-color));background:color-mix(in srgb, var(--warning,#f6e7c8) 35%, var(--surface-raised))}.route-loading{place-items:center;min-height:180px;display:grid}.app-user-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-raised);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:grid}.app-user-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));box-shadow:var(--shadow-soft)}.app-user-avatar{border-radius:var(--radius-circle);background:var(--accent-soft);width:44px;height:44px;color:var(--text);place-items:center;font-weight:700;display:grid;overflow:hidden}.app-user-avatar img{object-fit:cover;width:100%;height:100%}.app-user-meta{gap:2px;min-width:0;display:grid}.app-user-meta strong{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:.9rem;overflow:hidden}.app-user-meta span{font-family:var(--font-ui);color:var(--text-soft);font-size:.75rem}.app-signout{border-radius:var(--radius-lg);color:var(--text-soft);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:1px solid #0000;padding:10px 14px;font-size:.85rem;font-weight:600}.app-signout:hover{color:var(--danger);background:color-mix(in srgb, var(--danger-soft) 50%, transparent)}.app-stage{flex-direction:column;min-width:0;min-height:100vh;display:flex}.page-content{width:min(var(--stage-max), 100%);flex:1;margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,3vw,36px) 48px}.app-footer-cozy{width:min(var(--stage-max), 100%);text-align:center;margin:0 auto;padding:8px clamp(16px,3vw,36px) 28px}.app-footer-sunflower{filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--accent) 40%, transparent));margin-bottom:6px;font-size:1.1rem;line-height:1;display:block}.app-footer-cozy p{margin:0;max-width:36ch;font-family:var(--font-ui);color:var(--text-soft);margin-inline-start:auto;margin-inline-end:auto;font-size:.82rem;font-style:italic;line-height:1.5}.app-mobile-bar,.app-dock,.app-drawer-backdrop{display:none}.app-drawer-backdrop{z-index:200;background:var(--overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:end center;padding:12px;position:fixed;top:0;bottom:0;left:0;right:0}.app-drawer{border:1px solid var(--border-strong);border-radius:var(--radius-3xl) var(--radius-3xl) var(--radius-2xl) var(--radius-2xl);background:radial-gradient(ellipse at top, var(--accent-soft), transparent 55%), var(--surface-raised);width:min(440px,100%);max-height:min(88vh,720px);box-shadow:var(--shadow-strong);gap:8px;padding:20px 18px 24px;animation:.28s cubic-bezier(.22,1,.36,1) both drawerUp;display:grid;overflow-y:auto}@keyframes drawerUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.app-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.app-drawer-head h2{margin:0 0 4px;font-size:1.35rem}.app-drawer-head p{color:var(--text-soft);font-family:var(--font-ui);margin:0;font-size:.88rem}.app-drawer-close{border:1px solid var(--border-color);border-radius:var(--radius-circle);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;place-items:center;font-size:1.4rem;line-height:1;display:grid}.drawer-nav{gap:4px;display:grid}.drawer-nav-link{border-radius:var(--radius-lg);color:var(--text);font-family:var(--font-ui);align-items:center;gap:12px;padding:14px 16px;font-weight:600;text-decoration:none;display:flex}.drawer-nav-link:hover{background:var(--surface-soft)}.drawer-nav-link.active{background:var(--accent-soft)}.app-signout--drawer{text-align:center;border:1px solid var(--border-color);width:100%;margin-top:12px}@media (max-width:900px){.app-layout{grid-template-columns:1fr}.app-sidebar{display:none}.app-mobile-bar{display:flex}.app-mobile-bar-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.sync-status--mobile{text-overflow:ellipsis;max-width:9.5rem;overflow:hidden}.app-mobile-avatar{border:2px solid color-mix(in srgb, var(--accent) 55%, transparent);border-radius:var(--radius-circle);background:var(--surface);color:var(--text);place-items:center;font-weight:700;text-decoration:none;display:grid;overflow:hidden}.app-mobile-avatar img{object-fit:cover;width:100%;height:100%}.app-dock{display:grid;position:fixed}.app-stage{padding-bottom:0}.page-content{padding-top:0}.app-dock{z-index:80;height:calc(var(--dock-height) + env(safe-area-inset-bottom,0px));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border:none;border-top:1px solid color-mix(in srgb, var(--border-strong) 60%, transparent);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:none;border-radius:0;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;bottom:0;left:0;right:0}.dock-link{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:14px;align-content:center;place-items:center;gap:3px;padding:4px;font-size:.62rem;font-weight:700;text-decoration:none;display:grid}.dock-link svg{width:22px;height:22px}.dock-link.active,.dock-link[aria-current=page]{color:var(--text);background:var(--accent-soft)}.dock-link--accent{color:var(--text-inverse);background:linear-gradient(165deg, color-mix(in srgb, var(--accent-hover) 90%, white), var(--accent));box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 45%, transparent)}.dock-link--accent.active{color:var(--text-inverse)}.app-drawer-backdrop{display:grid}}.desktop-brand-header,.desktop-nav-wrap,.brand-header,.mobile-app-header,.mobile-bottom-nav,.mobile-menu-backdrop,.footer,.app-footer-minimal{display:none!important}.app-shell{width:min(1400px,100% - 24px);margin:0 auto}.page-content{min-height:500px}.footer{text-align:center;color:var(--text-soft);padding:40px 0}.brand-header{text-align:center;border:1px solid var(--border-color);border-radius:var(--radius-shell);background:radial-gradient(circle at top left, var(--accent-soft), transparent 24%), radial-gradient(circle at bottom right, var(--accent-muted), transparent 24%), var(--surface);max-width:1080px;box-shadow:var(--shadow-soft);margin:24px auto 28px;padding:20px 20px 18px;position:relative;overflow:hidden}.brand-logo{width:min(680px,88%);height:auto;margin:0 auto 10px;display:block}.brand-header p,.brand-tagline{color:var(--text-soft);margin:0;font-size:1.05rem}.nav{justify-content:center;gap:var(--space-2);width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto var(--space-6);padding:var(--space-2);border:1px solid var(--nav-border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--nav-bg) 86%, transparent);box-shadow:var(--nav-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;display:flex}.header-profile-actions{z-index:5;position:absolute;top:18px;right:18px}.profile-actions{align-items:center;gap:8px;display:flex}.profile-avatar-link{border-radius:var(--radius-pill);border:2px solid var(--accent);background:var(--surface);width:42px;height:42px;color:var(--text);box-shadow:var(--shadow-soft);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.profile-avatar-link img{object-fit:cover;width:100%;height:100%}.section-header,.book-top,.shelf-header,.achievement-browser-header{justify-content:space-between;gap:12px;display:flex}.section-header{align-items:center;margin-bottom:18px}.section-header span{color:var(--text-soft);font-size:.85rem;font-weight:700}.page-content{max-width:var(--stage-max);margin:0 auto;padding-bottom:48px}.home-page section,.insights-page section,.achievements-page section,.settings-page section,.library-page section,.reading-log-page section,.shelves-page section{margin-bottom:32px}.error-page{min-height:100vh;padding:var(--space-6);background:var(--page-bg);color:var(--text);place-items:center;display:grid}.error-card{width:min(100%,34rem);padding:var(--card-padding-lg);text-align:center;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-strong)}.error-card h1{color:var(--text);margin:0}.error-card p{margin:var(--space-3) 0 0;color:var(--text-soft)}.error-card button{margin-top:var(--space-5)}.mobile-app-header,.mobile-bottom-nav,.mobile-menu-backdrop{display:none}@supports (padding:max(0px)){.mobile-bottom-nav{bottom:max(10px, env(safe-area-inset-bottom))}.app-shell{padding-bottom:max(86px, calc(86px + env(safe-area-inset-bottom)))}}.mobile-menu-panel{animation:.2s both mobileDrawerIn}@keyframes mobileDrawerIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.book-details-page{gap:var(--space-4);display:grid}.back-to-library-btn{width:-moz-fit-content;width:fit-content;text-decoration:none}.home-page{gap:clamp(18px,2.5vw,24px);display:grid}.home-hero{border-radius:var(--radius-3xl);border:1px solid var(--reading-zone-border);background:radial-gradient(ellipse 75% 50% at 100% 0%, color-mix(in srgb, var(--accent-soft) 42%, transparent), transparent 58%), var(--reading-zone-bg);box-shadow:var(--shadow);padding:clamp(18px,2.5vw,28px)}.home-hero-top{margin-bottom:18px}.home-hero-top-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-pinned-badge{border-radius:var(--radius-xl);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border-color));background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent-soft) 55%, transparent), transparent 70%), var(--surface-raised);max-width:112px;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 12%, transparent);color:inherit;text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.home-pinned-badge:hover{box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-2px)}.home-pinned-badge-medallion{border:2px solid color-mix(in srgb, var(--accent) 35%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface));border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.home-pinned-badge-icon{font-size:1.75rem;line-height:1}.home-pinned-badge-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);font-size:.68rem;font-weight:700;display:block}.home-pinned-badge-copy strong{font-family:var(--font-ui);color:var(--text);font-size:.78rem;line-height:1.25;display:block}.home-greeting{font-family:var(--font-ui);color:var(--text-soft);margin:0 0 4px;font-size:.95rem}.home-greeting strong{color:var(--text);font-weight:600}.home-greeting-sunflower{filter:drop-shadow(0 1px 4px color-mix(in srgb, var(--accent) 40%, transparent))}.home-hero-tagline{font-family:var(--font-display);color:var(--text);margin:0;font-size:clamp(1.5rem,2.8vw,2rem);font-style:italic;font-weight:600;line-height:1.1}.home-reading-card{border-radius:var(--radius-2xl);border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border-color));background:color-mix(in srgb, var(--surface-raised) 96%, var(--accent-soft));overflow:hidden}.home-reading-layout{grid-template-columns:minmax(0,1fr);display:grid}.home-welcome-card{text-align:center;border:1px dashed var(--shell-nook-border);border-radius:var(--radius-2xl);background:var(--shell-nook-bg);padding:36px 24px}.home-welcome-mark{margin-bottom:12px;font-size:2.5rem;display:block}.home-welcome-card h2{margin:0 0 10px;font-size:1.5rem}.home-welcome-card p{max-width:40ch;color:var(--text-soft);font-family:var(--font-ui);margin:0 auto;line-height:1.55}.home-welcome-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.home-reading-idle{text-align:center;border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface-raised));padding:32px 24px}.home-reading-idle p{color:var(--text-soft);font-family:var(--font-ui);margin:0 0 14px}.home-btn-inline,.home-btn-compact{text-decoration:none;width:auto!important;margin-top:0!important}.home-btn-compact{padding-left:22px;padding-right:22px}.reading-spotlight{color:inherit;display:block}.reading-spotlight-inner{background:var(--reading-zone-bg);border:1px solid var(--reading-zone-border);border-radius:var(--radius-xl);grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,28px);padding:clamp(16px,2.5vw,24px);display:grid;position:relative}.reading-spotlight-label{color:var(--spotlight-label-color,var(--accent-strong))}html[data-theme-mode=dark] .reading-spotlight{isolation:isolate;color:var(--spotlight-text);position:relative;overflow:hidden}html[data-theme-mode=dark] .reading-spotlight-inner{z-index:1;background:0 0;border-color:#0000;position:relative}.reading-spotlight-backdrop{display:none}html[data-theme-mode=dark] .reading-spotlight-backdrop{z-index:0;filter:blur(32px)saturate(1.1);opacity:var(--spotlight-backdrop-opacity,.45);background-position:50%;background-size:cover;display:block;position:absolute;top:-20px;bottom:-20px;left:-20px;right:-20px;transform:scale(1.06)}html[data-theme-mode=dark] .reading-spotlight-backdrop:after{content:"";pointer-events:none;background:var(--spotlight-overlay);position:absolute;top:0;bottom:0;left:0;right:0}html[data-theme-mode=dark] .reading-spotlight-copy h2{color:var(--spotlight-text)}html[data-theme-mode=dark] .reading-spotlight-author,html[data-theme-mode=dark] .reading-spotlight-detail{color:var(--spotlight-text-soft)}html[data-theme-mode=dark] .reading-spotlight-meta span{color:var(--spotlight-text-soft);background:#0003;border-color:#fff3}html[data-theme-mode=dark] .reading-spotlight-bar{background:#ffffff26}.reading-spotlight-cover{position:relative}.home-cover-open-button{cursor:pointer;text-align:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.home-cover-open-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-lg)}.reading-spotlight-frame{border-radius:var(--radius-lg);box-shadow:0 16px 40px color-mix(in srgb, var(--text) 18%, transparent), 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.reading-spotlight-badge{border-radius:var(--radius-pill);background:var(--accent);color:var(--text-inverse);font-family:var(--font-ui);box-shadow:var(--shadow-soft);padding:5px 10px;font-size:.75rem;font-weight:800;position:absolute;bottom:-6px;right:-6px}.reading-spotlight-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.reading-spotlight-copy h2{margin:0 0 4px;font-size:clamp(1.25rem,2.5vw,1.85rem);line-height:1.1}.reading-spotlight-author{font-family:var(--font-ui);color:var(--text-soft);margin:0 0 12px;font-size:.92rem;font-style:italic}.reading-spotlight-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.reading-spotlight-meta span{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border-color));font-family:var(--font-ui);padding:4px 10px;font-size:.74rem;font-weight:600}.reading-spotlight-progress-pill{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.reading-spotlight-detail{font-family:var(--font-ui);color:var(--text-soft);margin:14px 0 8px;font-size:.84rem}.reading-spotlight-bar{border-radius:var(--radius-pill);height:7px;margin:0}.reading-spotlight-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:14px;display:grid}.reading-spotlight-action-btn{border-radius:var(--radius-pill);width:100%;min-height:44px;font-family:var(--font-ui);text-align:center;box-sizing:border-box;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;padding:0 16px;font-size:.88rem;font-weight:700;line-height:1.2;text-decoration:none;display:flex}.reading-spotlight-action-btn--primary{background:var(--primary-btn-bg);color:var(--button-primary-text);box-shadow:var(--primary-btn-shadow);border:none}.reading-spotlight-action-btn--primary:hover{transform:translateY(-1px)}.reading-spotlight-action-btn--secondary{border:1px solid var(--border-color);background:var(--surface);color:var(--text)}.reading-spotlight-action-btn--secondary:hover{background:var(--surface-soft)}.reading-card-dismiss-btn{z-index:3;border:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);background:color-mix(in srgb, var(--surface) 94%, transparent);width:22px;height:22px;color:var(--text-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex;position:absolute;top:8px;right:8px}.reading-card-dismiss-btn:hover{color:var(--text);border-color:var(--border-color);background:var(--surface)}.home-notice-banner{border:1px solid color-mix(in srgb, var(--success) 35%, var(--border-color));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--success) 12%, var(--surface));text-align:center;margin:0 0 14px;padding:12px 16px;font-weight:700}.start-reading-search{background:0 0;border:0;margin:0 0 14px;padding:0}.home-reading-idle .start-reading-search{justify-content:flex-end;display:flex}.start-reading-search-bar{align-items:center;gap:8px;display:flex}.start-reading-search--embedded{flex-shrink:0;margin:0}.start-reading-search--embedded .start-reading-search-bar{justify-content:flex-end}.start-reading-search-label{white-space:nowrap;color:var(--text-soft);flex-shrink:0;margin:0;font-size:.78rem;font-weight:800}.start-reading-search--embedded .start-reading-search-label{font-size:.76rem}.start-reading-search-field{flex-shrink:0;width:min(200px,38vw);position:relative}.start-reading-search--embedded .start-reading-search-field{width:min(148px,34vw)}.home-reading-idle .start-reading-search-field{width:min(220px,100%)}.start-reading-search-field input{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border-color));border-radius:var(--radius-pill);background:var(--surface);width:100%;min-height:36px;box-shadow:none;padding:0 12px;font-size:.84rem}.start-reading-search--embedded .start-reading-search-field input{min-height:32px;padding:0 10px;font-size:.8rem}.start-reading-search-field input:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.reading-spotlight-copy-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.reading-spotlight-copy-top .reading-spotlight-label,.reading-spotlight-copy-top .home-mobile-now-label{margin-bottom:0}.start-reading-search-results{z-index:20;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface);width:min(280px,85vw);max-height:280px;box-shadow:var(--shadow-strong);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow-y:auto}.start-reading-search-result,.start-reading-search-empty{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:10px 12px}.start-reading-search-result{cursor:pointer;gap:2px;display:grid}.start-reading-search-result:hover{background:var(--surface-soft)}.start-reading-search-result span{color:var(--text-soft);font-size:.82rem}.quick-log-backdrop{z-index:220;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.quick-log-modal{border:1px solid var(--border-strong);border-radius:var(--radius-2xl);background:var(--surface);width:min(380px,100%);box-shadow:var(--shadow-strong);padding:18px 18px 16px;position:relative}.quick-log-header{margin:0 36px 14px 0}.quick-log-header h3{margin:0 0 4px}.quick-log-book{color:var(--text-soft);margin:0;font-size:.88rem;line-height:1.4}.quick-log-form{gap:14px;display:grid}.quick-log-field{gap:6px;display:grid}.quick-log-field-label{color:var(--text-soft);font-size:.84rem;font-weight:700}.quick-log-field input{width:100%}.quick-log-audio-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-log-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.quick-log-btn{width:100%;min-height:44px}.quick-log-hint{color:var(--text-soft);font-size:.82rem}.reading-shelf{border-top:1px solid var(--border-color);padding:14px}.reading-shelf-label{font-family:var(--font-display);align-items:center;gap:8px;margin:0 0 10px;font-size:.88rem;font-style:italic;font-weight:600;display:flex}.reading-shelf-label-mark{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-soft) 75%, var(--surface));place-items:center;width:24px;height:24px;font-size:.75rem;font-style:normal;display:grid}.reading-shelf-track{flex-wrap:wrap;gap:10px;display:flex}.reading-shelf-card-wrap{flex:0 0 130px;display:grid;position:relative}.reading-shelf-card-dismiss{width:20px;height:20px;font-size:.9rem;top:4px;right:4px}.reading-shelf-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-raised);color:inherit;transition:transform var(--transition-fast), border-color var(--transition-fast);gap:6px;padding:10px;text-decoration:none;display:grid}.reading-shelf-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-color));transform:translateY(-2px)}.reading-shelf-card-body{gap:2px;min-width:0;display:grid}.reading-shelf-card-body strong{font-family:var(--font-ui);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.reading-shelf-author{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;font-style:italic;overflow:hidden}.reading-shelf-percent{color:var(--accent-strong);font-size:.7rem;font-weight:700}.reading-shelf-bar{border-radius:var(--radius-pill);height:4px}.home-glance{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.home-glance--inset{border-top:1px solid color-mix(in srgb, var(--accent) 12%, var(--border-color));margin-top:18px;padding-top:18px}.home-glance-stat{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 88%, var(--accent-soft));border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);gap:1px;padding:12px 12px 12px 40px;display:grid;position:relative}.home-glance-icon{font-size:1rem;line-height:1;position:absolute;top:11px;left:11px}.home-glance-stat--audio{background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface-raised))}.home-glance-value{font-family:var(--font-display);font-size:1.45rem;font-weight:600;line-height:1}.home-glance-label{font-family:var(--font-ui);color:var(--text-soft);font-size:.76rem}.home-glance-sub{font-family:var(--font-ui);color:var(--accent-strong);font-size:.68rem}.home-columns{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:16px;display:grid}.home-panel{border:1px solid color-mix(in srgb, var(--accent) 10%, var(--border-color));border-radius:var(--radius-2xl);background:var(--surface-raised);box-shadow:var(--shadow-soft);padding:20px 22px}.home-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.home-panel-head h2{margin:0;font-size:1.15rem}.home-panel-sub{font-family:var(--font-ui);color:var(--text-soft);margin:4px 0 0;font-size:.82rem;font-style:italic}.home-text-link{font-family:var(--font-ui);color:var(--accent-strong);flex-shrink:0;font-size:.84rem;font-weight:600;text-decoration:none}.home-text-link:hover{text-decoration:underline}.home-goals-tabs{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border-color));gap:6px;margin-bottom:14px;padding:4px;display:inline-flex}.home-goals-tabs button{border-radius:var(--radius-pill);color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:8px 14px;font-size:.82rem;font-weight:600}.home-goals-tabs button.is-active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-soft)}.home-goals-list{gap:12px;display:grid}.home-goal-bar{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-soft) 22%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 10%, var(--border-color));padding:12px 14px}.home-goal-bar-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.home-goal-bar-label{font-family:var(--font-ui);align-items:center;gap:6px;font-size:.84rem;font-weight:600;display:inline-flex}.home-goal-bar-head strong{font-family:var(--font-display);font-size:.95rem}.home-goal-bar-target{font-family:var(--font-ui);color:var(--text-soft);font-size:.78rem;font-weight:500}.home-goal-bar-track{border-radius:var(--radius-pill);height:6px}.home-goal-bar-percent{font-family:var(--font-ui);color:var(--accent-strong);text-align:right;margin-top:6px;font-size:.74rem;font-weight:700;display:block}.home-session-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.home-session-row{border-radius:var(--radius-lg);color:inherit;transition:background var(--transition-fast);grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:10px;text-decoration:none;display:grid}.home-session-row:hover{background:color-mix(in srgb, var(--accent-soft) 30%, var(--surface))}.home-session-cover{border-radius:var(--radius-sm);width:48px!important}.home-session-row strong{font-family:var(--font-ui);margin-bottom:2px;font-size:.88rem;display:block}.home-session-row p,.home-session-row time{font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.78rem}.home-session-row time{margin-top:3px;font-size:.7rem;display:block}.home-activity-empty{color:var(--text-soft);font-family:var(--font-ui);margin:0;line-height:1.5}.home-achievement-strip{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border-color));border-radius:var(--radius-xl);background:var(--accent-soft);color:inherit;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;text-decoration:none;display:flex}.home-achievement-strip strong{font-family:var(--font-ui);font-size:.88rem;display:block}.home-welcome-actions .primary-btn{text-decoration:none}@media (min-width:901px){.home-reading-layout:has(.reading-shelf){grid-template-columns:minmax(0,1fr) minmax(240px,280px)}.home-reading-layout:has(.reading-shelf) .reading-shelf{border-top:none;border-left:1px solid var(--border-color);background:radial-gradient(ellipse at top, color-mix(in srgb, var(--accent-soft) 40%, transparent), transparent 70%), color-mix(in srgb, var(--surface-raised) 95%, var(--accent-soft))}.home-reading-layout:has(.reading-shelf) .reading-shelf-track{flex-direction:column}.home-reading-layout:has(.reading-shelf) .reading-shelf-card{flex:none;grid-template:"cover body""cover bar"/52px minmax(0,1fr);gap:4px 10px;max-width:none;padding:10px;display:grid}.home-reading-layout:has(.reading-shelf) .reading-shelf-card .book-cover-frame{grid-area:cover;align-self:center;width:52px}.home-reading-layout:has(.reading-shelf) .reading-shelf-card-body{grid-area:body;align-self:center;position:relative}.home-reading-layout:has(.reading-shelf) .reading-shelf-card-body strong{padding-right:1.75rem}.home-reading-layout:has(.reading-shelf) .reading-shelf-percent{position:absolute;top:0;right:0}.home-reading-layout:has(.reading-shelf) .reading-shelf-bar{grid-area:bar}.reading-spotlight-inner{grid-template-columns:minmax(160px,200px) minmax(0,1fr);padding:clamp(20px,2.5vw,28px)}.home-columns{gap:20px}}.home-target-achievement{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border-color));border-radius:var(--radius-xl);background:radial-gradient(ellipse 80% 70% at 100% 0%, color-mix(in srgb, var(--accent-soft) 45%, transparent), transparent 58%), var(--surface-raised);padding:16px 18px}.home-target-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.home-target-label,.home-target-link{font-family:var(--font-ui);font-size:.78rem;font-weight:700}.home-target-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}.home-target-link{color:var(--accent-strong);text-decoration:none}.home-target-body{align-items:flex-start;gap:14px;display:flex}.home-target-icon{flex-shrink:0;font-size:2rem;line-height:1}.home-target-copy h2{margin:0 0 4px;font-size:1.12rem}.home-target-copy p{color:var(--text-soft);font-family:var(--font-ui);margin:0;font-size:.88rem;line-height:1.45}.home-target-complete{font-weight:700;color:var(--accent-strong)!important;margin:10px 0 0!important}.home-target-progress{margin-top:12px}.home-activity-pager{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.home-activity-pager button{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface);min-height:36px;color:var(--text);font-family:var(--font-ui);padding:6px 14px;font-size:.82rem;font-weight:700}.home-activity-pager button:disabled{opacity:.45;cursor:not-allowed}.home-activity-pager span{font-family:var(--font-ui);color:var(--text-soft);font-size:.82rem}@media (min-width:901px){.home-only-mobile{display:none!important}.home-recent-title-short,.home-recent-link-short{display:none}}.library-page{max-width:1400px;margin:0 auto}.library-header{margin-bottom:var(--space-5)}.library-header h2{margin-bottom:var(--space-2)}.library-header p{color:var(--text-soft);margin:0}.library-controls{gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-soft);grid-template-columns:minmax(280px,2fr) repeat(4,minmax(150px,1fr));align-items:end;display:grid}.library-search-wrap{grid-column:1/-1;align-items:center;display:flex;position:relative}.library-search-icon{z-index:1;pointer-events:none;opacity:.72;font-size:.95rem;line-height:1;position:absolute;left:12px}.library-search-input{border-radius:var(--radius-md);width:100%;min-height:42px;padding:10px 36px 10px 38px;font-size:.95rem}.library-search-clear{z-index:1;border:1px solid var(--button-border,var(--border-color));border-radius:var(--radius-circle);background:var(--button-bg,var(--surface));width:28px;height:28px;color:var(--text-soft);place-items:center;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;right:8px}.library-search-clear:hover{background:var(--button-bg-hover,var(--surface-soft));color:var(--text)}.library-filters-toggle{display:none}.library-filter-fields{display:contents}.library-filter-field{gap:6px;min-width:0;display:grid}.library-filter-label{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.library-controls input,.library-controls select{border-radius:var(--radius-md);width:100%;min-width:0;min-height:42px;padding:10px 14px;font-size:.95rem}.library-summary{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--text-soft);display:flex}.library-summary p{margin:0}.library-summary strong{color:var(--text)}.library-controls{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:12px}.shelves-page{max-width:1200px;margin:0 auto}.shelves-header{margin-bottom:var(--space-5)}.shelves-header h2{margin-bottom:var(--space-2)}.shelves-header p{color:var(--text-soft);margin:0}.shelf-sections{gap:var(--space-5);flex-direction:column;display:flex}.shelf-section{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft)}.shelf-toggle{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-4);border:none;border-bottom:1px solid var(--border-color);color:var(--text);text-align:left;background:0 0;display:flex}.shelf-toggle span{align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:800;display:inline-flex}.shelf-toggle strong{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);white-space:nowrap;align-items:center;padding:4px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.shelf-toggle:hover{color:var(--accent);opacity:1}.shelf-toggle--series{gap:var(--space-3)}.shelf-toggle-title{align-items:center;gap:var(--space-2);flex:0 auto;min-width:0;font-size:1.25rem;font-weight:800;display:inline-flex}.shelf-toggle-count{flex-shrink:0}.series-toggle-progress{flex:180px;gap:6px;min-width:120px;max-width:280px;display:grid}.series-toggle-progress-meta{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:10px;font-size:.82rem;font-weight:700;display:flex}.series-toggle-progress-percent{color:var(--text);font-size:.9rem}.series-progress-bar{height:8px}.series-progress-bar--complete .progress-fill{box-shadow:0 0 10px color-mix(in srgb, var(--accent) 45%, transparent)}.add-book-page{max-width:1050px;margin:0 auto}.add-book-header{margin-bottom:var(--space-5)}.add-book-header h2{margin-bottom:var(--space-2)}.add-book-header p{color:var(--text-soft);margin:0}.add-book-form{gap:var(--space-4)}.add-book-form .form-grid.two{align-items:start}.add-book-duplicate-notice{padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border-color));border-radius:var(--radius-xl);background:color-mix(in srgb, var(--accent-soft) 28%, var(--surface-soft))}.add-book-duplicate-notice p{color:var(--text);margin:0}.add-book-duplicate-title{margin-top:var(--space-2)!important;color:var(--text-soft)!important}.add-book-duplicate-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.add-book-duplicate-actions .primary-btn,.add-book-duplicate-actions .secondary-btn{min-height:42px}.add-book-genres-cover-row{gap:var(--space-3);margin-bottom:var(--space-3);align-items:start}.add-book-genres-field{align-self:start}.add-book-cover-column{gap:var(--space-2);align-content:start;display:grid}.book-lookup-results{gap:var(--space-3);margin-top:var(--space-4);display:grid}.book-lookup-results .success-text{margin:0}.book-lookup-results-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.book-lookup-results-hint{color:var(--text-soft);margin:0;font-size:.92rem}.book-lookup-back{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;padding:6px 12px;font-weight:700}.book-lookup-author-list,.book-lookup-book-list{gap:var(--space-2);flex-direction:column;max-height:420px;display:flex;overflow:auto}.book-lookup-author,.book-lookup-choice{align-items:start;column-gap:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-soft);width:100%;height:auto;min-height:86px;color:var(--text);text-align:left;white-space:normal;cursor:pointer;flex:none;grid-template-columns:44px minmax(0,1fr);padding:10px 12px;display:grid;overflow:visible}.book-lookup-author{grid-template-columns:minmax(0,1fr);min-height:0}.book-lookup-author:hover,.book-lookup-choice:hover,.book-lookup-back:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface-soft))}.book-lookup-author span,.book-lookup-choice span,.book-lookup-choice-copy{white-space:normal;flex-direction:column;gap:2px;min-width:0;display:flex}.book-lookup-author strong,.book-lookup-choice strong,.book-lookup-author small,.book-lookup-choice small{white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;line-height:1.35;display:block}.book-lookup-author small,.book-lookup-choice small{color:var(--text-soft);font-weight:600}.book-lookup-choice img{object-fit:cover;background:var(--surface);border-radius:8px;width:44px;height:66px}.book-lookup-choice.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.reading-log-page{max-width:1180px;margin:0 auto}.reading-log-header{margin-bottom:var(--space-5)}.reading-log-header h2{margin-bottom:var(--space-2);padding-bottom:.12em;line-height:1.35;overflow:visible}.reading-log-header p{color:var(--text-soft);margin:0}.reading-log-layout{gap:var(--space-5);grid-template-columns:340px minmax(0,1fr);align-items:start;display:grid}.reading-log-form h3{margin:0 0 var(--space-2);color:var(--text);font-size:1.15rem}.reading-log-form textarea{resize:vertical;min-height:110px}.selected-book-preview{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--text)}.selected-book-preview p{margin:var(--space-1) 0 0;color:var(--text-soft);font-size:.88rem}.heatmap-card{min-height:500px;padding:var(--space-6);overflow:hidden}.heatmap-card h3{color:var(--text);margin:0;font-size:1.45rem}.heatmap-card-head{margin-bottom:var(--space-5);flex-direction:column;gap:10px;display:flex}.calendar-month-nav{display:none}.calendar-day.is-selected:not(.blank){box-shadow:inset 0 0 0 2px var(--accent)}.year-calendar{gap:var(--space-4);grid-template-columns:repeat(3,minmax(150px,1fr));display:grid}.month-card{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft)}.month-card h4{margin:0 0 var(--space-2);color:var(--text);font-size:.95rem}.weekday-row,.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday-row{margin-bottom:var(--space-2)}.weekday-row span{color:var(--text-soft);text-align:center;font-size:.72rem;font-weight:800}.calendar-day{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--surface-muted);min-width:0;color:var(--text-soft);cursor:pointer;border:none;place-items:center;font-size:.66rem;font-weight:800;display:grid;position:relative}.calendar-day.blank{cursor:default;background:0 0}.calendar-day.read-light{background:var(--accent-soft);color:var(--text)}.calendar-day.read-medium{background:var(--button-primary-bg);color:var(--button-primary-text)}.calendar-day.read-heavy{background:var(--accent-strong);color:var(--text-inverse);box-shadow:var(--shadow-soft)}.calendar-day.has-read{padding-bottom:7px}.calendar-day.has-read:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.calendar-day:not(.blank):hover{transform:scale(1.12)}.selected-day{outline:2px solid var(--accent);box-shadow:0 0 0 4px var(--focus-ring);transform:scale(1.08)}.selected-day-logs{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.selected-day-logs h4{margin:0 0 var(--space-4);color:var(--text);font-size:1.05rem}.reading-log-list{gap:var(--space-3);flex-direction:column;display:flex}.reading-log-item{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft)}.reading-log-item strong{color:var(--text);display:block}.reading-log-item span{color:var(--text-soft);font-size:.86rem}.reading-log-item p{margin:var(--space-2) 0 0;color:var(--text-soft);font-size:.9rem}.finished-pill{width:-moz-fit-content;width:fit-content;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--success-soft);padding:5px 9px;font-weight:800;display:inline-flex;color:var(--success)!important}.dnf-pill{width:-moz-fit-content;width:fit-content;margin-top:var(--space-2);margin-right:var(--space-2);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text-soft) 16%, transparent);padding:5px 9px;font-weight:800;display:inline-flex;color:var(--text-soft)!important}.reading-log-item{gap:var(--space-3);transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.reading-log-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.reading-log-item:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.reading-log-item strong{font-size:1rem;line-height:1.25}.reading-log-item>span{border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);padding:4px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.reading-log-item p{line-height:1.55}.reading-log-item p strong{font-size:inherit;display:inline}.finished-pill{border:1px solid color-mix(in srgb, var(--success) 40%, transparent);align-items:center;gap:6px;padding:6px 12px;box-shadow:0 0 0 1px #ffffff08,0 6px 18px #0000001f}.button-row{margin-top:var(--space-2)}.button-row .action-btn{min-width:110px}.book-search-picker{position:relative}.book-search-results{gap:var(--space-2);margin-top:var(--space-2);display:grid}.book-search-result{gap:var(--space-1);width:100%;padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-align:left;display:grid}.book-search-result:hover:not(:disabled){background:var(--surface-soft);transform:var(--lift-sm)}.book-search-result span{color:var(--text-soft);font-size:.85rem}.edition-tabs{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.edition-tab{border:1px solid var(--border-soft,#00000014);background:var(--surface-soft);color:var(--text-soft);border-radius:var(--radius-pill,999px);cursor:pointer;padding:6px 12px;font-size:.82rem;font-weight:600}.edition-tab--active{background:var(--accent,#c58b2a);color:#fff;border-color:#0000}.reading-log-linked-hint,.link-editions-copy{color:var(--text-soft);margin:8px 0 0;font-size:.88rem;line-height:1.45}.link-editions-panel{gap:12px;display:grid}.link-editions-list,.link-editions-candidates{gap:8px;margin:0;padding:0;list-style:none;display:grid}.link-editions-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.link-editions-candidate-btn{text-align:left;border:1px solid var(--border-soft,#00000014);background:var(--surface-soft);border-radius:var(--radius-md,12px);cursor:pointer;width:100%;padding:10px 12px}.link-editions-candidate-btn span{color:var(--text-soft);margin-top:4px;font-size:.85rem;display:block}.link-editions-suggest{color:var(--text-soft);margin:0;font-size:.88rem}.link-editions-picker{gap:10px;display:grid}.link-editions-actions{flex-wrap:wrap;gap:8px;display:flex}.duplicate-edition-backdrop{z-index:120}.duplicate-edition-modal{width:min(560px,100%);padding:28px 28px 24px}.duplicate-edition-header{align-items:flex-start;gap:12px;margin-bottom:10px;padding-right:36px;display:flex}.duplicate-edition-mark{border-radius:var(--radius-lg);background:var(--accent-soft);place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid}.duplicate-edition-eyebrow{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}.duplicate-edition-modal h2{margin:0;font-size:1.55rem}.duplicate-edition-copy,.duplicate-edition-hint{color:var(--text-soft);margin:0 0 18px;font-size:.92rem;line-height:1.5}.duplicate-edition-hint{margin:0;font-size:.84rem}.duplicate-edition-form{gap:16px;display:grid}.duplicate-edition-form label,.duplicate-edition-form .edition-field-label{color:var(--text);flex-direction:column;gap:8px;font-size:.88rem;font-weight:800;display:flex}.duplicate-edition-form input,.duplicate-edition-form select{border:1px solid var(--input-border,var(--border-color));border-radius:var(--radius-md);background:var(--input-bg,var(--surface-raised));width:100%;min-height:46px;color:var(--input-text,var(--text));font-family:var(--font-ui);padding:10px 14px;font-size:.95rem}.duplicate-edition-fieldset{border:0;margin:0;padding:0}.duplicate-edition-fieldset legend{color:var(--text);margin-bottom:8px;font-size:.88rem;font-weight:800}.duplicate-edition-formats,.duplicate-edition-length{gap:8px;display:grid}.duplicate-edition-formats{grid-template-columns:repeat(2,minmax(0,1fr))}.duplicate-edition-format{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface-soft);min-height:42px;color:var(--text);font-family:var(--font-ui);cursor:pointer;padding:8px 12px;font-size:.86rem;font-weight:700}.duplicate-edition-format.is-selected{border-color:color-mix(in srgb, var(--accent) 50%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}.duplicate-edition-length{grid-template-columns:1fr 1fr}.duplicate-edition-existing{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border-color));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-soft) 28%, var(--surface-soft));gap:10px;padding:14px;display:grid}.duplicate-edition-existing p{margin:0;font-size:.88rem;line-height:1.45}.duplicate-edition-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.duplicate-edition-actions .secondary-btn,.duplicate-edition-actions .primary-btn{min-height:46px;padding:10px 18px}.achievements-page{max-width:1100px;margin:0 auto}.achievement-summary{margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr)}.level-card{justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 28%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft);padding:30px;display:flex;position:relative;overflow:hidden}.level-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.level-card h3{margin:var(--space-2) 0;color:var(--text);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.1}.level-card p{margin:var(--space-2) 0;color:var(--text-soft)}.level-badge{border-radius:var(--radius-circle);background:var(--level-badge-bg);width:96px;height:96px;color:var(--button-primary-text);box-shadow:var(--level-badge-shadow);flex-shrink:0;place-items:center;font-size:3rem;display:grid}.rank-progress{max-width:440px;margin:var(--space-3) 0}.xp-breakdown{margin-bottom:var(--space-6)}.xp-breakdown h3{margin:0 0 var(--space-4);color:var(--text)}.xp-breakdown-grid{gap:var(--space-3) var(--space-5);grid-template-columns:1fr auto;display:grid}.xp-breakdown-grid span{color:var(--text-soft)}.xp-breakdown-grid strong{color:var(--accent)}.achievement-browser-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin:var(--space-6) 0 var(--space-4);flex-wrap:wrap;display:flex}.achievement-section-title{color:var(--text);margin:0}.achievement-toolbar{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-soft);grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;display:grid}.achievement-filter-field{gap:6px;min-width:0;display:grid}.achievement-filter-label{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.achievement-filter-select{border:1px solid var(--input-border,var(--border-color));border-radius:var(--radius-md);background:var(--input-bg,var(--surface-raised));width:100%;min-height:42px;color:var(--input-text,var(--text));font-family:var(--font-ui);padding:10px 14px;font-size:.94rem;font-weight:600}.achievement-filter-select:focus-visible{border-color:var(--input-focus,var(--accent));box-shadow:0 0 0 4px var(--focus-ring);outline:none}.achievement-progress{margin-top:var(--space-2)}.achievement-progress .progress-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.achievement-progress .progress-bar{background:var(--progress-track,var(--surface-muted));min-height:10px}.achievement-progress .progress-fill{min-width:2%}.achievement-card.unlocked .achievement-progress .progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover))}.achievement-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(255px,1fr));display:grid}.achievement-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);display:flex;position:relative;overflow:hidden}.achievement-card:hover{transform:translateY(-3px)}.achievement-card.unlocked{border:1px solid var(--border-strong);box-shadow:var(--shadow-soft)}.achievement-card.locked{opacity:.68;filter:grayscale(.75)}.achievement-card.unlocked:before{content:"";background:radial-gradient(circle at top left, var(--accent-soft), transparent 34%);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.achievement-card>*{z-index:1;position:relative}.achievement-icon{border-radius:var(--radius-circle);background:var(--accent-soft);flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}.achievement-card.unlocked .achievement-icon{transform:scale(1.05)}.achievement-card h4{margin:0 0 var(--space-1);color:var(--text);line-height:1.15}.achievement-card p{margin:0 0 var(--space-2);color:var(--text-soft);font-size:.88rem;line-height:1.45}.achievement-card span{color:var(--text-soft);font-size:.84rem;font-weight:800}.achievement-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.achievement-category{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);text-transform:capitalize;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.achievement-card.common{border-color:var(--border-color)}.achievement-card.rare.unlocked{border-color:var(--accent-muted)}.achievement-card.epic.unlocked,.achievement-card.legendary.unlocked{border-color:var(--accent)}.achievement-card.secret.unlocked{border-color:var(--success)}.achievement-card.common.unlocked{border-color:var(--border-strong)}.achievement-card.rare.unlocked{border-color:var(--accent-muted);box-shadow:var(--shadow-soft), 0 0 18px color-mix(in srgb, var(--accent-muted) 20%, transparent)}.achievement-card.epic.unlocked{border-color:var(--accent);box-shadow:var(--shadow-soft), 0 0 22px color-mix(in srgb, var(--accent) 26%, transparent)}.achievement-card.legendary.unlocked{border-color:var(--accent);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(135deg, var(--card-sheen-top), var(--accent-soft)), var(--card-bg);box-shadow:var(--shadow-soft), 0 0 30px color-mix(in srgb, var(--accent) 34%, transparent)}.achievement-card.secret.unlocked{border-color:var(--success);background:radial-gradient(circle at top right, var(--success-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--card-bg);box-shadow:var(--shadow-soft), 0 0 24px color-mix(in srgb, var(--success) 24%, transparent)}.achievement-card.locked{border-color:var(--border-color)}.achievement-card.locked .achievement-icon{opacity:.75}.latest-achievement-card{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5);border:1px solid var(--accent);border-radius:var(--radius-2xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft), 0 0 24px color-mix(in srgb, var(--accent) 22%, transparent);flex-wrap:wrap;display:flex}.latest-achievement-card strong{color:var(--text);font-size:1.15rem;display:block}.latest-achievement-card p{margin:var(--space-1) 0 0;color:var(--text-soft)}.latest-achievement-xp{color:var(--accent);white-space:nowrap;font-weight:900}.achievement-browser{gap:var(--space-4);display:grid}.achievement-pin-summary{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.achievement-pin-summary-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-raised);gap:6px;padding:14px 16px;display:grid}.achievement-pin-summary-card--target{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 24%, var(--surface-raised))}.achievement-pin-summary-card a{font-family:var(--font-ui);color:var(--accent-strong);font-size:.82rem;font-weight:600;text-decoration:none}.achievement-pin-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.achievement-pin-btn{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface);min-height:34px;color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;padding:6px 12px;font-size:.74rem;font-weight:700}.achievement-pin-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.achievement-pin-btn.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:var(--accent-soft);color:var(--text)}.achievement-pin-btn--target.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border-color))}.achievement-card.is-pinned,.achievement-card.is-target{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.insights-page{max-width:1100px;margin:0 auto}.insights-page .goal-progress-grid,.insights-page .insights-grid,.insights-page .monthly-insights-grid,.insights-page .charts-grid{gap:var(--space-4);display:grid}.insights-page .insights-header{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.insights-page .insights-header h2{margin-bottom:var(--space-2)}.insights-page .insights-header p{max-width:640px;color:var(--text-soft);margin:0;font-size:1rem;line-height:1.55}.insights-page .insights-header-badge{border-radius:var(--radius-circle);background:var(--level-badge-bg);width:78px;height:78px;box-shadow:var(--level-badge-shadow);flex-shrink:0;place-items:center;font-size:2rem;display:grid}.insights-page .insights-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.insights-page .monthly-insights-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.insights-page .charts-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.insights-page .monthly-pie-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.insights-page .monthly-pie-card.donut-feature-card{grid-column:auto}.insights-page .goal-progress-grid{margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.insights-page .chart-card.featured-chart{grid-column:span 3}.insights-page .goal-card,.insights-page .insight-card,.insights-page .chart-card{gap:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-2xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--card-bg);box-shadow:var(--card-shadow);flex-direction:column;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:flex}.insights-page .goal-card,.insights-page .insight-card{min-height:150px;padding:var(--space-5)}.insights-page .goal-card:hover,.insights-page .insight-card:hover,.insights-page .chart-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.insights-page .goal-card span,.insights-page .insight-card span{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.insights-page .goal-card strong,.insights-page .insight-card strong{color:var(--text);letter-spacing:-.03em;line-height:1.05;display:block}.insights-page .goal-card strong{font-size:1.65rem}.insights-page .insight-card strong{font-size:1.9rem}.insights-page .goal-card p,.insights-page .insight-card p{color:var(--text-soft);opacity:.86;margin:0;font-size:.78rem;line-height:1.45}.insights-page .chart-card{padding:var(--space-5);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft)}.insights-page .chart-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.insights-page .chart-card-header h4,.insights-page .chart-card h4{color:var(--text);margin:0;font-size:1.05rem}.insights-page .chart-card-header span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:800}.insights-page .bar-chart{gap:var(--space-4);flex-direction:column;display:flex}.insights-page .bar-chart-item{flex-direction:column;gap:8px;display:flex}.insights-page .bar-chart-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.insights-page .bar-chart-top strong{color:var(--text);font-size:.86rem}.insights-page .bar-chart-top span{color:var(--text-soft);font-size:.8rem;font-weight:700}.insights-page .bar-track{border-radius:var(--radius-pill);background:var(--surface-muted);height:10px;overflow:hidden}.insights-page .bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;box-shadow:0 0 10px #ffbe283d}.insights-page .bar-chart-item small{color:var(--text-soft);text-align:right;font-size:.72rem;font-weight:700}.insights-page .collapsible-section{margin-bottom:var(--space-6)}.insights-page .collapsible-toggle{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);width:100%;color:var(--text);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;padding:18px 22px;font-size:1.08rem;font-weight:800;display:flex}.insights-page .collapsible-toggle:hover{border-color:var(--border-strong);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);transform:translateY(-2px)}.insights-page .collapsible-content{padding-top:var(--space-4)}.insights-page .insights-empty-note{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.insights-page .insights-empty-note a{color:var(--accent-strong);font-weight:600;text-decoration:none}.insights-page .insights-empty-note a:hover{text-decoration:underline}:root{--chart-1:var(--accent);--chart-2:var(--accent-hover);--chart-3:var(--success);--chart-4:var(--accent-muted);--chart-5:var(--text-soft);--chart-6:var(--border-strong)}.insights-page .donut-feature-card{grid-column:span 3}.insights-page .donut-chart-layout{gap:var(--space-5);grid-template-columns:190px 1fr;align-items:center;display:grid}.insights-page .donut-chart{border-radius:var(--radius-circle);width:190px;height:190px;box-shadow:var(--shadow-soft);place-items:center;display:grid}.insights-page .donut-chart-centre{border-radius:var(--radius-circle);background:var(--surface);text-align:center;place-items:center;width:112px;height:112px;display:grid}.insights-page .donut-chart-centre strong{color:var(--text);font-size:1.5rem}.insights-page .donut-chart-centre span{color:var(--text-soft);text-transform:uppercase;font-size:.72rem;font-weight:900}.insights-page .donut-chart-list{gap:var(--space-2);display:grid}.insights-page .donut-chart-list-item{justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color);display:flex}.insights-page .donut-chart-list-item span{align-items:center;gap:var(--space-2);color:var(--text-soft);font-weight:800;display:inline-flex}.insights-page .donut-chart-list-item strong{color:var(--text)}.insights-page .chart-dot{border-radius:var(--radius-circle);width:10px;height:10px}.insights-page .chart-dot-1{background:var(--chart-1)}.insights-page .chart-dot-2{background:var(--chart-2)}.insights-page .chart-dot-3{background:var(--chart-3)}.insights-page .chart-dot-4{background:var(--chart-4)}.insights-page .chart-dot-5{background:var(--chart-5)}.insights-page .chart-dot-6{background:var(--chart-6)}.insights-page .bar-chart-item{transition:transform .18s,opacity .18s}.insights-page .bar-chart-item:hover{transform:translate(3px)}.insights-page .bar-chart-item:hover .bar-fill{filter:brightness(1.12)}.insights-page .donut-chart{transition:transform .18s,filter .18s}.insights-page .donut-chart:hover{filter:brightness(1.08);transform:scale(1.035)}.settings-page{width:min(1180px,100%);margin:0 auto}.settings-header{margin-bottom:var(--space-6)}.settings-header h2{margin-bottom:var(--space-2)}.settings-header p{color:var(--text-soft);margin:0}.settings-layout{gap:var(--space-6);grid-template-columns:250px minmax(0,1fr);align-items:start;display:grid}.settings-main{gap:var(--space-6);display:grid}.settings-jump{position:sticky;top:24px}.settings-contents{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft);display:grid;position:static}.settings-contents p,.settings-nav-title{margin:0 0 var(--space-2);color:var(--text);font-size:.9rem;font-weight:900}.settings-nav-hint{display:none}.settings-contents a{border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);border:1px solid #0000;padding:10px 14px;font-weight:800;text-decoration:none}.settings-contents a:hover{border-color:var(--border-strong);background:var(--button-bg-hover);transform:var(--lift-sm)}.settings-contents a.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.settings-card-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:default;pointer-events:none;-webkit-appearance:none;appearance:none;background:0 0;border:0;padding:0;display:block}.settings-card-chevron{display:none}.settings-card-body{display:contents}.settings-copy-short{display:none}.settings-card{gap:var(--space-5);padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 28%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft);scroll-margin-top:24px}.settings-card-header{margin-bottom:var(--space-2)}.settings-card-header h3,.settings-card-title{margin:var(--space-1) 0;color:var(--text);font-size:clamp(1.35rem,2vw,1.7rem)}.settings-card-header p{max-width:680px;color:var(--text-soft);margin:0;line-height:1.5}.settings-profile-hero{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface-soft);grid-template-columns:auto minmax(0,1fr);display:grid}.settings-photo-btn{grid-column:2}.settings-profile-hero strong{color:var(--text);font-size:1.25rem;display:block}.settings-profile-hero p{margin:var(--space-1) 0 var(--space-3);color:var(--text-soft)}.profile-avatar-preview,.profile-avatar-placeholder{border-radius:var(--radius-circle);flex-shrink:0;width:92px;height:92px}.profile-avatar-preview{object-fit:cover;border:3px solid var(--accent);box-shadow:var(--shadow-soft)}.profile-avatar-placeholder{border:3px solid var(--accent);background:var(--level-badge-bg);color:var(--button-primary-text);box-shadow:var(--level-badge-shadow);place-items:center;font-size:2.2rem;font-weight:900;display:grid}.settings-goal-group{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface-soft)}.settings-goal-group+.settings-goal-group{margin-top:var(--space-4)}.settings-goal-group h4{margin:0 0 var(--space-4);color:var(--text);font-size:1.05rem}.settings-data-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-data-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface-soft);flex-direction:column;display:flex}.settings-data-panel h4{color:var(--text);margin:0}.settings-data-panel p{color:var(--text-soft);margin:0;line-height:1.5}.danger-zone{border-color:color-mix(in srgb, var(--danger) 45%, var(--border-color))}.settings-warning-card{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface-soft)}.settings-warning-card strong{margin-bottom:var(--space-2);color:var(--text);display:block}.settings-warning-card p{color:var(--text-soft);margin:0;line-height:1.5}.file-upload-label,.import-backup-label{gap:var(--space-2);width:-moz-fit-content;width:fit-content;color:var(--text);flex-direction:column;font-weight:800;display:inline-flex}.file-upload-label input,.import-backup-label input{max-width:100%}.settings-actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.settings-actions .primary-submit,.settings-data-panel .primary-submit{width:-moz-fit-content;width:fit-content;min-width:190px}.update-notes-box{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface-soft);display:grid}.update-note-line{color:var(--text-soft);font-size:.9rem;line-height:1.45}.update-note-line:before{content:"• ";color:var(--accent);font-weight:900}.update-note-line:not(:last-child){padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color)}.settings-page textarea{resize:vertical;min-height:120px}.admin-badge{border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);width:-moz-fit-content;width:fit-content;color:var(--text);padding:6px 12px;font-weight:900}.admin-placeholder-box{margin-top:var(--space-3);padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-soft);font-weight:700}.csv-report-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.csv-report-modal{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:var(--surface);width:min(720px,100%);max-height:85vh;box-shadow:var(--shadow-soft);flex-direction:column;gap:18px;padding:24px;display:flex;overflow:hidden}.csv-report-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.csv-report-stats div{border-radius:var(--radius-xl);background:var(--surface-soft);text-align:center;padding:14px}.csv-report-stats strong{font-size:1.6rem;display:block}.csv-report-stats span{color:var(--text-soft);font-size:.82rem}.csv-report-errors{flex-direction:column;gap:10px;min-height:0;display:flex}.csv-report-scroll{max-height:340px;padding-right:6px;overflow-y:auto}.csv-report-row{border-bottom:1px solid var(--border-color);padding:12px 0}.csv-report-row strong{margin-bottom:6px;display:block}.csv-report-row ul{margin:0;padding-left:18px}.csv-report-row li{color:var(--text-soft)}.profile-pinned-achievement{margin-bottom:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border-color));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-soft) 22%, var(--surface));gap:8px;padding:14px 16px;display:grid}.profile-pinned-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);font-size:.72rem;font-weight:700}.profile-pinned-body{align-items:flex-start;gap:12px;display:flex}.profile-pinned-icon{font-size:1.75rem;line-height:1}.profile-pinned-body strong{margin-bottom:4px;display:block}.profile-pinned-body p{color:var(--text-soft);margin:0;font-size:.88rem;line-height:1.45}.theme-picker{border:0;margin:0 0 18px;padding:0}.theme-picker legend{margin-bottom:8px;font-weight:700}.theme-picker-note{color:var(--text-soft);margin:0 0 14px;font-size:.92rem}.theme-picker-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.theme-picker-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-align:left;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);gap:8px;padding:14px;display:grid}.theme-picker-card:hover{transform:var(--lift-sm);border-color:color-mix(in srgb, var(--accent) 40%, var(--border-color))}.theme-picker-card.is-selected{border-color:var(--accent-strong);box-shadow:var(--focus-ring), var(--shadow-soft)}.theme-picker-card strong{font-family:var(--font-ui);font-size:.95rem}.theme-picker-card span:last-child{color:var(--text-soft);font-size:.82rem;line-height:1.45}.theme-picker-card.is-selected{outline:2px solid var(--accent-strong);outline-offset:2px}.theme-picker-swatches{gap:6px;display:flex}.theme-picker-swatch{border-radius:var(--radius-circle);border:1px solid #0000001f;width:22px;height:22px;box-shadow:inset 0 1px #ffffff59}@media (max-width:768px){.theme-picker-grid{grid-template-columns:1fr}}.wrapup-page{gap:var(--space-6);max-width:1320px;margin:0 auto;display:grid}.wrapup-page .library-controls{margin-bottom:var(--space-2)}.wrap-section{padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 30%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);box-shadow:var(--shadow-soft)}.wrap-section-header{margin-bottom:var(--space-5)}.wrap-section-header h3{color:var(--text);margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}.wrap-section-header p{max-width:720px;margin:var(--space-2) 0 0;color:var(--text-soft)}.wrap-stat-card{align-items:center;gap:var(--space-3);min-height:110px;padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft);display:flex}.wrapup-page .goal-progress-grid,.wrapup-page .monthly-insights-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wrap-stat-icon{border-radius:var(--radius-circle);background:var(--accent-soft);flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.45rem;display:grid}.wrap-stat-card span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.wrap-stat-card strong{margin-top:var(--space-1);color:var(--text);font-size:1.35rem;line-height:1.1;display:block}.wrap-stat-card p{margin:var(--space-1) 0 0;color:var(--text-soft)}.wrap-highlight{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--accent-soft), transparent 55%), var(--surface-soft);box-shadow:var(--shadow-soft);flex-direction:column;display:flex}.wrap-highlight h4,.wrap-chart-card h4{color:var(--text);margin:0;font-size:1rem}.wrap-highlight p{color:var(--text-soft);margin:0;line-height:1.5}.wrap-highlight strong{color:var(--accent)}.wrap-book-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.wrap-book-list li{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-muted);gap:2px;display:grid}.wrap-book-list strong{color:var(--text)}.wrap-book-list span{color:var(--text-soft);font-size:.85rem}.wrap-chart-card{padding:var(--space-5);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft);box-shadow:var(--shadow-soft)}.wrap-chart-card .bar-chart{gap:var(--space-3);margin-top:var(--space-4);display:grid}.wrap-chart-card .bar-row{gap:var(--space-3);grid-template-columns:100px 1fr 56px;align-items:center;display:grid}.wrap-chart-card .bar-row span{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:800;overflow:hidden}.wrap-chart-card .bar-row strong{color:var(--text);text-align:right;font-size:.8rem}.wrap-chart-card .bar-track{border-radius:var(--radius-pill);background:var(--surface-muted);height:10px;overflow:hidden}.wrap-chart-card .bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;box-shadow:0 0 10px #ffbe2838}.wrap-chart-card,.wrap-highlight,.wrap-stat-card{transition:transform .18s,border-color .18s,box-shadow .18s}.wrap-chart-card:hover,.wrap-highlight:hover,.wrap-stat-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.wrap-stat-grid,.wrap-feature-grid{gap:var(--space-4);margin:var(--space-5) 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.wrap-detail-grid{gap:var(--space-4);margin:var(--space-5) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wrap-chart-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wrapup-controls{gap:var(--space-3);width:-moz-fit-content;width:fit-content;margin:0 0 var(--space-5);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-soft);flex-wrap:wrap;display:flex}.wrapup-control-field{gap:6px;min-width:150px;display:grid}.wrapup-control-label{color:var(--text-soft);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.wrapup-controls select{border-radius:var(--radius-md);min-width:150px;min-height:42px;padding:10px 14px;font-weight:700}.wrapup-empty-note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px dashed var(--border-color);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-soft) 24%, var(--surface-soft));color:var(--text-soft);font-size:.92rem;line-height:1.5}.wrap-story-hero{margin:var(--space-5) 0 var(--space-6);padding:var(--space-6);border:1px solid var(--border-color);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface-soft)}.wrap-story-hero h2{max-width:900px;margin:var(--space-2) 0;letter-spacing:-.06em;font-size:clamp(2rem,5vw,4.25rem);line-height:.95}.wrap-story-hero p{max-width:720px;color:var(--text-soft);margin:0;font-size:1.05rem}.wrap-story-nav-actions{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.wrap-story-nav-actions .wrap-share-actions{margin-bottom:var(--space-1);flex:100%;justify-content:center}.wrap-story-slide--intro,.wrap-story-slide--headline,.wrap-story-slide--aura,.wrap-story-slide--top-books,.wrap-story-slide--genre,.wrap-story-slide--damage,.wrap-story-slide--goals,.wrap-story-slide--comparison,.wrap-story-slide--quote,.wrap-story-slide--outro,.wrap-story-slide--encouragement{animation:.42s wrap-story-beat-in}@keyframes wrap-story-beat-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.wrap-story-slide--intro,.wrap-story-slide--headline,.wrap-story-slide--aura,.wrap-story-slide--top-books,.wrap-story-slide--genre,.wrap-story-slide--damage,.wrap-story-slide--goals,.wrap-story-slide--comparison,.wrap-story-slide--quote,.wrap-story-slide--outro,.wrap-story-slide--encouragement{animation:none}}.wrap-share-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.wrap-share-actions--compact .secondary-btn,.wrap-share-actions--compact .primary-btn{min-height:42px}.wrap-share-error{color:var(--danger,#c44);flex:100%;margin:0;font-size:.88rem}.wrap-share-card-export-host{pointer-events:none;opacity:0;width:1080px;position:fixed;top:0;left:-10000px}.wrap-share-card{color:#fff7eb;background:radial-gradient(circle at 100% 0,#ffc45438,#0000 38%),linear-gradient(#3a2d22 0%,#231c16 100%);width:1080px;padding:56px;font-family:Georgia,Times New Roman,serif}.wrap-share-card--year .wrap-share-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.wrap-share-card-header{gap:10px;margin-bottom:36px;display:grid}.wrap-share-card-brand{letter-spacing:.02em;font-size:28px;font-weight:800}.wrap-share-card-period{letter-spacing:-.04em;margin:0;font-size:52px;font-weight:900;line-height:.95}.wrap-share-card-name{color:#fff7ebb8;margin:0;font-size:24px}.wrap-share-card-body{gap:28px;display:grid}.wrap-share-card-headline{letter-spacing:-.03em;margin:0;font-size:42px;line-height:1.05}.wrap-share-card-subline{color:#fff7ebc7;margin:0;font-size:24px;line-height:1.45}.wrap-share-card-aura{background:#ffc45424;border:1px solid #ffc45459;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:12px 18px;font-size:24px;font-weight:800;display:inline-flex}.wrap-share-card-covers{justify-content:center;gap:18px;display:flex}.wrap-share-card-cover{margin:0}.wrap-share-card-cover-frame{aspect-ratio:2/3;width:160px}.wrap-share-card-cover-image{object-fit:cover;border-radius:12px;width:100%;height:100%}.wrap-share-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.wrap-share-card-stats div{background:#ffffff0a;border:1px solid #fff7eb1f;border-radius:18px;padding:18px 20px}.wrap-share-card-stats strong{font-size:36px;line-height:1;display:block}.wrap-share-card-stats span{color:#fff7ebad;letter-spacing:.06em;text-transform:uppercase;margin-top:8px;font-size:16px;font-weight:700;display:block}.wrap-share-card-footer{color:#fff7eb8c;text-align:center;border-top:1px solid #fff7eb1f;margin-top:40px;padding-top:24px;font-size:18px}.wrap-browse-actions{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.wrapup-tabs{margin-bottom:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border-color));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface));flex-wrap:wrap;gap:6px;padding:4px;display:inline-flex}.wrapup-tabs button{border-radius:var(--radius-pill);color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.86rem;font-weight:700}.wrapup-tabs button.is-active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-soft)}.wrap-book-list--covers li{background:0 0;border:none;padding:0}.wrap-book-list-link{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-muted);color:inherit;grid-template-columns:56px 1fr;align-items:center;text-decoration:none;transition:border-color .18s,transform .18s;display:grid}.wrap-book-list-link:hover{border-color:var(--border-strong);transform:translateY(-2px)}.wrap-book-list-cover-frame{aspect-ratio:2/3;width:56px}.wrap-book-list-cover-image{object-fit:cover;width:100%;height:100%}.wrap-book-list-copy{gap:2px;display:grid}.wrapup-header{margin-bottom:var(--space-5)}.wrap-story-player-backdrop{z-index:240;padding:var(--space-4);background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.wrap-story-player{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 34%), linear-gradient(180deg, var(--card-sheen-top), transparent), var(--surface);width:min(720px,100%);height:min(860px,100dvh - 32px);box-shadow:var(--shadow-strong);grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.wrap-story-player-header,.wrap-story-player-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}.wrap-story-player-header{border-bottom:1px solid var(--border-color)}.wrap-story-player-footer{border-top:1px solid var(--border-color);flex-direction:column}.wrap-story-player-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.wrap-story-close-btn{position:static}.wrap-story-player-stage{min-height:0;padding:var(--space-5);place-items:center;display:grid;position:relative}.wrap-story-player-slide{width:100%;max-width:560px;animation:.35s wrap-story-slide-in}@keyframes wrap-story-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.wrap-story-player-slide{animation:none}}.wrap-story-slide{gap:var(--space-4);text-align:center;display:grid}.wrap-story-slide-title{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,6vw,3.5rem);line-height:.95}.wrap-story-slide-lead{color:var(--text-soft);margin:0;font-size:1.05rem;line-height:1.55}.wrap-story-slide-meta{color:var(--text-soft);margin:0}.wrap-story-aura-pill{justify-self:center;padding:10px 16px;font-size:1.1rem}.wrap-story-stat-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wrap-story-stat-row div{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-soft)}.wrap-story-stat-row strong{color:var(--text);font-size:clamp(1.6rem,4vw,2.4rem);line-height:1;display:block}.wrap-story-stat-row span{margin-top:var(--space-1);color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800;display:block}.wrap-story-cover-row{gap:var(--space-3);padding-bottom:var(--space-2);scroll-snap-type:x mandatory;justify-content:center;display:flex;overflow-x:auto}.wrap-story-cover-card{scroll-snap-align:center;flex:none;width:108px;margin:0}.wrap-story-cover-frame{aspect-ratio:2/3;width:108px}.wrap-story-cover-image{object-fit:cover;width:100%;height:100%}.wrap-story-cover-card figcaption{margin-top:var(--space-2);color:var(--text-soft);font-size:.78rem;line-height:1.3}.wrap-story-chip-list{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.wrap-story-chip-list li{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);align-items:center;gap:8px;padding:8px 12px;font-weight:800;display:inline-flex}.wrap-story-chip-list span{color:var(--text-soft);font-size:.82rem}.wrap-story-goal-list,.wrap-story-comparison-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.wrap-story-goal-list li,.wrap-story-comparison-list li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);display:flex}.wrap-story-goal-list li.is-met{border-color:color-mix(in srgb, var(--accent) 40%, var(--border-color))}.wrap-story-goal-list strong,.wrap-story-comparison-list strong{color:var(--text);font-size:1.35rem}.wrap-story-goal-list span,.wrap-story-comparison-list span{color:var(--text-soft);text-align:right}.wrap-story-quote{color:var(--text);margin:0;font-size:clamp(1.35rem,4vw,2rem);font-style:italic;line-height:1.4}.wrap-story-outro-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wrap-story-progress{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.wrap-story-progress-dot{border-radius:var(--radius-circle);background:color-mix(in srgb, var(--text-soft) 35%, transparent);cursor:pointer;border:0;width:10px;height:10px;padding:0}.wrap-story-progress-dot.is-active{background:var(--accent);transform:scale(1.15)}.wrap-story-nav-count{min-width:64px;color:var(--text-soft);text-align:center;font-size:.82rem;font-weight:800}.wrap-story-nav-btn{min-width:96px}.wrap-story-tap-zone{cursor:pointer;background:0 0;border:0;width:28%;position:absolute;top:0;bottom:0}.wrap-story-tap-zone--prev{left:0}.wrap-story-tap-zone--next{right:0}.wrap-story-tap-zone:disabled{cursor:default}.wrap-story-kicker,.wrap-highlight-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.wrap-aura-pill{border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--chip-bg);width:-moz-fit-content;width:fit-content;color:var(--chip-text);padding:6px 12px;font-weight:900;display:inline-flex}.wrap-feature-value{margin-top:var(--space-2);color:var(--text);font-size:clamp(1.35rem,2vw,2rem);font-weight:900;line-height:1.05;display:block}.wrap-highlight-content{gap:var(--space-2);display:grid}.wrap-chart-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.auth-page{place-items:center;min-height:100vh;padding:clamp(28px,5vw,64px);display:grid}.auth-hero{grid-template-columns:minmax(0,1.12fr) minmax(360px,.78fr);align-items:center;gap:clamp(42px,7vw,96px);width:min(1160px,100%);display:grid}.auth-hero-copy{gap:24px;display:grid}.auth-logo{object-fit:contain;width:min(420px,100%);height:auto;display:block;transform:translate(-10px)}.auth-hero h1{max-width:720px;color:var(--text);letter-spacing:-.07em;margin:0;font-size:clamp(3.4rem,6.7vw,6.25rem);line-height:.9}.auth-hero-text{max-width:690px;color:var(--text);margin:0;font-size:clamp(1.08rem,1.75vw,1.28rem);line-height:1.65}.auth-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:720px;margin-top:12px;display:grid}.auth-feature-card{border:1px solid color-mix(in srgb, var(--border-color), transparent 18%);background:color-mix(in srgb, var(--surface), transparent 9%);min-height:156px;box-shadow:var(--shadow-soft);border-radius:var(--radius-xl);align-content:start;gap:9px;padding:18px;display:grid}.auth-feature-card span{font-size:1.55rem;line-height:1}.auth-feature-card strong{color:var(--text);font-size:1rem;line-height:1.15}.auth-feature-card p{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.45}.auth-card{border:1px solid color-mix(in srgb, var(--border-color), transparent 12%);background:linear-gradient(180deg, color-mix(in srgb, var(--surface), white 8%), var(--surface));border-radius:var(--radius-3xl);justify-self:end;width:100%;max-width:440px;padding:clamp(30px,4vw,44px);position:relative;box-shadow:0 24px 60px #00000021,inset 0 1px #ffffff59}.auth-card:before{content:"";border-radius:calc(var(--radius-3xl) - 8px);pointer-events:none;border:1px solid #ffffff38;position:absolute;top:12px;bottom:12px;left:12px;right:12px}.auth-card-header{margin-bottom:26px;position:relative}.auth-eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}.auth-card h2{color:var(--text);letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(2.25rem,4vw,3.25rem);line-height:.95}.auth-form{gap:17px;display:grid;position:relative}.auth-form label{color:var(--text);gap:8px;font-weight:800;display:grid}.auth-card input{width:100%;min-height:44px}.auth-submit{justify-content:center;width:100%;min-height:48px;margin-top:6px;font-weight:900}.form-message{color:var(--text);margin:16px 0 0;font-weight:700;position:relative}.auth-field-hint{color:var(--text-soft);margin:-6px 0 12px;font-size:.88rem}.auth-modal-message{text-align:center}.auth-login-message{border-radius:var(--radius-lg);background:var(--surface-muted);padding:12px 14px;font-size:.95rem;line-height:1.5}.auth-signup-success{gap:18px;display:grid;position:relative}.auth-signup-success-mark{font-size:2rem;line-height:1}.auth-signup-success-header{margin-bottom:0}.auth-signup-success-header h2{font-size:clamp(1.85rem,4vw,2.35rem)}.auth-signup-success-email{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface), white 6%);gap:6px;padding:14px 16px;display:grid}.auth-signup-success-email strong{word-break:break-word;font-size:1.05rem}.auth-signup-success-steps{color:var(--text-soft);margin:0;padding-left:1.2rem;line-height:1.55}.auth-signup-success-steps li+li{margin-top:8px}.auth-signup-success-tip{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.5}.auth-signup-success-support{text-align:center;color:var(--text-soft);margin:0;font-size:.92rem}.auth-support-note{border-top:1px solid var(--border-color);color:var(--text-soft);text-align:center;margin-top:18px;padding-top:16px;font-size:.92rem}.text-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-weight:900;position:relative}.text-button:hover{text-decoration:underline}.auth-signup-prompt{border-top:1px solid var(--border-color);gap:10px;margin-top:24px;padding-top:22px;display:grid;position:relative}.auth-signup-prompt p{color:var(--text-soft);margin:0;font-weight:700}.auth-secondary-action{justify-content:center;width:100%}.auth-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0000006b;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.auth-modal{border:1px solid color-mix(in srgb, var(--border-color), transparent 12%);background:linear-gradient(180deg, color-mix(in srgb, var(--surface), white 8%), var(--surface));border-radius:var(--radius-3xl);width:min(500px,100%);padding:clamp(28px,4vw,42px);position:relative;box-shadow:0 28px 80px #00000038,inset 0 1px #ffffff59}.auth-modal-close{border-radius:var(--radius-circle);background:var(--surface-muted);width:38px;height:38px;color:var(--text);cursor:pointer;border:0;font-size:1.7rem;line-height:1;position:absolute;top:14px;right:16px}.auth-modal-close:hover{background:var(--accent-soft)}.auth-captcha{border-radius:var(--radius-lg);background:#ffffff47;border:1px solid #0000000f;justify-content:center;padding:14px;display:flex;overflow:hidden}.auth-forgot-button{justify-self:start}@media (max-width:900px){.app-shell{width:100%;max-width:none;margin:0;padding-bottom:0}.brand-header{border-radius:var(--radius-xl);padding:72px 16px 20px}.brand-header p,.brand-tagline{font-size:.95rem}.header-profile-actions{justify-content:flex-end;top:16px;left:16px;right:16px}.nav{gap:8px}.section-header,.book-top,.achievement-browser-header,.shelf-header{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.brand-logo{width:100%}.brand-header{margin-top:14px}}@media (max-width:768px){.desktop-brand-header,.desktop-nav-wrap{display:none}.app-shell{width:100%;padding-bottom:0}.mobile-app-header{z-index:50;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:12px;margin:10px 0 14px;padding:10px 12px;display:flex;position:sticky;top:0}.mobile-app-header>img{max-width:210px;height:auto}.mobile-avatar-button{border:2px solid var(--accent);border-radius:var(--radius-circle);background:var(--surface-soft);width:42px;height:42px;color:var(--text);place-items:center;font-weight:900;display:grid}.mobile-avatar-button img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.mobile-bottom-nav{z-index:80;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-strong);grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;display:grid;position:fixed;bottom:10px;left:10px;right:10px}.mobile-bottom-nav a,.mobile-bottom-nav button{border-radius:var(--radius-lg);color:var(--text-soft);background:0 0;border:none;place-items:center;gap:2px;padding:7px 4px;font-size:.68rem;font-weight:900;text-decoration:none;display:grid}.mobile-bottom-nav span{font-size:1.15rem;line-height:1}.mobile-bottom-nav a.active,.mobile-bottom-nav a[aria-current=page]{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.mobile-menu-backdrop{z-index:120;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:end center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.mobile-menu-panel{border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-strong);gap:10px;padding:22px;display:grid;position:relative}.mobile-menu-panel h3{color:var(--text);margin:0}.mobile-menu-panel p{color:var(--text-soft);margin:0 0 8px}.mobile-menu-panel a,.mobile-menu-panel button:not(.modal-close-btn){border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--surface-soft);width:100%;color:var(--text);text-align:left;padding:12px 14px;font-weight:900;text-decoration:none}.mobile-menu-panel a.active{border-color:var(--accent);background:var(--accent-soft)}}@media (min-width:901px){.home-only-mobile{display:none!important}.home-recent-collapse{width:auto;color:inherit;font:inherit;text-align:left;pointer-events:none;cursor:default;background:0 0;border:0;margin:0;padding:0;display:block}.home-recent-chevron{display:none}}@media (max-width:900px){.home-only-desktop{display:none!important}.home-page{gap:var(--mobile-section-gap,26px)}.home-hero{box-shadow:none;gap:var(--mobile-section-gap,26px);background:0 0;border:none;padding:0;display:grid}.home-mobile-actions{display:none!important}.home-mobile-now-reading{z-index:2;border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border-color));border-radius:var(--mobile-radius-xl,24px);background:radial-gradient(ellipse 100% 70% at 50% -10%, color-mix(in srgb, var(--accent-soft) 65%, transparent), transparent 65%), var(--mobile-surface,var(--surface-raised));max-width:100%;box-shadow:var(--mobile-shadow-card,var(--shadow));color:inherit;gap:18px;padding:22px 20px;text-decoration:none;display:grid;position:relative;overflow:visible}.home-mobile-now-hero{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:14px;display:grid}.home-mobile-now-cover{width:92px;margin:0;position:relative}.home-mobile-now-frame{box-shadow:0 10px 22px color-mix(in srgb, var(--text) 14%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:12px}.home-mobile-now-frame .book-cover-fallback-title{display:none}.home-mobile-now-frame .book-cover-fallback-art{width:42px;height:42px}.home-mobile-now-frame .book-cover-fallback-sunflower{font-size:1.25rem}.home-mobile-now-badge{border-radius:var(--radius-pill);background:linear-gradient(165deg, var(--accent-hover), var(--accent));color:var(--text-inverse);font-family:var(--font-ui);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent);padding:5px 11px;font-size:.74rem;font-weight:800;position:absolute;bottom:-6px;right:-6px}.home-mobile-now-copy{text-align:left;align-content:start;gap:6px;min-width:0;display:grid}.home-mobile-now-label{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);font-size:.68rem;font-weight:800}.home-mobile-now-copy h2{letter-spacing:-.02em;margin:0;font-size:1.22rem;font-weight:700;line-height:1.2}.home-mobile-now-author{font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.9rem;font-style:italic}.home-mobile-now-detail{font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.82rem}.home-mobile-now-bar{border-radius:var(--radius-pill);height:7px;margin-top:4px}.home-mobile-now-actions{margin-top:12px}.home-mobile-now-actions .secondary-btn{min-height:48px}.home-mobile-now-switch{display:none}.home-mobile-now-switch .start-reading-search{width:100%;max-width:100%;margin:0}.home-mobile-now-switch .start-reading-search-bar{flex-direction:column;align-items:stretch;gap:8px;width:100%}.home-mobile-now-switch .start-reading-search-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:800}.home-mobile-now-switch .start-reading-search-field{width:100%;max-width:100%;position:relative}.home-mobile-now-switch .start-reading-search-field input{width:100%;min-height:48px;font-size:1rem}.home-mobile-now-switch .start-reading-search-results{z-index:120;width:100%;max-width:100%;position:absolute;top:calc(100% + 6px);left:0;right:0}.home-mobile-empty--idle .start-reading-search,.start-reading-search--embedded{z-index:5;position:relative}.home-mobile-stack{gap:12px;display:grid}.home-mobile-section-head{justify-content:space-between;align-items:baseline;gap:10px;padding-inline-start:2px;padding-inline-end:2px;display:flex}.home-mobile-section-head h2{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.82rem;font-weight:800}.home-mobile-section-link{font-family:var(--font-ui);color:var(--accent-strong);flex-shrink:0;font-size:.84rem;font-weight:700;text-decoration:none}.home-recent-collapse{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:4px 0;display:flex}.home-recent-chevron{border-right:2px solid var(--text-soft);border-bottom:2px solid var(--text-soft);flex-shrink:0;width:8px;height:8px;margin-right:2px;transition:transform .16s;transform:rotate(45deg)}.home-recent.is-collapsed .home-recent-chevron{transform:rotate(-45deg)}.home-recent.is-collapsed .home-recent-body{display:none}.home-recent.is-collapsed .home-panel-head{margin-bottom:0}.home-mobile-stack-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding:2px 2px 8px;display:flex;overflow-x:auto}.home-mobile-stack-track::-webkit-scrollbar{display:none}.home-mobile-stack-track .reading-shelf-card{scroll-snap-align:start;border:1px solid color-mix(in srgb, var(--border-color) 75%, transparent);border-radius:var(--mobile-radius-md,16px);background:var(--mobile-surface,var(--surface-raised));box-shadow:var(--mobile-shadow-card,var(--shadow-soft));color:inherit;flex:0 0 116px;gap:8px;padding:12px;text-decoration:none;transition:transform .12s;display:grid}.home-mobile-stack-track .reading-shelf-card:active{transform:scale(.97)}.home-mobile-stack-track .reading-shelf-card .book-cover-frame{width:100%}.home-mobile-stack-track .reading-shelf-card-body{gap:4px;display:grid;position:static}.home-mobile-stack-track .reading-shelf-card-body strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:0;font-size:.74rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.home-mobile-stack-track .reading-shelf-author{display:none}.home-mobile-stack-track .reading-shelf-percent{color:var(--accent-strong);font-size:.7rem;font-weight:700;position:static}.home-mobile-stack-track .reading-shelf-bar{height:5px}.home-mobile-stats-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid;overflow:visible}.home-mobile-stat,.stat-tile--mobile{border:1px solid color-mix(in srgb, var(--border-color) 75%, transparent);border-radius:var(--mobile-radius-lg,20px);background:var(--mobile-surface,var(--surface-raised));width:100%;min-width:0;box-shadow:var(--mobile-shadow-card,var(--shadow-soft));text-align:left;justify-items:start;gap:8px;padding:16px 16px 18px;display:grid}.home-mobile-stat--streak,.stat-tile--mobile.stat-tile--streak{border-color:color-mix(in srgb, var(--accent) 32%, var(--border-color));background:linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 55%, var(--surface-raised)), var(--mobile-surface,var(--surface-raised)))}.home-mobile-stat-value,.stat-tile--mobile .stat-tile-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.55rem;font-weight:600;line-height:1}.home-mobile-stat-label,.stat-tile--mobile .stat-tile-label{font-family:var(--font-ui);color:var(--text-soft);font-size:.78rem;font-weight:600}.home-mobile-stat-sub,.stat-tile--mobile .stat-tile-sub{font-family:var(--font-ui);color:var(--accent-strong);font-size:.66rem;font-weight:700}.home-mobile-empty{border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--border-color));border-radius:var(--mobile-radius-lg,20px);background:radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb, var(--accent-soft) 35%, transparent), transparent 70%), var(--mobile-surface-muted,var(--surface));box-shadow:var(--mobile-shadow-card,var(--shadow-soft));text-align:center;place-items:center;gap:12px;padding:32px 22px;display:grid}.home-mobile-empty--idle{padding:24px 20px}.home-mobile-empty-mark{font-size:2.4rem;line-height:1}.home-mobile-empty h2{letter-spacing:-.02em;margin:0;font-size:1.2rem}.home-mobile-empty p{max-width:28ch;font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.5}.home-mobile-empty-btn{width:100%;max-width:300px;margin-top:16px}.home-page .home-panel{border-radius:var(--mobile-radius-xl,24px);box-shadow:var(--mobile-shadow-card,var(--shadow-soft));padding:22px 20px}.home-page .home-panel-head{margin-bottom:16px}.home-page .home-panel-head h2{font-size:.78rem;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-weight:800}.home-page .home-panel-sub{display:none}.home-page .home-goals-tabs{border-radius:var(--radius-pill);background:var(--mobile-surface-muted,var(--surface-soft));width:100%;margin-bottom:16px;padding:4px;display:flex}.home-page .home-goals-tabs button{text-align:center;border-radius:var(--radius-pill);flex:1;padding:12px 14px;font-size:.86rem;font-weight:700}.home-page .home-goals-list{gap:14px}.home-page .home-goal-bar{border-radius:var(--mobile-radius-md,16px);background:var(--mobile-surface-muted,var(--surface-soft));gap:10px;padding:16px 16px 14px;display:grid}.home-page .home-goal-bar-head{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:0;display:flex}.home-page .home-goal-bar-label,.home-page .home-goal-bar-head strong,.home-page .home-goal-bar-value{width:auto;max-width:none;position:static}.home-page .home-goal-bar-label{flex:none;font-size:.88rem}.home-page .home-goal-bar-head strong,.home-page .home-goal-bar-value{letter-spacing:-.03em;white-space:nowrap;font-size:1.45rem;line-height:1.1}.home-page .home-goal-bar-target{font-size:.95rem}.home-page .home-goal-bar-percent{margin-top:2px;font-size:.78rem}.home-page .onboarding-guide{border-radius:var(--mobile-radius-lg,20px)}.home-mobile-recent{gap:14px;display:grid}.home-mobile-recent-empty{border-radius:var(--mobile-radius-md,16px);background:var(--mobile-surface,var(--surface-raised));box-shadow:var(--mobile-shadow-card,var(--shadow-soft));font-family:var(--font-ui);color:var(--text-soft);margin:0;padding:16px;font-size:.88rem;line-height:1.45}.home-mobile-session-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.home-mobile-session-row{border-radius:var(--mobile-radius-md,16px);background:var(--mobile-surface,var(--surface-raised));border:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);box-shadow:var(--mobile-shadow-card,var(--shadow-soft));color:inherit;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .12s,background .12s;display:grid}.home-mobile-session-row:active{background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface-raised));transform:scale(.99)}.home-mobile-session-cover{box-shadow:0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);border-radius:8px;width:48px!important}.home-mobile-session-copy strong{font-family:var(--font-ui);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:.88rem;font-weight:700;display:block;overflow:hidden}.home-mobile-session-copy p,.home-mobile-session-copy time{font-family:var(--font-ui);color:var(--text-soft);margin:0;font-size:.76rem}.home-mobile-session-copy time{margin-top:3px;font-size:.7rem;display:block}.home-mobile-achievement{border-radius:var(--mobile-radius-md,16px);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border-color));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 50%, var(--surface-raised)), var(--mobile-surface,var(--surface-raised)));box-shadow:var(--mobile-shadow-card,var(--shadow-soft));color:inherit;align-items:center;gap:12px;margin-top:4px;padding:14px 16px;text-decoration:none;display:flex}.home-mobile-achievement>span:first-child{font-size:1.5rem;line-height:1}.home-mobile-achievement-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.66rem;font-weight:800;display:block}.home-mobile-achievement strong{font-family:var(--font-ui);font-size:.92rem;font-weight:700}.home-target-achievement{border-radius:var(--mobile-radius-lg,20px);width:100%;min-width:0;max-width:100%;padding:16px}.home-target-head{flex-wrap:wrap;gap:8px}.home-target-link{white-space:nowrap;margin-left:auto;font-size:.76rem}.home-target-body{min-width:0}.home-target-copy{flex:1;min-width:0}.home-target-copy h2{overflow-wrap:break-word;font-size:1.05rem}.home-target-progress .progress-top{flex-wrap:wrap;gap:6px;font-size:.78rem}.home-target-progress .progress-top span{overflow-wrap:anywhere;min-width:0}.home-page .home-panel-head{flex-wrap:wrap;gap:8px}.home-page .home-text-link{white-space:nowrap;font-size:.78rem}.home-page .home-goal-bar-head strong,.home-page .home-goal-bar-value{white-space:nowrap;font-size:1.45rem}.home-page .home-goal-bar-label{flex:none;min-width:0}.home-mobile-stack{width:100%;min-width:0;max-width:100%;overflow:hidden}.home-mobile-stats{width:100%;min-width:0;max-width:100%;overflow:visible}.home-pinned-badge{text-align:left;width:100%;max-width:none;box-shadow:var(--mobile-shadow-card,var(--shadow-soft));flex-direction:row;align-items:center;margin-bottom:4px;padding:14px 16px}.home-pinned-badge-medallion{width:52px;height:52px}.home-pinned-badge-icon{font-size:1.6rem}.home-pinned-badge-copy strong{font-size:.92rem}.home-target-icon{font-size:1.75rem}.home-activity-pager{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:12px;display:grid}.home-activity-pager button{flex:none;width:100%;min-height:44px}.home-activity-pager span{text-align:center;white-space:nowrap}.start-reading-search--embedded{width:100%}.start-reading-search--embedded .start-reading-search-bar{flex-direction:column;align-items:stretch;gap:8px}.start-reading-search--embedded .start-reading-search-field{width:100%}.start-reading-search--embedded .start-reading-search-field input{min-height:48px;font-size:1rem}.start-reading-search-results{z-index:120;border-radius:var(--mobile-radius-md,16px);box-shadow:var(--mobile-shadow-dock,var(--shadow-strong))}.home-mobile-stats{z-index:1;position:relative}.home-cover-open-button{cursor:pointer;text-align:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.home-cover-open-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:14px}.start-reading-search-result{min-height:48px;padding:12px 14px}.reading-spotlight-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.reading-spotlight-action-btn{border-radius:var(--radius-pill);min-height:48px;padding:12px 14px;font-size:.88rem;font-weight:700}.home-columns{gap:var(--mobile-section-gap,26px);grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;display:grid}.home-columns>*{width:100%;min-width:0;max-width:100%}.home-recent-title-full,.home-recent-subtitle,.home-recent-link-full{display:none}}@media (max-width:1100px){.library-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.library-search-wrap{grid-column:1/-1}}@media (max-width:900px){.library-page{max-width:100%}.library-page .onboarding-banner{display:none!important}.library-page .library-controls{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 4px;padding:0;display:grid;position:static;top:auto}.library-page .library-search-wrap{grid-column:1}.library-page .library-filters-toggle{border:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);border-radius:var(--radius-pill);background:var(--mobile-surface-muted,var(--surface-soft));width:auto;min-height:44px;color:var(--text);font-family:var(--font-ui);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.86rem;font-weight:700;display:inline-flex}.library-page .library-filters-toggle[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}.library-page .library-filters-count{background:var(--accent);min-width:1.25rem;height:1.25rem;color:var(--button-primary-text);border-radius:999px;place-items:center;padding:0 5px;font-size:.68rem;font-weight:800;line-height:1;display:inline-grid}.library-page .library-filters-chevron{border-bottom:2px solid;border-right:2px solid;width:.42em;height:.42em;margin-top:-2px;transform:rotate(45deg)}.library-page .library-controls.is-filters-open .library-filters-chevron{margin-top:3px;transform:rotate(-135deg)}.library-page .library-filter-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px 10px;display:none}.library-page .library-controls.is-filters-open .library-filter-fields{display:grid}.library-page .library-filter-field{gap:4px}.library-page .library-filter-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);font-size:.62rem;font-weight:800}.library-page .book-grid,.shelves-page .book-grid,.series-page .book-grid{gap:10px}.library-page .book-card-cover,.shelves-page .book-card-cover,.series-page .book-card-cover{aspect-ratio:auto;height:158px}.library-page .book-content,.shelves-page .book-content,.series-page .book-content{padding:10px 10px 8px}.library-page .book-content>*+*,.shelves-page .book-content>*+*,.series-page .book-content>*+*{margin-top:6px}.library-page .book-content h3,.shelves-page .book-content h3,.series-page .book-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.25;display:-webkit-box;overflow:hidden}.library-page .series-line,.shelves-page .series-line,.series-page .series-line{margin:0;font-size:.74rem}.library-page .book-status-stamp,.shelves-page .book-status-stamp,.series-page .book-status-stamp{min-width:0;padding:4px 8px;font-size:.6rem;top:8px;right:8px}.library-page .book-edition-stamp,.shelves-page .book-edition-stamp,.series-page .book-edition-stamp{max-width:48%;padding:4px 7px;font-size:.56rem;top:10px;left:8px}.library-page .genre-chip:nth-child(n+3),.shelves-page .genre-chip:nth-child(n+3),.series-page .genre-chip:nth-child(n+3){display:none}.library-page .book-content>.tag-sections,.shelves-page .book-content>.tag-sections,.series-page .book-content>.tag-sections{margin-top:6px}.library-page .book-content>.tag-sections .tag-heading,.shelves-page .book-content>.tag-sections .tag-heading,.series-page .book-content>.tag-sections .tag-heading{display:none}.library-page .book-content>.tag-sections .book-meta,.shelves-page .book-content>.tag-sections .book-meta,.series-page .book-content>.tag-sections .book-meta{margin:0}}@media (max-width:768px){.library-summary{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:4px}.active-filter-chips{flex-wrap:wrap;gap:8px}.library-summary .toolbar-btn{width:100%;min-height:48px;font-weight:700}.pagination-controls{flex-wrap:wrap;gap:10px;margin-top:8px}.pagination-controls button{flex:1;min-width:0;min-height:48px}}@media (max-width:420px){.library-controls{grid-template-columns:1fr}.library-page .library-controls{grid-template-columns:minmax(0,1fr) auto}.library-page .book-card-cover,.shelves-page .book-card-cover,.series-page .book-card-cover{height:142px}}@media (max-width:650px){.shelf-toggle{flex-direction:column;align-items:flex-start}}@media (max-width:900px){.shelves-page .shelf-sections{gap:12px}.shelves-page .shelf-section{border-radius:var(--mobile-radius-lg,22px);padding:12px 14px}.shelves-page .shelf-toggle{gap:10px;margin-bottom:0;padding:6px 2px 10px}.shelves-page .shelf-toggle span{font-size:1.02rem}.shelves-page .shelf-toggle[aria-expanded=true]{margin-bottom:8px}.shelves-page .shelf-section:has(.book-grid) .shelf-toggle{margin-bottom:8px}.shelves-page .book-grid{border-top:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);gap:10px;padding-top:10px}.series-page .library-controls{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 8px;padding:0;display:grid;position:static;top:auto}.series-page .library-search-wrap{grid-column:1}.series-page .library-search-input{border-radius:var(--radius-pill);min-height:44px;padding:10px 12px 10px 36px}.series-page .series-search-summary{margin:0 2px 12px;font-size:.86rem}.series-page .shelf-sections{gap:12px}.series-page .shelf-section{border-radius:var(--mobile-radius-lg,22px);padding:12px 14px}.shelf-toggle--series{border-bottom:none;flex-flow:wrap;align-items:center;gap:6px 8px;margin-bottom:0;padding:0}.shelf-toggle-title{flex:100%;font-size:.98rem;font-weight:700;line-height:1.35}.shelf-toggle--series .shelf-toggle-count{display:none}.series-toggle-progress{flex-direction:row;flex:100%;align-items:center;gap:8px;width:100%;min-width:0;max-width:none;display:flex}.series-toggle-progress-meta{color:var(--text-soft);flex-shrink:0;gap:0;font-size:.72rem;font-weight:700}.series-toggle-progress-percent{color:var(--text);font-size:.72rem;font-weight:700}.series-toggle-progress-percent:after{content:"·";color:var(--text-soft);margin:0 5px;font-weight:500}.series-toggle-progress-count{color:var(--text-soft);font-size:.72rem;font-weight:700}.series-progress-bar{flex:auto;min-width:0;height:5px}.series-page .shelf-section .book-grid{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.add-book-page{max-width:100%}.add-book-form{gap:var(--mobile-section-gap,26px)}.add-book-form label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:800}.add-book-genres-cover-row{gap:var(--mobile-section-gap,18px)}.isbn-fetch-row{gap:10px;display:grid}.isbn-fetch-row button{width:100%;min-height:48px}.save-notice{margin-bottom:4px}.book-lookup-results{gap:12px;margin-top:14px}.book-lookup-author-list,.book-lookup-book-list{gap:12px;max-height:min(52vh,420px)}.book-lookup-author,.book-lookup-choice{border-radius:var(--mobile-radius-md,18px);white-space:normal;flex:none;grid-template-columns:48px minmax(0,1fr);height:auto;min-height:96px;padding:12px}.book-lookup-author{grid-template-columns:minmax(0,1fr);min-height:0}.book-lookup-back{min-height:var(--mobile-touch,48px);padding:10px 16px}.book-lookup-choice img{width:48px;height:72px}.book-lookup-choice strong{font-size:.95rem;line-height:1.35}.book-lookup-choice small{font-size:.78rem;line-height:1.35}}@media (max-width:480px){.add-book-genres-cover-row{grid-template-columns:1fr}}@media (max-width:1200px){.reading-log-layout{grid-template-columns:1fr}}@media (max-width:768px){.reading-log-page{max-width:100%;overflow-x:hidden}.reading-log-page .onboarding-banner{display:none!important}.reading-log-layout{gap:var(--mobile-section-gap,26px)}.reading-log-form h3,.heatmap-card h3,.recent-activity-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.82rem;font-weight:800}.reading-log-form textarea{min-height:96px;font-size:1rem}.selected-book-preview{border-radius:var(--mobile-radius-sm,12px);background:var(--mobile-surface-muted,var(--surface-soft));padding:12px}.month-card h4{font-size:.9rem;font-weight:700}.calendar-month-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-month-nav-label{text-align:center;color:var(--text);flex:1;margin:0;font-size:1rem;font-weight:800}.calendar-month-nav-btn{border:1px solid var(--border-color);border-radius:var(--radius-circle);background:var(--mobile-surface-muted,var(--surface-soft));width:40px;height:40px;color:var(--text);cursor:pointer;place-items:center;padding:0;font-size:1.4rem;line-height:1;display:grid}.calendar-month-nav-btn:disabled{opacity:.35;cursor:default}.heatmap-card .year-calendar{padding:0;display:block;overflow:visible}.heatmap-card .month-card{width:100%;min-width:0;box-shadow:none;background:0 0;border:none;padding:4px 0 0;display:none}.heatmap-card .month-card.is-active{display:block}.heatmap-card .month-card h4{display:none}.heatmap-card .weekday-row span{font-size:.68rem}.heatmap-card .calendar-day:not(.blank){border-radius:10px;min-height:40px;font-size:.82rem}.selected-day-logs{border-top:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);margin-top:14px;padding-top:14px}.reading-log-list{gap:10px}.reading-log-item strong{font-size:.94rem;font-weight:700}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.button-row .action-btn{width:100%;min-height:48px;font-weight:700}.achievement-summary,.achievement-summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.level-card{border-radius:var(--mobile-radius-lg,22px);flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px;padding:20px 18px}.level-card h3{font-size:1.3rem}.rank-progress{width:100%;margin:10px 0}.latest-achievement-card{border-radius:var(--mobile-radius-lg,22px);flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px;padding:20px 18px}.achievement-summary .insight-card{border-radius:var(--mobile-radius-md,18px);padding:16px 14px}.xp-breakdown{border-radius:var(--mobile-radius-lg,22px);margin-bottom:26px;padding:20px 18px}.xp-breakdown h3{margin-bottom:12px}.xp-breakdown-grid{grid-template-columns:1fr 1fr;gap:10px}.xp-breakdown-grid span,.xp-breakdown-grid strong{font-size:.82rem;display:block}.xp-breakdown-grid strong{margin-top:2px}.achievement-browser-header{flex-direction:column;align-items:stretch;gap:10px;margin:22px 0 12px}.achievement-toolbar{border-radius:var(--radius-lg);grid-template-columns:1fr;gap:8px;width:100%;padding:10px}.achievement-filter-select{width:100%;min-height:48px;padding:10px 12px;font-size:.88rem}.achievement-grid{grid-template-columns:1fr;gap:14px}.achievement-card{border-radius:var(--mobile-radius-lg,22px);gap:12px;padding:18px 16px;transform:none}.achievement-card:hover{transform:none}.achievement-card.locked{filter:none;opacity:.78}.achievement-badge.is-locked{filter:none;opacity:.86}.achievement-card.rare.unlocked,.achievement-card.epic.unlocked,.achievement-card.legendary.unlocked,.achievement-card.secret.unlocked{box-shadow:var(--mobile-shadow-card,var(--shadow-soft))}.achievement-icon,.level-card .level-badge,.level-badge{width:44px;height:44px;font-size:1.35rem}.achievement-card h4{font-size:.95rem}.achievement-card p{font-size:.78rem;line-height:1.35}.achievement-footer{flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px}.achievement-category{padding:3px 8px;font-size:.68rem}}@media (max-width:420px){.achievement-summary,.achievement-summary-grid{grid-template-columns:1fr}}@media (max-width:1100px){.insights-page .goal-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.insights-page{width:100%;min-width:0;max-width:100%;margin:0}.insights-page .goal-progress-grid,.insights-page .insights-grid,.insights-page .monthly-insights-grid,.insights-page .monthly-pie-grid{grid-template-columns:minmax(0,1fr)}.insights-page .insights-header{flex-direction:column;align-items:flex-start;gap:12px}.insights-page .goal-card,.insights-page .insight-card{width:100%;min-width:0}.insights-page .goal-card strong,.insights-page .insight-card strong{overflow-wrap:anywhere;font-size:1.05rem}.insights-page .collapsible-toggle{width:100%;min-width:0;padding:14px 16px;font-size:.95rem}}@media (max-width:768px){.insights-page .goal-progress-grid{grid-template-columns:1fr;gap:16px}.insights-page .collapsible-section{padding:6px 0}}@media (max-width:1000px){.settings-layout{flex-direction:column;gap:16px;display:flex}.settings-header{margin-bottom:2px}.settings-header h2{font-size:1.7rem}.settings-header p{font-size:.98rem}.settings-jump{gap:6px;display:grid;position:static}.settings-nav-hint{color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;margin:0;padding:0 4px;font-size:.72rem;font-weight:800;display:block}.settings-contents{z-index:auto;width:100%;max-width:100%;box-shadow:none;-webkit-backdrop-filter:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;gap:10px;margin:0;padding:0 36px 12px 2px;display:flex;position:relative;top:auto;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 40px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 40px),#0000 100%)}.settings-contents p.settings-nav-title{display:none}.settings-contents a{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:var(--radius-pill);background:var(--mobile-surface-muted,var(--surface-raised));color:var(--text);white-space:nowrap;flex:none;padding:10px 16px;font-size:.9rem;font-weight:700;transform:none}.settings-contents a.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-color));background:var(--accent-soft)}.settings-contents a.settings-nav-desktop,.settings-page #keyboard-shortcuts{display:none}.settings-main{gap:12px}.settings-card{border-radius:var(--mobile-radius-lg,22px);gap:0;padding:0;scroll-margin-top:12px;overflow:hidden}.settings-card-toggle{pointer-events:auto;cursor:pointer;-webkit-appearance:none;appearance:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:64px;padding:18px 20px;display:grid}.settings-card-header{margin:0}.settings-card-header .soft-label{font-size:.72rem}.settings-card-header h3{margin:4px 0 0;font-size:1.22rem;line-height:1.2}.settings-card-header p{display:none}.settings-card-chevron{border-right:2px solid var(--text-soft);border-bottom:2px solid var(--text-soft);width:12px;height:12px;margin-right:4px;transition:transform .18s;display:block;transform:rotate(45deg)}.settings-card.is-open .settings-card-chevron{margin-top:6px;transform:rotate(-135deg)}.settings-card-body{gap:16px;padding:0 20px 20px;display:none}.settings-card.is-open .settings-card-body{display:grid}.settings-profile-hero{border-radius:var(--mobile-radius-md,18px);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;padding:16px;display:grid}.settings-profile-copy{min-width:0}.profile-avatar-preview,.profile-avatar-placeholder{width:72px;height:72px}.profile-avatar-placeholder{font-size:1.6rem}.settings-profile-hero strong{font-size:1.12rem}.settings-profile-hero p{margin:2px 0 0;font-size:.88rem}.settings-photo-btn{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:var(--radius-pill);background:var(--surface);width:100%;min-height:46px;color:var(--text);flex-direction:row;grid-column:1/-1;justify-content:center;align-items:center;padding:10px 16px;font-size:.92rem;font-weight:700;display:flex;position:relative;overflow:hidden}.settings-photo-btn input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;font-size:0;position:absolute;top:0;bottom:0;left:0;right:0}.settings-page .settings-profile-email-field{display:none!important}.settings-page .form-grid.two{grid-template-columns:1fr}.theme-picker-note{font-size:.88rem}.theme-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-picker-card{border-radius:16px;gap:8px;padding:12px}.theme-picker-card strong{font-size:.9rem}.theme-picker-desc{display:none}.theme-picker-swatch{width:18px;height:18px}.settings-page textarea{min-height:104px}.settings-actions{margin-top:4px}.settings-actions .primary-submit,.settings-data-panel .primary-submit,.settings-tool-btn{width:100%;min-width:0;min-height:48px;font-size:.95rem}.settings-goal-group{border-radius:var(--mobile-radius-md,18px);padding:16px}.settings-goal-group h4{margin-bottom:12px;font-size:1rem}.settings-goal-group+.settings-goal-group{margin-top:0}.settings-page .form-grid.three,.settings-goal-grid.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row{min-height:48px;font-size:.95rem}.settings-goals-nudge{margin:0;font-size:.92rem}.settings-copy-short{display:inline}.settings-copy-long{display:none}.settings-data-grid{grid-template-columns:1fr;gap:12px}.settings-data-panel,.settings-warning-card,.settings-support-card,.update-notes-box{border-radius:var(--mobile-radius-md,18px);padding:16px}.file-upload-label,.import-backup-label{width:100%}.settings-data-panel .file-upload-label,.settings-data-panel .import-backup-label{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:var(--radius-pill);background:var(--surface);flex-direction:row;justify-content:center;align-items:center;min-height:46px;padding:10px 16px;display:flex;position:relative;overflow:hidden}.settings-data-panel .file-upload-label input,.settings-data-panel .import-backup-label input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:0;position:absolute;top:0;bottom:0;left:0;right:0}.update-note-line{font-size:.9rem;line-height:1.5}.csv-report-modal{border-radius:var(--mobile-radius-xl,28px) var(--mobile-radius-xl,28px) 0 0;width:100%;max-height:min(92dvh,720px);padding:18px}.csv-report-overlay{place-items:end center;padding:0}.csv-report-stats{grid-template-columns:1fr}}@media (max-width:420px){.settings-page .form-grid.three,.settings-goal-grid.form-grid.three{grid-template-columns:1fr}.theme-picker-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.wrap-section{padding:var(--space-4)}}@media (max-width:700px){.wrapup-page .goal-progress-grid,.wrapup-page .monthly-insights-grid,.wrapup-page .charts-grid{grid-template-columns:1fr}.wrap-chart-card .bar-row{grid-template-columns:72px 1fr 48px}}@media (max-width:900px){.wrap-stat-grid,.wrap-feature-grid,.wrap-detail-grid,.wrap-chart-grid{grid-template-columns:1fr}}@media (max-width:700px){.wrap-story-hero{padding:var(--space-4);margin:var(--space-4) 0}.wrap-story-hero h2{font-size:clamp(1.8rem,9vw,3rem);line-height:1}.wrap-section{padding:22px 20px}.wrapup-controls{flex-direction:column;align-items:stretch;width:100%}.wrapup-control-field,.wrapup-controls select{width:100%;min-width:0}.wrap-stat-grid,.wrap-feature-grid,.wrap-detail-grid,.wrap-chart-grid{gap:var(--space-3)}.wrap-stat-card,.wrap-highlight,.wrap-chart-card{padding:var(--space-3)}.wrap-story-player-backdrop{padding:0}.wrap-story-player{border-radius:0;width:100%;height:100dvh}.wrap-story-player-header,.wrap-story-player-footer,.wrap-story-player-stage{padding-left:var(--space-4);padding-right:var(--space-4)}.wrapup-mode-actions{width:100%}.wrapup-mode-actions .primary-btn,.wrapup-mode-actions .secondary-btn{flex:100%}.wrap-story-stat-row{grid-template-columns:1fr}.wrapup-tabs{width:100%;display:flex}.wrapup-tabs button{flex:auto;padding-inline-start:10px;padding-inline-end:10px;font-size:.78rem}.wrap-browse-actions,.wrap-browse-actions .wrap-share-actions{width:100%}.wrap-browse-actions .primary-btn,.wrap-browse-actions .secondary-btn,.wrap-share-actions .primary-btn,.wrap-share-actions .secondary-btn{flex:100%}}@media (max-width:960px){.auth-page{align-items:start}.auth-hero{grid-template-columns:1fr}.auth-card{justify-self:stretch;max-width:none}}@media (max-width:680px){.auth-page{min-height:100dvh;padding:max(20px, env(safe-area-inset-top,0px)) 20px max(28px, env(safe-area-inset-bottom,0px));align-items:stretch}.auth-hero{flex-direction:column;gap:22px;width:100%;display:flex}.auth-hero-copy{order:0;gap:0}.auth-hero-copy h1,.auth-hero-text,.auth-feature-grid{display:none}.auth-logo-stage{justify-content:center;display:flex}.auth-logo{width:min(220px,64vw);transform:none}.auth-card{border-radius:var(--mobile-radius-xl,28px);order:1;justify-self:stretch;max-width:none;padding:26px 22px}.auth-card:before{display:none}.auth-card-header{margin-bottom:20px}.auth-card-header h2{font-size:1.7rem}.auth-modal-backdrop{place-items:end center;padding:0}.auth-modal{width:100%;max-height:94dvh;padding:28px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;overflow-y:auto}}@media (max-width:768px){html{-webkit-text-size-adjust:100%}body{overflow-x:clip}}@media (max-width:900px){html{-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;background-attachment:scroll}.app-footer-cozy,.page-header{display:none}.app-stage{padding-bottom:0}.reading-spotlight-inner{gap:14px;padding:14px}.reading-spotlight-copy h2{font-size:1.08rem;line-height:1.22}.reading-spotlight-cta{border-radius:var(--radius-pill);min-height:48px;padding:12px 16px;font-size:.94rem;font-weight:700}.settings-layout{gap:var(--mobile-section-gap,18px)}.settings-main{gap:var(--mobile-section-gap,18px);display:grid}.settings-contents p{display:none}.settings-contents{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.settings-contents::-webkit-scrollbar{display:none}.settings-contents a{scroll-snap-align:start;white-space:nowrap;color:var(--text-soft);flex:none;text-decoration:none}.pagination-controls button{min-height:48px}}@media (max-width:420px){.library-controls{grid-template-columns:1fr}}@media (max-width:900px){:root{--mobile-gutter:22px;--mobile-section-gap:26px;--mobile-radius-sm:14px;--mobile-radius-md:18px;--mobile-radius-lg:22px;--mobile-radius-xl:28px;--mobile-bar-height:56px;--mobile-dock-height:68px;--mobile-dock-inset:14px;--mobile-dock-radius:26px;--mobile-touch:48px;--mobile-shadow-card:0 1px 2px color-mix(in srgb, var(--text) 5%, transparent), 0 8px 24px color-mix(in srgb, var(--text) 7%, transparent);--mobile-shadow-dock:0 4px 6px color-mix(in srgb, var(--text) 4%, transparent), 0 16px 40px color-mix(in srgb, var(--text) 12%, transparent);--mobile-surface:var(--surface-raised);--mobile-surface-muted:color-mix(in srgb, var(--surface-soft) 88%, var(--surface))}html{height:auto}body{min-height:100%;-webkit-overflow-scrolling:touch;background:var(--page-bg);min-height:100dvh;overflow:hidden auto}#root{min-height:100%}.app-layout{width:100%;max-width:100vw;min-height:100dvh}.app-stage{background:var(--page-pattern), var(--page-bg-soft,var(--page-bg));background-attachment:scroll;flex-direction:column;width:100%;min-height:100dvh;display:flex}.app-mobile-bar{z-index:90;flex-shrink:0;position:sticky;top:0}.page-content{width:100%;max-width:100%;padding:12px var(--mobile-gutter) calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px) + 36px);flex:auto;overflow:visible}.page-content>*{min-width:0;max-width:100%}.home-page,.library-page,.reading-log-page,.add-book-page,.settings-page,.insights-page,.achievements-page{width:100%;min-width:0;max-width:100%}.home-mobile-stack{width:100%;min-width:0;max-width:100%;overflow:hidden}.home-mobile-stats{width:100%;min-width:0;max-width:100%;overflow:visible}.home-mobile-stats-track,.home-mobile-stack-track{max-width:100%}.home-target-achievement,.home-panel,.home-mobile-now-reading{width:100%;min-width:0;max-width:100%}.home-target-head,.home-panel-head,.progress-top,.insights-page .bar-chart-top{gap:10px;min-width:0}.home-target-head,.home-panel-head{flex-wrap:wrap}.home-target-copy,.home-target-body,.home-goal-bar{min-width:0}.home-target-copy h2{overflow-wrap:break-word}.home-target-link,.home-text-link{white-space:nowrap;font-size:.84rem}.home-goal-bar-head{flex-direction:column;align-items:stretch;gap:6px;display:flex}.home-goal-bar-label{flex:none;min-width:0}.home-goal-bar-head strong,.home-goal-bar-value{text-align:left;white-space:nowrap;flex-shrink:0;font-size:1.4rem;line-height:1.1;position:static}.home-goals-tabs{width:100%;max-width:100%;display:flex}.home-mobile-session-row{max-width:100%}.home-mobile-session-copy strong{white-space:normal;overflow-wrap:anywhere}.insights-page{margin:0}.insights-page .goal-progress-grid,.insights-page .insights-grid,.insights-page .monthly-insights-grid,.insights-page .charts-grid,.insights-page .monthly-pie-grid{grid-template-columns:1fr}.insights-page .chart-card.featured-chart{grid-column:auto}.insights-page .goal-card,.insights-page .insight-card,.insights-page .chart-card,.insights-page .collapsible-section{width:100%;min-width:0;max-width:100%}.insights-page .goal-card strong{overflow-wrap:anywhere;font-size:1.1rem}.insights-page .goal-card p,.insights-page .bar-chart-top span{overflow-wrap:anywhere}.insights-page .collapsible-toggle{width:100%;min-width:0}.insights-page .donut-chart-layout{grid-template-columns:1fr}.home-mobile-stack-track,.home-mobile-stats-track,.settings-contents,.year-calendar{max-width:100%}.app-mobile-bar{min-height:calc(var(--mobile-bar-height) + env(safe-area-inset-top,0px));padding:max(12px, env(safe-area-inset-top,0px)) var(--mobile-gutter) 12px;border-bottom:1px solid color-mix(in srgb, var(--border-color) 55%, transparent);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.35);box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 8%, transparent);justify-content:space-between;align-items:center;gap:12px}.app-mobile-brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.app-mobile-home-name{flex-direction:column;gap:1px;min-width:0;line-height:1.15;display:flex}.app-mobile-greeting{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.68rem;font-weight:800}.app-mobile-first-name,.app-mobile-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.025em;font-size:1.08rem;font-weight:700;overflow:hidden}.sync-status--mobile{display:none}.app-mobile-mark{filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--accent) 35%, transparent));font-size:1.55rem}.app-mobile-avatar{width:42px;height:42px;box-shadow:var(--mobile-shadow-card);border-width:2px}.app-layout,.app-stage,.page-content{max-width:100%;overflow-x:hidden}.app-dock{z-index:100;width:100%;max-width:100%;height:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px));padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border:none;border-top:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.4);box-shadow:0 -4px 24px color-mix(in srgb, var(--text) 8%, transparent);border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.dock-link{letter-spacing:.01em;border-radius:18px;gap:3px;min-height:44px;padding:6px 4px;font-size:.62rem;font-weight:700;transition:transform .15s cubic-bezier(.22,1,.36,1),background .15s,color .15s}.dock-link:active{transform:scale(.94)}.dock-link svg{width:23px;height:23px}.dock-link.active,.dock-link[aria-current=page]{background:color-mix(in srgb, var(--accent-soft) 85%, var(--surface-raised));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}.dock-link--accent{box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 42%, transparent), inset 0 1px 0 #ffffff40;border-radius:16px}.dock-link--accent:active{transform:scale(.96)}.app-drawer-backdrop{background:color-mix(in srgb, var(--overlay) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-drawer{padding:10px 20px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 40px color-mix(in srgb, var(--text) 14%, transparent);border-radius:24px 24px 0 0;gap:6px}.app-drawer-handle{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text-soft) 35%, transparent);width:36px;height:4px;margin:0 auto 12px}.app-drawer-head h2{letter-spacing:-.02em;font-size:1.28rem}.drawer-nav-link{min-height:var(--mobile-touch);border-radius:var(--mobile-radius-md);font-size:.95rem;transition:background .12s,transform .12s}.drawer-nav-link:active{background:var(--accent-soft);transform:scale(.99)}.drawer-nav-link.active,.drawer-nav-link[aria-current=page]{background:color-mix(in srgb, var(--accent-soft) 90%, var(--surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.home-page,.library-page,.reading-log-page,.insights-page,.achievements-page,.settings-page,.wrapup-page,.shelves-page,.add-book-page{gap:var(--mobile-section-gap)}.card,.form-card,.goal-card,.insight-card,.chart-card,.level-card,.achievement-card,.wrap-section,.home-panel,.onboarding-guide,.month-card,.reading-log-item,.heatmap-card,.shelf-section{border:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);border-radius:var(--mobile-radius-lg);background:var(--mobile-surface);box-shadow:var(--mobile-shadow-card);padding:20px 18px}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:var(--mobile-touch);border-radius:var(--mobile-radius-sm);border:1px solid color-mix(in srgb, var(--border-color) 85%, transparent);background:var(--mobile-surface);-webkit-appearance:none;appearance:none;padding:12px 14px;font-size:1rem}input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.primary-btn,.secondary-btn,.primary-submit,.action-btn{min-height:var(--mobile-touch);border-radius:var(--radius-pill);letter-spacing:.01em;padding:12px 18px;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .12s}.primary-btn:active,.secondary-btn:active,.primary-submit:active,.action-btn:active{transform:scale(.98)}.library-page{padding-top:0}.library-page .onboarding-banner,.reading-log-page .onboarding-banner{display:none!important}.library-page .library-controls{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-inline-start:0;margin-inline-end:0;padding:0;display:grid;top:auto;position:static!important}.library-page .library-filters-toggle{width:auto;min-height:44px}.library-page .library-filter-fields{grid-column:1/-1}.library-page .library-search-input,.series-page .library-search-input{border-radius:var(--radius-pill);background:var(--mobile-surface-muted);min-height:44px;padding:10px 12px 10px 36px;font-size:.94rem}.series-page .library-controls{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 8px;padding:0;display:grid;top:auto;position:static!important}.library-page .library-controls select{background:var(--mobile-surface-muted);min-height:38px;padding:6px 10px;font-size:.82rem}.library-page .library-filter-label{font-size:.62rem}.library-page .library-filter-field{gap:4px}.library-page .book-grid,.shelves-page .book-grid,.series-page .book-grid{gap:10px}.library-page .book-card-cover,.shelves-page .book-card-cover,.series-page .book-card-cover{aspect-ratio:auto;height:158px}.library-page .book-content,.shelves-page .book-content,.series-page .book-content{padding:10px 10px 8px}.library-page .book-content>*+*,.shelves-page .book-content>*+*,.series-page .book-content>*+*{margin-top:6px}.library-page .book-content h3,.shelves-page .book-content h3,.series-page .book-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;font-weight:700;line-height:1.28;display:-webkit-box;overflow:hidden}.library-page .book-status-stamp,.shelves-page .book-status-stamp,.series-page .book-status-stamp{min-width:0;padding:4px 8px;font-size:.6rem;top:8px;right:8px}.library-page .book-edition-stamp,.shelves-page .book-edition-stamp,.series-page .book-edition-stamp{max-width:48%;padding:4px 7px;font-size:.56rem;top:10px;left:8px}.library-page .book-content>.tag-sections .tag-heading,.shelves-page .book-content>.tag-sections .tag-heading,.series-page .book-content>.tag-sections .tag-heading{display:none}.library-page .book-card-icon-actions,.shelves-page .book-card-icon-actions,.series-page .book-card-icon-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.library-page .book-card-icon-actions button span:last-child,.shelves-page .book-card-icon-actions button span:last-child,.series-page .book-card-icon-actions button span:last-child{display:none}.add-book-page .form-submit-bar{left:0;right:0;bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px));z-index:90;width:100%;padding:10px var(--mobile-gutter);border:none;border-top:1px solid color-mix(in srgb, var(--border-color) 65%, transparent);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -4px 20px color-mix(in srgb, var(--text) 8%, transparent);border-radius:0;flex-direction:row;align-items:stretch;gap:10px;margin:0;display:flex;position:fixed}.add-book-page .form-submit-bar button{flex:1;min-height:48px;margin:0}.add-book-page .add-book-form{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.filter-chip{border-radius:var(--radius-pill);padding:6px 12px;font-size:.78rem;font-weight:600}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.book-card{border-radius:var(--mobile-radius-lg);box-shadow:var(--mobile-shadow-card);transition:transform .15s}.book-card:active{transform:scale(.98)}.book-content{padding:14px 14px 16px}.book-content h3{font-size:.95rem;font-weight:700;line-height:1.35}.reading-log-layout{gap:var(--mobile-section-gap)}.reading-log-form,.heatmap-card{padding:16px}.year-calendar{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;padding:4px 2px 12px;display:flex;overflow-x:auto}.reading-log-page .year-calendar{scroll-snap-type:none;padding:0;display:block;overflow:visible}.month-card{scroll-snap-align:start;flex-shrink:0;min-width:248px;padding:14px}.reading-log-page .month-card{width:100%;min-width:0;box-shadow:none;background:0 0;border:none;padding:4px 0 0;display:none}.reading-log-page .month-card.is-active{display:block}.reading-log-page .month-card h4{display:none}.reading-log-page .calendar-day:not(.blank){border-radius:10px;min-height:40px;font-size:.82rem}.calendar-day:not(.blank){border-radius:8px;min-height:28px;font-size:.68rem;font-weight:600}.calendar-day.read-light,.calendar-day.read-medium,.calendar-day.read-heavy{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent)}.add-book-form{gap:var(--mobile-section-gap)}.add-book-page .book-lookup-book-list,.add-book-page .book-lookup-author-list{flex-direction:column;align-items:stretch;gap:12px;display:flex}.add-book-page .book-lookup-choice,.add-book-page .book-lookup-author{white-space:normal;flex:none;grid-template-columns:48px minmax(0,1fr);align-items:start;height:auto;min-height:96px;display:grid;overflow:visible}.add-book-page .book-lookup-author{grid-template-columns:minmax(0,1fr);min-height:0}.add-book-page .book-lookup-choice span,.add-book-page .book-lookup-author span{white-space:normal;flex-direction:column;gap:3px;min-width:0;display:flex}.add-book-page .book-lookup-choice strong,.add-book-page .book-lookup-choice small,.add-book-page .book-lookup-author strong,.add-book-page .book-lookup-author small{white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;display:block}.cover-drop-zone{border-radius:var(--mobile-radius-md);background:var(--mobile-surface-muted);border-style:dashed;min-height:140px}.add-book-cover-column .cover-upload-preview{width:96px;height:144px;box-shadow:var(--mobile-shadow-card);border-radius:10px}.achievement-icon{width:48px;height:48px}.modal-panel,.quick-log-modal,.book-details-modal,.duplicate-edition-modal{border-radius:var(--mobile-radius-xl) var(--mobile-radius-xl) 0 0;max-height:min(92dvh,720px)}.duplicate-edition-backdrop{place-items:end center;padding:0}.duplicate-edition-modal{width:100%;max-width:none;padding:22px 20px calc(18px + env(safe-area-inset-bottom,0px))}.duplicate-edition-actions{grid-template-columns:1fr 1.4fr;display:grid}.duplicate-edition-actions .secondary-btn,.duplicate-edition-actions .primary-btn{width:100%}.page-header{display:none!important}.home-notice-banner,.save-notice{border-radius:var(--mobile-radius-md);font-size:.88rem;font-weight:600}.insights-page .collapsible-content{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.insights-page .goal-progress-grid,.insights-page .insights-grid,.insights-page .monthly-insights-grid,.insights-page .charts-grid,.insights-page .monthly-pie-grid{gap:12px;width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.insights-page .charts-grid>*,.insights-page .donut-feature-card,.insights-page .chart-card.featured-chart{width:100%;min-width:0;max-width:100%;grid-column:1/-1!important}.insights-page .monthly-pie-card.donut-feature-card{grid-column:auto!important}.insights-page .chart-card{padding:14px 16px;overflow:hidden}.insights-page .chart-card-header{flex-wrap:wrap;gap:6px;margin-bottom:12px}.insights-page .chart-card-header h4,.insights-page .chart-card h4{overflow-wrap:anywhere;font-size:.92rem}.insights-page .donut-chart-layout{grid-template-columns:1fr;justify-items:center;gap:14px}.insights-page .donut-chart{width:min(168px,52vw);height:min(168px,52vw);margin-inline-start:auto;margin-inline-end:auto}.insights-page .donut-chart-list{width:100%}.insights-page .bar-chart{gap:10px}.insights-page .bar-chart-top strong{overflow-wrap:anywhere;font-size:.8rem}.insights-page .bar-chart-top span{flex-shrink:0;font-size:.76rem}.home-mobile-stats-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid;overflow:visible}.stat-tile--mobile{text-align:left;align-items:flex-start;width:100%;min-width:0;padding:16px}.home-goal-bar-head{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:0;display:flex}.home-goal-bar-label,.home-goal-bar-head strong,.home-goal-bar-value{float:none;top:auto;bottom:auto;left:auto;right:auto;position:static!important}.reading-log-form,.heatmap-card,.level-card,.xp-breakdown,.wrap-section{padding:22px 20px}.reading-log-item{padding:16px 18px}.achievement-card{padding:18px 16px}.achievement-grid,.insights-grid,.goal-progress-grid{gap:16px}.library-summary{padding:4px 2px 8px;font-size:.92rem}.page-content .section-card,.page-content .form-card{padding:22px 20px}.home-page{overflow-x:hidden}.home-columns{gap:22px;width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.home-columns>*{width:100%;min-width:0;max-width:100%}.streak-reminder-banner{margin-bottom:8px;padding:18px 16px}.streak-reminder-banner-copy{min-width:0}.streak-reminder-banner-copy strong,.streak-reminder-banner-copy p{overflow-wrap:break-word;word-break:normal;white-space:normal}.streak-reminder-banner-actions{grid-template-columns:1fr;gap:10px;display:grid}.streak-reminder-banner-action{justify-content:center;width:100%}.home-mobile-now-cover{width:92px}.home-mobile-now-frame{max-height:none}.home-mobile-now-copy{text-align:left}.home-page .home-goals-tabs{grid-template-columns:1fr 1fr;display:grid}.home-activity-pager{flex-wrap:nowrap;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.home-activity-pager button{flex:none;width:100%;min-height:44px}.home-activity-pager span{white-space:nowrap}.streak-reminder-banner{z-index:1;position:relative}.streak-reminder-banner-dismiss{text-align:center;width:100%;min-height:44px;margin-top:4px;position:static}.home-mobile-session-copy strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (max-width:420px){:root{--mobile-gutter:18px;--mobile-section-gap:22px;--mobile-dock-inset:10px}.library-page .library-controls{grid-template-columns:minmax(0,1fr) auto}.library-page .book-card-cover,.shelves-page .book-card-cover,.series-page .book-card-cover{height:142px}.dock-link span{font-size:.6rem}.book-grid{gap:14px}}
