@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: .375rem;--border-radius-md: .625rem;--border-radius-lg: .875rem;--border-radius-xl: 1.25rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--transition-fast: .18s cubic-bezier(.4, 0, .2, 1);--transition-base: .28s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .08), 0 8px 20px rgba(0, 0, 0, .06)}.theme-dawn{--color-bg-primary: #f9fafb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f0f2f5;--color-bg-hover: #e8eaef;--color-text-primary: #1a1d23;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--color-accent: #4f6df5;--color-accent-hover: #3b5ae0;--color-accent-transparent: rgba(79, 109, 245, .15);--color-success: #10b981;--color-error: #ef4444;--color-border: #e2e5ea;--editor-bg: #ffffff;--header-bg: rgba(255, 255, 255, .85);--card-bg: #ffffff;--card-hover-shadow: 0 8px 30px rgba(79, 109, 245, .08), 0 4px 12px rgba(0, 0, 0, .04);--glow-color: rgba(79, 109, 245, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .08), 0 8px 20px rgba(0, 0, 0, .06)}.theme-midnight{--color-bg-primary: #0f1117;--color-bg-secondary: #1a1d27;--color-bg-tertiary: #252836;--color-bg-hover: #2d3145;--color-text-primary: #f0f2f5;--color-text-secondary: #b0b6c3;--color-text-muted: #6b7280;--color-accent: #6c8cff;--color-accent-hover: #5577ee;--color-accent-transparent: rgba(108, 140, 255, .2);--color-success: #34d399;--color-error: #f87171;--color-border: #2d3145;--editor-bg: #1a1d27;--header-bg: rgba(15, 17, 23, .85);--card-bg: #1a1d27;--card-hover-shadow: 0 8px 30px rgba(108, 140, 255, .1), 0 4px 12px rgba(0, 0, 0, .3);--glow-color: rgba(108, 140, 255, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 6px rgba(0, 0, 0, .2), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .3), 0 4px 10px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .3)}.theme-dracula{--color-bg-primary: #282a36;--color-bg-secondary: #373b4d;--color-bg-tertiary: #44475a;--color-bg-hover: #515575;--color-text-primary: #f8f8f2;--color-text-secondary: #e0dfe8;--color-text-muted: #9d9bb0;--color-accent: #ff79c6;--color-accent-hover: #ff92d0;--color-accent-transparent: rgba(255, 121, 198, .2);--color-success: #50fa7b;--color-error: #ff5555;--color-border: #515575;--editor-bg: #282a36;--header-bg: rgba(40, 42, 54, .85);--card-bg: #373b4d;--card-hover-shadow: 0 8px 30px rgba(255, 121, 198, .1), 0 4px 12px rgba(0, 0, 0, .3);--glow-color: rgba(255, 121, 198, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 6px rgba(0, 0, 0, .2), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .3), 0 4px 10px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .3)}.theme-onedarkpro{--color-bg-primary: #282c34;--color-bg-secondary: #21252b;--color-bg-tertiary: #333842;--color-bg-hover: #3e4451;--color-text-primary: #abb2bf;--color-text-secondary: #98c379;--color-text-muted: #5c6370;--color-accent: #61afef;--color-accent-hover: #528bff;--color-accent-transparent: rgba(97, 175, 239, .2);--color-success: #98c379;--color-error: #e06c75;--color-border: #3e4451;--editor-bg: #282c34;--header-bg: rgba(40, 44, 52, .85);--card-bg: #21252b;--card-hover-shadow: 0 8px 30px rgba(97, 175, 239, .1), 0 4px 12px rgba(0, 0, 0, .3);--glow-color: rgba(97, 175, 239, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 6px rgba(0, 0, 0, .2), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .3), 0 4px 10px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .3)}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background-color var(--transition-smooth),color var(--transition-smooth)}#root{min-height:100vh;display:flex;flex-direction:column}code,pre{font-family:JetBrains Mono,Fira Code,Courier New,Courier,monospace}button{font-family:inherit}a{transition:color var(--transition-fast)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-sm)}@media(min-width:480px){.container{padding:0 var(--spacing-md)}}@media(min-width:768px){.container{padding:0 var(--spacing-xl)}}.app-main{animation:pageEnter .35s cubic-bezier(.16,1,.3,1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-border)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--border-radius-sm)}::selection{background-color:var(--color-accent-transparent);color:var(--color-text-primary)}.theme-switcher{position:relative}.theme-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-family:inherit}.theme-trigger:hover{background-color:var(--color-bg-hover);border-color:var(--color-accent)}.theme-trigger-dots{display:flex;gap:3px;align-items:center}.theme-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.theme-trigger-label{font-size:var(--font-size-sm)}.theme-trigger-arrow{transition:transform var(--transition-fast);opacity:.5}.theme-trigger-arrow.open{transform:rotate(180deg)}.theme-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);padding:4px;z-index:1000;animation:themeDropIn .18s cubic-bezier(.16,1,.3,1)}@keyframes themeDropIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:all var(--transition-fast);text-align:left}.theme-option:hover{background-color:var(--color-bg-tertiary)}.theme-option.active{background-color:var(--color-accent-transparent);color:var(--color-accent)}.theme-option-preview{display:flex;gap:3px}.theme-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.theme-option-label{flex:1;font-weight:500}.theme-option-check{color:var(--color-accent);flex-shrink:0}.global-search-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.global-search-modal{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:600px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.global-search-header{display:flex;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);gap:1rem}.search-icon{width:20px;height:20px;color:var(--color-text-secondary);flex-shrink:0}.global-search-header input{flex:1;border:none;outline:none;font-size:1rem;background:transparent;color:var(--color-text-primary)}.global-search-header input::placeholder{color:var(--color-text-secondary)}.close-btn{background:var(--color-bg-tertiary);border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.close-btn:hover{background:var(--color-accent);color:#fff}.global-search-results{max-height:400px;overflow-y:auto;padding:.5rem}.search-result{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:all .2s}.search-result:hover,.search-result.selected{background:var(--color-accent);color:#fff}.search-result:hover .result-category,.search-result.selected .result-category{background:#fff3;color:#fff}.result-content{flex:1}.result-title{font-weight:600;font-size:.938rem;margin-bottom:.25rem}.result-description{font-size:.813rem;color:var(--color-text-secondary);opacity:.8}.result-category{font-size:.688rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;background:var(--color-bg-tertiary);border-radius:4px;color:var(--color-accent);margin-left:1rem;white-space:nowrap}.no-results{padding:2rem;text-align:center;color:var(--color-text-secondary)}.global-search-footer{display:flex;justify-content:center;gap:1.5rem;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.shortcut-hint{font-size:.75rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.25rem}.shortcut-hint kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;padding:.125rem .375rem;font-family:monospace;font-size:.688rem}@media(max-width:640px){.global-search-modal{margin:1rem;max-height:80vh}.global-search-footer{display:none}}.header{background-color:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border);padding:0;position:sticky;top:0;z-index:100;transition:background-color var(--transition-smooth),border-color var(--transition-smooth)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);height:56px}.header-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);text-decoration:none;transition:all var(--transition-fast);letter-spacing:-.02em}.header-logo:hover{color:var(--color-accent)}.header-logo-icon{font-size:1.3rem;display:flex;align-items:center}.header-logo-text{background:linear-gradient(135deg,var(--color-text-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--border-radius-md);transition:background-color var(--transition-fast);z-index:200}.header-hamburger:hover{background-color:var(--color-bg-tertiary)}.header-hamburger span{display:block;width:20px;height:2px;background-color:var(--color-text-primary);border-radius:2px;transition:all var(--transition-base);transform-origin:center}.header-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.header-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-nav-wrapper{display:flex;align-items:center;gap:var(--spacing-md)}.header-nav{display:flex;align-items:center;gap:2px}.header-actions{display:flex;align-items:center;margin-left:var(--spacing-sm);padding-left:var(--spacing-sm);border-left:1px solid var(--color-border);gap:var(--spacing-sm)}.header-search-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.header-search-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.header-privacy-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--color-text-muted);padding:4px 10px 4px 8px;border-radius:20px;background:#10b98114;border:1px solid rgba(16,185,129,.15);white-space:nowrap;transition:all var(--transition-fast);cursor:default}.header-privacy-badge:hover{background:#10b98124;color:var(--color-text-secondary)}.header-privacy-badge svg{color:#10b981;flex-shrink:0}.header-nav-link{padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--border-radius-md);transition:all var(--transition-fast);font-size:var(--font-size-sm);font-weight:500;position:relative;white-space:nowrap}.header-nav-link:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.header-nav-link.active{color:var(--color-accent);background-color:var(--color-accent-transparent);font-weight:600}@media(max-width:768px){.header-hamburger{display:flex}.header-nav-wrapper{position:fixed;top:56px;left:0;right:0;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-sm);transform:translateY(-120%);opacity:0;transition:transform var(--transition-smooth),opacity var(--transition-base);box-shadow:var(--shadow-lg);z-index:99}.header-nav-wrapper.open{transform:translateY(0);opacity:1}.header-nav{flex-direction:column;width:100%;gap:2px}.header-nav-link{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base)}.header-actions{width:100%;border-left:none;border-top:1px solid var(--color-border);margin-left:0;padding-left:0;padding-top:var(--spacing-sm);justify-content:center}.header-privacy-badge span{display:none}.header-privacy-badge{padding:4px 6px}}.footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-md) 0;margin-top:auto;transition:background-color var(--transition-smooth),border-color var(--transition-smooth)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center}.footer-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-version{font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:.7}@media(min-width:768px){.footer-content{flex-direction:row;justify-content:space-between}}.pwa-prompt{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:9999;animation:pwaSlideUp .5s cubic-bezier(.16,1,.3,1) forwards}.pwa-prompt--leaving{animation:pwaSlideDown .4s cubic-bezier(.55,0,1,.45) forwards}.pwa-prompt__body{position:relative;display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem .65rem 1rem;background:var(--card-bg);border:1px solid var(--color-border);border-radius:100px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;backdrop-filter:blur(16px);white-space:nowrap;overflow:hidden}.pwa-prompt__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent-transparent);color:var(--color-accent);flex-shrink:0}.pwa-prompt__check{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#10b98126;color:var(--color-success);flex-shrink:0}.pwa-prompt__check svg{animation:pwaCheckDraw .4s ease-out forwards}.pwa-prompt__text{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;line-height:1}.pwa-prompt__text strong{color:var(--color-accent);font-weight:700}.pwa-prompt__btn{padding:.4rem 1rem;border:none;border-radius:100px;background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);flex-shrink:0;letter-spacing:.02em}.pwa-prompt__btn:hover{background:var(--color-accent-hover);transform:scale(1.04)}.pwa-prompt__btn:active{transform:scale(.97)}.pwa-prompt__close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0;padding:0}.pwa-prompt__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}@keyframes pwaSlideUp{0%{opacity:0;transform:translate(-50%) translateY(30px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pwaSlideDown{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(30px) scale(.95)}}@keyframes pwaCheckDraw{0%{stroke-dasharray:30;stroke-dashoffset:30;opacity:0}50%{opacity:1}to{stroke-dasharray:30;stroke-dashoffset:0;opacity:1}}@media(max-width:520px){.pwa-prompt{bottom:1rem;left:1rem;right:1rem;transform:none}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pwaSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}.pwa-prompt__body{border-radius:var(--border-radius-lg);padding:.6rem .6rem .6rem .85rem;gap:.5rem}.pwa-prompt__text{font-size:var(--font-size-xs)}}.app{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column}@keyframes spin{to{transform:rotate(360deg)}}
