*{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: .4rem;--border-radius-md: .7rem;--border-radius-lg: .95rem;--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-xs: 0 1px 2px rgba(19, 24, 47, .04);--shadow-sm: 0 1px 3px rgba(19, 24, 47, .06), 0 4px 12px rgba(19, 24, 47, .03);--shadow-md: 0 8px 24px rgba(19, 24, 47, .08);--shadow-lg: 0 14px 40px rgba(19, 24, 47, .1);--shadow-xl: 0 24px 64px rgba(19, 24, 47, .13);--shadow-2xl: 0 30px 90px rgba(19, 24, 47, .17)}.theme-dawn{--color-bg-primary: #f7f7f5;--color-bg-secondary: #fbfbfa;--color-bg-tertiary: #eeefed;--color-bg-elevated: #ffffff;--color-bg-hover: #e7e8e5;--color-text-primary: #171927;--color-text-secondary: #555a6d;--color-text-muted: #878b99;--color-accent: #5657d9;--color-accent-hover: #4445c2;--color-accent-transparent: rgba(86, 87, 217, .18);--color-accent-soft: rgba(86, 87, 217, .075);--color-success: #138a63;--color-warning: #d99024;--color-error: #ef4444;--color-border: #e2e3e0;--color-border-strong: #d4d6d2;--editor-bg: #ffffff;--header-bg: rgba(251, 251, 250, .88);--card-bg: #ffffff;--card-hover-shadow: 0 16px 40px rgba(22, 25, 47, .1);--glow-color: rgba(86, 87, 217, .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-elevated: #20232f;--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-accent-soft: rgba(108, 140, 255, .1);--color-success: #34d399;--color-error: #f87171;--color-border: #2d3145;--color-border-strong: #3b4058;--color-warning: #f59e0b;--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-elevated: #3b3f52;--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-accent-soft: rgba(255, 121, 198, .1);--color-success: #50fa7b;--color-error: #ff5555;--color-border: #515575;--color-border-strong: #676c90;--color-warning: #f1fa8c;--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-elevated: #292e36;--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-accent-soft: rgba(97, 175, 239, .1);--color-success: #98c379;--color-error: #e06c75;--color-border: #3e4451;--color-border-strong: #525a6b;--color-warning: #e5c07b;--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,ui-sans-serif,-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.55;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}button,input,select,textarea{font:inherit}img,svg{max-width:100%}a{transition:color var(--transition-fast)}.container{width:100%;max-width:1240px;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 2.25rem}}.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}.header{background-color:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid color-mix(in srgb,var(--color-border) 82%,transparent);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:64px}.header-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.05rem;font-weight:760;color:var(--color-text-primary);text-decoration:none;transition:all var(--transition-fast);letter-spacing:-.03em}.header-logo:hover{color:var(--color-accent)}.header-logo-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:.7rem;color:#fff;background:var(--color-accent);box-shadow:0 6px 16px var(--color-accent-transparent)}.header-logo-text{color:var(--color-text-primary)}.header-logo-tag{padding:2px 6px;border-radius:999px;color:var(--color-text-muted);background:var(--color-bg-tertiary);font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.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:.65rem}.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:color-mix(in srgb,var(--color-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 18%,transparent);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{min-height:38px;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;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-soft);font-weight:600}@media(max-width:768px){.header{background-color:var(--color-bg-primary);backdrop-filter:none;-webkit-backdrop-filter:none}.header-hamburger{display:flex;width:44px;height:44px}.header-nav-wrapper{position:fixed;top:64px;left:0;right:0;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-direction:column;padding:.8rem 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));gap:var(--spacing-sm);transform:translateY(-120%);opacity:0;visibility:hidden;pointer-events:none;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;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;visibility:visible;pointer-events:auto}.header-nav{flex-direction:column;width:100%;gap:2px}.header-nav-link{width:100%;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base)}.header-logo-tag{display:none}.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-actions button{min-height:44px}.header-privacy-badge span{display:none}.header-privacy-badge{padding:4px 6px}}.footer{margin-top:auto;padding:4rem 0 1.5rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.footer-grid{display:grid;grid-template-columns:minmax(260px,1.6fr) 1fr 1fr;gap:clamp(2rem,6vw,5rem);padding-bottom:3rem}.footer-logo{display:inline-flex;align-items:center;gap:.55rem;color:var(--color-text-primary);font-size:1rem;font-weight:760;letter-spacing:-.03em;text-decoration:none}.footer-logo>span{width:31px;height:31px;display:grid;place-items:center;border-radius:.6rem;color:#fff;background:var(--color-accent)}.footer-brand>p{max-width:380px;margin:1rem 0;color:var(--color-text-secondary);font-size:.85rem;line-height:1.65}.footer-private{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-success);font-size:.72rem;font-weight:700}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-links h2{margin-bottom:.25rem;color:var(--color-text-muted);font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.footer-links a{color:var(--color-text-secondary);font-size:.82rem;text-decoration:none}.footer-links a:hover{color:var(--color-accent)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.7rem}@media(max-width:680px){.footer{padding-top:3rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column}}@media(max-width:420px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-brand{grid-column:auto}.footer-links{gap:.2rem}.footer-links a{min-height:44px;display:flex;align-items:center}}.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:calc(1rem + env(safe-area-inset-bottom));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{display:grid;grid-template-columns:32px minmax(0,1fr) 44px;align-items:center;border-radius:var(--border-radius-lg);padding:.6rem .6rem .6rem .85rem;gap:.5rem;white-space:normal;overflow:visible;background:var(--color-bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none}.pwa-prompt__text{font-size:var(--font-size-xs);line-height:1.35;min-width:0;overflow-wrap:anywhere}.pwa-prompt__btn{grid-column:2;min-height:44px;width:100%}.pwa-prompt__close{grid-column:3;grid-row:1;width:44px;height:44px}.pwa-prompt--installed .pwa-prompt__body{grid-template-columns:32px minmax(0,1fr)}}@media(max-width:520px){body:has(.lk-language-prompt) .pwa-prompt{bottom:calc(11rem + env(safe-area-inset-bottom))}}.app{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column}.app--workspace{height:100vh;height:100dvh;overflow:hidden}.app--workspace .app-main{min-height:0}@media(max-width:767px){.app--workspace{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app--workspace .app-main{min-height:0;overflow:visible}}@keyframes spin{to{transform:rotate(360deg)}}
