*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,h3,p{margin-top:0}:root{color-scheme:dark;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", var(--font-sans);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 12px 40px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--shadow-glow: 0 0 0 1px rgba(227, 30, 36, .16), 0 16px 42px rgba(227, 30, 36, .2);--bg-primary: #080808;--bg-panel: #101010;--bg-elevated: #171717;--bg-card: rgba(23, 23, 23, .86);--bg-soft: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .065);--bg-input: rgba(255, 255, 255, .055);--border-soft: rgba(255, 255, 255, .075);--border-strong: rgba(255, 255, 255, .15);--text-primary: rgba(245, 245, 242, .88);--text-strong: #f7f7f4;--text-muted: rgba(174, 174, 168, .9);--accent: #e31e24;--accent-strong: #ff343a;--accent-deep: #a8161b;--accent-soft: rgba(227, 30, 36, .14);--accent-gradient: linear-gradient(180deg, #f23a40 0%, #e31e24 54%, #bd181d 100%);--accent-gradient-cta: linear-gradient(90deg, #e31e24 0%, #ff4a55 52%, #ff6b75 100%);--accent-gradient-subtle: linear-gradient( 180deg, rgba(227, 30, 36, .12) 0%, rgba(227, 30, 36, .035) 100% );--carvet-red: #e31e24;--carvet-red-deep: #c41a1f;--carvet-black: #000000;--green-soft: rgba(52, 211, 153, .14);--red-soft: rgba(239, 68, 68, .14);--overlay-soft: rgba(0, 0, 0, .72);--sidebar-bg: rgba(12, 12, 12, .92);--header-bg: rgba(12, 12, 12, .82);--backdrop-bg: rgba(0, 0, 0, .55);--brand-mark-bg: #e31e24;--active-chat-bg: rgba(227, 30, 36, .14);--summary-hover-bg: rgba(255, 255, 255, .04);--summary-open-bg: rgba(227, 30, 36, .1);--composer-fade-start: rgba(8, 8, 8, 0);--composer-fade-mid: rgba(8, 8, 8, .92);--user-bubble-bg: rgba(227, 30, 36, .12);--user-bubble-border: rgba(227, 30, 36, .24);--debug-bubble-bg: rgba(52, 211, 153, .08);--debug-bubble-border: rgba(52, 211, 153, .2);--success-text: #6ee7b7;--error-text: #fecaca;--error-soft-text: #fca5a5;--info-text: #fecaca;--accent-soft-text: #ff8b90;--brand-chip-bg: rgba(227, 30, 36, .16);--brand-chip-text: #ffb4b8;--mesh-1: rgba(227, 30, 36, .16);--mesh-2: rgba(227, 30, 36, .08);--mesh-3: rgba(0, 0, 0, 0)}[data-theme=light]{color-scheme:light;--shadow-sm: 0 1px 0 rgba(28, 28, 28, .04), 0 1px 2px rgba(28, 28, 28, .03);--shadow-md: 0 4px 16px rgba(28, 28, 28, .05), 0 12px 32px rgba(28, 28, 28, .04);--shadow-lg: 0 12px 40px rgba(28, 28, 28, .07);--shadow-glow: 0 1px 2px rgba(227, 30, 36, .12), 0 8px 24px rgba(227, 30, 36, .14);--bg-primary: #f7f6f3;--bg-panel: #faf9f7;--bg-elevated: #ffffff;--bg-card: #fcfcfb;--bg-soft: rgba(28, 28, 28, .035);--bg-hover: rgba(28, 28, 28, .055);--bg-input: #f3f2ef;--border-soft: #e8e6e1;--border-strong: #d5d3cd;--text-primary: #3f3f3c;--text-strong: #1c1c1c;--text-muted: #767672;--accent: #e31e24;--accent-strong: #cc1b21;--accent-deep: #a8161b;--accent-soft: rgba(227, 30, 36, .08);--accent-gradient: linear-gradient(180deg, #e83338 0%, #e31e24 52%, #cc1b21 100%);--accent-gradient-cta: linear-gradient(90deg, #e31e24 0%, #ff4d6d 52%, #ff6b8a 100%);--accent-gradient-subtle: linear-gradient( 180deg, rgba(227, 30, 36, .06) 0%, rgba(227, 30, 36, .02) 100% );--green-soft: rgba(34, 197, 94, .1);--red-soft: rgba(227, 30, 36, .08);--overlay-soft: rgba(33, 25, 34, .32);--sidebar-bg: rgba(250, 249, 247, .94);--header-bg: rgba(250, 249, 247, .9);--backdrop-bg: rgba(33, 25, 34, .28);--brand-mark-bg: #e31e24;--active-chat-bg: rgba(227, 30, 36, .09);--summary-hover-bg: rgba(28, 28, 28, .03);--summary-open-bg: rgba(227, 30, 36, .05);--composer-fade-start: rgba(247, 246, 243, 0);--composer-fade-mid: rgba(247, 246, 243, .94);--user-bubble-bg: rgba(227, 30, 36, .06);--user-bubble-border: rgba(227, 30, 36, .12);--debug-bubble-bg: rgba(34, 197, 94, .07);--debug-bubble-border: rgba(34, 197, 94, .14);--success-text: #166534;--error-text: #991b1b;--error-soft-text: #b42318;--info-text: #3f3f3c;--accent-soft-text: #cc1b21;--brand-chip-bg: rgba(227, 30, 36, .1);--brand-chip-text: #cc1b21;--mesh-1: rgba(227, 30, 36, .04);--mesh-2: rgba(145, 145, 140, .08);--mesh-3: rgba(247, 246, 243, 0)}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(ellipse 80% 50% at 10% -10%,var(--mesh-1),var(--mesh-3)),radial-gradient(ellipse 60% 40% at 100% 0%,var(--mesh-2),var(--mesh-3)),var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.55;letter-spacing:-.01em;transition:background .25s ease,color .25s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 767px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{padding-bottom:env(safe-area-inset-bottom)}button,summary,.message-action-button,.icon-button,.recognize-button,.composer-add-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}}::selection{background:color-mix(in srgb,var(--accent-strong) 40%,transparent);color:var(--text-strong)}.new-chat-button,.message-action-button,.chat-action-button,.recognize-button,.theme-toggle-option,.tool-launch-button,.auth-submit{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.new-chat-button:hover:not(:disabled),.message-action-button:hover:not(:disabled),.chat-action-button:hover:not(:disabled),.recognize-button:hover:not(:disabled),.theme-toggle-option:hover:not(:disabled),.tool-launch-button:hover:not(:disabled),.auth-submit:hover:not(:disabled){transform:translateY(-1px)}.new-chat-button:active:not(:disabled),.message-action-button:active:not(:disabled),.chat-action-button:active:not(:disabled),.recognize-button:active:not(:disabled),.theme-toggle-option:active:not(:disabled),.tool-launch-button:active:not(:disabled),.auth-submit:active:not(:disabled){transform:translateY(0)}.new-chat-button:focus-visible,.message-action-button:focus-visible,.chat-action-button:focus-visible,.recognize-button:focus-visible,.theme-toggle-option:focus-visible,.tool-launch-button:focus-visible,.auth-submit:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.icon-header-button,.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-strong);cursor:pointer}.icon-header-button:hover,.icon-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.icon-header-button:focus-visible,.icon-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.icon-button.compact{flex:0 0 auto}.message-action-button{border:1px solid var(--border-soft);border-radius:var(--radius-pill);padding:8px 16px;background:var(--bg-soft);color:var(--text-primary);cursor:pointer;font-weight:600;font-size:.84rem}.message-action-button.primary{border:none;background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow);font-weight:700;letter-spacing:.02em}.hidden-file-input{display:none}.error-text{color:var(--error-soft-text)}code{font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--bg-soft);color:var(--accent-soft-text)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(420px,100%);display:grid;gap:20px;padding:32px 28px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .auth-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.auth-card{box-shadow:var(--shadow-lg)}.auth-card h1{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:1.65rem;font-weight:800;letter-spacing:-.03em}.auth-brand{display:flex;align-items:flex-start;gap:12px}.auth-brand .brand-copy{display:flex;flex-direction:column;justify-content:space-between;height:42px;min-width:0}.auth-brand strong{display:block;margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:1.1rem;font-weight:800;line-height:1;letter-spacing:.04em;text-transform:uppercase}.auth-brand span{color:var(--text-muted);font-size:.9rem;line-height:1.15}.auth-copy{margin:0;color:var(--text-muted);line-height:1.65;font-size:.92rem}.auth-form{display:grid;gap:16px}.auth-error{margin:0;padding:12px 14px;border-radius:var(--radius-md);background:var(--red-soft);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);color:var(--error-text);font-size:.88rem}.auth-submit{width:100%;justify-self:stretch;min-height:48px;border-radius:var(--radius-md)}[data-theme=light] .auth-card{background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.landing-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.landing-hero{width:min(520px,100%);display:grid;gap:20px;text-align:center;padding:32px 28px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .landing-hero{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.landing-hero{box-shadow:var(--shadow-lg)}.landing-hero h1{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(1.85rem,6vw,2.75rem);font-weight:800;line-height:1.08;letter-spacing:-.04em}.landing-hero p{margin:0;color:var(--text-muted);line-height:1.6;font-size:.96rem;max-width:38ch;justify-self:center}.landing-badge{justify-self:center;padding:8px 14px;border-radius:var(--radius-pill);background:var(--brand-chip-bg);color:var(--brand-chip-text);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}[data-theme=light] .landing-hero{background:var(--bg-elevated);border-color:var(--border-soft);box-shadow:var(--shadow-md)}.tool-launch-button{width:100%;min-height:52px;border-radius:var(--radius-md);border:none;background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow);font-weight:700;letter-spacing:.02em;font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.02em;cursor:pointer}.chat-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--overlay-soft);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}[data-theme=light] .chat-modal{-webkit-backdrop-filter:blur(10px) saturate(110%);backdrop-filter:blur(10px) saturate(110%)}.chat-modal-panel{width:100%;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);background:var(--bg-primary);position:relative;overflow:hidden}.app-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;height:100dvh;padding:18px 14px;border-right:1px solid var(--border-soft);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);position:fixed;top:0;left:0;bottom:0;width:min(88vw,300px);z-index:3;transform:translate(-100%);transition:transform .24s cubic-bezier(.22,1,.36,1);overflow:hidden;box-sizing:border-box}.modal-sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.brand-block{display:flex;gap:12px;align-items:flex-start;padding:4px 2px 8px}.brand-block .brand-copy{display:flex;flex-direction:column;justify-content:space-between;height:42px;min-width:0}.brand-block strong{display:block;margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:.98rem;font-weight:800;line-height:1;letter-spacing:.03em}.brand-block p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.15}.brand-mark{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:var(--brand-mark-bg);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:#fff;font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.04em;box-shadow:var(--shadow-sm)}[data-theme=light] .brand-mark{border-color:transparent;color:#fff;box-shadow:0 2px 8px #e31e2433}.new-chat-button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-elevated);color:var(--text-strong);text-align:left;cursor:pointer;font-weight:700;font-size:.9rem;box-shadow:0 10px 30px #0000000d}.new-chat-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 25%,var(--border-soft));background:var(--bg-hover)}.new-chat-button:disabled{opacity:.45;cursor:default}.new-chat-plus{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-size:1.1rem;line-height:1;font-weight:700}.chat-list{display:grid;gap:6px;min-height:0;overflow-y:auto;align-content:start;padding-right:4px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 30%,transparent) transparent}.sidebar-footer{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--border-soft)}.theme-toggle-pill{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border-soft);background:var(--bg-elevated)}.theme-toggle-pill-btn{width:100%;height:36px;display:grid;place-items:center;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer}.theme-toggle-pill-btn svg{width:18px;height:18px}.theme-toggle-pill-btn.active{background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-sm)}.sidebar-user-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-elevated)}.sidebar-user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:800}.sidebar-user-copy{display:grid;gap:2px;min-width:0}.sidebar-user-copy strong{color:var(--text-strong);font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy span{color:var(--text-muted);font-size:.74rem;text-transform:capitalize}.sidebar-user-chevron{width:16px;height:16px;color:var(--text-muted)}.sidebar-logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-weight:600;font-size:.88rem;box-shadow:0 10px 30px #0000000a}.sidebar-logout-button svg{width:18px;height:18px;color:var(--text-muted)}.sidebar-logout-button:hover{background:var(--bg-hover);color:var(--text-strong)}.chat-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease}.chat-list-item:hover{background:var(--bg-hover);border-color:var(--border-soft)}.chat-list-item.active{background:var(--active-chat-bg);border-color:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 4px 0 0 var(--accent)}.chat-list-item small{color:var(--text-muted);font-size:.74rem}.chat-list-main{width:100%;padding:6px 8px;border:none;background:transparent;text-align:left;color:inherit;cursor:pointer}.chat-list-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}.chat-list-row strong{min-width:0;color:var(--text-strong);font-size:.88rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-row time{flex:0 0 auto;color:var(--text-muted);font-size:.72rem;white-space:nowrap}.chat-owner-line{display:block;margin-top:4px;color:var(--accent-soft-text)!important}.chat-list-actions{display:flex;gap:4px;align-items:center}.chat-action-button{width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1}.chat-action-button:hover{background:var(--bg-soft);border-color:var(--border-soft);color:var(--text-strong)}.chat-action-button.danger{color:var(--error-soft-text)}.chat-action-button.danger:hover{background:var(--red-soft)}.chat-app{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;z-index:1;overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-soft);background:var(--header-bg);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.chat-header-main{display:flex;align-items:center;gap:10px;min-width:0}.chat-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.chat-header-title{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-user{display:flex;align-items:center;gap:10px;flex:0 0 auto}.chat-header-user-copy{display:none;gap:1px;text-align:right}.chat-header-user-copy strong{color:var(--text-strong);font-size:.82rem;font-weight:700;text-transform:capitalize}.chat-header-user-copy span{color:var(--text-muted);font-size:.76rem}.chat-header-user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-soft);background:var(--bg-elevated);color:var(--text-muted)}.chat-header-user-avatar svg{width:20px;height:20px}.chat-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;border:none;background:var(--backdrop-bg);cursor:pointer}@media (max-width: 767px){.chat-modal{-webkit-backdrop-filter:none;backdrop-filter:none}.chat-modal-panel{grid-template-columns:1fr;height:100svh;min-height:100svh;max-width:100vw;overflow-x:hidden}.app-sidebar{width:min(86vw,320px);height:100svh;padding:max(16px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));gap:12px;z-index:6;border-right-color:var(--border-soft);box-shadow:none}.modal-sidebar.open{box-shadow:18px 0 44px #0000002e}.brand-block{gap:10px;padding:2px 0 6px}.brand-block .brand-copy{height:38px}.brand-block strong{font-size:.9rem}.brand-block p{font-size:.8rem}.brand-mark{width:38px;height:38px;border-radius:12px;font-size:.66rem}.new-chat-button{padding:10px 12px;min-height:44px;font-size:.86rem}.chat-list{gap:5px;padding-right:0}.chat-list-item{grid-template-columns:minmax(0,1fr);padding:7px}.chat-list-actions{display:none}.chat-list-main{padding:6px 8px}.sidebar-footer{gap:10px;padding-top:10px}.theme-toggle-pill-btn{height:34px}.sidebar-user-card{padding:9px 10px}.sidebar-logout-button{min-height:42px;padding:10px 12px}.chat-app{height:100svh;min-height:100svh;max-width:100vw;overflow-x:hidden;background:radial-gradient(ellipse 90% 30% at 50% 0%,var(--mesh-1),transparent 70%),var(--bg-primary)}.chat-header{position:sticky;top:0;z-index:3;padding:max(10px,env(safe-area-inset-top)) 12px 10px;gap:8px;border-bottom-color:color-mix(in srgb,var(--border-soft) 70%,transparent)}.chat-header-main{gap:8px}.chat-header-title{font-size:1rem}.icon-header-button,.chat-header-user-avatar{width:34px;height:34px;border-radius:11px}.chat-header-actions{gap:6px}.chat-header-user-copy{display:none}.chat-modal-backdrop{z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-chat-app{min-height:0;min-width:0}.modal-chat-app .chat-thread{flex:1;min-height:0}}@media (max-width: 380px){.app-sidebar{width:min(90vw,300px)}.chat-header-title{font-size:.92rem}.chat-header-user-avatar{display:none}}@media (min-width: 768px){.chat-modal-panel{grid-template-columns:280px minmax(0,1fr)}.app-sidebar{position:static;width:auto;transform:none;box-shadow:none}.chat-modal-backdrop,.chat-header-menu{display:none}.chat-header-user-copy{display:grid}}.chat-thread{min-height:0;overflow-y:auto;padding:16px 16px 28px;scroll-padding-bottom:28px;display:flex;flex-direction:column;gap:14px;max-width:920px;width:100%;margin:0 auto;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 28%,transparent) transparent}@media (max-width: 767px){.chat-thread{padding:12px max(10px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:12px;max-width:none;width:100%;overflow-x:hidden;box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.message-row{width:100%;min-width:0}.message-row.user .bubble{width:min(100%,94vw);max-width:94vw}.message-row.compact .bubble{padding:8px 10px}.bubble,.status-bubble,.result-bubble{width:100%;max-width:100%;box-sizing:border-box}.bubble{padding:10px 12px;border-radius:16px}.attachment-head{align-items:stretch}.attachment-title{font-size:.8rem;line-height:1.35}.attachment-actions{width:100%}.attachment-actions .message-action-button{flex:1 1 calc(50% - 4px);min-height:44px;justify-content:center;font-size:.84rem}.preview-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preview-tile img{height:88px;border-radius:14px}.preview-tile figcaption{font-size:.7rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recognition-loading--compact{width:100%;max-width:100%;padding:10px 12px;gap:9px;border-radius:14px}.recognition-loading__pulse{width:8px;height:8px;margin-top:.45rem}.recognition-loading__feed{gap:4px}.recognition-loading__feed p{font-size:.84rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.recognition-loading__feed .is-faded{font-size:.76rem;line-height:1.32}.recognition-loading__feed .is-active{font-size:.86rem}.result-list{gap:10px}.candidate-card,.feedback-panel{padding:12px;gap:9px;border-radius:16px}.candidate-topline{flex-wrap:wrap;align-items:flex-start;gap:8px}.candidate-rank{font-size:.72rem}.confidence-badge{margin-left:auto;padding:4px 9px;font-size:.72rem}.result-line{padding:11px 12px;font-size:.9rem;line-height:1.4}.result-profit-bar{padding:12px}.result-profit-copy strong{font-size:.98rem}.candidate-details summary{min-height:44px;padding:12px;font-size:.88rem}.feedback-actions .message-action-button,.feedback-form-actions .message-action-button{min-height:44px;flex:1 1 auto}}@media (max-width: 380px){.chat-thread{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.preview-gallery{grid-template-columns:1fr}.recognition-loading__feed p{font-size:.8rem}.recognition-loading__feed .is-active{font-size:.82rem}.attachment-actions .message-action-button{flex:1 1 100%}}.empty-state{width:100%;display:grid;gap:8px}.empty-state-message{display:grid;grid-template-columns:1fr;gap:8px;align-items:start}.empty-state-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:12px;background:var(--brand-mark-bg);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--brand-chip-text, var(--text-strong));font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.06em}.empty-state-bubble{padding:10px 12px;border:1px solid var(--border-soft);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .empty-state-bubble{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.empty-state-bubble strong{display:block;margin-bottom:4px;color:var(--text-strong);font-size:.92rem}.empty-state-bubble p{margin:0;color:var(--text-muted);line-height:1.45;font-size:.82rem}.example-hint{width:fit-content}.example-hint summary{cursor:pointer;list-style:none;color:var(--accent-soft-text);font-size:.78rem;font-weight:600}.example-hint summary::-webkit-details-marker{display:none}.example-hint-gallery{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.example-hint-tile{margin:0;display:grid;gap:4px}.example-hint-tile img{width:100%;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--border-soft)}.example-hint-tile figcaption{color:var(--text-muted);font-size:.72rem}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-row.compact .bubble{padding-top:10px;padding-bottom:10px}.bubble{width:min(720px,100%);padding:12px 14px;border-radius:var(--radius-lg)}.assistant-bubble{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .assistant-bubble{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.assistant-bubble{box-shadow:var(--shadow-sm)}.user-bubble{background:var(--user-bubble-bg);border:1px solid var(--user-bubble-border)}.status-bubble,.result-bubble{width:min(860px,100%)}.error-bubble{background:var(--red-soft);border:1px solid rgba(248,113,113,.22);color:var(--error-text)}.info-bubble{color:var(--info-text)}.debug-bubble{background:var(--debug-bubble-bg);border:1px solid var(--debug-bubble-border);color:var(--text-strong)}.debug-error-bubble{background:var(--red-soft);border:1px solid rgba(248,113,113,.18);color:var(--error-text)}.debug-head{margin-bottom:8px;color:var(--text-strong);font-size:.82rem;font-weight:700}.debug-link-list{display:grid;gap:6px}.debug-link-item,.debug-error-text{color:inherit;font-size:.82rem;line-height:1.55;word-break:break-word}.attachment-block{display:grid;gap:10px}.attachment-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.attachment-title{color:var(--text-muted);font-size:.84rem}.attachment-actions,.feedback-actions,.feedback-form-actions{display:flex;gap:8px;flex-wrap:wrap}.preview-gallery,.composer-draft-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.preview-tile,.composer-draft-tile{margin:0;display:grid;gap:6px}.preview-tile img,.preview-tile .preview-tile-placeholder,.composer-draft-tile img,.composer-draft-tile .preview-tile-placeholder{width:100%;height:74px;border-radius:12px}.preview-tile img,.composer-draft-tile img{object-fit:cover}.preview-tile .preview-tile-placeholder,.composer-draft-tile .preview-tile-placeholder{display:grid;place-items:center;padding:8px;background:#ffffff0f;color:var(--text-muted);font-size:.72rem;text-align:center}.preview-tile figcaption,.composer-draft-tile figcaption{color:var(--text-muted);font-size:.76rem;word-break:break-word}@keyframes recognition-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes recognition-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes recognition-status-fade{0%{opacity:.45}to{opacity:1}}@keyframes recognition-pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@keyframes recognition-line-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.recognition-loading--compact{display:flex;align-items:flex-start;gap:10px;width:auto;max-width:min(100%,20rem);padding:8px 11px}.recognition-loading__pulse{flex-shrink:0;width:7px;height:7px;margin-top:.38rem;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 10px color-mix(in srgb,var(--accent-strong) 55%,transparent);animation:recognition-pulse 1.15s ease-in-out infinite}.recognition-loading__feed{display:grid;gap:3px;min-width:0}.recognition-loading__feed p{margin:0;font-size:.8rem;line-height:1.35;letter-spacing:-.01em;transition:opacity .25s ease,color .25s ease}.recognition-loading__feed .is-faded{color:var(--text-muted);opacity:.42;font-size:.74rem}.recognition-loading__feed .is-active{color:var(--text-strong);font-weight:500;animation:recognition-line-in .35s ease}@media (prefers-reduced-motion: reduce){.recognition-loading__pulse,.recognition-loading__feed .is-active{animation:none}}.result-list{display:grid;gap:12px}.candidate-card,.feedback-panel,.candidate-details,.composer-draft,.composer-card,.composer-fields{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .candidate-card,[data-theme=light] .feedback-panel,[data-theme=light] .candidate-details,[data-theme=light] .composer-draft,[data-theme=light] .composer-card,[data-theme=light] .composer-fields{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.candidate-card,.feedback-panel,.composer-draft{display:grid;gap:10px;padding:14px 16px;transition:border-color .15s ease,box-shadow .15s ease}.candidate-card:hover,.feedback-panel:hover,.composer-draft:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border-soft));box-shadow:var(--shadow-md)}.candidate-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.candidate-rank{color:var(--text-muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.confidence-badge{padding:5px 11px;border-radius:var(--radius-pill);background:var(--green-soft);border:1px solid color-mix(in srgb,#34d399 35%,transparent);color:var(--success-text);font-weight:800;font-size:.78rem;letter-spacing:.02em}.result-line{padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-strong);word-break:break-word;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:-.02em;line-height:1.45}[data-theme=light] .result-line{background:var(--bg-input);border-color:var(--border-soft)}[data-theme=light] .confidence-badge{background:#22c55e14;border-color:#22c55e24;color:#166534}[data-theme=light] .result-profit-bar{background:var(--accent-gradient-subtle);border-color:color-mix(in srgb,var(--accent) 12%,var(--border-soft))}.candidate-details{overflow:hidden}.candidate-details summary{cursor:pointer;padding:12px 14px;color:var(--text-strong);font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:background .15s ease,color .15s ease}.candidate-details summary::-webkit-details-marker{display:none}.candidate-details summary:hover{background:var(--summary-hover-bg)}.candidate-details[open] summary{background:var(--summary-open-bg);border-bottom:1px solid var(--border-soft)}.candidate-details-arrow{color:var(--accent-soft-text);font-size:.9rem;transition:transform .15s ease}.candidate-details[open] .candidate-details-arrow{transform:rotate(180deg)}.candidate-card-manual{width:min(560px,100%);margin-inline:auto;padding:12px 14px;gap:8px}.candidate-details-body{display:grid;gap:10px;padding:0 12px 12px;max-height:min(360px,52vh);overflow-y:auto}.catalog-match-note,.catalog-empty,.catalog-product-meta,.feedback-head span,.field-hint{color:var(--text-muted)}.catalog-group{display:grid;gap:8px}.catalog-group-title{color:var(--text-strong);font-size:.84rem;font-weight:700}.catalog-product-list{display:grid;gap:8px}.catalog-product-card{display:grid;gap:4px;padding:8px 10px;border-radius:10px;background:var(--bg-soft)}.catalog-product-card strong{color:var(--text-strong);font-size:.88rem}.catalog-product-main{display:grid;gap:2px;min-width:0}.catalog-product-vehicle{color:var(--text-muted);font-size:.74rem;line-height:1.35;word-break:break-word}.catalog-product-select{display:flex;align-items:center;gap:10px;cursor:pointer}.catalog-product-select input{margin:0;accent-color:var(--accent-strong)}.catalog-product-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.76rem}.feedback-head{display:grid;gap:4px}.feedback-head strong{color:var(--text-strong)}.feedback-form{display:grid;gap:10px}.feedback-status{padding:10px 12px;border-radius:12px;font-size:.82rem}.feedback-status.success{background:#22c55e1a;color:var(--success-text)}.feedback-status.error{background:#f871711a;color:var(--error-text)}.result-profit-bar{margin-top:2px;padding:14px 16px;border-radius:var(--radius-md);background:var(--accent-gradient-subtle);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border-soft));display:grid;gap:8px}.result-profit-copy{display:grid;gap:4px}.result-profit-copy span{color:var(--text-muted);font-size:.8rem;line-height:1.45}.result-profit-copy strong{color:var(--text-strong);font-size:1.05rem}@media (max-width: 767px){.composer-card,.attachment-head{flex-direction:column;align-items:stretch}.example-hint-gallery{grid-template-columns:repeat(3,minmax(88px,1fr));align-items:start}}@media (min-width: 768px){.preview-gallery,.composer-draft-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}.chat-thread.has-dashboard{max-width:none;padding:20px 24px 24px;gap:18px}.chat-dashboard{width:100%;max-width:980px;margin:0 auto;display:grid;gap:18px;animation:dashboard-fade-in .45s ease}@keyframes dashboard-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-hero{position:relative;display:block;min-height:190px;padding:22px 26px 20px;border-radius:22px;border:1px solid var(--border-soft);background:radial-gradient(ellipse 52% 82% at 88% 54%,rgba(227,30,36,.08),transparent 72%),var(--bg-elevated);box-shadow:0 14px 34px #1c1c1c0d;overflow:hidden}.upload-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg-elevated) 0%,color-mix(in srgb,var(--bg-elevated) 86%,transparent) 38%,transparent 68%)}.upload-hero-body{position:relative;display:flex;align-items:center;z-index:2;min-height:130px;max-width:min(61%,540px)}.upload-hero-copy{min-width:0}.upload-hero-copy h2{margin:0 0 6px;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(1.08rem,1.45vw,1.32rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}.upload-hero-copy p{margin:0 0 14px;color:var(--text-muted);font-size:.86rem;line-height:1.5;max-width:36ch}.upload-hero-cta{border:none;border-radius:var(--radius-pill);min-width:132px;padding:10px 20px;background:var(--accent-gradient);color:#fff;font-weight:700;font-size:.84rem;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform .16s ease,box-shadow .16s ease}.upload-hero-cta:hover{transform:translateY(-1px);box-shadow:0 8px 28px #e31e2447}.upload-hero-visual{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.upload-hero-art{position:absolute;top:0;right:0;bottom:0;z-index:0;width:min(76%,760px);height:100%;display:block;object-fit:cover;object-position:right center;opacity:.96;filter:saturate(1.05) contrast(1.02);animation:hero-car-float 5s ease-in-out infinite}.upload-hero-art-dark{display:none}[data-theme=dark] .upload-hero{background:radial-gradient(ellipse 54% 82% at 88% 54%,rgba(227,30,36,.16),transparent 72%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 72%),var(--bg-elevated);border-color:#ffffff14;box-shadow:0 18px 48px #00000057}[data-theme=dark] .upload-hero:after{background:linear-gradient(90deg,var(--bg-elevated) 0%,color-mix(in srgb,var(--bg-elevated) 78%,transparent) 34%,transparent 66%)}[data-theme=dark] .upload-hero-visual{background:none}[data-theme=dark] .upload-hero-art-light{display:none}[data-theme=dark] .upload-hero-art-dark{display:block;opacity:.98;filter:saturate(1.08) contrast(1.04)}@keyframes hero-car-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.01)}}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--text-strong);font-family:var(--font-display);font-size:.96rem;font-weight:800;letter-spacing:-.02em}.section-title-muted{color:var(--text-primary);font-weight:700}.section-title-icon{width:15px;height:15px;color:var(--accent)}.photo-examples-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-example-card{margin:0;display:grid;gap:0;border-radius:15px;overflow:hidden;border:1px solid var(--border-soft);background:var(--bg-elevated);box-shadow:0 10px 26px #1c1c1c0b;transition:transform .2s ease,box-shadow .2s ease}.photo-example-card figcaption{display:grid;gap:2px;padding:9px 12px 11px;color:var(--text-muted);font-size:.76rem;font-weight:500;text-align:left}.photo-example-card strong{color:var(--text-strong);font-size:.82rem;font-weight:800}.photo-example-card span{color:var(--text-muted);font-size:.76rem}.photo-example-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px #1c1c1c17}.photo-example-media{position:relative;overflow:hidden;background:#f8f8f7}.photo-example-media img{width:100%;aspect-ratio:16/8.4;object-fit:cover;display:block}@media (max-width: 960px){.upload-hero{min-height:250px;padding-bottom:118px}.upload-hero-visual{left:0;height:150px;top:auto;bottom:0}.upload-hero-art{width:100%;object-position:right center}}@media (max-width: 640px){.chat-thread.has-dashboard{padding:12px 14px 18px}.chat-dashboard{gap:18px;max-width:100%;min-width:0;overflow-x:clip}.upload-hero{min-height:236px;padding:16px;border-radius:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 92%,transparent),var(--bg-elevated)),radial-gradient(ellipse 84% 54% at 84% 16%,rgba(227,30,36,.14),transparent 68%);box-shadow:0 18px 42px #1c1c1c12;max-width:100%;box-sizing:border-box}.upload-hero-body{display:grid;grid-template-columns:1fr;align-items:start;min-height:auto;max-width:none}.upload-hero-copy h2{font-size:1.18rem;max-width:16ch;text-wrap:balance}.upload-hero-copy p{margin-bottom:12px;font-size:.84rem;max-width:25ch}.upload-hero-cta{min-width:128px;min-height:40px;padding:10px 18px;font-size:.82rem}.upload-hero-visual{top:0;bottom:0;height:auto;background:none}.upload-hero-art{right:-52%;width:142%;opacity:.82;object-position:right center}.section-title{margin-bottom:10px;font-size:.92rem}.photo-examples{min-width:0;max-width:100%;overflow-x:clip}.photo-examples-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 8px;margin:0;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.photo-examples-grid::-webkit-scrollbar{display:none}.photo-example-card{flex:0 0 min(74vw,264px);scroll-snap-align:start;border-radius:18px}.photo-example-card figcaption{padding:10px 12px 12px}.photo-example-media img{aspect-ratio:16/9}}@media (max-width: 380px){.upload-hero{min-height:224px}.upload-hero-copy h2{max-width:15ch;font-size:1.1rem}.upload-hero-art{right:-62%;width:154%}}.composer-wrap{position:relative;z-index:2;padding:8px 20px 18px;background:linear-gradient(180deg,var(--composer-fade-start) 0%,var(--composer-fade-mid) 28%,var(--bg-primary) 60%)}.composer-toolbar{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.composer-settings{position:relative}.composer-settings summary{cursor:pointer;color:var(--text-muted);font-size:.8rem;font-weight:600}.compact-settings summary{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--border-soft);background:var(--bg-elevated);list-style:none;box-shadow:0 10px 30px #0000000d}.compact-settings summary::-webkit-details-marker{display:none}.compact-settings .composer-fields{position:absolute;right:0;bottom:calc(100% + 8px);width:min(360px,88vw);z-index:5}.settings-icon{font-size:1rem;color:var(--text-primary)}.composer-fields{margin-top:8px;padding:12px;display:grid;gap:10px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .composer-fields{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:.74rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.field input,.field select{width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:11px 12px;background:var(--bg-input);color:var(--text-strong);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field select option{background:var(--bg-panel);color:var(--text-strong)}.toggle-field{display:flex;gap:12px;padding:12px;border-radius:var(--radius-md);background:var(--bg-soft);border:1px solid var(--border-soft)}.toggle-field input{margin-top:3px;accent-color:var(--accent-strong);width:16px;height:16px}.toggle-field div{display:grid;gap:4px}.toggle-field span{color:var(--text-strong);font-size:.86rem;font-weight:600}.toggle-field small{color:var(--text-muted);line-height:1.4;font-size:.78rem}.composer-draft{width:min(1120px,100%);margin:0 auto 8px}.composer-card{width:100%;margin:0}.composer-draft-title{color:var(--text-muted);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.composer-card{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--radius-2xl);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .composer-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.composer-card{box-shadow:0 10px 30px #0000000d;border-color:var(--border-soft)}[data-theme=light] .composer-card{background:var(--bg-elevated);border-color:var(--border-soft);box-shadow:var(--shadow-md)}[data-theme=light] .composer-input-shell{background:var(--bg-input);border:1px solid var(--border-soft)}[data-theme=light] .recognize-button{box-shadow:var(--shadow-glow)}.composer-card-locked{justify-content:flex-start;opacity:.85}.composer-top-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.composer-input-shell{min-width:0;flex:1 1 auto;min-height:40px;display:flex;align-items:center;padding:0 12px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--bg-soft);transition:background .15s ease,border-color .15s ease}.composer-input-shell.drag-over{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.composer-placeholder{color:var(--text-muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-add-button{border-radius:12px;background:var(--bg-input)}.composer-manual-card{width:min(520px,100%);margin:0 auto 10px;padding:10px 12px;display:grid;gap:8px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .composer-manual-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.composer-manual-title{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.composer-manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.composer-manual-field{display:flex;flex-direction:column;gap:4px}.composer-manual-field span{font-size:.68rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.composer-manual-field input{width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg-input);color:var(--text-strong);font-size:.84rem;box-sizing:border-box}.composer-manual-field input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--border-soft));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.composer-manual-field input:disabled{opacity:.55;cursor:not-allowed}.manual-input-bubble{display:grid;gap:4px}.manual-input-title{color:color-mix(in srgb,#fff 72%,transparent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.manual-input-line{font-size:.95rem;line-height:1.4}.recognize-button{width:100%;min-height:48px;border:none;border-radius:var(--radius-pill);padding:0 20px;background:var(--accent-gradient-cta);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 10px 28px #e31e2438;letter-spacing:.01em}.recognize-button:hover:not(:disabled){box-shadow:0 14px 32px #e31e244d}.recognize-button.danger{background:linear-gradient(90deg,#ef4444,#b91c1c);box-shadow:0 8px 24px #ef444440;color:#fff}.recognize-button.secondary{background:var(--bg-elevated);border:1px solid var(--border-soft);color:var(--text-strong);box-shadow:0 8px 24px #0000000f;min-height:40px;font-size:.86rem}.recognize-button.secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 35%,var(--border-soft));box-shadow:0 10px 28px #00000014}.recognize-button:disabled{opacity:.42;cursor:default;transform:none;box-shadow:none}@media (max-width: 767px){.composer-wrap{margin:0 max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));padding:10px 10px max(10px,env(safe-area-inset-bottom));border:1px solid var(--border-soft);border-radius:24px;background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);box-shadow:0 -12px 34px #1c1c1c14;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);max-width:calc(100vw - 16px);box-sizing:border-box;overflow-x:clip}.composer-toolbar{grid-template-columns:1fr;gap:8px;position:relative}.composer-manual-grid{grid-template-columns:1fr}.compact-settings{position:absolute;right:0;top:-54px;z-index:6}.compact-settings summary{width:42px;height:42px;border-radius:13px}.compact-settings .composer-fields{right:0;left:auto;width:min(340px,100vw - 28px)}.composer-card{padding:10px;border-radius:20px;gap:10px;border-color:transparent;box-shadow:none}.composer-top-row{grid-template-columns:38px minmax(0,1fr);gap:7px}.composer-add-button,.composer-input-shell{min-height:38px}.composer-add-button{width:38px;height:38px}.composer-input-shell{padding:0 10px;border-radius:12px}.composer-placeholder{font-size:.8rem}.recognize-button{grid-column:1/-1;min-height:48px;font-size:.9rem;border-radius:14px}.recognize-button.danger{min-height:44px}.composer-draft{width:100%}.composer-draft-gallery{grid-template-columns:repeat(3,minmax(92px,1fr));overflow-x:auto}}@media (max-width: 380px){.compact-settings{top:-50px}.composer-top-row{grid-template-columns:36px minmax(0,1fr) 48px}.composer-placeholder{font-size:.76rem}}
