:root{--font-body:"Georgia", "Palatino Linotype", "Book Antiqua", serif;--site-max-width:1180px;--page-gutter:clamp(16px, 4vw, 32px);--section-gap:24px;--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;--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%);--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);--button-bg:var(--surface);--button-bg-hover:var(--surface-soft);--button-text:var(--sage-dark);--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);--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-bg:linear-gradient(180deg, var(--nav-link-active-top), var(--nav-link-active-bottom));--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;--form-field-bg:var(--surface-raised);--form-field-border:var(--border-color);--form-field-text:var(--text);--form-field-placeholder:var(--text-soft);--progress-track:var(--surface-muted);--progress-fill:var(--accent);--chip-bg:var(--surface-muted);--chip-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);--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);--card-bg:var(--surface);--danger-bg:var(--button-danger-bg);--danger-text:var(--button-danger-text)}:root,:root[data-theme=forest-light],[data-theme=forest-light]{--brand-gold:#f4b002;--brand-orange:#c76605;--brand-green:#33520f;--brand-leaf:#667a17;--brand-cream:#fbf2bb;--page-bg:#e7dcc0;--page-bg-soft:#fbf2bb;--app-background-image:none;--surface:#ead9ad;--surface-soft:#dfc890;--surface-raised:#f7edd0;--surface-muted:#d9c28c;--text:#24190d;--text-soft:#574627;--text-inverse:#24190d;--accent:var(--brand-gold);--accent-hover:#ffd35a;--accent-strong:var(--brand-orange);--accent-soft:#f4b0022e;--accent-muted:#7f8f1f29;--success:var(--brand-green);--success-soft:#dfe8c7;--danger:#a94438;--danger-soft:#fff3ec;--border-color:#33520f3d;--border-strong:#33520f6b;--shadow-soft:0 8px 22px #40301414;--shadow:0 18px 42px #4030141f;--shadow-strong:0 24px 70px #2d1e0f3d;--focus-ring:#f4b002bf;--overlay:#2d1e0f9e;--nav-link-active-text:#24190d;--nav-link-active-border:#5037122e;--chip-bg:var(--surface-muted)}:root[data-theme=forest-dark],[data-theme=forest-dark]{--brand-gold:#f4b002;--brand-orange:#c76605;--brand-green:#c3ce50;--brand-leaf:#9aa221;--brand-cream:#fff3c4;--page-bg:#10180a;--page-bg-soft:#1b2a10;--app-background-image:none;--surface:#263719;--surface-soft:#1d2b13;--surface-raised:#314522;--surface-muted:#44582b;--text:#fff3c4;--text-soft:#d9c98f;--text-inverse:#17200d;--accent:#f4b002;--accent-hover:#ffd35a;--accent-strong:#c76605;--accent-soft:#f4b0022e;--accent-muted:#9aa22133;--success:#c3ce50;--success-soft:#c3ce502e;--danger:#9f3f35;--danger-soft:#ffd8cf;--border-color:#f4b0023d;--border-strong:#f4b00275;--shadow-soft:0 10px 24px #00000047;--shadow:0 18px 44px #0000006b;--shadow-strong:0 24px 70px #0009;--focus-ring:#f4b002f2;--overlay:#000000b8;--sage:var(--success);--sage-dark:var(--text);--chip-bg:var(--surface-muted)}:root[data-theme=old-library],[data-theme=old-library]{--brand-gold:#c89b3c;--brand-orange:#8a4a24;--brand-green:#2f3a24;--brand-leaf:#6f7340;--brand-cream:#f3dfb1;--page-bg:#24140c;--page-bg-soft:#3a2114;--app-background-image:none;--surface:#f0dcae;--surface-soft:#dfbf7a;--surface-raised:#f7e8c0;--surface-muted:#b88945;--text:#24140c;--text-soft:#5a351d;--text-inverse:#f7e8c0;--accent:#c89b3c;--accent-hover:#e0b552;--accent-strong:#7a2f1b;--accent-soft:#c89b3c38;--accent-muted:#522b1847;--success:#4f5f2f;--success-soft:#4f5f2f2e;--danger:#7a2f1b;--danger-soft:#f3d2c1;--border-color:#4826134d;--border-strong:#48261385;--shadow-soft:0 10px 24px #1e0c042e;--shadow:0 18px 44px #1e0c0447;--shadow-strong:0 24px 70px #0a04027a;--focus-ring:#c89b3cf2;--overlay:#140803c2;--sage:var(--success);--sage-dark:var(--text);--chip-bg:#d6ad68}:root[data-theme=wood],[data-theme=wood]{--brand-gold:#e0a735;--brand-orange:#a85f22;--brand-green:#d8bf87;--brand-leaf:#7f8f35;--brand-cream:#f2dfad;--page-bg:#4a2b16;--page-bg-soft:#7b4a25;--app-background-image:url(/themes/woodeffect.webp);--surface:#3a1f0ee6;--surface-soft:#4e2b14eb;--surface-raised:#5c3216f0;--surface-muted:#784822d1;--text:#fff1c7;--text-soft:#f0ddb0;--text-inverse:#2b1608;--accent:#e0a735;--accent-hover:#f1bf50;--accent-strong:#a85f22;--accent-soft:#e0a73547;--accent-muted:#56301638;--success:#d8bf87;--success-soft:#d8bf872e;--danger:#8b3527;--danger-soft:#f5d4c8;--border-color:#ffdca01f;--border-strong:#ffdca052;--shadow-soft:0 10px 24px #2814082e;--shadow:0 18px 44px #2814084d;--shadow-strong:0 24px 70px #1408027a;--focus-ring:#e0a735f2;--overlay:#1e0c03b3;--card-bg:#3e2210e0;--chip-bg:#8c5c2ad1;--sage:var(--success);--sage-dark:var(--brand-green)}:root[data-theme=meadow],[data-theme=meadow]{--brand-gold:#f3c64b;--brand-orange:#d48a31;--brand-green:#3f6f35;--brand-leaf:#7fa84f;--brand-cream:#fbf4cf;--page-bg:#dcecc6;--page-bg-soft:#f8f3cf;--app-background-image:none;--surface:#eef1c6;--surface-soft:#d4e4a9;--surface-raised:#fff8d9;--surface-muted:#bad18e;--text:#233018;--text-soft:#52663b;--text-inverse:#18230f;--accent:#f3c64b;--accent-hover:#ffe078;--accent-strong:#d48a31;--accent-soft:#f3c64b3d;--accent-muted:#7fa84f3d;--success:#3f6f35;--success-soft:#3f6f3529;--danger:#a84d42;--danger-soft:#ffe3dc;--border-color:#3f6f3538;--border-strong:#3f6f356b;--shadow-soft:0 10px 24px #4458261a;--shadow:0 18px 44px #44582629;--shadow-strong:0 24px 70px #2b3f1b47;--focus-ring:#f3c64be6;--overlay:#2537169e}:root[data-theme=mythical],[data-theme=mythical]{--brand-gold:#f4cf6a;--brand-orange:#c77dff;--brand-green:#9be7c1;--brand-leaf:#77bfa3;--brand-cream:#f6e9ff;--page-bg:#180f2d;--page-bg-soft:#29164b;--app-background-image:none;--surface:#2e1b52;--surface-soft:#3c2467;--surface-raised:#452b78;--surface-muted:#5b3d86;--text:#f8edff;--text-soft:#d7c5eb;--text-inverse:#201036;--accent:#f4cf6a;--accent-hover:#ffe49a;--accent-strong:#c77dff;--accent-soft:#f4cf6a2e;--accent-muted:#c77dff2e;--success:#9be7c1;--success-soft:#9be7c129;--danger:#ff7a90;--danger-soft:#ffe1e7;--border-color:#f4cf6a3d;--border-strong:#f4cf6a70;--shadow-soft:0 10px 24px #00000047;--shadow:0 18px 44px #0000006b;--shadow-strong:0 24px 70px #0000009e;--focus-ring:#c77dffe6;--overlay:#0a0516c7;--sage:var(--success);--sage-dark:var(--text)}:root[data-theme=water],[data-theme=water]{--brand-gold:#f6d36d;--brand-orange:#f0a25f;--brand-green:#217c8c;--brand-leaf:#4ea7b8;--brand-cream:#eafaff;--page-bg:#cfeaf1;--page-bg-soft:#ecfbff;--app-background-image:none;--surface:#dff5f8;--surface-soft:#b9e4ec;--surface-raised:#f5fdff;--surface-muted:#8cc9d6;--text:#0d2f38;--text-soft:#3f6670;--text-inverse:#08252c;--accent:#f6d36d;--accent-hover:#ffe69a;--accent-strong:#217c8c;--accent-soft:#f6d36d47;--accent-muted:#4ea7b83d;--success:#217c8c;--success-soft:#217c8c26;--danger:#b0525e;--danger-soft:#ffe1e5;--border-color:#217c8c3d;--border-strong:#217c8c70;--shadow-soft:0 10px 24px #14525e1a;--shadow:0 18px 44px #14525e29;--shadow-strong:0 24px 70px #0d2f3847;--focus-ring:#4ea7b8d1;--overlay:#08252ca3}:root[data-theme=fantasy],[data-theme=fantasy]{--brand-gold:#ffd166;--brand-orange:#ef7b45;--brand-green:#537a5a;--brand-leaf:#8fb573;--brand-cream:#fff0c9;--page-bg:#3b2416;--page-bg-soft:#704322;--app-background-image:none;--surface:#fff0c9;--surface-soft:#e9bd74;--surface-raised:#fff8dd;--surface-muted:#c98e4b;--text:#2b180e;--text-soft:#68442a;--text-inverse:#2b180e;--accent:#ffd166;--accent-hover:#ffe39c;--accent-strong:#ef7b45;--accent-soft:#ffd1663d;--accent-muted:#8fb57333;--success:#537a5a;--success-soft:#537a5a29;--danger:#9f3f35;--danger-soft:#ffd9d1;--border-color:#502b1442;--border-strong:#502b147a;--shadow-soft:0 10px 24px #2413082e;--shadow:0 18px 44px #24130847;--shadow-strong:0 24px 70px #1408027a;--focus-ring:#ffd166e6;--overlay:#1c0d05b8;--nav-link-active-text:#2b180e}:root[data-theme=romance],[data-theme=romance]{--brand-gold:#f2b8a0;--brand-orange:#d36b7c;--brand-green:#7f4f5b;--brand-leaf:#b46b7b;--brand-cream:#fff0f0;--page-bg:#f4d6d9;--page-bg-soft:#fff2ef;--app-background-image:none;--surface:#fff2ef;--surface-soft:#f0c2c9;--surface-raised:#fff9f7;--surface-muted:#dfa4ae;--text:#3a1822;--text-soft:#784555;--text-inverse:#fff4f2;--accent:#d36b7c;--accent-hover:#ee8c9d;--accent-strong:#9d4055;--accent-soft:#d36b7c2e;--accent-muted:#f2b8a042;--success:#7f4f5b;--success-soft:#7f4f5b24;--danger:#9d4055;--danger-soft:#ffe4e8;--border-color:#7f4f5b38;--border-strong:#7f4f5b70;--shadow-soft:0 10px 24px #6423301a;--shadow:0 18px 44px #64233029;--shadow-strong:0 24px 70px #3a182247;--focus-ring:#d36b7cd1;--overlay:#3a1822a3}:root[data-theme=horror],[data-theme=horror]{--brand-gold:#c8a24a;--brand-orange:#a42121;--brand-green:#c9c1ad;--brand-leaf:#7e796d;--brand-cream:#e8dec8;--page-bg:#080707;--page-bg-soft:#171313;--app-background-image:none;--surface:#1b1717;--surface-soft:#241d1d;--surface-raised:#2d2424;--surface-muted:#3a3030;--text:#eee2d2;--text-soft:#bbaea0;--text-inverse:#fff4e6;--accent:#a42121;--accent-hover:#d33434;--accent-strong:#c8a24a;--accent-soft:#a421213d;--accent-muted:#c8a24a1f;--success:#c9c1ad;--success-soft:#c9c1ad21;--danger:#c1272d;--danger-soft:#ffd8d8;--border-color:#c8a24a2e;--border-strong:#c8a24a61;--shadow-soft:0 10px 24px #0000006b;--shadow:0 18px 44px #00000094;--shadow-strong:0 24px 70px #000000c7;--focus-ring:#d33434d9;--overlay:#000000d1;--sage:var(--success);--sage-dark:var(--text)}:root[data-theme=retro-90s],[data-theme=retro-90s]{--brand-gold:#fff04a;--brand-orange:#ff7a00;--brand-green:#00d084;--brand-leaf:#00b8ff;--brand-cream:#fffbe0;--page-bg:#19124a;--page-bg-soft:#30206f;--app-background-image:none;--surface:#fffbe0;--surface-soft:#d9f3ff;--surface-raised:#fff;--surface-muted:#c2b6ff;--text:#171139;--text-soft:#453a75;--text-inverse:#171139;--accent:#fff04a;--accent-hover:#fff78a;--accent-strong:#ff3fb4;--accent-soft:#fff04a47;--accent-muted:#00b8ff38;--success:#008f62;--success-soft:#00d0842e;--danger:#ff3f3f;--danger-soft:#ffe1e1;--border-color:#19124a42;--border-strong:#19124a7a;--shadow-soft:7px 7px 0 #00000029;--shadow:10px 10px 0 #0003;--shadow-strong:14px 14px 0 #00000047;--focus-ring:#ff3fb4e6;--overlay:#0c082ab8;--nav-link-active-text:#171139;--radius-lg:10px;--radius-xl:12px;--radius-2xl:14px;--radius-3xl:16px;--card-inner-highlight:none}*{box-sizing:border-box}html{background:var(--page-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;font-family:var(--font-body);color:var(--text);background:var(--page-overlay), var(--app-background-image,none), var(--page-glow-left), var(--page-glow-right), var(--page-gradient);background-position:50%;background-size:cover,cover,auto,auto,auto;background-attachment:fixed;margin:0;transition:background .35s,color .2s}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{letter-spacing:-.02em;line-height:1.15}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}.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{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;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,.home-activity-top,.achievement-browser-header{justify-content:space-between;gap:12px;display:flex}.section-header{align-items:center;margin-bottom:18px}.section-header span,.home-activity-top span{color:var(--text-soft);font-size:.85rem;font-weight:700}@media (max-width:768px){.app-shell{width:calc(100% - 16px)}.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,.home-activity-top{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.brand-logo{width:100%}.brand-header{margin-top:14px}}.page-content{max-width:1400px;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}.edit-btn,.delete-btn,.secondary-btn,.primary-submit,.edit-log-btn,.delete-log-btn,.danger-action-btn,.profile-action-btn,.nav-link,.expand-btn,.shelf-toggle{cursor:pointer;font-weight:700}.nav-link{padding:var(--button-padding-md);border:1px solid var(--nav-link-border);border-radius:var(--radius-pill);background:var(--nav-link-bg);color:var(--nav-link-text);box-shadow:var(--button-shadow);text-decoration:none}.nav-link:hover{background:var(--nav-link-bg-hover);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-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--surface);min-width:96px;height:44px;color:var(--sage-dark);cursor:pointer;box-shadow:var(--shadow-soft);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.profile-action-btn:hover{transform:var(--lift-sm);background:var(--surface-soft)}.profile-action-btn.active{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--accent)}.edit-btn,.delete-btn,.secondary-btn{border-radius:var(--radius-sm);border:none;width:100%;padding:8px;font-size:.85rem}.edit-btn,.edit-log-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.edit-btn{margin-bottom:8px}.delete-btn,.delete-log-btn,.danger-action-btn{background:var(--button-danger-bg);color:var(--button-danger-text);border:none}.secondary-btn{background:var(--chip-bg);color:var(--chip-text);margin-top:8px}.primary-submit{width:100%;padding:var(--button-padding-lg);border-radius:var(--radius-pill);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-soft);border:none}.primary-submit:hover{transform:var(--lift-sm)}.danger-action-btn{padding:var(--button-padding-lg);border-radius:var(--radius-pill)}.expand-btn{border-radius:var(--radius-pill);background:var(--chip-bg);width:100%;color:var(--chip-text);border:none;margin-top:10px;padding:8px;font-size:.85rem}.text-link{color:var(--text-soft);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-style:italic}.text-link:hover{color:var(--sage-dark);text-decoration:underline}.log-actions,.button-row{gap:8px;margin-top:10px;display:flex}.edit-log-btn,.delete-log-btn{padding:var(--button-padding-sm);border-radius:var(--radius-pill);border:none}.pagination-controls{justify-content:center;align-items:center;gap:.75rem;margin:2rem 0 0;display:flex}.pagination-controls button{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);cursor:pointer;padding:.65rem 1rem;font-weight:700}.pagination-controls button:hover:not(:disabled){background:var(--surface-soft);transform:var(--lift-sm)}.pagination-controls span{color:var(--text);font-weight:700}.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)}.secondary-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)}@media (max-width:768px){.nav-link{padding:9px 12px;font-size:.9rem}.form-submit-bar button,.primary-submit,.secondary-btn,.danger-action-btn{width:100%}}@media (max-width:480px){.nav-link{text-align:center;width:100%}}.primary-btn{border-radius:var(--radius-pill);padding:var(--button-padding-lg);background:var(--button-primary-bg);color:var(--button-primary-text);cursor:pointer;box-shadow:var(--shadow-soft);border:none;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s}.primary-btn:hover:not(:disabled){transform:var(--lift-sm);background:var(--accent-hover)}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn,.danger-btn{border-radius:var(--radius-pill);cursor:pointer;border:none;padding:8px 14px;font-weight:700;transition:transform .18s,background .18s}.secondary-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.secondary-btn:hover{background:var(--button-secondary-bg-hover);transform:var(--lift-sm)}.danger-btn{background:var(--button-danger-bg);color:var(--button-danger-text)}.danger-btn:hover{background:var(--button-danger-bg-hover);transform:var(--lift-sm)}.button-row{align-items:center;gap:10px;margin-top:12px;display:flex}.action-btn{border-radius:var(--radius-pill);cursor:pointer;border:none;width:auto;padding:8px 14px;font-weight:700;transition:transform .18s,background .18s}.action-btn:hover{transform:var(--lift-sm)}.action-btn-edit{background:var(--accent-soft);color:var(--sage-dark)}.action-btn-delete{background:var(--danger-bg);color:var(--danger-text)}input,select,textarea{border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-soft);opacity:.72}.inline-edit-form,.reading-log-edit-form,.reading-log-form,.add-book-form,.settings-card{flex-direction:column;gap:14px;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}.add-book-page{max-width:1050px;margin:0 auto}.form-card{border-radius:var(--radius-xl);padding:20px}.featured-form-card{border-color:var(--border-strong);background:radial-gradient(circle at top left, var(--accent-soft), transparent 24%), var(--surface)}.form-card-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.form-error{color:var(--danger-text);margin-top:.35rem;font-size:.85rem;font-weight:600;display:block}.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.25rem}.form-card-header h3{margin:0;font-size:1.25rem}.form-card-header p{color:var(--text-soft);margin:3px 0 0;font-size:.95rem}.form-grid{gap:14px;margin-bottom:14px;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))}.add-book-form label,.reading-log-form label,.settings-card label{min-width:0;color:var(--sage-dark);flex-direction:column;gap:6px;font-weight:700;display:flex}.add-book-form input,.add-book-form select{height:48px}.add-book-form textarea{resize:vertical;min-height:115px}.add-book-form small{color:var(--text-soft);font-size:.78rem;font-weight:400}.form-submit-bar{z-index:10;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:flex-end;gap:12px;padding:12px;display:flex;position:sticky;bottom:12px}.form-submit-bar button{border-radius:var(--radius-pill);cursor:pointer;border:none;padding:12px 20px;font-weight:700}.form-submit-bar button:first-child{background:var(--sage-dark);color:var(--text-inverse)}.form-submit-bar .primary-submit{width:auto}.checkbox-row,.checkbox-label{align-items:center;gap:10px;flex-direction:row!important;display:flex!important}.checkbox-row input,.checkbox-label input{width:auto;accent-color:var(--accent)}@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:1100px){.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.form-card{border-radius:var(--radius-lg);padding:16px}.form-submit-bar{flex-direction:column;align-items:stretch}}.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)}.card{padding:var(--card-padding);border-radius:var(--radius-2xl)}.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(--sage-dark)}.page-header h2{margin:0 0 8px;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.15}.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(--sage-dark);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);box-shadow:var(--shadow-soft);overflow:hidden}.book-card:hover{transform:var(--lift-md)}.book-cover{aspect-ratio:2/3;object-fit:contain;background:var(--surface-soft);width:100%;max-height:260px;padding:.25rem;display:block}.book-content{background:var(--surface);padding:12px}.book-content h3{margin:0 0 4px;font-size:1rem;line-height:1.25}.book-top{align-items:flex-start}.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);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(--sage-dark)}.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(--accent);height:100%}.tag-sections{margin-top:14px}.tag-heading{color:var(--sage-dark);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(--sage-dark);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);place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.book-modal{width:min(900px,100%);max-height:90vh;padding:var(--modal-padding);border:1px solid var(--border-strong);border-radius:var(--radius-3xl);background:var(--surface);box-shadow:var(--shadow-strong);position:relative;overflow-y:auto}.modal-close-btn{border-radius:var(--radius-circle);background:var(--chip-bg);width:36px;height:36px;color:var(--chip-text);cursor:pointer;border:none;font-size:1.5rem;position:absolute;top:14px;right:16px}.book-modal-layout{grid-template-columns:260px 1fr;gap:26px;display:grid}.book-modal-cover{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow)}.book-modal h2{margin:0 40px 6px 0;font-size:2rem}.modal-author{color:var(--text-soft);margin:0 0 14px;font-style:italic}.modal-rating{margin:0 0 12px;font-size:1.3rem}.book-detail-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0;display:grid}.book-detail-stat-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);padding:14px}.book-detail-stat-card span{color:var(--text-soft);margin-bottom:8px;font-size:.85rem;display:block}.book-detail-stat-card strong{color:var(--sage-dark);font-size:1.2rem}.book-read-dates{border-top:1px solid var(--border-color);margin-top:18px;padding-top:18px}.book-detail-tabs{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.book-detail-tabs button{border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:var(--button-padding-sm);background:var(--surface-soft);color:var(--text-soft);cursor:pointer;font-weight:700}.book-detail-tabs button.active{background:var(--button-primary-bg);color:var(--button-primary-text)}@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-cover{height:auto;max-height:230px}.book-content{padding:14px}.book-modal{padding:18px}.book-modal h2{font-size:1.5rem}.book-modal-cover{max-width:260px;margin:0 auto}}@media (max-width:750px){.book-modal-layout{grid-template-columns:1fr}}@media (max-width:480px){.book-grid{grid-template-columns:1fr 1fr}.book-cover{max-height:210px}}.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}.home-hero{justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.home-hero h2{margin:0 0 8px}.home-hero p{margin:0}.home-hero .level-badge{border-radius:var(--radius-pill);background:var(--level-badge-bg);width:72px;height:72px;box-shadow:var(--level-badge-shadow);justify-content:center;align-items:center;font-size:2.2rem;display:flex}.library-page,.reading-log-page{max-width:1400px;margin:0 auto}.library-controls{grid-template-columns:minmax(260px,1.8fr) repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:12px;display:grid}.library-controls input,.library-controls select{border-radius:var(--radius-md);min-width:0;padding:12px 14px;font-size:1rem}.library-summary{color:var(--text-soft);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.library-summary p{margin:0}.library-summary button{border-radius:var(--radius-pill);background:var(--sage-dark);color:var(--text-inverse);cursor:pointer;border:none;padding:10px 14px;font-weight:700}@media (max-width:1100px){.library-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.library-controls{grid-template-columns:1fr}}@media (max-width:650px){.library-summary{flex-direction:column;align-items:flex-start}}.reading-log-layout{grid-template-columns:380px minmax(720px,1fr);align-items:start;gap:20px;display:grid}.reading-log-form textarea{resize:vertical;min-height:110px}.selected-book-preview{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text);padding:12px}.reading-log-list{flex-direction:column;gap:12px;display:flex}.reading-log-item{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);padding:14px}.reading-log-item strong{color:var(--sage-dark);display:block}.reading-log-item span{color:var(--text-soft);font-size:.9rem}.finished-pill{border-radius:var(--radius-pill);background:var(--success-soft);margin-top:6px;padding:5px 9px;font-weight:700;display:inline-block;color:var(--success)!important}.heatmap-card{min-height:500px;padding:28px;overflow:hidden}.heatmap-card h3{margin-bottom:26px;font-size:1.7rem}.heatmap-caption{color:var(--text-soft);margin-top:34px;font-size:1rem;line-height:1.5}.year-calendar{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.month-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);padding:14px}.month-card h4{color:var(--sage-dark);margin:0 0 10px;font-size:1.1rem}.weekday-row,.month-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.weekday-row{margin-bottom:6px}.weekday-row span{color:var(--text-soft);text-align:center;font-size:.75rem;font-weight:700}.calendar-day{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--text-soft);cursor:pointer;border:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.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: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{border-top:1px solid var(--border-color);margin-top:26px;padding-top:20px}.selected-day-logs h4{color:var(--sage-dark);margin:0 0 16px;font-size:1.15rem}.book-search-picker{position:relative}.book-search-results{gap:.5rem;margin-top:.5rem;display:grid}.book-search-result{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface);width:100%;color:var(--text);cursor:pointer;gap:.2rem;padding:.75rem;display:grid}.book-search-result:hover{background:var(--surface-soft);transform:translateY(-1px)}.book-search-result span{opacity:.75;font-size:.85rem}@media (max-width:1200px){.reading-log-layout{grid-template-columns:1fr}.heatmap-card{overflow-x:auto}}@media (max-width:1100px){.year-calendar{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:768px){.reading-log-layout{gap:16px}.heatmap-card{padding:18px}.heatmap-card h3{font-size:1.4rem}.year-calendar{grid-template-columns:1fr}.month-card{padding:12px}.calendar-day{font-size:.65rem}}.shelves-page{max-width:1200px;margin:0 auto}.shelf-sections{flex-direction:column;gap:34px;display:flex}.shelf-section{border-radius:var(--radius-2xl);background:var(--surface);padding:20px}.shelf-header{align-items:center;margin-bottom:18px}.shelf-header h3{margin:0;font-size:1.5rem}.shelf-header span{color:var(--text-soft);font-weight:700}.shelf-toggle{width:100%;color:var(--sage-dark);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.shelf-toggle span{font-size:1.35rem;font-weight:700}.shelf-toggle strong{color:var(--text-soft);font-size:.95rem}.shelf-toggle:hover{opacity:.9}.insights-page,.achievements-page,.settings-page{max-width:1100px;margin:0 auto}.goal-progress-grid,.insights-grid,.achievement-summary,.monthly-insights-grid,.charts-grid{gap:16px;display:grid}.goal-progress-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:22px}.insights-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.monthly-insights-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.goal-card,.insight-card,.chart-card,.achievement-card{flex-direction:column;gap:10px;display:flex}.goal-card,.insight-card,.chart-card{border-radius:var(--radius-xl);padding:20px}.chart-card{background:var(--surface-soft);border:1px solid var(--border-color)}.chart-card h4{margin-bottom:16px}.goal-card span,.insight-card span,.bar-row span{color:var(--text-soft)}.goal-card span,.insight-card span{margin-bottom:10px;font-size:.9rem;display:block}.goal-card strong,.insight-card strong{color:var(--sage-dark);display:block}.goal-card strong{margin-bottom:12px;font-size:1.4rem}.insight-card strong{font-size:1.7rem}.monthly-insights-section{margin-bottom:28px}.monthly-insights-section h3{margin:0 0 16px;font-size:1.5rem}.bar-chart{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:56px 1fr 48px;align-items:center;gap:10px;display:grid}.bar-row span,.bar-row strong{font-size:.85rem}.bar-row span{font-weight:700}.bar-row strong{text-align:right}.insights-feature-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--accent-soft);color:var(--text);align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;display:flex}.insights-feature-card:hover{background:var(--surface-soft);transform:translateY(-2px)}.insights-feature-card span{font-size:2rem}.insights-feature-card h3{margin:0 0 .25rem}.insights-feature-card p{color:var(--text-soft);margin:0}.home-currently-reading-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.home-reading-card,.home-activity-card,.home-achievement-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-soft);gap:14px;padding:14px;display:flex}.home-achievement-card{align-items:center;gap:16px;padding:16px}.home-reading-card{align-items:flex-start}.home-reading-card img{object-fit:cover;border-radius:var(--radius-sm);width:72px;height:108px;box-shadow:var(--shadow-soft)}.home-activity-cover img{object-fit:cover;border-radius:var(--radius-sm);width:56px;height:84px}.home-reading-card span,.home-achievement-card span{color:var(--text-soft);font-size:.85rem;font-weight:700}.home-reading-card span{margin-bottom:6px;font-size:.8rem;display:inline-block}.home-reading-card strong,.home-achievement-card strong{margin-bottom:4px;display:block}.home-reading-card p,.home-achievement-card p,.home-activity-content p{margin:4px 0}.home-activity-feed{flex-direction:column;gap:14px;display:flex}.home-activity-content{flex:1}.home-activity-top{margin-bottom:8px}.home-activity-top span{white-space:nowrap;font-size:.8rem}.activity-finished{font-weight:700}.activity-mood-badge{border-radius:var(--radius-pill);background:var(--accent-soft);margin-top:8px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}@media (max-width:768px){.goal-progress-grid,.insights-grid,.monthly-insights-grid,.charts-grid{grid-template-columns:1fr}.goal-card strong,.insight-card strong{font-size:1.2rem}.bar-row{grid-template-columns:50px 1fr 42px;gap:8px}}@media (max-width:650px){.home-activity-card,.home-reading-card{flex-direction:column}}@media (max-width:480px){.goal-card strong,.insight-card strong{font-size:1.05rem}.bar-row{grid-template-columns:42px 1fr 38px}}.collapsible-section{margin-bottom:28px}.collapsible-toggle{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--paper);width:100%;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;font-size:1.05rem;font-weight:700;transition:background .18s,transform .18s;display:flex}.collapsible-toggle:hover{background:var(--paper-soft);transform:translateY(-1px)}.collapsible-content{padding-top:18px}.achievement-summary{grid-template-columns:repeat(3,1fr);margin-bottom:28px}.level-card{padding:var(--card-padding-lg);border-radius:var(--radius-3xl);background:radial-gradient(circle at top right, var(--accent-soft), transparent 24%), var(--surface);justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.level-label{color:var(--text-soft);text-transform:uppercase;font-size:.8rem;font-weight:700}.level-card h3{margin:8px 0;font-size:1.8rem}.level-card p{color:var(--text-soft);margin:6px 0}.level-badge{border-radius:var(--radius-circle);background:var(--button-primary-bg);width:90px;height:90px;color:var(--button-primary-text);box-shadow:var(--shadow-soft);place-items:center;font-size:3rem;display:grid}.xp-breakdown{margin-bottom:28px}.xp-breakdown h3{margin-top:0}.xp-breakdown-grid{grid-template-columns:1fr auto;gap:10px 18px;display:grid}.xp-breakdown-grid span{color:var(--text-soft)}.xp-breakdown-grid strong{color:var(--accent)}.achievement-browser-header{align-items:center;margin:28px 0 14px}.achievement-section-title{margin:0}.achievement-filters{flex-wrap:wrap;gap:10px;display:flex}.achievement-filters select{border-radius:var(--radius-pill);min-width:150px;padding:10px 12px;font-weight:700}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.achievement-card{border-radius:var(--radius-xl);gap:14px;padding:16px;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:.72;filter:grayscale(.75)}.achievement-icon{width:48px;height:48px;font-size:1.5rem}.achievement-card.unlocked .achievement-icon{transform:scale(1.05)}.achievement-card h4{color:var(--sage-dark);margin:0 0 5px}.achievement-card p{color:var(--text-soft);margin:0 0 8px}.achievement-card span{color:var(--text-soft);font-size:.85rem;font-weight:700}.achievement-footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.achievement-category{border-radius:var(--radius-pill);background:var(--accent-soft);padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}@media (max-width:768px){.achievement-grid,.achievement-summary{grid-template-columns:1fr}.level-card,.achievement-browser-header{flex-direction:column;align-items:flex-start}.level-badge{width:72px;height:72px;font-size:2.3rem}.achievement-filters{flex-direction:column;width:100%}.achievement-filters select{width:100%}}@media (max-width:480px){.level-card h3{font-size:1.4rem}.xp-breakdown-grid{grid-template-columns:1fr}}.settings-page{max-width:800px;margin:0 auto}.settings-card{gap:18px}.data-tools-card{margin-top:20px}.data-tools-card p{color:var(--text-soft);margin:0;line-height:1.5}.settings-actions{flex-direction:column;gap:12px;margin-top:18px;display:flex}.import-backup-label input{margin-top:8px}.profile-avatar-block{align-items:center;gap:18px;display:flex}.profile-avatar-preview{border-radius:var(--radius-pill);object-fit:cover;border:3px solid var(--accent-strong);width:84px;height:84px}.profile-avatar-placeholder{border-radius:var(--radius-pill);background:var(--sage-dark);width:84px;height:84px;color:var(--text-inverse);justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.settings-page textarea{resize:vertical;min-height:120px}.wrapup-page{gap:2rem;display:grid}.wrap-section{border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--border-color);padding:1.5rem}.wrap-section-header{margin-bottom:1.25rem}.wrap-section-header h3{margin:0;font-size:1.5rem}.wrap-section-header p{color:var(--text-soft);margin:.35rem 0 0}.wrap-stat-card{border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--border-color);align-items:center;gap:1rem;padding:1rem;display:flex}.wrap-stat-icon{font-size:1.8rem}.wrap-stat-card span{color:var(--text-soft);font-size:.85rem;display:block}.wrap-stat-card strong{margin-top:.2rem;font-size:1.35rem;display:block}.wrap-highlight{border-radius:var(--radius-lg);background:var(--accent-soft);border:1px solid var(--border-color);padding:1rem}.wrap-highlight h4,.wrap-chart-card h4{margin-top:0}.wrap-chart-card{border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--border-color);padding:1rem}.wrap-book-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.wrap-book-list li{border-radius:var(--radius-sm);background:var(--surface-muted);gap:.15rem;padding:.65rem;display:grid}.wrap-book-list span{color:var(--text-soft);font-size:.85rem}.wrap-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.wrap-hero-grid .wrap-highlight{background:linear-gradient(135deg, var(--accent-soft), var(--surface-soft));flex-direction:column;justify-content:center;min-height:130px;display:flex}.wrap-hero-value{margin:0;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:900;line-height:1.1}.wrap-section+.wrap-section{margin-top:2rem}.wrapup-page .goal-progress-grid,.wrapup-page .charts-grid,.wrapup-page .monthly-insights-grid{margin-top:1.5rem}.wrap-highlight p{margin:0;line-height:1.5}.wrap-highlight strong{color:var(--accent-strong)}.wrap-chart-card:hover,.wrap-highlight:hover,.wrap-stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}@media (max-width:800px){.wrap-hero-grid{grid-template-columns:1fr}}@media (max-width:700px){.wrapup-page .goal-progress-grid,.wrapup-page .monthly-insights-grid,.wrapup-page .charts-grid{grid-template-columns:1fr}}.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-muted);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}.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}@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-logo{width:min(330px,100%);transform:none}.auth-feature-grid{grid-template-columns:1fr}.auth-feature-card{min-height:auto}.auth-hero h1{font-size:clamp(2.7rem,14vw,4.25rem)}}.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-muted);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}
