@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@500;600;700&display=swap);: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%);--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:linear-gradient(180deg,#f8f4ec,#fcfbf8 45%,#f0ede5);--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%);--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-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:linear-gradient(180deg,#020617,#0b1220 55%,#111c31);--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;--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(--surface-950);background-image:radial-gradient(circle at 15% 50%,#7c3aed08,#0000 25%),radial-gradient(circle at 85% 30%,#38bdf80a,#0000 25%);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.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:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff80;border-top:1px solid #0000000f;margin-top:auto;padding:var(--spacing-2xl) 0 var(--spacing-xl);position:relative}.app-footer:before{background:linear-gradient(180deg,#fff6,#fffc);content:"";inset:0;position:absolute;z-index:-1}.app-footer__grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--spacing-xl)}.app-footer__section h3,.app-footer__section h4{color:var(--text-emphasis);margin-bottom:1rem}.app-footer__section ul{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);list-style:none}.app-footer__section a{color:inherit;text-decoration:none;transition:color .2s ease}.app-footer__section a:hover{color:var(--text-primary)}.app-footer__bottom{border-top:1px solid var(--border-divider);font-size:var(--font-size-sm-plus);padding-top:var(--spacing-md-plus);text-align:center}@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-xl) 0 var(--spacing-lg)}.app-footer__grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.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}.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 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;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.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}@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(.75rem,2vw,2rem);justify-content:center;list-style:none;margin:0;padding:0}.app-header__nav-link{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-block;font-family:inherit;font-size:var(--font-size-sm-plus);font-weight:500;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .2s ease}.app-header__nav-link:focus-visible,.app-header__nav-link:hover{background:var(--surface-overlay-subtle);color:var(--text-primary)}.app-header__nav-link.is-active{background:var(--color-accent-tint);box-shadow:none;color:var(--color-accent-dim);font-weight:600}.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:#f59e0b1a;color:#f59e0b;color:var(--color-warning,#f59e0b)}.app-header__nav-link--admin.is-active{background:#f59e0b26;color:#f59e0b;color:var(--color-warning,#f59e0b)}.app-header__nav-link:after{display:none}.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:clamp(.125rem,.25vw,.25rem)}.app-header__nav-list{flex-wrap:wrap;gap:clamp(.3rem,.75vw,.5rem);justify-content:flex-start}.app-header__nav-link{font-size:var(--font-size-sm);padding:clamp(.15rem,.25vw,.25rem) clamp(.6rem,1vw,1rem)}.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:18px}.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:18px}.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}@media (prefers-color-scheme:dark){.ui-card--glass{background:#0f172a99;border-color:#ffffff1a}}.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{-webkit-backface-visibility:hidden;backface-visibility:hidden;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;transform:translateZ(0);transition:transform .3s ease,box-shadow .3s ease;will-change:transform}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:.875rem;font-weight:800;left:10px;line-height:1;max-width:calc(50% - 20px);padding:5px 10px;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:.6875rem;font-weight:700;gap:5px;padding:5px 12px;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:1rem 1.25rem}.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:.75rem;display:flex;flex-wrap:wrap;margin-bottom:1rem;min-width:0;overflow:hidden;row-gap:.5rem}.genre-chip{background:var(--surface-overlay-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;padding:2px 8px}.novel-card__divider{background:var(--border-subtle);height:1px;margin-bottom:1rem;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;gap:2px}.stat-col,.stat-value{align-items:center;display:flex}.stat-value{color:var(--text-primary);font-size:.95rem;font-weight:800;gap:4px}.icon-star-footer{color:var(--accent-500);margin-bottom:2px}.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:.3rem;margin-bottom:.5rem;row-gap:.3rem}.genre-chip{font-size:.65rem;padding:1px 5px}.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;font-size:.5rem;gap:3px;padding:3px 8px;right:6px;top:6px}.status-dot{flex-shrink:0;height:4px;width:4px}.novel-card--compact{min-height:90px;padding:.5rem}.novel-card--compact .novel-card__cover{width:60px}.novel-card--compact .novel-card__body{padding-left:.75rem}.novel-card--compact .novel-card__title{font-size:.95rem}.novel-card--compact .novel-card__stats-compact{font-size:.75rem;margin-top:2px}}.novel-card--compact{flex-direction:row;height:auto;min-height:120px;padding:.75rem}.novel-card--compact .novel-card__cover{aspect-ratio:2/3;border-radius:4px;flex-shrink:0;width:80px}.novel-card--compact .novel-card__body{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;padding-left:1rem}.novel-card__stats-compact{color:var(--text-secondary);display:flex;font-size:.8rem;gap:8px;margin-top:4px}.hero-section{align-items:center;color:#fff;display:flex;margin-bottom:var(--spacing-lg);min-height:540px;overflow:hidden;position:relative;width:100%}.hero-section__backdrop{background:var(--surface-950);inset:0;position:absolute;z-index:0}.hero-section__backdrop-layer{background-position:center 20%;background-size:cover;filter:blur(40px) brightness(.4) saturate(1.2);inset:-50px;opacity:0;position:absolute;transform:scale(1.1);transition:opacity 1s ease-in-out}.hero-section__backdrop-layer.is-active{opacity:1}.hero-section__backdrop-overlay{background:linear-gradient(to bottom,#0f172a66 0,#0f172acc 60%,var(--surface-950) 100%);inset:0;position:absolute;z-index:1}.hero-section__content{max-width:100%;padding-bottom:var(--spacing-lg);padding-top:var(--spacing-lg);position:relative;z-index:2}.hero-slider{position:relative;width:100%}.hero-slide{grid-gap:var(--spacing-2xl);align-items:center;display:grid;gap:var(--spacing-2xl);grid-template-columns:1.2fr .8fr;width:100%}@media (min-width:769px){.hero-slider{display:grid;grid-template-areas:"hero-stack"}.hero-slide{grid-area:hero-stack;opacity:0;pointer-events:none;position:relative;transition:opacity .5s ease,visibility .5s ease;visibility:hidden}.hero-slide.is-active{opacity:1;pointer-events:auto;visibility:visible;z-index:1}}.hero-slide__info{display:flex;flex-direction:column;gap:var(--spacing-md);transform:translateY(0);transition:transform .5s cubic-bezier(.4,0,.2,1)}.hero-slide__info.is-transitioning{transform:translateY(10px)}.hero-section__badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a!important;border-color:#ffffff4d!important;color:#fff!important}.hero-rank-badge{align-items:center;display:inline-flex!important;font-weight:700!important;gap:5px}.hero-rank-badge svg{flex-shrink:0}.hero-rank-badge--weekly{background:#fb923c26!important;border-color:#fb923c66!important;color:#fb923c!important}.hero-rank-badge--monthly{background:#60a5fa26!important;border-color:#60a5fa66!important;color:#60a5fa!important}.hero-rank-badge--yearly{background:#c084fc26!important;border-color:#c084fc66!important;color:#c084fc!important}.hero-rank-badge--alltime{background:#fbbf2426!important;border-color:#fbbf2466!important;color:#fbbf24!important}.hero-section__title{font-family:var(--font-family-heading);font-size:clamp(1.4rem,4vw,2.25rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0;text-shadow:0 2px 10px #00000080}.hero-section__title a{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#fffc);-webkit-background-clip:text;background-clip:text;color:#fff;text-decoration:none;transition:opacity .2s ease}.hero-section__title a:hover{opacity:.9}.hero-section__synopsis{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:#ffffffe6;display:-webkit-box;font-size:var(--font-size-lg);line-height:1.6;max-width:65ch;min-height:4.8em;overflow:hidden;text-shadow:0 1px 4px #00000080}.hero-section__meta{align-items:center;color:#ffffffb3;display:flex;font-size:var(--font-size-sm-plus);font-weight:500;gap:var(--spacing-sm)}.hero-rating{color:#fbbf24;font-weight:700}.separator{opacity:.4}.hero-section__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.hero-btn-primary{background:#fff!important;border:1px solid #ffffff1a!important;border-radius:var(--radius-md)!important;box-shadow:0 4px 12px #00000026!important;color:#1e293b!important;min-width:140px}.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 20px #ffffff40!important;transform:translateY(-2px)}.hero-btn-secondary{border-color:#ffffff80!important;color:#fff!important;min-width:140px}.hero-btn-secondary:hover{background:#ffffff26!important}.hero-slide__visual{align-items:center;display:flex;height:380px;justify-content:center;perspective:1000px;position:relative}.hero-section__cover-wrapper{aspect-ratio:2/3;display:block;transform:rotateY(-10deg);transition:transform .3s ease;width:280px}.hero-section__cover-wrapper:hover{transform:rotateY(0deg) scale(1.02)}.hero-section__cover{background:var(--surface-850);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080,inset 0 0 0 1px #ffffff1a;height:100%;overflow:hidden;width:100%}.hero-section__cover img{height:100%;object-fit:cover;width:100%}.hero-section__indicators{bottom:var(--spacing-lg);display:flex;gap:var(--spacing-sm);left:50%;position:absolute;transform:translateX(-50%);z-index:10}.hero-indicator{background:#fff3;border:none;border-radius:2px;cursor:pointer;height:4px;overflow:hidden;padding:0;position:relative;width:40px}.hero-indicator.is-active{background:#ffffff4d}.hero-indicator-fill{background:#fff;display:block;height:100%;transition:width 0s;width:0}.hero-indicator.is-active .hero-indicator-fill{transition:width 8s linear;width:100%}@media (max-width:1024px){.hero-slide{grid-template-columns:1fr .8fr}}@media (max-width:768px){.hero-section{min-height:auto;overflow:clip;padding-bottom:var(--spacing-md)}.hero-slider{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;gap:0;margin-bottom:var(--spacing-sm);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-slider::-webkit-scrollbar{display:none}.hero-slide{display:flex;flex:0 0 100%;flex-direction:column;gap:var(--spacing-md);min-width:100%;opacity:1;pointer-events:auto;scroll-snap-align:start;scroll-snap-stop:always;text-align:center;visibility:visible;width:100%}.hero-slide__info{align-items:center;gap:var(--spacing-sm);order:1}.hero-slide__visual{height:240px;order:0;width:100%}.hero-section__cover-wrapper{margin:0 auto;transform:none;width:160px}.hero-section__cover-wrapper:hover{transform:none}.hero-section__badges{justify-content:center}.hero-section__actions{justify-content:center;margin-top:var(--spacing-xs);width:100%}.hero-section__title{font-size:1.4rem}.hero-section__synopsis{-webkit-line-clamp:2;line-clamp:2;min-height:3.2em}.hero-section__badges{margin-bottom:0}.hero-section__indicators{bottom:0}}.horizontal-scroll-section{margin-bottom:80px;position:relative}.horizontal-scroll__header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:32px;margin-left:auto;margin-right:auto;width:min(1280px,92%)}.horizontal-scroll__title{color:var(--text-primary);font-size:var(--font-size-section-heading);font-weight:800;letter-spacing:-.01em;margin:0}.horizontal-scroll__controls{align-items:center;display:flex;gap:12px}.horizontal-scroll__controls .ui-btn--ghost.view-all-btn{font-weight:600;gap:.5rem;letter-spacing:.02em}.horizontal-scroll__controls .ui-btn--ghost.view-all-btn:hover{background:#0000;color:var(--color-accent-bright)}.view-all-icon{flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}.horizontal-scroll__controls .ui-btn--ghost.view-all-btn:hover .view-all-icon{transform:translateX(2px)}.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;transform:translateZ(0);will-change:transform}.horizontal-scroll__track>*{flex:0 0 220px;height:auto!important;width:220px}@media (max-width:1024px){.horizontal-scroll-section{margin-bottom:60px}.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:48px}.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:40px}.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}}.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;min-width:140px;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)}@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{min-width:110px;padding:var(--spacing-xs) var(--spacing-2xs) var(--spacing-2xs)}.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{min-width:120px;padding:var(--spacing-xs) var(--spacing-2xs) var(--spacing-2xs)}.bps__item-svg{height:90px;width:90px}.bps__badges-row{gap:var(--spacing-xs)}}@media (max-width:480px){.bps__item{min-width:105px}.bps__item-svg{height:72px;width:72px}.bps__item-name{font-size:var(--font-size-xs);max-width:95px}}.announcement-banner{background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);box-shadow:0 2px 8px #0000001a;color:#fff;padding:.25rem 1rem;position:relative}.announcement-banner--clickable{cursor:pointer}.announcement-banner--clickable:hover{opacity:.95}.announcement-banner--title-only .announcement-banner__content,.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__dots{margin:0}.announcement-banner__content{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.announcement-banner__text{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.announcement-banner__title{background:#fff3;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.announcement-banner__message{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.4;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:#fff3;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem;transition:background .2s ease;white-space:nowrap}.announcement-banner__read-more:hover{background:#ffffff4d}.announcement-banner__link{background:#ffffff4d;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem;transition:background .2s ease;white-space:nowrap}.announcement-banner__link:hover{background:#fff6}.announcement-banner__link--inline{margin-left:.75rem}.announcement-banner__close{align-items:center;background:#fff3;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.25rem;transition:background .2s ease}.announcement-banner__close:hover{background:#ffffff4d}.announcement-banner__prizes{margin-top:.5rem;padding:0 .5rem .5rem}.announcement-banner__dots{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.announcement-banner__dot{background:#ffffff4d;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .2s ease;width:8px}.announcement-banner__dot:hover{background:#ffffff80}.announcement-banner__dot--active{background:#fff;transform:scale(1.2)}@media (max-width:640px){.announcement-banner{max-height:none;padding:.4rem .75rem}.announcement-banner__content,.announcement-banner__text{align-items:flex-start;gap:.5rem}.announcement-banner__text{flex-direction:column}.announcement-banner__title{font-size:.9rem;padding:.3rem .5rem;white-space:normal}.announcement-banner__message{-webkit-line-clamp:4;line-clamp:4;font-size:.85rem}.announcement-banner__link,.announcement-banner__read-more{font-size:.8rem;margin-left:0;margin-top:.25rem;padding:.2rem .4rem}.announcement-banner__link--inline{margin-left:.5rem;margin-top:0}.announcement-banner__dots{display:none}}.rank-badge{align-items:center;color:#9aa3b2;color:var(--text-muted,#9aa3b2);display:inline-flex;font-size:.68rem;font-weight:400;gap:6px;line-height:1.3;vertical-align:middle;white-space:nowrap}.rank-badge--md{font-size:.75rem;gap:7px}.rank-badge--lg{font-size:.88rem;gap:9px}.rank-badge__label{font-weight:400}.rank-badge--writer .rank-badge__label,.rank-badge__label{color:#9aa3b2;color:var(--text-muted,#9aa3b2)}.rank-badge--l0 .rank-badge__label{opacity:.7}.rank-badge--l2 .rank-badge__label,.rank-badge--l3 .rank-badge__label{color:#5b6470;color:var(--text-secondary,#5b6470);font-weight:500}.rank-badge--writer.rank-badge--l2 .rank-badge__label,.rank-badge--writer.rank-badge--l3 .rank-badge__label{color:#5b6470;color:var(--rank-color,var(--text-secondary,#5b6470));opacity:.75}.rank-badge--l4 .rank-badge__label{color:#1a1d23;color:var(--text,#1a1d23);font-weight:600}.rank-badge--writer.rank-badge--l4 .rank-badge__label{color:#1a1d23;color:var(--rank-color,var(--text,#1a1d23));opacity:1}.rank-badge--l5 .rank-badge__label,.rank-badge--l6 .rank-badge__label{font-weight:600}.rank-badge__bars{display:flex;flex-direction:column;flex-shrink:0;gap:1.5px;position:relative}.rank-badge__bar{background:#94a3b8;background:var(--bar-grad,#94a3b8);border-radius:1px;box-shadow:none;box-shadow:var(--bar-glow,none);height:3px;overflow:hidden;position:relative}.rank-badge--l3 .rank-badge__bar,.rank-badge--l4 .rank-badge__bar,.rank-badge--l5 .rank-badge__bar,.rank-badge--l6 .rank-badge__bar{height:3.5px}.rank-badge--l0 .rank-badge__bars{opacity:.5}.ins-l0{--bar-grad:linear-gradient(90deg,#94a3b8,#cbd5e1);--bar-glow:none}.ins-l1{--bar-grad:linear-gradient(90deg,#14b8a6,#2dd4bf);--bar-glow:0 0 5px #2dd4bf73}.ins-l2{--bar-grad:linear-gradient(90deg,#3b82f6,#60a5fa);--bar-glow:0 0 6px #60a5fa8c}.ins-l3{--bar-grad:linear-gradient(90deg,#8b5cf6,#a78bfa);--bar-glow:0 0 8px #a78bfa99}.ins-l4{--bar-grad:linear-gradient(90deg,#ec4899,#f472b6);--bar-glow:0 0 9px #f472b699}.ins-l5{--bar-grad:linear-gradient(90deg,#f59e0b,#fbbf24);--bar-glow:0 0 10px #fbbf24a6}.ins-l6{--bar-grad:linear-gradient(90deg,#a5f3fc,#fbcfe8);--bar-glow:0 0 12px #c4b5fdb3}.ins-l5 .rank-badge__bar:after{animation:rank-shimmer-sweep 3.2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff8c 50%,#0000);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-120%)}.ins-l5 .rank-badge__bar:nth-child(2):after{animation-delay:.5s}.ins-l5 .rank-badge__bar:nth-child(3):after{animation-delay:1s}.ins-l5 .rank-badge__bar:nth-child(4):after{animation-delay:1.5s}.ins-l5 .rank-badge__bar:nth-child(5):after{animation-delay:2s}@keyframes rank-shimmer-sweep{0%,to{transform:translateX(-120%)}45%{transform:translateX(120%)}}.ins-l6 .rank-badge__bar{animation:rank-diamond-flow 4s linear infinite;background:linear-gradient(90deg,#a5f3fc,#c4b5fd,#fbcfe8,#a5f3fc);background-size:300% 100%}@keyframes rank-diamond-flow{0%{background-position:0 0}to{background-position:300% 0}}.rank-badge__star{align-items:center;color:#1a1d23;color:var(--rank-color,var(--text,#1a1d23));display:inline-flex;flex-shrink:0;position:absolute;right:-2px;top:-7px;z-index:2}.rank-badge__star-icon{display:block;height:100%;width:100%}.rank-badge__star--glow{filter:drop-shadow(0 0 4px #1a1d23) drop-shadow(0 0 2px #1a1d23);filter:drop-shadow(0 0 4px var(--rank-color,#1a1d23)) drop-shadow(0 0 2px var(--rank-color,#1a1d23));height:13px;width:13px}.rank-badge__star--prestige{filter:drop-shadow(0 0 6px #1a1d23) drop-shadow(0 0 3px #1a1d23);filter:drop-shadow(0 0 6px var(--rank-color,#1a1d23)) drop-shadow(0 0 3px var(--rank-color,#1a1d23));height:14px;width:14px}.rank-badge__star--prestige-sm{filter:drop-shadow(0 0 4px #1a1d23);filter:drop-shadow(0 0 4px var(--rank-color,#1a1d23));height:9px;width:9px}.rank-badge__stars-double{align-items:center;display:inline-flex;gap:2px;position:absolute;right:-2px;top:-7px;z-index:2}.rank-badge__stars{align-items:center;display:flex;flex-shrink:0}.rank-badge__stars svg{display:block}.rank-badge__star-dot{fill:#94a3b8;fill:var(--rank-color,#94a3b8);animation:rank-twinkle 3s ease-in-out infinite}.rank-badge__star-line{stroke:#94a3b8;stroke:var(--rank-color,#94a3b8);stroke-width:.6;fill:none;opacity:.35}@keyframes rank-twinkle{0%,to{opacity:1}50%{opacity:.5}}.rank-badge--l0 .rank-badge__star-dot{opacity:.5}.rank-badge--l5 .rank-badge__star-dot{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--rank-color) 40%,transparent))}.rank-badge--l6 .rank-badge__star-dot{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--rank-color) 50%,transparent))}@media (prefers-reduced-motion:reduce){.ins-l5 .rank-badge__bar:after,.ins-l6 .rank-badge__bar,.rank-badge__star-dot{animation:none}}body[data-theme=dark] .rank-badge,body[data-theme=dark] .rank-badge--writer .rank-badge__label,body[data-theme=dark] .rank-badge__label{color:#6e7681;color:var(--text-muted,#6e7681)}body[data-theme=dark] .rank-badge--l2 .rank-badge__label,body[data-theme=dark] .rank-badge--l3 .rank-badge__label{color:#9aa3b2;color:var(--text-secondary,#9aa3b2)}body[data-theme=dark] .rank-badge--writer.rank-badge--l2 .rank-badge__label,body[data-theme=dark] .rank-badge--writer.rank-badge--l3 .rank-badge__label{color:#9aa3b2;color:var(--rank-color,var(--text-secondary,#9aa3b2));opacity:.75}body[data-theme=dark] .rank-badge--l4 .rank-badge__label{color:#e6edf3;color:var(--text,#e6edf3)}body[data-theme=dark] .rank-badge--writer.rank-badge--l4 .rank-badge__label{color:#e6edf3;color:var(--rank-color,var(--text,#e6edf3));opacity:1}body[data-theme=dark] .ins-l0 .rank-badge__bar,body[data-theme=dark] .ins-l6 .rank-badge__bar{opacity:.85}.fs-section{margin-bottom:1rem;padding:3rem 0 3.5rem}.fs-wrap{margin:0 auto;max-width:1280px;padding:0 1.5rem}.fs-header{margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:620px;text-align:center}.fs-kicker{color:var(--accent-600);font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:.6rem;text-transform:uppercase}.fs-heading{color:var(--text-primary);font-family:var(--font-family-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.15;margin-bottom:.6rem}.fs-subheading{color:var(--text-secondary);font-size:.95rem;line-height:1.55}.fs-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr)}.fs-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:inherit;display:flex;flex-direction:column;min-height:280px;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,border-color .3s ease}.fs-card:before{background:var(--accent-500);background:var(--fs-accent,var(--accent-500));content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.fs-card:hover{border-color:var(--fs-accent,var(--accent-400));box-shadow:var(--shadow-xl);transform:translateY(-5px)}.fs-card:hover:before{opacity:1}.fs-card--teal{--fs-accent:#14b8a6}.fs-card--blue{--fs-accent:#3b82f6}.fs-card--pink{--fs-accent:#ec4899}.fs-card--orange{--fs-accent:#f97316}.fs-card__icon{align-items:center;background:#0bb79a1f;border-radius:11px;color:var(--accent-600);color:var(--fs-accent,var(--accent-600));display:flex;height:44px;justify-content:center;margin-bottom:.85rem;width:44px}.fs-card__icon svg{height:22px;width:22px}.fs-card__kicker{color:var(--text-tertiary);font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.3rem;text-transform:uppercase}.fs-card__title{color:var(--text-primary);font-family:var(--font-family-heading);font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.fs-card__desc{color:var(--text-secondary);flex-grow:1;font-size:.85rem;line-height:1.5;margin-bottom:1rem}.fs-card__visual{align-items:center;display:flex;margin-bottom:1rem;min-height:44px}.fs-card__visual--progression{gap:.75rem}.fs-mini-badge{align-items:center;display:flex;gap:.4rem}.fs-mini-label{color:var(--text-tertiary);font-size:.7rem;font-weight:600}.fs-card__visual--reader{flex-wrap:wrap;gap:.4rem}.fs-font-chip{background:var(--surface-850);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.72rem;padding:.2rem .55rem;white-space:nowrap}.fs-card__visual--community{align-items:stretch;flex-direction:column;gap:.4rem;width:100%}.fs-mini-post{align-items:center;background:var(--surface-850);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:.4rem;padding:.5rem .6rem}.fs-mini-spoiler{background:#0bb79a26;border-radius:var(--radius-xs);color:var(--accent-600);flex-shrink:0;font-size:.6rem;font-weight:700;padding:.1rem .35rem}.fs-mini-text{color:var(--text-secondary);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-mini-stats{color:var(--text-tertiary);display:flex;font-size:.7rem;gap:.75rem;padding-left:.2rem}.fs-card__visual--writer{width:100%}.fs-mini-editor{background:var(--surface-850);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.fs-mini-editor-bar{border-bottom:1px solid var(--border-subtle);display:flex;gap:.25rem;padding:.4rem .6rem}.fs-mini-dot{background:var(--text-tertiary);border-radius:50%;height:7px;opacity:.5;width:7px}.fs-mini-editor-body{align-items:center;display:flex;justify-content:space-between;padding:.5rem .6rem}.fs-mini-cursor{color:var(--text-primary);font-size:.75rem;font-weight:600}.fs-mini-words{color:var(--text-tertiary);font-family:var(--font-family-mono);font-size:.65rem}.fs-card__link{align-items:center;color:var(--accent-600);color:var(--fs-accent,var(--accent-600));display:flex;font-size:.82rem;font-weight:600;gap:.35rem;transition:gap .2s ease}.fs-card:hover .fs-card__link{gap:.55rem}@media (max-width:1024px){.fs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.fs-section{padding:2rem 0 2.5rem}.fs-wrap{padding:0 1rem}.fs-header{margin-bottom:1.5rem}.fs-heading{font-size:1.35rem}.fs-subheading{font-size:.88rem}.fs-grid{-webkit-overflow-scrolling:touch;display:flex;gap:.75rem;grid-template-columns:none;margin:0 -1rem;overflow-x:auto;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.fs-grid::-webkit-scrollbar{display:none}.fs-card{flex:0 0 260px;min-height:auto;padding:1.25rem;scroll-snap-align:start}.fs-card__title{font-size:1rem}.fs-card__desc{font-size:.82rem}}body[data-theme=dark] .fs-card{background:var(--surface-card)}body[data-theme=dark] .fs-font-chip,body[data-theme=dark] .fs-mini-editor,body[data-theme=dark] .fs-mini-post{background:#111c31}body[data-theme=dark] .fs-mini-editor-bar{border-color:var(--border-subtle)}body[data-theme=dark] .fs-card__icon{background:rgba(var(--accent-500-rgb),.18)}.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:var(--radius-pill);color:#fff;font-size:.65rem;font-weight:700;left:.5rem;letter-spacing:.04em;padding:.2rem .5rem;position:absolute;text-transform:uppercase;top:.5rem}.cs-card__status--reg{background:#22c55ed9}.cs-card__status--vote{background:#dc2626d9}.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:.55rem;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}}.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:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.home-section__header .page-kicker{color:var(--text-primary);font-size:var(--font-size-section-heading);font-weight:700;letter-spacing:-.01em;text-transform:none}.home-section__header .ui-btn--ghost.view-all-btn{font-weight:600;gap:.5rem;letter-spacing:.02em}.home-section__header .ui-btn--ghost.view-all-btn:hover{background:#0000;color:var(--color-accent-bright)}.home-section__header .view-all-icon{flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}.home-section__header .ui-btn--ghost.view-all-btn:hover .view-all-icon{transform:translateX(2px)}.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}@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 .page-kicker{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 .page-kicker{font-size:.9rem}}.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}.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(2rem,4vw,3.25rem);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{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;gap:.75rem;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}.filter-toolbar,.library-page__toolbar{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;max-width:100%}.filter-toolbar{gap:.6rem;width:100%}.filter-group{align-items:center;display:flex;flex-wrap:wrap;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:.6rem;margin-top:.5rem;-webkit-mask-image:linear-gradient(90deg,#000 90%,#0000);mask-image:linear-gradient(90deg,#000 90%,#0000);max-width:100%;min-width:0;overflow-x:auto;padding-bottom:.25rem;padding-left:.25rem}@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{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:.85rem;font-weight:500;padding:.4rem 1rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.library-chip:hover{border-color:var(--accent-400-alpha-15);color:var(--text-primary)}.library-chip.is-active{background:var(--color-accent);border-color:var(--color-accent);box-shadow:var(--shadow-sm-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}.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(1.75rem,4vw,2.6rem);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(1.4rem,4vw,2.2rem);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))}}.inline-spoiler{background:#f59e0b14;border-radius:3px;cursor:pointer;display:inline;filter:blur(5px);line-height:inherit;padding:0 2px;transition:filter .18s ease,background-color .18s ease;-webkit-user-select:none;user-select:none}.inline-spoiler:hover{background:#f59e0b24;filter:blur(3px)}.inline-spoiler.inline-spoiler--revealed{background:#0000;color:inherit;cursor:text;filter:none;-webkit-user-select:text;user-select:text}.inline-spoiler:focus-visible{outline:2px solid #f59e0b80;outline-offset:1px}.spoiler-content{border-radius:var(--radius-sm);cursor:pointer;filter:blur(5px);margin:-1px -2px;padding:1px 2px;position:relative;transition:filter .22s ease;-webkit-user-select:none;user-select:none}.spoiler-content:hover{filter:blur(3px)}.spoiler-content.spoiler-content--revealed{cursor:text;filter:none;-webkit-user-select:text;user-select:text}.spoiler-content:focus-visible{outline:2px solid #f59e0b80;outline-offset:2px}.comments-section{box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;gap:1rem;margin:0 auto var(--spacing-xl);max-width:var(--page-max-width);padding:0;width:100%}.comments-section__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:.25rem;padding-bottom:.5rem}.comments-section__heading{display:flex;flex-direction:column;gap:.15rem}.comments-section__sort-tabs{background:var(--surface-overlay-soft);border-radius:6px;border-radius:var(--radius-sm,6px);display:flex;gap:2px;padding:2px}.comments-section__sort-tab{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-family:var(--font-family-base,inherit);font-size:.8125rem;font-weight:600;height:2rem;letter-spacing:.02em;padding:0 .5rem;padding:0 var(--spacing-sm,.5rem);transition:all .25s cubic-bezier(.4,0,.2,1)}.comments-section__sort-tab:hover:not(.active){background:var(--surface-overlay-soft);color:var(--text-primary)}.comments-section__sort-tab.active{background:#fff;background:var(--surface-base,var(--surface-card,#fff));box-shadow:0 1px 3px #00000014,0 2px 8px #0000000f;color:var(--text-primary);font-weight:600}.comments-section__title{color:var(--text-primary);font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0}.comments-section__meta{align-items:center;color:var(--text-muted);display:flex;font-size:.8rem;gap:.75rem}.comments-section__meta-primary{background:var(--surface-overlay-soft);border-radius:6px;color:var(--text-secondary);font-size:.8em;font-weight:600;padding:.2em .8em}.comments-section__announce{animation:fadeIn .3s ease-out;color:var(--color-accent);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.comments-section .auth-feedback.error,.comments-section__alert{background:var(--critical-50);border:1px solid var(--critical-200);border-radius:8px;border-radius:var(--radius-md,8px);box-sizing:border-box;color:var(--critical-600);font-size:.9rem;padding:1rem;width:100%}.comments-section .auth-feedback.error{margin-top:.5rem}.comments-section__layout{display:flex;flex-direction:column;gap:1.25rem}.comments-section__composer{position:relative;z-index:10}.comment-form{background:#fff;background:var(--surface-card,#fff);border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;padding:.875rem;transition:box-shadow .2s ease,border-color .2s ease}.comment-form:focus-within{border-color:var(--color-accent-bright);box-shadow:var(--shadow-md)}.comment-form__header{align-items:baseline;display:flex;justify-content:space-between}.comment-form__title{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0}.comment-form__field{display:flex;flex-direction:column;gap:.5rem}.comment-form__label{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.comment-form textarea,.reply-form textarea{background:var(--surface-overlay-soft);border:1px solid #0000;border-radius:6px;border-radius:var(--radius-sm,6px);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.875rem;line-height:1.5;min-height:72px;padding:.625rem .75rem;resize:vertical;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.comment-form textarea:focus,.reply-form textarea:focus{background:var(--surface-card);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus);outline:none}.comment-form__footer{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:.25rem}.comment-spoiler-toggle{align-items:center;color:#52606d;color:var(--text-secondary,#52606d);cursor:pointer;display:inline-flex;font-size:.875rem;font-size:var(--font-size-sm,.875rem);gap:.5rem;margin-top:.5rem;-webkit-user-select:none;user-select:none;white-space:nowrap}.reply-form .comment-spoiler-toggle{margin-top:.75rem}.comment-spoiler-toggle input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;height:16px;width:16px}.length-meter{display:flex;flex:1 1;flex-direction:column;gap:.35rem;max-width:200px}.length-meter__label{color:var(--text-muted);font-size:.75rem;font-weight:500;text-align:right}.length-meter__track{background:var(--border-subtle);border-radius:99px;height:4px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);mask-image:-webkit-radial-gradient(#fff,#000);overflow:hidden;width:100%}.length-meter__progress{background:var(--color-accent);border-radius:99px;display:block;height:100%;transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;width:100%}.length-meter--warning .length-meter__progress{background:#ef4444;background:var(--critical-500,#ef4444)}.length-meter--warning .length-meter__label{color:#ef4444;color:var(--critical-500,#ef4444)}.comments-list,.comments-section__stream{display:flex;flex-direction:column;gap:1.5rem}.state-card{align-items:center;background:var(--surface-overlay-soft);border:1px dashed var(--border-subtle);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.state-card__icon-wrapper{background:var(--surface-card);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--color-accent);display:inline-flex;margin-bottom:.75rem;padding:.875rem}.state-card__icon{height:24px;width:24px}.state-card__title{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0 0 .25rem}.state-card__subtitle{color:var(--text-muted);font-size:.8rem;margin:0}.comment{background:#fff;background:var(--surface-card,#fff);border:1px solid var(--border-subtle);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex-direction:column;gap:.5rem;padding:.875rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.comment:hover{border-color:#cbd5e1;border-color:var(--border-subtle-strong,#cbd5e1);box-shadow:var(--shadow-sm)}.comment-header{align-items:center;display:flex;gap:1rem}.avatar{border:2px solid var(--surface-card);border-radius:50%;box-shadow:0 2px 4px #0000000d;flex-shrink:0;height:44px;overflow:hidden;width:44px}.avatar--lg{height:48px;width:48px}.avatar--md{height:40px;width:40px}.avatar--sm{height:32px;width:32px}.avatar__image{height:100%;object-fit:cover;width:100%}.avatar__fallback{align-items:center;color:#fff;display:flex;font-size:.9em;font-weight:600;height:100%;justify-content:center;text-shadow:0 1px 2px #0000001a;width:100%}.avatar__initials{font-size:.85em;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.avatar--ring{box-shadow:0 0 0 2px var(--surface-card),0 0 0 4px var(--color-accent-muted)}.avatar--fallback{background-position:50%;background-size:150% 150%}.comment-meta{display:flex;flex-direction:column;gap:.1rem}.comment-meta__top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.comments-section .author{color:var(--accent-500);font-size:1rem;font-weight:700;margin:0}.author-link{color:inherit;text-decoration:none;transition:color .15s ease}.author-link:hover{color:var(--accent-500);text-decoration:underline}.date{color:var(--text-muted);font-size:.8rem}.comment-meta__edited{color:var(--text-tertiary);font-size:.75rem;font-style:italic}.comment-content{color:var(--text-secondary);font-size:.95rem;line-height:1.65;padding-left:calc(44px + 1rem);white-space:pre-wrap;word-break:break-word}.comment-content--deleted{background:var(--surface-overlay-soft);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-muted);font-style:italic;margin-left:calc(44px + 1rem);padding:.75rem 1rem;width:-webkit-fit-content;width:fit-content}.comment-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;padding-left:calc(44px + 1rem)}.comment-actions__label{font-size:.85rem;font-weight:500;line-height:1}.comments-section .reaction-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;line-height:1;padding:.4rem .8rem;transition:all .2s ease}.comments-section .reaction-btn:hover:not(:disabled){background:var(--surface-overlay-soft);color:var(--text-primary)}.reaction-btn svg{flex-shrink:0;height:18px;width:18px}.comments-section .reaction-btn--like.is-active{background:var(--color-accent-soft);border-color:var(--color-accent-subtle);color:var(--color-accent-dim)}.comments-section .reaction-btn--like:hover:not(:disabled){background:var(--color-accent-muted);color:var(--color-accent-dim)}.comments-section .reaction-btn--dislike.is-active{background:var(--critical-50);border-color:var(--critical-200);color:var(--critical-600)}.comments-section .reaction-btn--dislike:hover:not(:disabled){background:var(--critical-100);color:var(--critical-600)}.comments-section .reaction-btn--reply{color:var(--text-muted)}.comments-section .reaction-btn--reply:hover:not(:disabled){background:var(--surface-overlay-soft);color:var(--text-primary)}.comments-section .reaction-btn--delete:hover:not(:disabled){background:var(--critical-50);color:var(--critical-600)}.reaction-btn--disabled,.reaction-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.reply-children{margin-top:1rem}.replies{display:flex;flex-direction:column;gap:1.25rem;margin-top:0;padding-left:calc(48px + 1rem);position:relative}.replies:before{background:var(--border-subtle);border-radius:2px;bottom:.5rem;content:"";left:24px;position:absolute;top:-1rem;width:2px}.reply .replies{padding-left:calc(32px + .75rem)}.reply .replies:before{left:16px}.reply{background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;padding:0;position:relative}.reply,.reply .comment-header{gap:.75rem}.reply .avatar{border-color:var(--surface-card)}.reply .comment-actions,.reply .comment-content,.reply .comment-content--deleted{margin-left:0;padding-left:calc(32px + .75rem)}.reply-form{animation:slideDown .2s ease-out;background:var(--surface-overlay-soft);border:1px solid var(--border-subtle);border-radius:12px;border-radius:var(--radius-md,12px);margin-left:calc(48px + 1rem);margin-top:1rem;padding:1rem}.reply .reply-form{margin-left:calc(32px + .75rem)}.reply-actions{align-items:center;display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.reply-actions__right{align-items:center;display:flex;gap:.5rem}.comments-section .reply-toggle{align-items:center;align-self:flex-start;background:none;border:none;border-radius:8px;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-left:calc(48px + 1rem);margin-top:.5rem;padding:.5rem 1rem;position:relative;text-decoration:none;transition:background .2s ease;z-index:2}.reply .reply-toggle{margin-left:calc(32px + .75rem)}.comments-section .reply-toggle:hover{background:var(--surface-overlay-soft);text-decoration:none}.reply-depth-hint{color:var(--text-muted);font-size:.8rem;font-style:italic;margin-left:calc(48px + 1rem);margin-top:.5rem}.reply .reply-depth-hint{margin-left:calc(32px + .75rem)}.comments-section__more{display:flex;justify-content:center;margin-top:2rem}[data-theme=dark] .avatar,[data-theme=dark] .comment,[data-theme=dark] .comment-form{background:var(--surface-card);border-color:var(--border-subtle)}[data-theme=dark] .reaction-btn--like.is-active{background:rgba(var(--accent-500-rgb),.15);border-color:rgba(var(--accent-500-rgb),.3);color:var(--color-accent-bright)}[data-theme=dark] .reaction-btn--dislike.is-active{background:rgba(var(--critical-500-rgb),.15);border-color:rgba(var(--critical-500-rgb),.3);color:var(--critical-400)}.comment--pinned{border-color:#f59e0b4d;border-color:var(--color-accent-subtle,#f59e0b4d);border-left:3px solid #f59e0b;border-left:3px solid var(--color-accent,#f59e0b)}.comment__pinned-banner{align-items:center;color:#b45309;color:var(--color-accent-dim,#b45309);display:flex;font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.03em;padding-bottom:.25rem;text-transform:uppercase}.comment__pinned-banner svg{flex-shrink:0;height:14px;width:14px}.author-badge{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;line-height:1.4;padding:.1em .5em;text-transform:uppercase}.comments-section .reaction-btn--pin.is-active,.comments-section .reaction-btn--pin:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-dim)}[data-theme=dark] .comment--pinned{border-color:#f59e0b4d #f59e0b4d #f59e0b4d #f59e0b}[data-theme=dark] .comment__pinned-banner{color:#fbbf24}[data-theme=dark] .author-badge{background:linear-gradient(135deg,#f59e0b,#b45309)}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.comments-section{padding:0}.reply-form .comment-spoiler-toggle{margin-left:.5rem}.comment{padding:.5rem .625rem}.comment-form{padding:.625rem}.state-card{padding:1.5rem .75rem}.comment-actions,.comment-content,.comment-content--deleted{margin-top:.5rem;padding-left:0}.replies{gap:1rem;padding-left:1rem}.replies:before{display:block;left:.5rem}.reply .replies{padding-left:.75rem}.reply .replies:before{left:0}.reply .comment-actions,.reply .comment-content,.reply .comment-content--deleted,.reply .reply-form,.reply .reply-toggle,.reply-form,.reply-toggle{margin-left:0;padding-left:0}.comment-actions{flex-wrap:nowrap;gap:.35rem}.comments-section .reaction-btn{font-size:.8rem;padding:.3rem .5rem}.reaction-btn svg{height:16px;width:16px}.comment-form__footer{align-items:stretch;flex-direction:column}.length-meter{max-width:none}.avatar{height:36px;width:36px}.avatar--lg{height:40px;width:40px}.avatar--sm{height:28px;width:28px}.comments-section__header{align-items:flex-start;flex-direction:column;gap:.5rem;gap:var(--spacing-xs,.5rem)}.comments-section__sort-tabs{gap:0;width:100%}.comments-section__sort-tab{flex:1 1;font-size:.75rem;font-size:var(--font-size-xs,.75rem);padding:.25rem .5rem;padding:var(--spacing-2xs,.25rem) var(--spacing-xs,.5rem);text-align:center}}.reader-settings-overlay{inset:0;pointer-events:none;position:fixed;z-index:1200}.reader-settings-panel{animation:panelSlideIn .2s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #00000014;border:1px solid var(--border-subtle,#00000014);border-radius:20px;border-radius:var(--radius-xl,20px);box-shadow:var(--shadow-xl);color:#1f2933;color:var(--text-primary,#1f2933);display:flex;flex-direction:column;isolation:isolate;opacity:1;overflow:hidden;pointer-events:auto;position:absolute;transform-origin:top right;width:min(400px,calc(100vw - 2rem))}body[data-theme=dark] .reader-settings-panel{background:#111827}@keyframes panelSlideIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.reader-settings-header{align-items:flex-start;border-bottom:1px solid #0000000f;border-bottom:1px solid var(--border-subtle,#0000000f);display:flex;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.reader-settings-header__content{flex:1 1}.reader-settings-title{color:var(--text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.015em;margin:0}.reader-settings-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:.25rem 0 0}.reader-settings-close-btn{color:var(--text-tertiary);margin:-.5rem -.5rem 0 0}.reader-settings-close-btn:hover{color:var(--text-primary)}.reader-settings-body{display:flex;flex-direction:column;gap:2rem;max-height:calc(85vh - 140px);overflow-y:auto;padding:1.5rem}.reader-settings-section{display:flex;flex-direction:column;gap:1rem}.reader-settings-section__header h3{color:var(--text-tertiary);font-size:.8rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.reader-settings-themes{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.reader-settings-theme-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;height:auto;padding:0;position:relative;width:100%}.reader-settings-theme-preview{align-items:center;aspect-ratio:1;background-color:var(--theme-bg);border:1px solid var(--theme-border);border-radius:50%;box-shadow:var(--shadow-sm);display:flex;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;width:100%}.reader-settings-theme-char{color:var(--theme-text);font-family:Times New Roman,serif;font-size:1rem;font-weight:500;opacity:.8}.reader-settings-theme-btn.is-active .reader-settings-theme-preview{box-shadow:0 0 0 2px var(--surface-card),0 0 0 4px var(--accent-500)}.reader-settings-theme-btn:hover .reader-settings-theme-preview{box-shadow:var(--shadow-md);transform:translateY(-2px)}.reader-settings-theme-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.reader-settings-theme-check{color:var(--theme-text);display:flex;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,calc(-50% - 14px))}.reader-settings-fonts-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.reader-settings-font-btn{align-items:flex-start;background:var(--surface-overlay-subtle);border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;height:auto;padding:.6rem .7rem;text-align:left;transition:all .2s ease;width:100%}.reader-settings-font-btn:hover{background:var(--surface-overlay-muted)}.reader-settings-font-btn.is-active{background:var(--accent-500-alpha-12);border-color:var(--accent-500);color:var(--accent-500)}.reader-settings-font-preview{color:var(--text-primary);font-size:1.25rem;line-height:1;margin-bottom:.2rem}.reader-settings-font-btn.is-active .reader-settings-font-preview{color:var(--accent-500)}.reader-settings-font-name{color:var(--text-secondary);font-size:.7rem;font-weight:500}.reader-settings-controls-group{display:flex;flex-direction:column;gap:1.25rem}.reader-settings-control-row{align-items:center;display:flex;gap:1rem}.reader-settings-control-label{display:flex;flex:0 0 70px;flex-direction:column}.reader-settings-control-label label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.reader-settings-control-value{font-feature-settings:"tnum";color:var(--text-tertiary);font-size:.75rem;font-variant-numeric:tabular-nums}.reader-settings-slider-wrapper{align-items:center;background:var(--surface-overlay-subtle);border-radius:var(--radius-md);display:flex;flex:1 1;gap:.75rem;padding:.5rem .75rem}.reader-settings-slider-icon-lg,.reader-settings-slider-icon-sm{color:var(--text-tertiary);font-weight:600;-webkit-user-select:none;user-select:none}.reader-settings-slider-icon-sm{font-size:.8rem}.reader-settings-slider-icon-lg{font-size:1.1rem}.reader-settings-slider{-webkit-appearance:none;background:#0000;cursor:pointer;flex:1 1;height:20px;margin:0;width:100%}.reader-settings-slider::-webkit-slider-runnable-track{background:var(--border-muted);border-radius:2px;height:4px;-webkit-transition:background .2s ease;transition:background .2s ease;width:100%}.reader-settings-slider:hover::-webkit-slider-runnable-track{background:var(--border-strong)}.reader-settings-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;background:var(--surface-base,#fff);border:1px solid var(--border-subtle);border-radius:50%;box-shadow:var(--shadow-md);height:18px;margin-top:-7px;-webkit-transition:transform .1s ease,box-shadow .1s ease;transition:transform .1s ease,box-shadow .1s ease;width:18px}.reader-settings-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.reader-settings-slider:active::-webkit-slider-thumb{background:var(--accent-500);border-color:var(--accent-500);transform:scale(1.1)}.reader-settings-slider::-moz-range-track{background:var(--border-muted);border-radius:2px;height:4px;width:100%}.reader-settings-slider::-moz-range-thumb{background:#fff;background:var(--surface-base,#fff);border:none;border-radius:50%;box-shadow:var(--shadow-md);cursor:pointer;height:18px;width:18px}.reader-settings-slider:hover::-moz-range-thumb{transform:scale(1.1)}.reader-settings-slider:active::-moz-range-thumb{background:var(--accent-500);transform:scale(1.1)}.reader-settings-layout-grid{display:flex;flex-direction:column;gap:1rem}.reader-settings-segmented-control{background:var(--surface-overlay-subtle);border-radius:var(--radius-md);display:flex;gap:.25rem;padding:.25rem}.reader-settings-segment-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.8125rem;font-weight:500;gap:.5rem;height:auto;justify-content:center;padding:.5rem;transition:all .2s ease}.reader-settings-segment-btn svg{height:16px;opacity:.7;width:16px}.reader-settings-segment-btn:hover{background:var(--surface-overlay-strong);color:var(--text-primary)}.reader-settings-segment-btn.is-active{background:#fff;background:var(--surface-card,#fff);box-shadow:var(--shadow-sm);color:var(--accent-500);font-weight:600}.reader-settings-segment-btn.is-active svg{stroke:currentColor;opacity:1}.reader-settings-footer{border-top:1px solid #0000000f;border-top:1px solid var(--border-subtle,#0000000f);display:flex;justify-content:center;padding:1rem 1.5rem}.reader-settings-reset-btn{color:var(--text-tertiary);font-size:.8125rem}.reader-settings-reset-btn:hover{color:var(--status-critical)}.reader-settings-mobile-handle{display:none}@media (max-width:768px){.reader-settings-mobile-handle{background:var(--border-muted);border-radius:2px;display:block;height:4px;margin:.75rem auto 0;width:36px}.reader-settings-overlay{animation:fadeIn .3s ease forwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;pointer-events:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reader-settings-panel{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards;border-bottom:none;border-radius:20px 20px 0 0;bottom:0!important;box-shadow:0 -4px 20px #00000026;left:0!important;max-height:60vh;padding:0;position:fixed;top:auto!important;transform:translateY(100%);width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.reader-settings-body{gap:2rem;padding:1.5rem 1.25rem}.reader-settings-header{padding:.75rem 1.25rem 1rem}.reader-settings-slider::-webkit-slider-thumb{height:24px;margin-top:-10px;width:24px}.reader-settings-slider::-webkit-slider-runnable-track{height:4px}.reader-settings-fonts-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.reader-settings-font-btn{padding:.7rem}.reader-settings-font-preview{font-size:1.35rem}.reader-settings-font-name{font-size:.75rem}}.chapter-selector{position:relative}.chapter-selector,.chapter-selector__trigger{box-sizing:border-box;max-width:100%;width:100%}.chapter-selector__trigger{align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-md);color:var(--text-contrast);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;justify-content:space-between;min-height:clamp(2.4rem,5.5vw,2.9rem);padding:0 .9rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.chapter-selector__trigger:hover{background:var(--surface-overlay-soft);border-color:var(--color-accent-highlight)}.chapter-selector__trigger:focus{border-color:var(--color-accent-highlight);box-shadow:var(--shadow-focus-accent);outline:none}.chapter-selector__label{color:var(--text-primary);flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.chapter-selector__icon{color:var(--text-secondary);flex-shrink:0;height:1.125rem;margin-left:.625rem;transition:transform .2s cubic-bezier(.4,0,.2,1);width:1.125rem}.chapter-selector__icon--open{color:var(--accent-500);transform:rotate(180deg)}.chapter-selector__backdrop{display:none}.chapter-selector__dropdown{animation:chapter-selector-enter .18s cubic-bezier(.16,1,.3,1);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000026;box-sizing:border-box;display:flex;flex-direction:column;left:0;max-height:420px;max-width:100%;min-width:100%;overflow:hidden;position:absolute;right:0;top:calc(100% + .375rem);width:100%;z-index:1000}.chapter-selector__dropdown--up{animation:chapter-selector-enter-up .18s cubic-bezier(.16,1,.3,1);bottom:calc(100% + .375rem);top:auto}@keyframes chapter-selector-enter{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chapter-selector-enter-up{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chapter-selector__header{align-items:center;background:var(--surface-card);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;gap:.625rem;padding:.875rem}.chapter-selector__search{background:var(--surface-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:all .2s ease}.chapter-selector__search::placeholder{color:var(--text-tertiary)}.chapter-selector__search:focus{background:var(--surface-card);border-color:var(--accent-500)}.chapter-selector__close{align-items:center;background:var(--surface-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.5rem;transition:all .2s ease}.chapter-selector__close svg{height:1.125rem;width:1.125rem}.chapter-selector__close:hover{background:var(--surface-hover);border-color:var(--accent-500);color:var(--text-primary)}.chapter-selector__list{background:var(--surface-card);flex:1 1;max-height:300px;overflow-y:auto;padding:.5rem}.chapter-selector__list::-webkit-scrollbar{width:8px}.chapter-selector__list::-webkit-scrollbar-track{background:var(--surface-input)}.chapter-selector__list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.chapter-selector__list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.chapter-selector__empty,.chapter-selector__loading{color:var(--text-secondary);font-size:.875rem;padding:2rem;text-align:center}.chapter-selector__loading{align-items:center;display:flex;flex-direction:column;gap:.75rem}.chapter-selector__spinner{animation:chapter-selector-spin .6s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-500);height:1.5rem;width:1.5rem}@keyframes chapter-selector-spin{to{transform:rotate(1turn)}}.chapter-selector__item{align-items:flex-start;background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;margin-bottom:.375rem;padding:.75rem .875rem;text-align:left;transition:all .15s ease;width:100%}.chapter-selector__item:hover{background:var(--surface-hover);border-color:var(--accent-500)}.chapter-selector__item--active{background:color-mix(in srgb,var(--accent-500) 12%,#0000);border-color:var(--accent-500);border-left:3px solid var(--accent-500)}.chapter-selector__item--active .chapter-selector__item-number{color:var(--accent-500);opacity:1}.chapter-selector__item--focused:not(.chapter-selector__item--active){background:var(--surface-hover);border-color:var(--color-accent-highlight)}.chapter-selector__item-number{font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:.25rem;opacity:.7;text-transform:uppercase}.chapter-selector__item-title{font-size:.875rem;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-selector__pagination{align-items:center;background:var(--surface-card);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.875rem}.chapter-selector__page-btn{align-items:center;background:var(--surface-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.chapter-selector__page-btn svg{height:1.25rem;width:1.25rem}.chapter-selector__page-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent-500);color:var(--accent-500)}.chapter-selector__page-btn:disabled{background:var(--surface-input);cursor:not-allowed;opacity:.4}.chapter-selector__page-info{color:var(--text-primary);font-size:.875rem;font-weight:500}@media (max-width:640px){.chapter-selector{max-width:100%;width:100%}.chapter-selector__backdrop{animation:chapter-selector-fade-in .2s ease;background:#0006;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes chapter-selector-fade-in{0%{opacity:0}to{opacity:1}}.chapter-selector__trigger{font-size:.875rem;padding:0 .75rem}.chapter-selector__label{font-size:.875rem}.chapter-selector__dropdown,.chapter-selector__dropdown--up{animation:chapter-selector-slide-up .25s cubic-bezier(.16,1,.3,1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;box-shadow:0 -4px 20px #00000040;box-sizing:border-box;height:75vh;left:0;max-height:75vh;max-width:100vw;position:fixed;right:0;top:auto;width:100vw}@keyframes chapter-selector-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chapter-selector__list{max-height:calc(75vh - 140px)}.chapter-selector__item{padding:.75rem .875rem}.chapter-selector__pagination{min-height:3.5rem;padding:.875rem}.chapter-selector__page-btn{min-height:40px;min-width:40px;padding:.5rem .625rem}.chapter-selector__page-info{font-size:.875rem}.chapter-selector__search{font-size:.875rem;padding:.5rem .625rem}.chapter-selector__header{padding:.75rem}.chapter-selector__close{background:var(--surface-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:.625rem .875rem}.chapter-selector__close svg{height:1.25rem;width:1.25rem}.chapter-selector__close:hover{background:var(--surface-hover);border-color:var(--accent-500);color:var(--text-primary)}}.chapter-reader-page{--reader-font-family:var(--reader-font-family,var(--font-family-base));--reader-font-size:var(--reader-font-size,1.125rem);--reader-line-height:var(--reader-line-height,1.9);--reader-letter-spacing:var(--reader-letter-spacing,0.01em);--reader-paragraph-spacing:var(--reader-paragraph-spacing,0.8em);--reader-paragraph-indent:var(--reader-paragraph-indent,0em);--reader-content-max-width:var(
    --reader-content-max-width,min(100%,var(--page-max-width))
  );background:#0000;box-sizing:border-box;color:var(--text-primary);margin:0 auto;min-width:0;transition:color .3s ease;width:100%}.chapter-reader__author-note,.chapter-reader__comments,.chapter-reader__nav-cards{box-sizing:border-box;margin-inline:auto;max-width:var(--reader-content-max-width);padding-inline:clamp(14px,4vw,28px);width:100%}.chapter-reader__surface{background:#0000;background:var(--reader-bg,#0000);border-radius:var(--radius-md);box-sizing:border-box;margin:0 auto clamp(1.5rem,3vw,2rem);max-width:calc(var(--reader-content-max-width) - clamp(28px, 8vw, 56px));width:100%}.chapter-reader__head{padding:clamp(1.75rem,4vw,3rem) clamp(1.5rem,4vw,2.5rem) 1.25rem;text-align:center}.chapter-reader__kicker{color:var(--accent-600);color:var(--reader-text,var(--accent-600));font-family:var(--font-family-heading);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;margin-bottom:.5rem;opacity:.7;text-transform:uppercase}.chapter-reader__title{color:var(--text-primary);color:var(--reader-text,var(--text-primary));font-family:var(--font-family-serif);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .625rem}.chapter-reader__byline{align-items:center;color:var(--text-muted);color:var(--reader-text,var(--text-muted));display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:.75rem;justify-content:center;opacity:.7}.chapter-reader__byline b{color:var(--text-secondary);color:var(--reader-text,var(--text-secondary));font-weight:600;opacity:1}.chapter-reader__byline-sep{color:var(--border-subtle);color:var(--reader-text,var(--border-subtle));opacity:.4}.chapter-reader__selector-bar{margin-inline:auto;max-width:380px;padding:0 clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,3vw,2rem)}.chapter-reader__content{color:var(--text-contrast);color:var(--reader-text,var(--text-contrast));font-family:var(--reader-font-family);font-size:var(--reader-font-size);letter-spacing:var(--reader-letter-spacing);line-height:var(--reader-line-height);min-width:0;overflow-wrap:break-word;padding:0 clamp(1.5rem,4vw,2.5rem) clamp(2rem,4vw,3rem);text-align:left;text-align:var(--reader-text-align,left);word-break:break-word}.chapter-reader__content p{margin:0 0 .85em;margin:0 0 var(--reader-paragraph-spacing,.85em);text-indent:0;text-indent:var(--reader-paragraph-indent,0)}.chapter-reader__content p:last-child{margin-bottom:0}.chapter-reader__content ol,.chapter-reader__content ul{margin:0 0 1.5em 1.5em;padding-left:1.5em}.chapter-reader__content li{margin-bottom:.5em;padding-left:.5em}.chapter-reader__content ul{list-style-type:disc}.chapter-reader__content ol{list-style-type:decimal}.chapter-reader__content b,.chapter-reader__content strong{color:inherit;font-weight:700}.chapter-reader__content em,.chapter-reader__content i{font-style:italic}.chapter-reader__content u{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.chapter-reader__content s,.chapter-reader__content strike{opacity:.8;text-decoration:line-through}.chapter-reader__content h1,.chapter-reader__content h2,.chapter-reader__content h3,.chapter-reader__content h4,.chapter-reader__content h5,.chapter-reader__content h6{color:inherit;font-family:inherit;font-weight:700;line-height:1.3;margin:1.5em 0 .75em}.chapter-reader__content h1{font-size:1.8em}.chapter-reader__content h2{font-size:1.5em}.chapter-reader__content h3{font-size:1.25em}.chapter-reader__content>p:first-child:first-letter{color:var(--accent-500);color:var(--accent-600,var(--accent-500));float:left;font-size:3.2em;font-weight:600;line-height:.82;margin-right:.55rem}.chapter-reader__content blockquote{background:linear-gradient(135deg,var(--surface-overlay-warm-soft),var(--surface-card));border-left:3px solid var(--accent-500);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary);font-style:italic;margin:1.5rem 0;padding:1rem 1.5rem}.chapter-reader__content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.chapter-reader__author-note{padding-bottom:clamp(1.5rem,3vw,2rem);padding-top:0}.chapter-reader__author-note-card{background:var(--accent-500-alpha-12);border:1px solid var(--accent-500-alpha-35);border-radius:var(--radius-md);padding:18px 22px}.chapter-reader__author-note-label{color:var(--accent-600);font-family:var(--font-family-heading);font-size:var(--font-size-sm);font-weight:700;margin:0 0 6px}.chapter-reader__author-note-text{color:var(--text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-style:italic;line-height:1.6;margin:0;white-space:pre-wrap}.chapter-reader__nav-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-bottom:clamp(2rem,4vw,3rem);padding-top:0}.chapter-reader__nav-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 18px;text-decoration:none;transition:border-color .18s,color .18s,background .18s,box-shadow .18s,transform .18s}.chapter-reader__nav-card:hover:not(.is-disabled){border-color:var(--accent-400);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chapter-reader__nav-card.is-disabled{opacity:.4;pointer-events:none}.chapter-reader__nav-card--next{align-items:flex-end;text-align:right}.chapter-reader__nav-card-dir{color:var(--accent-600);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chapter-reader__nav-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:var(--font-family-heading);font-size:var(--font-size-sm-plus);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chapter-reader__nav-card-chap{color:var(--text-muted);font-size:var(--font-size-xs)}.chapter-reader__settings-fab{display:none}@media (max-width:768px){.chapter-reader__settings-fab{align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:50%;bottom:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow-lg);color:var(--text-secondary);display:flex;height:3rem;justify-content:center;padding:0;position:fixed;right:clamp(1.25rem,3vw,2rem);transition:box-shadow .2s ease,transform .2s ease;width:3rem;z-index:60}.chapter-reader__settings-fab:active,.chapter-reader__settings-fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.05)}.chapter-reader__settings-fab svg{height:1.25rem;width:1.25rem}}.chapter-reader__comments{padding-bottom:clamp(2.5rem,5vw,4rem);padding-top:clamp(1.5rem,3vw,2rem)}.chapter-reader__comments .comments-section{margin:0;max-width:none;width:100%}.chapter-reader__comments .comments-section__composer{position:static;top:auto}@media (max-width:768px){.chapter-reader__surface{border-radius:0;max-width:100%}.chapter-reader__head{padding-top:1.25rem;padding-inline:12px}.chapter-reader__selector-bar{padding-inline:12px}.chapter-reader__content{font-size:1rem;padding-inline:12px}.chapter-reader__author-note,.chapter-reader__nav-cards{padding-inline:12px}.chapter-reader__comments{padding-inline:0}.chapter-reader__nav-cards{gap:8px}.chapter-reader__nav-card{padding:10px 14px}.chapter-reader__author-note-card{padding:14px 16px}}@media (max-width:640px){.chapter-reader__content>p:first-child:first-letter{float:none;font-size:clamp(1.8rem,5vw,2.2rem);margin-right:0}.chapter-reader__nav-cards{gap:10px;grid-template-columns:1fr}.chapter-reader__nav-card--next{align-items:flex-start;text-align:left}.chapter-reader__title{font-size:clamp(1.25rem,5vw,1.6rem)}}.auth-page{align-content:center;justify-content:center;min-height:80vh;padding:4rem 1.5rem 5rem}.auth-container,.auth-page{grid-gap:2rem;display:grid;gap:2rem}.auth-container{width:min(420px,100vw - 3rem)}.auth-header-text{text-align:center}.auth-title{color:var(--text-primary);font-family:var(--font-family-heading);font-size:2rem;font-weight:700;margin:.5rem 0}.auth-subtitle{color:var(--text-secondary);line-height:1.5}.auth-card-modern{-webkit-backdrop-filter:var(--blur-backdrop-lg);backdrop-filter:var(--blur-backdrop-lg);background:var(--surface-card);border:1px solid var(--border-subtle-light);box-shadow:var(--shadow-card-xl)}.auth-form{grid-gap:1.25rem;display:grid;gap:1.25rem}.form-actions{margin-top:.5rem}.auth-feedback{background:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);border-radius:var(--radius-md);color:var(--status-positive-strong);font-size:.95rem;font-weight:500;padding:.85rem 1rem}.auth-feedback.error{background:var(--status-critical-bg);border-color:var(--status-critical-border-strong);color:var(--status-critical-strong)}.auth-feedback-spacing{margin-top:1rem}.auth-footer{color:var(--text-secondary);font-size:.95rem;text-align:center}.auth-footer a{color:var(--color-accent);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-footer a:hover{color:var(--color-accent-bright);text-decoration:underline}.auth-divider{align-items:center;color:var(--text-tertiary);display:flex;font-size:.9rem;font-weight:500;margin:1.5rem 0}.auth-divider:after,.auth-divider:before{border-bottom:1px solid var(--border-subtle);content:"";flex:1 1}.auth-divider span{padding:0 1rem}.auth-avatar-section{grid-gap:1rem;background:var(--surface-overlay-accent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;gap:1rem;margin-bottom:.5rem;padding:1.5rem}.auth-avatar-header{text-align:center}.auth-avatar-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.auth-avatar-header p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.auth-avatar-error,.auth-avatar-loading{color:var(--text-secondary);font-size:.9rem;padding:2rem;text-align:center}.auth-avatar-error{align-items:center;color:var(--status-critical-strong);display:flex;flex-direction:column;gap:.75rem}.auth-avatar-grid{grid-gap:.75rem;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));max-height:280px;overflow-y:auto;padding:.5rem}.auth-avatar-option{align-items:center;background:var(--surface-card);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;height:56px;justify-content:center;overflow:hidden;padding:0;transition:all .2s ease;width:56px}.auth-avatar-option:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:scale(1.05)}.auth-avatar-option--selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint),var(--shadow-md);transform:scale(1.05)}.auth-avatar-option img{display:block;height:100%;object-fit:cover;width:100%}.auth-avatar-actions{display:flex;justify-content:center;padding-top:.5rem}@media (max-width:640px){.auth-avatar-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));max-height:240px}.auth-avatar-option{height:48px;width:48px}.auth-avatar-section{padding:1rem}}.ui-feedback{border-radius:var(--radius-md);font-size:.875rem;font-weight:500;line-height:1.5;padding:.75rem 1rem;text-align:center}.ui-feedback--success{background:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);color:var(--status-positive-strong);color:var(--feedback-success-text,var(--status-positive-strong))}.ui-feedback--error{background:var(--feedback-error-bg);border:1px solid var(--feedback-error-border);color:var(--feedback-error-text)}.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{grid-gap:1rem;display:grid;gap:1rem;margin-bottom:clamp(2rem,5vw,3rem)}.page-kicker{color:var(--color-accent-bright);font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.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.50864e7b.css.map*/