:root,[data-accent=indigo]{--accent:#4f46e5;--accent-fg:#fff}[data-accent=blue]{--accent:#2563eb;--accent-fg:#fff}[data-accent=teal]{--accent:#0e7c72;--accent-fg:#fff}[data-accent=green]{--accent:#15803d;--accent-fg:#fff}[data-accent=amber]{--accent:#b45309;--accent-fg:#fff}[data-accent=rose]{--accent:#e11d48;--accent-fg:#fff}[data-accent=violet]{--accent:#7c3aed;--accent-fg:#fff}[data-accent=graphite]{--accent:#27272a;--accent-fg:#fff}[data-theme=dark][data-accent=amber]{--accent:#f59e0b;--accent-fg:#1c1917}[data-theme=dark][data-accent=graphite]{--accent:#e4e4e7;--accent-fg:#18181b}[data-theme=dark][data-accent=indigo]{--accent:#6366f1}[data-theme=dark][data-accent=teal]{--accent:#0f9488}[data-theme=dark][data-accent=green]{--accent:#16a34a}:root{--font:Inter,"Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;--mono:"JetBrains Mono","Cascadia Code",Consolas,"SFMono-Regular",monospace;--bg:#f6f6f8;--surface:#ffffff;--surface-2:#fbfbfc;--sunken:#f3f3f6;--field-bg:#ffffff;--hover:rgba(24,24,32,.045);--pressed:rgba(24,24,32,.075);--border:#e7e7ec;--border-strong:#d6d6de;--text:#18181b;--text-2:#3f3f46;--text-3:#6b6b76;--text-4:#9b9ba6;--overlay:rgba(16,16,22,.42);--shadow-xs:0 1px 2px rgba(16,24,40,.05);--shadow-sm:0 1px 3px rgba(16,24,40,.07),0 1px 2px rgba(16,24,40,.04);--shadow-md:0 10px 30px -8px rgba(16,24,40,.14),0 2px 6px rgba(16,24,40,.05);--shadow-lg:0 28px 70px -16px rgba(16,24,40,.32),0 4px 14px rgba(16,24,40,.08);--code-bg:#18181b;--code-fg:#e4e4e7;--success:#15803d;--warning:#b45309;--danger:#dc2626;--mix-soft:9%;--mix-line:24%;--accent-text:var(--accent);--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--rail-w:232px;--top-h:56px;color-scheme:light}[data-theme=dark]{--bg:#0b0b0e;--surface:#141418;--surface-2:#101013;--sunken:#1b1b21;--field-bg:#101014;--hover:rgba(255,255,255,.05);--pressed:rgba(255,255,255,.085);--border:#25252c;--border-strong:#34343d;--text:#f4f4f5;--text-2:#d4d4d8;--text-3:#a1a1aa;--text-4:#71717a;--overlay:rgba(0,0,0,.62);--shadow-xs:0 1px 2px rgba(0,0,0,.4);--shadow-sm:0 1px 3px rgba(0,0,0,.45);--shadow-md:0 12px 32px -8px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.35);--shadow-lg:0 30px 80px -16px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.04);--code-bg:#0a0a0c;--code-fg:#e4e4e7;--success:#22c55e;--warning:#f59e0b;--danger:#f87171;--mix-soft:14%;--mix-line:32%;--accent-text:color-mix(in srgb,var(--accent) 62%,#fff);color-scheme:dark}[data-theme=dark][data-accent=graphite]{--accent-text:#f4f4f5}:root{--accent-hover:color-mix(in srgb,var(--accent) 86%,#000);--accent-soft:color-mix(in srgb,var(--accent) var(--mix-soft),var(--surface));--accent-soft-2:color-mix(in srgb,var(--accent) calc(var(--mix-soft) * 1.8),var(--surface));--accent-line:color-mix(in srgb,var(--accent) var(--mix-line),var(--border));--ring:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent);--success-soft:color-mix(in srgb,var(--success) var(--mix-soft),var(--surface));--success-line:color-mix(in srgb,var(--success) var(--mix-line),var(--border));--warning-soft:color-mix(in srgb,var(--warning) var(--mix-soft),var(--surface));--warning-line:color-mix(in srgb,var(--warning) var(--mix-line),var(--border));--warning-text:color-mix(in srgb,var(--warning) 82%,var(--text));--danger-soft:color-mix(in srgb,var(--danger) var(--mix-soft),var(--surface));--danger-line:color-mix(in srgb,var(--danger) var(--mix-line),var(--border));--danger-text:color-mix(in srgb,var(--danger) 85%,var(--text))}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}:root{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}svg{flex-shrink:0}::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}summary{cursor:pointer}input,textarea,select{min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--field-bg);color:var(--text);padding:8px 11px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s,background-color .15s}input:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--text-4) 60%,var(--border-strong))}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--ring)}input:disabled,textarea:disabled,select:disabled{color:var(--text-3);background:var(--sunken);border-color:var(--border);opacity:1}input::placeholder,textarea::placeholder{color:var(--text-4)}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{appearance:none;width:16px;height:16px;min-height:0;flex:none;margin:0;padding:0;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--field-bg);display:inline-grid;place-content:center;vertical-align:middle;cursor:pointer;box-shadow:none}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";width:8px;height:4px;border:solid var(--accent-fg);border-width:0 0 2px 2px;transform:rotate(-45deg);margin-top:-2px}input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ring)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-4)}::-webkit-scrollbar-track{background:transparent}.btn{height:36px;padding:0 14px;border-radius:var(--radius);font-size:13px;font-weight:550;white-space:nowrap;border:1px solid transparent;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-2);box-shadow:var(--shadow-xs)}.btn.secondary:hover:not(:disabled){background:var(--sunken);color:var(--text)}.btn.subtle{color:var(--text-3);padding:0 10px}.btn.subtle:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn.small{height:30px;font-size:12px;padding:0 10px;border-radius:7px}.btn.danger-action{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-action:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.icon{width:32px;height:32px;padding:0;color:var(--text-3);border-radius:var(--radius);flex:none;transition:background-color .15s,color .15s}.icon:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-button{width:32px;height:32px;border-radius:var(--radius);color:var(--text-3);padding:0;transition:background-color .15s,color .15s}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--text)}.link{color:var(--accent-text);font-size:12.5px;font-weight:500;padding:0;white-space:nowrap;gap:5px}.link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.grow{flex:1}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:8px}.caption{display:block;font-size:12px;font-weight:500;color:var(--text-3);margin-bottom:10px}.help{font-size:13.5px;line-height:1.75;color:var(--text-3);margin-bottom:18px}.tag{display:inline-flex;gap:5px;align-items:center;height:22px;padding:0 8px;font-size:11.5px;font-weight:500;border-radius:999px;white-space:nowrap;background:var(--sunken);border:1px solid var(--border);color:var(--text-2)}.tag.warning{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-line)}.notice{font-size:13px;line-height:1.75;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:16px;overflow-wrap:anywhere}.notice.warning{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning-text)}.notice.danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text);white-space:pre-wrap}.notice p{margin-top:6px}.notice .link{margin-left:8px}.studio{height:100dvh;display:flex;overflow:hidden;background:var(--bg)}.rail{width:var(--rail-w);flex:none;background:var(--surface-2);border-right:1px solid var(--border);padding:18px 12px 14px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.logo{display:flex;gap:11px;align-items:center;margin:2px 6px 22px;font-size:17px;font-weight:700;letter-spacing:.02em;color:var(--text)}.logo>span{width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;box-shadow:0 4px 12px -2px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 1px #ffffff2e}.logo>span svg{width:18px;height:18px}.logo>div{line-height:1.1}.logo small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.16em;color:var(--text-4);margin-top:4px}.new-button{width:100%;justify-content:flex-start;padding-left:12px}.rail-label{font-size:11px;font-weight:600;color:var(--text-4);margin:22px 10px 6px;letter-spacing:.04em}.rail nav{display:flex;flex-direction:column;gap:2px}.rail nav button{position:relative;width:100%;height:36px;justify-content:flex-start;padding:0 10px;border-radius:var(--radius);color:var(--text-3);font-size:13.5px;font-weight:500;gap:10px;transition:background-color .15s,color .15s}.rail nav button:hover:not(:disabled){background:var(--hover);color:var(--text)}.rail nav button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs),0 0 0 1px var(--border)}.rail nav button.active svg{color:var(--accent-text)}.rail nav b{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;font-size:11px;font-weight:600;border-radius:999px;background:var(--sunken);color:var(--text-3)}.rail nav button.active b{background:var(--accent-soft-2);color:var(--accent-text)}.rail-bottom{margin-top:auto;padding-top:16px}.background-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent-line);padding:9px 10px;border-radius:var(--radius);margin-bottom:12px;cursor:pointer}.local-state{font-size:12px;display:flex;align-items:center;gap:8px;color:var(--text-3);padding:6px 10px}.local-state i{display:inline-block;width:7px;height:7px;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}.local-state i.offline{background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 18%,transparent)}.main{min-width:0;flex:1;display:flex;flex-direction:column;height:100dvh;position:relative}.top{height:var(--top-h);flex:none;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--border);padding:0 20px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:20}.breadcrumbs{font-size:13px;color:var(--text-4);display:flex;gap:8px;align-items:center;min-width:0;white-space:nowrap}.breadcrumbs strong{font-weight:600;color:var(--text)}.top-right{display:flex;align-items:center;gap:4px}.model-tag{display:inline-flex;align-items:center;gap:7px;height:28px;font-size:12px;font-weight:500;color:var(--text-2);background:var(--sunken);border:1px solid var(--border);border-radius:999px;padding:0 11px;margin-right:6px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.theme-picker{position:relative;display:flex;gap:2px}.theme-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:90;width:272px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.theme-popover-label{display:block;font-size:11.5px;font-weight:600;color:var(--text-3);margin:0 0 8px}.theme-popover-label:not(:first-child){margin-top:14px}.theme-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;background:var(--sunken);border-radius:var(--radius)}.theme-modes button{flex-direction:column;gap:4px;height:52px;border-radius:6px;font-size:11.5px;color:var(--text-3);transition:background-color .15s,color .15s}.theme-modes button:hover{color:var(--text)}.theme-modes button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.theme-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.theme-swatches button{aspect-ratio:1;border-radius:50%;background:var(--swatch);color:#fff;box-shadow:inset 0 0 0 1px #0000001f;transition:transform .15s}.theme-swatches button:hover{transform:scale(1.1)}.theme-swatches button.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--swatch)}.theme-popover-note{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-4)}.error-bar{flex:none;display:flex;align-items:flex-start;gap:9px;padding:10px 24px;font-size:12.5px;line-height:1.7;background:var(--danger-soft);color:var(--danger-text);border-bottom:1px solid var(--danger-line);max-height:145px;overflow:auto}.error-bar>span{flex:1;overflow-wrap:anywhere;white-space:pre-wrap}.app-select{position:relative;min-width:0;width:100%}.app-select-trigger{width:100%;min-height:36px;padding:6px 10px 6px 12px;justify-content:space-between;text-align:left;color:var(--text);background:var(--field-bg);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:13px;font-weight:400;transition:border-color .15s,box-shadow .15s}.app-select-trigger svg{color:var(--text-4)}.app-select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-4) 60%,var(--border-strong))}.app-select-trigger[aria-expanded=true],.app-select-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.app-select-trigger:disabled{background:var(--sunken);color:var(--text-3);border-color:var(--border);opacity:1}.app-select-menu,.model-options{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;min-width:160px;max-height:240px;overflow:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.app-select-menu button,.model-options button{width:100%;min-height:34px;padding:7px 10px;justify-content:space-between;text-align:left;color:var(--text-2);border-radius:6px;font-size:13px}.app-select-menu button:hover,.app-select-menu button.active,.model-options button:hover,.model-options button.active{background:var(--hover);color:var(--text)}.app-select-menu button[aria-selected=true],.model-options button[aria-selected=true]{color:var(--accent-text);font-weight:550}.model-options button span{min-width:0;overflow-wrap:anywhere}.model-options small{display:block;color:var(--text-4);margin-top:2px;font-size:11.5px;font-weight:400}.model-options p{padding:12px;color:var(--text-4);font-size:12.5px;line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal{width:540px;max-width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none;overflow:hidden}.modal.wide{width:820px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 6px;flex:none}.modal-head .eyebrow{font-size:11px;margin-bottom:6px}.modal-head h2{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text);line-height:1.4}.modal-head .icon-button{margin:-4px -8px 0 0}.modal-body{padding:14px 24px 22px;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface-2);flex:none}.modal-viewer{height:65vh}.modal-viewer .source-viewer{height:100%;box-shadow:none}.modal audio{width:100%;margin:10px 0}.transcript-input{width:100%;resize:vertical;line-height:1.8;margin-top:12px}.confirm-message{font-size:14px;line-height:1.75;color:var(--text-2);overflow-wrap:anywhere}.summary-list{margin:0 0 18px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 16px;background:var(--surface-2)}.summary-list>div{display:flex;justify-content:space-between;gap:20px;font-size:13.5px;padding:10px 0;line-height:1.6}.summary-list>div+div{border-top:1px solid var(--border)}.summary-list dt{color:var(--text-3);white-space:nowrap}.summary-list dd{margin:0;text-align:right;color:var(--text);font-weight:550;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.summary-list dd small{display:block;font-size:12px;font-weight:400;color:var(--warning-text)}.check-label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2);line-height:1.7;cursor:pointer}.receipt-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}.receipt-heading>span{width:52px;height:52px;display:grid;place-items:center;color:var(--success);background:var(--success-soft);border:1px solid var(--success-line);border-radius:50%}.receipt-heading h2{font-size:20px;font-weight:700;color:var(--text);font-family:var(--mono);letter-spacing:-.01em}.receipt-heading p{font-size:13px;color:var(--text-3);margin-top:3px}.json-details{border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;font-size:13px;color:var(--text-3)}.json-details summary{font-weight:550}.json-details pre{background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);font-size:12px;line-height:1.7;padding:16px;border-radius:var(--radius);max-height:300px;overflow:auto;margin:12px 0 0}.price-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.price-row>div{flex:1}.price-row strong{font-size:13.5px;font-weight:600;color:var(--text)}.price-row span{display:block;font-size:12px;color:var(--text-3);margin-top:2px}.price-row input{width:140px;text-align:right}.help-steps{list-style:none;counter-reset:hs;padding:0;margin:0}.help-steps li{counter-increment:hs;position:relative;padding:0 0 20px 42px}.help-steps li:before{content:counter(hs);position:absolute;left:0;top:-2px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft-2);color:var(--accent-text);font-size:12.5px;font-weight:650}.help-steps li:not(:last-child):after{content:"";position:absolute;left:12.5px;top:30px;bottom:4px;width:1px;background:var(--border)}.help-steps strong{font-size:14px;color:var(--text);font-weight:650}.help-steps p{font-size:13px;line-height:1.75;color:var(--text-3);margin-top:4px}.toast-stack{position:fixed;z-index:500;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;pointer-events:none}.app-toast{pointer-events:auto;display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:10px;align-items:start;padding:14px 12px 14px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text)}.toast-icon{color:var(--accent-text);display:flex;padding-top:1px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-content{min-width:0}.toast-content strong{display:block;font-size:13.5px;font-weight:650;line-height:20px}.toast-content p{margin:2px 0 0;font-size:13px;line-height:1.6;color:var(--text-3);overflow-wrap:anywhere;white-space:pre-wrap}.toast-close{width:24px;height:24px;padding:0;color:var(--text-4);border-radius:6px;margin:-2px -2px 0 0}.toast-close:hover{background:var(--hover);color:var(--text)}.toast-details{margin-top:6px;color:var(--accent-text);font-size:12.5px}.toast-details summary{width:fit-content;text-decoration:underline;text-underline-offset:3px}.toast-details[open] p{max-height:min(240px,35dvh);overflow:auto;overscroll-behavior:contain;margin-top:8px;padding:10px;background:var(--sunken);border-radius:var(--radius);color:var(--text-2)}.toast-message{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);display:flex;gap:9px;align-items:center;box-shadow:var(--shadow-md);border-radius:var(--radius-lg);padding:12px 18px;max-width:85vw;font-size:13px;line-height:1.7;z-index:200}@media(hover:hover)and (pointer:fine){.btn:active:not(:disabled){transform:translateY(.5px) scale(.985)}}.rail nav{margin-top:18px}.service-pill{width:100%;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--radius);font-size:12px;color:var(--text-3);text-align:left}.service-pill:hover{background:var(--hover);color:var(--text)}.service-pill i,.dot,.status-chip i,.service-option strong i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--text-4);flex:none}.service-pill em{font-style:normal;font-size:11.5px;color:var(--text-4)}.tone-ok i,.dot.tone-ok{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}.tone-warn i,.dot.tone-warn{background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 18%,transparent)}.tone-bad i,.dot.tone-bad{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.tone-ok em{color:var(--success)!important}.tone-warn em{color:var(--warning-text)!important}.tone-bad em{color:var(--danger-text)!important}.breadcrumbs a{color:var(--text);font-weight:600}.breadcrumbs a.muted{color:var(--text-4);font-weight:400}.breadcrumbs a:hover{color:var(--accent-text)}.view{flex:1;min-height:0;overflow:auto;padding:32px 40px 56px}.view>*{max-width:1240px;margin-left:auto;margin-right:auto}.view.narrow>*{max-width:900px}.view-full>*{max-width:none;margin-left:0;margin-right:0}.view-full{display:flex;flex-direction:column;padding:16px 24px 20px}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.view-head.compact{margin:0 0 10px;align-items:center}.view-head .eyebrow{margin-bottom:6px}.view-head h1{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.3}.view-head p{font-size:14px;color:var(--text-3);margin-top:6px;max-width:680px;line-height:1.7}.btn.large{height:42px;padding:0 20px;font-size:14px;border-radius:10px}.btn.block{width:100%}a.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}a.btn.disabled{pointer-events:none;opacity:.45}.icon.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.muted-text{font-size:12.5px;color:var(--text-4)}.tag.ok{color:var(--success);background:var(--success-soft);border-color:var(--success-line)}.tag.danger{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-line)}.tag.info{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-line)}.field-caption{display:block;font-size:12.5px;font-weight:550;color:var(--text-2);margin-bottom:6px}.field-hint{display:block;font-size:12px;color:var(--text-4);margin-top:6px;line-height:1.5}.count-pill{height:22px;min-width:22px;padding:0 8px;display:inline-grid;place-items:center;border-radius:999px;background:var(--sunken);color:var(--text-3);font-size:12px;font-weight:600;white-space:nowrap}.loader{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}code{font-family:var(--mono);font-size:.92em;padding:1px 5px;border-radius:5px;background:var(--sunken)}.code-block{margin:0;padding:16px;border-radius:var(--radius-lg);background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);font-size:12.5px;line-height:1.7;max-height:55vh;overflow:auto}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--sunken);border-radius:var(--radius)}.segmented button{height:30px;padding:0 12px;border-radius:6px;font-size:12.5px;font-weight:550;color:var(--text-3);gap:6px}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.segmented.small button{height:26px;padding:0 10px;font-size:12px}.empty-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:64px 24px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-2)}.empty-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:var(--accent-soft-2);color:var(--accent-text);margin-bottom:4px}.empty-hero h2{font-size:20px;font-weight:700}.empty-hero p{max-width:460px;color:var(--text-3);line-height:1.75;margin-bottom:8px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:20px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text-3);text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s;outline:none}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-visible{box-shadow:var(--ring)}.dropzone.over{border-color:var(--accent);background:var(--accent-soft-2);transform:scale(1.005)}.dropzone.disabled{opacity:.55;cursor:not-allowed}.dropzone.compact{min-height:104px;padding:14px}.dropzone-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft-2);color:var(--accent-text);margin-bottom:4px}.dropzone.compact .dropzone-icon{width:36px;height:36px;border-radius:10px}.dropzone strong{font-size:14px;font-weight:600;color:var(--text)}.dropzone-hint{font-size:12px;color:var(--text-4)}.file-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.file-list li{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-3)}.file-list.tight{margin-top:8px}.file-list.tight li{padding:4px 4px 4px 10px;font-size:12.5px}.file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px}.file-list small{font-size:12px;color:var(--text-4);font-variant-numeric:tabular-nums}.recognize-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.steps{display:flex;flex-direction:column;gap:16px;min-width:0}.step-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 22px;box-shadow:var(--shadow-xs)}.step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.step-head>div{flex:1;min-width:0}.step-head h2{font-size:15.5px;font-weight:650}.step-head p{font-size:12.5px;color:var(--text-4);margin-top:2px}.step-no{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:13px;font-weight:700}.template-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.template-option{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;justify-content:flex-start;transition:border-color .15s,box-shadow .15s,background-color .15s}.template-option:hover{border-color:var(--border-strong)}.template-option.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.radio-dot{width:18px;height:18px;flex:none;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--border-strong);color:var(--accent-fg)}.template-option.active .radio-dot{background:var(--accent);border-color:var(--accent)}.template-option-text{min-width:0}.template-option-text strong{display:block;font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-option-text small{display:block;font-size:12px;color:var(--text-4);margin-top:1px}.field-preview,.chips{display:flex;flex-wrap:wrap;gap:6px}.field-preview{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;color:var(--text-2);background:var(--sunken);border:1px solid var(--border);white-space:nowrap}.chip em{font-style:normal;font-size:11px;color:var(--text-4)}.chip.table{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.chip.more{color:var(--text-4)}.service-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;justify-content:flex-start;background:var(--surface);transition:border-color .15s,box-shadow .15s,background-color .15s}.service-option:hover{border-color:var(--border-strong)}.service-option.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.service-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--sunken);color:var(--text-2)}.service-option.active .service-icon{background:var(--accent);color:var(--accent-fg)}.service-text{min-width:0}.service-text strong{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:650;color:var(--text)}.service-text strong i{margin-left:2px}.service-text em{font-style:normal;font-size:12px;font-weight:500;color:var(--text-4)}.service-text small{display:block;font-size:12px;color:var(--text-3);margin-top:3px;line-height:1.5;overflow-wrap:anywhere}.service-tools{grid-column:1/-1;display:flex;gap:16px;justify-content:flex-end}.launch-card{position:sticky;top:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-sm)}.launch-card h3{font-size:15px;font-weight:650;margin-bottom:12px}.launch-card dl{margin:0 0 16px}.launch-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:13px;border-bottom:1px solid var(--border)}.launch-card dt{color:var(--text-3);white-space:nowrap}.launch-card dd{margin:0;text-align:right;font-weight:550;display:flex;align-items:center;gap:7px;justify-content:flex-end;min-width:0;overflow-wrap:anywhere}.launch-warn{font-size:12.5px;line-height:1.6;color:var(--warning-text);background:var(--warning-soft);border:1px solid var(--warning-line);border-radius:var(--radius);padding:9px 11px;margin-bottom:12px}.launch-note{font-size:12px;color:var(--text-4);margin-top:10px;line-height:1.6;text-align:center}.run-results{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.run-bar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden}.run-bar-info{display:flex;flex-direction:column;gap:4px;min-width:0}.run-state{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:650;color:var(--text)}.run-state.done svg{color:var(--success)}.run-state.running svg,.run-state.queued svg{color:var(--accent-text)}.run-state.failed svg,.run-state.canceled svg{color:var(--warning)}.run-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12.5px;color:var(--text-3)}.run-meta b{color:var(--text-2);font-weight:600}.warn-text{color:var(--warning-text);font-weight:550}.run-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.run-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}.run-progress span{display:block;height:100%;background:var(--accent);transition:width .4s ease}.run-progress:not(.live) span{background:color-mix(in srgb,var(--success) 60%,transparent)}.run-progress.live span{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#fff),var(--accent));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.review-layout{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px}.page-list{display:flex;flex-direction:column;gap:4px;overflow:auto;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.page-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:var(--radius);text-align:left;justify-content:stretch}.page-item:hover{background:var(--hover)}.page-item.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.thumb{width:40px;height:50px;border-radius:5px;overflow:hidden;background:var(--sunken);border:1px solid var(--border)}.thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.page-item-text{min-width:0}.page-item-text strong{display:block;font-size:12.5px;font-weight:550;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-item-text small{display:block;font-size:11.5px;color:var(--text-4);margin-top:1px}.page-badge{display:flex;align-items:center;gap:5px;color:var(--text-4)}.page-item.ok .page-badge svg{color:var(--success)}.page-item.failed .page-badge svg{color:var(--danger)}.page-item.running .page-badge svg,.page-item.preparing .page-badge svg{color:var(--accent-text)}.warn-count{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--warning-soft);border:1px solid var(--warning-line);color:var(--warning-text);font-size:11px;font-weight:650}.page-result{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px}.doc-viewer,.data-panel{min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}.doc-toolbar{display:flex;align-items:center;gap:4px;height:46px;padding:0 8px 0 14px;border-bottom:1px solid var(--border);flex:none}.doc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.doc-name em{font-style:normal;font-weight:400;color:var(--text-4)}.doc-toolbar .tag{margin-right:4px}.zoom-readout{min-width:44px;text-align:center;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.doc-canvas{flex:1;min-height:0;background:var(--sunken);background-image:radial-gradient(color-mix(in srgb,var(--text-4) 22%,transparent) 1px,transparent 1px);background-size:16px 16px}.zoompan{position:relative;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.zoompan.dragging{cursor:grabbing}.zoompan.tap-opens{touch-action:pan-x pan-y;cursor:zoom-in}.zoompan-layer.animate{transition:transform .22s cubic-bezier(.32,.72,0,1)}.zoompan-layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.zoompan-layer img{position:absolute;left:50%;top:50%;max-width:none;display:block;background:#fff;box-shadow:0 10px 30px -8px #00000059;transform-origin:center;pointer-events:none}.zoompan.loading .zoompan-layer{opacity:0}.zoompan-loader{position:absolute;left:50%;top:50%;margin:-13px 0 0 -13px}.lightbox{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#08080bf0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#f4f4f5;outline:none}.lightbox-bar{display:flex;align-items:center;gap:16px;height:56px;padding:0 12px 0 20px;border-bottom:1px solid rgba(255,255,255,.08)}.lightbox-title{min-width:0;flex:1;display:flex;flex-direction:column}.lightbox-title strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-title small{font-size:12px;color:#a1a1aa}.lightbox-count{font-size:13px;color:#d4d4d8;font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:999px;background:#ffffff14}.lightbox-tools{display:flex;align-items:center;gap:2px}.lb-btn{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:8px;color:#d4d4d8}.lb-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.lb-zoom{min-width:50px;text-align:center;font-size:12.5px;color:#d4d4d8;font-variant-numeric:tabular-nums}.lb-sep{width:1px;height:20px;background:#ffffff24;margin:0 6px}.lightbox-stage{position:relative;min-height:0}.lightbox-stage .zoompan{position:absolute;inset:0}.lightbox-stage .zoompan-layer img{box-shadow:0 20px 60px #0009}.lb-nav{position:absolute;top:50%;width:48px;height:72px;margin-top:-36px;border-radius:12px;color:#fff;background:#ffffff14;transition:background-color .15s,opacity .15s}.lb-nav:hover:not(:disabled){background:#ffffff2e}.lb-nav:disabled{opacity:.15}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lightbox-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:5px 12px;border-radius:999px;background:#0000008c;color:#a1a1aa;font-size:12px;pointer-events:none;white-space:nowrap}.lightbox-strip{display:flex;gap:8px;padding:10px 16px 14px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);justify-content:safe center}.lightbox-strip button{position:relative;flex:none;width:56px;height:72px;padding:0;border-radius:6px;overflow:hidden;border:2px solid transparent;opacity:.55;transition:opacity .15s,border-color .15s}.lightbox-strip button:hover{opacity:.9}.lightbox-strip button.active{opacity:1;border-color:var(--accent)}.lightbox-strip img{width:100%;height:100%;object-fit:cover;object-position:top;background:#fff}.lightbox-strip span{position:absolute;right:3px;bottom:3px;min-width:18px;padding:0 4px;border-radius:4px;background:#000000b3;font-size:11px;color:#fff}.ai-thumbs button{padding:0;border-radius:6px;cursor:zoom-in}.ai-thumbs button:hover img{border-color:var(--accent)}.data-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px 20px}.data-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.meta-item{font-size:12px;color:var(--text-4);font-variant-numeric:tabular-nums}.save-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-4)}.save-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-4)}.save-dot.edited:before{background:var(--success)}.save-dot.busy:before{background:var(--warning)}.compact-notice{display:flex;gap:8px;align-items:flex-start;padding:9px 12px;font-size:12.5px}.compact-notice svg{margin-top:3px;flex:none}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 12px;margin-bottom:18px}.kv{display:flex;flex-direction:column;gap:4px;min-width:0}.kv-label{font-size:12px;font-weight:550;color:var(--text-3)}.kv-label b{color:var(--danger);margin-left:2px}.kv input{width:100%;height:36px;font-size:13.5px;font-weight:500}.kv.empty input{background:var(--sunken)}.kv.warn input{border-color:var(--warning);background:var(--warning-soft)}.kv-warn{display:inline-flex;align-items:flex-start;gap:4px;font-size:11.5px;line-height:1.45;color:var(--warning-text)}.kv-warn svg{margin-top:2px;flex:none}.result-table-block{margin-top:4px}.block-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.block-title strong{font-size:14px;font-weight:650}.block-title .count{font-size:12px;color:var(--text-4)}.grid-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}.data-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.data-grid th{position:sticky;top:0;z-index:2;background:var(--surface-2);color:var(--text-3);font-size:12px;font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.data-grid td{border-bottom:1px solid var(--border);padding:2px;background:var(--surface)}.data-grid tbody tr:last-child td{border-bottom:0}.data-grid tbody tr:hover td{background:var(--surface-2)}.data-grid .idx{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--border);width:38px;text-align:center;color:var(--text-4);font-size:11.5px;font-variant-numeric:tabular-nums;padding:0 4px}.data-grid .act{width:36px;text-align:center}.data-grid .act .icon{width:26px;height:26px;opacity:0}.data-grid tr:hover .act .icon,.data-grid .act .icon:focus-visible{opacity:1}.data-grid td input{width:100%;min-width:90px;height:32px;padding:4px 8px;border-color:transparent;background:transparent;border-radius:6px;font-size:13px}.data-grid td input:hover{border-color:var(--border-strong);background:var(--field-bg)}.data-grid td input:focus{background:var(--field-bg)}.data-grid .num,.data-grid .num input{text-align:right;font-variant-numeric:tabular-nums}.data-grid td.warn input{background:var(--warning-soft);border-color:var(--warning-line)}.grid-empty{text-align:center;color:var(--text-4);padding:22px!important;font-size:12.5px}.data-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;text-align:center;color:var(--text-4);min-height:240px}.data-state strong{font-size:15px;color:var(--text)}.data-state p{font-size:13px;line-height:1.7;max-width:420px;overflow-wrap:anywhere}.data-state.failed svg{color:var(--danger)}.data-state.wide{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.summary-card{flex:1;min-height:0;display:flex}.summary-card .grid-scroll{flex:1;background:var(--surface)}.summary-grid td{padding:10px 12px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;color:var(--text-2)}.summary-grid tr.clickable{cursor:pointer}.file-cell{font-weight:550;color:var(--text)!important}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.template-card{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.template-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.template-card-head{display:flex;gap:12px;align-items:flex-start}.template-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft-2);color:var(--accent-text)}.template-card h3{font-size:15px;font-weight:650;line-height:1.35}.template-card-head small{display:block;font-size:12px;color:var(--text-4);margin-top:2px}.template-desc{font-size:13px;color:var(--text-3);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card footer{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.template-card footer .btn{margin-left:6px}.editor-view{padding-bottom:0}.editor-bar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex:none}.editor-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.editor-main{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:0 4px 32px 0}.editor-main>.panel{flex:none}.name-row{display:flex;gap:12px;margin-bottom:12px}.grow-field{flex:1}.name-input{width:100%;height:44px;font-size:17px;font-weight:650}.editor-main label input{width:100%}input.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)!important}.panel-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.panel-head>div{flex:1;min-width:0}.panel-head h2{font-size:15px;font-weight:650}.panel-head p{font-size:12.5px;color:var(--text-4);margin-top:2px}.start-panel h2{font-size:15px;font-weight:650;margin-bottom:12px}.start-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.start-choice{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:18px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);transition:border-color .15s,box-shadow .15s,background-color .15s}.start-choice:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--ring)}.choice-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--sunken);color:var(--text-2);margin-bottom:6px}.choice-icon.ai{background:var(--accent);color:var(--accent-fg)}.start-choice strong{font-size:14.5px;font-weight:650;color:var(--text)}.start-choice small{font-size:12.5px;color:var(--text-3);line-height:1.65}.field-rows{display:flex;flex-direction:column;gap:6px}.field-rows-head,.field-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 44px 96px;gap:8px;align-items:center}.field-rows.with-ids .field-rows-head,.field-rows.with-ids .field-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 112px 44px 96px}.field-rows-head{font-size:11.5px;font-weight:600;color:var(--text-4);padding:0 2px 2px}.field-rows-head .center{text-align:center}.field-row{padding:4px;border-radius:var(--radius);transition:background-color .15s}.field-row:hover{background:var(--surface-2)}.field-row.invalid{background:var(--danger-soft)}.field-row>input{height:36px;width:100%}.field-label-input{font-weight:550}.field-id-input{font-family:var(--mono);font-size:12.5px!important;color:var(--text-3)}.field-row .app-select-trigger{min-height:36px}.required-toggle{width:36px;height:36px;margin:0 auto;display:grid;place-items:center;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-4);cursor:pointer;transition:all .15s}.required-toggle input{position:absolute;opacity:0;pointer-events:none}.required-toggle:hover{border-color:var(--border-strong);color:var(--text-2)}.required-toggle.on{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.required-toggle:focus-within{box-shadow:var(--ring)}.row-actions{display:flex;justify-content:flex-end}.row-actions .icon{width:30px;height:30px}.row-error{grid-column:1/-1;font-size:12px;color:var(--danger-text);padding:0 4px 2px}.add-row{width:100%;height:38px;margin-top:8px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-3);font-size:13px;font-weight:550}.add-row:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.table-panel{border-left:3px solid var(--accent)}.table-panel.invalid{border-color:var(--danger)}.table-badge{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft-2);color:var(--accent-text)}.table-title p{font-size:12px;color:var(--text-4);margin-top:3px}.table-name{height:34px;width:min(100%,320px);font-size:15px;font-weight:650;border-color:transparent;background:transparent;padding:4px 8px;margin-left:-8px}.table-name:hover{border-color:var(--border-strong)}.table-name:focus{background:var(--field-bg)}.add-strip{display:flex;gap:8px;flex-wrap:wrap}.check-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 36px;gap:10px;align-items:center;margin-bottom:8px}.check-eq{font-size:13px;color:var(--text-3);white-space:nowrap}.tip{font-size:12.5px;color:var(--text-4);padding:0 4px}.ai-panel{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);align-self:start;max-height:100%}.ai-head{display:flex;gap:12px;align-items:flex-start}.ai-badge{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:var(--accent-fg);box-shadow:0 6px 14px -4px color-mix(in srgb,var(--accent) 55%,transparent)}.ai-head h2{font-size:15px;font-weight:650}.ai-head p{font-size:12.5px;color:var(--text-4);margin-top:2px;line-height:1.55}.ai-panel textarea{width:100%;resize:vertical;min-height:62px;line-height:1.6}.ai-result{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:10px}.ai-progress{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent-text);font-size:13px;line-height:1.5}.ai-thumbs{display:flex;gap:6px}.ai-thumbs img{width:56px;height:70px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--border);background:#fff}.ai-summary{display:flex;gap:7px;font-size:13px;line-height:1.65;color:var(--text-2)}.ai-summary svg{color:var(--success);margin-top:4px;flex:none}.proposed{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);max-height:260px;overflow:auto}.proposed li{display:flex;justify-content:space-between;gap:10px;padding:7px 12px;font-size:13px}.proposed li+li{border-top:1px solid var(--border)}.proposed strong{font-weight:550}.proposed small{color:var(--text-4);font-size:12px;text-align:right;min-width:0;overflow-wrap:anywhere}.ai-actions{display:flex;gap:8px;justify-content:flex-end}.trial-box{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border)}.trial-box strong{display:flex;align-items:center;gap:6px;font-size:13px}.trial-box p{font-size:12px;color:var(--text-3);line-height:1.6}.trial-modal{height:min(72vh,760px);display:flex;flex-direction:column}.trial-modal .review-layout{grid-template-columns:180px minmax(0,1fr)}.modal.wide:has(.trial-modal){width:min(1280px,96vw)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.stat span{font-size:12.5px;color:var(--text-3);font-weight:550}.stat strong{display:block;font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.stat strong.bad{color:var(--danger-text)}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs)}.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.list-head h2{font-size:14.5px;font-weight:650}.search{position:relative;display:flex;align-items:center;color:var(--text-4)}.search svg{position:absolute;left:10px;pointer-events:none}.search input{width:240px;height:34px;padding-left:32px}.table-wrap{overflow:auto}.list-table{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}.list-table th{font-size:12px;font-weight:600;color:var(--text-3);text-align:left;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.list-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle}.list-table tbody tr:last-child td{border-bottom:0}.list-table tr.clickable{cursor:pointer;transition:background-color .15s}.list-table tr.clickable:hover{background:var(--surface-2)}.files-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num-cell,.time-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.num-cell small,.time-cell small{color:var(--text-4)}.svc{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.list-table .act{width:48px}.list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;text-align:center;color:var(--text-4)}.list-empty strong{color:var(--text);font-size:15px}.list-empty p{font-size:13px}.settings-stack{display:flex;flex-direction:column;gap:14px}.settings-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--sunken);color:var(--text-2)}.settings-icon.ai{background:var(--accent-soft-2);color:var(--accent-text)}.status-chip{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:550;background:var(--sunken);color:var(--text-3);white-space:nowrap}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-grid-2 input{width:100%;height:38px}.form-grid-2 .span-2{grid-column:1/-1}.settings-foot{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.test-result{font-size:12.5px;color:var(--text-3);line-height:1.5;overflow-wrap:anywhere;min-width:0;flex:1}.test-result.tone-ok{color:var(--success)}.test-result.tone-bad{color:var(--danger-text)}.test-result.tone-warn{color:var(--warning-text)}.sticky-save{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:14px 0 4px;background:linear-gradient(transparent,var(--bg) 40%)}.boot{min-height:100dvh;display:grid;place-items:center}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px));background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft-2),transparent 60%),var(--bg)}.login-theme{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px}.login-card{width:min(400px,100%);display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:32px 28px 26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center}.login-logo{align-self:center;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--accent);color:var(--accent-fg);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--accent) 60%,transparent)}.login-card h1{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-top:4px}.login-card>p{font-size:13.5px;color:var(--text-3);margin-top:-6px}.login-field{display:flex;align-items:center;gap:8px;height:46px;padding:0 4px 0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--field-bg);color:var(--text-4);transition:border-color .15s,box-shadow .15s;margin-top:6px}.login-field:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.login-field input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none!important;padding:0;height:100%;font-size:16px}.login-field input:focus-visible{outline:none}.login-error{font-size:13px;color:var(--danger-text);text-align:left;line-height:1.55}.login-note{font-size:12px;color:var(--text-4);line-height:1.6}.locked-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.locked-text{flex:1;min-width:220px}.locked-text h2{font-size:15px;font-weight:650}.locked-text p{font-size:13px;color:var(--text-3);margin-top:4px;line-height:1.7}.locked-text b{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text)}.role-tag{margin-right:4px}.mobile-status span{font-size:12px;font-weight:600;color:var(--text-2)}.mobile-status.tone-ok i{background:var(--success)}.mobile-status.tone-warn i{background:var(--warning)}.mobile-status.tone-bad i{background:var(--danger)}div.service-pill{cursor:default}div.service-pill:hover{background:none;color:var(--text-3)}.tabbar,.mobile-logo,.mobile-status,.mobile-launch,.camera-btn,.pane-switch{display:none}@media(max-width:1280px){:root{--rail-w:68px}.rail{padding:16px 10px 12px}.logo{margin:2px auto 18px;justify-content:center}.logo>div,.new-button>span,.rail nav button>span,.rail nav b,.service-pill span,.service-pill em{display:none}.new-button{padding:0;justify-content:center}.rail nav button{justify-content:center;padding:0;height:40px}.service-pill{grid-template-columns:1fr;justify-items:center;padding:0}.recognize-grid{grid-template-columns:minmax(0,1fr) 280px}.editor-grid{grid-template-columns:minmax(0,1fr) 320px}.review-layout{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:1100px){.page-result{grid-template-columns:1fr;grid-template-rows:minmax(260px,42%) minmax(0,1fr)}}@media(max-width:1000px){.studio{height:auto;min-height:100dvh;overflow:visible}.rail{position:fixed;inset:0 auto 0 0;height:100dvh;z-index:30}.main{margin-left:var(--rail-w);height:auto;min-height:100dvh}.top{position:sticky;top:0}.view{overflow:visible;padding:24px 22px 40px}.view-full{min-height:calc(100dvh - var(--top-h))}.recognize-grid,.editor-grid{grid-template-columns:1fr}.launch-card{position:static}.editor-main{overflow:visible;padding:0}.ai-panel{max-height:none}.view-full:has(.run-results){flex:none;height:calc(100dvh - var(--top-h) - env(safe-area-inset-top,0px));min-height:0;overflow:hidden}.run-results{min-height:0}.review-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px}.page-list{flex-direction:row;overflow-x:auto;max-height:none;padding:4px;gap:4px;scroll-snap-type:x proximity}.page-item{min-width:200px;scroll-snap-align:start}.page-result{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0}.pane-switch{display:flex;width:100%}.pane-switch button{flex:1;gap:6px}.pane-switch .pane-expand{flex:none;width:40px}.page-result.show-data .doc-viewer,.page-result.show-image .data-panel{display:none}}@media(max-width:720px){:root{--top-h:52px;--tab-h:60px;--safe-b:env(safe-area-inset-bottom,0px);--bottom-ui:calc(var(--tab-h) + var(--safe-b))}html,body{overscroll-behavior-y:none}.rail{display:none}.main{margin-left:0;min-height:100dvh}.studio{height:auto;min-height:100dvh;overflow:visible}.top{position:sticky;top:0;height:calc(var(--top-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 6px 0 12px;gap:8px}.mobile-logo{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--accent);color:var(--accent-fg)}.breadcrumbs{flex:1;font-size:15px;gap:6px;overflow:hidden}.breadcrumbs a.muted{display:none}.breadcrumbs svg{display:none}.breadcrumbs strong,.breadcrumbs a{overflow:hidden;text-overflow:ellipsis}.top-right .tag{display:none}.mobile-status{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 10px;border-radius:999px}.mobile-status i{width:8px;height:8px;border-radius:50%;background:var(--text-4)}.mobile-status i.tone-ok{background:var(--success)}.mobile-status i.tone-warn{background:var(--warning)}.mobile-status i.tone-bad{background:var(--danger)}.theme-picker .icon{width:38px;height:38px}.theme-popover{position:fixed;right:10px;left:10px;top:calc(var(--top-h) + env(safe-area-inset-top,0px) + 6px);width:auto}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--bottom-ui);padding-bottom:var(--safe-b);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--border)}.tabbar button{flex-direction:column;gap:3px;font-size:11px;font-weight:550;color:var(--text-4);position:relative}.tabbar button.active{color:var(--accent-text)}.tabbar button.active:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;border-radius:0 0 2px 2px;background:var(--accent)}.view{overflow:visible;padding:18px 14px calc(var(--bottom-ui) + 24px)}.view-full{padding:10px 10px calc(var(--bottom-ui) + 10px)}.view-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.view-head h1{font-size:21px}.view-head p{font-size:13.5px}.view-head .btn{height:44px}.view-head.compact{margin-bottom:8px}.empty-hero{padding:40px 18px}.step-card,.panel{padding:16px;border-radius:var(--radius-lg)}input,textarea,select,.app-select-trigger{font-size:16px!important}.btn{height:42px}.btn.small{height:36px}.icon{width:38px;height:38px}.app-select-menu button{min-height:44px}.segmented button{height:36px}.recognize-grid{grid-template-columns:1fr}.launch-card{display:none}.template-picker{grid-template-columns:1fr}.template-option{padding:13px 14px}.chip.more{cursor:pointer;color:var(--accent-text)}.chip .flip{transform:rotate(180deg)}.service-picker{grid-template-columns:1fr 1fr}.service-option{flex-direction:column;gap:8px;padding:12px}.service-text small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-tools{justify-content:space-between}.dropzone{min-height:120px}.camera-btn{display:inline-flex;margin-top:10px;height:46px}.file-list li{padding:8px 4px 8px 12px}.mobile-launch{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:var(--bottom-ui);z-index:35;padding:10px 14px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);box-shadow:0 -8px 24px -12px #00000040}.mobile-launch-info{flex:1;min-width:0}.mobile-launch-info strong{display:block;font-size:14px}.mobile-launch-info small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-launch .btn{height:44px;padding:0 18px;flex:none}.view:has(.mobile-launch){padding-bottom:calc(var(--bottom-ui) + 96px)}.run-results{gap:8px}.run-bar{padding:12px 12px 14px;gap:10px;border-radius:var(--radius-lg)}.run-state{font-size:14px}.run-meta{font-size:12px}.run-actions{width:100%;display:flex;flex-wrap:nowrap;gap:6px}.run-actions .segmented{flex:1;min-width:0}.run-actions .segmented button{flex:1;padding:0 6px}.run-actions .btn{height:42px;padding:0 12px}.run-actions .btn.secondary{width:42px;padding:0}.run-actions .btn.secondary .btn-label{display:none}.run-bar{gap:8px}.view-head.compact .btn{height:34px;padding:0 6px}.view-head.compact{margin:-4px 0 6px}.data-meta{gap:8px;margin-bottom:12px;flex-wrap:nowrap}.data-meta .meta-item{display:none}.run-actions .segmented svg{display:none}.run-actions .segmented button{white-space:nowrap}.data-meta .icon{width:34px;height:34px}.page-list{border-radius:var(--radius-lg)}.page-item{min-width:168px;grid-template-columns:32px minmax(0,1fr) auto}.thumb{width:32px;height:40px}.doc-viewer,.data-panel{border-radius:var(--radius-lg)}.doc-toolbar{height:42px;padding:0 4px 0 12px}.doc-toolbar .icon{width:34px;height:34px}.data-scroll{padding:12px 12px 20px}.kv-grid{grid-template-columns:1fr 1fr;gap:10px}.kv input{height:42px}.data-grid td input{height:38px}.data-grid .act .icon{opacity:1}.summary-card .grid-scroll,.data-state.wide{border-radius:var(--radius-lg)}.template-grid{grid-template-columns:1fr}.template-card{padding:16px}.template-card footer .btn{height:38px}.editor-view{padding-bottom:calc(var(--bottom-ui) + 10px)}.editor-bar{position:sticky;top:calc(var(--top-h) + env(safe-area-inset-top,0px));z-index:15;margin:-10px -10px 10px;padding:8px 10px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.editor-bar .save-dot{display:none}.editor-bar .btn.secondary{width:42px;padding:0;font-size:0;gap:0}.editor-grid{grid-template-columns:1fr}.editor-grid.empty .ai-panel{order:-1}.editor-main{overflow:visible;padding:0}.ai-panel{max-height:none;padding:16px}.name-input{height:46px}.start-choices{grid-template-columns:1fr}.field-rows-head{display:none}.field-row,.field-rows.with-ids .field-row{grid-template-columns:minmax(0,1fr) 44px auto;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.field-rows{gap:8px}.field-row>input:first-child{grid-column:1/-1}.field-row>.field-id-input{grid-column:1/-1}.required-toggle{width:44px;height:42px}.row-actions .icon{width:36px;height:42px}.add-row{height:46px}.table-name{width:100%}.check-row{grid-template-columns:1fr 40px}.check-eq{display:none}.add-strip .btn{flex:1}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:12px}.stat strong{font-size:22px}.list-head{flex-direction:column;align-items:stretch}.search input{width:100%;height:42px}.list-table{min-width:0}.list-table thead{display:none}.list-table,.list-table tbody{display:block}.list-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 10px;padding:14px 14px 12px;border-bottom:1px solid var(--border)}.list-table tbody tr:last-child{border-bottom:0}.list-table td{display:block;padding:0;border:0;font-size:13px}.list-table .cell-title{grid-column:1;grid-row:1;align-self:center;font-size:14.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-table .cell-state{grid-column:2;grid-row:1;align-self:center}.list-table .act{grid-column:3;grid-row:1;width:auto}.list-table td[data-label]{grid-column:1/-1;display:flex;gap:10px;color:var(--text-3)}.list-table td[data-label]:before{content:attr(data-label);flex:none;width:34px;color:var(--text-4);font-size:12px}.files-cell{max-width:none}.form-grid-2{grid-template-columns:1fr}.settings-panel .panel-head{flex-wrap:wrap}.sticky-save{bottom:var(--bottom-ui)}.sticky-save .btn{width:100%;height:46px}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.wide{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;border-bottom:0}.modal-head{padding:18px 16px 4px}.modal-body{padding:12px 16px 18px}.modal-footer{padding:12px 16px calc(12px + var(--safe-b))}.modal-footer .btn{flex:1}.modal.wide:has(.trial-modal){width:100%;height:96dvh;max-height:96dvh}.trial-modal{height:100%}.modal:has(.trial-modal) .modal-body{flex:1;display:flex;flex-direction:column;padding:8px 8px calc(8px + var(--safe-b))}.trial-modal .review-layout{grid-template-columns:1fr}.toast-stack{left:12px;right:12px;width:auto;bottom:calc(var(--bottom-ui) + 12px)}.lightbox{padding-top:env(safe-area-inset-top,0px)}.lightbox-bar{height:52px;padding:0 4px 0 14px;gap:10px}.lightbox-tools .lb-btn:not(:last-child),.lb-zoom,.lb-sep{display:none}.lightbox-tools .lb-btn:last-child{width:44px;height:44px}.lb-nav{display:none}.lightbox-hint{bottom:8px;font-size:11.5px}.lightbox-strip{padding:8px 12px calc(10px + var(--safe-b))}.lightbox-strip button{width:46px;height:58px}}@media(max-width:359px){.kv-grid,.service-picker{grid-template-columns:1fr}.service-option{flex-direction:row}.stat-row{gap:6px}.stat span{font-size:11.5px}}@media(hover:none){.data-grid .act .icon{opacity:1}.template-card:hover{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.data-grid th.idx{z-index:3;background:var(--surface-2)}
