@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap";:root,[data-theme=light]{color-scheme:light;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #f3f3f5;--color-bg-inverse: #030213;--color-bg-inverse-hover: #1a1a2e;--color-bg-warm: #faf9f7;--color-bg-canvas: #f0eee8;--color-surface-raised: #ffffff;--color-hero-gradient-start: #fdfcfb;--color-hero-gradient-end: #f0ebe3;--color-text-primary: #0a0a0a;--color-text-secondary: #45556c;--color-text-tertiary: #62748e;--color-text-muted: #717182;--color-text-inverse: #ffffff;--color-text-link: #155dfc;--color-text-link-hover: #0e47d1;--color-border-default: #e5e7eb;--color-border-light: rgba(0, 0, 0, .1);--color-border-input: #d1d5db;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-error-border: #fecaca;--color-success: #059669;--color-success-bg: #d1fae5;--color-success-border: #a7f3d0;--color-overlay: rgba(0, 0, 0, .5);--color-header-bg: rgba(255, 255, 255, .85);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-card-hover: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 10px 15px -3px rgba(0, 0, 0, .08);--color-card-bg: #ffffff;--color-card-border: #f0f0f0;--color-card-border-hover: #e5e7eb;--color-card-shine: rgba(255, 255, 255, .6);--color-badge-bg: #eceef2;--color-spinner-track: #f3f4f6;--color-spinner-indicator: #4f46e5;--color-canvas-dot: rgba(0, 0, 0, .05);--color-placeholder: #9ca3af;--color-skeleton-base: #f0f0f0;--color-skeleton-shine: #e0e0e0;--color-grid-line: rgba(0, 0, 0, .04)}[data-theme=dark]{color-scheme:dark;--color-bg-primary: #0f0f14;--color-bg-secondary: #1a1a24;--color-bg-tertiary: #252532;--color-bg-inverse: #ffffff;--color-bg-inverse-hover: #f0f0f0;--color-bg-warm: #16151a;--color-bg-canvas: #1c1b22;--color-surface-raised: #222129;--color-hero-gradient-start: #1a1920;--color-hero-gradient-end: #12111a;--color-text-primary: #f0f0f5;--color-text-secondary: #a0a0b0;--color-text-tertiary: #787890;--color-text-muted: #606070;--color-text-inverse: #0a0a0a;--color-text-link: #60a5fa;--color-text-link-hover: #93c5fd;--color-border-default: #2d2d3a;--color-border-light: rgba(255, 255, 255, .1);--color-border-input: #3d3d4a;--color-error: #f87171;--color-error-bg: #450a0a;--color-error-border: #7f1d1d;--color-success: #34d399;--color-success-bg: #064e3b;--color-success-border: #065f46;--color-overlay: rgba(0, 0, 0, .7);--color-header-bg: rgba(15, 15, 20, .85);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-card-hover: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 10px 15px -3px rgba(0, 0, 0, .4);--color-card-bg: #1a1a24;--color-card-border: #2d2d3a;--color-card-border-hover: #3d3d4a;--color-card-shine: rgba(255, 255, 255, .05);--color-badge-bg: #2d2d3a;--color-spinner-track: #2d2d3a;--color-spinner-indicator: #818cf8;--color-canvas-dot: rgba(255, 255, 255, .08);--color-placeholder: #606070;--color-skeleton-base: #2d2d3a;--color-skeleton-shine: #3d3d4a;--color-grid-line: rgba(255, 255, 255, .03)}:root{--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-bg: rgba(59, 130, 246, .13);--color-accent-focus: rgba(59, 130, 246, .2)}[data-accent=blue]{--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-bg: rgba(59, 130, 246, .13);--color-accent-focus: rgba(59, 130, 246, .2)}[data-accent=violet]{--color-accent: #8b5cf6;--color-accent-hover: #7c3aed;--color-accent-bg: rgba(139, 92, 246, .13);--color-accent-focus: rgba(139, 92, 246, .2)}[data-accent=pink]{--color-accent: #ec4899;--color-accent-hover: #db2777;--color-accent-bg: rgba(236, 72, 153, .13);--color-accent-focus: rgba(236, 72, 153, .2)}[data-accent=amber]{--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-accent-bg: rgba(245, 158, 11, .13);--color-accent-focus: rgba(245, 158, 11, .2)}[data-accent=emerald]{--color-accent: #10b981;--color-accent-hover: #059669;--color-accent-bg: rgba(16, 185, 129, .13);--color-accent-focus: rgba(16, 185, 129, .2)}[data-accent=cyan]{--color-accent: #06b6d4;--color-accent-hover: #0891b2;--color-accent-bg: rgba(6, 182, 212, .13);--color-accent-focus: rgba(6, 182, 212, .2)}[data-accent=red]{--color-accent: #ef4444;--color-accent-hover: #dc2626;--color-accent-bg: rgba(239, 68, 68, .13);--color-accent-focus: rgba(239, 68, 68, .2)}[data-accent=indigo]{--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-bg: rgba(99, 102, 241, .13);--color-accent-focus: rgba(99, 102, 241, .2)}*{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "Source Serif 4", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, sans-serif;--font-mono: "IBM Plex Mono", monospace;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.auth-modal{background:var(--color-card-bg);border-radius:16px;padding:32px;max-width:480px;width:90vw;position:relative}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s}.auth-modal-close:hover{background-color:var(--color-bg-tertiary)}.auth-modal-close img{width:20px;height:20px}.auth-modal-header{margin-bottom:24px;padding-right:2.5rem}.auth-modal-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.auth-modal-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.auth-modal-form{display:flex;flex-direction:column;gap:20px}.auth-modal-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5}.auth-modal-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5}.auth-modal-field{display:flex;flex-direction:column;gap:8px}.auth-modal-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.auth-modal-input{padding:12px 16px;border:1px solid var(--color-border-default);border-radius:8px;font-size:14px;font-family:inherit;background-color:var(--color-card-bg);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.auth-modal-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}.auth-modal-input:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed}.auth-modal-submit{background-color:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;font-family:inherit}.auth-modal-submit:hover:not(:disabled){background-color:var(--color-accent-hover)}.auth-modal-submit:disabled{background-color:var(--color-text-muted);cursor:not-allowed}.auth-modal-divider{display:flex;align-items:center;text-align:center;margin:8px 0}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-default)}.auth-modal-divider span{padding:0 12px;font-size:12px;color:var(--color-placeholder);text-transform:uppercase;font-weight:500}.auth-modal-switch{background:none;border:none;color:var(--color-accent);font-size:14px;cursor:pointer;padding:8px;font-family:inherit;transition:color .2s}.auth-modal-switch:hover:not(:disabled){color:var(--color-accent-hover);text-decoration:underline}.auth-modal-switch:disabled{color:var(--color-placeholder);cursor:not-allowed}.auth-modal-oauth{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s;font-family:inherit}.auth-oauth-btn:hover:not(:disabled){transform:translateY(-1px)}.auth-oauth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-oauth-icon{width:20px;height:20px;flex-shrink:0}.auth-oauth-btn-google{background-color:#fff;border:1px solid var(--color-border-default);color:#1f2937}.auth-oauth-btn-google:hover:not(:disabled){background-color:#f9fafb;border-color:var(--color-border-hover)}.auth-oauth-btn-github{background-color:#24292f;border:1px solid #24292f;color:#fff}.auth-oauth-btn-github:hover:not(:disabled){background-color:#32383f;border-color:#32383f}.auth-oauth-btn-github .auth-oauth-icon{filter:brightness(0) invert(1)}@media(max-width:640px){.auth-modal{padding:24px;max-width:100%}.auth-modal-title{font-size:20px}.auth-modal-description{font-size:13px}}.profile-modal{background:var(--color-card-bg);border-radius:16px;padding:32px;max-width:480px;width:90vw;position:relative}.profile-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s}.profile-modal-close:hover{background-color:var(--color-bg-tertiary)}.profile-modal-close img{width:20px;height:20px}.profile-modal-header{margin-bottom:24px;padding-right:2.5rem}.profile-modal-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0}.profile-modal-content{display:flex;flex-direction:column;gap:24px}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--color-border-default)}.profile-avatar-placeholder{width:80px;height:80px;border-radius:50%;background-color:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.profile-avatar-hint{font-size:12px;color:var(--color-text-tertiary);margin:0}.profile-modal-form{display:flex;flex-direction:column;gap:16px}.profile-modal-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5}.profile-modal-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5}.profile-form-field{display:flex;flex-direction:column;gap:6px}.profile-form-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.profile-form-input{padding:12px 16px;border:1px solid var(--color-border-default);border-radius:8px;font-size:14px;font-family:inherit;background-color:var(--color-card-bg);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.profile-form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}.profile-form-input:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed}.profile-form-value{font-size:14px;color:var(--color-text-secondary);margin:0;padding:8px 0}.profile-modal-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.profile-save-btn{background-color:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;font-family:inherit}.profile-save-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.profile-save-btn:disabled{background-color:var(--color-text-muted);cursor:not-allowed}.profile-signout-btn{background:none;border:1px solid var(--color-border-default);color:var(--color-text-secondary);padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;font-family:inherit}.profile-signout-btn:hover{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}@media(min-width:640px){.profile-modal-actions{flex-direction:row;justify-content:flex-end}.profile-save-btn,.profile-signout-btn{width:auto}}.visibility-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;font-family:inherit;border:1px solid transparent}.visibility-toggle:disabled{opacity:.6;cursor:not-allowed}.visibility-toggle-icon{display:flex;align-items:center;justify-content:center}.visibility-toggle-label{line-height:1}.visibility-toggle.is-private{background-color:var(--color-bg-tertiary);border-color:var(--color-border-default);color:var(--color-text-secondary)}.visibility-toggle.is-private:hover:not(:disabled){background-color:var(--color-bg-secondary);border-color:var(--color-border-hover)}.visibility-toggle.is-public{background-color:#10b9811a;border-color:#10b9814d;color:#10b981}.visibility-toggle.is-public:hover:not(:disabled){background-color:#10b98126;border-color:#10b98180}[data-theme=dark] .visibility-toggle.is-public{background-color:#10b98126;color:#34d399}[data-theme=dark] .visibility-toggle.is-public:hover:not(:disabled){background-color:#10b98133}.theme-toggle{position:relative}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:.5rem;cursor:pointer;transition:background-color .2s,border-color .2s}.theme-toggle-btn:hover{background-color:var(--color-border-default)}.theme-toggle-btn:focus{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus)}.theme-toggle-icon{width:1.25rem;height:1.25rem;color:var(--color-text-secondary)}[data-theme=dark] .theme-toggle-icon{filter:brightness(0) invert(1)}.theme-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background-color:var(--color-card-bg);border:1px solid var(--color-border-default);border-radius:.75rem;padding:1rem;min-width:200px;box-shadow:var(--shadow-lg);z-index:200}.theme-section{display:flex;flex-direction:column;gap:.5rem}.theme-section+.theme-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.theme-section-label{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.theme-mode-toggle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary);transition:background-color .2s}.theme-mode-toggle:hover{background-color:var(--color-border-default)}.theme-mode-toggle:focus{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus)}.theme-mode-toggle img{width:1rem;height:1rem;color:var(--color-text-secondary)}.accent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.accent-btn{width:2rem;height:2rem;border-radius:.5rem;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s}.accent-btn:hover{transform:scale(1.1)}.accent-btn:focus{outline:none}.accent-btn.selected{box-shadow:0 0 0 2px var(--color-bg-primary),0 0 0 4px var(--color-text-secondary)}@media(min-width:768px){.theme-dropdown{min-width:220px}}.header{background-color:var(--color-header-bg);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:box-shadow .3s ease}.header.scrolled{box-shadow:var(--shadow-md)}.header-container{display:flex;align-items:center;justify-content:space-between;padding:1rem;max-width:1536px;margin:0 auto}.header-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.header-logo-container{position:relative;display:flex;align-items:center;justify-content:center}.header-logo{width:2rem;height:2rem;flex-shrink:0;position:relative;z-index:1;transition:transform .3s cubic-bezier(.4,0,.2,1)}.header-logo-glow{position:absolute;inset:-4px;background:var(--color-accent);border-radius:50%;opacity:0;filter:blur(8px);transition:opacity .3s ease}.header-brand:hover .header-logo{transform:scale(1.05)}.header-brand:hover .header-logo-glow{opacity:.3}.header-text{display:flex;flex-direction:column;gap:0}.header-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;line-height:1.3;color:var(--color-text-primary);margin:0;letter-spacing:-.01em}.header-title-accent{color:var(--color-accent);font-weight:700}.header-subtitle{font-family:var(--font-body);font-size:.75rem;font-weight:400;line-height:1.4;color:var(--color-text-tertiary);margin:0;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:.75rem}.header-nav-link{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:.5rem;transition:color .2s ease,background-color .2s ease}.header-nav-link:hover{color:var(--color-text-primary);background-color:var(--color-surface-hover)}.header-nav-link-active,.header-nav-link-active:hover{color:var(--color-accent);background-color:var(--color-accent-bg)}.header-nav-icon{width:1rem;height:1rem;opacity:.7}.header-nav-link:hover .header-nav-icon,.header-nav-link-active .header-nav-icon{opacity:1}.header-mode-btn{background-color:var(--color-bg-inverse);color:var(--color-text-inverse);border:none;border-radius:.625rem;padding:.5rem .875rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-body);font-size:.8125rem;font-weight:500;line-height:1.25rem;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.header-mode-btn:hover{background-color:var(--color-bg-inverse-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.header-mode-btn:active{transform:translateY(0)}.header-mode-icon{width:1rem;height:1rem;filter:brightness(0) invert(1)}[data-theme=dark] .header-mode-icon{filter:brightness(0)}.header-user-avatar{width:1.5rem;height:1.5rem;border-radius:50%;object-fit:cover}@media(min-width:768px){.header-container{padding:1.25rem 2rem}.header-brand{gap:1rem}.header-logo{width:2.5rem;height:2.5rem}.header-logo-glow{inset:-6px}.header-title{font-size:1.375rem}.header-subtitle{font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.header-logo,.header-logo-glow,.header-mode-btn{transition:none}}.modal-overlay{position:fixed;inset:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{position:relative;width:100%;max-width:512px;max-height:90vh;overflow-y:auto}@media(min-width:768px){.modal-overlay{padding:2rem}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%)}.error-boundary-content{background:var(--color-card-bg);border-radius:1rem;padding:2rem;max-width:600px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.error-icon{font-size:4rem;margin-bottom:1rem}.error-boundary h1{font-size:1.5rem;margin-bottom:1rem;color:var(--color-text-primary)}.error-message{color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.error-details{margin:1.5rem 0;text-align:left;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:.5rem;padding:1rem}.error-details summary{cursor:pointer;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem}.error-details pre{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.error-actions button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-accent-focus)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.btn-secondary:hover{background:var(--color-border-default);transform:translateY(-2px)}@media(max-width:768px){.error-boundary-content{padding:1.5rem}.error-icon{font-size:3rem}.error-boundary h1{font-size:1.25rem}.error-actions{flex-direction:column}.error-actions button{width:100%}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.spinner{border:3px solid var(--color-border-light);border-top:3px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner--small .spinner{width:20px;height:20px;border-width:2px}.loading-spinner--medium .spinner{width:40px;height:40px;border-width:3px}.loading-spinner--large .spinner{width:60px;height:60px;border-width:4px}.loading-text{color:var(--color-text-muted);font-size:.875rem;margin:0;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.loading-spinner{padding:1.5rem}.loading-text{font-size:.8125rem}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-wrapper{pointer-events:none}.skeleton-wrapper>*{background:linear-gradient(90deg,var(--color-skeleton-base) 0%,var(--color-skeleton-shine) 20%,var(--color-skeleton-base) 40%,var(--color-skeleton-base) 100%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:.5rem}.topic-card-skeleton{background:var(--color-surface-raised);border:1px solid var(--color-card-border);border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;min-height:250px;overflow:hidden}.skeleton-header{display:flex;justify-content:space-between;align-items:flex-start}.skeleton-icon{width:48px;height:48px;border-radius:.75rem}.skeleton-badge{width:64px;height:24px;border-radius:.5rem}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.skeleton-title{height:1.375rem;width:70%;border-radius:.375rem}.skeleton-description{height:1rem;width:100%;border-radius:.25rem}.skeleton-description.short{width:60%}.skeleton-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--color-border-default)}.skeleton-link{height:1rem;width:100px;border-radius:.25rem}.skeleton-stat{height:1rem;width:80px;border-radius:.25rem}.node-skeleton{background:var(--color-surface-raised);border:1px solid var(--color-card-border);border-radius:.75rem;padding:1rem;box-shadow:var(--shadow-md);min-width:200px;max-width:300px;display:flex;flex-direction:column;gap:.75rem}.skeleton-node-title{height:1.25rem;width:75%;border-radius:.375rem}.skeleton-node-description{height:.875rem;width:100%;border-radius:.25rem}.skeleton-node-description.short{width:50%}.skeleton-node-footer{height:.75rem;width:60px;margin-top:.5rem;border-radius:.25rem}@media(max-width:768px){.topic-card-skeleton{min-height:220px;padding:1.25rem}.skeleton-icon{width:40px;height:40px}.node-skeleton{min-width:180px}}@media(prefers-reduced-motion:reduce){.skeleton-wrapper>*{animation:none;background:var(--color-skeleton-base)}}.search-bar{position:relative;display:flex;align-items:center;width:100%;max-width:400px;background:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:.75rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .3s cubic-bezier(.4,0,.2,1),transform .2s ease}.search-bar:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus),0 4px 12px -2px #0000001a;transform:scale(1.01)}.search-icon{width:18px;height:18px;margin-right:.75rem;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .3s ease}.search-bar:focus-within .search-icon{transform:rotate(-8deg) scale(1.1)}[data-theme=dark] .search-icon{filter:brightness(0) invert(1)}.search-input{flex:1;border:none;outline:none;font-family:var(--font-body);font-size:.9375rem;color:var(--color-text-primary);background:transparent}.search-input::placeholder{color:var(--color-placeholder)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{background:none;border:none;color:var(--color-text-tertiary);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;margin-left:.5rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .2s ease,color .2s ease,transform .2s ease}.search-clear:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:scale(1.1)}.search-clear:active{transform:scale(.95)}@media(min-width:768px){.search-bar{max-width:500px}}@media(min-width:1024px){.search-bar{max-width:600px}}@media(prefers-reduced-motion:reduce){.search-bar,.search-icon,.search-clear{transition:none}.search-bar:focus-within{transform:none}.search-bar:focus-within .search-icon{transform:none}}.filter-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--color-text-tertiary);white-space:nowrap}.filter-select{padding:.5rem 2.25rem .5rem .875rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:.625rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.filter-select:hover{border-color:var(--color-border-input);background-color:var(--color-bg-warm)}.filter-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}@media(min-width:768px){.filter-controls{gap:1.5rem}}@media(prefers-reduced-motion:reduce){.filter-select{transition:none}}.not-found-page{min-height:100vh;background-color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;padding:1rem}.not-found-content{text-align:center;max-width:600px}.not-found-title{font-family:var(--font-display);font-size:4rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.not-found-message{font-family:var(--font-body);font-size:1.5rem;font-weight:400;color:var(--color-text-secondary);margin:0 0 2rem}.not-found-link{display:inline-block;background-color:var(--color-bg-inverse);color:var(--color-text-inverse);text-decoration:none;padding:.75rem 1.5rem;border-radius:.5rem;font-family:var(--font-body);font-size:1rem;font-weight:400;transition:background-color .2s}.not-found-link:hover{background-color:var(--color-bg-inverse-hover)}@media(min-width:768px){.not-found-title{font-size:6rem}.not-found-message{font-size:2rem}}.form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-label .required{color:var(--color-error);margin-left:.25rem}.form-input{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border-input);border-radius:.5rem;font-size:.875rem;background-color:var(--color-card-bg);color:var(--color-text-primary);transition:all .2s}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}.form-input-error{border-color:var(--color-error)}.form-input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.error-message{font-size:.75rem;color:var(--color-error);margin-top:-.25rem}.form-input::placeholder{color:var(--color-placeholder)}.form-textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border-input);border-radius:.5rem;font-size:.875rem;font-family:inherit;resize:vertical;background-color:var(--color-card-bg);color:var(--color-text-primary);transition:all .2s;min-height:80px}.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus)}.form-textarea-error{border-color:var(--color-error)}.form-textarea-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-textarea::placeholder{color:var(--color-placeholder)}.color-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:.75rem;max-width:400px}.color-option{width:40px;height:40px;border-radius:.5rem;border:2px solid transparent;cursor:pointer;transition:all .2s;position:relative}.color-option:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.color-option.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 3px var(--color-accent-focus)}.color-option.selected:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.checkbox-field{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.form-checkbox{width:1rem;height:1rem;border-radius:.25rem;border:1px solid var(--color-border-input);cursor:pointer;transition:all .2s}.form-checkbox:hover{border-color:var(--color-accent)}.form-checkbox:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.form-checkbox:focus{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus)}.checkbox-label{font-size:.875rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}
