:root{--color-brand-primary: #2563eb;--color-brand-deep: #1d4ed8;--color-brand-cyan: #0ea5e9;--color-heading: #0f172a;--color-text: #334155;--color-text-muted: #64748b;--color-success: #166534;--color-warning: #92400e;--color-error: #b91c1c;--color-page-background: #f8fafc;--surface-solid: #fff;--surface-soft-glass: rgb(255 255 255 / 88%);--surface-elevated-glass: rgb(255 255 255 / 82%);--surface-glass-fallback: rgb(255 255 255 / 96%);--surface-brand-subtle: #f8fbff;--surface-brand-subtle-hover: #eff6ff;--surface-danger-subtle: #fef2f2;--border-color-subtle: rgb(226 232 240 / 90%);--border-color-glass: rgb(255 255 255 / 68%);--border-color-control: #cbd5e1;--border-brand-subtle: #93c5fd;--border-danger-subtle: #fecaca;--border-width: 1px;--radius-control: 7px;--radius-small: 9px;--radius-medium: 12px;--radius-large: 18px;--radius-pill: 999px;--shadow-soft: 0 6px 20px rgb(15 23 42 / 5%);--shadow-elevated: 0 18px 48px rgb(15 23 42 / 12%);--shadow-glass-inset: inset 0 1px 0 rgb(255 255 255 / 72%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--focus-ring-color: rgb(37 99 235 / 48%);--focus-ring-width: 3px;--transition-fast: .14s ease;--transition-standard: .22s ease;--content-width: 1120px;--glass-soft-blur: 14px;--glass-elevated-blur: 18px;--glass-saturate: 1.2}.glass-soft,.liquid-glass{border:var(--border-width) solid var(--border-color-glass);background:var(--surface-soft-glass);box-shadow:var(--shadow-soft),var(--shadow-glass-inset);-webkit-backdrop-filter:blur(var(--glass-soft-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-soft-blur)) saturate(var(--glass-saturate))}.glass-elevated{border:var(--border-width) solid var(--border-color-glass);background:var(--surface-elevated-glass);box-shadow:var(--shadow-elevated),var(--shadow-glass-inset);-webkit-backdrop-filter:blur(var(--glass-elevated-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-elevated-blur)) saturate(var(--glass-saturate))}.glass-soft-static{border:var(--border-width) solid var(--border-color-glass);background:var(--surface-glass-fallback);box-shadow:var(--shadow-soft),var(--shadow-glass-inset);-webkit-backdrop-filter:none;backdrop-filter:none}.liquid-glass--fallback,.lg-fallback{border-color:var(--border-color-subtle);background:var(--surface-glass-fallback)}.liquid-glass{position:relative;isolation:isolate}.liquid-glass--active{box-shadow:var(--shadow-soft),var(--shadow-glass-inset)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color)!important;outline-offset:3px}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-soft,.glass-elevated,.liquid-glass{border-color:var(--border-color-subtle);background:var(--surface-glass-fallback);box-shadow:var(--shadow-soft)}}.glass-solid{border:var(--border-width) solid var(--border-color-subtle);background:var(--surface-solid);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}@media (width <= 700px){.glass-soft,.glass-elevated,.liquid-glass{background:var(--surface-glass-fallback);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion: reduce){.glass-soft,.glass-elevated,.glass-soft-static,.glass-solid,.liquid-glass{transition:none!important}}@media (forced-colors: active){.glass-soft,.glass-elevated,.glass-soft-static,.glass-solid,.liquid-glass,.liquid-glass--active,.liquid-glass--fallback,.lg-fallback{border:1px solid CanvasText;color:CanvasText;background:Canvas;box-shadow:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.catalog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:8px 4px}.catalog-heading h1{margin:0 0 6px;color:var(--color-heading);font-size:clamp(28px,4vw,36px);letter-spacing:-.025em}.catalog-heading p{margin:0;color:var(--color-text-muted);line-height:1.65}.catalog-heading>span{padding:7px 11px;border:1px solid rgba(191,219,254,.72);border-radius:var(--radius-pill);color:var(--color-brand-deep);background:#eff6ffd1;font-size:13px;font-weight:650;white-space:nowrap}.catalog-filters button,.catalog-pagination button{min-height:44px;padding:8px 15px;border:1px solid var(--border-color-control);border-radius:var(--radius-control);color:var(--color-text);background:var(--surface-solid);font-weight:650;cursor:pointer}.catalog-filters button:disabled,.catalog-pagination button:disabled{cursor:not-allowed;color:var(--color-text-muted);border-color:var(--border-color-control);background:#eef2f7}.catalog-filters button:hover:not(:disabled),.catalog-pagination button:hover:not(:disabled){border-color:var(--border-brand-subtle);color:var(--color-brand-deep);background:var(--surface-brand-subtle-hover)}.catalog-filters{padding:20px;display:grid;align-items:end;gap:14px;border-radius:var(--radius-large);background:var(--surface-glass-fallback)}.catalog-filters label{display:grid;gap:6px;color:var(--color-text);font-size:14px;font-weight:600}.catalog-filters input,.catalog-filters select{min-width:0;min-height:44px;padding:8px 11px;border:1px solid var(--border-color-control);border-radius:var(--radius-control);color:var(--color-heading);background:var(--surface-solid)}.catalog-filters input:focus,.catalog-filters select:focus{border-color:var(--color-brand-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.catalog-filters button[type=submit]{border-color:var(--color-brand-primary);color:#fff;background:var(--color-brand-primary)}.catalog-filters button[type=submit]:hover:not(:disabled){color:#fff;background:var(--color-brand-deep)}.catalog-pagination{width:fit-content;margin:4px auto 0;padding:6px;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:var(--radius-medium);color:var(--color-text)}.catalog-pagination span{padding:0 4px;font-variant-numeric:tabular-nums}.catalog-card{min-width:0;overflow:hidden;transition:transform var(--transition-standard),box-shadow var(--transition-standard)}.catalog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated),var(--shadow-glass-inset)}.publisher-status{display:inline-block;padding:4px 10px;border-radius:var(--radius-pill);color:var(--color-warning);background:#fef3c7;font-size:13px;font-weight:700;white-space:nowrap}.publisher-status.is-pending{color:var(--color-warning);background:#fef3c7}.publisher-status.is-approved{color:var(--color-success);background:#dcfce7}.publisher-status.is-rejected{color:#991b1b;background:#fee2e2}.publisher-status.is-withdrawn{color:#475569;background:#e2e8f0}@media (width <= 700px){.catalog-heading{align-items:flex-start;flex-direction:column}.catalog-pagination{width:100%;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.catalog-card{transition:none}.catalog-card:hover{transform:none}}@media (forced-colors: active){.catalog-filters,.catalog-pagination,.publisher-status{border:1px solid CanvasText;color:CanvasText;background:Canvas}}:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937;background:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.auth-view{min-width:0;padding:38px 40px;border-radius:28px;color:var(--color-text)}.auth-view__heading{margin-bottom:28px}.auth-view__heading h2{margin:0 0 8px;color:var(--color-heading);font-size:clamp(24px,3vw,30px);line-height:1.2;letter-spacing:-.025em}.auth-view__heading p{margin:0;color:var(--color-text-muted);font-size:14px;line-height:1.65}.auth-view__alert{min-height:44px;margin:0 0 20px;padding:11px 14px;border:1px solid var(--border-danger-subtle);border-radius:var(--radius-small);color:var(--color-error);background:var(--surface-danger-subtle);font-size:14px;line-height:1.55}.auth-view__switch{margin:24px 0 0;padding:13px 14px;border:1px solid var(--border-color-subtle);border-radius:var(--radius-medium);color:var(--color-text-muted);text-align:center;background:var(--surface-brand-subtle);font-size:14px}.auth-view__switch a{font-weight:700}.auth-form{display:grid;gap:16px}.auth-form__field{display:grid;gap:6px}.auth-form__field label{color:var(--color-heading);font-size:14px;font-weight:650}.auth-form__input{min-width:0;width:100%;height:48px;padding:0 14px;border:1px solid var(--border-color-control);border-radius:var(--radius-small);color:var(--color-heading);background:var(--surface-solid);box-shadow:inset 0 1px 2px #0f172a08;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.auth-form__input::placeholder{color:#8492a6;opacity:1}.auth-form__input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px #2563eb24,inset 0 1px 2px #0f172a08}.auth-form__input:disabled{color:#64748b;background:#eef2f7;cursor:not-allowed}.auth-form__input[aria-invalid=true]{border-color:var(--color-error);box-shadow:0 0 0 1px #b91c1c1a}.auth-form__password,.auth-form__code{display:flex;gap:8px}.auth-form__password button,.auth-form__code button{flex:0 0 auto;min-width:120px;min-height:48px;padding:0 14px;border:1px solid var(--border-brand-subtle);border-radius:var(--radius-small);color:var(--color-brand-deep);background:var(--surface-brand-subtle);font-weight:650;white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.auth-form__password button:disabled,.auth-form__code button:disabled{cursor:not-allowed;color:#64748b;border-color:#cbd5e1;background:#eef2f7}.auth-form__password button:hover:not(:disabled),.auth-form__code button:hover:not(:disabled){border-color:#60a5fa;background:var(--surface-brand-subtle-hover)}.auth-form__password{position:relative}.auth-form__password .auth-form__input{padding-right:64px}.auth-form__password .auth-form__visibility{position:absolute;top:1px;right:1px;min-width:58px;height:46px;min-height:46px;padding:0 12px;border:0;background:transparent}.auth-form__password .auth-form__visibility:hover:not(:disabled){color:var(--color-brand-deep);background:transparent}.auth-form__error,.auth-form__hint{min-height:18px;font-size:13px}.auth-form__error{color:var(--color-error);line-height:1.45}.auth-form__hint{color:var(--color-success);line-height:1.45}.auth-form__submit{min-height:48px;margin-top:6px;border:0;border-radius:var(--radius-small);color:#fff;background:var(--color-brand-primary);box-shadow:0 8px 18px #2563eb33;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.auth-form__submit:disabled{cursor:wait;color:#ffffffdb;background:#8aaaf1;box-shadow:none}.auth-form__submit:hover:not(:disabled){background:var(--color-brand-deep);box-shadow:0 10px 22px #2563eb42;transform:translateY(-1px)}.auth-form__submit:active:not(:disabled){box-shadow:0 4px 12px #2563eb33;transform:translateY(0)}@media (width < 520px){.auth-view{padding:28px 22px;border-radius:20px}.auth-view__heading{margin-bottom:24px}.auth-view__heading h2{font-size:24px}.auth-view__switch{margin-top:20px}.auth-form__code{display:grid;grid-template-columns:minmax(0,1fr)}.auth-form__code button{width:100%}}@media (width < 360px){.auth-view{padding:26px 18px}}@media (prefers-reduced-motion: reduce){.auth-form__input,.auth-form__code button,.auth-form__submit{transition:none}.auth-form__submit:hover:not(:disabled){transform:none}}@media (forced-colors: active){.auth-form__input,.auth-form__code button,.auth-form__submit{border:1px solid ButtonText;color:ButtonText;background:Canvas;box-shadow:none}.auth-form__submit{color:ButtonText}.auth-view__alert,.auth-view__switch{border:1px solid CanvasText;color:CanvasText;background:Canvas}}
