:root{--page-max-width:min(100%,1160px);--surface-950:#f9f7f3;--surface-900:#f3efe8;--surface-850:#ebe5dc;--surface-overlay-strong:#ffffffeb;--surface-overlay-soft:#ffffffd9;--surface-overlay-muted:#ffffffc7;--surface-overlay-subtle:#ffffffad;--surface-overlay-light:#ffffff8c;--surface-overlay-deep:#fffffff5;--surface-card:#ffffffe6;--surface-card-strong:#fffc;--surface-overlay-balanced:#ffffffe0;--surface-overlay-faint:#ffffffd1;--surface-overlay-warm:#ece9de99;--surface-overlay-accent:#0f172a14;--surface-overlay-accent-strong:#0f172a2e;--surface-overlay-bright:#fffffff2;--surface-base:#fff;--surface-overlay-veil:#ffffff0f;--surface-overlay-tint:#ffffff14;--surface-overlay-dim:#ffffffbf;--surface-overlay-warm-soft:#ece9de8c;--surface-overlay-accent-dim:#0f172ab8;--surface-overlay-accent-deep:#0f172abf;--accent-600:#0d9488;--accent-500:#0bb79a;--accent-400:#2dd4bf;--accent-300:#6ee7b7;--accent-200:#a7f3d0;--accent-100:#d1fae5;--accent-50:#f0fdfa;--accent-500-rgb:11,183,154;--accent-400-rgb:45,212,191;--accent-500-alpha-18:#0bb79a2e;--accent-500-alpha-45:#0bb79a73;--accent-500-alpha-35:#0bb79a59;--accent-500-alpha-80:#0bb79acc;--accent-500-alpha-14:#0bb79a24;--accent-500-alpha-12:#0bb79a1f;--accent-400-alpha-14:#2dd4bf24;--accent-400-alpha-18:#2dd4bf2e;--accent-400-alpha-12:#2dd4bf1f;--accent-400-alpha-15:#2dd4bf26;--accent-100-alpha-50:#d1fae580;--accent-300-alpha-30:#6ee7b74d;--accent-300-alpha-35:#6ee7b759;--accent-300-alpha-65:#6ee7b7a6;--accent-glow:#0bb79a80;--glass-highlight-warm:#fff4e4a6;--glass-highlight-cool:#d6e9ff8c;--glass-overlay-deep:#0f172abf;--gradient-glass-light:linear-gradient(180deg,#ffffffad,#f5f3ecc7);--gradient-cover-fallback:radial-gradient(circle at 20% 20%,#1f2937d9 0%,#0f172af2 70%);--novel-header-scrim:linear-gradient(180deg,#ffffff47,#f8f5ee75);--role-protagonist:#0bb79a;--role-deuteragonist:#0ea5e9;--role-love:#f43f5e;--role-rival:#a855f7;--role-mentor:#fbbf24;--role-mentee:#84cc16;--role-supporting:#6366f1;--role-antagonist:#e11d48;--role-villain:#7c2d12;--role-antihero:#64748b;--role-narrator:#0891b2;--role-guardian:#059669;--role-sidekick:#ec4899;--role-foil:#d97706;--role-cameo:#94a3b8;--role-background:#cbd5e1;--status-positive:#27ae60;--status-warning:#f59e0b;--status-warning-soft:#fbc02d;--status-critical:#f87171;--status-info:#38bdf8;--status-positive-soft:#22c55e33;--status-positive-contrast:#bbf7d0;--status-info-soft:#3b82f629;--status-info-contrast:#1d4ed8cc;--status-ongoing-soft:#f472b638;--status-ongoing:#9d174d;--status-highlight-bg:#fbbf24e6;--status-highlight-text:#111827;--status-positive-border:#22c55e40;--status-ongoing-border:#f472b638;--status-positive-strong:#166534;--status-info-strong:#2563eb;--status-critical-strong:#b91c1c;--status-positive-bright:#4ade80;--status-critical-soft:#ef44442e;--status-critical-bg:#f871712e;--status-critical-bg-strong:#f8717147;--status-critical-border-strong:#f8717159;--text-primary:#1f2933;--text-secondary:#52606d;--text-muted:#52606da6;--text-tertiary:#52606d59;--text-on-dark-primary:#f8fafc;--text-on-dark-muted:#f8fafcbf;--text-on-dark-soft:#f8fafccc;--text-on-dark-secondary:#e2e8f0cc;--text-emphasis:#141820e6;--text-contrast:#212a3bd9;--text-contrast-soft:#475467b8;--text-contrast-strong:#475467d9;--text-inverse:#fff;--text-contrast-medium:#212a3bbf;--text-ink:#111827;--text-ink-muted:#1e293ba6;--text-ink-soft:#1e293bad;--text-secondary-strong:#64748be6;--text-secondary-soft:#64748bd9;--text-tertiary-strong:#475569f2;--text-disabled:#1e293b99;--text-deep:#0f172a;--text-success-bright:#4ade80;--text-critical-strong:#dc2626;--border-strong:#78756c3d;--border-subtle:#78756c29;--border-subtle-strong:#94a3b82e;--border-muted:#94a3b859;--border-divider:#0f172a14;--border-contrast:#94a3b899;--border-subtle-light:#94a3b826;--border-muted-strong:#94a3b852;--border-muted-soft:#94a3b84d;--shadow-sm:0 2px 4px #00000005,0 1px 2px #00000008;--shadow-md:0 4px 8px -2px #0000000d,0 2px 4px -2px #00000008;--shadow-lg:0 12px 24px -6px #00000014,0 4px 8px -4px #0000000a;--shadow-xl:0 24px 48px -12px #0000001f,0 12px 24px -8px #0000000f;--shadow-xxl:0 32px 64px -16px #00000026;--shadow-card-hover:0 20px 40px -8px #0000001a,0 12px 20px -8px #0000000f;--shadow-focus-accent:0 0 0 4px var(--accent-500-alpha-35);--border-subtle:#78756c1f;--border-subtle-strong:#94a3b829;--border-muted:#94a3b840;--border-strong:#78756c33;--surface-card:#ffffffbf;--surface-overlay-strong:#ffffffd9;--blur-soft:blur(8px);--blur-medium:blur(12px);--blur-heavy:blur(24px);--blur-backdrop-lg:blur(20px);--radius-2xl:24px;--radius-xl:20px;--radius-lg:16px;--radius-md:8px;--radius-sm:6px;--radius-xs:4px;--radius-pill:9999px;--spacing-3xs:0.25rem;--spacing-2xs:0.5rem;--spacing-xs:0.75rem;--spacing-xs-plus:0.875rem;--spacing-sm-minus:0.9rem;--spacing-sm:1rem;--spacing-sm-plus:1.125rem;--spacing-md:1.5rem;--spacing-md-plus:1.75rem;--spacing-lg:2rem;--spacing-lg-plus:2.5rem;--spacing-xl:3rem;--spacing-xl-plus:4rem;--spacing-2xl:5rem;--spacing-3xl:6rem;--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-heading:"Poppins","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-sm-plus:0.95rem;--font-size-md:1rem;--font-size-md-plus:1.05rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:clamp(1.75rem,2.6vw,2.5rem);--font-size-section-heading:1.25rem;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.6;--line-height-loose:1.75;--gradient-brand:linear-gradient(135deg,var(--accent-500),var(--accent-400));--gradient-accent:linear-gradient(135deg,var(--accent-500),var(--accent-400));--gradient-header:linear-gradient(110deg,#fffffff2,#ffffffd1);--gradient-footer:linear-gradient(160deg,#f5f3ecf5,#efece3e0);--gradient-body:radial-gradient(ellipse 80% 60% at 0% 0%,#c9e7dd99 0%,#0000 55%),radial-gradient(ellipse 80% 60% at 100% 100%,#f5ebd799 0%,#0000 55%),linear-gradient(135deg,#eef7f1,#f8f4ec);--gradient-body-glow:radial-gradient(ellipse 60% 50% at 20% 30%,rgba(11,183,154,.035) 0%,#0000 60%),radial-gradient(ellipse 60% 50% at 80% 70%,#f5c89608 0%,#0000 60%);--bg-body:var(--surface-900);--gradient-glass:linear-gradient(135deg,#ffffffa6,#f9f7efbf);--btn-primary-bg:var(--accent-500-alpha-18);--btn-primary-gradient:linear-gradient(135deg,var(--accent-500-alpha-18),var(--accent-500-alpha-14));--btn-primary-text:var(--accent-600);--btn-primary-border:var(--accent-500-alpha-35);--btn-primary-hover-bg:#0bb79a3d;--btn-primary-shadow:var(--shadow-sm),0 2px 8px #0bb79a1f;--btn-primary-hover-shadow:var(--shadow-md),0 4px 14px #0bb79a33;--gradient-button:var(--btn-primary-gradient);--gradient-card-placeholder:linear-gradient(140deg,var(--accent-500-alpha-45),#38bdf84d);--gradient-card-overlay:linear-gradient(190deg,#0f172a47 18%,#020617d1);--gradient-featured-overlay:linear-gradient(190deg,#0f172a0d 18%,#0f172ab8);--gradient-featured-meta:linear-gradient(180deg,#ffffffd1,#fffffff5 75%);--gradient-bookmark:linear-gradient(135deg,var(--accent-500),var(--accent-400));--gradient-primary-button:var(--btn-primary-gradient);--gradient-card-overlay-dark:linear-gradient(190deg,#090c1900 38%,#090c19d1);--gradient-info-button:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-chapter-row:radial-gradient(circle at top left,#94a3b829,#ffffffc7);--gradient-related-surface:radial-gradient(circle at top left,#94a3b833,#0000 60%),radial-gradient(circle at bottom right,#f871711f,#0000 65%),var(--surface-card);--gradient-warm-button:linear-gradient(135deg,#ef4444,#f97316);--gradient-home-featured:radial-gradient(circle at 12% 18%,#c4b5fd52,#0000 60%),radial-gradient(circle at 86% 24%,#7dd3fc47,#0000 65%),var(--surface-overlay-deep);--gradient-skeleton-shimmer:linear-gradient(90deg,#94a3b829,#94a3b847 20%,#94a3b829 40%);--button-shadow:var(--shadow-md);--rating-star-filled:#ffc857;--rating-star-half:#f39c12;--rating-star-preview:#f8d36e;--rating-star-hover:#fbc02d;--share-icon-background:#0000;--feedback-success-bg:#22c55e2e;--feedback-success-border:#22c55e59;--feedback-success-text:#166534;--feedback-error-bg:#f871711f;--feedback-error-border:#f8717147;--feedback-error-text:#991b1b;--feedback-error-text-light:#fee2e2;--chip-accent-soft:rgba(var(--accent-500-rgb),0.24);--chip-neutral-soft:#94a3b826;--badge-neutral-bg:var(--surface-overlay-warm);--focus-critical-ring:#ef444473;--surface-disabled:#94a3b866;--feedback-error-text-soft:#fca5a5;--accent-button-gradient:var(--gradient-brand);--accent-button-shadow:0 18px 32px rgba(var(--accent-500-rgb),0.25);--color-bg:var(--surface-900);--color-bg-secondary:var(--surface-overlay-muted);--color-surface:var(--surface-card);--color-surface-strong:var(--surface-card-strong);--color-surface-alt:var(--surface-850);--color-glow:var(--accent-glow);--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-accent:var(--accent-500);--color-accent-bright:var(--accent-400);--color-accent-dim:var(--accent-600);--color-accent-soft:var(--accent-50);--color-accent-muted:var(--accent-100);--color-accent-subtle:var(--accent-200);--color-accent-ring:var(--accent-500-alpha-35);--color-accent-focus:var(--accent-500-alpha-18);--color-accent-tint:var(--accent-500-alpha-12);--color-accent-highlight:var(--accent-500-alpha-45);--color-accent-glow:var(--accent-glow);--color-border:var(--border-strong);--color-critical:var(--status-critical);--shadow-soft:var(--shadow-lg);--shadow-hover:var(--shadow-xl);--paper-bg:#fffef9;--paper-ink:#1a1a2e;--font-family-serif:"Lora",Georgia,"Times New Roman",serif;--font-family-mono:"JetBrains Mono","SF Mono",Menlo,monospace;--status-warning-strong:#b45309}body[data-theme=dark]{--surface-base:#020617;--surface-950:#0b1121;--surface-900:#0f172a;--surface-850:#111c31;--surface-card:#111827d9;--surface-card-strong:#111827eb;--surface-overlay-strong:#1e293beb;--surface-overlay-soft:#1e293bd9;--surface-overlay-muted:#1e293bc7;--surface-overlay-subtle:#1e293bad;--surface-overlay-light:#1e293b8c;--surface-overlay-bright:#111827e6;--surface-overlay-balanced:#1e293be0;--surface-overlay-faint:#1e293bd1;--surface-overlay-dim:#1e293bb8;--surface-overlay-warm:#33415599;--surface-overlay-warm-soft:#4755698c;--surface-overlay-accent:#94a3b829;--surface-overlay-accent-strong:#94a3b847;--surface-overlay-accent-dim:#080c18e0;--surface-overlay-accent-deep:#020617eb;--surface-overlay-veil:#0f172a33;--surface-overlay-tint:#0f172a3d;--glass-highlight-warm:#fbbf2438;--glass-highlight-cool:#60a5fa38;--glass-overlay-deep:#080b13eb;--gradient-glass-light:linear-gradient(180deg,#1e293bad,#111827c7);--gradient-cover-fallback:radial-gradient(circle at 20% 20%,#1e293bd9 0%,#080b13eb 70%);--novel-header-scrim:linear-gradient(180deg,#0f172a61,#0206178f);--text-primary:#f8fafc;--text-secondary:#cbd5e1d9;--text-secondary-strong:#e0e7ffe6;--text-secondary-soft:#cbd5e1bf;--text-muted:#94a3b8b8;--text-tertiary:#64748b80;--text-tertiary-strong:#94a3b899;--text-emphasis:#f1f5f9f2;--text-contrast:#e2e8f0e0;--text-contrast-medium:#cbd5e1d1;--text-contrast-soft:#94a3b8bf;--text-contrast-strong:#e2e8f0f0;--text-inverse:#0f172a;--text-ink:#e2e8f0;--text-ink-muted:#cbd5e1b3;--text-ink-soft:#cbd5e199;--text-deep:#e2e8f0;--text-success-bright:#86efac;--text-critical-strong:#fca5a5;--text-disabled:#94a3b86b;--text-on-dark-primary:#f8fafc;--text-on-dark-muted:#e2e8f0a6;--text-on-dark-soft:#e2e8f0b8;--text-on-dark-secondary:#cbd5e1c7;--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-surface:var(--surface-card);--color-surface-strong:var(--surface-card-strong);--color-surface-alt:var(--surface-900);--color-border:var(--border-subtle);--color-critical:var(--status-critical-strong);--status-positive-soft:#22c55e38;--status-positive-border:#22c55e59;--status-positive-contrast:#bbf7d0;--status-ongoing-soft:#ec489938;--status-ongoing-border:#ec489959;--status-highlight-bg:#fbbf2459;--status-highlight-text:#1e293b;--status-critical:#f87171;--status-critical-strong:#f87171;--status-critical-soft:#f8717147;--status-critical-bg:#f8717140;--status-critical-bg-strong:#f8717159;--status-critical-border-strong:#f8717173;--tri-select-exclude-bg:#f8717147;--tri-select-exclude-bg-hover:#f871715c;--tri-select-exclude-border:#f871718c;--tri-select-exclude-border-hover:#fecacae6;--status-positive-strong:#4ade80;--status-info-soft:#38bdf83d;--status-info-contrast:#60a5fae6;--status-info-strong:#60a5fa;--border-strong:#cbd5e173;--border-subtle:#47556973;--border-subtle-strong:#64748b99;--border-subtle-light:#47556959;--border-muted:#94a3b873;--border-muted-strong:#94a3b899;--border-muted-soft:#94a3b866;--border-contrast:#e2e8f0bf;--border-divider:#94a3b838;--shadow-sm:0 2px 8px #0003,0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000040,0 2px 6px #0003;--shadow-lg:0 16px 48px #0000004d,0 4px 12px #0003;--shadow-xl:0 24px 64px #00000059,0 8px 24px #00000040;--shadow-xxl:0 32px 80px #0006;--shadow-card-hover:0 20px 40px #0000004d,0 10px 20px #0003;--shadow-focus-accent:0 0 0 4px var(--accent-500-alpha-35);--surface-card:#111827bf;--surface-overlay-strong:#1e293bd9;--gradient-body:radial-gradient(ellipse 80% 60% at 0% 0%,#0bb79a26 0%,#0000 55%),radial-gradient(ellipse 80% 60% at 100% 100%,#f5ebd714 0%,#0000 55%),linear-gradient(135deg,#020617,#0b1220 55%,#111c31);--gradient-body-glow:radial-gradient(ellipse 60% 50% at 20% 30%,#0bb79a12 0%,#0000 60%),radial-gradient(ellipse 60% 50% at 80% 70%,hsla(32,83%,77%,.045) 0%,#0000 60%);--bg-body:var(--surface-900);--gradient-accent:linear-gradient(135deg,var(--accent-500),var(--accent-400));--gradient-glass:linear-gradient(135deg,#1e293bb8,#111827cc);--gradient-card-placeholder:linear-gradient(140deg,rgba(var(--accent-500-rgb),0.35),rgba(var(--accent-400-rgb),0.35));--gradient-card-overlay:linear-gradient(190deg,#0f172a59 18%,#020617eb);--gradient-featured-overlay:linear-gradient(190deg,#0f172a6b 18%,#020617eb);--gradient-featured-meta:linear-gradient(180deg,#111827d9,#111827eb 75%);--gradient-related-surface:radial-gradient(circle at top left,#60a5fa2e,#0000 60%),radial-gradient(circle at bottom right,#f871712e,#0000 65%),#111827bf;--gradient-home-featured:radial-gradient(circle at 12% 18%,rgba(var(--accent-500-rgb),0.32),#0000 60%),radial-gradient(circle at 86% 24%,rgba(var(--accent-400-rgb),0.32),#0000 65%),#0f172ad9;--gradient-skeleton-shimmer:linear-gradient(90deg,#1e293b59,#33415573 25%,#1e293b59 50%);--gradient-info-button:linear-gradient(135deg,#2563eb,#1d4ed8);--gradient-primary-button:linear-gradient(135deg,rgba(var(--accent-500-rgb),0.88),rgba(var(--accent-400-rgb),0.78));--gradient-warm-button:linear-gradient(135deg,#f97316,#b91c1c);--btn-primary-bg:#0bb79a38;--btn-primary-gradient:linear-gradient(135deg,#0bb79a38,#0bb79a29);--btn-primary-text:var(--accent-400);--btn-primary-border:#2dd4bf4d;--btn-primary-hover-bg:#0bb79a4d;--btn-primary-shadow:0 2px 8px #00000040,0 1px 2px #0000001a,0 2px 8px #0bb79a26;--btn-primary-hover-shadow:0 6px 16px #0000004d,0 2px 4px #0000001a,0 4px 14px #0bb79a40;--chip-accent-soft:rgba(var(--accent-500-rgb),0.25);--chip-neutral-soft:#47556973;--badge-neutral-bg:#4755698c;--share-icon-background:#33415573;--surface-disabled:#33415580;--accent-button-shadow:0 18px 36px rgba(var(--accent-500-rgb),0.4);--feedback-success-bg:#22c55e4d;--feedback-success-border:#22c55e73;--feedback-success-text:#bbf7d0;--feedback-error-bg:#f8717152;--feedback-error-border:#f8717173;--feedback-error-text:#fecaca;--feedback-error-text-soft:#fecaca;--focus-critical-ring:#f8717173;--accent-button-gradient:var(--gradient-brand);--gradient-primary-button:var(--btn-primary-gradient);--paper-bg:#1a1a2e;--paper-ink:#e2e8f0;--chapter-text-color:#e2e8f0;--status-warning-strong:#fbbf24;color-scheme:dark}body[data-theme=dark] .app-footer,body[data-theme=dark] .app-header{background:#0f172aeb;border-color:var(--border-subtle);box-shadow:0 12px 30px #02061799}body[data-theme=dark] .app-footer:before{background:var(--gradient-glass)}body[data-theme=dark] .app-header__search-form{background:#1e293be0;border-color:var(--border-strong);box-shadow:0 12px 30px #0206178c}body[data-theme=dark] .app-footer__section a:hover,body[data-theme=dark] .app-footer__section h3,body[data-theme=dark] .app-footer__section h4{color:var(--text-primary)}body[data-theme=dark] .app-header__drawer{background:var(--surface-base);box-shadow:-8px 0 32px #00000080}body[data-theme=dark] .app-header__drawer-search form,body[data-theme=dark] .app-header__logout-btn,body[data-theme=dark] .app-header__user-card{background:var(--surface-overlay-subtle);border-color:var(--border-subtle)}body[data-theme=dark] .discussions-page,body[data-theme=dark] .dpp-page{--cat-discussion-bg:#06b6d42e;--cat-discussion-fg:#67e8f9;--cat-review-bg:#8b5cf62e;--cat-review-fg:#c4b5fd;--cat-question-bg:#f59e0b2e;--cat-question-fg:#fcd34d;--cat-theory-bg:#10b9812e;--cat-theory-fg:#6ee7b7;--cat-recommendation-bg:#ec48992e;--cat-recommendation-fg:#f9a8d4;--cat-announcement-bg:#ef44442e;--cat-announcement-fg:#fca5a5}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-950);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ring-base{align-items:center;background:#0000;border-radius:50%;display:flex;flex-shrink:0;justify-content:center;position:relative;z-index:1}.ring-base img{background:var(--surface-base)}.ring-base img,.ring-base__fallback{border:2px solid var(--surface-base);border-radius:50%;box-shadow:0 2px 8px #00000014;height:calc(100% - 6px);object-fit:cover;position:relative;width:calc(100% - 6px);z-index:10}.ring-base__fallback{align-items:center;background:var(--surface-850);color:var(--text-secondary);display:flex;font-weight:700;justify-content:center}.ring-base:before{border:3px solid #94a3b8;border:3px solid var(--ring-color,#94a3b8);border-radius:50%;content:"";inset:0;pointer-events:none;position:absolute;z-index:5}.ring-base[role=button]{cursor:pointer;transition:transform .15s ease}.ring-base[role=button]:hover{transform:scale(1.05)}body[data-theme=dark] .ring-base img,body[data-theme=dark] .ring-base__fallback{background:var(--surface-850);border:2px solid var(--surface-base)}.ui-btn{-webkit-font-smoothing:antialiased;align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family-base);font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.02em;outline:none;position:relative;text-decoration:none;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.ui-btn:focus-visible{box-shadow:0 0 0 4px var(--color-accent-ring)}.ui-btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;pointer-events:none;transform:none!important}.ui-btn--sm{font-size:.75rem;height:2.25rem;padding:0 1rem}.ui-btn--md,.ui-btn--sm{border-radius:var(--radius-md)}.ui-btn--md{font-size:.85rem;height:2.75rem;padding:0 1.25rem}.ui-btn--lg{border-radius:var(--radius-md);font-size:.95rem;height:3.25rem;padding:0 1.75rem}.ui-btn--block{display:flex;width:100%}.ui-btn--primary{background:var(--btn-primary-gradient);border:1px solid var(--btn-primary-border);box-shadow:var(--btn-primary-shadow);font-weight:600}.ui-btn--primary,.ui-btn--primary .ui-btn__content{color:var(--btn-primary-text)}.ui-btn--primary .ui-btn__icon-left,.ui-btn--primary .ui-btn__icon-right{color:var(--btn-primary-text);opacity:.85}.ui-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover-bg);box-shadow:var(--btn-primary-hover-shadow);transform:translateY(-1px)}.ui-btn--primary:active:not(:disabled){background:var(--btn-primary-gradient);box-shadow:var(--btn-primary-shadow);transform:translateY(0)}.ui-btn--secondary{background:var(--surface-card);border:1px solid var(--border-subtle-strong);box-shadow:var(--shadow-sm);color:var(--text-primary)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-overlay-strong);border-color:var(--border-muted);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-btn--secondary:active:not(:disabled){background:var(--surface-card-strong);transform:translateY(0)}.ui-btn--outline{background:#0000;border:1px solid var(--border-muted);color:var(--text-primary)}.ui-btn--outline:hover:not(:disabled){background:var(--surface-overlay-subtle);border-color:var(--text-secondary);color:var(--text-emphasis)}.ui-btn--outline:active:not(:disabled){background:var(--surface-overlay-muted)}.ui-btn--ghost{background:#0000;border-color:#0000;box-shadow:none;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-overlay-subtle);color:var(--text-primary)}.ui-btn--ghost:active:not(:disabled){background:var(--surface-overlay-muted)}.ui-btn--danger{background:var(--status-critical);box-shadow:var(--shadow-sm),0 4px 12px #ef444433;color:#fff}.ui-btn--danger:hover:not(:disabled){background:var(--status-critical-strong);box-shadow:var(--shadow-md),0 6px 20px #ef44444d;transform:translateY(-1px)}.ui-btn--ghost-danger{background:#0000;border-color:#0000;box-shadow:none;color:var(--status-critical)}.ui-btn--ghost-danger:hover:not(:disabled){background:#ef44441a;background:var(--status-critical-subtle,#ef44441a);color:var(--status-critical-strong)}.ui-btn--ghost-danger:active:not(:disabled){background:#ef444433;background:var(--status-critical-subtle-strong,#ef444433)}.ui-btn--quiet{background:#0000;border-color:#0000;box-shadow:none;color:var(--text-secondary);padding:0 .5rem}.ui-btn--quiet:hover:not(:disabled){background:var(--surface-overlay-subtle);color:var(--text-primary)}.ui-btn--quiet:active:not(:disabled){background:var(--surface-overlay-muted)}.ui-btn--glass{backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);background:var(--surface-overlay-light);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);color:var(--text-primary)}.ui-btn--glass:hover:not(:disabled){background:var(--surface-overlay-subtle);border-color:var(--border-muted);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-btn__content{align-items:center;display:flex;gap:.5rem}.ui-btn__icon-left,.ui-btn__icon-right{align-items:center;display:flex;font-size:1.1em}.ui-btn__spinner{animation:spin 1s linear infinite;height:1.25em;width:1.25em}.ui-btn__spinner svg{height:100%;width:100%}.mod-banner{border-bottom:1px solid #0000;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;width:100%;z-index:999}.mod-banner--muted{background:#f59e0b1f;border-bottom-color:#f59e0b4d;color:#f59e0b;color:var(--status-warning,#f59e0b)}.mod-banner--suspended{background:#f973161f;border-bottom-color:#f973164d;color:#f97316}.mod-banner--banned{background:#f871711f;border-bottom-color:#f871714d;color:#f87171;color:var(--status-critical,#f87171)}.mod-banner__content{align-items:center;display:flex;gap:.5rem;justify-content:center;margin:0 auto;max-width:900px}.mod-banner__icon{flex-shrink:0;font-size:1.1rem}.mod-banner__text{line-height:1.4}.mod-toast{animation:mod-toast-slide-up .3s ease-out;bottom:2rem;left:50%;max-width:500px;position:fixed;transform:translateX(-50%);width:calc(100% - 2rem);z-index:10000}@keyframes mod-toast-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.mod-toast__content{align-items:center;background:#1e293b;background:var(--color-surface-strong,#1e293b);border:1px solid #334155;border-left:3px solid #f87171;border:1px solid var(--color-border,#334155);border-left:3px solid var(--status-critical,#f87171);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 8px 24px #0003;display:flex;gap:.75rem;padding:.875rem 1.25rem}.mod-toast__icon{color:#f87171;color:var(--status-critical,#f87171);flex-shrink:0;font-size:1.1rem}.mod-toast__text{color:#f1f5f9;color:var(--color-text,#f1f5f9);flex:1 1;font-size:.9rem;line-height:1.4}.mod-toast__close{background:none;border:none;color:#94a3b8;color:var(--color-text-muted,#94a3b8);cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;padding:0;transition:color .2s}.mod-toast__close:hover{color:#f1f5f9;color:var(--color-text,#f1f5f9)}@media (max-width:640px){.mod-banner{font-size:.85rem;padding:.625rem 1rem}.mod-banner__content{flex-direction:row;text-align:left}}.verify-email-banner{align-items:center;background:#fef3c7;background:var(--status-warning-bg,#fef3c7);border-bottom:1px solid #fde68a;border-bottom:1px solid var(--status-warning-border,#fde68a);color:#92400e;color:var(--status-warning-strong,#92400e);display:flex;font-size:.875rem;gap:.75rem;justify-content:center;padding:.5rem 1rem;text-align:center}.verify-email-banner__text{line-height:1.4}.verify-email-banner__link{color:inherit;font-weight:600;text-decoration:underline;white-space:nowrap}.verify-email-banner__link:hover{opacity:.8;text-decoration:none}:root{--type-scale-base:1rem;--type-scale-sm:calc(var(--type-scale-base)/1.125);--type-scale-xs:calc(var(--type-scale-sm)/1.125);--type-scale-1:calc(var(--type-scale-base)*1.125);--type-scale-2:calc(var(--type-scale-1)*1.125);--type-scale-3:calc(var(--type-scale-2)*1.125);--type-scale-4:calc(var(--type-scale-3)*1.125);--type-scale-5:calc(var(--type-scale-4)*1.125);--type-scale-6:calc(var(--type-scale-5)*1.125)}html{font-size:16px}body{font-family:var(--font-family-base);font-size:1rem;font-size:var(--type-scale-base);line-height:var(--line-height-normal)}.type-heading-xl{letter-spacing:-.01em}.type-heading-lg,.type-heading-xl{color:inherit;font-family:var(--font-family-heading);font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:600;line-height:var(--line-height-snug)}.type-heading-lg{letter-spacing:-.005em}.type-heading-md{font-size:clamp(.9rem,1.8vw,1.1rem)}.type-heading-md,.type-heading-sm{color:inherit;font-family:var(--font-family-heading);font-weight:600;line-height:var(--line-height-snug)}.type-heading-sm{font-size:clamp(.85rem,1.5vw,1rem)}.type-subtitle{color:inherit;font-family:var(--font-family-base);font-size:clamp(.9rem,1.5vw,1rem);font-weight:500;line-height:var(--line-height-normal)}.type-body{font-weight:400}.type-body,.type-body-strong{color:inherit;font-family:var(--font-family-base);font-size:1rem;font-size:var(--type-scale-base);line-height:var(--line-height-normal)}.type-body-strong{font-weight:600}.type-body-sm{font-size:.88889rem;font-size:var(--type-scale-sm)}.type-body-sm,.type-body-xs{color:inherit;font-family:var(--font-family-base);font-weight:500;line-height:var(--line-height-normal)}.type-body-xs{font-size:.79012rem;font-size:var(--type-scale-xs)}.type-body-longform{color:inherit;font-family:var(--font-family-base);font-size:1rem;font-size:var(--type-scale-base);font-weight:400;letter-spacing:.01em;line-height:var(--line-height-loose)}.type-nav{font-size:.88889rem;font-size:var(--type-scale-sm);letter-spacing:.04em}.type-label,.type-nav{color:inherit;font-family:var(--font-family-base);font-weight:600;line-height:var(--line-height-normal);text-transform:uppercase}.type-label{letter-spacing:.08em}.type-kicker,.type-label{font-size:.79012rem;font-size:var(--type-scale-xs)}.type-kicker{color:inherit;font-family:var(--font-family-base);font-weight:600;letter-spacing:.18em;line-height:var(--line-height-normal);text-transform:uppercase}.type-muted{color:var(--text-secondary)}.layout{background:var(--gradient-body);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;position:relative;width:100%}.layout:before{background:var(--gradient-body-glow);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.layout>*{position:relative;z-index:1}.layout--allow-sticky-content,.layout__main{overflow-x:clip}.layout__main{box-sizing:border-box;flex:1 1;min-width:0;padding:0;width:100%}.layout__main--allow-sticky-content{overflow-x:clip}.container{box-sizing:border-box;margin:0 auto;width:min(1280px,92%)}.app-footer{backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);background:linear-gradient(160deg,#f5f3ecf5,#efece3e0);background:var(--gradient-footer,linear-gradient(160deg,#f5f3ecf5,#efece3e0));margin-top:auto;padding:var(--spacing-xl) 0 var(--spacing-lg);position:relative}.app-footer:before{background:var(--gradient-brand);border-radius:var(--radius-pill);content:"";height:2px;left:50%;opacity:.6;position:absolute;top:0;transform:translateX(-50%);width:min(120px,30%)}.app-footer__top{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1.2fr 2fr;margin-bottom:var(--spacing-lg)}.app-footer__brand-block{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:320px}.app-footer__brand-link{align-items:center;display:inline-flex;gap:.6rem;text-decoration:none;width:-webkit-fit-content;width:fit-content}.app-footer__brand-mark{border-radius:10px;box-shadow:var(--shadow-sm);flex-shrink:0;height:36px;overflow:hidden;width:36px}.app-footer__brand-mark img{height:100%;object-fit:cover;width:100%}.app-footer__brand-name{color:var(--text-primary);font-family:var(--font-family-heading);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.app-footer__tagline{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;max-width:28ch}.app-footer__social{display:flex;gap:.5rem;margin-top:.25rem}.app-footer__social-link{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);display:grid;height:36px;place-items:center;text-decoration:none;transition:all .2s ease;width:36px}.app-footer__social-link:hover{background:var(--accent-500-alpha-18);border-color:var(--accent-500-alpha-35);color:var(--accent-600);transform:translateY(-2px)}.app-footer__links-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr)}.app-footer__col-title{border-bottom:1px solid var(--border-divider);color:var(--text-emphasis);font-family:var(--font-family-heading);font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:.85rem;padding-bottom:.5rem;text-transform:uppercase}.app-footer__col-list{grid-gap:.6rem;display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.app-footer__col-list a{color:var(--text-secondary);display:inline-block;font-size:var(--font-size-sm);text-decoration:none;transition:color .2s ease,padding-left .2s ease}.app-footer__col-list a:hover{color:var(--accent-600);padding-left:4px}.app-footer__bottom{align-items:center;border-top:1px solid var(--border-divider);color:var(--text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:space-between;padding-top:var(--spacing-md)}.app-footer__copyright{margin:0}.app-footer__made-with{font-size:var(--font-size-xs);margin:0}.app-footer__heart{color:var(--status-critical);font-size:.9rem}@media (max-width:900px){.app-footer__top{gap:var(--spacing-lg);grid-template-columns:1fr}.app-footer__brand-block{max-width:100%}.app-footer__links-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.layout__main{overflow-x:clip;padding:.5rem 0 3rem}.layout__main--no-mobile-padding{padding:0}.container{padding-left:0;padding-right:0;width:100%}.app-footer{padding:var(--spacing-lg) 0 var(--spacing-md)}.app-footer__links-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.app-footer__bottom{flex-direction:column;gap:.35rem;text-align:center}}.app-header{backdrop-filter:var(--blur-backdrop-lg);-webkit-backdrop-filter:var(--blur-backdrop-lg);background:var(--surface-overlay-strong);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);overflow-x:clip;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:80}@media (hover:none),(max-width:767px){.app-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff5}body[data-theme=dark] .app-header{background:#0f172af5}}.app-header__container{grid-gap:clamp(.75rem,2vw,1.5rem);align-items:center;display:grid;gap:clamp(.75rem,2vw,1.5rem);grid-template-areas:"brand nav actions";grid-template-columns:auto minmax(0,1fr) auto;margin:0 auto;max-width:1440px;min-height:72px;min-width:0;padding:.75rem clamp(1rem,5vw,3rem)}.app-header__backdrop{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--surface-overlay-accent-dim);cursor:pointer;inset:0;position:fixed;z-index:85}.app-header__brand{align-items:center;display:flex;grid-area:brand;min-width:0}.app-header--has-breadcrumb .app-header__brand{gap:.65rem}.app-header__logo{align-items:center;display:inline-flex;font-family:var(--font-family-heading);gap:.65rem;min-width:0;text-decoration:none;transition:transform .2s ease}.app-header__logo:hover{transform:translateY(-1px)}.app-header__logo-icon{align-items:center;background:linear-gradient(135deg,var(--color-accent-tint),var(--accent-400-alpha-12));border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;padding:6px;transition:all .2s ease;width:40px}.app-header__logo:hover .app-header__logo-icon{background:linear-gradient(135deg,var(--color-accent-focus),var(--accent-400-alpha-18));transform:scale(1.05)}.app-header__logo-icon img,.app-header__logo-icon svg{display:block;height:100%;width:100%}.app-header__logo-text{align-items:center;display:flex}.app-header__logo-name{-webkit-text-fill-color:#0000;animation:logo-shimmer 6s ease-in-out infinite;background:linear-gradient(120deg,var(--accent-600),var(--accent-500) 40%,var(--accent-400) 60%,var(--accent-600));-webkit-background-clip:text;background-clip:text;background-size:150% auto;filter:drop-shadow(0 1px 1px rgba(11,183,154,.08));font-size:1.3rem;font-weight:700;letter-spacing:-.025em;transition:filter .25s ease}@keyframes logo-shimmer{0%,to{background-position:0}50%{background-position:100%}}.app-header__logo:hover .app-header__logo-name{animation-duration:3s;filter:drop-shadow(0 1px 4px rgba(11,183,154,.18))}.app-header__breadcrumb{align-items:center;display:flex;font-family:var(--font-family-base);gap:.4rem;min-width:0}.app-header__breadcrumb a{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;max-width:180px;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color .15s;white-space:nowrap}.app-header__breadcrumb a:hover{color:var(--accent-600)}.app-header__breadcrumb-sep{color:var(--border-subtle);flex-shrink:0}.app-header__breadcrumb-chap{color:var(--text-muted);flex-shrink:0;font-size:var(--font-size-sm);white-space:nowrap}.app-header__reader-settings{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;flex-shrink:0;height:36px;justify-content:center;transition:color .15s,background .15s;width:36px}.app-header__reader-settings:hover{background:var(--accent-500-alpha-12);color:var(--accent-600)}.app-header__reader-settings svg{height:18px;width:18px}@keyframes reader-settings-hint-pulse{0%,to{box-shadow:0 0 0 0 #0bb79a1f;box-shadow:0 0 0 0 var(--accent-500-alpha-12,#0bb79a1f)}50%{box-shadow:0 0 0 6px #0bb79a1f;box-shadow:0 0 0 6px var(--accent-500-alpha-12,#0bb79a1f)}}.app-header__reader-settings--hint{color:var(--accent-600);position:relative}.app-header__reader-settings--hint:after{animation:reader-settings-hint-pulse 1.8s ease-in-out infinite;border-radius:50%;content:"";height:36px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:36px}.app-header__reader-settings--hint:focus-visible,.app-header__reader-settings--hint:hover{color:var(--accent-600)}.app-header__reader-settings--hint:focus-visible:after,.app-header__reader-settings--hint:hover:after{animation:none}@media (prefers-reduced-motion:reduce){.app-header__reader-settings--hint:after{animation:none}}@media (max-width:768px){.app-header--has-breadcrumb .app-header__breadcrumb-chap,.app-header--has-breadcrumb .app-header__breadcrumb-sep,.app-header--has-breadcrumb .notif-bell,.app-header__reader-settings{display:none}.app-header__breadcrumb a{max-width:120px}}.app-header__progress-track{background:#0000;bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.app-header__progress-fill{background:linear-gradient(90deg,var(--accent-400),var(--accent-500));height:100%;transition:width .1s linear}.app-header__nav{display:none;grid-area:nav;min-width:0}.app-header__nav-list{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.5rem,1.5vw,1.25rem);justify-content:center;list-style:none;margin:0;padding:0}.app-header__nav-link{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;letter-spacing:.01em;padding:.4rem .7rem;position:relative;text-decoration:none;transition:color .25s cubic-bezier(.4,0,.2,1)}.app-header__nav-link:after{background:var(--color-accent);border-radius:1px;bottom:-1px;content:"";height:2px;left:.7rem;position:absolute;right:.7rem;transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-header__nav-link:focus-visible,.app-header__nav-link:hover{background:#0000;color:var(--text-primary)}.app-header__nav-link:focus-visible:after,.app-header__nav-link:hover:after{background:var(--text-tertiary);transform:scaleX(.5)}.app-header__nav-link.is-active{background:#0000;color:var(--text-primary);font-weight:600}.app-header__nav-link.is-active:after{background:var(--color-accent);transform:scaleX(1)}.app-header__nav-link--admin{color:#f59e0b;color:var(--color-warning,#f59e0b)}.app-header__nav-link--admin:focus-visible,.app-header__nav-link--admin:hover{background:#0000;color:#f59e0b;color:var(--color-warning,#f59e0b)}.app-header__nav-link--admin:focus-visible:after,.app-header__nav-link--admin:hover:after{background:#f59e0b;background:var(--color-warning,#f59e0b)}.app-header__nav-link--admin.is-active{background:#0000;color:#f59e0b;color:var(--color-warning,#f59e0b)}.app-header__nav-link--admin.is-active:after{background:#f59e0b;background:var(--color-warning,#f59e0b)}.app-header__nav-dropdown{position:relative}.app-header__nav-dropdown-toggle{align-items:center;display:inline-flex;font-size:var(--font-size-md);gap:var(--spacing-2xs);height:auto!important;padding-bottom:var(--spacing-xs)!important;padding-top:var(--spacing-xs)!important}.app-header__dropdown-icon{transition:transform .2s ease}.app-header__nav-dropdown-toggle[aria-expanded=true] .app-header__dropdown-icon{transform:rotate(180deg)}.app-header__dropdown-menu{animation:dropdownSlide .2s ease;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);left:50%;list-style:none;margin:0;min-width:200px;padding:var(--spacing-sm);position:absolute;top:calc(100% + 12px);transform:translateX(-50%);z-index:200}@keyframes dropdownSlide{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.app-header__dropdown-menu li{list-style:none}.app-header__dropdown-menu a{border-radius:var(--radius-sm);color:var(--text-secondary);display:block;font-size:var(--font-size-sm-plus);padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all .2s ease}.app-header__dropdown-menu a:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.app-header__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs);grid-area:actions;min-width:0}.app-header__search{position:relative;transition:width .3s ease}.app-header__search form{align-items:center;background:var(--surface-overlay-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #00000005;display:flex;gap:var(--spacing-3xs);min-height:40px;padding-left:1rem;padding-right:.25rem;transition:all .3s ease}.app-header__search:focus-within form{background:var(--surface-base);border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 2px var(--color-accent-focus)}.app-header__search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:var(--font-size-sm-plus);min-width:0;outline:none;padding:var(--spacing-xs) 0;transition:width .3s ease;width:clamp(140px,15vw,220px)}.app-header__search.is-expanded input{width:clamp(180px,20vw,280px)}.app-header__search input::placeholder{color:var(--text-muted)}.app-header__search .btn--icon{flex-shrink:0;height:2.25rem;padding:.4rem;width:2.25rem}.app-header__mobile-toggle{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:none;height:40px;justify-content:center;padding:0;transition:border-color .2s ease,background .2s ease,color .2s ease;width:40px}.app-header__mobile-toggle:hover{background:var(--surface-overlay-muted);border-color:var(--border-muted);color:var(--accent-500)}.app-header__mobile-toggle:active{background:var(--surface-overlay-light);transform:scale(.96)}.app-header__mobile-toggle-icon{height:24px;transition:transform .2s cubic-bezier(.4,0,.2,1);width:24px}.app-header__mobile-toggle.is-active .app-header__mobile-toggle-icon{transform:rotate(90deg)}.app-header__drawer{background:var(--surface-base);border-left:none;bottom:0;box-shadow:-8px 0 32px #0003;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;pointer-events:none;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),visibility 0s .3s;visibility:hidden;width:min(280px,85vw);will-change:transform;z-index:90}.app-header__drawer.is-open{pointer-events:auto;transform:translateX(0);transition:transform .3s cubic-bezier(.4,0,.2,1),visibility 0s 0s;visibility:visible}.app-header__drawer-header{align-items:center;display:flex;justify-content:space-between;padding:16px 20px}.app-header__drawer-search{background:var(--surface-base);padding:12px 20px 20px}.app-header__drawer-search form{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 2px 4px #00000005;display:flex;padding:4px 4px 4px 16px;transition:border-color .2s ease,box-shadow .2s ease}.app-header__drawer-search form:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}.app-header__drawer-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:15px;min-width:0;outline:none}.app-header__drawer-search input::placeholder{color:var(--text-muted)}.app-header__drawer-search .btn--icon{border-radius:var(--radius-md);flex-shrink:0;height:36px;width:36px}.app-header__drawer-logo{align-items:center;display:inline-flex;font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:700;gap:var(--spacing-sm);text-decoration:none;transition:opacity .2s ease}.app-header__drawer-logo:hover{opacity:.8}.app-header__drawer-logo .app-header__logo-icon{background:linear-gradient(135deg,rgba(var(--accent-500-rgb),.12),rgba(var(--accent-400-rgb),.12));border-radius:var(--radius-sm);height:36px;padding:5px;width:36px}.app-header__drawer-logo span{-webkit-text-fill-color:#0000;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text}.app-header__drawer-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.app-header__drawer-close:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.app-header__drawer-nav{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:0 12px}.app-header__drawer-link{align-items:center;border-radius:12px;color:var(--text-secondary);display:flex;font-size:15px;font-weight:600;gap:16px;margin-bottom:4px;padding:14px 16px;position:relative;text-decoration:none;transition:all .2s ease}.app-header__drawer-link-icon{align-items:center;color:var(--text-muted);display:flex;flex-shrink:0;height:20px;justify-content:center;transition:color .2s ease;width:20px}.app-header__drawer-link:hover{background:var(--surface-overlay-subtle);color:var(--text-emphasis)}.app-header__drawer-link:hover .app-header__drawer-link-icon{color:var(--text-secondary)}.app-header__drawer-link.is-active{background:var(--color-accent-tint);color:var(--color-accent)}.app-header__drawer-link.is-active .app-header__drawer-link-icon{color:var(--color-accent)}.app-header__drawer-link.is-active:before{background:var(--color-accent);border-radius:0 4px 4px 0;content:"";height:24px;left:-12px;position:absolute;top:50%;transform:translateY(-50%);width:4px}.app-header__drawer-link--admin,.app-header__drawer-link--admin .app-header__drawer-link-icon{color:#f59e0b;color:var(--status-warning,#f59e0b)}.app-header__drawer-link--admin:hover{background:#f59e0b14}.app-header__drawer-link--admin.is-active{background:#f59e0b1f}.app-header__drawer-link--admin.is-active,.app-header__drawer-link--admin.is-active .app-header__drawer-link-icon{color:#f59e0b;color:var(--status-warning,#f59e0b)}.app-header__drawer-link--admin.is-active:before{background:#f59e0b;background:var(--status-warning,#f59e0b)}.app-header__drawer-footer{background:var(--surface-base);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px;padding:24px 20px}.app-header__user-card{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:12px;text-align:left;transition:all .2s ease;width:100%}.app-header__user-card:hover{background:var(--surface-overlay-muted);border-color:var(--border-muted)}.app-header__user-card .app-header__avatar-img,.app-header__user-card .app-header__avatar-placeholder{border-radius:50%;flex-shrink:0;height:40px;width:40px}.app-header__user-card .app-header__avatar-img{object-fit:cover}.app-header__user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.app-header__user-name{color:var(--text-primary);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__user-role{color:var(--text-muted);font-size:12px;font-weight:500}.app-header__logout-btn{align-items:center;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.app-header__logout-btn:hover{background:var(--surface-overlay-subtle);border-color:var(--border-muted);color:var(--text-emphasis)}.app-header__logout-btn:active{transform:scale(.98)}.app-header__login-link{align-items:center;background:var(--gradient-brand);border-radius:10px;color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:12px;text-decoration:none;transition:all .2s ease;width:100%}.app-header__login-link:hover{opacity:.9}@media (min-width:1024px){.app-header__nav{display:block}.app-header__mobile-toggle{display:none}.app-header__drawer{display:none!important}.app-header__container{gap:clamp(.125rem,.25vw,.25rem) clamp(.5rem,2vw,1.5rem);grid-template-areas:"brand actions" "nav nav";grid-template-columns:1fr auto;min-height:auto;padding:clamp(.5rem,1vw,.75rem) clamp(.75rem,4vw,3rem) clamp(.25rem,.5vw,.375rem)}.app-header__brand{grid-area:brand}.app-header__nav{border-top:1px solid var(--border-subtle);grid-area:nav;padding-top:0}.app-header__nav-list{flex-wrap:wrap;gap:clamp(.25rem,.5vw,.4rem);justify-content:flex-start}.app-header__nav-link{font-size:var(--font-size-sm);padding:.35rem .6rem}.app-header__nav-link:after{left:.6rem;right:.6rem}.app-header__actions{gap:var(--spacing-xs);grid-area:actions}.app-header__search input{width:clamp(140px,15vw,220px)}.app-header__search.is-expanded input{width:clamp(180px,20vw,280px)}}@media (max-width:1023px){.app-header__container{gap:var(--spacing-md);grid-template-areas:"brand actions";grid-template-columns:1fr auto}.app-header__nav{display:none}.app-header__mobile-toggle{display:inline-flex}.app-header__search input{width:140px}.app-header__search.is-expanded input{width:180px}}@media (min-width:641px) and (max-width:1023px){.app-header__search{display:block}.app-header__drawer-search{display:none}}@media (max-width:640px){.app-header__container{min-height:64px;padding:0 16px}.app-header__logo-name{font-size:1.1rem}.app-header__logo-icon{border-radius:var(--radius-sm);height:32px;width:32px}.app-header__search{display:none}.app-header__actions{gap:10px}}@media (max-width:480px){.app-header__container{min-height:64px;padding:0 12px}.app-header__logo-name{font-size:1.1rem}.app-header__logo-icon{height:32px;width:32px}.app-header__mobile-toggle{height:36px;width:36px}.app-header__actions{gap:8px}}.app-header__avatar-btn,.app-header__avatar-btn.ui-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:visible;padding:0;transition:all .2s ease;width:44px}@media (min-width:1024px){.app-header__avatar-btn{height:48px;width:48px}}.app-header__avatar-btn:hover{filter:brightness(1.1)}.app-header__avatar-img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.app-header__avatar-placeholder{align-items:center;background:var(--surface-overlay-subtle);color:var(--text-secondary);display:flex;font-size:var(--font-size-sm-plus);font-weight:600;height:100%;justify-content:center;text-transform:uppercase;-webkit-user-select:none;user-select:none;width:100%}.theme-toggle__icon{height:18px;width:18px}.theme-toggle__label{font-size:.78rem}.notif-bell{flex-shrink:0;position:relative}.notif-bell__btn{align-items:center;border-radius:50%;color:var(--text-secondary);display:flex;font-family:var(--font-family-base);height:40px;justify-content:center;padding:0;position:relative;transition:all .2s ease;width:40px}.notif-bell__btn:focus-visible,.notif-bell__btn:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.notif-bell__badge{align-items:center;background:var(--gradient-accent);border-radius:999px;box-shadow:0 0 0 2px var(--surface-card);color:var(--text-inverse);display:flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;pointer-events:none;position:absolute;right:2px;top:2px}.notif-bell__dropdown{animation:notif-dropdown-in .15s ease-out;backdrop-filter:var(--blur-backdrop-lg);-webkit-backdrop-filter:var(--blur-backdrop-lg);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;font-family:var(--font-family-base);overflow:hidden;z-index:9999}@keyframes notif-dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-bell__dropdown-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:.75rem 1rem}.notif-bell__dropdown-title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:600}.notif-bell__mark-all{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;padding:.25rem .5rem;transition:all .15s ease}.notif-bell__mark-all:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.notif-bell__dropdown-list{flex:1 1;overflow-y:auto;overscroll-behavior:contain}.notif-bell__empty{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--font-size-sm);justify-content:center;padding:2rem 1rem}.notif-bell__item{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;font-family:inherit;gap:.75rem;padding:.75rem 1rem;position:relative;text-align:left;transition:background .15s ease;width:100%}.notif-bell__item:hover{background:var(--surface-overlay-subtle)}.notif-bell__item--unread{background:var(--surface-overlay-soft)}.notif-bell__item--unread:hover{background:var(--surface-overlay-subtle)}.notif-bell__item-avatar{background:var(--surface-overlay-soft);border:2px solid var(--surface-card);border-radius:50%;flex-shrink:0;height:36px;overflow:hidden;width:36px}.notif-bell__item-avatar img{display:block;height:100%;object-fit:cover;width:100%}.notif-bell__item-initials{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:center;text-transform:uppercase;width:100%}.notif-bell__item-content{flex:1 1;min-width:0}.notif-bell__item-text{color:var(--text-primary);font-size:var(--font-size-sm);line-height:1.4;margin:0}.notif-bell__item-text strong{font-weight:600}.notif-actor-link{color:inherit;text-decoration:none;transition:color .15s ease}.notif-actor-link:hover{color:var(--accent-500);text-decoration:underline}.notif-bell__item-preview{font-style:italic;margin:.25rem 0 0}.notif-bell__item-novel,.notif-bell__item-preview{color:var(--text-secondary);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-bell__item-novel{font-weight:500;margin:.2rem 0 0}.notif-bell__item-time{color:var(--text-tertiary);display:block;font-size:var(--font-size-xs);margin-top:.2rem}.notif-bell__item--badge .notif-bell__item-text{color:var(--text-primary);font-weight:600}.notif-bell__item-initials--badge{align-items:center;background:linear-gradient(135deg,#6f42c1,#ae4081);background:var(--gradient-accent,linear-gradient(135deg,#6f42c1,#ae4081));color:#fff;display:flex;justify-content:center}.notif-bell__item-dot{background:var(--gradient-accent);border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notif-bell__dropdown-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;padding:.5rem}.notif-bell__view-all{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:block;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;padding:.5rem;text-align:center;transition:all .15s ease;width:100%}.notif-bell__view-all:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.notif-bell__backdrop{animation:notif-backdrop-in .15s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:var(--surface-overlay-accent-dim);inset:0;position:fixed;z-index:9998}@keyframes notif-backdrop-in{0%{opacity:0}to{opacity:1}}@media (max-width:640px){.notif-bell__dropdown{animation:notif-sheet-in .2s ease-out;border-radius:var(--radius-lg) var(--radius-lg) 0 0}@keyframes notif-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.ui-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.ui-card--padded{padding:0}.ui-card--hoverable:hover{border-color:var(--border-muted);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.ui-card--glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #ffffff80}body[data-theme=dark] .ui-card--glass{background:#0f172a99;border-color:#ffffff1a}@media (hover:none),(max-width:767px){.ui-card--glass,body[data-theme=dark] .ui-card--glass{backdrop-filter:none;-webkit-backdrop-filter:none}}.ui-card__header{align-items:center;border-bottom:1px solid var(--border-divider);color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;padding:1.25rem 1.5rem}.ui-card__body{padding:1.5rem}.ui-card__footer{align-items:center;background:var(--surface-overlay-veil);border-top:1px solid var(--border-divider);display:flex;gap:1rem;padding:1rem 1.5rem}.ui-badge{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-family-base);font-weight:600;justify-content:center;letter-spacing:.02em;line-height:1;transition:all .2s ease;white-space:nowrap}.ui-badge--pill{border-radius:999px}.ui-badge--sm{font-size:.75rem;padding:.25rem .6rem}.ui-badge--md{font-size:.85rem;padding:.35rem .85rem}.ui-badge--default{background:var(--surface-overlay-strong);border-color:var(--border-subtle);color:var(--text-secondary)}.ui-badge--primary{background:var(--color-accent-focus);border-color:var(--color-accent-ring);color:var(--color-accent-dim)}.ui-badge--success{background:var(--status-positive-soft);border-color:var(--status-positive-border);color:var(--status-positive-strong)}.ui-badge--warning{background:var(--status-highlight-bg);border-color:#0000;color:var(--status-highlight-text)}.ui-badge--critical{background:var(--status-critical-bg);border-color:var(--status-critical-border-strong);color:var(--status-critical-strong)}.ui-badge--info{background:var(--status-info-soft);border-color:#3b82f640;color:var(--status-info-strong)}.ui-badge--outline{background:#0000}.ui-badge--outline.ui-badge--primary{border-color:var(--color-accent);color:var(--color-accent)}.novel-card-wrapper{overflow:visible}.novel-card,.novel-card-wrapper,.ui-card.novel-card{display:flex;flex-direction:column;height:100%;min-width:0;text-decoration:none}.novel-card,.ui-card.novel-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 2px 4px #00000014;color:var(--text-primary);max-width:100%;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}body[data-theme=dark] .novel-card{background:#1e293bd9;border-color:#ffffff14}.novel-card--interactive:hover{transform:translateY(-8px)}.novel-card__cover{aspect-ratio:2/3;background:#f1f5f9;background:var(--surface-muted,#f1f5f9);border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;position:relative}.novel-card__cover img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.novel-card--interactive:hover .novel-card__cover img{transform:scale(1.05)}.novel-card__placeholder{background:var(--surface-overlay-subtle);color:var(--text-tertiary);display:grid;font-size:2rem;inset:0;place-content:center;position:absolute}.novel-card__rank-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border:1px solid #ffffff1a;border-radius:var(--radius-sm);box-shadow:0 4px 12px #0003;color:#fff;display:flex;flex-direction:column;font-size:.75rem;font-weight:800;left:10px;line-height:1;max-width:calc(55% - 20px);padding:3px 8px;position:absolute;top:10px;z-index:10}.rank-badge__main{align-items:center;display:flex;gap:5px}.novel-card__rank-badge .rank-crown{flex-shrink:0;height:13px;width:13px}.rank-badge__type{font-size:.6rem;font-weight:700;letter-spacing:.07em;margin-top:2px;opacity:.9;text-transform:uppercase;white-space:nowrap}.novel-card__rank-badge--weekly{border-color:#f43f5e80}.novel-card__rank-badge--weekly .rank-crown,.novel-card__rank-badge--weekly .rank-number{color:#f43f5e}.novel-card__rank-badge--weekly .rank-badge__type{color:#fda4af}.novel-card__rank-badge--monthly{border-color:#a855f780}.novel-card__rank-badge--monthly .rank-crown,.novel-card__rank-badge--monthly .rank-number{color:#a855f7}.novel-card__rank-badge--monthly .rank-badge__type{color:#d8b4fe}.novel-card__rank-badge--yearly{border-color:#3b82f680}.novel-card__rank-badge--yearly .rank-crown,.novel-card__rank-badge--yearly .rank-number{color:#3b82f6}.novel-card__rank-badge--yearly .rank-badge__type{color:#93c5fd}.novel-card__rank-badge--alltime{border-color:#fbbf2480}.novel-card__rank-badge--alltime .rank-crown,.novel-card__rank-badge--alltime .rank-number{color:#fbbf24}.novel-card__rank-badge--alltime .rank-badge__type{color:#fde047}.novel-card__rank-badge--contest{border-color:#10b98180}.novel-card__rank-badge--contest .rank-crown,.novel-card__rank-badge--contest .rank-number{color:#10b981}.novel-card__rank-badge--contest .rank-badge__type{color:#6ee7b7}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--weekly){border-color:#0000;box-shadow:0 0 0 1px #f43f5e66,0 0 24px -4px #f43f5e59,0 2px 4px #00000014}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--weekly):hover{box-shadow:0 0 0 1px #f43f5ecc,0 0 35px -2px #f43f5e99,0 16px 32px -8px #0003}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--monthly){border-color:#0000;box-shadow:0 0 0 1px #a855f766,0 0 24px -4px #a855f759,0 2px 4px #00000014}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--monthly):hover{box-shadow:0 0 0 1px #a855f7cc,0 0 35px -2px #a855f799,0 16px 32px -8px #0003}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--yearly){border-color:#0000;box-shadow:0 0 0 1px #3b82f666,0 0 24px -4px #3b82f659,0 2px 4px #00000014}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--yearly):hover{box-shadow:0 0 0 1px #3b82f6cc,0 0 35px -2px #3b82f699,0 16px 32px -8px #0003}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--alltime){border-color:#0000;box-shadow:0 0 0 1px #fbbf2466,0 0 24px -4px #fbbf2459,0 2px 4px #00000014}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--alltime):hover{box-shadow:0 0 0 1px #fbbf24cc,0 0 35px -2px #fbbf2499,0 16px 32px -8px #0003}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--contest){border-color:#0000;box-shadow:0 0 0 1px #10b98166,0 0 24px -4px #10b98159,0 2px 4px #00000014}.novel-card.novel-card--ranked:has(.novel-card__rank-badge--contest):hover{box-shadow:0 0 0 1px #10b981cc,0 0 35px -2px #10b98199,0 16px 32px -8px #0003}body[data-theme=dark] .novel-card.novel-card--ranked:has(.novel-card__rank-badge--weekly){box-shadow:0 0 0 1px #f43f5e80,0 0 28px -4px #f43f5e73}body[data-theme=dark] .novel-card.novel-card--ranked:has(.novel-card__rank-badge--monthly){box-shadow:0 0 0 1px #a855f780,0 0 28px -4px #a855f773}body[data-theme=dark] .novel-card.novel-card--ranked:has(.novel-card__rank-badge--yearly){box-shadow:0 0 0 1px #3b82f680,0 0 28px -4px #3b82f673}body[data-theme=dark] .novel-card.novel-card--ranked:has(.novel-card__rank-badge--alltime){box-shadow:0 0 0 1px #fbbf248c,0 0 32px -4px #fbbf2480}body[data-theme=dark] .novel-card.novel-card--ranked:has(.novel-card__rank-badge--contest){box-shadow:0 0 0 1px #10b9818c,0 0 32px -4px #10b98180}.novel-card__status-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border:1px solid #ffffff1a;border-radius:var(--radius-sm);box-shadow:0 4px 12px #0003;color:#fff;display:flex;font-size:.625rem;font-weight:700;gap:4px;padding:3px 8px;position:absolute;right:10px;text-transform:capitalize;top:10px;white-space:nowrap;z-index:10}.status-dot{background-color:#94a3b8;border-radius:50%;box-shadow:0 0 4px currentColor;flex-shrink:0;height:5px;width:5px}.status-dot.completed{background-color:#10b981;box-shadow:0 0 6px #10b98180}.status-dot.ongoing{background-color:#38bdf8;box-shadow:0 0 6px #38bdf880}.status-dot.hiatus{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b80}.novel-card__new-chapter-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#22c55eeb;border:1px solid #ffffff1f;border-radius:var(--radius-sm);box-shadow:0 2px 8px #22c55e59;color:#fff;display:flex;font-size:.6875rem;font-weight:700;gap:4px;padding:4px 8px;position:absolute;right:10px;top:10px;white-space:nowrap;z-index:10}.novel-card__new-chapter-badge .new-chapter-dot{animation:new-chapter-blink 1.5s ease-in-out infinite;background:#fff;border-radius:50%;flex-shrink:0;height:5px;width:5px}@keyframes new-chapter-blink{0%,to{opacity:1}50%{opacity:.4}}body[data-theme=dark] .novel-card__new-chapter-badge{background:#16a34ae0;border-color:#ffffff14}@media (max-width:640px){.novel-card__new-chapter-badge{font-size:.625rem;padding:3px 6px;right:6px;top:6px}}.novel-card__info-overlay{background:linear-gradient(0deg,#000000f2 0,#0009 50%,#0000);bottom:0;display:flex;flex-direction:column;gap:.5rem;left:0;padding:2.5rem 1.25rem 1.25rem;position:absolute;right:0;text-align:left;z-index:5}.novel-card__info-overlay .novel-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:.95rem;font-weight:800;line-height:1.35;margin:0;overflow:hidden;text-shadow:0 2px 8px #0009}.novel-card__info-overlay .novel-card__author-row{color:#ffffffe6;font-size:.75rem;font-weight:500;justify-content:flex-start}.novel-card__info-overlay .icon-pen{opacity:1}.novel-card__content{display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow:hidden;padding:.625rem .875rem}.novel-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.95rem;font-weight:700;line-height:1.35;margin:0 0 .25rem;overflow:hidden;text-align:left}.novel-card__author-row{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;font-weight:500;gap:6px;margin:0}.novel-card__author-row .icon-pen{height:14px;opacity:.7;width:14px}.novel-card__author-inline{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin:0}.novel-card__genres{column-gap:.35rem;display:flex;flex-wrap:wrap;margin-bottom:.5rem;max-height:2.4rem;min-width:0;overflow:hidden;row-gap:.35rem}.genre-chip{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.6875rem;font-weight:600;overflow:hidden;padding:1px 6px;text-overflow:ellipsis;white-space:nowrap}.novel-card__divider{background:var(--border-subtle);height:1px;margin-bottom:.5rem;width:100%}body[data-theme=dark] .novel-card__divider{background:#ffffff1a}.novel-card__stats-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto;min-width:0;overflow:hidden}.stat-col{flex:1 1;flex-direction:column}.stat-col,.stat-value{align-items:center;display:flex;gap:2px}.stat-value{color:var(--text-primary);font-size:.85rem;font-weight:800;white-space:nowrap}.icon-star-footer{color:var(--accent-500);flex-shrink:0;height:10px;margin-bottom:1px;width:10px}.stat-label{color:var(--text-tertiary);font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stat-separator{background:var(--border-subtle);height:24px;width:1px}body[data-theme=dark] .stat-separator{background:#ffffff1a}.label-mobile{display:none}@media (max-width:640px){.novel-card__content{padding:.5rem .4rem}.novel-card__title{font-size:.9rem;line-height:1.25;margin-bottom:.1rem}.novel-card__author-row,.stat-value{font-size:.75rem}.stat-label{font-size:.55rem;font-weight:600;letter-spacing:0}.label-desktop{display:none}.label-mobile{display:inline}.stat-separator{height:12px;margin:0 2px;opacity:.5}.novel-card__genres{column-gap:.25rem;margin-bottom:.4rem;max-height:1.9rem;row-gap:.25rem}.genre-chip{font-size:.6rem;padding:1px 4px}.novel-card__rank-badge{border-radius:4px;font-size:.7rem;gap:3px;left:6px;max-width:calc(50% - 12px);overflow:hidden;padding:2px 6px;top:6px}.novel-card__rank-badge .rank-crown{flex-shrink:0;height:10px;width:10px}.rank-badge__type{font-size:.5rem;margin-top:1px}.novel-card__status-badge{border-radius:4px;bottom:auto;font-size:.5rem;gap:3px;padding:2px 6px;right:6px;top:6px}.status-dot{flex-shrink:0;height:4px;width:4px}}.ui-card.novel-card--compact{align-items:stretch;border-radius:var(--radius-lg);flex-direction:row;gap:.9rem;height:auto;min-height:210px;padding:.85rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.ui-card.novel-card--compact .novel-card__cover{align-self:stretch;aspect-ratio:2/3;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-grow:0;flex-shrink:0;height:auto;overflow:hidden;width:120px}.ui-card.novel-card--compact .novel-card__cover img{border-radius:var(--radius-md);height:100%;object-fit:cover;width:100%}.ui-card.novel-card--compact .novel-card__placeholder{font-size:1.75rem}.novel-card__rank-badge--compact{font-size:.75rem;gap:0;left:8px;max-width:calc(100% - 16px);padding:4px 8px;top:8px}.novel-card__rank-badge--compact .rank-badge__type,.novel-card__rank-badge--compact .rank-crown{display:none}.novel-card__status-badge--compact{bottom:8px;font-size:.65rem;gap:4px;left:8px;max-width:calc(100% - 16px);padding:4px 8px;right:auto;top:auto}.ui-card.novel-card--compact .novel-card__body{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;height:100%;justify-content:flex-start;min-width:0;overflow:hidden;padding-left:0}.ui-card.novel-card--compact .novel-card__compact-head{display:flex;flex-direction:column;gap:.2rem;min-width:0;width:100%}.ui-card.novel-card--compact .novel-card__title{-webkit-line-clamp:2;line-clamp:2;font-size:1.05rem;font-weight:700;line-height:1.3;margin:0}.ui-card.novel-card--compact .novel-card__author-inline{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:5px;margin:0}.ui-card.novel-card--compact .novel-card__author-inline svg{flex-shrink:0;opacity:.7}.ui-card.novel-card--compact .novel-card__genres{column-gap:.4rem;margin-bottom:0;max-height:2.5rem;row-gap:.3rem}.ui-card.novel-card--compact .genre-chip{font-size:.7rem;padding:2px 8px}.ui-card.novel-card--compact .novel-card__description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.82rem;line-height:1.5;margin:0;max-width:100%;overflow:hidden}.ui-card.novel-card--compact .novel-card__stats-compact{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;margin-top:auto;padding-top:.2rem}.novel-card__stat-compact{font-weight:600;white-space:nowrap}.novel-card__stat-compact--rating{color:var(--accent-600);font-weight:700}.novel-card__stat-sep{color:var(--text-tertiary);font-weight:400}body[data-theme=dark] .novel-card__stat-compact--rating{color:var(--accent-400)}.ui-card.novel-card--interactive.novel-card--compact:hover{border-color:var(--accent-500-alpha-45);box-shadow:var(--shadow-md);transform:translateY(-3px)}body[data-theme=dark] .ui-card.novel-card--compact .novel-card__description{color:var(--text-on-dark-muted)}@media (max-width:1024px){.ui-card.novel-card--compact{gap:.75rem;min-height:188px;padding:.75rem}.ui-card.novel-card--compact .novel-card__cover{width:108px}}@media (max-width:640px){.ui-card.novel-card--compact{gap:.6rem;min-height:148px;padding:.6rem}.ui-card.novel-card--compact .novel-card__cover{width:84px}.ui-card.novel-card--compact .novel-card__body{gap:.3rem}.ui-card.novel-card--compact .novel-card__title{-webkit-line-clamp:2;line-clamp:2;font-size:.9rem}.ui-card.novel-card--compact .novel-card__author-inline{font-size:.72rem}.ui-card.novel-card--compact .novel-card__genres{display:none}.ui-card.novel-card--compact .novel-card__description{-webkit-line-clamp:1;line-clamp:1;font-size:.75rem}.ui-card.novel-card--compact .novel-card__stats-compact{font-size:.7rem;gap:.35rem}.novel-card__rank-badge--compact{font-size:.65rem;left:5px;padding:2px 6px;top:5px}.novel-card__status-badge--compact{bottom:5px;font-size:.55rem;left:5px;padding:2px 6px}}@media (max-width:390px){.ui-card.novel-card--compact{min-height:128px}.ui-card.novel-card--compact .novel-card__cover{width:72px}.ui-card.novel-card--compact .novel-card__description{display:none}}@media (hover:none),(max-width:767px){.novel-card__new-chapter-badge,.novel-card__rank-badge,.novel-card__status-badge{backdrop-filter:none;-webkit-backdrop-filter:none}.novel-card--interactive:hover,.novel-card--interactive:hover .novel-card__cover img{transform:none}.novel-card,.ui-card.novel-card--compact{transition:border-color .25s ease}.novel-card__cover img{transition:none}}.hero-section{margin-bottom:var(--spacing-md);overflow:hidden;position:relative;width:100%}.hero-section__backdrop{background:var(--surface-950);inset:0;position:absolute;z-index:0}.hero-section__backdrop-layer{filter:blur(32px) saturate(1.3);height:calc(100% + 80px);inset:-40px;object-fit:cover;object-position:center 20%;opacity:0;position:absolute;transform:scale(1.15);transition:opacity 1.2s ease-in-out;width:calc(100% + 80px)}.hero-section__backdrop-layer.is-active{opacity:1}.hero-section__backdrop-overlay{background:linear-gradient(135deg,#0f172abf,#0f172a8c 50%,#0f172ad1);inset:0;position:absolute;z-index:1}.hero-section__body{align-items:center;display:flex;gap:clamp(1rem,2.5vw,1.75rem);margin:0 auto;padding:clamp(1rem,2vw,1.5rem) 0 clamp(.75rem,1.5vw,1rem);position:relative;width:min(1280px,92%);z-index:2}.hero-section__cover{aspect-ratio:2/3;background:var(--gradient-cover-fallback);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);flex:0 0 clamp(150px,13vw,200px);flex-shrink:0;overflow:hidden}.hero-section__cover img{display:block;height:100%;object-fit:cover;width:100%}.hero-section__info{display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:0}.hero-section__badges{display:flex;flex-wrap:wrap;gap:.3rem}.hero-chip{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--radius-pill);color:#ffffffd9;display:inline-flex;font-family:var(--font-family-mono);font-size:.6rem;font-weight:700;gap:.25rem;letter-spacing:.04em;padding:.15rem .5rem;text-transform:uppercase;white-space:nowrap}.hero-chip__star{font-size:.65rem}.hero-chip--weekly{background:#fb923c14;border-color:#fb923c4d;color:#f97316}.hero-chip--monthly{background:#60a5fa14;border-color:#60a5fa4d;color:#3b82f6}.hero-chip--yearly{background:#a855f714;border-color:#a855f74d;color:#a855f7}.hero-chip--alltime{background:#fbbf2414;border-color:#fbbf244d;color:#f59e0b}.hero-section__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-family:var(--font-family-heading);font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0;overflow:hidden}.hero-section__title a{color:#fff;text-decoration:none;text-shadow:0 2px 12px #00000080;transition:opacity .2s ease}.hero-section__title a:hover{opacity:.85}.hero-section__author{color:#ffffffb3;font-family:var(--font-family-base);font-size:.8rem;font-weight:500;margin:0;text-shadow:0 1px 4px #0006}.hero-section__synopsis{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#fffc;display:-webkit-box;font-family:var(--font-family-serif);font-size:.82rem;font-style:italic;line-height:1.45;margin:0;max-width:60ch;overflow:hidden;text-shadow:0 1px 4px #0006}.hero-section__actions{display:flex;gap:.5rem;margin-top:.35rem}.hero-section__actions--dual{gap:.6rem}.hero-btn-primary{background:#fff!important;border:none!important;border-radius:var(--radius-md)!important;box-shadow:0 4px 14px #0003!important;color:#1e293b!important;font-size:.82rem!important;font-weight:700!important;padding:.45rem 1.3rem!important;transition:all .2s ease!important}.hero-btn-primary .ui-btn__content{-webkit-text-fill-color:initial!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#1e293b!important}.hero-btn-primary:hover{background:#f8fafc!important;box-shadow:0 8px 24px #ffffff40!important;transform:translateY(-2px)}.hero-section__picks{display:none;gap:.4rem;margin:0 auto;padding:0 0 clamp(.6rem,1.5vw,.9rem);position:relative;width:min(1280px,92%);z-index:2}.hero-pick{background:#ffffff14;border:2px solid #0000;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;height:56px;overflow:hidden;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);width:40px}.hero-pick img{display:block;height:100%;object-fit:cover;width:100%}.hero-pick:hover{border-color:#fff6;transform:translateY(-3px)}.hero-pick.is-active{border-color:#fff;box-shadow:0 4px 14px #0006;height:66px;width:48px}.hero-section__dots{display:none}.hero-dot{background:#ffffff40;border:none;border-radius:50%;cursor:pointer;height:6px;padding:0;transition:all .2s ease;width:6px}.hero-dot.is-active{background:#fff;border-radius:var(--radius-pill);width:18px}.hero-section__stats{display:flex;gap:1.5rem;margin-top:.3rem}.hero-section__stat{display:flex;flex-direction:column;gap:.1rem}.hero-section__stat-value{color:#fff;font-size:.9rem;font-weight:700}.hero-section__stat-label{color:#ffffff80;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.hero-section__genres{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.hero-section__genre-tag{background:#0bb79a26;border:1px solid #0bb79a4d;border-radius:var(--radius-pill);color:#ffffffd9;font-size:.7rem;font-weight:600;padding:.15rem .5rem;white-space:nowrap}.hero-btn-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a!important;border:1px solid #ffffff40!important;border-radius:var(--radius-md)!important;color:#fff!important;font-size:.82rem!important;font-weight:600!important;padding:.45rem 1.1rem!important;transition:all .2s ease!important}.hero-btn-secondary:hover{background:#fff3!important;border-color:#fff6!important}.hero-btn-secondary .ui-btn__content{-webkit-text-fill-color:initial!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#fff!important}.hero-section__side-picks{align-self:center;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem;margin-left:auto}.hero-section__side-picks-label{color:#fff6;font-family:var(--font-family-mono);font-size:.55rem;font-weight:700;letter-spacing:.08em;margin-bottom:.15rem;text-transform:uppercase}.hero-pick--side{height:60px;width:44px}.hero-pick--side.is-active{height:70px;width:52px}.hero-section__nav{align-items:center;background:#0000;border:none;border-radius:50%;color:#ffffff59;cursor:pointer;display:none;height:36px;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:color .2s ease;width:36px;z-index:3}.hero-section__nav:active{color:#fffc}.hero-section__nav--prev{left:.5rem}.hero-section__nav--next{right:.5rem}@media (max-width:640px){.hero-section{border-radius:0}.hero-section__body{flex-direction:column;gap:.75rem;padding:.75rem var(--spacing-2xs) .5rem;width:100%}.hero-section__cover{align-self:center;flex:0 0 130px;width:90px}.hero-section__info{align-items:center;gap:.35rem;text-align:center}.hero-section__badges{justify-content:center}.hero-section__author,.hero-section__synopsis,.hero-section__title{max-width:100%;overflow-wrap:break-word;width:100%;word-break:break-word}.hero-section__title{-webkit-line-clamp:2;line-clamp:2;font-size:1.15rem}.hero-section__synopsis{-webkit-line-clamp:2;line-clamp:2;max-width:100%}.hero-section__actions{justify-content:center}.hero-section__actions--dual{flex-direction:row;gap:.5rem}.hero-btn-secondary{font-size:.75rem!important;padding:.35rem .8rem!important}.hero-section__genres,.hero-section__picks,.hero-section__side-picks,.hero-section__stats{display:none}.hero-section__dots{display:flex;gap:.3rem;justify-content:center;padding:0 0 .6rem}.hero-section__nav{display:flex}}.horizontal-scroll-section{margin-bottom:1.5rem;position:relative}.horizontal-scroll__header{align-items:baseline;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;margin-left:auto;margin-right:auto;padding-bottom:.6rem;width:min(1280px,92%)}.horizontal-scroll__title{align-items:baseline;color:var(--text-primary);display:flex;font-family:var(--font-family-heading);font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:800;gap:.4rem;letter-spacing:-.01em;margin:0}.horizontal-scroll__accent{color:var(--accent-600);font-family:var(--font-family-serif);font-style:italic;font-weight:500}.horizontal-scroll__view-all{background:none;border:none;color:var(--accent-600);cursor:pointer;font-family:var(--font-family-mono);font-size:.72rem;font-weight:700;padding:0;transition:color .2s ease}.horizontal-scroll__view-all:hover{color:var(--accent-500)}.horizontal-scroll__arrow{font-size:.85rem}.horizontal-scroll__heading{align-items:center;display:flex;gap:6px;position:relative}.horizontal-scroll__info-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:20px;justify-content:center;padding:0;transition:color .2s ease,background .2s ease;width:20px}.horizontal-scroll__info-btn:focus-visible,.horizontal-scroll__info-btn:hover{background:#94a3b826;color:var(--text-primary);outline:none}.horizontal-scroll__info-btn svg{height:16px;width:16px}.horizontal-scroll__info-popover{backdrop-filter:blur(8px);backdrop-filter:var(--blur-medium,blur(8px));-webkit-backdrop-filter:blur(8px);-webkit-backdrop-filter:var(--blur-medium,blur(8px));background:#fffffff2;background:var(--surface-overlay-strong,#fffffff2);border:1px solid #94a3b833;border:1px solid var(--border-subtle,#94a3b833);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 4px 12px #0f172a1f;box-shadow:var(--shadow-md,0 4px 12px #0f172a1f);color:var(--text-secondary);font-size:.82rem;font-weight:400;left:0;line-height:1.4;max-width:320px;padding:10px 14px;position:absolute;top:calc(100% + 8px);z-index:20}.horizontal-scroll__controls{align-items:center;display:flex;gap:12px}.horizontal-scroll__viewport-wrapper{margin:0 auto;position:relative;width:min(1280px,92%)}.scroll-edge{align-items:center;display:flex;height:60px;pointer-events:auto;position:absolute;top:35%;width:60px;z-index:10}.scroll-edge--left{justify-content:flex-start;left:0;padding-left:8px}.scroll-edge--right{justify-content:flex-end;padding-right:8px;right:0}.scroll-edge__arrow{align-items:center;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);background:var(--surface-overlay-strong);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;display:flex;height:44px;justify-content:center;opacity:0;transform:translateX(0);transform:translateX(var(--arrow-offset,0));transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),background .2s ease,border-color .2s ease;width:44px}.scroll-edge--left .scroll-edge__arrow{--arrow-offset:-8px}.scroll-edge--right .scroll-edge__arrow{--arrow-offset:8px}.scroll-edge:hover .scroll-edge__arrow{opacity:1;transform:translateX(0)}.scroll-edge__icon{color:var(--text-secondary);height:24px;transition:color .2s ease;width:24px}.scroll-edge__arrow:hover{background:var(--surface-overlay-deep);border-color:var(--border-muted)}.scroll-edge__arrow:hover .scroll-edge__icon{color:var(--color-accent)}.scroll-edge__arrow:active{box-shadow:var(--shadow-sm);transform:scale(.95)}.scroll-edge__arrow:focus-visible{opacity:1;outline:2px solid var(--color-accent);outline-offset:2px}.horizontal-scroll__viewport{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:hidden;padding:8px 4px 32px;scroll-behavior:auto;scrollbar-width:none;width:100%;will-change:scroll-position}.horizontal-scroll__viewport::-webkit-scrollbar{display:none}.horizontal-scroll__track{align-items:stretch;display:flex;gap:24px;min-width:-webkit-min-content;min-width:min-content}.horizontal-scroll__track>*{flex:0 0 180px;height:auto!important;width:180px}@media (max-width:1024px){.horizontal-scroll-section{margin-bottom:1.5rem}.horizontal-scroll__header{margin-bottom:24px}.horizontal-scroll__title{font-size:calc(var(--font-size-section-heading)*.95)}}@media (max-width:768px){.horizontal-scroll-section{margin-bottom:1.5rem}.horizontal-scroll__header{margin-bottom:16px;padding:0 .75rem;width:100%}.horizontal-scroll__title{font-size:calc(var(--font-size-section-heading)*.9)}.horizontal-scroll__viewport{padding-bottom:16px;padding-left:0;padding-right:0;width:100%}.horizontal-scroll__track{gap:12px;padding-left:.75rem;padding-right:.75rem}.horizontal-scroll__track>*{flex:0 0 160px;width:160px}.scroll-edge{display:none}.horizontal-scroll__viewport-wrapper{width:100%}.view-all-link{font-size:13px;padding:6px 12px}}@media (max-width:520px){.horizontal-scroll-section{margin-bottom:1.25rem}.horizontal-scroll__header{margin-bottom:12px;padding:0 .5rem}.horizontal-scroll__title{font-size:calc(var(--font-size-section-heading)*.85)}.horizontal-scroll__viewport{margin:0;padding-inline:0;width:100%}.horizontal-scroll__track{gap:8px;padding-inline:.5rem}.horizontal-scroll__track>*{flex:0 0 150px;width:150px}}.cr-card{grid-gap:.75rem;align-items:center;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;display:grid;flex:0 0 280px;gap:.75rem;grid-template-columns:48px 1fr;padding:.7rem;text-decoration:none;transition:all .2s ease;width:280px}.cr-card:hover{border-color:var(--accent-500-alpha-35);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}.cr-card__cover{aspect-ratio:2/3;background:var(--surface-overlay-subtle);border-radius:var(--radius-sm);overflow:hidden;position:relative}.cr-card__cover img{display:block;height:100%;object-fit:cover;width:100%}.cr-card__body{min-width:0}.cr-card__title{color:var(--text-primary);font-family:var(--font-family-heading);font-size:.85rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-card__chap{color:var(--text-muted);font-family:var(--font-family-mono);font-size:.65rem;margin:.15rem 0 .35rem}.cr-card__bar{background:var(--border-subtle);border-radius:2px;height:3px;margin-bottom:.25rem;overflow:hidden}.cr-card__bar span{background:var(--gradient-brand);border-radius:2px;display:block;height:100%;transition:width .3s ease}.cr-card__meta{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-family-mono);font-size:.58rem;justify-content:space-between}.cr-card__resume{color:var(--accent-600);font-weight:700}.disc-section__head{align-items:baseline;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:.6rem}.disc-section__head h2{align-items:baseline;display:flex;font-family:var(--font-family-heading);font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:800;gap:.4rem;letter-spacing:-.01em;margin:0}.disc-section__head h2 .accent{color:var(--accent-600);font-family:var(--font-family-serif);font-style:italic;font-weight:500}.disc-section__view{background:none;border:none;color:var(--accent-600);cursor:pointer;font-family:var(--font-family-mono);font-size:.72rem;font-weight:700;padding:0;transition:opacity .2s ease}.disc-section__view:hover{opacity:.75}@media (max-width:640px){.cr-card{flex:0 0 240px;width:240px}}.badge-showcase-overlay{align-items:center;animation:badge-overlay-in .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes badge-overlay-in{0%{opacity:0}to{opacity:1}}.badge-showcase{align-items:center;animation:badge-modal-in .5s cubic-bezier(.34,1.56,.64,1);background:#fffffff2;background:var(--surface-card-strong,#fffffff2);border-radius:24px;box-shadow:0 24px 80px #0006,0 0 0 1px var(--border-subtle);display:flex;flex-direction:column;max-width:420px;overflow:hidden;padding:48px 56px 36px;position:relative;text-align:center}@keyframes badge-modal-in{0%{opacity:0;transform:scale(.5) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.badge-showcase__rays{animation:badge-rays-spin 8s linear infinite,badge-rays-fade .8s ease .3s forwards;background:conic-gradient(from 0deg,#0000 0deg,#0000 15deg,#0000 30deg,#0000 45deg,#0000 60deg,#0000 75deg,#0000 90deg,#0000 105deg,#0000 120deg,#0000 135deg,#0000 150deg,#0000 165deg,#0000 180deg,#0000 195deg,#0000 210deg,#0000 225deg,#0000 240deg,#0000 255deg,#0000 270deg,#0000 285deg,#0000 300deg,#0000 315deg,#0000 330deg,#0000 345deg);background:conic-gradient(from 0deg,var(--gc,#0000) 0deg,#0000 15deg,var(--gc,#0000) 30deg,#0000 45deg,var(--gc,#0000) 60deg,#0000 75deg,var(--gc,#0000) 90deg,#0000 105deg,var(--gc,#0000) 120deg,#0000 135deg,var(--gc,#0000) 150deg,#0000 165deg,var(--gc,#0000) 180deg,#0000 195deg,var(--gc,#0000) 210deg,#0000 225deg,var(--gc,#0000) 240deg,#0000 255deg,var(--gc,#0000) 270deg,#0000 285deg,var(--gc,#0000) 300deg,#0000 315deg,var(--gc,#0000) 330deg,#0000 345deg);border-radius:50%;height:300px;left:50%;margin-left:-150px;margin-top:-150px;opacity:0;top:148px;width:300px}.badge-showcase__bg-glow,.badge-showcase__rays{pointer-events:none;position:absolute;z-index:0}.badge-showcase__bg-glow{background:radial-gradient(circle at 50% 35%,#0000 0,#0000 60%);background:radial-gradient(circle at 50% 35%,var(--gc,#0000) 0,#0000 60%);bottom:0;left:0;opacity:.06;right:0;top:0}.badge-showcase__sparkles{height:0;left:50%;pointer-events:none;position:absolute;top:148px;width:0;z-index:1}.badge-showcase__sparkle{animation:badge-sparkle 1.2s ease-in-out infinite;animation:badge-sparkle var(--sd,1.2s) ease-in-out infinite;background:#fff;background:var(--gc,#fff);border-radius:50%;box-shadow:0 0 8px #fff;box-shadow:0 0 8px var(--gc,#fff);height:6px;margin:-3px 0 0 -3px;opacity:0;position:absolute;transform:rotate(0deg) translateY(-100px);transform:rotate(var(--sa,0deg)) translateY(-100px);width:6px}@keyframes badge-sparkle{0%,to{opacity:0;transform:rotate(0deg) translateY(-80px) scale(.5);transform:rotate(var(--sa,0deg)) translateY(-80px) scale(.5)}50%{opacity:.8;transform:rotate(0deg) translateY(-120px) scale(1);transform:rotate(var(--sa,0deg)) translateY(-120px) scale(1)}}@keyframes badge-rays-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes badge-rays-fade{to{opacity:.12}}.badge-showcase__ring{animation:badge-ring-pulse 2s ease-out .4s infinite;border:2px solid #0000;border:2px solid var(--gc,#0000);border-radius:50%;height:220px;left:50%;margin-left:-110px;margin-top:-110px;opacity:0;pointer-events:none;position:absolute;top:148px;width:220px;z-index:1}@keyframes badge-ring-pulse{0%{opacity:.6;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}.badge-showcase__badge{animation:badge-pop .6s cubic-bezier(.34,1.56,.64,1) .2s both,badge-float 3s ease-in-out .8s infinite;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3));height:200px;position:relative;width:200px;z-index:2}@keyframes badge-pop{0%{opacity:0;transform:scale(.3) rotate(-15deg)}60%{opacity:1;transform:scale(1.1) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.badge-showcase__name{animation:badge-text-slide .5s ease .5s both;color:var(--text-primary);font-size:1.3rem;font-weight:800;margin-top:20px;position:relative;z-index:2}.badge-showcase__tier{animation:badge-text-slide .5s ease .6s both;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700;letter-spacing:.12em;margin-top:6px;position:relative;text-transform:uppercase;z-index:2}.badge-showcase__desc{animation:badge-text-slide .5s ease .7s both;font-size:.85rem;line-height:1.5;margin-top:10px;max-width:320px}.badge-showcase__date,.badge-showcase__desc{color:var(--text-muted);position:relative;z-index:2}.badge-showcase__date{animation:badge-text-slide .5s ease .8s both;font-size:.75rem;margin-top:8px}.badge-showcase__close{animation:badge-text-slide .5s ease .9s both;background:var(--surface-overlay-warm);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);cursor:pointer;font-size:.82rem;font-weight:600;margin-top:24px;padding:8px 28px;position:relative;transition:all .2s;z-index:2}.badge-showcase__close:hover{background:var(--accent-500);border-color:var(--accent-500);color:#fff}@keyframes badge-text-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bps__container{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--spacing-md) var(--spacing-sm) var(--spacing-sm);position:relative}.bps__container--compact{border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-2xs) var(--spacing-xs)}.bps__aurora{animation:bps-aurora-drift 12s ease-in-out infinite alternate;background:radial-gradient(ellipse at 30% 20%,rgba(var(--accent-500-rgb),.06),#0000 50%),radial-gradient(ellipse at 70% 60%,rgba(var(--accent-400-rgb),.04),#0000 50%);height:200%;left:-20%;pointer-events:none;position:absolute;top:-50%;width:140%;z-index:0}@keyframes bps-aurora-drift{0%{transform:translate(0) rotate(0deg)}to{transform:translate(20px,-10px) rotate(2deg)}}.bps__header{margin-bottom:var(--spacing-sm);position:relative;text-align:center;z-index:1}.bps__title{color:var(--text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:700;letter-spacing:.01em;margin:0}.bps__subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-3xs)}.bps__series{margin-bottom:var(--spacing-md);position:relative;z-index:1}.bps__series:last-child{margin-bottom:0}.bps__series-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-2xs)}.bps__series-icon{align-items:center;background:var(--accent-500-alpha-12);border-radius:var(--radius-sm);color:var(--accent-500);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.bps__series-name{color:var(--text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:600;margin:0}.bps__series-desc{color:var(--text-muted);font-size:var(--font-size-xs);margin:2px 0 0}.bps__badges-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-2xs) var(--spacing-3xs) var(--spacing-xs)}.bps__item{align-items:center;animation:bps-item-enter .6s cubic-bezier(.34,1.56,.64,1) forwards;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;opacity:0;padding:var(--spacing-sm) var(--spacing-xs) var(--spacing-2xs);position:relative;scroll-snap-align:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:140px}@keyframes bps-item-enter{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.bps__item:hover{background:var(--surface-overlay-balanced);border-color:var(--gc,var(--accent-500-alpha-45));box-shadow:var(--shadow-lg);transform:translateY(-4px) scale(1.03)}.bps__item-glow{background:radial-gradient(circle,#0000 0,#0000 70%);background:radial-gradient(circle,var(--gc,#0000) 0,#0000 70%);border-radius:50%;height:120px;left:50%;margin:-60px 0 0 -60px;opacity:0;pointer-events:none;position:absolute;top:50%;transition:opacity .4s;width:120px;z-index:0}.bps__item:hover .bps__item-glow{opacity:.12}.bps__item-rank{background:var(--surface-overlay-accent);border-radius:var(--radius-pill);color:var(--accent-500);color:var(--gc,var(--accent-500));font-size:var(--font-size-xs);font-weight:600;letter-spacing:.06em;margin-bottom:var(--spacing-2xs);padding:3px 10px;position:relative;text-transform:uppercase;white-space:nowrap;z-index:1}.bps__item-svg{animation:bps-badge-float 4s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));filter:drop-shadow(0 4px 12px var(--gg,rgba(0,0,0,.2)));flex-shrink:0;height:120px;position:relative;width:120px;z-index:1}.bps__item-svg .badge-svg,.bps__item-svg svg{display:block;height:100%!important;width:100%!important}@keyframes bps-badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.bps__item:hover .bps__item-svg{animation-duration:2s;filter:drop-shadow(0 8px 20px rgba(0,0,0,.3));filter:drop-shadow(0 8px 20px var(--gg,rgba(0,0,0,.3)))}.bps__item-name{color:var(--text-primary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);max-width:120px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.bps__item-name,.bps__item-tier{flex-shrink:0;font-weight:600;position:relative;z-index:1}.bps__item-tier{font-size:var(--font-size-xs);letter-spacing:.05em;margin-top:var(--spacing-3xs);opacity:.85;text-transform:uppercase}.bps__container--compact .bps__item{padding:var(--spacing-xs) var(--spacing-2xs) var(--spacing-2xs);width:110px}.bps__container--compact .bps__item-svg{height:80px;width:80px}.bps__container--compact .bps__item-svg .badge-svg,.bps__container--compact .bps__item-svg svg{height:100%!important;width:100%!important}.bps__container--compact .bps__item-name{font-size:var(--font-size-xs);max-width:90px}.bps__container--compact .bps__title{font-size:var(--font-size-lg)}.bps__loading{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-lg)}.bps__loading-spinner{animation:bps-spin .8s linear infinite;border:2px solid var(--accent-500-alpha-18);border-radius:50%;border-top-color:var(--accent-500);height:20px;width:20px}@keyframes bps-spin{to{transform:rotate(1turn)}}.bps__error{color:var(--status-critical);font-size:var(--font-size-sm);padding:var(--spacing-md);text-align:center}@media (max-width:768px){.bps__container{padding:var(--spacing-sm) var(--spacing-2xs) var(--spacing-xs)}.bps__title{font-size:var(--font-size-lg)}.bps__item{padding:var(--spacing-xs) var(--spacing-2xs) var(--spacing-2xs);width:120px}.bps__item-svg{height:90px;width:90px}.bps__badges-row{gap:var(--spacing-xs)}}@media (max-width:480px){.bps__item{width:105px}.bps__item-svg{height:72px;width:72px}.bps__item-name{font-size:var(--font-size-xs);max-width:95px}}.announcement-banner{background:var(--surface-card);border:1px solid var(--border-subtle);border-left:3px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);margin:1.25rem auto;max-width:min(1280px,92%);padding:.9rem 1.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.announcement-banner--clickable{cursor:pointer}.announcement-banner--clickable:hover{box-shadow:0 6px 20px #0003;transform:translateY(-1px)}.announcement-banner--title-only .announcement-banner__content{justify-content:flex-start}.announcement-banner--title-only .announcement-banner__text{justify-content:center}.announcement-banner--title-only{align-items:center;display:flex;gap:.75rem}.announcement-banner--title-only .announcement-banner__content{flex:1 1;min-width:0}.announcement-banner--title-only .announcement-banner__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.3;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;white-space:normal;word-break:break-word}.announcement-banner--title-only .announcement-banner__dots{margin:0}.announcement-banner__content{align-items:center;display:flex;gap:.75rem}.announcement-banner__icon{align-items:center;background:var(--accent-400-alpha-12);border-radius:50%;color:var(--color-accent);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.announcement-banner__text{align-items:center;display:flex;flex:1 1;gap:.6rem;min-width:0}.announcement-banner__title{border-radius:0;color:var(--color-accent);font-family:var(--font-family-mono);font-size:.85rem;font-weight:700;letter-spacing:.06em;padding:0;text-transform:uppercase;white-space:nowrap}.announcement-banner__message{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.92rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.announcement-banner__message--expanded{-webkit-line-clamp:unset;line-clamp:none;overflow:visible;text-overflow:clip;white-space:pre-wrap}.announcement-banner__read-more{background:var(--accent-400-alpha-12);border:1px solid var(--accent-400-alpha-15);border-radius:var(--radius-pill);color:var(--color-accent);cursor:pointer;font-size:.8rem;font-weight:600;margin-left:.5rem;padding:.2rem .5rem;transition:all .2s ease;white-space:nowrap}.announcement-banner__read-more:hover{background:var(--accent-400-alpha-15)}.announcement-banner__link{background:var(--accent-400-alpha-12);border:1px solid var(--accent-400-alpha-15);border-radius:var(--radius-pill);color:var(--color-accent);cursor:pointer;font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem;transition:all .2s ease;white-space:nowrap}.announcement-banner__link:hover{background:var(--accent-400-alpha-15);transform:translateY(-1px)}.announcement-banner__link--inline{margin-left:.75rem}.announcement-banner__close{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:auto;padding:.3rem;transition:all .2s ease}.announcement-banner__close:hover{background:var(--surface-overlay-muted);color:var(--text-primary)}.announcement-banner__prizes{margin-top:.5rem;padding:0 .5rem .5rem}.announcement-banner__dots{align-items:center;display:flex;flex-shrink:0;gap:.4rem;margin-top:.4rem}.announcement-banner__dot{background:var(--border-subtle-strong);border:none;border-radius:50%;cursor:pointer;height:6px;padding:0;transition:all .2s ease;width:6px}.announcement-banner__dot:hover{background:var(--text-tertiary)}.announcement-banner__dot--active{background:var(--color-accent);transform:scale(1.3)}@media (max-width:640px){.announcement-banner{border-radius:0;margin:0;max-height:none;max-width:100%;padding:.85rem 1rem;width:100%}.announcement-banner--title-only{align-items:stretch;flex-direction:column;gap:.6rem}.announcement-banner__content{align-items:center;gap:.6rem}.announcement-banner__text{align-items:center;flex-direction:row;gap:.5rem}.announcement-banner__title{font-size:.8rem;line-height:1.3;white-space:normal}.announcement-banner__message{-webkit-line-clamp:3;line-clamp:3;font-size:.88rem;line-height:1.5}.announcement-banner__link,.announcement-banner__read-more{font-size:.8rem;margin-left:0;margin-top:.25rem;padding:.25rem .5rem}.announcement-banner__link--inline{margin-left:.5rem;margin-top:0}.announcement-banner__dots{display:flex;justify-content:center;margin-top:.2rem}}.cs-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cs-card:hover{border-color:var(--border-muted);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cs-card__banner{aspect-ratio:2/3;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));overflow:hidden;position:relative}.cs-card__banner img{display:block;object-fit:cover}.cs-card__banner img,.cs-card__banner-placeholder{height:100%;width:100%}.cs-card__status{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;color:#fff;font-size:.625rem;font-weight:700;left:.5rem;letter-spacing:.04em;padding:.2rem .5rem;position:absolute;text-transform:uppercase;top:.5rem}@media (hover:none),(max-width:767px){.cs-card__status{backdrop-filter:none;-webkit-backdrop-filter:none}}.cs-card__status--reg,.cs-card__status--vote{background:#0f172ad9}.cs-card__body{display:flex;flex:1 1;flex-direction:column;gap:.4rem;padding:.75rem .75rem .85rem}.cs-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:Georgia,serif;font-family:var(--serif,Georgia,serif);font-size:.95rem;font-weight:700;line-height:1.3;margin:0;overflow:hidden}.cs-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.cs-card__genre{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.cs-card__time{color:var(--accent-600);color:var(--color-accent,var(--accent-600));font-family:monospace;font-family:var(--font-family-mono,monospace);font-size:.7rem;font-weight:600;white-space:nowrap}body[data-theme=dark] .cs-card__time{color:var(--accent-400)}.cs-card__footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;gap:.4rem;justify-content:space-between;margin-top:auto;padding-top:.4rem}.cs-card__entries{color:var(--text-muted);font-family:monospace;font-family:var(--font-family-mono,monospace);font-size:.68rem}.cs-card__prize{color:var(--accent-600);font-family:Georgia,serif;font-family:var(--serif,Georgia,serif);font-size:.72rem;font-weight:700;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body[data-theme=dark] .cs-card__prize{color:var(--accent-400)}@media (max-width:768px){.cs-card__body{gap:.3rem;padding:.6rem .5rem .7rem}.cs-card__title{font-size:.82rem}.cs-card__status{font-size:.6rem;padding:.15rem .4rem}.cs-card__genre{font-size:.58rem}.cs-card__time{font-size:.62rem}.cs-card__entries{font-size:.6rem}.cs-card__prize{font-size:.62rem}}.skeleton-block{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:var(--gradient-skeleton-shimmer);background-size:200% 100%;border-radius:var(--radius-sm);display:block;overflow:hidden;position:relative}.skeleton-block--inline{display:inline-block}.skeleton-block--circle{border-radius:999px}@keyframes skeleton-shimmer{0%{background-position:-120% 0}to{background-position:120% 0}}.home-page-skeleton__hero{align-items:center;background:#0f172a;background:var(--surface-900,#0f172a);display:flex;margin-bottom:var(--spacing-lg);min-height:400px;width:100%}.home-page-skeleton__hero-inner{grid-gap:2rem;grid-gap:var(--spacing-2xl,2rem);align-items:center;display:grid;gap:2rem;gap:var(--spacing-2xl,2rem);grid-template-columns:1.2fr .8fr;padding-bottom:var(--spacing-lg);padding-top:var(--spacing-lg);width:100%}.home-page-skeleton__hero-info{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md,1rem)}.home-page-skeleton__hero-cover{align-items:center;display:flex;height:250px;justify-content:center}.home-page-skeleton__row{margin-bottom:1.5rem}.home-page-skeleton__row-title{display:block;margin-bottom:1rem;margin-left:auto;margin-right:auto;width:min(1280px,92%)}.home-page-skeleton__cards{display:flex;gap:24px;margin:0 auto;overflow:hidden;padding:8px 4px 32px;width:min(1280px,92%)}.home-page-skeleton__card{display:flex;flex:0 0 180px;flex-direction:column;gap:.5rem;width:180px}.home-page-skeleton__card-cover{width:100%}.home-page-skeleton__card-content{display:flex;flex-direction:column;gap:.35rem;padding:.625rem .875rem}.home-page-skeleton__card-genres{display:flex;gap:.35rem;margin-top:.25rem}.home-page-skeleton__card-divider{background:#94a3b833;background:var(--border-subtle,#94a3b833);height:1px;margin:.5rem 0;width:100%}.home-page-skeleton__card-stats{align-items:center;display:flex;gap:.5rem;margin-top:.25rem}.home-page-skeleton__grid-section{margin-bottom:1.5rem}.home-page-skeleton__grid{grid-gap:clamp(1.25rem,3vw,1.75rem);display:grid;gap:clamp(1.25rem,3vw,1.75rem);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:1rem}.home-page-skeleton__grid .home-page-skeleton__card{flex:0 0 auto;width:auto}@media (max-width:768px){.home-page-skeleton__hero{min-height:380px}.home-page-skeleton__hero-inner{grid-template-columns:1fr}.home-page-skeleton__hero-cover{display:none}.home-page-skeleton__cards{gap:12px;padding-bottom:16px;padding-left:.75rem;padding-right:.75rem;width:100%}.home-page-skeleton__card{flex:0 0 160px;width:160px}.home-page-skeleton__card-content{padding:.5rem .4rem}.home-page-skeleton__grid{gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.home-page-skeleton__cards{gap:8px;padding-left:.5rem;padding-right:.5rem}.home-page-skeleton__card{flex:0 0 150px;width:150px}.home-page-skeleton__row-title{width:100%}}.home-page{display:flex;flex-direction:column;padding-bottom:var(--spacing-3xl);width:100%}.home-highlights{grid-gap:clamp(1.4rem,4vw,2.1rem);display:grid;gap:clamp(1.4rem,4vw,2.1rem);width:100%}.home-highlights__header{grid-gap:.45rem;display:grid;gap:.45rem;max-width:min(420px,100%)}.home-highlights__grid{grid-gap:clamp(1.2rem,3vw,1.75rem);display:grid;gap:clamp(1.2rem,3vw,1.75rem);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.home-collection{grid-gap:clamp(1.6rem,4vw,2.2rem);display:grid;gap:clamp(1.6rem,4vw,2.2rem);width:100%}.home-collection__header{grid-gap:.5rem;display:grid;gap:.5rem;max-width:min(420px,100%)}.home-collection__tabs{display:flex;flex-wrap:wrap;gap:.6rem}.home-collection__tab{flex:1 1 200px;justify-content:center}.home-collection__grid{grid-gap:clamp(1.25rem,3vw,1.75rem);display:grid;gap:clamp(1.25rem,3vw,1.75rem);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:clamp(1.4rem,3vw,2.4rem)}.home-collection__actions{display:flex;justify-content:center}.home-section__header{align-items:baseline;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:.6rem}.home-section__header .home-section__heading{align-items:baseline;color:var(--text-primary);display:flex;font-family:var(--font-family-heading);font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:800;gap:.4rem;letter-spacing:-.01em;margin:0;text-transform:none}.home-section__accent{color:var(--accent-600);font-family:var(--font-family-serif);font-style:italic;font-weight:500}.home-section__view-all{background:none;border:none;color:var(--accent-600);cursor:pointer;font-family:var(--font-family-mono);font-size:.72rem;font-weight:700;padding:0;text-decoration:none;transition:color .2s ease}.home-section__view-all:hover{color:var(--accent-500);text-decoration:none}.home-section__arrow{font-size:.85rem}.home-page__state{grid-gap:1rem;color:var(--text-secondary);display:grid;gap:1rem;justify-items:center;min-height:60vh;padding:clamp(2.5rem,6vw,4rem) 1rem}.home-page__state--error{color:var(--status-critical)}.home-page__state--muted{color:var(--text-tertiary)}.home-page__state .spinner{animation:spin .9s linear infinite;border:4px solid var(--border-muted-soft);border-radius:50%;border-top-color:var(--status-critical);height:48px;width:48px}.continue-reading__footer{gap:.4rem;padding:.25rem 0;width:100%}.continue-reading__footer,.continue-reading__stats{align-items:center;display:flex;flex-direction:column}.continue-reading__stats{gap:.1rem}.continue-reading__chapter{color:var(--accent-600);font-size:var(--font-size-sm);font-weight:600}.continue-reading__label{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase}.continue-reading__progress{background:var(--border-divider);border-radius:var(--radius-pill);height:4px;overflow:hidden;width:100%}.continue-reading__progress-bar{background:var(--gradient-brand);border-radius:var(--radius-pill);height:100%;transition:width .4s ease}@media (max-width:768px){.home-collection__grid,.home-highlights__grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.home-section__header{margin-bottom:16px}.home-section__header .home-section__heading{font-size:.95rem}}@media (max-width:520px){.home-collection__grid,.home-highlights__grid{gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.home-collection__tab{flex:1 1 100%}.home-section__header .home-section__heading{font-size:.9rem}.home-section{padding:0 8px}}.ui-input-container{display:flex;flex-direction:column;gap:.35rem;position:relative;width:100%}.ui-input-container--block{width:100%}.ui-input-container--disabled{opacity:.6;pointer-events:none}.ui-input-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-left:.1rem}.ui-input-wrapper{align-items:center;display:flex;position:relative}.ui-input{background:var(--surface-base);border:1px solid var(--border-subtle-strong);border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;color:var(--text-primary);font-family:var(--font-family-base);font-size:.9375rem;line-height:1.5;padding:.75rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.ui-input:hover:not(:disabled){background:var(--surface-overlay-bright);border-color:var(--border-muted-strong)}.ui-input:focus{background:var(--surface-base);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-tint);outline:none}.ui-input--has-left-icon{padding-left:2.5rem}.ui-input--has-right-icon{padding-right:2.5rem}.ui-input-icon{align-items:center;color:var(--text-muted);display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;width:2.5rem;z-index:1}.ui-input-icon svg{flex-shrink:0;height:18px;width:18px}.ui-input-icon--left{left:0}.ui-input-icon--right{right:0}.ui-input-container--error .ui-input{background:var(--status-critical-bg);border-color:var(--status-critical)}.ui-input-container--error .ui-input:focus{box-shadow:0 0 0 4px var(--status-critical-soft)}.ui-input-message{color:var(--text-muted);font-size:.8125rem;margin-left:.1rem;margin-top:.1rem}.ui-input-message--error{color:var(--status-critical-strong)}.ui-input:disabled{background:var(--surface-disabled);border-color:var(--border-subtle);color:var(--text-disabled);cursor:not-allowed}.library-filters{align-items:stretch;display:grid;font-family:sans-serif;font-family:var(--font-family-base,sans-serif);inset:0;justify-items:stretch;pointer-events:none;position:fixed;z-index:1200;z-index:var(--z-overlay-high,1200)}.library-filters__backdrop{background:#0f172aa6;background:var(--glass-overlay-deep,#0f172aa6);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-normal,.3s cubic-bezier(.4,0,.2,1))}.library-filters__panel{animation:slideInRight .35s cubic-bezier(.16,1,.3,1);backdrop-filter:var(--blur-backdrop-lg);-webkit-backdrop-filter:var(--blur-backdrop-lg);background:var(--surface-card);border-bottom-left-radius:var(--radius-md);border-left:1px solid var(--border-subtle);border-top-left-radius:var(--radius-md);box-shadow:var(--shadow-xxl);color:var(--text-primary);display:flex;flex-direction:column;height:100%;margin-left:auto;overflow:hidden;pointer-events:auto;position:relative;width:min(480px,100vw)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.library-filters--open{pointer-events:auto}.library-filters__backdrop{animation:fadeIn .35s ease-out;backdrop-filter:var(--blur-backdrop-lg);-webkit-backdrop-filter:var(--blur-backdrop-lg);background:var(--glass-overlay-deep);inset:0;position:absolute}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.library-filters__header{align-items:center;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);background:var(--surface-overlay-balanced);border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:1rem;gap:var(--spacing-md,1rem);justify-content:space-between;padding:1.25rem 1.5rem;z-index:10}.library-filters__header h2{color:var(--text-primary);font-family:inherit;font-family:var(--font-family-heading,inherit);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.library-filters__subtitle{color:var(--text-secondary);font-size:.85rem;font-weight:400;margin:.15rem 0 0}.library-filters__body{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.25rem;scrollbar-color:var(--border-subtle) #0000;scrollbar-width:thin}.library-filters__body::-webkit-scrollbar{width:6px}.library-filters__body::-webkit-scrollbar-track{background:#0000}.library-filters__body::-webkit-scrollbar-thumb{background-color:var(--border-subtle);border-radius:var(--radius-pill)}.library-filters__body::-webkit-scrollbar-thumb:hover{background-color:var(--border-muted)}.library-filters__sections{display:flex;flex-direction:column;gap:.75rem}.library-filters__section{background:var(--surface-overlay-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.library-filters__section:hover{border-color:var(--border-subtle-strong)}.library-filters__section-header{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;padding:.85rem 1.15rem;text-align:left;transition:background-color .2s;width:100%}.library-filters__section-header:hover{background-color:var(--surface-overlay-tint)}.library-filters__section-title-wrapper{display:flex;flex-direction:column;gap:.25rem}.library-filters__section-title{font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin:0}.library-filters__section-summary{color:var(--text-tertiary);font-size:.85rem;font-weight:500}.library-filters__section-toggle-icon{color:var(--text-tertiary);display:flex;opacity:.7;transition:transform .3s cubic-bezier(.16,1,.3,1)}.library-filters__section--open .library-filters__section-toggle-icon{color:var(--text-primary);opacity:1;transform:rotate(180deg)}.library-filters__section-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.library-filters__section--open .library-filters__section-body{grid-template-rows:1fr}.library-filters__section-content{border-top:1px solid #0000;min-height:0;opacity:0;overflow:hidden;padding:0 1.15rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.library-filters__section--open .library-filters__section-content{border-top-color:var(--border-subtle-light);opacity:1;padding-bottom:1.25rem;padding-top:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.library-filters__field-group--split{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.library-filters__field{display:flex;flex-direction:column;gap:.65rem}.library-filters__field label{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.select-wrapper{align-items:center;display:flex;position:relative}.select-wrapper select.ui-input{-webkit-appearance:none;appearance:none;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle-strong);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:.5rem 2.25rem .5rem .85rem;transition:all .15s ease}.select-wrapper .select-arrow{color:var(--text-tertiary);height:16px;pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .15s;width:16px}.select-wrapper:hover .select-arrow{color:var(--text-primary)}.library-filters__metrics-grid{display:flex;flex-direction:column;gap:1rem}.library-filters__field-pair{grid-gap:.5rem;display:grid;gap:.5rem}.library-filters__field-pair-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.library-filters__field-pair-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.library-filters__field-pair-inputs input{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle-strong);border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-size:.9rem;min-width:80px;padding:.6rem .85rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.library-filters__field-pair-inputs input:focus{background:var(--surface-base);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus);outline:none}.library-filters__range-separator{color:var(--text-tertiary);font-size:.9rem;font-weight:500}.library-filters__search-container{margin-bottom:1rem;position:relative}.library-filters__search-input{background:var(--surface-overlay-veil);border:1px solid var(--border-subtle-strong);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;padding:.8rem 1rem .8rem 2.75rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.library-filters__search-input:focus{background:var(--surface-base);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-focus);outline:none}.library-filters__search-icon{color:var(--text-tertiary);height:18px;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:18px}.library-filters__field-helper{color:var(--text-tertiary);display:block;font-size:.75rem;font-weight:500;margin-bottom:.75rem;opacity:.8}.library-filters__field-pair-inputs input:focus-visible,.library-filters__multiselect-option:focus-visible,.library-filters__search-input:focus-visible,.select-wrapper select:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-focus);outline:none}.text-include{color:var(--status-positive-strong)}.text-exclude{color:var(--text-critical-strong)}.library-filters__multiselect-list{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:260px;overflow-y:auto;padding:.25rem;scrollbar-color:var(--border-muted) #0000;scrollbar-width:thin}.library-filters__multiselect-list::-webkit-scrollbar{width:6px}.library-filters__multiselect-list::-webkit-scrollbar-track{background:#0000}.library-filters__multiselect-list::-webkit-scrollbar-thumb{background-color:var(--border-muted);border-radius:var(--radius-pill)}.library-filters__multiselect-option{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.6rem;min-width:0;padding:.5rem .7rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.library-filters__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-filters__multiselect-option:hover{background:var(--surface-overlay-strong);border-color:var(--border-subtle-strong)}.library-filters__checkbox-visual{align-items:center;background:var(--surface-base);border:2px solid var(--border-subtle-strong);border-radius:var(--radius-xs);color:#fff;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:18px}.library-filters__state-icon{stroke-width:3;height:12px;width:12px}.library-filters__multiselect-option--include .library-filters__checkbox-visual{background:var(--status-positive-strong);border-color:var(--status-positive-strong);box-shadow:0 2px 5px var(--status-positive-soft)}.library-filters__multiselect-option--include{background:var(--status-positive-soft);border-color:var(--status-positive-border);color:var(--text-primary)}.library-filters__multiselect-option--exclude .library-filters__checkbox-visual{background:var(--status-critical-strong);border-color:var(--status-critical-strong);box-shadow:0 2px 5px var(--status-critical-soft)}.library-filters__multiselect-option--exclude{background:var(--status-critical-bg);border-color:var(--status-critical-border-strong);color:var(--text-critical-strong)}.library-filters__active-summaries{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem}.library-filters__active-group{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.library-filters__active-label{color:var(--text-tertiary);font-size:.8rem;font-weight:600;margin-right:.25rem;min-width:60px;text-transform:uppercase}.library-filters__active-group--exclude .library-filters__active-label{opacity:.85}.library-filters__chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.library-filters__chip{align-items:center;background:var(--surface-overlay-balanced);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);display:inline-flex;font-size:.85rem;font-weight:500;gap:.4rem;line-height:1.4;padding:.35rem .75rem;transition:all .2s}.library-filters__chip:hover{background:var(--surface-overlay-strong);border-color:var(--border-strong)}.library-filters__chip--include{background:var(--status-positive-soft);border-color:var(--status-positive-border);color:var(--status-positive-strong)}.library-filters__chip--include:hover{background:var(--status-positive-border)}.library-filters__chip--exclude{background:var(--status-critical-bg);border-color:var(--status-critical-border-strong);color:var(--text-critical-strong)}.library-filters__chip--exclude:hover{background:var(--status-critical-bg-strong)}.library-filters__chip-remove{align-items:center;background:var(--surface-overlay-accent);border:none;border-radius:50%;color:currentColor;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:2px;position:relative;transition:all .2s}.library-filters__chip-remove:after{bottom:-8px;content:"";left:-8px;position:absolute;right:-8px;top:-8px}.library-filters__chip-remove:hover{background:#0000001a;opacity:1;transform:scale(1.1)}.library-filters__footer{align-items:center;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);background:var(--surface-overlay-balanced);border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem;z-index:2}.library-filters__footer-actions{display:flex;gap:1rem}body[data-theme=dark] .library-filters__chip-remove:hover{background:#ffffff26}@media (max-width:640px){.library-filters__panel{border-radius:0;width:100vw}.library-filters__footer,.library-filters__header{padding-left:1rem;padding-right:1rem}.library-filters__body{padding:.75rem}.library-filters__section-header{padding:.75rem 1rem}.library-filters__section-content{padding-left:1rem;padding-right:1rem}.library-filters__field-group--split{gap:.75rem;grid-template-columns:repeat(2,1fr)}}.library-filters__mode-toggle{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.6rem .85rem}.library-filters__mode-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.library-filters__toggle-group{background:var(--surface-overlay-accent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;padding:2px}.library-filters__toggle-btn{background:#0000;border:none;border-radius:var(--radius-xs);color:var(--text-tertiary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.35rem .85rem;transition:all .2s}.library-filters__toggle-btn:hover{color:var(--text-primary)}.library-filters__toggle-btn.active{background:var(--surface-overlay-strong);box-shadow:var(--shadow-xs);color:var(--text-primary);font-weight:600}.pagination{padding:clamp(.75rem,2vw,1.25rem) 0;width:100%}.pagination,.pagination__pages{box-sizing:border-box;max-width:100%;min-width:0}.pagination__pages{align-items:center;display:inline-flex;flex-wrap:wrap;gap:clamp(.5rem,1.5vw,.75rem);justify-content:center}.pagination__page.ui-btn{border-radius:6px;box-shadow:0 2px 8px #0f172a14;font-size:.95rem;font-weight:600;height:2.5rem;min-width:2.5rem;padding:0}.pagination__page.ui-btn:hover:not(:disabled){box-shadow:0 4px 12px #0f172a1f;transform:translateY(-1px)}.pagination__page.ui-btn--primary.pagination__page--active{background:var(--gradient-brand);border-color:#0000;box-shadow:var(--shadow-sm),0 4px 12px rgba(var(--accent-500-rgb),.25);color:#fff;cursor:default;font-weight:700}.pagination__page.ui-btn--primary.pagination__page--active .ui-btn__content{color:#fff}.pagination__page.ui-btn--primary.pagination__page--active .ui-btn__icon-left,.pagination__page.ui-btn--primary.pagination__page--active .ui-btn__icon-right{color:#fff;opacity:1}.pagination__page.ui-btn--primary.pagination__page--active:hover{background:var(--gradient-brand);box-shadow:var(--shadow-sm),0 4px 12px rgba(var(--accent-500-rgb),.25);transform:none}.pagination__page.ui-btn--ghost{background:#94a3b81f;border:1px solid #94a3b833;box-shadow:none;color:var(--text-secondary)}.pagination__page.ui-btn--ghost:hover:not(:disabled){background:#94a3b833;border-color:#94a3b859;color:var(--text-primary)}.pagination__page.ui-btn:disabled{box-shadow:0 2px 8px #0f172a14;opacity:.5;transform:none}.pagination__ellipsis{align-items:center;color:var(--text-muted);display:inline-flex;font-size:1.25rem;font-weight:600;height:2.75rem;justify-content:center;min-width:2rem;padding:0 .25rem;-webkit-user-select:none;user-select:none}@media (max-width:640px){.pagination{padding:clamp(.625rem,3vw,1rem) 0}.pagination__pages{gap:clamp(.4rem,2vw,.6rem)}.pagination__page{font-size:.875rem;height:2.5rem;min-width:2.5rem}.pagination__ellipsis{font-size:1.1rem;height:2.5rem;min-width:1.5rem}}@media (max-width:420px){.pagination__pages{gap:.35rem}.pagination__page{font-size:.813rem;height:2.25rem;min-width:2.25rem;padding:.4rem}.pagination__ellipsis{height:2.25rem;min-width:1.25rem}}body[data-theme=dark] .pagination__page{background:#ffffff0d;border-color:#ffffff1a;box-shadow:0 2px 8px #0000004d;color:#ffffffb3}body[data-theme=dark] .pagination__page:hover:not(:disabled){background:#ffffff1a;border-color:rgba(var(--accent-500-rgb),.3);color:#ffffffe6}body[data-theme=dark] .pagination__page--active{background:var(--gradient-brand);border-color:#0000;box-shadow:var(--shadow-sm),0 4px 12px rgba(var(--accent-500-rgb),.25);color:#fff}body[data-theme=dark] .pagination__page--active .ui-btn__content{color:#fff}body[data-theme=dark] .pagination__ellipsis{color:#ffffff80}.library-page{--library-max-width:var(--page-max-width);--library-horizontal-pad:clamp(0.85rem,2.5vw,1.6rem);--library-vertical-pad:clamp(3rem,5vw,4.5rem);--library-section-gap:clamp(0.5rem,1vw,0.75rem);grid-gap:var(--library-section-gap);display:grid;gap:var(--library-section-gap);margin-inline:auto;max-width:var(--library-max-width);padding:clamp(.75rem,2vw,1.4rem) clamp(1.25rem,3vw,2rem) var(--library-vertical-pad)}.library-page,.library-page__body,.library-page__content,.library-page__footer,.library-page__header{box-sizing:border-box;min-width:0;width:100%}.library-page__header{grid-gap:clamp(.75rem,2vw,1.4rem);align-content:start;display:grid;gap:clamp(.75rem,2vw,1.4rem)}.library-page__header.page-header{margin-bottom:0}.library-page__header-content{grid-gap:clamp(.5rem,1.8vw,1rem);display:grid;gap:clamp(.5rem,1.8vw,1rem);max-width:min(640px,100%);min-width:0}.library-page__content{grid-gap:clamp(1.8rem,4vw,2.8rem);align-content:start;display:grid;gap:clamp(1.8rem,4vw,2.8rem)}.library-page__toolbar{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0000;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;max-width:100%;min-width:0;padding:.65rem .25rem;position:-webkit-sticky;position:sticky;top:clamp(4.25rem,7.5vw,5.25rem);transition:background .2s ease;z-index:5}@media (hover:none),(max-width:767px){.library-page__toolbar{backdrop-filter:none;-webkit-backdrop-filter:none}}.filter-toolbar{gap:.6rem;justify-content:space-between;max-width:100%;width:100%}.filter-group,.filter-toolbar{align-items:center;display:flex;flex-wrap:wrap}.filter-group{gap:.5rem;min-width:0}.filter-group--primary{display:flex;flex:1 1 auto;gap:.5rem;min-width:0}.filter-group--actions{align-items:center;display:inline-flex;flex-shrink:1;gap:.5rem;min-width:0;overflow-x:auto;scrollbar-width:none}.filter-group--actions::-webkit-scrollbar{display:none}.filter-toggle{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle-strong);border-radius:8px;color:var(--text-secondary);display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;gap:var(--spacing-2xs,.35rem);height:2rem;letter-spacing:.01em;padding-inline:clamp(.65rem,2vw,.85rem);position:relative;transition:all .2s cubic-bezier(.2,.8,.2,1)}.filter-toggle:focus-visible,.filter-toggle:hover{background:var(--surface-overlay-strong);border-color:var(--text-tertiary);color:var(--text-primary)}.filter-toggle__badge{background:var(--color-accent);border-radius:6px;color:var(--text-on-dark-primary);display:grid;font-size:.7rem;font-weight:700;height:1.25rem;min-width:1.25rem;padding:0 .3rem;place-items:center}.filter-toolbar__clear{color:var(--color-accent-bright);font-weight:500}.filter-toolbar__clear:focus-visible,.filter-toolbar__clear:hover{color:var(--color-accent-bright)}.toolbar-filter-btn{align-items:center;background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle-strong);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;height:2rem;padding:0 .9rem;transition:all .15s ease;white-space:nowrap}.toolbar-filter-btn svg{opacity:.65;transition:opacity .15s}.toolbar-filter-btn:hover{background:var(--surface-overlay-strong);border-color:var(--border-muted);color:var(--text-primary)}.toolbar-filter-btn:hover svg{opacity:1}.toolbar-filter-btn--active{background:var(--color-accent-tint);border-color:var(--color-accent);color:var(--color-accent-dim)}body[data-theme=dark] .toolbar-filter-btn--active{background:var(--color-accent-focus);border-color:var(--color-accent-highlight);color:var(--color-accent-bright)}.toolbar-filter-btn--active svg{opacity:1}.toolbar-filter-btn__badge{align-items:center;background:var(--color-accent);border-radius:6px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:700;height:1.15rem;justify-content:center;line-height:1;min-width:1.15rem;padding:0 .25rem}.toolbar-clear-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;height:2rem;padding:0 .75rem;transition:all .15s ease;white-space:nowrap}.toolbar-clear-btn:hover{background:var(--surface-overlay-subtle);color:var(--color-accent-dim)}.toolbar-clear-btn:disabled{cursor:not-allowed;opacity:.5}.toolbar-density-toggle{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:8px;display:inline-flex;gap:0;padding:2px}.toolbar-density-toggle__btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;height:1.6rem;padding:0 .7rem;transition:all .15s ease;white-space:nowrap}.toolbar-density-toggle__btn:hover{color:var(--text-secondary)}.toolbar-density-toggle__btn--active{background:var(--surface-overlay-strong);box-shadow:var(--shadow-xs);color:var(--text-primary)}.library-chips{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:.4rem;margin-top:.4rem;-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000);mask-image:linear-gradient(90deg,#000 92%,#0000);max-width:100%;min-width:0;overflow-x:auto;padding-bottom:.2rem;padding-left:0}@media (hover:hover) and (pointer:fine){.library-chips{scrollbar-color:var(--border-subtle-strong) #0000;scrollbar-width:thin}.library-chips::-webkit-scrollbar{display:block;height:6px}.library-chips::-webkit-scrollbar-track{background:#0000;border-radius:3px}.library-chips::-webkit-scrollbar-thumb{background:var(--border-subtle-strong);border-radius:3px}.library-chips::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}}@media (hover:none) or (pointer:coarse){.library-chips{scrollbar-width:none}.library-chips::-webkit-scrollbar{display:none}}.library-chip-btn{background:var(--surface-overlay-subtle)!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-sm)!important;box-shadow:none!important;color:var(--text-secondary)!important;cursor:pointer;flex:0 0 auto!important;font-size:.72rem!important;font-weight:600!important;height:auto!important;min-width:auto!important;padding:.25rem .65rem!important;transform:none!important;transition:all .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.library-chip-btn:hover{background:var(--surface-overlay-muted)!important;border-color:var(--accent-400-alpha-15)!important;color:var(--text-primary)!important;transform:none!important}.library-chip-btn.is-active,.library-chip-btn.ui-btn--primary{background:var(--accent-500-alpha-18)!important;border-color:var(--accent-500-alpha-35)!important;box-shadow:none!important;color:var(--btn-primary-text)!important;transform:none!important}.library-chip-btn.is-active .ui-btn__content,.library-chip-btn.ui-btn--primary .ui-btn__content{color:var(--btn-primary-text)!important}.library-chip{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:.72rem;font-weight:600;padding:.25rem .65rem;transition:all .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.library-chip:hover{background:var(--surface-overlay-muted);border-color:var(--accent-400-alpha-15);color:var(--text-primary)}.library-chip.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--text-on-dark-primary)}.input-shell{align-items:center;background:var(--surface-overlay-veil);border:1px solid var(--border-subtle-strong);border-radius:8px;display:flex;gap:.75rem;min-width:min(320px,100%);padding:.5rem 1.25rem;position:relative;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.input-shell:focus-within{border-color:var(--color-accent-highlight);box-shadow:var(--shadow-focus-accent)}.input-shell input{background:#0000;border:none;color:inherit;font-size:.95rem;outline:none;padding:.3rem 0;width:100%}.select-shell{align-items:center;display:flex;max-width:100%;min-width:0;position:relative}.select-shell select{-webkit-appearance:none;appearance:none;background:var(--surface-overlay-subtle);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 4.5 3 3 3-3' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;border:1px solid var(--border-subtle);border-radius:8px;color:inherit;cursor:pointer;font-size:.85rem;font-weight:500;height:2rem;min-width:0;outline:none;padding:.45rem 2.25rem .45rem 1rem;transition:all .15s ease;width:100%}.select-shell select:hover{background:var(--surface-overlay-strong);border-color:var(--border-subtle-strong)}.select-shell select:focus{border-color:var(--color-accent-bright);box-shadow:0 0 0 3px var(--color-accent-focus)}.page-size{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.9rem;font-weight:500;gap:.65rem}.page-size select{font-size:inherit;min-width:120px}.library-page__meta{color:var(--text-secondary);font-size:.95rem;margin-left:auto}.library-page__body{grid-gap:clamp(2rem,5vw,3rem);align-content:start;display:grid;gap:clamp(2rem,5vw,3rem)}.library-page__body .no-results{background:var(--surface-overlay-veil);border:1px solid var(--border-subtle-strong);border-radius:24px;border-radius:var(--radius-2xl,24px);box-shadow:var(--shadow-md);color:var(--text-secondary);padding:clamp(2.2rem,4.5vw,3.2rem);text-align:center}.novel-grid{grid-gap:clamp(1.3rem,3vw,2rem);box-sizing:border-box;display:grid;gap:clamp(1.3rem,3vw,2rem);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));justify-content:start;min-width:0;width:100%}.novel-grid.novel-grid--single-column{grid-template-columns:1fr!important}.novel-grid>*{min-width:0}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.novel-card-skeleton{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.novel-card-skeleton__cover{aspect-ratio:2/3}.novel-card-skeleton__cover,.novel-card-skeleton__line{animation:novel-skeleton-shimmer 1.4s ease-in-out infinite;background:#f1f5f9;background:var(--surface-muted,#f1f5f9)}.novel-card-skeleton__line{border-radius:.3rem;height:.95rem;margin:.5rem .625rem 0}.novel-card-skeleton__line--title{width:85%}.novel-card-skeleton__line--author{height:.75rem;margin-top:.35rem;width:60%}.novel-card-skeleton__genres{display:flex;gap:.3rem;margin:.5rem .625rem 0}.novel-card-skeleton__chip{animation:novel-skeleton-shimmer 1.4s ease-in-out infinite;background:#f1f5f9;background:var(--surface-muted,#f1f5f9);border-radius:var(--radius-sm);height:.6875rem}.novel-card-skeleton__chip:first-child{width:50px}.novel-card-skeleton__chip:last-child{width:40px}.novel-card-skeleton__divider{background:var(--border-subtle);height:1px;margin:.5rem .625rem}.novel-card-skeleton__stats{display:flex;gap:.5rem;margin:0 .625rem .625rem}.novel-card-skeleton__stat{animation:novel-skeleton-shimmer 1.4s ease-in-out infinite;background:#f1f5f9;background:var(--surface-muted,#f1f5f9);border-radius:.2rem;height:.85rem;width:30px}@keyframes novel-skeleton-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.library-chip-skeleton{animation:novel-skeleton-shimmer 1.4s ease-in-out infinite;background:#f1f5f9;background:var(--surface-muted,#f1f5f9);border-radius:var(--radius-sm);flex:0 0 auto;height:1.9rem}.library-chip-skeleton:nth-child(odd){width:72px}.library-chip-skeleton:nth-child(2n){width:92px}.library-chip-skeleton:first-child{width:56px}@media (max-width:540px){.novel-card-skeleton__line{margin:.4rem .4rem 0}.novel-card-skeleton__line--author{margin-top:.25rem}.novel-card-skeleton__genres{margin:.35rem .4rem 0}.novel-card-skeleton__divider{margin:.35rem .4rem}.novel-card-skeleton__stats{margin:0 .4rem .4rem}}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(.75rem,2vw,1.2rem);justify-content:center}.pagination-btn{min-width:120px}.page-numbers{align-items:center;display:inline-flex;gap:.5rem}.pagination-ellipsis{color:var(--text-tertiary);padding:0 .4rem}.pagination-status{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.95rem;gap:.6rem}.pagination-status__spinner{animation:spin .9s linear infinite;border:3px solid var(--border-muted-soft);border-radius:50%;border-top-color:var(--color-accent-bright);height:22px;width:22px}@media (max-width:1024px){.library-page{gap:clamp(.6rem,2vw,1rem);padding-inline:clamp(.75rem,4vw,1.6rem)}.library-page__toolbar{top:clamp(4rem,10vw,5rem)}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.library-page{gap:clamp(.5rem,2vw,.75rem);padding:clamp(.65rem,4vw,1.1rem) clamp(.65rem,5vw,1.25rem) clamp(2.4rem,6vw,3.4rem)}.library-page__toolbar{backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-subtle);border-radius:0;gap:.5rem;padding:.5rem 0;position:static}.filter-toolbar{gap:.5rem}.filter-group--primary{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter-group--primary::-webkit-scrollbar{display:none}.filter-group--actions{flex-shrink:1;flex-wrap:wrap;overflow-x:visible}.select-shell select{font-size:.8rem;max-width:100%;min-width:0;padding:.4rem 2rem .4rem .75rem}.select-shell{max-width:45%}.input-shell{min-width:0;width:100%}.page-size{align-items:center;gap:.5rem;width:100%}.page-size select{min-width:0;width:100%}.library-page__meta{font-size:.85rem;margin-left:0;text-align:left}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:540px){.library-page{padding-inline:.5rem}.filter-group--primary{gap:.4rem}.select-shell select{font-size:.75rem;max-width:100%;min-width:0;padding:.35rem 1.8rem .35rem .6rem}.select-shell{flex-shrink:1;max-width:40%}.novel-grid{gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pagination{gap:clamp(.6rem,5vw,1rem)}.pagination-btn{min-width:100px}}@media (max-width:390px){.library-page{padding-inline:.35rem}.novel-grid{gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}}.similar-to__genres-line{color:var(--text-tertiary);font-size:.85rem;max-width:none}.similar-to__back,.similar-to__chips{margin-top:1rem}.similar-to__back--center{margin-top:2rem;text-align:center}.report-issue-fab{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffad;background:var(--surface-overlay-subtle,#ffffffad);border:1px solid #78756c1f;border:1px solid var(--border-subtle,#78756c1f);border-radius:50%;bottom:1rem;box-shadow:0 1px 4px #00000014;color:#52606d80;color:var(--text-tertiary,#52606d80);cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:0;left:1rem;opacity:.8;padding:.4375rem;position:fixed;transition:all .2s ease;z-index:900}.report-issue-fab:hover{background:#ffffffe6;background:var(--surface-card,#ffffffe6);border-color:#78756c33;border-color:var(--border-strong,#78756c33);border-radius:999px;box-shadow:0 2px 8px #0000001f;color:#52606d;color:var(--text-secondary,#52606d);gap:.375rem;opacity:1;padding:.375rem .75rem}.report-issue-fab:active{opacity:1}.report-issue-fab__label{max-width:0;overflow:hidden;transition:max-width .2s ease;white-space:nowrap}.report-issue-fab:hover .report-issue-fab__label{max-width:120px}@media (max-width:640px){.report-issue-fab{opacity:.5}}@media (max-width:768px){.report-issue-fab--reader{display:none}}.report-issue-overlay{align-items:center;animation:report-issue-fade-in .15s ease;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes report-issue-fade-in{0%{opacity:0}to{opacity:1}}.report-issue-modal{animation:report-issue-slide-up .2s ease;background:#ffffffeb;background:var(--surface-overlay-strong,#ffffffeb);border:1px solid #78756c1f;border:1px solid var(--border-subtle,#78756c1f);border-radius:1rem;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}@keyframes report-issue-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-issue-modal__header{align-items:center;border-bottom:1px solid #78756c1f;border-bottom:1px solid var(--border-subtle,#78756c1f);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.report-issue-modal__header h2{color:#1f2933;color:var(--text-primary,#1f2933);font-size:1.25rem;font-weight:700;margin:0}.report-issue-modal__close{background:none;border:none;border-radius:.375rem;color:#52606d80;color:var(--text-tertiary,#52606d80);cursor:pointer;padding:.25rem;transition:all .15s ease}.report-issue-modal__close:hover{background:#0f172a14;background:var(--surface-overlay-accent,#0f172a14);color:#1f2933;color:var(--text-primary,#1f2933)}.report-issue-modal__form{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.report-issue-modal__field{display:flex;flex-direction:column;gap:.5rem}.report-issue-modal__label{color:#1f2933;color:var(--text-primary,#1f2933);font-size:.875rem;font-weight:600}.report-issue-modal__required{color:#ef4444}.report-issue-modal__optional{color:#52606d80;color:var(--text-tertiary,#52606d80);font-size:.75rem;font-weight:400}.report-issue-modal__select,.report-issue-modal__textarea{background:#fff;background:var(--surface-base,#fff);border:1px solid #78756c1f;border:1px solid var(--border-subtle,#78756c1f);border-radius:.5rem;color:#1f2933;color:var(--text-primary,#1f2933);font-size:.875rem;padding:.625rem .75rem;transition:border-color .15s ease;width:100%}.report-issue-modal__select:focus,.report-issue-modal__textarea:focus{border-color:#0d9488;border-color:var(--accent-500,#0d9488);outline:none}.report-issue-modal__textarea{font-family:inherit;min-height:80px;resize:vertical}.report-issue-modal__char-count{color:#52606d80;color:var(--text-tertiary,#52606d80);font-size:.75rem;text-align:right}.report-issue-modal__debug-info{background:#ece9de99;background:var(--surface-overlay-warm,#ece9de99);border:1px solid #78756c14;border:1px solid var(--border-subtle,#78756c14);border-radius:.5rem;padding:.75rem 1rem}.report-issue-modal__debug-title{color:#52606d80;color:var(--text-tertiary,#52606d80);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.report-issue-modal__debug-row{color:#52606d;color:var(--text-secondary,#52606d);display:flex;font-size:.75rem;gap:.5rem;margin-bottom:.25rem}.report-issue-modal__debug-row span{flex-shrink:0;font-weight:600}.report-issue-modal__debug-row code{font-family:monospace;font-size:.75rem;word-break:break-all}.report-issue-modal__error{background:#ef44441a;border:1px solid #ef44444d;border-radius:.5rem;color:#ef4444;font-size:.875rem;padding:.625rem .875rem}.report-issue-modal__actions{display:flex;gap:.75rem;justify-content:flex-end}.report-issue-modal__success{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2.5rem 1.5rem;text-align:center}.report-issue-modal__success-icon{color:#22c55e}.report-issue-modal__success h2{color:#1f2933;color:var(--text-primary,#1f2933);font-size:1.25rem;font-weight:700;margin:0}.report-issue-modal__success p{color:#52606d;color:var(--text-secondary,#52606d);font-size:.875rem;margin:0;max-width:360px}.toast-container{bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;max-width:24rem;pointer-events:none;position:fixed;right:1.5rem;z-index:9999}.toast{align-items:center;animation:toast-slide-in .25s ease-out;background:#1e293b;background:var(--color-surface,#1e293b);border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:#f1f5f9;color:var(--color-text,#f1f5f9);cursor:pointer;display:flex;font-size:.875rem;gap:.625rem;line-height:1.4;padding:.75rem 1rem;pointer-events:auto}.toast--success{border-left:3px solid #22c55e}.toast--error{border-left:3px solid #ef4444}.toast--info{border-left:3px solid #3b82f6}.toast__icon{flex-shrink:0;font-size:1rem;text-align:center;width:1.25rem}.toast--success .toast__icon{color:#22c55e}.toast--error .toast__icon{color:#ef4444}.toast--info .toast__icon{color:#3b82f6}.toast__message{flex:1 1;min-width:0}.toast__close{background:none;border:none;color:#94a3b8;color:var(--color-text-muted,#94a3b8);cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;margin:0;padding:0;transition:color .15s}.toast__close:hover{color:#f1f5f9;color:var(--color-text,#f1f5f9)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(1rem)}to{opacity:1;transform:translateX(0)}}@media (max-width:640px){.toast-container{bottom:1rem;left:1rem;max-width:none;right:1rem}}.surface-card{-webkit-backdrop-filter:var(--blur-soft);backdrop-filter:var(--blur-soft);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary);padding:clamp(1.5rem,4vw,2.5rem);transition:all .3s cubic-bezier(.4,0,.2,1)}.surface-card:hover{border-color:var(--border-muted);box-shadow:var(--shadow-md)}.surface-card--subtle{background:var(--surface-overlay-soft);border:1px solid var(--border-subtle-light);color:var(--text-primary)}.page-section{grid-gap:2rem;display:grid;gap:2rem;padding-bottom:4rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-group{grid-gap:.5rem;display:grid;gap:.5rem}.form-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;margin-left:.1rem}.form-control{background:var(--surface-base);border:1px solid var(--border-subtle-strong);border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;color:var(--text-primary);font-size:.875rem;padding:.65rem .9rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-tint);outline:none}.button-bar{display:flex;flex-wrap:wrap;gap:1rem}.btn{align-items:center;background:var(--surface-card);border:1px solid #0000;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-family-base);font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.02em;padding:.65rem 1.25rem;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:hover:not(:disabled){background:var(--surface-overlay-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active:not(:disabled){background:var(--surface-card-strong);transform:translateY(0)}.btn:focus-visible{box-shadow:0 0 0 4px var(--color-accent-ring);outline:none}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn--block{display:flex;width:100%}.btn--sm{font-size:.85rem;height:2.25rem;padding:.45rem 1rem}.btn--icon{border-radius:50%;display:grid;height:2.75rem;padding:.5rem;place-items:center;width:2.75rem}.btn--primary{background:var(--btn-primary-gradient);border-color:var(--btn-primary-border);box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text);text-shadow:none}.btn--primary:hover:not(:disabled){background:var(--btn-primary-hover-bg);border-color:#00000026;box-shadow:var(--btn-primary-hover-shadow);color:var(--btn-primary-text);filter:none;transform:translateY(-2px)}.btn--primary:active:not(:disabled){background:var(--btn-primary-bg);box-shadow:0 1px 2px #0000000d;filter:none;transform:translateY(0)}.btn--ghost{background:#0000;border-color:#0000;box-shadow:none;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-overlay-subtle);box-shadow:none;color:var(--text-primary)}.btn--outline{background:#0000;border-color:var(--border-muted);box-shadow:none;color:var(--text-primary)}.btn--outline:hover:not(:disabled){background:var(--surface-overlay-subtle);border-color:var(--text-secondary)}.btn--glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;box-shadow:0 4px 16px #0000000d;color:var(--text-primary)}.btn--glass:hover:not(:disabled){background:#fff3;box-shadow:0 8px 24px #0000001a}.btn--quiet{background:#0000;border-color:#0000;box-shadow:none;color:var(--text-secondary);padding:.5rem}.btn--quiet:hover:not(:disabled){background:var(--surface-overlay-subtle);color:var(--text-primary)}.chip-grid{display:flex;flex-wrap:wrap;gap:.6rem;padding:0}.chip{align-items:center;background:var(--surface-overlay-soft);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.4rem;letter-spacing:.03em;outline:none;padding:.4rem .85rem;text-decoration:none;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease,background .2s ease}.chip:hover:not(:disabled){background:var(--surface-overlay-subtle);border-color:var(--color-accent-bright);box-shadow:0 0 0 3px var(--accent-400-alpha-15);color:var(--text-primary)}.chip:disabled{cursor:progress;opacity:.6}.chip--selected{background:var(--color-accent-tint);border-color:var(--color-accent-highlight);box-shadow:0 0 0 4px var(--color-accent-tint);color:var(--color-accent-dim)}.chip--passive{background:var(--surface-overlay-veil);color:var(--text-muted);cursor:default}.chip--passive,.chip__label{pointer-events:none}.form-hint{color:var(--text-muted);flex:1 1 100%;font-size:.85rem;margin:.35rem 0 0}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-error{color:var(--status-critical-strong)}.text-success{color:var(--status-positive-strong)}.icon-sm{height:1rem;width:1rem}.icon-md{height:1.25rem;width:1.25rem}.hidden{display:none!important}.truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-message{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem;text-align:center}.state-message--error{color:var(--status-critical)}.state-message--muted{color:#f59e0b;color:var(--status-warning,#f59e0b);line-height:1.6;margin:0 auto;max-width:600px}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border-subtle);border-radius:50%;border-top-color:var(--color-accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--gradient-body);background-attachment:fixed;background-size:cover;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.75}.App,body{min-height:100vh}.App{overflow-x:hidden;position:relative}.app-backdrop{background:radial-gradient(circle at 20% 20%,#ffffffd9,#0000 55%),radial-gradient(circle at 80% 30%,#ece9deb3,#0000 60%),radial-gradient(circle at 50% 80%,#dde2ef99,#0000 65%);filter:blur(110px);inset:0;opacity:.85;pointer-events:none;position:fixed;z-index:0}.App-header{align-items:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:var(--gradient-header);border-bottom:1px solid var(--border-subtle);box-shadow:0 10px 24px #0f172a14;color:var(--text-primary);display:grid;grid-template-columns:auto 1fr auto;padding:1.75rem clamp(1.5rem,5vw,3.5rem);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand-logo{align-items:center;display:inline-flex;gap:.75rem;text-decoration:none}.brand-mark{background:var(--gradient-brand);border-radius:14px;box-shadow:var(--shadow-soft);color:#fff;display:grid;font-weight:700;height:42px;letter-spacing:.04em;place-items:center;width:42px}.brand-mark,.brand-text{font-family:Poppins,sans-serif}.brand-text{color:var(--text-primary);display:inline-flex;flex-direction:column;font-size:1.25rem;font-weight:600}.brand-tagline{color:var(--text-muted);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.primary-nav{display:flex;gap:clamp(1.25rem,3vw,2.5rem);justify-content:center}.nav-link{color:var(--text-secondary);font-weight:500;letter-spacing:.04em;position:relative;text-decoration:none;transition:var(--transition-normal)}.nav-link:after{background:var(--gradient-brand);bottom:-.4rem;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{align-items:center;display:flex;gap:.75rem}.btn-ghost,.btn-primary{border:1px solid #0000;border-radius:8px;font-family:Inter,sans-serif;font-weight:600;letter-spacing:.02em;padding:.65rem 1.35rem;text-decoration:none;transition:var(--transition-normal)}.btn-primary{background:var(--btn-primary-gradient);border:1px solid var(--btn-primary-border);box-shadow:var(--btn-primary-shadow);color:var(--btn-primary-text);text-shadow:none}.btn-primary:hover{background:var(--btn-primary-hover-bg);border-color:#00000026;box-shadow:var(--btn-primary-hover-shadow);color:var(--btn-primary-text);transform:translateY(-2px)}.btn-ghost{background:#fffc;border-color:var(--border-subtle);color:var(--text-primary)}.btn-ghost:hover{background:#ffffffeb;transform:translateY(-2px)}.content-area{padding:clamp(2rem,5vw,3.75rem) 0;position:relative;z-index:1}.content-shell{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--text-primary);margin:0 auto;padding:clamp(2rem,5vw,4rem);width:min(1280px,92%)}.app-footer{background:var(--gradient-footer);border-top:1px solid var(--border-subtle);box-shadow:0 -10px 24px #0f172a14;color:var(--text-secondary);font-size:.9rem;letter-spacing:.08em;padding:2rem 1rem 3rem;text-align:center}.page-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.page-kicker{color:var(--color-accent-bright);font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.library-page__header-content{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.library-page__header-content .page-title,.library-page__header-content .type-heading-xl{color:var(--color-accent);font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700;letter-spacing:.01em;margin:0;padding-left:.7rem;position:relative}.library-page__header-content .page-title:before,.library-page__header-content .type-heading-xl:before{background:var(--color-accent);border-radius:2px;bottom:.15em;content:"";left:0;position:absolute;top:.15em;width:3px}.library-page__header-content .page-meta{color:#94a3b8;color:var(--color-text-muted,#94a3b8);flex-basis:100%;font-size:.85rem;font-weight:400;margin:0}.page-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:clamp(1.4rem,2vw,2rem);font-weight:600}.page-subtitle{color:var(--text-secondary);max-width:52ch}@media (max-width:992px){.App-header{gap:1.5rem;grid-template-columns:1fr;text-align:center}.primary-nav{order:3}.header-actions{justify-content:center}.content-shell{padding:clamp(1.5rem,5vw,3rem)}}@media (max-width:768px){input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{font-size:16px!important}}
/*# sourceMappingURL=main.55388288.css.map*/