:root{color-scheme:dark;--bg: #000000;--bg-elevated: #071225;--bg-panel: #030711;--bg-soft: rgba(16, 22, 38, .88);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f4f7ff;--text-muted: #7d8ba8;--primary: #1784ff;--primary-soft: rgba(23, 132, 255, .16);--correction: #ff9d2f;--tip: #58a6ff;--success: #26d07c;--shadow: 0 24px 60px rgba(0, 0, 0, .45);--bg-accent-a: rgba(23, 132, 255, .18);--bg-accent-b: rgba(88, 166, 255, .08);--font-size-label: 12px;--font-size-body: 14px;--font-size-body-large: 15px;--font-size-panel-title: 20px;--font-size-page-title: 24px;--font-size-hero-title: 32px;--line-height-body: 1.6;--line-height-title: 1.2;font-family:SF Pro Display,SF Pro Text,PingFang SC,Inter,Segoe UI,sans-serif}:root[data-theme=light]{color-scheme:light;--bg: #f5f5f3;--bg-elevated: #fcfbf8;--bg-panel: #f0eee8;--bg-soft: rgba(255, 255, 255, .78);--border: rgba(40, 37, 31, .08);--border-strong: rgba(40, 37, 31, .14);--text: #1f1f1c;--text-muted: #7b776b;--primary: #3f8f7a;--primary-soft: rgba(63, 143, 122, .12);--correction: #c9853f;--tip: #5a8fba;--success: #5d9d74;--shadow: 0 18px 44px rgba(59, 52, 42, .08);--bg-accent-a: rgba(255, 255, 255, .72);--bg-accent-b: rgba(230, 226, 214, .26)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;min-height:100%;background:radial-gradient(circle at top left,var(--bg-accent-a),transparent 22%),radial-gradient(circle at bottom right,var(--bg-accent-b),transparent 28%),var(--bg);color:var(--text);overflow:hidden}body{min-width:1200px;font-size:var(--font-size-body);line-height:var(--line-height-body)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.desktop-shell{position:relative;display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh;isolation:isolate}.icon-rail{display:flex;flex-direction:column;align-items:stretch;gap:18px;height:100vh;padding:24px 18px 18px;border-right:1px solid var(--border);background:linear-gradient(180deg,#071225eb,#020812d1),#000000ad;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:0;overflow:hidden;position:relative;z-index:2}.brand-mark,.icon-link{min-height:44px;border-radius:16px}.brand-mark{width:40px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:700;margin-left:4px;letter-spacing:.04em}.icon-nav{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}.icon-link{width:100%;display:flex;align-items:center;gap:10px;padding:0 14px;background:transparent;border:1px solid transparent;color:var(--text-muted);transition:.16s ease;justify-content:flex-start;font-size:var(--font-size-body);font-weight:600;letter-spacing:.01em;position:relative}.icon-link.active,.icon-link:hover{color:var(--text);border-color:var(--border);background:var(--primary-soft)}.icon-link-symbol{flex:0 0 auto}.icon-link-symbol.i-icon,.session-delete .i-icon,.composer-more-button .i-icon,.composer-send-button .i-icon{display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.icon-link-copy{min-width:0;line-height:1}.app-frame{min-width:0;min-height:100vh;overflow:hidden}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);height:100vh;overflow:hidden}.session-workspace{grid-template-columns:minmax(0,1fr)}.list-panel,.settings-pane{display:flex;flex-direction:column;gap:20px;padding:28px 22px;border-right:1px solid var(--border);background:#00000057;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{margin:0 0 8px;color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;font-weight:600;letter-spacing:.12em}.panel-header h2,.chat-status h1,.auth-copy h1{margin:0;font-size:var(--font-size-page-title);line-height:var(--line-height-title);letter-spacing:-.02em}.search-box,.field{display:flex;flex-direction:column;gap:8px;color:var(--text-muted);font-size:var(--font-size-label)}.search-box input,.field input,.settings-row select,.composer textarea{width:100%;border:1px solid var(--border);border-radius:16px;background:var(--bg-soft);color:var(--text);outline:none}.search-box input,.field input,.settings-row select{padding:12px 14px}.session-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-session-section{display:flex;flex-direction:column;gap:18px;min-height:0;flex:1 1 auto;overflow:hidden;padding:8px 4px 0}.sidebar-session-panel-header{justify-content:flex-start}.sidebar-session-title{margin:0;font-size:var(--font-size-panel-title);line-height:var(--line-height-title);font-weight:600;letter-spacing:-.01em}.sidebar-session-list{flex:1 1 auto;min-height:0;padding-right:4px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(23,132,255,.58) rgba(255,255,255,.06)}.logout-link{flex:0 0 auto}.sidebar-session-list::-webkit-scrollbar{width:10px}.sidebar-session-list::-webkit-scrollbar-track{background:#ffffff0a}.sidebar-session-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#49b8978f,#4e74dd5c);border-radius:999px;border:2px solid rgba(4,12,24,.72)}.sidebar-session-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#49b897b8,#4e74dd80)}.session-card{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:16px;background:transparent}.session-card.active,.session-card:hover{background:#080e1ad6;border-color:var(--border)}.session-card-main{flex:1;display:flex;align-items:center;gap:12px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.session-avatar{width:38px;height:38px;flex:0 0 38px;overflow:hidden;border-radius:50%;background:#94a3b82e}.session-avatar img{width:100%;height:100%;object-fit:cover}.session-copy{min-width:0;flex:1 1 auto}.session-copy-head{display:flex;align-items:center;gap:8px;min-width:0}.session-delete{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:10px;color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity .14s ease,color .14s ease,background-color .14s ease,border-color .14s ease}.session-delete svg{width:16px;height:16px}.session-card:hover .session-delete{opacity:1;pointer-events:auto}.session-delete:hover{color:var(--text);border-color:var(--border);background:var(--primary-soft)}.session-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body);font-weight:500;line-height:1.45}.chat-stage{display:grid;grid-template-rows:72px minmax(0,1fr) auto;min-height:0;overflow:hidden}.chat-header,.composer{padding:24px 32px}.chat-header{display:flex;align-items:center;border-bottom:1px solid var(--border)}.chat-status{display:flex;align-items:center;gap:12px}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 16px #26d07ca3}.session-list,.chat-scroll{scrollbar-width:thin;scrollbar-color:rgba(23,132,255,.58) rgba(255,255,255,.06)}.session-list::-webkit-scrollbar,.chat-scroll::-webkit-scrollbar{width:10px}.session-list::-webkit-scrollbar-track,.chat-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.session-list::-webkit-scrollbar-thumb,.chat-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1784ffc7,#58a6ff6b);border-radius:999px;border:2px solid rgba(3,7,17,.9)}.session-list::-webkit-scrollbar-thumb:hover,.chat-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#1784ffeb,#58a6ff99)}.chat-scroll{padding:32px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:28px;max-width:980px;width:100%;margin:0 auto}.session-create-grid{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:28px}.session-create-panel{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid rgba(99,116,139,.16);border-radius:28px;background:linear-gradient(180deg,#ffffffeb,#f8fafcdb);box-shadow:0 12px 30px #0f172a14,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.session-create-stage .chat-scroll{max-width:1080px;gap:24px}.session-create-header{align-items:stretch;gap:24px}.session-create-title{align-items:flex-start;gap:14px}.session-create-title h1{margin:4px 0 0}.session-create-kicker{margin:0;color:#5b6b87;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.session-create-intro-card{max-width:420px;padding:18px 20px;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:radial-gradient(circle at top right,rgba(96,165,250,.16),transparent 38%),linear-gradient(180deg,#fffffff5,#f6f8fce6);box-shadow:0 12px 30px #0f172a0f}.session-create-subtitle{margin:0;color:#1e293b;font-size:15px;line-height:1.65}.session-create-caption{margin:8px 0 0;color:#64748b;font-size:13px}.session-create-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-create-panel-head h2{margin:0;color:#0f172a;font-size:18px}.session-create-count{min-width:28px;height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#3b82f61a;color:#2563eb;font-size:12px;font-weight:700}.topic-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px}.topic-card{min-height:104px;padding:18px 16px;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f4f7fbf0);text-align:left;color:#0f172a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.topic-card:hover,.topic-card:focus-visible,.topic-card.active{border-color:#3b82f652;box-shadow:0 18px 30px #3b82f61f;background:radial-gradient(circle at top right,rgba(96,165,250,.18),transparent 46%),linear-gradient(180deg,#fff,#f0f7fff5);transform:translateY(-2px)}.topic-card strong{font-size:15px;line-height:1.45;font-weight:700}.role-list{display:flex;flex-direction:column;gap:14px}.role-list-item{display:flex;align-items:flex-start;gap:16px;width:100%;padding:16px 18px;border:1px solid rgba(148,163,184,.18);border-radius:22px;background:#fffffff0;text-align:left;color:#0f172a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.role-list-item:hover,.role-list-item:focus-visible{border-color:#3b82f63d;box-shadow:0 18px 32px #0f172a14;background:radial-gradient(circle at top right,rgba(96,165,250,.1),transparent 32%),#fffffffa;transform:translateY(-1px)}.role-avatar{width:56px;height:56px;flex:0 0 56px;overflow:hidden;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#94a3b833,#e2e8f0cc);color:#fff;font-weight:700;box-shadow:0 8px 22px #0f172a1a}.role-avatar img{width:100%;height:100%;object-fit:cover}.role-copy{min-width:0;flex:1 1 auto}.role-copy-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.role-gender-icon{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}.role-gender-icon.male{background:#3b82f624;color:#2563eb}.role-gender-icon.female{background:#f472b629;color:#db2777}.role-copy p{margin:0;color:#64748b;line-height:1.65}.session-create-error{color:#dc2626}@media(max-width:900px){.session-create-grid{grid-template-columns:1fr}.session-create-header{flex-direction:column}.session-create-intro-card{max-width:none}}.message-stack{display:flex;flex-direction:column;gap:10px;max-width:76%}.message-stack.user{margin-left:auto;align-items:flex-end}.message-bubble{padding:18px 20px;border-radius:24px 24px 24px 6px;border:1px solid var(--border);background:#0a1220bf;line-height:1.65;box-shadow:var(--shadow)}.message-bubble.user{border-radius:24px 24px 6px;background:linear-gradient(180deg,#071b38f2,#041024f2);border-color:#1784ff3d}.message-bubble p,.feedback-section p,.info-card p{margin:0}.message-copy{white-space:pre-wrap;word-break:break-word}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.message-word{border:0;border-radius:8px;padding:1px 3px;background:transparent;color:inherit;transition:background-color .16s ease}.message-word:hover{background:#c4c8cd59}.message-word.selected{background:#7ca7ff57;box-shadow:0 0 0 1px #7ca7ff2e inset}.message-word-anchor{position:relative;display:inline-block}.word-popover{position:absolute;z-index:40;width:min(360px,calc(100vw - 24px));max-height:360px;overflow-y:auto;padding:16px;border-radius:22px;border:1px solid rgba(176,169,154,.3);background:linear-gradient(180deg,#fffcf6fa,#f5efe5f5);box-shadow:0 18px 44px #3b342a24,0 2px 8px #ffffff73 inset;left:50%;top:calc(100% + 10px);transform:translate(-50%);scrollbar-width:thin;scrollbar-color:rgba(123,119,107,.35) rgba(255,255,255,.42)}.word-popover.top{top:auto;bottom:calc(100% + 10px);transform:translate(-50%)}.word-popover-header{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(176,169,154,.2)}.word-popover-header strong{font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.word-popover-field-label{margin:0;color:var(--text-muted);font-size:var(--font-size-label);font-weight:600;letter-spacing:.04em}.word-popover-field-label.inline{display:inline;margin:0}.word-popover-header span,.word-popover-meta,.word-definition-subtitle,.word-popover-extra,.word-popover-status{color:var(--text-muted)}.word-popover-meta,.word-popover-status{margin:8px 0 0;font-size:var(--font-size-label);line-height:1.35}.word-popover-meta{display:flex;align-items:baseline;gap:8px}.word-definition{margin-top:10px;padding:14px;border:1px solid rgba(176,169,154,.24);border-radius:16px;background:linear-gradient(180deg,#ffffffdb,#f6f1e9f5);box-shadow:inset 0 1px #ffffff6b,0 10px 20px #3b342a0a}.word-definition-group{margin-top:14px}.word-definition-title,.word-definition-subtitle,.word-popover-extra,.word-popover-extra-content{margin:0}.word-definition-tag{margin:0 0 4px;color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase}.word-definition-title{color:var(--text);font-weight:600;font-size:var(--font-size-body);line-height:1.3}.word-definition-subtitle,.word-popover-extra,.word-popover-extra-content{margin-top:2px;font-size:var(--font-size-label);line-height:1.5}.word-popover-extra{margin-top:12px;padding:12px 14px;border-radius:16px;background:#ffffff8a;border:1px solid rgba(176,169,154,.18)}.word-popover-extra-content{display:block;margin-top:6px;color:var(--text);white-space:pre-wrap}.word-popover-status.error{color:#c26d5d}.word-popover::-webkit-scrollbar{width:8px}.word-popover::-webkit-scrollbar-track{background:#ffffff6b;border-radius:999px}.word-popover::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8e88798a,#b0a99a61);border-radius:999px}.sentence-selection-popover{position:fixed;z-index:50;width:min(320px,calc(100vw - 24px));padding:14px;border-radius:20px;border:1px solid rgba(176,169,154,.3);background:linear-gradient(180deg,#fffcf6fa,#f5efe5f5);box-shadow:0 18px 44px #3b342a24,0 2px 8px #ffffff73 inset}.sentence-selection-section+.sentence-selection-section{margin-top:12px}.sentence-selection-copy{margin:6px 0 0;color:var(--text);font-size:var(--font-size-label);line-height:1.5;white-space:pre-wrap}.feedback-card{width:min(420px,100%);margin-left:auto;padding:18px;border-radius:22px;border:1px solid var(--border);background:#050a14eb}.bubble-expand-enter-active,.bubble-expand-leave-active{transition:opacity .18s ease,transform .18s ease,filter .18s ease;transform-origin:top left}.bubble-expand-enter-from,.bubble-expand-leave-to{opacity:0;transform:translateY(-6px) scale(.98);filter:blur(6px)}.word-popover.bubble-expand-enter-from,.word-popover.bubble-expand-leave-to{transform:translate(-50%) translateY(-6px) scale(.98)}.word-popover.top.bubble-expand-enter-from,.word-popover.top.bubble-expand-leave-to{transform:translate(-50%) translateY(6px) scale(.98)}.bubble-expand-enter-to,.bubble-expand-leave-from{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.word-popover.bubble-expand-enter-to,.word-popover.bubble-expand-leave-from,.word-popover.top.bubble-expand-enter-to,.word-popover.top.bubble-expand-leave-from{transform:translate(-50%) translateY(0) scale(1)}.message-actions,.message-translation,.message-examples{width:min(420px,100%)}.message-actions{display:flex;align-items:center;gap:12px}.message-actions.user,.message-translation.user{margin-left:auto;justify-content:flex-end}.message-examples{display:flex;flex-wrap:wrap;gap:10px}.message-example-chip{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#ffffff0d;color:var(--text);font-size:13px;line-height:1.4;text-align:left}.message-example-chip:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.message-translate-button{border:0;padding:0;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.2}.message-translate-button:hover:not(:disabled){color:var(--primary)}.message-translate-button:disabled{cursor:wait;opacity:.72}.message-translation{margin-top:-2px;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#ffffff0a}.message-translation+.message-examples{margin-top:10px}.message-translation-copy,.message-translation-error{margin:0;font-size:13px;line-height:1.5}.message-translation-copy{color:var(--text)}.message-translation-error{color:#c26d5d}.feedback-title{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--text)}.feedback-section{padding:14px;border-radius:16px;background:#ffffff08}.feedback-section+.feedback-section{margin-top:12px}.feedback-section h3,.info-card h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--correction)}.feedback-section.subtle h3{color:var(--tip)}.composer{background:transparent;padding-top:10px}.composer-example-preview{width:min(80%,980px);margin:0 auto 12px;padding:14px 18px;border:1px solid color-mix(in srgb,CanvasText 12%,transparent);border-radius:24px;background:color-mix(in srgb,Canvas 82%,transparent);box-shadow:var(--shadow)}.composer-example-preview-label,.composer-example-preview-copy{margin:0}.composer-example-preview-label{font-size:12px;font-weight:700;color:var(--text-muted)}.composer-example-preview-copy{margin-top:6px;color:CanvasText;line-height:1.5}.composer-example-preview-actions{display:flex;align-items:center;gap:14px;margin-top:10px}.composer-example-preview-use,.composer-example-preview-close{border:0;padding:0;background:transparent;font-size:12px;font-weight:600}.composer-example-preview-use{color:var(--primary)}.composer-example-preview-use:disabled{cursor:wait;opacity:.72}.composer-example-preview-close{color:var(--text-muted)}.composer-example-preview-use:hover:not(:disabled),.composer-example-preview-close:hover{color:var(--primary)}.composer-shell{width:min(80%,980px);margin:0 auto 12px;display:flex;flex-direction:column;gap:14px;padding:18px 20px 16px;border:1px solid color-mix(in srgb,CanvasText 12%,transparent);border-radius:32px;background:color-mix(in srgb,Canvas 76%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.composer textarea{width:100%;resize:none;min-height:24px;max-height:120px;padding:0;border:0;border-radius:0;background:transparent;color:CanvasText;line-height:24px;outline:none;overflow-y:hidden}.composer.compact textarea{min-height:24px}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid color-mix(in srgb,CanvasText 10%,transparent)}.composer-more-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,CanvasText 12%,transparent);border-radius:999px;background:color-mix(in srgb,CanvasText 6%,Canvas);color:CanvasText}.composer-more-button svg,.composer-send-button svg{width:18px;height:18px}.composer-more-button:disabled{opacity:.6}.send-button,.small-button,.primary-button,.ghost-button{border:1px solid transparent;border-radius:14px}.send-button,.small-button,.primary-button{background:var(--primary);color:#fff}.send-button,.small-button{padding:12px 16px}.composer-send-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:999px;border-color:transparent;background:ButtonFace;color:ButtonText}.primary-button{padding:14px 18px}.ghost-button{padding:8px 12px;background:transparent;border-color:var(--border);color:var(--text-muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px}.auth-panel{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) 380px;gap:36px;padding:40px;border:1px solid var(--border);border-radius:32px;background:#00000085;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);box-shadow:var(--shadow)}.auth-copy{padding:12px 8px}.auth-copy h1{font-size:var(--font-size-hero-title);line-height:1.08}.auth-description{width:min(520px,100%);color:var(--text-muted);font-size:var(--font-size-body-large);line-height:1.75}.auth-form{display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:24px;background:#071225ad;border:1px solid var(--border)}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:6px;border-radius:18px;background:#ffffff08}.auth-tab{padding:12px 0;border-radius:14px;background:transparent;color:var(--text-muted);border:0}.auth-tab.active{background:var(--primary-soft);color:var(--text)}.error-text{margin:0;color:#ff7a7a}.settings-workspace{grid-template-columns:minmax(0,1fr)}.settings-pane{border-right:0;max-width:880px}.settings-card,.info-card{border:1px solid var(--border);border-radius:24px;background:#0712258f;padding:22px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row p{margin:4px 0 0;color:var(--text-muted)}.toggle{display:inline-flex;align-items:center;gap:10px;color:var(--text-muted)}.vocabulary-stage{justify-content:center}:root[data-theme=light] .icon-rail{background:#f9f8f4e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}:root[data-theme=light] .list-panel,:root[data-theme=light] .settings-pane{background:#fcfbf8d6}:root[data-theme=light] .session-card.active,:root[data-theme=light] .session-card:hover{background:#f7f5eff5}:root[data-theme=light] .session-list,:root[data-theme=light] .sidebar-session-list,:root[data-theme=light] .chat-scroll{scrollbar-color:rgba(123,119,107,.35) rgba(255,255,255,.42)}:root[data-theme=light] .session-list::-webkit-scrollbar-track,:root[data-theme=light] .sidebar-session-list::-webkit-scrollbar-track,:root[data-theme=light] .chat-scroll::-webkit-scrollbar-track{background:#ffffff6b}:root[data-theme=light] .session-list::-webkit-scrollbar-thumb,:root[data-theme=light] .sidebar-session-list::-webkit-scrollbar-thumb,:root[data-theme=light] .chat-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8e88798a,#b0a99a61);border:2px solid rgba(245,245,243,.95)}:root[data-theme=light] .session-list::-webkit-scrollbar-thumb:hover,:root[data-theme=light] .sidebar-session-list::-webkit-scrollbar-thumb:hover,:root[data-theme=light] .chat-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8e8879b8,#b0a99a80)}:root[data-theme=light] .message-bubble{background:#ffffffc7}:root[data-theme=light] .message-bubble.user{background:#f8f6f0eb;border-color:#3f8f7a2e}:root[data-theme=light] .feedback-card{background:#fcfbf8f5}:root[data-theme=light] .message-translation{background:#fcfbf8e6}:root[data-theme=light] .feedback-section{background:#f7f5efe0}:root[data-theme=light] .auth-panel{background:#fcfbf8d1}:root[data-theme=light] .auth-form{background:#ffffffc7}:root[data-theme=light] .auth-tabs{background:#f3f0e9eb}:root[data-theme=light] .settings-card,:root[data-theme=light] .info-card{background:#fcfbf8e6}.translator-bubble{position:absolute;top:104px;right:94px;width:min(420px,calc(100vw - 460px));max-height:calc(100vh - 144px);padding:20px 20px 18px;border-radius:26px;border:1px solid var(--border-strong);background:linear-gradient(180deg,#071225f5,#030a16f0),var(--bg-elevated);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:hidden auto;z-index:4}.translator-bubble:before{content:"";position:absolute;top:28px;right:-9px;width:18px;height:18px;border-right:1px solid var(--border-strong);border-top:1px solid var(--border-strong);background:#061021f5;transform:rotate(45deg)}.translator-header,.translator-actions,.translator-primary-header,.translator-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.translator-header{margin-bottom:16px}.translator-header h2{margin:0;font-size:24px;line-height:1.15}.translator-body{display:flex;flex-direction:column;gap:14px;min-height:0}.translator-input{min-height:120px;resize:vertical;padding:14px 16px}.translator-close,.translator-submit-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:#ffffff08;color:var(--text-muted);transition:.16s ease}.translator-close:hover,.translator-submit-button:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--primary-soft)}.translator-submit-button:disabled{opacity:.52;cursor:not-allowed}.translator-status,.translator-error,.translator-helper-copy,.translator-candidate-note,.translator-source,.translator-dictionary-entry p,.translator-dictionary-entry strong{margin:0}.translator-error{color:#ff8c8c}.translator-result,.translator-section,.translator-dictionary-list,.translator-candidate-list{display:flex;flex-direction:column;gap:12px}.translator-meta,.translator-dictionary-summary,.translator-candidate-tags{display:flex;flex-wrap:wrap;gap:8px}.translator-meta span,.translator-dictionary-summary span,.translator-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-muted);font-size:12px;font-weight:600}.translator-primary-card,.translator-section,.translator-candidate-card{border-radius:20px;border:1px solid var(--border);background:var(--bg-soft)}.translator-primary-card,.translator-section{padding:16px}.translator-primary-card h3,.translator-section h4{margin:0}.translator-primary-card h3{font-size:24px;line-height:1.25}.translator-source{margin-bottom:8px;color:var(--text-muted)}.translator-dictionary-entry{display:flex;flex-direction:column;gap:6px}.translator-helper-label{display:inline-block;margin-right:8px;color:var(--text);font-weight:600}.translator-candidate-card{padding:14px 16px}:root[data-theme=light] .utility-link,:root[data-theme=light] .translator-bubble{background:#fcfbf8f5}:root[data-theme=light] .translator-bubble:before{background:#fcfbf8f5}.utility-rail{position:fixed;top:104px;right:18px;z-index:5}.utility-link{min-width:68px;min-height:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 12px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,#071225eb,#030a16e0),#030711d1;color:var(--text-muted);box-shadow:var(--shadow);transition:.16s ease}.utility-link:hover,.utility-link.active{color:var(--text);border-color:var(--border-strong);background:var(--primary-soft)}:root[data-theme=light] .utility-link{background:#fcfbf8f5}
