html,body,#root{height:100%;overflow:hidden}:root{color-scheme:dark light;font-family:Manrope,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background: #09090d;--surface-strong: #13131a;--surface-muted: #1a1a23;--surface-muted-hover: #22222f;--surface-user: #1f1f2c;--surface-assistant: #161620;--topbar-bg: rgba(9, 9, 13, .94);--text-primary: #f5f5fa;--text-secondary: #b8b8c9;--text-muted: #8c8ca3;--accent: #8b5cf6;--accent-strong: #7c3aed;--accent-soft: rgba(139, 92, 246, .16);--border-soft: #2b2b3a;--border-strong: #3a3a4c;--danger: #fda4af;--success: #86efac;--radius-xl: 22px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 10px;--radius-pill: 999px;--transition-default: .16s ease;--shadow-soft: 0 18px 42px rgba(0, 0, 0, .35);--surface-primary: var(--surface-strong);--surface-secondary: var(--surface-muted);--chat-user-bg: var(--surface-user);--chat-assistant-bg: var(--surface-assistant);--border: var(--border-soft)}@media (prefers-color-scheme: light){:root{--background: #f5f5f8;--surface-strong: #ffffff;--surface-muted: #f0f0f5;--surface-muted-hover: #e8e8ef;--surface-user: #ece9ff;--surface-assistant: #f7f7fb;--topbar-bg: rgba(245, 245, 248, .95);--text-primary: #161622;--text-secondary: #4c4c62;--text-muted: #71718a;--accent: #6d28d9;--accent-strong: #5b21b6;--accent-soft: rgba(109, 40, 217, .14);--border-soft: #dfdfea;--border-strong: #c8c8d8;--danger: #be123c;--success: #047857;--surface-primary: var(--surface-strong);--surface-secondary: var(--surface-muted);--chat-user-bg: var(--surface-user);--chat-assistant-bg: var(--surface-assistant);--border: var(--border-soft)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background);color:var(--text-primary)}#root{width:100%}a,button,textarea,input{font-family:inherit}button{cursor:pointer}::selection{background:color-mix(in srgb,var(--accent) 34%,transparent)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;border:1px solid transparent;font-size:.9rem;font-weight:600;line-height:1;transition:background var(--transition-default),border-color var(--transition-default),color var(--transition-default),transform var(--transition-default)}.ui-button--full{width:100%}.ui-button--primary{color:#fff;border-color:color-mix(in srgb,var(--accent) 65%,transparent);background:var(--accent)}.ui-button--primary:hover:not(:disabled){transform:translateY(-1px)}.ui-button--primary:disabled{opacity:.6;cursor:not-allowed}.ui-button--ghost{border-color:var(--border-soft);background:var(--surface-muted);color:var(--text-primary)}.ui-button--ghost:hover:not(:disabled){background:var(--surface-muted-hover);border-color:var(--border-strong)}.ui-button--ghost:disabled{opacity:.6;cursor:not-allowed}.ui-icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-primary);transition:background var(--transition-default),border-color var(--transition-default),transform var(--transition-default)}.ui-icon-button:hover:not(:disabled){background:var(--surface-muted-hover);border-color:var(--border-strong)}.ui-icon-button:disabled{opacity:.6;cursor:not-allowed}.ui-input-field{display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:.9rem}.ui-input-field__label{font-weight:500}.ui-input-field__control{height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-primary);font-size:1rem;transition:border-color var(--transition-default),box-shadow var(--transition-default),background var(--transition-default)}.ui-input-field__control:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent);outline:none}.ui-input-field__error{color:var(--danger);font-size:.82rem}.ui-input-field__helper{color:var(--text-secondary);font-size:.82rem}.ui-card{background:var(--surface-strong);border-radius:var(--radius-xl);padding:clamp(20px,2.8vw,28px);border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-soft)}.ui-card--accent{background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong))}.ui-spinner{border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent);animation:ui-spinner-spin .8s linear infinite;display:inline-block}@keyframes ui-spinner-spin{to{transform:rotate(360deg)}}.ui-textarea{width:100%;border-radius:16px;border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-primary);font-size:1rem;line-height:1.55;padding:14px;resize:vertical;min-height:128px;transition:border-color var(--transition-default),box-shadow var(--transition-default),background var(--transition-default)}.ui-textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent);outline:none}@media (max-width: 600px){.ui-textarea{min-height:114px;padding:12px}}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);background:var(--surface-muted);border-radius:14px;padding:4px;border:1px solid var(--border-soft);gap:6px}.auth-toggle__button{box-shadow:none;width:100%;height:36px;font-size:.86rem}.auth-toggle__button--active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-primary)}.auth-toggle__button:not(.auth-toggle__button--active){color:var(--text-secondary)}.auth-toggle__button:not(.auth-toggle__button--active):hover{color:var(--text-primary)}.auth-card{width:min(390px,100%)}.auth-form__google{display:flex;align-items:center;justify-content:center;gap:12px}.auth-form__divider{flex:1;height:1px;background:var(--border-soft);max-width:120px}.auth-form__google .ui-icon-button{flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form__forgot{align-self:flex-end;border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:.84rem}.auth-form__forgot:hover{color:var(--text-primary)}.auth-form__alert{padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:.9rem}.auth-form__switch{margin:0;text-align:center;font-size:.9rem;color:var(--text-secondary)}.auth-form__switch button{border:none;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.forgot-password-card{width:min(380px,100%);display:flex;flex-direction:column;gap:20px}.forgot-password__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.forgot-password__description{margin:0;color:var(--text-secondary);font-size:.95rem}.forgot-password__form{display:flex;flex-direction:column;gap:16px}.forgot-password__actions{display:flex;flex-direction:column;gap:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.language-picker{position:relative;display:inline-flex}.language-picker__trigger{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-primary);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:border-color var(--transition-default),background var(--transition-default)}.language-picker__trigger svg{width:16px;height:16px}.language-picker__icon svg{fill:var(--text-secondary)}.language-picker__chevron svg{fill:none;stroke:var(--text-secondary);stroke-width:2}.language-picker__code{color:var(--text-primary);font-variant-numeric:tabular-nums}.language-picker__trigger:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.language-picker__trigger:hover{background:var(--surface-muted-hover);border-color:var(--border-strong)}.language-picker__dropdown{position:fixed;max-height:240px;padding:8px;margin:0;list-style:none;border-radius:16px;border:1px solid var(--border-soft);background:var(--surface-strong);box-shadow:var(--shadow-soft);overflow-y:auto;display:grid;gap:4px;outline:none;z-index:1000}.language-picker__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:none;border-radius:12px;background:transparent;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition-default),color var(--transition-default)}.language-picker__option:focus{outline:none}.language-picker__option--active{background:var(--surface-muted)}.language-picker__option--selected{color:var(--accent);font-weight:650}.language-picker__option-label{text-align:left}.language-picker__option-code{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}@media (max-width: 768px){.language-picker__trigger{padding:0 10px;gap:6px}}.workspace-chat{display:flex;flex-direction:column;gap:14px;width:min(760px,100%);margin:0 auto;min-height:0;height:100%}.workspace-chat__header{display:flex;justify-content:flex-end;align-items:center;min-height:42px;border-bottom:1px solid var(--border-soft);padding-bottom:8px}.workspace-chat__thread{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:12px;overflow-y:auto;overflow-x:hidden;padding-right:4px}.workspace-chat__turn{display:grid;gap:8px}.workspace-chat__bubble{position:relative;border-radius:var(--radius-lg);padding:12px 14px 10px;border:1px solid var(--border-soft);background:var(--surface-muted)}.workspace-chat__bubble--user{justify-self:start;width:min(calc(100% - 64px),620px);margin-left:20px;background:color-mix(in srgb,var(--surface-user) 82%,#20406e 18%);border-color:color-mix(in srgb,var(--accent) 28%,var(--border-soft))}.workspace-chat__bubble--assistant{justify-self:end;width:min(calc(100% - 64px),620px);margin-right:20px;background:color-mix(in srgb,var(--surface-assistant) 85%,#134939 15%);border-color:color-mix(in srgb,var(--success) 28%,var(--border-soft))}.workspace-chat__assistant-text{margin:0;line-height:1.62;font-size:.95rem}.workspace-chat__bubble-mark{position:absolute;top:10px;width:24px;height:24px;border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-strong) 75%,transparent);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.workspace-chat__bubble-mark svg{width:14px;height:14px}.workspace-chat__bubble-mark--user{right:-32px}.workspace-chat__bubble-mark--assistant{left:-32px}.workspace-chat__controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.workspace-chat__text-button{border:none;background:none;color:var(--text-secondary);font-size:.82rem;font-weight:550;padding:0}.workspace-chat__text-button:hover{color:var(--text-primary)}.workspace-chat__edit-trigger{display:flex;justify-content:flex-end;margin-top:4px}.workspace-chat__icon,.workspace-chat__send{width:36px;height:36px;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-muted)}.workspace-chat__icon svg,.workspace-chat__send svg{width:15px;height:15px}.workspace-chat__icon--confirm,.workspace-chat__send{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:var(--accent);color:#fff}.workspace-chat__suggestions{margin-top:12px;width:min(100%,100%);border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;background:var(--surface-muted)}.workspace-chat__suggestions-header{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;text-align:left;background:transparent;color:inherit;padding:12px 14px}.workspace-chat__suggestions-title{font-size:.9rem;font-weight:620}.workspace-chat__suggestions-count{min-width:24px;height:24px;padding:0 8px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem}.workspace-chat__suggestions-panel{border-top:1px solid var(--border-soft)}.workspace-chat__suggestions-list{list-style:none;margin:0;padding:0}.workspace-chat__suggestions-item{width:100%;display:grid;gap:5px;border:none;background:transparent;color:inherit;padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-soft)}.workspace-chat__suggestions-item:last-child{border-bottom:none}.workspace-chat__suggestions-item:hover{background:var(--surface-muted-hover)}.workspace-chat__suggestion-label{display:block;font-weight:620;font-size:.85rem}.workspace-chat__suggestion-description{display:block;color:var(--text-secondary);font-size:.86rem}.workspace-chat__suggestion-change{display:flex;gap:8px;align-items:baseline;font-size:.86rem}.workspace-chat__suggestion-change span:first-child{color:var(--danger);text-decoration:line-through}.workspace-chat__suggestion-change span:last-child{color:var(--success)}.workspace-chat__no-suggestions{margin:0;padding:12px 14px;color:var(--text-secondary);font-size:.86rem}.workspace-chat__bubble--typing{display:inline-flex;align-items:center;gap:8px}.workspace-chat__typing-dots{display:inline-flex;align-items:center;gap:4px}.workspace-chat__typing-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:typing-dots 1s infinite ease-in-out}.workspace-chat__typing-dot:nth-child(2){animation-delay:.15s}.workspace-chat__typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-dots{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-2px);opacity:1}}.workspace-chat__login-cta{border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-muted);padding:12px 14px}.workspace-chat__login-cta h3{margin:0;font-size:.9rem}.workspace-chat__login-cta p{margin:5px 0 8px;color:var(--text-secondary);font-size:.86rem}.workspace-chat__composer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 2px);background:linear-gradient(180deg,color-mix(in srgb,var(--background) 0%,transparent) 0%,color-mix(in srgb,var(--background) 70%,transparent) 20%,var(--background) 58%)}.workspace-chat__textarea{min-height:0;max-height:12rem;line-height:1.65;margin:0;resize:none}.workspace-chat__textarea--edit{max-height:none;line-height:1.75;overflow:hidden}.workspace-chat__send{position:static;width:var(--composer-base-height, 48px);height:var(--composer-base-height, 48px);border-radius:14px}.workspace-chat__new-chat{width:42px;height:42px;border-radius:14px}.workspace-chat__new-chat svg{width:19px;height:19px}.workspace-chat__error{margin:0;color:var(--danger);font-size:.86rem}.workspace-chat__edit-panel{display:grid;gap:10px}.workspace-chat__edit-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 720px){.workspace-chat__bubble--user{width:calc(100% - 42px);margin-left:14px}.workspace-chat__bubble--assistant{width:calc(100% - 42px);margin-right:14px}.workspace-chat__bubble-mark--user{right:-26px}.workspace-chat__bubble-mark--assistant{left:-26px}}.signed-in-card__submission-text{margin:0;white-space:pre-wrap;line-height:1.75;font-size:.95rem}.mistake-highlight{display:inline-flex;align-items:center;gap:5px;position:relative;padding:1px 4px;border-radius:8px;cursor:pointer}.mistake-highlight:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}.mistake-highlight--error{background:color-mix(in srgb,var(--danger) 22%,transparent);box-shadow:inset 0 -2px color-mix(in srgb,var(--danger) 78%,transparent)}.mistake-highlight--correction{background:color-mix(in srgb,var(--success) 18%,transparent);box-shadow:inset 0 -2px color-mix(in srgb,var(--success) 72%,transparent)}.mistake-highlight--improvement{border-bottom:2px solid color-mix(in srgb,var(--accent) 55%,transparent)}.mistake-highlight__icon{display:inline-flex;width:14px;height:14px}.signed-in-card__info-icon{width:14px;height:14px}.mistake-highlight__tooltip{position:fixed;transform:translateY(calc(-100% - 8px));z-index:220;min-width:220px;max-width:min(320px,calc(100vw - 24px));background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:14px;padding:10px 12px;display:block;box-shadow:var(--shadow-soft)}.mistake-highlight__tooltip[data-placement=below]{transform:translateY(8px)}.mistake-highlight__tooltip-close{position:absolute;top:6px;right:8px;border:none;background:none;color:var(--text-muted)}.mistake-highlight__tabs{display:inline-flex;gap:4px;margin-bottom:8px;padding:2px;border-radius:10px;background:var(--surface-muted)}.mistake-highlight__tab-button{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:600}.mistake-highlight__tab-button--active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text-primary)}.mistake-highlight__tooltip-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;display:block}.mistake-highlight__tooltip-description{margin:4px 0 8px;color:var(--text-secondary);font-size:.85rem;display:block}.mistake-highlight__tooltip-example{display:grid;gap:4px;font-size:.8rem}.mistake-highlight__tooltip-example-label{color:var(--text-muted);display:block}.mistake-highlight__tooltip-example-value{display:block}.mistake-highlight__tooltip-example-value--correct{color:var(--success)}.mistake-highlight__tooltip-example-value--wrong{color:var(--danger)}.mistake-highlight__tooltip-example-value--suggested{color:var(--success)}.mistake-highlight__tooltip-example-value--current{color:var(--text-primary)}.app-shell{width:min(100%,720px);height:100vh;height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:0 14px;overflow:hidden}.app-header{position:sticky;top:0;z-index:30;height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border-soft);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-logo{color:var(--text-primary);text-decoration:none;font-size:1rem;font-weight:650;letter-spacing:.01em}.app-header__right{display:inline-flex;align-items:center;gap:8px}.app-intro{display:grid;gap:6px;padding-top:4px}.app-intro h1{margin:0;font-size:clamp(1.35rem,1.15rem + .9vw,1.95rem);line-height:1.16}.app-intro p{margin:0;color:var(--text-secondary);font-size:.92rem}.app-loading{border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-muted);padding:12px;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.app-loading p{margin:0}.app-workspace{grid-row:3;min-height:0;display:flex;flex-direction:column}.auth-modal{position:fixed;inset:0;z-index:70}.auth-modal__backdrop{position:absolute;inset:0;border:0;background:#0000009e}.auth-modal__sheet{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:center;padding:0 12px 12px}.auth-modal__panel{position:relative;width:min(100%,520px);border-radius:22px 22px 0 0;border:1px solid var(--border-soft);border-bottom:0;background:var(--surface-strong);box-shadow:var(--shadow-soft);padding-top:8px}.auth-modal__grabber{width:42px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong);margin:0 auto 8px}.auth-modal__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:10px;border:1px solid var(--border-soft);color:var(--text-secondary);background:var(--surface-muted)}.auth-modal__close:hover{background:var(--surface-muted-hover)}@media (min-width: 900px){.app-shell{width:min(100%,820px)}}@media (max-width: 520px){.app-shell{padding-inline:10px}.app-header{height:52px}}
