*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-outline{background-color:initial;border:1px solid #dee2e6;color:#495057}.btn-outline:hover{background-color:#e9ecef}input,select,textarea{border:1px solid #ced4da;border-radius:.375rem;font-family:inherit;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}label{color:#495057;display:block;font-weight:500;margin-bottom:.25rem}.loading{align-items:center;color:#6c757d;display:flex;font-size:1.1rem;justify-content:center;padding:2rem}.loading:after{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;content:"";height:20px;margin-left:10px;width:20px}@media (max-width:768px){.container{padding:0 .75rem}.btn{font-size:.875rem;padding:.75rem 1rem}}.lang-toggle{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;height:36px;justify-content:center;letter-spacing:.04em;transition:all var(--transition-fast);width:36px}.lang-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-border-medium);color:var(--color-text-primary)}.lang-toggle:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}:root[data-theme=dark] .lang-toggle{background:var(--color-bg-tertiary);border-color:var(--color-border-light)}:root[data-theme=dark] .lang-toggle:hover{background:var(--color-bg-active)}.theme-toggle{background:none;border:none;border-radius:20px;cursor:pointer;overflow:hidden;padding:4px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:hover{background:#ffffff1a;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle-track{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border:2px solid #ffffff4d;border-radius:20px;box-shadow:inset 0 2px 4px #0000001a;height:28px;position:relative;width:56px}.theme-toggle-thumb,.theme-toggle-track{transition:all .4s cubic-bezier(.4,0,.2,1)}.theme-toggle-thumb{align-items:center;background:#fff;border:1px solid #fffc;border-radius:50%;box-shadow:0 4px 12px #00000026;display:flex;height:24px;justify-content:center;left:2px;position:absolute;top:2px;width:24px}.theme-toggle-thumb.dark{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 4px 12px #00000040;transform:translateX(28px)}.theme-toggle-thumb.light{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px #fbbf244d;transform:translateX(0)}.theme-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));font-size:14px;line-height:1;transition:all .3s ease}.theme-toggle-track:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);border-color:#fff6;box-shadow:inset 0 2px 4px #00000026}.theme-toggle-thumb:hover{box-shadow:0 6px 16px #0003;transform:scale(1.1)}.theme-toggle-thumb.dark:hover{box-shadow:0 6px 16px #0000004d;transform:translateX(28px) scale(1.1)}.theme-toggle-thumb.light:hover{box-shadow:0 6px 16px #fbbf2466;transform:translateX(0) scale(1.1)}.theme-toggle-track.dark{background:linear-gradient(135deg,#374151,#1f2937);border-color:#ffffff1a}.theme-toggle-track.dark:hover{background:linear-gradient(135deg,#4b5563,#374151)}@media (max-width:768px){.theme-toggle-track{height:26px;width:50px}.theme-toggle-thumb{height:22px;width:22px}.theme-toggle-thumb.dark{transform:translateX(24px)}.theme-toggle-thumb.dark:hover{transform:translateX(24px) scale(1.1)}.theme-icon{font-size:12px}}.theme-toggle:focus-visible{outline:2px solid #667eea;outline-offset:2px}@keyframes themeTransition{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.theme-toggle-thumb.animating{animation:themeTransition .3s ease-in-out}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--color-bg-glass);border-bottom:1px solid var(--color-border-light);height:56px;position:sticky;top:0;z-index:var(--z-sticky)}.header-inner{gap:24px;height:100%;margin:0 auto;max-width:900px;padding:0 24px}.header-inner,.logo{align-items:center;display:flex}.logo{color:inherit;flex-shrink:0;gap:10px;text-decoration:none}.logo-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.logo-title{color:var(--color-text-primary);font-size:16px;font-weight:700;letter-spacing:-.01em}.nav-desktop{align-items:center;display:flex;flex:1 1;gap:4px;justify-content:center}.nav-link{border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-weight:500;padding:6px 16px;text-decoration:none;transition:all var(--transition-fast)}.nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-link.active{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:600}.header-controls{align-items:center;display:flex;flex-shrink:0;gap:8px}.mobile-tabs{display:none}@media (max-width:768px){.header-inner{padding:0 16px}.logo-title,.nav-desktop{display:none}.mobile-tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--color-bg-glass);border-top:1px solid var(--color-border-light);bottom:0;display:flex;height:56px;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:var(--z-sticky)}.App.has-player .mobile-tabs,.App.has-player~.mobile-tabs{bottom:64px}.tab{align-items:center;color:var(--color-text-tertiary);display:flex;flex:1 1;flex-direction:column;font-size:10px;gap:2px;justify-content:center;text-decoration:none;transition:color var(--transition-fast)}.tab.active{color:var(--color-primary-600)}.tab-icon{font-size:18px}.tab-label{font-weight:500}.App .main-content{padding-bottom:56px}.App.has-player .main-content{padding-bottom:120px}}:root[data-theme=dark] .header{background:#0f172ae6;border-bottom-color:var(--color-border-light)}:root[data-theme=dark] .nav-link.active{background:#0ea5e91a;color:var(--color-primary-400)}:root[data-theme=dark] .mobile-tabs{background:#0f172ae6;border-top-color:var(--color-border-light)}:root[data-theme=dark] .tab.active{color:var(--color-primary-400)}@media (prefers-reduced-motion:reduce){.nav-link,.tab{transition:none}}.logo:focus-visible,.nav-link:focus-visible,.tab:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}:root{--color-primary-50:#f0f9ff;--color-primary-100:#e0f2fe;--color-primary-200:#bae6fd;--color-primary-300:#7dd3fc;--color-primary-400:#38bdf8;--color-primary-500:#0ea5e9;--color-primary-600:#0284c7;--color-primary-700:#0369a1;--color-primary-800:#075985;--color-primary-900:#0c4a6e;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#06b6d4;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-card:#fff;--color-bg-hover:#f8fafc;--color-bg-active:#e2e8f0;--color-bg-glass:#fffffff2;--color-bg-overlay:#00000080;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-text-accent:var(--color-primary-600);--color-border-light:#e2e8f0;--color-border-medium:#cbd5e1;--color-border-strong:#94a3b8;--color-border-accent:var(--color-primary-500);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-family-mono:"JetBrains Mono","Fira Code","Monaco",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}:root[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-card:#1e293b;--color-bg-hover:#334155;--color-bg-active:#475569;--color-bg-glass:#1e293bf2;--color-bg-overlay:#000000b3;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-text-muted:#64748b;--color-text-inverse:#0f172a;--color-border-light:#334155;--color-border-medium:#475569;--color-border-strong:#64748b}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}body{background-color:#fff;background-color:var(--color-bg-primary);color:#0f172a;color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-sans);font-size:1rem;font-size:var(--text-base);transition:background-color .25s ease,color .25s ease;transition:background-color var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--color-gray-300);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--color-gray-400)}:focus-visible{border-radius:.125rem;border-radius:var(--radius-sm);outline:2px solid #0ea5e9;outline:2px solid var(--color-primary-500);outline-offset:2px}::selection{background-color:#e0f2fe;background-color:var(--color-primary-100);color:#0c4a6e;color:var(--color-primary-900)}.App{background:#fff;background:var(--color-bg-primary);display:flex;flex-direction:column;min-height:100vh}.App.has-player .main-content{padding-bottom:72px}.main-content{flex:1 1;overflow-y:auto}.main-content-inner{margin:0 auto;max-width:900px;padding:0 24px}@media (max-width:768px){.App.has-player .main-content{padding-bottom:64px}.main-content-inner{padding:0 16px}}@media (max-width:480px){.main-content-inner{padding:0 12px}}@supports (padding:max(0px)){@media (max-width:768px){.main-content-inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}}.loading-placeholder{align-items:center;color:#64748b;color:var(--color-text-tertiary);display:flex;font-size:14px;justify-content:center;padding:20px}.loading-placeholder:before{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-top:2px solid #0ea5e9;border:2px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-primary-500);content:"";height:16px;margin-right:8px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--color-border-light:#000;--color-border-medium:#000;--color-border-strong:#000}}
/*# sourceMappingURL=main.4f0da499.css.map*/