:root{--bg-app: #f5f6fa;--bg-card: rgba(255, 255, 255, .78);--bg-card-solid: #ffffff;--border-color: rgba(15, 23, 42, .08);--hairline: rgba(15, 23, 42, .06);--app-bg-image: radial-gradient(1100px 560px at 12% -4%, rgba(99, 102, 241, .16), rgba(99, 102, 241, 0) 60%), radial-gradient(900px 520px at 92% 8%, rgba(56, 189, 248, .12), rgba(56, 189, 248, 0) 58%), radial-gradient(820px 480px at 50% 110%, rgba(168, 85, 247, .1), rgba(168, 85, 247, 0) 60%), linear-gradient(180deg, #f6f7fb 0%, #eef1f8 100%);--app-bg-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%;--app-bg-blend: normal, normal, normal, normal;--primary-color: #4f46e5;--primary-color-soft: #6366f1;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #7c3aed 55%, #a855f7 100%);--primary-glow: 0 8px 24px rgba(99, 102, 241, .35), 0 2px 6px rgba(99, 102, 241, .18);--text-primary: #0b1220;--text-secondary: #4b5563;--text-tertiary: #6b7280;--content-max-width: 1400px;--reading-max-width: 760px;--content-gutter: clamp(14px, 2.2vw, 24px);--panel-gap: clamp(14px, 2.4vw, 24px);--ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--reading-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--reading-font-size: clamp(16px, .95vw + 12px, 18px);--reading-line-height: 1.85;--panel-max-height: min(68vh, 720px);--panel-min-height: 120px;--word-pad-y: 2px;--word-pad-x: 6px;--word-radius: 6px;--word-outline: rgba(15, 23, 42, .12);--word-shadow: 0 1px 0 rgba(255, 255, 255, .75), 0 0 1px rgba(15, 23, 42, .12);--word-highlight-bg: #fef08a;--word-highlight-border: #eab308;--word-highlight-text: #422006;--word-highlight-shadow: rgba(253, 224, 71, .6);--radius-lg: 18px;--radius-md: 14px;--radius-pill: 999px;--shadow-glass: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px rgba(15, 23, 42, .08);--shadow-floating: 0 18px 40px rgba(15, 23, 42, .14), 0 4px 12px rgba(15, 23, 42, .06);--shadow-soft: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .06);--shadow-inset-soft: inset 0 1px 2px rgba(15, 23, 42, .04), inset 0 0 0 1px rgba(15, 23, 42, .05);--glass-blur: saturate(180%) blur(20px);--color-noun: #0369a1;--color-verb: #be123c;--color-adj: #15803d;--color-adv: #b45309;--color-prep: #7e22ce;--color-det: #475569;--color-conj: #0e7490;--color-pron: #0891b2;--color-num: #ca8a04;--color-intj: #a21caf;--color-punct: #64748b;--color-part: #65a30d;--color-other: #334155}body.dark-mode{--bg-app: #0b1020;--bg-card: rgba(22, 27, 45, .72);--bg-card-solid: #161b2d;--border-color: rgba(148, 163, 184, .16);--hairline: rgba(148, 163, 184, .1);--app-bg-image: radial-gradient(1100px 560px at 12% -4%, rgba(99, 102, 241, .3), rgba(99, 102, 241, 0) 60%), radial-gradient(900px 520px at 92% 8%, rgba(56, 189, 248, .22), rgba(56, 189, 248, 0) 58%), radial-gradient(820px 480px at 50% 110%, rgba(168, 85, 247, .22), rgba(168, 85, 247, 0) 60%), linear-gradient(180deg, #0b1020 0%, #111729 100%);--primary-color: #a5b4fc;--primary-color-soft: #818cf8;--primary-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #c4b5fd 100%);--primary-glow: 0 8px 24px rgba(129, 140, 248, .35), 0 2px 6px rgba(129, 140, 248, .18);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--word-outline: rgba(148, 163, 184, .18);--word-shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 0 1px rgba(148, 163, 184, .15);--shadow-glass: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .35);--shadow-floating: 0 18px 40px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .25);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .25), 0 4px 16px rgba(0, 0, 0, .35);--shadow-inset-soft: inset 0 1px 2px rgba(0, 0, 0, .25), inset 0 0 0 1px rgba(148, 163, 184, .1);--color-noun: #7dd3fc;--color-verb: #fca5a5;--color-adj: #86efac;--color-adv: #fdba74;--color-prep: #c4b5fd;--color-det: #cbd5e1;--color-conj: #67e8f9;--color-pron: #67e8f9;--color-num: #fbbf24;--color-intj: #c084fc;--color-punct: #94a3b8;--color-part: #a3e635;--color-other: #94a3b8;--word-highlight-bg: #3f2f0f;--word-highlight-border: #d97706;--word-highlight-text: #fef08a;--word-highlight-shadow: rgba(217, 119, 6, .4)}body{font-family:var(--ui-font);margin:0;color:var(--text-primary);line-height:1.6;display:flex;flex-direction:column;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:40px;background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:var(--app-bg-image);background-size:var(--app-bg-size);background-blend-mode:var(--app-bg-blend);background-attachment:fixed;text-rendering:optimizeLegibility}::selection{background:#6366f138;color:var(--text-primary)}:where(button,input,textarea,select):focus-visible{outline:3px solid rgba(99,102,241,.32);outline-offset:2px}.header-menu-wrap{flex:0 0 auto;position:relative}.header-menu{position:absolute;top:calc(100% + 8px);right:0;width:auto;min-width:220px;display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg-card-solid);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:0 1px 2px #0f172a0a,0 24px 50px #0f172a24;box-sizing:border-box;z-index:200;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.header-button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;font-weight:600;color:var(--text-primary);background:var(--bg-card-solid);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0f172a0a}.header-button:hover{background:#fff;border-color:#6366f140;transform:translateY(-1px);box-shadow:0 6px 18px #6366f11a}.header-button:active{transform:translateY(0)}.header-button:focus-visible{outline:3px solid rgba(99,102,241,.32);outline-offset:2px}.header-button svg{fill:currentColor;opacity:.8}.header-menu-btn{height:38px;width:38px;padding:0;justify-content:center;border-radius:11px;color:var(--text-secondary);background:var(--bg-card-solid);border:1px solid var(--hairline);box-shadow:0 1px 2px #0f172a0a}.header-menu-btn svg{opacity:1}.header-menu-btn:hover{border-color:#6366f14d;background:#fff;color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px #6366f11f}.header-menu-btn[aria-expanded=true]{background:#6366f11a;border-color:#6366f166;color:var(--primary-color)}.header-menu-btn:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.header-menu[hidden]{display:none}.header-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.9rem;font-weight:600;text-align:left;color:var(--text-primary);background:transparent;border:none;border-radius:10px;cursor:pointer;transition:background .15s ease,color .15s ease}.header-menu-item svg{fill:currentColor;opacity:.75;flex:0 0 auto}.header-menu-item:hover,.header-menu-item:focus-visible{background:#0f172a0f;outline:none}.header-menu-item:active{background:#0f172a17}.header-menu-item-label{flex:1 1 auto}.header-menu-item.server-toggle-btn{border-color:#1a73e859;color:var(--primary-color)}.header-menu-item.server-toggle-btn svg{opacity:1}#app-container{flex-grow:1;max-width:var(--content-max-width);width:min(96vw,var(--content-max-width));margin:0 auto 32px;padding:0 var(--content-gutter);box-sizing:border-box}.input-section{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:clamp(16px,1.8vw,22px) 24px 18px;border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);margin-bottom:16px;border:1px solid var(--hairline);position:relative;overflow:visible}.input-section h2{margin-top:0;font-size:.8rem;font-weight:700;margin-bottom:20px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);opacity:.8}.edit-toggle-btn{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 18px;flex-shrink:0;border-radius:var(--radius-pill);border:1px solid rgba(15,23,42,.14);background:#fff;color:var(--text-primary);font-family:inherit;font-size:.9rem;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #0f172a0f;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.edit-toggle-btn svg{fill:currentColor;opacity:.85;flex-shrink:0}.edit-toggle-btn:hover{border-color:#1a73e873;background:#f8fbff}.edit-toggle-btn:active{transform:translateY(1px)}.edit-toggle-btn:focus-visible{outline:3px solid rgba(26,115,232,.28);outline-offset:2px}.edit-toggle-btn.is-editing{border-color:#1a73e880;background:#1a73e814;color:var(--primary-color)}.edit-toggle-btn .icon-eye,.edit-toggle-btn.is-editing .icon-pencil{display:none}.edit-toggle-btn.is-editing .icon-eye{display:inline}.edit-toggle-btn:not([hidden]){display:inline-flex}.edit-toggle-btn[hidden]{display:none}#translate-button.translate-btn-solo{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-width:200px;padding:0 24px;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-pill);font-weight:700;font-size:.95rem;letter-spacing:.005em;cursor:pointer;font-family:inherit;transition:transform .18s ease,box-shadow .25s ease,filter .25s ease;box-shadow:var(--primary-glow);transform:none;overflow:hidden;isolation:isolate}#translate-button.translate-btn-solo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,#fff3,#fff0 50%);pointer-events:none;z-index:-1}#translate-button.translate-btn-solo:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(180deg,#ffffff59,#fff0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.6;z-index:-1}#translate-button.translate-btn-solo:hover{transform:translateY(-1px);filter:brightness(1.05) saturate(1.1);box-shadow:0 14px 32px #6366f16b,0 4px 10px #6366f138}#translate-button.translate-btn-solo:active{transform:translateY(0);filter:brightness(.97)}#translate-button.translate-btn-solo:focus-visible{outline:3px solid rgba(99,102,241,.35);outline-offset:3px}#translate-button.translate-btn-solo:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:grayscale(.2)}#translate-button.translate-btn-solo.is-loading{opacity:.95}#translate-button.translate-btn-solo .btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex:0 0 auto}#translate-button.translate-btn-solo .credit-badge{margin-left:8px;padding:4px 10px;border-radius:999px;background:#ffffff38;font-size:.8rem;font-weight:700;line-height:1.3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.translate-submit{position:relative}.control-group{display:inline-flex;align-items:center;gap:8px;min-height:34px}.control-group-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.view-mode-segmented{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-pill);background:#0f172a0b;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 2px #0f172a0a}.view-mode-label{padding:0 8px;font-size:.78rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.view-mode-label-stack{display:none}.view-mode-option{min-height:34px;padding:0 16px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}.view-mode-icon{display:inline-flex;align-items:center;justify-content:center}.view-mode-icon svg{fill:currentColor;opacity:.9;width:16px;height:16px}.view-mode-option:hover{color:var(--text-primary);background:#fff9}.view-mode-option[aria-pressed=true]{color:var(--primary-color);background:var(--bg-card-solid);box-shadow:0 1px #ffffffe6 inset,0 4px 10px #0f172a1a,0 1px 2px #0f172a0a;position:relative}.view-mode-option[aria-pressed=true] .view-mode-icon svg{fill:currentColor;opacity:1}.view-mode-option:focus-visible{outline:3px solid rgba(99,102,241,.32);outline-offset:2px}#app{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.translation-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;flex-wrap:wrap}.memory-header{position:relative;flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:8px}.memory-header .custom-dropdown{display:block;flex:1 1 auto;min-width:0}.memory-header .custom-dropdown-trigger{min-width:140px;max-width:260px}.memory-header .memory-select-top{padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--bg-card-solid);font-size:.85rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px #0f172a0a;min-width:160px;text-align:left;color:var(--text-primary);font-weight:600}.memory-header .memory-select-top:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f124}.memory-header .memory-select-top:hover{border-color:#6366f14d}.custom-dropdown{position:relative;display:inline-block}.custom-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--bg-card-solid);font-size:.88rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 1px 2px #0f172a0a;min-width:180px;min-height:44px;color:var(--text-primary);font-family:inherit;font-weight:600}.custom-dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.custom-dropdown-trigger:hover{border-color:#6366f147;box-shadow:0 4px 14px #6366f114}.custom-dropdown-trigger:focus{outline:none;border-color:#6366f173;box-shadow:0 0 0 3px #6366f11f}.custom-dropdown-trigger:focus-visible{outline:3px solid rgba(99,102,241,.32);outline-offset:2px}.custom-dropdown-trigger[aria-expanded=true]{border-color:#6366f173;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 0 0 3px #6366f11a}.custom-dropdown-arrow{fill:var(--text-secondary);transition:transform .25s cubic-bezier(.4,0,.2,1);opacity:.7}.custom-dropdown-trigger[aria-expanded=true] .custom-dropdown-arrow{transform:rotate(180deg)}.custom-dropdown-list{position:absolute;top:100%;right:0;left:auto;margin:0;padding:8px;list-style:none;background:var(--bg-card-solid);border:1px solid var(--hairline);border-top:none;border-radius:0 0 16px 16px;box-shadow:0 1px 2px #0f172a0a,0 24px 50px #0f172a24;min-width:100%;width:min(420px,calc(100vw - 24px));max-width:min(420px,calc(100vw - 24px));max-height:280px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;z-index:250;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.custom-dropdown-option{display:grid;gap:5px;padding:10px 12px;font-size:.85rem;line-height:1.4;cursor:pointer;transition:all .15s ease;color:var(--text-primary);border-radius:10px;white-space:normal;overflow:hidden}.custom-dropdown-section{padding:8px 10px 5px;font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;color:var(--text-secondary)}.memory-option-topline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.memory-option-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color);font-size:.68rem;font-weight:700;line-height:1}.memory-option-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#b453091a;color:#b45309;flex:0 0 auto}.memory-option-icon svg{display:block}.memory-option-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.memory-option-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.76rem}.memory-option-check{opacity:0;color:var(--primary-color);font-weight:800}.custom-dropdown-option:hover,.custom-dropdown-option:focus{background:#0f172a0f;color:var(--primary-color);outline:none}.custom-dropdown-option[aria-selected=true]{background:color-mix(in srgb,var(--primary-color) 8%,transparent);color:var(--primary-color);font-weight:500}.custom-dropdown-option[aria-selected=true] .memory-option-check{opacity:1}.custom-dropdown-option.empty{display:block;color:var(--text-secondary);font-style:italic;cursor:default}.custom-dropdown-option.empty:hover{background:transparent;color:var(--text-secondary)}#translate-button{background:var(--primary-gradient);color:#fff;border:none;padding:12px 28px;border-radius:var(--radius-pill);font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:var(--primary-glow);letter-spacing:.005em}#translate-button:hover{transform:translateY(-1px);box-shadow:0 14px 32px #6366f16b,0 4px 10px #6366f138}#translate-button:active{transform:translateY(0)}.translation-actions #translate-button{height:46px;padding:0 30px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}.offline-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:600;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.offline-pill svg{flex:0 0 auto}@media(prefers-color-scheme:dark){.offline-pill{color:#fde68a;background:#fbbf241f;border-color:#fbbf2459}}.memory-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.memory-button{padding:6px 10px;border-radius:var(--radius-md);border:none;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--primary-gradient);color:#fff;box-shadow:0 2px 6px #b4530933;white-space:nowrap}.memory-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #b453094d}.memory-button:active:not(:disabled){transform:translateY(0)}.memory-button:disabled{opacity:.5;cursor:not-allowed}.memory-button.memory-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;flex:0 0 auto;color:var(--text-secondary);background:var(--bg-card-solid);border:1px solid var(--hairline);border-radius:11px;box-shadow:0 1px 2px #0f172a0a;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease}.memory-button.memory-button-icon svg{display:block;opacity:1}.memory-button.memory-button-icon:hover:not(:disabled){background:#fff;border-color:#6366f14d;color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px #6366f11f}.memory-button.memory-button-icon:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.memory-button.memory-button-icon:active:not(:disabled){transform:scale(.94);box-shadow:0 1px 2px #0f172a0a}.memory-button.secondary{background:#fef3c7e6;color:var(--text-primary);border:1px solid rgba(217,119,6,.2);box-shadow:0 1px 3px #b453090d}.memory-button.secondary:hover:not(:disabled){background:#fde68a;border-color:#d977064d;box-shadow:0 2px 6px #b4530914}#credit-header-btn:not([hidden]):before{content:"";display:inline-block;width:1px;height:16px;margin-right:6px;background:#0f172a1f;border-radius:1px}.memory-button.memory-button-icon.share{position:relative}.memory-button.memory-button-icon.share.is-shared{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;box-shadow:0 4px 12px #10b98152}.memory-button.memory-button-icon.share.is-shared:hover:not(:disabled){color:#fff;border-color:transparent;background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b9816b}.memory-button.memory-button-icon.share.is-shared:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #059669}.memory-button.memory-save-toggle .save-icon-trash,.memory-button.memory-save-toggle.is-saved .save-icon-outline{display:none}.memory-button.memory-save-toggle.is-saved .save-icon-trash{display:block}.memory-button.memory-save-toggle.is-saved{color:#e11d48;background:color-mix(in srgb,#e11d48 8%,#ffffff);border-color:#e11d4840;box-shadow:0 2px 8px #e11d481a}.memory-button.memory-save-toggle.is-saved:hover:not(:disabled){color:#be123c;border-color:#e11d4859;background:color-mix(in srgb,#e11d48 14%,#ffffff);box-shadow:0 4px 12px #e11d482e}#user-text-input{width:100%;padding:22px;border:1px solid var(--hairline);background-color:var(--bg-card-solid);border-radius:var(--radius-lg);font-family:inherit;font-size:1.05rem;line-height:1.6;box-sizing:border-box;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease,transform .25s ease;resize:vertical;color:var(--text-primary);box-shadow:0 1px 2px #0f172a0a,0 4px 18px #0f172a0d;caret-color:var(--primary-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}#user-text-input::placeholder{color:#4b55638c;font-weight:400;letter-spacing:.005em}#user-text-input:hover{border-color:#6366f138;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #6366f11a}#user-text-input:focus{outline:none;border-color:#6366f173;background-color:#fff;box-shadow:0 0 0 4px #6366f11a,0 1px 2px #0f172a0a,0 12px 32px #6366f11f}#user-text-input{font-size:var(--reading-font-size);line-height:var(--reading-line-height);font-family:var(--reading-font)}.line{font-size:var(--reading-font-size);line-height:calc(var(--reading-line-height) + .25);letter-spacing:.01em;word-spacing:.02em}.setup-header>.progress-bar-wrapper{width:100%;padding:4px 0 0;grid-column:1 / -1}.icon-button{width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#ffffffd1;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px #0f172a14;transition:transform .15s ease,background .15s ease,border-color .15s ease}.icon-button svg{width:18px;height:18px;fill:currentColor;opacity:.85}.icon-button:hover{transform:translateY(-1px);border-color:#0f172a2e;background:#fffffff0}.icon-button[aria-pressed=true]{background:#1a73e81f;border-color:#1a73e859;color:#1a73e8}.icon-button:focus-visible{outline:3px solid rgba(26,115,232,.28);outline-offset:2px}.workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}#comparison-host{grid-column:1 / -1}.workbench-grid.comparison-active>.workbench-panel{display:none}.workbench-grid[data-view=paired]>.workbench-panel.workbench-left{display:none}.workbench-grid[data-view=paired]>.workbench-panel.workbench-right{grid-column:1 / -1}@media(max-width:900px){.workbench-grid{grid-template-columns:1fr}}.workbench-panel{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;display:flex;flex-direction:column;min-height:0;min-width:0}.results-empty-state,#app:empty:after{min-height:244px;box-sizing:border-box;border:1px dashed color-mix(in srgb,var(--primary-color) 22%,var(--hairline));border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--primary-color) 8%,transparent),transparent 42%),color-mix(in srgb,var(--bg-card-solid) 72%,transparent)}.results-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center}.results-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;color:var(--primary-color);border-radius:16px;background:color-mix(in srgb,var(--primary-color) 10%,var(--bg-card-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 16%,transparent)}.results-empty-copy{display:flex;flex-direction:column;gap:6px;max-width:34ch}.results-empty-copy strong{font-size:.98rem;line-height:1.3;color:var(--text-primary)}.results-empty-copy small{font-size:.82rem;line-height:1.55;color:var(--text-tertiary)}#app:empty:after{content:"Translation ready when you are";display:grid;place-items:center;padding:32px;color:var(--text-tertiary);font-size:.88rem;font-weight:600;text-align:center}.workbench-left #user-text-input{flex:1;min-height:244px;resize:vertical}.source-panel-host{flex:1;min-height:0;display:flex;flex-direction:column}.source-panel-host[hidden]{display:none}.source-panel-host .text-panel{flex:1;height:auto;min-height:0}.workbench-actions{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px;gap:16px}.workbench-actions .view-controls{display:inline-flex;align-items:center;gap:10px}.workbench-grid[data-view=side-by-side] .comparison-container{grid-template-columns:1fr 1fr;gap:clamp(18px,3.2vw,44px)}.workbench-grid[data-view=paired] .comparison-container{display:block;width:100%;max-width:var(--content-max-width)}.workbench-grid[data-view=paired] #connections-layer{display:none}.workbench-grid[data-view=paired] .text-panel{background:transparent;box-shadow:none;padding:0;border-radius:0}.workbench-grid[data-view=paired] .comparison-container>.text-panel{display:none}.workbench-grid[data-view=paired] .text-panel h2,.workbench-grid[data-view=paired] .text-panel .line{display:none}.workbench-grid[data-view=paired] .paired-rows{display:block;width:100%;max-width:var(--reading-max-width);margin:0 auto}#translate-button{padding:10px 24px;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-pill);font-size:.95rem;font-weight:700;letter-spacing:.005em;cursor:pointer;box-shadow:var(--primary-glow);transition:transform .2s,box-shadow .25s,filter .2s}#translate-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 32px #6366f16b,0 4px 10px #6366f138}#translate-button:disabled{background:var(--primary-gradient);cursor:not-allowed;transform:none;box-shadow:none;opacity:.7;filter:grayscale(.15);position:relative;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.text-style-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;margin-bottom:12px;background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.text-style-toolbar[hidden]{display:none!important}.text-style-toolbar-title{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);padding-right:10px;border-right:1px solid rgba(15,23,42,.1);margin-right:2px;flex:0 0 auto}.text-style-title-copy{display:inline-flex;flex-direction:column;gap:1px;line-height:1.05}.text-style-title-copy strong{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.text-style-title-copy small{font-size:.66rem;font-weight:650;letter-spacing:.01em;color:var(--text-tertiary, var(--text-secondary));opacity:.78}.text-style-toolbar-title svg{width:14px;height:14px;fill:currentColor;opacity:.85}.text-style-group{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0}.text-style-group-label{font-size:.72rem;font-weight:600;color:var(--text-tertiary, var(--text-secondary));text-transform:uppercase;letter-spacing:.04em;margin-right:2px;flex:0 0 auto;white-space:nowrap}.text-style-segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:#0f172a0d;border:1px solid var(--hairline);flex:0 0 auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.text-style-option{min-height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .2s ease,color .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.text-style-option:hover{color:var(--text-primary);background:#fff9}.text-style-option[aria-pressed=true]{color:var(--primary-color);background:#fffffffa;box-shadow:0 1px #fffc inset,0 2px 6px #0f172a14}.text-style-option:focus-visible{outline:3px solid rgba(26,115,232,.28);outline-offset:2px}.text-style-option .ts-sample{display:inline-flex;align-items:baseline;gap:1px}.text-style-option[data-text-style-value=sans] .ts-sample{font-family:var(--reading-font)}.text-style-option[data-text-style-value=serif] .ts-sample{font-family:var(--ts-font-serif)}.text-style-option[data-text-style-value=mono] .ts-sample{font-family:var(--ts-font-mono)}.text-style-option[data-text-style-value=sm] .ts-sample{font-size:11px}.text-style-option[data-text-style-value=md] .ts-sample{font-size:13px}.text-style-option[data-text-style-value=lg] .ts-sample{font-size:15px}.text-style-option[data-text-style-value=xl] .ts-sample{font-size:17px}.text-style-option[data-text-style-value=light] .ts-sample{font-weight:300}.text-style-option[data-text-style-value=normal] .ts-sample{font-weight:500}.text-style-option[data-text-style-value=bold] .ts-sample{font-weight:700}.text-style-option[data-text-style-value=upright] .ts-sample{font-style:normal}.text-style-option[data-text-style-value=italic] .ts-sample{font-style:italic}.text-style-option svg{width:14px;height:14px;fill:currentColor;display:block}:root{--ts-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ts-font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--ts-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ts-font-family: var(--ts-font-sans);--ts-font-size: var(--reading-font-size);--ts-line-height: var(--reading-line-height);--ts-font-weight: 500;--ts-alignment: left;--ts-letter-spacing: 0em;--ts-font-style: normal;--ts-word-spacing: .02em;--ts-paragraph-gap: 6px}body.dark-mode{--ts-font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif}#user-text-input{font-family:var(--ts-font-family);font-size:var(--ts-font-size);line-height:var(--ts-line-height);font-weight:var(--ts-font-weight);letter-spacing:var(--ts-letter-spacing);text-align:var(--ts-alignment);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing)}@media(max-width:900px){.text-style-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:8px 10px}.text-style-toolbar-title{border-right:0;padding-right:0}.text-style-title-copy small{display:none}.text-style-group{flex:0 0 auto}}@media(max-width:480px){.text-style-group-label{display:none}.text-style-option{padding:0 8px;min-height:28px}}.text-style-popup-field{position:relative;display:inline-flex;align-items:stretch}.text-style-popup-btn{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid rgba(15,23,42,.1);border-radius:var(--radius-pill);background:transparent;font-family:inherit;font-size:.84rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.text-style-popup-btn:hover{color:var(--text-primary);background:#ffffff8f;border-color:#0f172a24}.text-style-popup-btn[aria-expanded=true]{color:#1a73e8;background:#fffffff5;border-color:#1a73e840}.text-style-popup-btn svg{flex:0 0 auto}.text-style-popup{position:absolute;top:calc(100% + 6px);left:0;right:auto;min-width:340px;max-width:calc(100vw - 24px);background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px;box-shadow:0 8px 30px #0f172a24,0 2px 6px #0f172a0f;z-index:150;padding:14px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px}.text-style-popup[hidden]{display:none!important}.text-style-popup-title{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid rgba(15,23,42,.08)}.text-style-popup-title svg{width:14px;height:14px;fill:currentColor;opacity:.85;flex:0 0 auto}.text-style-popup-title .text-style-title-copy{display:inline-flex;flex-direction:column;gap:1px;line-height:1.05}.text-style-popup-title .text-style-title-copy strong{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.text-style-popup-title .text-style-title-copy small{font-size:.66rem;font-weight:650;letter-spacing:.01em;color:var(--text-tertiary, var(--text-secondary));opacity:.78}.text-style-popup .text-style-group{display:flex;align-items:center;gap:8px}.text-style-popup .text-style-group-label{min-width:52px;flex:0 0 auto}@media(max-width:600px){.text-style-popup-field{display:contents}.text-style-popup-btn{min-height:36px;padding:0 12px;align-self:stretch;order:3}.text-style-popup{position:static;flex:1 1 0;width:auto;min-width:0;max-width:none;min-height:40px;margin-top:0;box-shadow:none;border-color:#0f172a1a;background:#f8fafcf5;order:2;flex-direction:row;align-items:center;gap:8px;padding:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.view-controls-row:has(#text-style-btn[aria-expanded=true]) .view-mode-segmented{display:none}.text-style-popup-title{display:none}.text-style-popup .text-style-group{flex:0 0 auto;gap:6px}.text-style-popup .text-style-group-label{display:inline-flex;min-width:auto;margin-right:0}}.workbench-panel.workbench-right,.workbench-panel.workbench-left{min-height:var(--panel-min-height)}.workbench-grid[data-view=target-only] .comparison-container .text-panel{min-height:120px}.workbench-grid[data-view=target-only] .comparison-container .text-panel:first-of-type{display:none}.workbench-grid[data-view=target-only] #connections-layer{display:none}.workbench-grid[data-view=target-only] .comparison-container{grid-template-columns:1fr;gap:0}.text-panel{max-height:var(--panel-max-height)}.text-panel .line{overflow-wrap:anywhere}.line{font-family:var(--ts-font-family);font-size:var(--ts-font-size);line-height:calc(var(--ts-line-height) + .25);font-weight:var(--ts-font-weight);letter-spacing:var(--ts-letter-spacing);text-align:var(--ts-alignment);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing);margin-bottom:var(--ts-paragraph-gap)}.comparison-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;position:relative}#connections-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50;overflow:visible}.connection-path{fill:none;stroke-width:2px;stroke-linecap:round;opacity:.6;transition:opacity .3s ease;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.connection-pill-fo{overflow:visible;pointer-events:auto}.connection-pill{display:inline-flex;align-items:center;justify-content:center;height:100%;width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #ccc;border-radius:999px;padding:0 10px;font-family:inherit;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;pointer-events:auto;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;box-shadow:0 1px 2px #00000014;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.connection-pill:hover{transform:translateY(-1px);box-shadow:0 3px 6px #0000001f;background:#fafafa}.connection-pill.is-active{background:#fff;box-shadow:0 0 0 2px #0000000f,0 4px 10px #0000002e;transform:translateY(-1px)}.connection-pill:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.connection-popovers{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000}.connection-popover{position:absolute;display:none;flex-direction:column;gap:6px;width:220px;max-width:calc(100vw - 16px);padding:10px 12px;background:#fff;border:1.5px solid #ccc;border-radius:12px;box-shadow:0 10px 24px #0000002e,0 2px 6px #00000014;box-sizing:border-box;pointer-events:auto}.connection-popover.is-open{display:flex}.connection-popover:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1.5px solid #ccc;border-bottom:1.5px solid #ccc;transform:translate(-50%) rotate(45deg)}.connection-popover[data-side=below]:after{top:-7px;bottom:auto;border-top:1.5px solid #ccc;border-right:none;border-bottom:none;border-left:1.5px solid #ccc;transform:translate(-50%) rotate(45deg)}.connection-popover-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;padding-right:22px}.connection-popover-rule{font-size:.78rem;line-height:1.35;color:#475569;font-style:italic;max-height:9em;overflow-y:auto;overscroll-behavior:contain}.connection-popover-close{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:transparent;color:#64748b;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.connection-popover-close:hover,.connection-popover-close:focus-visible{background:#0f172a14;color:#0f172a;outline:none}@media(max-width:480px){.connection-pill{font-size:.6rem;padding:0 8px}.connection-popover{width:200px}}.text-panel{display:flex;flex-direction:column}.text-panel h2,.text-panel .line{flex:0 0 auto}.text-panel{overflow:hidden}.text-panel>:not(h2){min-width:0}.text-panel>.panel-scroll{max-height:calc(var(--panel-max-height) - 4.5rem);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex:1;min-height:0;min-width:0;-webkit-overflow-scrolling:touch;touch-action:pan-y}@supports (scrollbar-gutter: stable){.text-panel>.panel-scroll{scrollbar-gutter:stable}}.text-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--hairline);border-radius:18px;padding:22px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;min-height:0;min-width:0;transition:box-shadow .3s ease,border-color .3s ease}.text-panel:hover{box-shadow:var(--shadow-floating);border-color:#6366f12e}.text-panel h2{margin-top:0;color:var(--text-secondary);border-bottom:1px solid var(--hairline);padding-bottom:12px;margin-bottom:18px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.text-panel h2.panel-head{display:flex;align-items:center;justify-content:flex-start;gap:8px}.panel-head-title{flex:0 0 auto;white-space:nowrap;overflow:visible;display:inline-flex;align-items:center;gap:6px}.panel-head-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:6px;background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 18%,transparent);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.panel-head-icon svg{display:block;width:13px;height:13px}.panel-head-label{display:inline-block;line-height:1;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:var(--text-secondary)}.panel-toggles{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.section-toggle-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:32px;padding:3px 6px 4px;border-radius:8px;border:1px solid var(--hairline);background:var(--bg-card-solid);color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;text-transform:none;letter-spacing:normal;box-shadow:0 1px 2px #0f172a0a}.section-toggle-btn:hover{border-color:#6366f14d;background:#fff;color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px #6366f11a}.section-toggle-btn[aria-pressed=true]{background:color-mix(in srgb,var(--primary-color) 10%,#ffffff);border-color:color-mix(in srgb,var(--primary-color) 40%,transparent);color:var(--primary-color);box-shadow:0 2px 8px #6366f11a}.section-toggle-btn[aria-pressed=false]{opacity:.7}.section-toggle-btn svg{display:block;width:12px;height:12px}.section-toggle-btn--icon-only{min-height:32px;aspect-ratio:1 / 1;padding:0 4px}.section-toggle-label{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;white-space:nowrap}.word{font-weight:600;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;vertical-align:baseline;padding:0 3px;margin:0 .5px;border-radius:var(--word-radius);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;border:1px solid transparent;z-index:0}.word:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:transparent;box-shadow:none;opacity:0;pointer-events:none;z-index:-1}.workbench-grid[data-view=paired] .paired-toggles{display:flex;align-items:center;justify-content:flex-end;gap:4px;max-width:var(--reading-max-width);margin:0 auto 10px;padding:4px 4px 0}.workbench-grid[data-view=paired] .paired-row{position:relative;width:100%;box-sizing:border-box;min-height:1px}.workbench-grid[data-view=paired] .paired-raw{display:block;visibility:hidden;position:absolute;left:0;top:0;width:100%;pointer-events:none;font-size:var(--ts-font-size);font-family:var(--ts-font-family);line-height:calc(var(--ts-line-height) + .35);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing)}.workbench-grid[data-view=paired] .paired-measure{position:absolute;left:0;top:0;width:100%;visibility:hidden;pointer-events:none;white-space:normal;font-size:var(--ts-font-size);font-family:var(--ts-font-family);line-height:calc(var(--ts-line-height) + .35);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing)}.workbench-grid[data-view=paired] .paired-line{display:block;width:100%;font-family:var(--ts-font-family);font-size:var(--ts-font-size);line-height:calc(var(--ts-line-height) + .35);font-weight:var(--ts-font-weight);letter-spacing:var(--ts-letter-spacing);text-align:var(--ts-alignment);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing);white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.workbench-grid[data-view=paired] .paired-line+.paired-line{margin-top:0;padding-top:0;border:none}.workbench-grid[data-view=paired] .paired-target{padding-top:0}.workbench-grid[data-view=paired] .paired-source,.workbench-grid[data-view=paired] .paired-target{color:var(--text-primary)}@media(max-width:600px){.workbench-grid[data-view=paired] .paired-row+.paired-row{margin-top:.65em}}.progress-bar-wrapper{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px}.progress-bar-wrapper[hidden]{display:none!important}.progress-bar-track{flex:1;height:6px;background:#0f172a14;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-gradient);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1);min-width:3%}.switch{position:relative;display:inline-block;width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(18px)}.toggle-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.api-status-area{margin-top:12px;padding:16px;border-radius:var(--radius-md);font-size:.95rem;display:none;text-align:center;font-weight:500}.api-status-area:not(:empty){display:block;animation:fadeIn .3s ease}.api-status-area.loading{background-color:#f0f9ffcc;color:#0369a1;border:1px dashed #0369a1}.api-status-area.error{background-color:#fef2f2cc;color:#be123c;border:1px dashed #be123c}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.setup-header{display:flex;align-items:center;justify-content:flex-start;gap:14px 16px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--hairline)}.setup-header-titles{flex:1 1 auto;min-width:0}.setup-header .setup-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text-primary);text-transform:none;opacity:1}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.is-hidden{display:none}.setup-header .translation-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.setup-header .translation-actions #translate-button{height:38px;padding:0 20px;white-space:nowrap}.translate-options{position:relative;background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:14px 22px;margin-bottom:14px;box-shadow:var(--shadow-glass)}.translate-options-langs{display:flex;flex-direction:column;gap:12px}.lang-row{display:grid;grid-template-columns:var(--lang-label-col, 5.75rem) 1fr 1fr;align-items:center;gap:12px}.translate-options-langs .translation-settings-row{grid-template-columns:var(--lang-label-col, 5.75rem) minmax(0,1fr) 34px minmax(0,1fr);gap:10px}.language-swap-btn{width:34px;height:34px;align-self:center;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 8%,var(--bg-card-solid));border:1px solid color-mix(in srgb,var(--primary-color) 22%,transparent);border-radius:10px;cursor:pointer;box-shadow:0 1px 2px #0f172a0a;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.language-swap-btn:hover{transform:rotate(180deg);background:color-mix(in srgb,var(--primary-color) 14%,var(--bg-card-solid));border-color:color-mix(in srgb,var(--primary-color) 40%,transparent);box-shadow:0 5px 14px #6366f124}.language-swap-btn:active{transform:rotate(180deg) scale(.94)}.language-swap-spacer{width:34px}.construction-panel-body .lang-row{width:100%;grid-template-columns:var(--lang-label-col, 5.75rem) 1fr}.opt-field{display:block;min-width:0}.row-label{display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;gap:3px;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);line-height:1.1;min-width:0}.row-label-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:6px;background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 18%,transparent);transition:background .2s ease,transform .2s ease,box-shadow .2s ease;align-self:center}.row-label-icon svg{display:block;width:13px;height:13px}.row-label:hover .row-label-icon{background:color-mix(in srgb,var(--primary-color) 18%,transparent);transform:translateY(-1px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 28%,transparent)}.translate-options-display{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline)}.translate-options-display .view-controls{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.view-controls-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.view-mode-hint{margin:0;font-size:.8rem;line-height:1.35;color:var(--text-tertiary);font-weight:500;max-width:46ch}.select-wrap{position:relative;display:block;width:100%}.select-wrap .select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:var(--text-secondary);opacity:.6;pointer-events:none;transition:opacity .2s ease}.select-wrap:hover .select-chevron{opacity:.9}.language-input{width:100%;height:44px;padding:0 40px 0 16px;border:1px solid var(--hairline);background-color:var(--bg-card-solid);border-radius:12px;font-family:inherit;font-size:.92rem;font-weight:600;line-height:44px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 1px 2px #0f172a0a;caret-color:var(--primary-color)}.language-input::-webkit-calendar-picker-indicator{display:none!important;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.language-input::-webkit-list-button{display:none!important}.language-input:hover{border-color:#6366f14d;box-shadow:0 4px 14px #6366f114}.language-input:focus{border-color:#6366f180;background-color:#fff;box-shadow:0 0 0 3px #6366f124,0 1px 2px #0f172a0a;outline:none;cursor:text}.opt-field .select-wrap-sm{display:block;width:100%}.opt-field .phonetics-select{width:100%;height:44px;min-width:0;font-size:.95rem}.ctl-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.75;flex:0 0 auto}.translit-glyph{width:22px;height:22px;border-radius:6px;border:1px solid rgba(15,23,42,.16);background:#0f172a0a;font-size:.82rem;font-weight:600;line-height:1;color:var(--text-secondary);opacity:.9}.phonetics-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.select-wrap-sm{display:inline-block;width:auto}.select-wrap-sm .select-chevron{right:8px;width:16px;height:16px}.phonetics-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:44px;min-width:104px;padding:0 30px 0 14px;border-radius:12px;border:1px solid var(--hairline);background:var(--bg-card-solid);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 1px 2px #0f172a0a}.phonetics-select:hover{border-color:#6366f14d;box-shadow:0 4px 14px #6366f114}.phonetics-select:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f124,0 1px 2px #0f172a0a;background:#fff}.credit-header-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0;font-weight:700;line-height:1;white-space:nowrap;width:38px;height:38px;box-sizing:border-box;border-radius:11px;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 8%,#ffffff);border:1px solid color-mix(in srgb,var(--primary-color) 25%,transparent);box-shadow:0 1px 2px #0f172a0a;transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease,color .2s ease}.credit-header-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 40%,transparent);background:color-mix(in srgb,var(--primary-color) 14%,#ffffff);transform:translateY(-1px);box-shadow:0 4px 12px #6366f12e}.credit-header-btn:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.credit-header-btn svg{display:none}.credit-header-count{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;font-size:.72rem;font-weight:700;color:currentColor}.credit-header-count .credit-num{padding:0 3px}.credit-header-count .credit-den{padding:1px 3px 0;margin-top:1px;border-top:1.5px solid currentColor;opacity:.85}.credit-header-btn[hidden]{display:none}.credit-header-count{color:currentColor}.tag-bar{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.tag-bar-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.style-popup-field{position:relative}.style-selector-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 32px 0 14px;border:1px solid rgba(15,23,42,.14);border-radius:12px;background:#fff;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}.style-selector-btn:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:var(--text-secondary);opacity:.7;pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain}.style-selector-btn:hover{border-color:#1a73e873}.style-selector-btn:focus{outline:none;border-color:#1a73e8a6;box-shadow:0 0 0 3px #1a73e829}.style-popup{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px;box-shadow:0 8px 24px #0f172a1f,0 2px 6px #0f172a0f;z-index:100;overflow:hidden}.style-option{display:block;width:100%;padding:10px 14px;border:none;background:transparent;font-family:inherit;font-size:.88rem;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .12s ease}.style-option:hover{background:#0f172a0d}.style-option[aria-selected=true]{background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color);font-weight:600}.style-option:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.word-info{display:none;font-size:.48em;font-weight:800;text-transform:uppercase;color:inherit;opacity:.95;margin-top:0;line-height:1;letter-spacing:.05em;text-align:center}.word-phonetic{display:none;font-size:.72em;font-weight:500;color:#0f172aa6;line-height:1;margin-top:0;letter-spacing:.01em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.show-phonetics .word-phonetic,.show-source-phonetics .text-panel[data-role=source] .word-phonetic,.show-target-phonetics .text-panel[data-role=target] .word-phonetic,.show-source-phonetics .paired-raw-source .word-phonetic,.show-target-phonetics .paired-raw-target .word-phonetic,.show-source-phonetics .paired-line.paired-source .word-phonetic,.show-target-phonetics .paired-line.paired-target .word-phonetic{display:block}.word{position:relative;touch-action:manipulation}@media(hover:hover)and (pointer:fine){.word:hover .word-info{display:block;position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:2px;white-space:nowrap;background:#0f172af2;color:#fff;padding:3px 7px;border-radius:5px;box-shadow:0 3px 8px #00000040;z-index:1000;pointer-events:none}.word:hover .word-info:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#0f172af2}.word:hover:not(.word-linked-highlight){background-color:#ffffffe6;border-color:var(--word-outline);box-shadow:var(--word-shadow);z-index:5}}.show-all-tags .word-info,.show-source-tags .text-panel[data-role=source] .word-info,.show-target-tags .text-panel[data-role=target] .word-info,.show-source-tags .paired-raw-source .word-info,.show-target-tags .paired-raw-target .word-info,.show-source-tags .paired-line.paired-source .word-info,.show-target-tags .paired-line.paired-target .word-info{display:block;position:static;transform:none;white-space:nowrap;background:transparent;color:inherit;padding:0;margin-top:0;box-shadow:none;opacity:.7;pointer-events:none}.show-all-tags .word-info:after,.show-source-tags .text-panel[data-role=source] .word-info:after,.show-target-tags .text-panel[data-role=target] .word-info:after,.show-source-tags .paired-raw-source .word-info:after,.show-target-tags .paired-raw-target .word-info:after,.show-source-tags .paired-line.paired-source .word-info:after,.show-target-tags .paired-line.paired-target .word-info:after{display:none}.g-loading{opacity:.05;pointer-events:none}.g-noun{color:var(--color-noun)}.g-verb{color:var(--color-verb)}.g-adj{color:var(--color-adj)}.g-adv{color:var(--color-adv)}.g-prep{color:var(--color-prep)}.g-det{color:var(--color-det)}.g-conj{color:var(--color-conj)}.g-pron{color:var(--color-pron, var(--color-other))}.g-num{color:var(--color-num, var(--color-other))}.g-intj{color:var(--color-intj, var(--color-other))}.g-punct{color:var(--color-punct, var(--color-other))}.g-part{color:var(--color-part, var(--color-other))}.g-other{color:var(--color-other)}.word.g-noun,.word.g-verb,.word.g-adj,.word.g-adv,.word.g-prep,.word.g-det,.word.g-conj,.word.g-pron,.word.g-num,.word.g-intj,.word.g-punct,.word.g-part,.word.g-other{text-shadow:0 0 0 rgba(0,0,0,0)}@media(prefers-contrast:more){.word.g-noun,.word.g-verb,.word.g-adj,.word.g-adv,.word.g-prep,.word.g-det,.word.g-conj,.word.g-pron,.word.g-num,.word.g-intj,.word.g-punct,.word.g-part,.word.g-other{text-shadow:0 0 .5px rgba(15,23,42,.35)}}@media(prefers-contrast:more)and (hover:hover)and (pointer:fine){.word:hover:not(.word-linked-highlight){border-color:#0f172a38}}.word-linked-highlight{color:var(--word-highlight-text)!important;z-index:100}.word-linked-highlight:before{opacity:1;background-color:var(--word-highlight-bg);box-shadow:0 8px 16px -4px var(--word-highlight-shadow),0 0 0 1px var(--word-highlight-border)}.word-phonetic{color:#0f172ab8}.word-linked-highlight .word-phonetic{color:var(--word-highlight-text);opacity:.85}.grammar-legend{margin-top:10px;padding:12px 16px;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-glass);border:1px solid rgba(146,64,14,.1);display:flex;align-items:center;justify-content:space-between;gap:16px}.grammar-legend[hidden]{display:none}.grammar-legend-items{display:flex;flex-wrap:wrap;gap:12px 20px;flex:1}.grammar-legend-item{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:3px 6px;font-size:.85rem;font-weight:500;color:var(--text-primary);transition:background .15s ease,box-shadow .15s ease}.grammar-legend-item.is-selected{background:#1a73e814;box-shadow:0 0 0 1px #1a73e838}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-dot.g-noun{background-color:var(--color-noun)}.legend-dot.g-verb{background-color:var(--color-verb)}.legend-dot.g-adj{background-color:var(--color-adj)}.legend-dot.g-adv{background-color:var(--color-adv)}.legend-dot.g-prep{background-color:var(--color-prep)}.legend-dot.g-det{background-color:var(--color-det)}.legend-dot.g-conj{background-color:var(--color-conj)}.legend-dot.g-pron{background-color:var(--color-pron, var(--color-other))}.legend-dot.g-num{background-color:var(--color-num, var(--color-other))}.legend-dot.g-intj{background-color:var(--color-intj, var(--color-other))}.legend-dot.g-punct{background-color:var(--color-punct, var(--color-other))}.legend-dot.g-part{background-color:var(--color-part, var(--color-other))}.legend-dot.g-other{background-color:var(--color-other)}@media(max-width:600px){.grammar-legend-items{gap:8px 12px}.grammar-legend-item{font-size:.8rem}}.palette-switcher-inline{position:relative;display:flex;align-items:center}.grammar-legend .palette-switcher-inline{flex-shrink:0}.palette-switcher-btn-inline{width:36px;height:36px;border-radius:50%;border:2px solid rgba(217,119,6,.4);background:var(--bg-card);cursor:pointer;box-shadow:var(--shadow-glass);transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:4px}.palette-switcher-btn-inline:hover{transform:scale(1.05);box-shadow:0 3px 10px #92400e26;border-color:#d9770699}.palette-switcher-btn-inline:active{transform:scale(.95)}.palette-preview-inline{display:flex;flex-wrap:wrap;gap:2px;width:20px;height:20px;align-content:center;justify-content:center}.palette-preview-inline .palette-dot{width:8px;height:8px;border-radius:50%;display:block}.palette-preview-inline .dot-noun{background-color:var(--color-noun)}.palette-preview-inline .dot-verb{background-color:var(--color-verb)}.palette-preview-inline .dot-adj{background-color:var(--color-adj)}.palette-preview-inline .dot-adv{background-color:var(--color-adv)}.palette-menu-inline{position:absolute;bottom:44px;left:50%;transform:translate(-50%);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating),0 8px 32px #0000001f;padding:8px;min-width:170px;max-width:min(260px,calc(100vw - 24px));max-height:min(60vh,420px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex-direction:column;gap:4px;border:1px solid rgba(217,119,6,.2);z-index:250}.palette-menu-inline::-webkit-scrollbar{width:10px}.palette-menu-inline::-webkit-scrollbar-track{background:transparent}.palette-menu-inline::-webkit-scrollbar-thumb{background:#94a3b8b3;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.palette-menu-inline::-webkit-scrollbar-thumb:hover{background:#94a3b8e6;background-clip:padding-box}.palette-menu-inline[hidden]{display:none}.palette-menu-inline:not([hidden]){display:flex}.palette-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:all .15s ease;text-align:left;width:100%;min-width:0}.palette-option .dot-noun{background:var(--preview-noun, var(--color-noun))}.palette-option .dot-verb{background:var(--preview-verb, var(--color-verb))}.palette-option .dot-adj{background:var(--preview-adj, var(--color-adj))}.palette-option .dot-adv{background:var(--preview-adv, var(--color-adv))}.palette-option[data-palette=default]{--preview-noun: #0369a1;--preview-verb: #be123c;--preview-adj: #15803d;--preview-adv: #b45309}.palette-option[data-palette=warm]{--preview-noun: #92400e;--preview-verb: #be123c;--preview-adj: #15803d;--preview-adv: #a16207}.palette-option[data-palette=cool]{--preview-noun: #1e40af;--preview-verb: #0891b2;--preview-adj: #059669;--preview-adv: #7c3aed}.palette-option[data-palette=pastel]{--preview-noun: #5b21b6;--preview-verb: #be185d;--preview-adj: #047857;--preview-adv: #b45309}.palette-option[data-palette=mono]{--preview-noun: #334155;--preview-verb: #52525b;--preview-adj: #404040;--preview-adv: #525252}.palette-option[data-palette=bright]{--preview-noun: #0066ff;--preview-verb: #ff0066;--preview-adj: #00cc44;--preview-adv: #ff9900}.palette-option[data-palette=arctic]{--preview-noun: #1d4ed8;--preview-verb: #dc2626;--preview-adj: #16a34a;--preview-adv: #7c3aed}.palette-option[data-palette=dusk]{--preview-noun: #4338ca;--preview-verb: #db2777;--preview-adj: #15803d;--preview-adv: #b45309}.palette-option[data-palette=sage]{--preview-noun: #0f766e;--preview-verb: #c2410c;--preview-adj: #15803d;--preview-adv: #a16207}.palette-option[data-palette=royal]{--preview-noun: #1d4ed8;--preview-verb: #e11d48;--preview-adj: #16a34a;--preview-adv: #d97706}.palette-option[data-palette=tropical]{--preview-noun: #0ea5e9;--preview-verb: #f43f5e;--preview-adj: #22c55e;--preview-adv: #f97316}.palette-option[data-palette=cyber]{--preview-noun: #2563eb;--preview-verb: #ff2d8b;--preview-adj: #00c853;--preview-adv: #ffb020}.palette-option[data-palette=candy]{--preview-noun: #7c3aed;--preview-verb: #ff1f6d;--preview-adj: #00b894;--preview-adv: #ff8a00}.palette-option[data-palette=retro]{--preview-noun: #0ea5e9;--preview-verb: #ef4444;--preview-adj: #22c55e;--preview-adv: #f59e0b}.palette-option[data-palette=acid]{--preview-noun: #003cff;--preview-verb: #ff005d;--preview-adj: #00a63e;--preview-adv: #ff7a00}.palette-option[data-palette=vaporwave]{--preview-noun: #00d2ff;--preview-verb: #ff2bd6;--preview-adj: #00d07f;--preview-adv: #ffb703}.palette-option[data-palette=glitch]{--preview-noun: #00e5ff;--preview-verb: #ff2b6a;--preview-adj: #8cff00;--preview-adv: #ffd400}.palette-option[data-palette=prism]{--preview-noun: #0057ff;--preview-verb: #ff3d00;--preview-adj: #00c853;--preview-adv: #b400ff}.palette-option:hover{background:#d977061a}.palette-option[aria-selected=true]{background:#d9770626;font-weight:600}.palette-option-dots{display:flex;gap:3px;flex-shrink:0}.palette-option-dots .palette-dot{width:9px;height:9px;border-radius:50%;display:block}.palette-name{font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.construction-panel{background:var(--bg-card);border-bottom:1px solid var(--border-color, #e2e8f0);padding:.75rem var(--content-gutter, 1.5rem);position:sticky;top:var(--app-header-h, 0px);z-index:190;box-shadow:0 1px 4px #0000000f}.construction-panel[hidden]{display:none!important}.construction-panel-inner{max-width:var(--content-max-width, 1400px);margin:0 auto;min-width:0}.construction-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:.5rem}.construction-panel-title{display:inline-flex;align-items:center;gap:.4rem;flex:1 1 auto;min-width:0;font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em}.construction-panel-title svg{fill:currentColor;opacity:.8}.construction-panel-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0;justify-content:flex-end}.construction-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.construction-badge-warn{background:#eab3081f;color:#a16207;border:1px solid rgba(234,179,8,.35)}.construction-badge-warn svg{fill:currentColor}.construction-panel-close{width:28px;height:28px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.construction-panel-close:hover{background:#fffffff2;border-color:#0f172a33;color:var(--text-primary)}.construction-panel-close svg{fill:currentColor}.construction-panel-body{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center}.construction-row{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.construction-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.construction-value{font-size:.82rem;color:var(--text-primary);font-weight:500}.construction-link-wrap{display:inline-flex;align-items:center;gap:.35rem;flex:1 1 260px;max-width:100%;min-width:0;background:#0f172a0a;border:1px solid rgba(15,23,42,.1);border-radius:6px;padding:.25rem .5rem}.construction-link{font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--primary-color);font-weight:600;min-width:0;overflow-wrap:anywhere;word-break:break-all}.construction-copy-btn{width:24px;height:24px;flex:0 0 auto;border-radius:4px;border:none;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.construction-copy-btn:hover{background:#0f172a14;color:var(--text-primary)}.construction-copy-btn svg{fill:currentColor}body[data-build-mode=standalone] .construction-panel,body[data-build-mode=standalone] .server-toggle-btn{display:none!important}.server-toggle-btn{border-color:#1a73e859;color:var(--primary-color)}.server-toggle-btn[hidden]{display:none!important}.server-toggle-btn svg{opacity:1}footer{text-align:center;padding:40px;color:var(--text-secondary);font-size:.85rem;margin-top:auto;font-weight:600;opacity:.8}.standalone-api-panel{background:var(--bg-card);border-bottom:1px solid var(--border-color, #e2e8f0);padding:.55rem var(--content-gutter, 1.5rem);position:sticky;top:0;z-index:200;box-shadow:0 1px 4px #0000000f}.standalone-api-inner{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:var(--content-max-width, 1400px);margin:0 auto}.standalone-api-label{display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.standalone-api-input{flex:1 1 220px;min-width:160px;max-width:340px;padding:.3rem .6rem;border:1px solid var(--border-color, #cbd5e1);border-radius:6px;font-size:.82rem;background:var(--bg-app);color:var(--text-primary);font-family:monospace}.standalone-model-input{max-width:220px;font-family:monospace}.standalone-api-status{font-size:.78rem;color:var(--primary-color);font-weight:500}body:not([data-build-mode=standalone]) .standalone-api-panel,body[data-build-mode=backend] .standalone-api-panel{display:none!important}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a52;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);z-index:299;opacity:0;transition:opacity .22s ease;pointer-events:none}.auth-backdrop.open{opacity:1;pointer-events:auto}.auth-container{position:fixed;top:calc(var(--app-header-h, 56px) + 10px);right:1rem;width:min(380px,calc(100vw - 2rem));max-height:min(82vh,640px);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:18px;padding:0;z-index:300;box-shadow:var(--shadow-floating);transform-origin:top right;transform:scale(.94) translateY(-10px);opacity:0;transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .22s ease;pointer-events:none}.auth-container.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.auth-content-fade{animation:auth-content-in .22s ease}@keyframes auth-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-panel{display:flex;flex-direction:column}.auth-handle{display:none}.auth-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;font-size:.92rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;transition:background .15s ease;position:sticky;top:0;background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:1;border-radius:18px 18px 0 0}.auth-header-clickable{cursor:pointer}.auth-header-clickable:hover{background:color-mix(in srgb,var(--border-color) 18%,transparent)}.auth-header-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--primary-gradient);color:#fff;flex-shrink:0;box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color) 25%,transparent)}.auth-header-icon svg{fill:#fff}.auth-header-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.auth-header-back,.auth-header-back[hidden]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;margin-left:-4px;transition:background .15s ease,color .15s ease,transform .15s ease}.auth-header-back[hidden]{display:none}.auth-header-back:hover{background:color-mix(in srgb,var(--border-color) 30%,transparent);color:var(--text-primary)}.auth-header-back:active{transform:scale(.95)}.auth-header-back svg{fill:currentColor}.auth-header-close{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;transition:background .15s ease,color .15s ease,transform .15s ease}.auth-header-close:hover{background:color-mix(in srgb,var(--border-color) 30%,transparent);color:var(--text-primary)}.auth-header-close:active{transform:scale(.95)}.auth-header-close svg{fill:currentColor}.auth-content{display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.4rem;gap:1rem}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-form-group{display:flex;flex-direction:column;gap:.35rem}.auth-form-group label{font-size:.8rem;font-weight:600;color:var(--text-primary);opacity:.85;letter-spacing:.005em;display:flex;align-items:center;gap:.4rem}.auth-form-group .auth-label-end{margin-left:auto;font-weight:500;font-size:.75rem;opacity:1}.auth-optional{font-weight:400;opacity:.55;font-size:.72rem}.auth-form-group input{padding:.6rem .85rem;border:1.5px solid var(--border-color);border-radius:10px;font-size:.9rem;background:var(--bg-card-solid);color:var(--text-primary);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;font-family:var(--ui-font);line-height:1.4;box-shadow:inset 0 1px 2px #0f172a08}.auth-form-group input:hover:not(:focus){border-color:color-mix(in srgb,var(--text-primary) 18%,var(--border-color))}.auth-form-group input:focus{outline:none;border-color:var(--primary-color);background:var(--bg-card-solid);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 14%,transparent),inset 0 1px 2px #0f172a05}.auth-form-group input::placeholder{color:var(--text-secondary);opacity:.5}.auth-inline-link{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:0;font-size:inherit;font-family:var(--ui-font);transition:color .15s ease}.auth-inline-link:hover{color:color-mix(in srgb,var(--primary-color) 75%,white);text-decoration:underline;text-underline-offset:2px}.auth-callout{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border-radius:10px;font-size:.82rem;font-weight:500;line-height:1.4;min-height:0}.auth-callout svg{flex-shrink:0;margin-top:1px;fill:currentColor}.auth-callout:empty{display:none}.auth-callout-error{color:#b91c1c;background:color-mix(in srgb,#dc2626 10%,transparent);border:1px solid color-mix(in srgb,#dc2626 20%,transparent)}body.dark-mode .auth-callout-error{color:#fca5a5;background:color-mix(in srgb,#dc2626 14%,transparent);border-color:color-mix(in srgb,#dc2626 24%,transparent)}.auth-callout-success{color:#15803d;background:color-mix(in srgb,#16a34a 10%,transparent);border:1px solid color-mix(in srgb,#16a34a 20%,transparent)}body.dark-mode .auth-callout-success{color:#86efac;background:color-mix(in srgb,#16a34a 14%,transparent);border-color:color-mix(in srgb,#16a34a 24%,transparent)}.auth-error{color:#dc2626;font-size:.8rem;font-weight:500;min-height:0;line-height:1.4}.auth-success{color:#16a34a;font-size:.8rem;font-weight:500;line-height:1.4}.auth-success-message{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1rem .25rem .25rem}.auth-success-message .auth-success-icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d;margin-bottom:.25rem}.auth-success-message .auth-success-icon svg{fill:currentColor}body.dark-mode .auth-success-message .auth-success-icon{color:#86efac}.auth-success-message p{margin:0;font-size:.88rem;color:var(--text-primary);line-height:1.5}.auth-success-message p+p{color:var(--text-secondary);font-size:.82rem}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);opacity:.6}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-actions{display:flex;gap:.55rem;flex-wrap:wrap;padding-top:.25rem}.auth-actions .auth-btn{flex:1;text-align:center;justify-content:center;min-width:0}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.2rem;border:none;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);font-family:var(--ui-font);line-height:1.3;white-space:nowrap;letter-spacing:-.005em}.auth-btn:active{transform:scale(.97)}.auth-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color) 30%,transparent);outline-offset:2px}.auth-btn svg{flex-shrink:0;fill:currentColor}.auth-btn[disabled]{opacity:.6;cursor:not-allowed;transform:none!important}.auth-btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 1px #ffffff2e inset,0 4px 14px color-mix(in srgb,var(--primary-color) 28%,transparent)}.auth-btn-primary:hover{transform:translateY(-1px);box-shadow:0 1px #fff3 inset,0 8px 22px color-mix(in srgb,var(--primary-color) 38%,transparent)}.auth-btn-primary:active{transform:translateY(0) scale(.98)}.auth-btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 14px #dc262647}.auth-btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 22px #dc26265c}.auth-btn-danger:active{transform:translateY(0) scale(.98)}.auth-btn-secondary{background:color-mix(in srgb,var(--text-primary) 5%,transparent);color:var(--text-primary);border:1px solid var(--border-color)}.auth-btn-secondary:hover{background:color-mix(in srgb,var(--text-primary) 9%,transparent);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent)}.auth-switch{font-size:.82rem;color:var(--text-secondary);text-align:center;padding-top:.25rem;line-height:1.5}.auth-link{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:0;font-size:inherit;font-family:var(--ui-font);transition:color .15s ease}.auth-link:hover{color:color-mix(in srgb,var(--primary-color) 75%,white);text-decoration:underline;text-underline-offset:2px}.auth-profile{display:flex;flex-direction:column;gap:.9rem}.auth-profile-header{display:flex;align-items:center;gap:.9rem;padding:.9rem .95rem;background:color-mix(in srgb,var(--bg-app) 60%,transparent);border:1px solid var(--border-color);border-radius:14px;min-width:0}.auth-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:700;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 18%,transparent),0 4px 14px color-mix(in srgb,var(--primary-color) 30%,transparent);text-shadow:0 1px 2px rgba(0,0,0,.08)}.auth-profile-info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.auth-username{font-size:1rem;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere;line-height:1.3;letter-spacing:-.005em;display:flex;align-items:center;gap:.4rem}.auth-email{font-size:.8rem;color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.35}.auth-meta{font-size:.72rem;color:var(--text-secondary);opacity:.75;margin-top:.1rem}.auth-email-status{display:flex;flex-direction:column;gap:.5rem}.auth-verified-badge,.auth-unverified-badge{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.3rem .65rem;font-size:.76rem;font-weight:600;border-radius:999px;line-height:1.3}.auth-verified-badge svg,.auth-unverified-badge svg{fill:currentColor;flex-shrink:0}.auth-verified-badge{color:#15803d;background:color-mix(in srgb,#16a34a 12%,transparent);border:1px solid color-mix(in srgb,#16a34a 22%,transparent)}.auth-unverified-badge{color:#b45309;background:color-mix(in srgb,#d97706 12%,transparent);border:1px solid color-mix(in srgb,#d97706 22%,transparent)}body.dark-mode .auth-verified-badge{color:#86efac}body.dark-mode .auth-unverified-badge{color:#fdba74}.auth-resend-btn{font-size:.78rem;padding:.42rem .85rem;align-self:flex-start}.auth-tier-badge{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;padding:.4rem .75rem;font-size:.78rem;font-weight:700;letter-spacing:.005em;color:#fff;background:var(--primary-gradient);border-radius:999px;box-shadow:0 2px 8px color-mix(in srgb,var(--primary-color) 28%,transparent)}.auth-tier-badge svg{flex-shrink:0;fill:currentColor}.auth-tier-badge span{white-space:nowrap}.auth-credits-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem .9rem;background:color-mix(in srgb,var(--bg-app) 60%,transparent);border:1px solid var(--border-color);border-radius:12px}.auth-credits-label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.auth-credits-count{font-size:.85rem;font-weight:700;color:var(--primary-color);margin-left:auto;font-variant-numeric:tabular-nums}.auth-credits-track{width:100%;height:6px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);border-radius:3px;overflow:hidden}.auth-credits-fill{height:100%;background:var(--primary-gradient);border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.auth-referral-section{padding:.85rem .9rem;background:color-mix(in srgb,var(--bg-app) 60%,transparent);border:1px solid var(--border-color);border-radius:12px}.auth-referral-header{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;color:var(--text-primary);margin-bottom:.35rem}.auth-referral-header svg{fill:var(--primary-color);flex-shrink:0}.auth-referral-desc{font-size:.75rem;color:var(--text-secondary);margin:0 0 .55rem;line-height:1.45}.auth-referral-link-wrap{display:flex;align-items:center;gap:.4rem;background:var(--bg-card-solid);border:1px solid var(--border-color);border-radius:8px;padding:.4rem .5rem;transition:border-color .15s ease}.auth-referral-link-wrap:hover{border-color:color-mix(in srgb,var(--primary-color) 35%,var(--border-color))}.auth-referral-link{flex:1;font-size:.75rem;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;min-width:0}.auth-referral-copy-btn{flex:0 0 auto;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s ease}.auth-referral-copy-btn:hover{background:color-mix(in srgb,var(--border-color) 30%,transparent);color:var(--primary-color)}.auth-referral-copy-btn:active{transform:scale(.92)}.auth-referral-copy-btn svg{fill:currentColor}.auth-profile-actions{display:flex;flex-direction:column;gap:.45rem;padding-top:.4rem;margin-top:.1rem;border-top:1px solid var(--border-color)}.auth-profile-actions .auth-btn{width:100%;text-align:center;justify-content:flex-start;padding-left:.85rem}.auth-delete-warning{display:flex;flex-direction:column;gap:.75rem;font-size:.86rem;color:var(--text-secondary);line-height:1.55}.auth-delete-banner{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .85rem;background:color-mix(in srgb,#dc2626 8%,transparent);border:1px solid color-mix(in srgb,#dc2626 20%,transparent);border-radius:12px;color:#b91c1c;font-size:.84rem;line-height:1.5}body.dark-mode .auth-delete-banner{color:#fca5a5}.auth-delete-banner svg{flex-shrink:0;margin-top:1px;fill:currentColor}.auth-delete-banner p{margin:0}.auth-delete-warning .auth-form{margin-top:.1rem}.auth-screen-heading{margin:0 0 .25rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);line-height:1.4}.auth-toggle-btn .auth-toggle-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-toggle-btn.is-authenticated{border-color:color-mix(in srgb,var(--primary-color) 40%,transparent);color:var(--primary-color)}.auth-toggle-btn.is-authenticated svg{opacity:1}.auth-toolbar-btn.is-authenticated{color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color) 25%,transparent)}.auth-toolbar-btn.is-authenticated svg{opacity:1}.auth-toolbar-btn.is-open{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color)}body[data-build-mode=standalone] .auth-container,body[data-build-mode=standalone] .auth-toggle-btn,body[data-build-mode=standalone] .auth-backdrop{display:none!important}.loader{font-size:1.2rem;text-align:center;padding:40px;color:var(--primary-color);background:transparent;font-weight:800;letter-spacing:.05em;animation:bounceScale 1.5s infinite ease-in-out;text-shadow:0 0 30px rgba(217,119,6,.2)}@keyframes bounceScale{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}body.dark-mode .auth-backdrop{background:#0000008c;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}body.dark-mode .auth-container{box-shadow:0 24px 60px #0000008c,0 6px 18px #0000004d}body.dark-mode .auth-header{background:var(--bg-card)}body.dark-mode .auth-form-group input{background:color-mix(in srgb,var(--bg-card-solid) 85%,black);box-shadow:inset 0 1px 2px #0003}body.dark-mode .auth-form-group input:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 18%,transparent),inset 0 1px 2px #00000026}body.dark-mode .auth-profile-header,body.dark-mode .auth-credits-bar,body.dark-mode .auth-referral-section{background:color-mix(in srgb,var(--bg-card-solid) 60%,transparent)}body.dark-mode .auth-referral-link-wrap{background:color-mix(in srgb,var(--bg-card-solid) 80%,black)}@media(max-width:768px){.auth-container{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);border-radius:24px 24px 0 0;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(100%);transform-origin:bottom center;transition:transform .36s cubic-bezier(.34,1.4,.64,1),opacity .25s ease;box-shadow:0 -12px 50px #0f172a33,0 -3px 14px #0f172a14;touch-action:pan-y;overscroll-behavior:contain}.auth-container.open{transform:translateY(0)}.auth-handle{position:relative;display:block;width:100%;height:22px;margin:0;padding:10px 0 7px;background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.auth-handle:before{content:"";display:block;width:44px;height:5px;margin:0 auto;border-radius:3px;background:color-mix(in srgb,var(--text-primary) 35%,transparent);transition:background .15s ease,width .15s ease}.auth-handle:hover:before,.auth-handle:focus-visible:before{background:color-mix(in srgb,var(--text-primary) 55%,transparent)}.auth-handle:active:before{width:56px;background:color-mix(in srgb,var(--text-primary) 65%,transparent)}.auth-header{border-radius:0;padding:.35rem .9rem .85rem;padding-right:max(.9rem,env(safe-area-inset-right,.9rem))}.auth-content{padding:.4rem 1.1rem 0;gap:.9rem}.auth-form-group input{font-size:16px;min-height:48px;padding:.7rem .9rem}.auth-btn{min-height:48px;padding:.7rem 1.25rem;font-size:.92rem}.auth-header-back,.auth-header-back[hidden]{width:40px;height:40px;margin-left:-6px}.auth-header-close{width:40px;height:40px;margin-left:auto}.auth-avatar{width:56px;height:56px;font-size:1.35rem}.auth-profile-header{padding:1rem;gap:.95rem}.auth-username{font-size:1rem}.auth-form>.auth-actions{position:sticky;bottom:0;margin:.6rem -1.1rem 0;padding:1.6rem 1.1rem .9rem;padding-bottom:max(.9rem,env(safe-area-inset-bottom,.9rem));background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-card) 0%,transparent) 0%,var(--bg-card) 55%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);gap:.55rem}.auth-form>.auth-actions .auth-btn{min-height:48px;box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color) 22%,transparent)}.auth-form{padding-bottom:.5rem}.auth-label-end{min-height:44px;display:inline-flex;align-items:center;padding:0 .25rem}}@media(max-width:480px){.auth-container{border-radius:20px 20px 0 0}.auth-handle{height:20px;padding:9px 0 6px}.auth-handle:before{width:40px;height:4px}.auth-header{border-radius:0;padding:.3rem .9rem .75rem}.auth-content{padding:.3rem 1rem 0;gap:.85rem}.auth-form>.auth-actions{margin:.5rem -1rem 0;padding:1.4rem 1rem .8rem;padding-bottom:max(.8rem,env(safe-area-inset-bottom,.8rem))}.auth-form>.auth-actions:not(:has(.auth-btn:only-child)){flex-direction:column}.auth-avatar{width:50px;height:50px;font-size:1.2rem}.auth-profile-header{padding:.85rem .9rem;gap:.85rem}.auth-tier-badge{font-size:.72rem;padding:.32rem .65rem}.auth-profile-actions .auth-btn{min-height:48px;padding:.7rem .9rem}}@media(max-width:380px){.auth-avatar{width:44px;height:44px;font-size:1.1rem}.auth-username{font-size:.95rem}.auth-header-back,.auth-header-back[hidden],.auth-header-close{width:32px;height:32px}}.admin-panel{background:var(--bg-card);border-bottom:1px solid var(--border-color, #e2e8f0);padding:.75rem var(--content-gutter, 1.5rem);position:sticky;top:var(--app-header-h, 0px);z-index:189;box-shadow:0 1px 4px #0000000f}.admin-panel[hidden]{display:none!important}.admin-panel-inner{max-width:var(--content-max-width, 1400px);margin:0 auto;min-width:0}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:.5rem}.admin-panel-title{display:inline-flex;align-items:center;gap:.4rem;flex:1 1 auto;min-width:0;font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em}.admin-panel-title svg{fill:currentColor;opacity:.8}.admin-panel-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0;justify-content:flex-end}.admin-panel-close{width:28px;height:28px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.admin-panel-close:hover{background:#fffffff2;border-color:#0f172a33;color:var(--text-primary)}.admin-panel-close svg{fill:currentColor}.admin-panel-body{display:flex;flex-direction:column;gap:.75rem}.admin-auth-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.admin-token-input{font-size:.82rem;padding:.35rem .5rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-input, #fff);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;min-width:220px}.admin-token-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1a73e826}.admin-token-status{font-size:.78rem;color:var(--text-secondary);font-weight:500}.admin-token-status[data-kind=ok]{color:#15803d}.admin-token-status[data-kind=err]{color:#b91c1c}.admin-token-status[data-kind=busy]{color:var(--text-secondary)}.admin-content{display:flex;flex-direction:column;gap:.75rem}.admin-totals{display:flex;flex-wrap:wrap;gap:.5rem}.admin-total-card{flex:1 1 120px;min-width:100px;background:#0f172a08;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.2rem}.admin-total-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.admin-total-value{font-size:1rem;font-weight:700;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.admin-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.admin-section-title{font-size:.82rem;font-weight:700;color:var(--text-primary)}.admin-view-toggle{font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:2px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-card);transition:all .15s ease;-webkit-user-select:none;user-select:none}.admin-view-toggle:hover{color:var(--text-primary);border-color:var(--accent-color, #6366f1);background:color-mix(in srgb,var(--accent-color, #6366f1) 8%,transparent)}.admin-view-toggle.active{color:var(--accent-color, #6366f1);border-color:var(--accent-color, #6366f1);background:color-mix(in srgb,var(--accent-color, #6366f1) 10%,transparent)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.admin-table{width:100%;border-collapse:collapse;font-size:.78rem}.admin-table th{text-align:left;padding:.4rem .6rem;font-weight:600;color:var(--text-secondary);background:#0f172a08;border-bottom:1px solid var(--border-color, #e2e8f0);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.admin-table td{padding:.35rem .6rem;color:var(--text-primary);border-bottom:1px solid rgba(15,23,42,.06);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.admin-table tbody tr:hover{background:#0f172a05}.admin-empty{text-align:center;color:var(--text-secondary);padding:1rem!important;font-family:inherit!important}.admin-toggle-btn{border-color:#eab30859;color:#a16207}.admin-toggle-btn svg{opacity:1}.admin-toggle-btn[hidden]{display:none}body[data-build-mode=standalone] .admin-panel,body[data-build-mode=standalone] .admin-toggle-btn{display:none!important}.admin-reset-btn{font-size:.75rem;padding:.2rem .6rem;white-space:nowrap}.admin-reset-btn:disabled{opacity:.6;cursor:not-allowed}.admin-apk-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.admin-apk-btn{display:inline-flex;align-items:center;gap:.4rem}.admin-apk-btn:disabled{opacity:.6;cursor:not-allowed}.admin-download-status{font-size:.75rem;color:var(--text-secondary);word-break:break-word}.admin-download-status[data-kind=busy]{color:var(--text-secondary)}.admin-download-status[data-kind=ok]{color:#15803d}.admin-download-status[data-kind=err]{color:#b91c1c}.admin-tier-select{font:inherit;font-size:.78rem;padding:.2rem .3rem;border-radius:4px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card);color:var(--text-primary);max-width:140px;cursor:pointer}.admin-section-divider{border:none;border-top:1px solid var(--border-color, #e2e8f0);margin:.25rem 0}.admin-tabs{display:none}.admin-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font:inherit;color:inherit;cursor:pointer}.admin-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.25rem;padding:0 .4rem;margin-left:.35rem;border-radius:999px;background:#0f172a14;color:var(--text-secondary);font-size:.7rem;font-weight:700;line-height:1}.admin-tab[aria-selected=true] .admin-tab-count{background:var(--primary-color, #1a73e8);color:#fff}.admin-tab-panel[hidden]{display:none}@media(min-width:601px){.admin-tab-panel[hidden]{display:block!important}}.admin-show-more{display:block;width:100%;margin-top:.5rem;padding:.6rem .75rem;background:#0f172a0a;border:1px dashed var(--border-color, #e2e8f0);border-radius:8px;color:var(--text-primary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:center}.admin-show-more:hover{background:#0f172a14;border-color:#0f172a33}@media(max-width:600px){.admin-panel{position:fixed;top:0;left:0;right:0;bottom:0;z-index:190;padding:.75rem;padding-top:max(.75rem,env(safe-area-inset-top,0px));padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:none;border-bottom:none;overscroll-behavior:contain}.admin-panel-inner{max-width:100%}.admin-panel-header{margin-bottom:.75rem}.admin-panel-body{gap:.75rem}.admin-panel-close{width:36px;height:36px}.admin-auth-row{flex-direction:column;align-items:stretch;gap:.5rem}.admin-token-input{min-width:0;width:100%;box-sizing:border-box;font-size:16px}.admin-auth-row .header-button{align-self:stretch;justify-content:center;min-height:44px}.admin-token-status{text-align:center;padding:.4rem .5rem;background:#0f172a0a;border-radius:6px;min-height:1.4rem;box-sizing:border-box}.admin-token-status:empty{display:none}.admin-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;background:#0f172a0a;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:.5rem .4rem}.admin-total-card{background:transparent;border:0;border-radius:0;padding:.25rem;min-width:0;gap:.15rem;align-items:center;text-align:center;position:relative}.admin-total-card+.admin-total-card:before{content:"";position:absolute;left:-.2rem;top:15%;bottom:15%;width:1px;background:var(--border-color, #e2e8f0)}.admin-total-label{font-size:.6rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-total-value{font-size:.85rem;line-height:1.1;word-break:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;background:#0f172a0a;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:.25rem;position:sticky;top:0;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-tab{display:inline-flex;align-items:center;justify-content:center;gap:.15rem;min-height:36px;padding:0 .4rem;border-radius:7px;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-align:center;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.admin-tab:hover{color:var(--text-primary)}.admin-tab[aria-selected=true]{background:var(--bg-card);color:var(--primary-color, #1a73e8);box-shadow:0 1px 3px #0f172a1a}.admin-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.admin-tab-count{font-size:.65rem;min-width:1.2rem;height:1.1rem;padding:0 .3rem}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block}.admin-table-wrap{margin:0 -.75rem;border-radius:0;border-left:none;border-right:none;overflow-x:visible;border:none;background:transparent}.admin-table tbody{display:flex;flex-direction:column;gap:.5rem}.admin-table tr{background:var(--bg-card);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:.6rem .75rem}.admin-table td{padding:.35rem 0;font-size:.82rem;border-bottom:1px solid rgba(15,23,42,.04);display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;font-family:inherit;word-break:break-word;overflow-wrap:anywhere}.admin-table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;flex-shrink:0;margin-top:.1em}.admin-table td:not([data-label]):before{display:none}.admin-table td:last-child{border-bottom:none}.admin-table td:has(>.admin-reset-btn){display:block;padding:.6rem 0 0;margin-top:.25rem;border-top:1px dashed var(--border-color, #e2e8f0);border-bottom:none}.admin-table td:has(>.admin-reset-btn):before{content:none}.admin-table td:has(>.admin-reset-btn) .admin-reset-btn{width:100%;margin-top:0}.admin-table tbody tr:hover{background:var(--bg-card)}.admin-empty{text-align:center;padding:1rem!important;font-family:inherit!important;justify-content:center!important;border-bottom:none!important}.admin-empty:before{display:none!important}.admin-section-header{gap:.4rem}.admin-section-header .admin-section-title{display:none}.admin-section-header{justify-content:flex-end}.admin-section-header .header-button{min-height:36px;padding:0 .7rem;font-size:.78rem}.admin-reset-btn{font-size:.8rem;padding:.35rem .75rem;min-height:36px}.admin-apk-row{flex-direction:column;align-items:stretch}.admin-apk-btn{min-height:44px;justify-content:center}.admin-download-status{text-align:center}.admin-section-divider{margin:.25rem 0}}@media(max-width:480px){.admin-panel{padding:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,0px));padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px))}.admin-panel-title{font-size:.8rem}.admin-totals{gap:.2rem;padding:.4rem .3rem}.admin-total-card+.admin-total-card:before{left:-.1rem}.admin-total-label{font-size:.55rem}.admin-total-value{font-size:.75rem}.admin-section-title{font-size:.78rem}}.share-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0000;border:none;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;display:none;align-items:center;justify-content:center;transition:background .2s ease}.share-dialog[open]{display:flex;background:#00000059}.share-dialog-content{background:var(--bg-card);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 24px 64px #00000038;width:min(460px,calc(100vw - 2rem));max-width:100%;box-sizing:border-box;overflow:hidden;animation:share-dialog-in .25s cubic-bezier(.22,1,.36,1)}@keyframes share-dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e2e8f0);background:#0f172a05}.share-dialog-header h3{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0}.share-dialog-close{width:24px;height:24px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;line-height:1;transition:all .15s ease}.share-dialog-close:hover{background:#fffffff2;border-color:#0f172a33;color:var(--text-primary)}.share-dialog-body{padding:1rem;display:flex;flex-direction:column;gap:.85rem}.share-dialog-desc{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.share-dialog-link-row{display:flex;align-items:center;gap:.5rem;background:#0f172a0a;border:1px solid rgba(15,23,42,.1);border-radius:8px;padding:.5rem}.share-url-input{flex:1 1 auto;min-width:0;border:none;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;color:var(--primary-color);font-weight:600;outline:none;padding:.15rem .25rem}.share-dialog-copy-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:6px;border:none;background:var(--primary-color);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.share-dialog-copy-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 3px 10px #1a73e840}.share-dialog-copy-btn:active{transform:translateY(0)}.share-dialog-copy-btn svg{fill:currentColor}.share-dialog-copy-btn.copied{background:#059669}.share-dialog-copy-btn.copied:hover{background:#047857}.share-dialog-divider{height:1px;background:var(--border-color, #e2e8f0);margin:0}.share-dialog-file-actions{display:flex;flex-wrap:wrap;gap:.5rem}.share-dialog-action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .7rem;border-radius:7px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.share-dialog-action-btn svg{fill:var(--text-secondary);flex-shrink:0}.share-dialog-action-btn:hover{background:#0f172a0a;border-color:#0f172a2e;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a14}.share-dialog-action-btn:active{transform:translateY(0)}.share-dialog-action-btn[hidden]{display:none}#share-dialog-native-btn{background:var(--primary-color, #1a73e8);color:#fff;border-color:var(--primary-color, #1a73e8)}#share-dialog-native-btn:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 3px 10px #1a73e840}#share-dialog-native-btn svg{fill:currentColor}.share-dialog-create-btn{background:var(--primary-color, #1a73e8);color:#fff;border-color:var(--primary-color, #1a73e8);font-size:.85rem;padding:.6rem .9rem}.share-dialog-create-btn:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 3px 10px #1a73e840}.share-dialog-create-btn svg{fill:currentColor}.share-dialog-action-btn-danger:hover{background:#fef2f2;color:#ef4444;border-color:#fee2e2;box-shadow:0 3px 10px #ef444426}.share-dialog-action-btn-danger:hover svg{fill:#ef4444}.image-export-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:410;background:#0000;border:none;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;display:none;align-items:center;justify-content:center;transition:background .2s ease}.image-export-dialog[open]{display:flex;background:#00000059}.image-export-content{background:var(--bg-card);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 24px 64px #00000038;width:min(900px,calc(100vw - 2rem));max-height:min(600px,calc(100vh - 4rem));max-height:min(600px,calc(100dvh - 4rem));max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;animation:image-export-in .25s cubic-bezier(.22,1,.36,1)}@keyframes image-export-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.image-export-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e2e8f0);background:#0f172a05}.image-export-header h3{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0}.image-export-close{width:24px;height:24px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;line-height:1;transition:all .15s ease}.image-export-close:hover{background:#fffffff2;border-color:#0f172a33;color:var(--text-primary)}.image-export-body{padding:1.25rem;display:flex;flex:1 1 auto;min-height:0;flex-direction:row;align-items:stretch;gap:1.25rem;overflow:auto}.image-export-preview-pane{flex:1 1 auto;min-width:0;display:flex}.image-export-preview{position:relative;flex:1 1 auto;min-width:0;min-height:240px;max-height:440px;display:flex;align-items:center;justify-content:center;padding:1rem;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;background:repeating-conic-gradient(rgba(15,23,42,.045) 0% 25%,transparent 0% 50%) 50% / 18px 18px;overflow:hidden;touch-action:none}.image-export-preview canvas{transform-origin:0 0;max-width:100%;max-height:100%}.image-export-canvas{display:block;max-width:100%;max-height:100%;border-radius:4px;box-shadow:0 6px 20px #0000002e;image-rendering:auto}.image-export-zoom-controls{position:absolute;right:.6rem;bottom:.6rem;z-index:3;display:inline-flex;align-items:center;overflow:hidden;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);box-shadow:0 8px 20px #0f172a29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-export-zoom-btn,.image-export-zoom-reset{min-width:32px;height:30px;padding:0 .65rem;border:none;border-right:1px solid rgba(15,23,42,.12);background:transparent;color:var(--text-primary);font-size:.82rem;font-weight:700;cursor:pointer}.image-export-zoom-btn:last-child,.image-export-zoom-reset:last-child{border-right:none}.image-export-zoom-btn:hover,.image-export-zoom-reset:hover{background:#1a73e814;color:var(--primary-color, #1a73e8)}.image-export-preview-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:color-mix(in srgb,var(--bg-card) 70%,transparent);color:var(--text-secondary);font-size:.85rem;font-weight:600;z-index:2}.image-export-preview-spinner[hidden]{display:none}.image-export-spinner-ring{width:28px;height:28px;border-radius:50%;border:3px solid rgba(26,115,232,.25);border-top-color:var(--primary-color, #1a73e8);animation:image-export-spin .8s linear infinite}@keyframes image-export-spin{to{transform:rotate(360deg)}}.image-export-controls{flex:0 0 256px;display:flex;flex-direction:column;gap:.85rem}@media(max-width:640px){.image-export-content{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.image-export-body{flex:1 1 auto;flex-direction:column;overflow:hidden;padding:0;position:relative}.image-export-preview-pane{flex:1 1 auto;min-height:0;padding:.5rem .75rem 0;display:flex;flex-direction:column}.image-export-preview{flex:1 1 auto;max-height:none;min-height:150px;overflow:hidden;cursor:zoom-in}.mobile-preview-actions{display:flex;gap:.5rem;flex-shrink:0;padding-top:.4rem}.mobile-preview-actions .image-export-generate-btn{flex:1 1 auto}.mobile-preview-actions .image-export-share-btn{flex:0 0 auto}.image-export-controls{flex:0 0 auto;overflow:visible;padding:.5rem .75rem .75rem;gap:.45rem}.image-export-section{gap:.35rem}.image-export-label{font-size:.7rem}.image-export-select-grid{gap:.4rem}.image-export-select-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.image-export-select-row{gap:.25rem}.image-export-select-row span{font-size:.72rem}.image-export-select{min-height:32px;padding:.35rem 1.65rem .35rem .55rem;font-size:.82rem}.image-export-segmented-label{height:30px;font-size:.78rem}.image-export-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.image-export-toggle-row{justify-content:center;min-width:0;padding:.4rem .45rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.76rem;background:var(--bg-card)}.image-export-toggle-row input[type=checkbox]{width:14px;height:14px}.image-export-toggle-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-export-action-row{display:none}}@media(max-width:400px){.image-export-generate-btn,.image-export-share-btn{padding-left:.75rem;padding-right:.75rem;font-size:.85rem;white-space:nowrap}}.image-export-section{display:flex;flex-direction:column;gap:.6rem}.image-export-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.image-export-select-grid-2{grid-template-columns:1fr}.image-export-select-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.image-export-select-row span{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.image-export-select{width:100%;min-height:36px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:.45rem 1.9rem .45rem .65rem;background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}.image-export-select:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px}.image-export-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.image-export-layouts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.image-export-ratios{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.image-export-layout-option{position:relative;cursor:pointer}.image-export-layout-option input{position:absolute;opacity:0;width:0;height:0}.image-export-radio-label{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.7rem .5rem;border:2px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--bg-card);transition:all .15s ease;text-align:center}.image-export-radio-label svg{color:var(--text-secondary)}.image-export-layout-option input:checked+.image-export-radio-label{border-color:var(--primary-color, #1a73e8);color:var(--primary-color, #1a73e8);background:#1a73e80f}.image-export-layout-option input:checked+.image-export-radio-label svg{color:var(--primary-color, #1a73e8)}.image-export-layout-option input:focus-visible+.image-export-radio-label{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px}.image-export-toggles{display:flex;flex-direction:column;gap:.5rem}.image-export-toggle-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.image-export-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color, #1a73e8);cursor:pointer}.image-export-toggle-label{font-weight:500}.image-export-action-row{display:flex;align-items:stretch;gap:.5rem;margin-top:auto;padding-top:.25rem;position:sticky;bottom:0;background:var(--bg-card);padding-bottom:.5rem;box-shadow:0 -10px 16px -10px #0f172a1f;z-index:3}.image-export-generate-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1 1 auto;padding:.5rem 1.2rem;border-radius:7px;border:none;background:var(--primary-gradient, linear-gradient(135deg, #1a73e8, #2563eb));color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease}.image-export-generate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #1a73e84d}.image-export-generate-btn:active{transform:translateY(0)}.mobile-preview-actions{display:none}.image-export-generate-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.image-export-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:0 0 auto;padding:.5rem .85rem;border-radius:7px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.image-export-share-btn svg{fill:var(--text-secondary);flex-shrink:0}.image-export-share-btn:hover:not(:disabled){background:#0f172a0a;border-color:#0f172a2e;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a14}.image-export-share-btn:active:not(:disabled){transform:translateY(0)}.image-export-share-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}#export-stage-container{position:fixed;left:-9999px;top:0;width:auto;height:auto;overflow:visible;pointer-events:none;z-index:0}.export-stage{position:absolute;left:0;top:0;z-index:0;opacity:1;pointer-events:none;box-sizing:border-box;padding:28px;background:var(--bg-card);color:var(--text-primary)}.export-stage[data-export-layout=side-by-side]{width:980px}.export-stage[data-export-layout=stacked],.export-stage[data-export-layout=source-only],.export-stage[data-export-layout=target-only]{width:660px}.export-stage[data-export-layout=paired]{width:720px}.export-stage[data-aspect-ratio="1:1"]{aspect-ratio:1 / 1}.export-stage[data-aspect-ratio="4:3"]{aspect-ratio:4 / 3}.export-stage[data-aspect-ratio="16:9"]{aspect-ratio:16 / 9}.export-stage[data-aspect-ratio="9:16"]{width:400px;aspect-ratio:9 / 16}.export-stage[data-aspect-ratio="4:5"]{aspect-ratio:4 / 5}.export-stage[data-aspect-ratio="9:16"] .export-stage-inner{flex-direction:column;gap:22px}.export-stage-inner{display:flex;gap:28px;align-items:flex-start}.export-stage[data-export-layout=stacked] .export-stage-inner{flex-direction:column;gap:22px}.export-stage .text-panel{flex:1 1 0;min-width:0;min-height:0;max-height:none;width:100%}.export-stage[data-export-layout=stacked] .text-panel{flex:0 0 auto}.export-stage .panel-scroll{max-height:none;overflow:visible}.export-stage .panel-head{margin-bottom:8px}.export-stage .panel-head-icon{display:none!important}.export-stage .panel-head-label{font-size:.8rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:700!important;color:var(--text-secondary)!important}.export-stage .section-toggle-btn{min-height:auto!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--text-secondary)!important;flex-direction:row!important;gap:4px!important}.export-stage .section-toggle-label{font-size:.7rem!important;font-weight:600!important;letter-spacing:.04em!important}.export-stage .section-toggle-btn svg{width:12px!important;height:12px!important}.export-stage .text-panel{padding:20px!important;border-radius:16px!important;box-shadow:0 12px 30px #0f172a14,0 1px 2px #0f172a0a!important;background:var(--bg-card)!important;max-height:none!important;border:1px solid rgba(15,23,42,.06)!important;margin-bottom:0!important}.export-stage .text-panel h2{font-size:.8rem!important;padding-bottom:12px!important;margin-bottom:20px!important;border-bottom:1px solid rgba(15,23,42,.1)!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:700!important;color:var(--text-secondary)!important}.export-stage .word{padding:0 3px!important;margin:0 .5px!important;border-radius:var(--word-radius, 6px)!important}.export-stage .word-info{display:block!important;font-size:.65em!important;position:static!important;transform:none!important;margin-top:2px!important;padding:0!important;background:none!important;color:inherit!important;border-radius:0!important;white-space:nowrap!important;box-shadow:none!important;border:none!important}.export-stage .word-info:after{display:none!important}.export-stage .word-phonetic{font-size:.75em!important}.export-stage .line{font-size:var(--ts-font-size)!important;line-height:calc(var(--ts-line-height) + .25)!important;margin-bottom:var(--ts-paragraph-gap)!important}.export-stage .panel-scroll{max-height:none!important;overflow:visible!important;min-height:0!important}.export-stage .word .word-text{font-size:inherit!important;line-height:inherit!important}.export-stage[data-export-layout=paired] .paired-rows{display:block;width:100%}.export-stage[data-export-layout=paired] .paired-row{position:relative;width:100%;box-sizing:border-box;min-height:1px}.export-stage[data-export-layout=paired] .paired-raw{display:block;visibility:hidden;position:absolute;left:0;top:0;width:100%;pointer-events:none;font-size:var(--ts-font-size);font-family:var(--ts-font-family);line-height:calc(var(--ts-line-height) + .35);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing)}.export-stage[data-export-layout=paired] .paired-measure{position:absolute;left:0;top:0;width:100%;visibility:hidden;pointer-events:none;white-space:normal;font-size:var(--ts-font-size);font-family:var(--ts-font-family);line-height:calc(var(--ts-line-height) + .35);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing)}.export-stage[data-export-layout=paired] .paired-line{display:block;width:100%;font-family:var(--ts-font-family);font-size:var(--ts-font-size);line-height:calc(var(--ts-line-height) + .35);font-weight:var(--ts-font-weight);letter-spacing:var(--ts-letter-spacing);text-align:var(--ts-alignment);font-style:var(--ts-font-style);word-spacing:var(--ts-word-spacing);white-space:normal;word-wrap:break-word;overflow-wrap:break-word;color:var(--text-primary)}.export-stage[data-export-layout=paired] .paired-line+.paired-line{margin-top:0;padding-top:0;border:none}.export-stage[data-export-layout=paired] .paired-source,.export-stage[data-export-layout=paired] .paired-target{color:var(--text-primary)}.export-stage[data-export-layout=paired] .word{padding:0 2px;margin:0}.export-stage[data-export-layout=paired] .word-info{display:block!important;font-size:.65em!important;position:static!important;transform:none!important;margin-top:2px!important;padding:0!important;background:none!important;color:inherit!important;border-radius:0!important;white-space:nowrap!important;box-shadow:none!important;border:none!important}.export-stage[data-export-layout=paired] .word-info:after{display:none!important}.export-stage[data-export-layout=paired] .word .word-text{font-size:inherit!important;line-height:inherit!important}.image-export-text{display:flex;flex-direction:column;gap:.5rem}.image-export-text-row{display:flex;align-items:center;gap:.6rem;min-height:32px}.image-export-text-label{flex:0 0 50px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.image-export-segmented{display:inline-flex;flex:1 1 auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--bg-card)}.image-export-segmented-option{position:relative;flex:1 1 0;cursor:pointer;min-width:0}.image-export-segmented-option input{position:absolute;opacity:0;width:0;height:0}.image-export-segmented-label{display:flex;align-items:center;justify-content:center;height:30px;font-size:.85rem;font-weight:600;color:var(--text-secondary);border-right:1px solid var(--border-color, #e2e8f0);background:var(--bg-card);transition:background .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.image-export-segmented-option:last-child .image-export-segmented-label{border-right:none}.image-export-segmented-option:hover .image-export-segmented-label{background:#1a73e80f;color:var(--text-primary)}.image-export-segmented-option input:checked+.image-export-segmented-label{background:var(--primary-color, #1a73e8);color:#fff}.image-export-segmented-option input:focus-visible+.image-export-segmented-label{outline:2px solid var(--primary-color, #1a73e8);outline-offset:-2px}.image-export-ts-size-sm{font-size:11px}.image-export-ts-size-md{font-size:13px}.image-export-ts-size-lg{font-size:15px}.image-export-ts-size-xl{font-size:17px}@media(max-width:640px){.mobile-preview-actions{display:flex;gap:.5rem;flex-shrink:0;padding-top:.4rem}.image-export-action-row{display:none}.image-export-select-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.image-export-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.image-export-toggle-row{justify-content:center;min-width:0;padding:.4rem .45rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.76rem;background:var(--bg-card)}.image-export-toggle-row input[type=checkbox]{width:14px;height:14px}.image-export-toggle-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-export-select{min-height:32px;padding:.35rem 1.65rem .35rem .55rem;font-size:.82rem}}.plan-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0000;border:none;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;display:none;align-items:center;justify-content:center;transition:background .2s ease}.plan-dialog[open]{display:flex;background:#00000059}.plan-dialog-content{background:var(--bg-card);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;box-shadow:0 24px 64px #00000038;width:min(520px,calc(100vw - 2rem));max-width:100%;box-sizing:border-box;overflow:hidden;animation:plan-dialog-in .25s cubic-bezier(.22,1,.36,1)}@keyframes plan-dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.plan-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color, #e2e8f0);background:#0f172a05}.plan-dialog-header h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.plan-dialog-close{width:28px;height:28px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;line-height:1;transition:all .15s ease}.plan-dialog-close:hover{background:#fffffff2;border-color:#0f172a33;color:var(--text-primary)}.plan-dialog-body{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.plan-card{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:10px;border:1.5px solid var(--border-color, #e2e8f0);background:var(--bg-card);cursor:pointer;transition:all .15s ease;position:relative}.plan-card:hover{border-color:var(--primary-color, #2563eb);background:#1a73e80a;transform:translateY(-1px);box-shadow:0 3px 12px #1a73e81f}.plan-card:active{transform:translateY(0)}.plan-card.is-current{border-color:var(--primary-color, #2563eb);background:#1a73e80f}.plan-card.is-current:after{content:"Current";position:absolute;top:.4rem;right:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-color, #2563eb);background:#1a73e81a;padding:.15rem .5rem;border-radius:999px}.plan-card-icon{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:700}.plan-card-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.plan-card-name{font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.3}.plan-card-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.4}.plan-card-credits{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.05rem}.plan-card-credits-num{font-size:1.1rem;font-weight:800;color:var(--text-primary);line-height:1.2}.plan-card-credits-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.plan-dialog-status{font-size:.85rem;text-align:center;padding:.5rem;border-radius:6px;display:none}.plan-dialog-status.success{display:block;background:#05966914;color:#059669}.plan-dialog-status.error{display:block;background:#dc262614;color:#dc2626}.image-overlay-container{width:100%;max-width:960px;margin:0 auto}.image-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:0 2px}.image-overlay-summary{display:flex;align-items:center;gap:10px;min-width:0}.image-overlay-summary-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--primary-color, #6366f1) 22%,transparent);border-radius:10px;background:color-mix(in srgb,var(--primary-color, #6366f1) 9%,transparent);color:var(--primary-color, #6366f1)}.image-overlay-summary-icon svg{width:18px;height:18px}.image-overlay-summary-copy{display:flex;flex-direction:column;min-width:0}.image-overlay-summary-copy strong{color:var(--text-primary, #0f172a);font-size:.82rem;font-weight:750;line-height:1.2}.image-overlay-summary-copy small{margin-top:2px;color:var(--text-tertiary, #94a3b8);font-size:.68rem;line-height:1.2}.image-overlay-wrapper{position:relative;display:inline-block;width:100%;border:1px solid rgba(15,23,42,.12);border-radius:16px;overflow:hidden;background:#0f172a;box-shadow:0 18px 48px #0f172a26,0 2px 8px #0f172a14;margin-bottom:24px;isolation:isolate}.image-overlay-image{display:block;width:100%;height:auto;border-radius:15px}.image-overlay-boxes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ocr-source-word-anchor{position:absolute;z-index:1;box-sizing:border-box;border-radius:4px;pointer-events:none;transition:background .15s ease,box-shadow .15s ease}.ocr-source-word-anchor.word-linked-highlight{z-index:4;background:color-mix(in srgb,var(--word-highlight-bg) 38%,transparent);box-shadow:0 0 0 2px var(--word-highlight-border),0 5px 16px var(--word-highlight-shadow)}.ocr-block-overlay{position:absolute;box-sizing:border-box;width:max-content;max-width:var(--ocr-label-max-width, 220px);pointer-events:auto;border:1px solid rgba(255,255,255,.2);background:#0f172ae0;backdrop-filter:blur(10px) saturate(1.25);-webkit-backdrop-filter:blur(10px) saturate(1.25);border-radius:7px;padding:5px 7px;font-family:var(--ts-font-family);font-size:clamp(9px,calc(var(--ts-font-size) * .65),14px);font-weight:var(--ts-font-weight);letter-spacing:var(--ts-letter-spacing);line-height:1.25;box-shadow:0 5px 16px #0f172a4d,0 1px 2px #0f172a3d;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;overflow:hidden;cursor:default;z-index:2}.ocr-block-overlay:hover{background:#0f172af5;box-shadow:0 8px 22px #0f172a66,0 1px 3px #0f172a47;z-index:3}.ocr-block-overlay:not(.ocr-block-pending):not(.ocr-block-no-translation){transform:translateY(calc(var(--ocr-label-offset-y, 0px) - 50%))}.ocr-block-translation{display:block;max-width:100%;color:#f8fafc;font-weight:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:1px}.ocr-block-translation .word{margin:0;padding:0 1px;border-radius:3px;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}.ocr-block-translation .word:not(.word-linked-highlight){color:#f8fafc!important}.ocr-block-translation .word:before{border-radius:3px}.ocr-block-translation .word-info{font-size:.7em}.image-word-match-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-12px 2px 14px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--primary-color, #6366f1) 20%,transparent);border-radius:10px;background:color-mix(in srgb,var(--primary-color, #6366f1) 6%,var(--bg-card-solid, #fff));color:var(--text-primary, #0f172a);box-shadow:0 5px 18px #0f172a12}.image-word-match-card[hidden]{display:none}.image-word-match-pair{display:flex;align-items:baseline;gap:8px;min-width:0;font-family:var(--ts-font-family);font-size:clamp(.78rem,1vw,.9rem);font-weight:650}.image-word-match-source,.image-word-match-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-word-match-arrow{flex:0 0 auto;color:var(--primary-color, #6366f1)}.image-word-match-meta{flex:0 0 auto;color:var(--text-secondary, #64748b);font-size:.68rem;font-weight:700;letter-spacing:.02em}.ocr-block-phonetics{display:none;max-width:100%;color:#cbd5e1;font-weight:400;font-size:.85em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:1px}.show-source-phonetics .ocr-block-source-phonetics,.show-target-phonetics .ocr-block-target-phonetics{display:block}.ocr-block-overlay.ocr-block-pending{width:var(--ocr-pending-width, 100%);min-height:var(--ocr-pending-min-height, 20px);border:1px solid rgba(255,255,255,.45);background:#f8fafcad;background-image:linear-gradient(100deg,#fff0 30%,#ffffffd9,#fff0 70%);background-size:200% 100%;background-position:100% 0;animation:ocr-block-shimmer 1.5s linear infinite;color:transparent;text-shadow:none}.ocr-block-overlay.ocr-block-pending .ocr-block-translation,.ocr-block-overlay.ocr-block-pending .ocr-block-phonetics{color:transparent}@keyframes ocr-block-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.ocr-block-overlay.ocr-block-pending{animation:none;background:#ffffffc7}}.ocr-block-overlay.ocr-block-no-translation{opacity:0;pointer-events:none}.ocr-block-overlay.ocr-block-no-translation .ocr-block-translation,.ocr-block-overlay.ocr-block-no-translation .ocr-block-phonetics{display:none}.image-overlay-panel{width:100%;margin-top:8px}.image-overlay-container .image-overlay-toggles{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto;margin:0;padding:0}.image-overlay-empty-message{margin:4px 0 24px;padding:12px 14px;border-radius:10px;background:#0f172a0a;color:var(--text-secondary, #475569);font-size:14px;line-height:1.45;text-align:center}@media(prefers-color-scheme:dark){.image-overlay-empty-message{background:#ffffff0d;color:#cbd5e1}}.image-upload-row{display:flex;flex-direction:row;align-items:center;gap:8px;margin-top:10px}.image-upload-controls{display:flex;flex-shrink:0;align-items:center}.image-upload-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--hairline, rgba(15, 23, 42, .12));border-radius:10px;background:var(--bg-card-solid, transparent);color:var(--text-secondary, #64748b);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.image-upload-btn-icon[hidden]{display:none}.image-upload-btn-icon:hover{background:#6366f114;border-color:#6366f159;color:var(--primary-color, #6366f1)}.image-upload-btn-icon:active{background:#6366f124}.image-upload-btn-icon:focus-visible{outline:2px solid var(--primary-color-soft, #a5b4fc);outline-offset:2px}.image-upload-btn-icon svg{display:block}body.dark-mode .image-upload-btn-icon{background:#94a3b80f;border-color:#94a3b833;color:#94a3b8}body.dark-mode .image-upload-btn-icon:hover{background:#818cf81f;border-color:#a5b4fc59;color:#a5b4fc}.image-selection{display:flex;flex:1;min-width:0}.image-remove-btn{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:8px;right:8px;z-index:1;width:32px;height:32px;padding:0;border:1px solid var(--border-color, rgba(15, 23, 42, .12));border-radius:9px;background:#ffffffeb;color:var(--text-secondary, #475569);cursor:pointer;transition:background .15s}.image-remove-btn[hidden]{display:none}.image-remove-btn:hover{background:#ef444414;color:#ef4444}.image-preview-container{position:relative;width:100%;height:182px;border-radius:14px;overflow:hidden;border:1px solid var(--border-color, rgba(15, 23, 42, .08));background:#0f172a09}.image-preview-container img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-badge{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#6366f1eb;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.01em;line-height:1.2;box-shadow:0 2px 8px #0f172a33;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.dark-mode .image-preview-badge{background:#818cf8eb;box-shadow:0 2px 8px #00000059}.image-mode-dialog{border:none;border-radius:16px;padding:0;max-width:420px;width:90vw;background:var(--bg-primary, #fff);box-shadow:0 20px 60px #0f172a2e,0 8px 24px #0f172a1a;font-family:inherit}.image-mode-dialog::backdrop{background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.image-mode-dialog form{padding:20px 22px 18px}.image-mode-dialog-title{margin:0 0 14px;font-size:.95rem;font-weight:750;color:var(--text-primary, #0f172a);line-height:1.3}.image-mode-dialog-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.image-mode-dialog-option{display:block;cursor:pointer}.image-mode-dialog-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.image-mode-option-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--hairline, rgba(15, 23, 42, .1));border-radius:12px;background:var(--bg-card-solid, transparent);transition:border-color .15s ease,background .15s ease}.image-mode-dialog-option:hover .image-mode-option-card{border-color:#6366f14d;background:#6366f109}.image-mode-dialog-option input:checked+.image-mode-option-card{border-color:#6366f18c;background:#6366f112;box-shadow:0 0 0 1px #6366f11a}.image-mode-option-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#0f172a0b;color:var(--text-secondary, #64748b)}.image-mode-dialog-option input:checked+.image-mode-option-card .image-mode-option-icon{background:#6366f11f;color:var(--primary-color, #6366f1)}.image-mode-option-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.image-mode-option-copy strong{font-size:.85rem;font-weight:700;color:var(--text-primary, #0f172a)}.image-mode-option-copy small{font-size:.72rem;line-height:1.35;color:var(--text-tertiary, #94a3b8)}.image-mode-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.image-mode-cancel-btn,.image-mode-confirm-btn{padding:8px 14px;border-radius:9px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}.image-mode-cancel-btn{border:1px solid var(--hairline, rgba(15, 23, 42, .12));background:transparent;color:var(--text-secondary, #64748b)}.image-mode-cancel-btn:hover{background:#0f172a0f}.image-mode-confirm-btn{border:1px solid var(--primary-color, #6366f1);background:var(--primary-color, #6366f1);color:#fff}.image-mode-confirm-btn:hover{background:var(--primary-color-hover, #4f46e5);border-color:var(--primary-color-hover, #4f46e5)}body.dark-mode .image-mode-dialog{background:var(--bg-primary, #1e293b);box-shadow:0 20px 60px #0006,0 8px 24px #00000040}body.dark-mode .image-mode-dialog::backdrop{background:#00000080}body.dark-mode .image-mode-dialog-title{color:#f1f5f9}body.dark-mode .image-mode-option-card{border-color:#94a3b829;background:#0f172a4d}body.dark-mode .image-mode-dialog-option:hover .image-mode-option-card{border-color:#a5b4fc4d}body.dark-mode .image-mode-dialog-option input:checked+.image-mode-option-card{border-color:#a5b4fc80;background:#818cf81a}body.dark-mode .image-mode-option-icon{background:#94a3b814;color:#94a3b8}body.dark-mode .image-mode-dialog-option input:checked+.image-mode-option-card .image-mode-option-icon{background:#818cf826;color:#a5b4fc}body.dark-mode .image-mode-option-copy strong{color:#f1f5f9}body.dark-mode .image-mode-option-copy small{color:#94a3b8}body.dark-mode .image-mode-cancel-btn{border-color:#94a3b833;color:#94a3b8}body.dark-mode .image-mode-cancel-btn:hover{background:#94a3b814}.image-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-color-scheme:dark){.image-overlay-summary-copy strong{color:#f8fafc}.ocr-block-overlay{background:#020617e0}.ocr-block-overlay:hover{background:#0f172aeb}.ocr-block-translation,.ocr-block-phonetics{color:#94a3b8}}@media(max-width:768px){.image-overlay-container{max-width:100%}.image-overlay-header{gap:8px;margin-bottom:8px}.image-overlay-summary-icon{width:30px;height:30px;border-radius:9px}.image-overlay-summary-copy small{display:none}.image-word-match-card{margin-top:-4px;padding:8px 10px}.image-overlay-wrapper{margin-bottom:12px;border-radius:12px;box-shadow:0 10px 28px #0f172a29,0 2px 6px #0f172a14}.image-overlay-image{border-radius:11px}.ocr-block-overlay{line-height:1.15;padding:3px 5px;border-radius:5px;min-height:0}.ocr-block-translation,.ocr-block-phonetics{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ocr-block-phonetics{font-size:.78em}.image-overlay-panel{display:none}}@media(max-width:600px){.image-upload-btn-icon{width:42px;height:42px}.image-selection{flex-direction:column}.image-preview-container{width:100%;height:180px}.image-preview-container img{height:100%}.image-remove-btn{width:44px;height:44px}}@media(max-width:480px){.ocr-block-overlay{padding:1px 2px}}@media(prefers-color-scheme:dark)and (max-width:768px){.ocr-block-overlay{background:#0f172ad9}.ocr-block-overlay:hover{background:#0f172af2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media(max-width:900px){.workbench-grid{grid-template-columns:1fr}.workbench-panel.workbench-right{min-height:0}.view-mode-label-split{display:none}.view-mode-label-stack{display:inline}}@media(max-width:768px){#app-container{width:100%;padding:0 12px;margin-bottom:16px}.input-section{padding:8px 12px;margin-bottom:8px}.setup-header .setup-title{display:none}.setup-header{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;padding-bottom:8px}.memory-header{position:relative;width:100%;margin-bottom:0}.memory-header .custom-dropdown-trigger{width:100%;max-width:none}.translation-actions{width:100%;justify-content:stretch;align-items:stretch}.translation-actions #translate-button,.setup-header .translation-actions #translate-button{width:100%;height:40px;padding:0 24px;font-size:.9rem}.language-input{font-size:16px}.translate-options-display{flex-direction:column;align-items:stretch;gap:12px}.translate-options-display .view-controls{width:100%;flex-direction:row;align-items:center;gap:8px}.icon-button#edit-input-button{width:44px;height:44px}.view-mode-segmented{width:100%;flex-wrap:nowrap;justify-content:center;border-radius:var(--radius-lg)}.control-group-title{flex:0 0 auto}.view-mode-option{flex:1 1 0;min-width:0;padding:0 8px;justify-content:center}.tag-bar{justify-content:space-between}.phonetics-label,.tag-bar-label{font-size:.78rem}.phonetics-select{height:32px;font-size:.82rem}.toggle-label{font-size:.8rem}.workbench-grid{grid-template-columns:1fr;gap:16px}.workbench-panel{padding:0;min-height:0}#user-text-input{padding:14px;font-size:16px;min-height:120px}.workbench-left #user-text-input{min-height:150px}.comparison-container{grid-template-columns:1fr;gap:16px}.text-panel{padding:16px 12px}.text-panel h2{font-size:.75rem;padding-bottom:8px;margin-bottom:12px}.line{font-size:var(--ts-font-size);line-height:calc(var(--ts-line-height) + .25);margin-bottom:var(--ts-paragraph-gap)}.paired-line{font-size:var(--ts-font-size)}.word{padding:3px 5px;margin:0 1px;font-size:inherit}.word-info{font-size:.5em}.word-phonetic{font-size:.65em}.grammar-legend{flex-direction:row;align-items:center;gap:8px;padding:8px 10px;overflow:hidden}.grammar-legend-items{justify-content:flex-start;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.grammar-legend-items::-webkit-scrollbar{display:none}.grammar-legend-item{flex:0 0 auto;white-space:nowrap;font-size:.8rem}.legend-dot{width:8px;height:8px}.legend-palette-switcher{flex:0 0 auto}.palette-menu-inline{bottom:50px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px)}.memory-actions{gap:4px}.memory-button{padding:6px 10px;font-size:.72rem}footer{padding:24px 16px;font-size:.8rem}.loader{padding:40px 20px;font-size:1rem}.workbench-grid[data-view=side-by-side] .comparison-container{grid-template-columns:1fr;gap:12px}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel{max-height:calc(45vh - 20px);max-height:calc(45dvh - 20px)}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel>.panel-scroll{overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}.custom-dropdown-trigger{width:100%;min-width:auto}.custom-dropdown-list{max-height:240px}}@media(max-width:480px){.header-button{padding:6px 8px;min-width:36px;min-height:36px}.input-section{padding:6px 10px;margin-bottom:6px}.setup-header{gap:6px;margin-bottom:6px;padding-bottom:6px}.translate-options{padding:6px 10px;margin-bottom:6px}.translate-options-langs{gap:10px}.opt-field{gap:4px}.row-label,.control-group-title{font-size:.68rem}.language-input{height:38px;line-height:38px;padding:0 34px 0 12px}.phonetics-select,.opt-field .phonetics-select{height:38px;padding:0 26px 0 10px}.view-mode-segmented{gap:2px;padding:3px}.view-mode-option{min-height:28px;padding:0 4px;gap:2px}.view-mode-icon{width:14px;height:14px}.view-mode-label{padding:0;font-size:.7rem;letter-spacing:.02em}.translate-options-display{align-items:stretch;gap:4px;margin-top:4px;padding-top:4px}.tag-bar{justify-content:center;min-height:32px}#user-text-input{min-height:100px;padding:12px}.workbench-left #user-text-input{min-height:128px}.text-panel{padding:12px 10px}.line{font-size:var(--ts-font-size);line-height:calc(var(--ts-line-height) + .25)}.word{padding:2px 4px;font-size:inherit}.grammar-legend{padding:8px 10px}.grammar-legend-items{gap:4px 6px}.grammar-legend-item{font-size:.75rem}.legend-dot{width:8px;height:8px}}@media(max-width:640px){.lang-row{grid-template-columns:5.5rem 1fr 1fr;gap:8px}}@media(max-width:768px){.translate-options-display{flex-direction:column;align-items:stretch;gap:12px}.translate-options-display .view-controls{width:100%;flex-direction:row;align-items:center;gap:8px}.view-mode-segmented{width:100%;flex-wrap:nowrap;border-radius:var(--radius-lg)}.view-mode-option{flex:1 1 0;min-width:0;justify-content:center}}@media(max-width:480px){.setup-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px;margin-bottom:6px;padding-bottom:6px}.setup-header-titles{grid-column:1 / -1}.credit-indicator-row{grid-column:1 / -1;margin:-4px 0 0}.credit-indicator{padding:1px 8px;gap:4px}.credit-indicator-label{font-size:.65rem}.credit-indicator-count{font-size:.75rem}.credit-indicator-track{width:40px;height:4px}.setup-header .setup-title{font-size:1rem}.memory-header,.setup-header .translation-actions{width:auto}.setup-header .translation-actions #translate-button{width:auto;height:38px;padding:0 12px;font-size:.78rem}.memory-header .custom-dropdown-trigger{min-height:34px;padding:4px 10px}.translate-options{padding:6px 10px;margin-bottom:6px}.translate-options-langs{gap:8px}.lang-row{grid-template-columns:5rem 1fr 1fr;gap:8px}.row-label,.control-group-title{font-size:.68rem}.language-input{height:38px;line-height:38px;padding:0 34px 0 12px}.phonetics-select,.opt-field .phonetics-select{height:38px;padding:0 26px 0 10px}.view-mode-segmented{gap:2px;padding:3px}.view-mode-option{min-height:28px;padding:0 4px;gap:2px}.view-mode-icon{width:14px;height:14px}.view-mode-label{padding:0;font-size:.7rem;letter-spacing:.02em}.translate-options-display{align-items:stretch;gap:4px;margin-top:4px;padding-top:4px}.tag-bar{justify-content:center;min-height:32px}.workbench-grid{gap:12px}.workbench-panel.workbench-right{min-height:140px}.loader{padding:28px 16px}.grammar-legend{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:12px}.grammar-legend-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:4px 8px}.grammar-legend-item{min-width:0;white-space:nowrap}.legend-palette-switcher{align-self:center}.memory-actions{gap:4px}.memory-button{padding:6px 10px;font-size:.75rem}}@media(max-width:420px){.lang-row{grid-template-columns:4.5rem 1fr 1fr;gap:8px}}@media(min-width:360px)and (max-width:480px){.lang-row{grid-template-columns:5rem 1fr 1fr;gap:6px}.opt-field{gap:4px}.language-input{height:36px;line-height:36px}.phonetics-select,.opt-field .phonetics-select{height:32px}}@media(max-width:768px){.server-toggle-btn .btn-label{display:none}body[data-build-mode=backend] .header-button{min-width:42px;min-height:40px;justify-content:center;box-sizing:border-box}.construction-panel{padding:.5rem 12px;max-height:calc(100vh - var(--app-header-h, 0px));max-height:calc(100dvh - var(--app-header-h, 0px));overflow-y:auto;overscroll-behavior:contain}.construction-panel-header{gap:6px 10px}.construction-panel-badges{flex:1 1 100%;justify-content:flex-end}.construction-panel-body{flex-direction:column;align-items:stretch;gap:.5rem}.construction-row{width:100%;align-items:stretch;justify-content:flex-start}.construction-label{flex:0 0 100%}.construction-link-wrap{flex:1 1 100%;min-width:0;box-sizing:border-box}.construction-value{overflow-wrap:anywhere}}@media(max-width:420px){.lang-row{grid-template-columns:4.5rem 1fr 1fr;gap:8px}body[data-build-mode=backend] .header-button{width:100%;flex:none;justify-content:center;min-width:0;padding:0}body[data-build-mode=backend] .theme-toggle{flex:none}body[data-build-mode=backend] .construction-panel-header{align-items:flex-start}body[data-build-mode=backend] .construction-panel-badges{justify-content:space-between}body[data-build-mode=backend] .construction-panel-title{font-size:.78rem}body[data-build-mode=backend] .construction-badge{min-width:0;white-space:normal;line-height:1.25}body[data-build-mode=backend] .construction-row{display:grid;grid-template-columns:1fr;gap:.25rem}body[data-build-mode=backend] .construction-label{flex-basis:auto}body[data-build-mode=backend] .construction-link-wrap{width:100%;padding:.35rem .45rem}body[data-build-mode=backend] .construction-copy-btn{width:32px;height:32px}body[data-build-mode=backend] .construction-value{font-size:.78rem;line-height:1.35}body[data-build-mode=backend] .auth-actions,body[data-build-mode=backend] .auth-btn{width:100%}}@media(max-width:768px){.header-button{min-width:42px;min-height:42px;justify-content:center;box-sizing:border-box;padding:8px}.header-button svg{width:20px;height:20px}body[data-build-mode=backend] .credit-header-btn{width:40px;min-width:40px;min-height:auto;height:40px;padding:0;gap:0;flex:0 0 auto}.credit-header-count{font-size:.74rem}body[data-build-mode=backend] .header-menu-btn{width:42px;padding:8px;flex:0 0 42px}.credit-header-btn svg{display:none}.workbench-panel.workbench-left,.workbench-panel.workbench-right{min-height:0}.source-panel-host .text-panel{flex:0 0 auto}.text-panel{max-height:none}.text-panel>.panel-scroll{max-height:none;overflow:visible}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel{max-height:calc(32vh - 20px);max-height:calc(32dvh - 20px)}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel>.panel-scroll{max-height:calc(32vh - 88px);max-height:calc(32dvh - 88px);overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}.workbench-grid[data-view=target-only] .comparison-container .text-panel{min-height:0}.workbench-grid[data-view=target-only]:not(.comparison-active) .workbench-left #user-text-input{min-height:160px}.word.word-selected .word-info{display:block;position:static;transform:none;margin-top:3px;padding:1px 6px;background:#0f172aeb;color:#fff;border-radius:999px;font-size:.5em;white-space:nowrap;box-shadow:0 2px 6px #0f172a40}.word.word-selected .word-info:after{display:none}.setup-header{display:flex;flex-direction:column;align-items:stretch;gap:10px}.memory-header,.setup-header .memory-header{width:100%}.memory-header .custom-dropdown-trigger{width:100%;max-width:none}.translation-actions,.setup-header .translation-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:stretch;width:100%}.translation-actions .edit-toggle-btn{height:44px;padding:0 14px;flex:0 0 auto}.translation-actions #translate-button,.setup-header .translation-actions #translate-button{flex:1 1 auto;width:auto}.translate-options-display .view-controls{width:100%;flex-direction:column;align-items:stretch;gap:6px}.view-controls-row{width:100%;gap:4px}.view-controls-row .view-mode-segmented{flex:1 1 auto}.view-mode-hint{font-size:.76rem;max-width:none}.translate-options-display{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:6px}.translate-options-display .view-controls{width:100%;flex-direction:column;align-items:stretch;gap:4px}.translate-options-display>.tag-bar{flex:1 1 auto;min-width:0;justify-content:flex-start}}@media(max-width:480px){.edit-toggle-btn{padding:0 12px;gap:0;height:38px}.edit-toggle-btn .edit-toggle-label{display:none}}@media(max-width:600px){body{background-image:none!important;background-color:#fff;background-attachment:scroll;padding-bottom:max(24px,env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}#app-container{width:100%;max-width:100%;padding:0 env(safe-area-inset-left,0) 0 env(safe-area-inset-right,0);margin:0}.input-section{background:#fff;border-radius:0;box-shadow:none;padding:4px 12px;margin-bottom:0;border:none}.input-section:before{display:none}.setup-header{border-bottom:none;margin-bottom:2px;padding-bottom:0;gap:2px}.setup-header .setup-title{display:none}.translation-actions{width:100%}.translation-actions #translate-button,#translate-button{width:100%;height:44px;font-size:.98rem;font-weight:700;letter-spacing:.005em;border-radius:14px;margin-top:0;box-shadow:0 8px 22px #6366f152}.translate-options{background:transparent;border:none;box-shadow:none;padding:4px 12px 0;margin-bottom:0;gap:4px}.translate-options-langs{display:flex;flex-direction:column;gap:4px}.lang-row{display:grid;grid-template-columns:5rem 1fr 1fr;gap:4px}.lang-row .language-input{height:36px;line-height:36px;font-size:.85rem;border-radius:10px;border:1px solid var(--hairline);background:#fafbfc;font-weight:600}.lang-row .phonetics-select,.lang-row .opt-field .phonetics-select{height:36px;font-size:.82rem;border-radius:10px;border:1px solid var(--hairline);background:#fafbfc;font-weight:600}.view-controls-row{align-items:stretch}.view-controls-row .control-group-title{display:none}.view-controls-row{gap:4px}.view-mode-segmented{flex:1 1 0;min-width:0;width:auto;background:#0f172a0e;padding:2px;border-radius:11px;gap:2px;border:1px solid var(--hairline);box-shadow:inset 0 1px 2px #0f172a0a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.view-mode-option{min-height:32px;padding:0 10px;border-radius:9px;flex:1 1 0;min-width:0;justify-content:center;background:transparent;box-shadow:none;border:none;font-weight:700}.view-mode-option[aria-pressed=true]{background:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0f172a1a,0 0 0 .5px #6366f12e}.row-label{flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.58rem;line-height:1.05;text-align:center}.row-label .row-label-icon{width:18px;height:18px;border-radius:5px;align-self:center}.row-label .row-label-icon svg{width:11px;height:11px}.translate-submit{margin:2px 0!important}.view-mode-hint{display:none}.view-mode-option{flex-direction:column;gap:2px;padding:4px 6px}.translate-options-display{margin-top:4px;padding-top:4px;gap:6px}.translate-submit{position:sticky;bottom:0;z-index:20;margin:0!important;padding:6px 0;background:#fff;border-top:.5px solid rgba(0,0,0,.08)}.translate-options-display{position:sticky;bottom:52px;z-index:19;margin-top:0!important;padding:4px 0 2px;background:#fff;border-top:.5px solid rgba(0,0,0,.06)}#app-container{padding-bottom:max(120px,calc(env(safe-area-inset-bottom,0px) + 120px))}.workbench-grid{gap:6px;grid-template-columns:1fr}.workbench-grid[data-view=paired]>.workbench-panel.workbench-right{grid-column:auto}.workbench-panel{border-radius:0;box-shadow:none;padding:0;min-height:0}.workbench-left #user-text-input{min-height:160px;border-radius:14px;border:1px solid var(--hairline);background:#fafbfc;padding:14px 16px;font-size:var(--ts-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a0a;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.workbench-left #user-text-input:focus{border-color:#6366f173;background:#fff;box-shadow:0 0 0 4px #6366f11f,0 1px 2px #0f172a0a}.text-panel{padding:12px 0}.word{padding:4px 8px;border-radius:8px}.word .word-text{font-size:inherit;line-height:inherit}.word .word-phonetic{font-size:.8rem}.paired-line{font-size:1.05rem;line-height:1.6}.grammar-legend{display:flex;position:static;margin:0 -12px;border-radius:0;box-shadow:none;border:none;border-top:.5px solid rgba(0,0,0,.08);padding:10px 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:8px;flex-direction:row;align-items:center}.grammar-legend-items{display:flex;gap:6px;justify-content:flex-start;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.grammar-legend-items::-webkit-scrollbar{display:none}.grammar-legend-item{font-size:.7rem;font-weight:500;white-space:nowrap;flex-shrink:0}.legend-dot{width:8px;height:8px}.legend-palette-switcher{display:none}.memory-actions{gap:6px}.memory-button{padding:6px 12px;font-size:.8rem}.memory-button.memory-button-icon{width:38px;height:38px}.memory-button.secondary{background:#f2f2f7;color:var(--text-primary);border:none;box-shadow:none}footer{display:none}.tag-bar{background:transparent;border:none;padding:0;gap:4px}.switch .slider{width:44px;height:26px}.switch input:checked+.slider:before{transform:translate(18px)}.switch .slider:before{height:22px;width:22px}.api-status-area{position:relative;margin-top:16px;margin-bottom:8px;border-radius:14px;box-shadow:0 8px 24px #00000014;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff5;border:.5px solid rgba(0,0,0,.06);padding:14px 16px;font-size:.9rem;font-weight:500;text-align:center}.api-status-area.loading{background:#f0f9fff5;color:#0369a1;border:.5px solid rgba(3,105,161,.15)}.api-status-area.error{background:#fef2f2f5;color:#be123c;border:.5px solid rgba(190,18,60,.15)}.text-panel{background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:16px 18px;margin-bottom:8px;box-shadow:0 1px 2px #0f172a0a,0 4px 18px #0f172a0d}.text-panel:last-child{margin-bottom:0}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel{max-height:calc(45vh - 20px);max-height:calc(45dvh - 20px)}.workbench-grid[data-view=side-by-side] .comparison-container .text-panel>.panel-scroll{max-height:calc(45vh - 88px);max-height:calc(45dvh - 88px);overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}.text-panel h2{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);opacity:.7;padding-bottom:8px;margin-bottom:8px;border-bottom:.5px solid rgba(0,0,0,.06)}.grammar-legend-item{background:#00000008;padding:4px 10px;border-radius:100px;gap:6px}.memory-header{position:relative;width:100%;gap:6px}.memory-header .custom-dropdown{position:static;flex:1 1 auto;min-width:0;width:auto}.memory-header .custom-dropdown-trigger{width:100%;max-width:none;min-width:0;padding:0 14px;background:#fafbfc;border:1px solid var(--hairline);border-radius:12px;height:42px;font-size:.95rem;font-weight:600;color:var(--text-primary);box-shadow:0 1px 2px #0f172a08}.memory-header .custom-dropdown-trigger[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.memory-header .custom-dropdown-arrow{display:block;fill:var(--text-secondary);opacity:.6;flex:0 0 auto}.memory-header .memory-actions{position:static;flex:0 0 auto;display:flex;align-items:center;gap:4px}.memory-header .header-menu-wrap .header-button{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;color:var(--text-secondary);background:var(--bg-card-solid);border:1px solid var(--hairline);border-radius:11px;box-shadow:0 1px 2px #0f172a0a}.memory-header .header-menu-wrap .header-button:hover{color:var(--primary-color);background:#fff;border-color:#6366f14d}.memory-header .header-menu-wrap .header-button[aria-expanded=true]{color:var(--primary-color);background:#6366f11a;border-color:#6366f159}.memory-header .header-menu-wrap .header-button svg{width:18px;height:18px}.memory-header .custom-dropdown-list{left:0;right:0;width:auto;max-width:none;background:#f2f2f7;border:none;border-top:none;border-radius:0 0 12px 12px;box-shadow:0 4px 12px #00000014;max-height:50vh;max-height:50dvh}.workbench-panel.workbench-right{min-height:0}.translate-options-langs .translation-settings-row{grid-template-columns:5.25rem minmax(0,1fr) minmax(0,1fr);gap:4px}.language-swap-btn,.language-swap-spacer{display:none}.results-empty-state,#app:empty:after{min-height:150px}.results-empty-state{padding:24px 18px}.results-empty-icon{width:44px;height:44px;border-radius:14px}}
