:root{--teal: #0ebeaa;--teal-dark: #0aa493;--teal-soft: #e6f8f5;--petrol: #2c728e;--amber: #c47d11;--amber-soft: #fff4e2;--ink: #1f2933;--ink-soft: #52606d;--muted: #9aa5b1;--line: #e4e7eb;--line-soft: #eef1f4;--panel: #f7f8fa;--panel-2: #fbfcfd;--workspace: #eceef1;--white: #ffffff;--shadow-slide: 0 10px 30px rgba(31, 41, 51, .14), 0 2px 6px rgba(31, 41, 51, .06);--radius: 8px;--radius-sm: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 14px;--space-5: 20px;--space-6: 40px;--rail-width: 182px;--panel-width: 312px;--appbar-height: 52px;--font: ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--white);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden}.app-shell{display:grid;grid-template-rows:var(--appbar-height) 1fr;height:100vh;width:100vw}.app-bar{display:flex;align-items:center;gap:var(--space-4);height:var(--appbar-height);padding:0 var(--space-4);background:var(--white);border-bottom:1px solid var(--line)}.app-bar .wordmark{display:flex;align-items:center;gap:var(--space-2);font-weight:650;font-size:14px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.app-bar .wordmark .glyph{width:24px;height:24px;border-radius:7px;background:linear-gradient(150deg,var(--teal),var(--petrol));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.app-bar .wordmark .dim{color:var(--muted);font-weight:500}.app-bar .divider{width:1px;height:24px;background:var(--line);flex:none}.app-bar .grp{display:flex;align-items:center;gap:2px}.app-bar .iconbtn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease}.app-bar .iconbtn:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.app-bar .iconbtn:disabled{opacity:.4;cursor:default}.app-bar .iconbtn svg{width:18px;height:18px}.app-bar .zoom{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:550}.app-bar .spacer{flex:1}.app-bar .progress-chip{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--teal);background:var(--teal-soft);border-radius:20px;padding:6px 12px 6px 11px;font-size:12px;font-weight:600;color:var(--teal-dark);white-space:nowrap}.app-bar .progress-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex:none}.app-bar .btn-ghost{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--line);background:var(--white);border-radius:var(--radius-sm);padding:7px 13px;font-size:12.5px;font-weight:550;color:var(--ink-soft);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.app-bar .btn-ghost:hover{border-color:var(--muted);color:var(--ink);background:var(--panel-2)}.app-bar .btn-ghost svg{width:15px;height:15px}.app-bar .btn-primary{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--teal-dark);background:var(--teal);color:#fff;border-radius:var(--radius-sm);padding:7px 15px;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0ebeaa40;transition:background .12s ease}.app-bar .btn-primary:hover{background:var(--teal-dark)}.app-bar .btn-primary svg{width:14px;height:14px}.app-main{display:grid;grid-template-columns:var(--rail-width) 1fr var(--panel-width);min-height:0}.app-rail{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;min-height:0}.app-workspace{background:var(--workspace);display:flex;align-items:center;justify-content:center;padding:var(--space-6);min-height:0;min-width:0;overflow:hidden}.app-workspace .slide-wrap{position:relative;width:100%;height:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-slide);overflow:hidden}.app-panel{background:var(--panel-2);border-left:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;min-height:0}.slide-rail{padding:var(--space-4) var(--space-3)}.slide-rail .rail-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px var(--space-2)}.slide-rail .rail-head .t{font-size:11px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.slide-rail .rail-head .add{width:22px;height:22px;border-radius:5px;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer}.slide-rail .rail-head .add:hover{border-color:var(--muted);color:var(--ink)}.slide-rail .rail-head .add svg{width:13px;height:13px}.slide-rail .rail-summary{display:flex;align-items:center;gap:7px;margin:0 2px var(--space-3);background:var(--teal-soft);border:1px solid #cdeee8;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:600;color:var(--teal-dark)}.slide-rail .rail-summary .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);position:relative;flex:none}.slide-rail .rail-summary .dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--teal);opacity:.35;animation:rail-pulse 1.8s ease-out infinite}.slide-rail .rail-thumbs{list-style:none;margin:0;padding:0}.slide-rail .thumb-row{display:flex;gap:var(--space-2);margin-bottom:11px;align-items:flex-start}.slide-rail .thumb-no{font-size:11px;color:var(--muted);width:12px;text-align:right;padding-top:1px;font-variant-numeric:tabular-nums}.slide-rail .thumb-cell{flex:1;min-width:0}.slide-rail .thumb{display:block;width:100%;padding:0;background:var(--white);border:1px solid var(--line);border-radius:5px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 1px 2px #1f29330d;transition:border-color .12s ease,box-shadow .12s ease}.slide-rail .thumb:hover{border-color:var(--muted)}.slide-rail .thumb.selected{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}.slide-rail .thumb.active{border:2px solid var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.slide-rail .thumb-frame{display:block;overflow:hidden;line-height:0;pointer-events:none}.slide-rail .thumb-frame iframe{border:none;transform-origin:top left;pointer-events:none}.slide-rail .thumb.working{border:1.5px solid var(--teal)}.slide-rail .thumb.working:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:5px;pointer-events:none;z-index:1;background:linear-gradient(110deg,#0ebeaa00 30%,#0ebeaa52,#0ebeaa00 70%);background-size:220% 100%;animation:rail-thumbshimmer 1.6s linear infinite}@keyframes rail-thumbshimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@keyframes rail-pulse{0%{transform:scale(.6);opacity:.5}70%{transform:scale(1.7);opacity:0}to{transform:scale(1.7);opacity:0}}.slide-rail .chat-badge{position:absolute;top:4px;right:4px;z-index:2;display:inline-flex;align-items:center;gap:4px;height:16px;padding:0 5px;border-radius:9px;font-size:9px;font-weight:700;line-height:1;box-shadow:0 1px 3px #1f29332e;white-space:nowrap}.slide-rail .chat-badge .bdot{width:6px;height:6px;border-radius:50%;flex:none}.slide-rail .chat-badge svg{width:9px;height:9px}.slide-rail .chat-badge.review{background:var(--amber-soft);color:var(--amber);border:1px solid #f1ddb6}.slide-rail .chat-badge.review .bdot{background:var(--amber)}.slide-rail .chat-badge.running{background:var(--teal-soft);color:var(--teal-dark);border:1px solid #bfe9e2}.slide-rail .chat-badge.running .bdot{background:var(--teal);position:relative}.slide-rail .chat-badge.running .bdot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--teal);opacity:.4;animation:rail-pulse 1.6s ease-out infinite}.slide-rail .chat-badge.done{background:var(--teal-soft);color:var(--teal-dark);border:1px solid #bfe9e2}.slide-rail .review-count{position:absolute;top:4px;left:4px;z-index:2;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--amber);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;box-shadow:0 1px 3px #c47d1180}.slide-rail .thumb-ops{display:flex;align-items:center;gap:2px;margin-top:5px}.slide-rail .thumb-ops button{width:22px;height:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--white);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:11px;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.slide-rail .thumb-ops button:hover:not(:disabled){background:var(--line-soft);color:var(--ink);border-color:var(--muted)}.slide-rail .thumb-ops button:disabled{opacity:.4;cursor:default}.cmdbar{position:absolute;display:flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 30px #1f293329,0 2px 8px #1f293314;padding:6px 6px 6px 14px;width:min(380px,64vw);z-index:6}.cmdbar:after{content:"";position:absolute;left:30px;bottom:-6px;width:12px;height:12px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.cmdbar .spark{color:var(--teal);flex:none;display:flex;align-items:center}.cmdbar .spark svg{width:18px;height:18px}.cmdbar .cmd-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font);font-size:13px;color:var(--ink)}.cmdbar .cmd-input::placeholder{color:var(--muted)}.cmdbar .send{width:30px;height:30px;border-radius:50%;border:none;background:var(--teal);color:#fff;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0ebeaa59;transition:background .12s ease}.cmdbar .send:hover:not(:disabled){background:var(--teal-dark)}.cmdbar .send:disabled{opacity:.45;cursor:default}.cmdbar .send svg{width:16px;height:16px}.cmdbar .mic{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease,border-color .12s ease}.cmdbar .mic:hover{color:var(--teal);border-color:var(--teal)}.cmdbar .mic.listening{background:var(--teal);border-color:var(--teal);color:#fff;animation:chat-pulse 1.2s ease-in-out infinite}.cmdbar .mic svg{width:16px;height:16px}.ctx-menu{position:absolute;z-index:7;min-width:184px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px #1f293329,0 2px 8px #1f293314;padding:5px;display:flex;flex-direction:column}.ctx-menu .ctx-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;border-radius:var(--radius-sm);padding:7px 10px;font-family:var(--font);font-size:12.5px;color:var(--ink);text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.ctx-menu .ctx-item:hover{background:var(--line-soft)}.ctx-menu .ctx-item.ctx-ai{color:var(--teal-dark);font-weight:550}.ctx-menu .ctx-item.ctx-ai:hover{background:var(--teal-soft)}.ctx-menu .ctx-item .spark{color:var(--teal);flex:none;display:flex;align-items:center}.ctx-menu .ctx-item .spark svg{width:14px;height:14px}.ctx-menu .ctx-divider{height:1px;background:var(--line);margin:4px 6px}.chatpanel{background:var(--panel-2);overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0}.chatpanel .chat-tabs{display:flex;gap:2px;padding:10px 12px 0;border-bottom:1px solid var(--line);flex:none}.chatpanel .chat-tab{padding:7px 12px;font-size:12px;font-weight:550;color:var(--muted);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:5px;font-family:var(--font)}.chatpanel .chat-tab.active{color:var(--ink);border-bottom-color:var(--teal)}.chatpanel .chat-tab svg{width:14px;height:14px}.chatpanel .chat-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line-soft);flex:none;background:var(--panel-2)}.chatpanel .chat-head .scope{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:650;color:var(--ink)}.chatpanel .chat-head .scope .spark{width:22px;height:22px;border-radius:6px;background:var(--teal-soft);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;flex:none}.chatpanel .chat-head .scope .spark svg{width:14px;height:14px}.chatpanel .chat-head .scope b{font-weight:700}.chatpanel .chat-head .scope .sep{color:var(--muted);font-weight:400;margin:0 1px}.chatpanel .chat-head .live{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--teal-dark);background:var(--teal-soft);border-radius:20px;padding:3px 8px}.chatpanel .chat-head .live .bdot{width:6px;height:6px;border-radius:50%;background:var(--teal);position:relative}.chatpanel .chat-head .live .bdot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--teal);opacity:.4;animation:chat-pulse 1.6s ease-out infinite}@keyframes chat-pulse{to{transform:scale(2.4);opacity:0}}.chatpanel .thread{overflow-y:auto;padding:14px 14px 6px;flex:1;min-height:0;display:flex;flex-direction:column;gap:13px}.chatpanel .chat-empty{font-size:12.5px;line-height:1.5;color:var(--muted);padding:6px 2px}.chatpanel .msg-user{display:flex;justify-content:flex-end}.chatpanel .msg-user .bubble{max-width:86%;background:var(--teal);color:#fff;border-radius:13px 13px 4px;padding:8px 11px;font-size:12.5px;line-height:1.45;box-shadow:0 1px 2px #0ebeaa40}.chatpanel .msg-ai{display:flex;gap:9px;align-items:flex-start}.chatpanel .ai-avatar{width:24px;height:24px;border-radius:7px;flex:none;background:var(--teal-soft);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #1f29330d}.chatpanel .ai-avatar svg{width:15px;height:15px}.chatpanel .msg-ai .col{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.chatpanel .msg-ai .text{font-size:12.5px;line-height:1.5;color:var(--ink-soft)}.chatpanel .diff-card{border:1px solid var(--line);background:var(--white);border-radius:10px;box-shadow:0 1px 2px #1f29330a;overflow:hidden}.chatpanel .diff-head{display:flex;align-items:center;gap:7px;padding:8px 11px;border-bottom:1px solid var(--line-soft);font-size:11px;font-weight:650;color:var(--ink)}.chatpanel .diff-head svg{width:13px;height:13px;color:var(--teal-dark)}.chatpanel .diff-body{padding:9px 11px;display:flex;flex-direction:column;gap:6px}.chatpanel .diff-line{display:flex;align-items:center;gap:8px;font-size:11.5px;line-height:1.4}.chatpanel .diff-line .tag{width:46px;flex:none;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.chatpanel .diff-line .val{word-break:break-word}.chatpanel .diff-line.before .tag{color:var(--muted)}.chatpanel .diff-line.before .val{color:var(--muted);text-decoration:line-through}.chatpanel .diff-line.after .tag{color:var(--teal-dark)}.chatpanel .diff-line.after .val{color:var(--ink);font-weight:600}.chatpanel .diff-actions{display:flex;align-items:center;gap:8px;padding:0 11px 11px}.chatpanel .diff-btn{border:none;border-radius:7px;padding:6px 13px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--font)}.chatpanel .diff-btn.apply{background:var(--teal);color:#fff;box-shadow:0 1px 2px #0ebeaa4d;transition:background .12s ease}.chatpanel .diff-btn.apply:hover{background:var(--teal-dark)}.chatpanel .diff-btn.apply:disabled{background:var(--line);color:var(--muted);box-shadow:none;cursor:not-allowed}.chatpanel .diff-btn.ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line);transition:border-color .12s ease,color .12s ease}.chatpanel .diff-btn.ghost:hover{border-color:var(--muted);color:var(--ink)}.chatpanel .ai-working{display:flex;flex-direction:column;gap:7px;border:1px solid var(--line);background:var(--white);border-radius:10px;padding:10px 11px}.chatpanel .ai-working .label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-soft);font-weight:550}.chatpanel .ai-working .label .spin{width:14px;height:14px;color:var(--teal-dark);flex:none}.chatpanel .ai-working .label .spin svg{width:14px;height:14px;animation:chat-spin 1s linear infinite}@keyframes chat-spin{to{transform:rotate(360deg)}}.chatpanel .ai-working .bar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;position:relative}.chatpanel .ai-working .bar .fill{position:absolute;top:0;bottom:0;left:0;width:46%;border-radius:3px;background:linear-gradient(90deg,var(--teal-dark),var(--teal))}.chatpanel .ai-working .bar .fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background:linear-gradient(110deg,#fff0 30%,#ffffff8c,#fff0 70%);background-size:220% 100%;animation:chat-shimmer 1.3s linear infinite}@keyframes chat-shimmer{to{background-position:-220% 0}}.chatpanel .ai-error{display:flex;align-items:center;gap:7px;border:1px solid #f1c2c2;background:#fdecec;border-radius:10px;padding:10px 11px;font-size:12px;line-height:1.45;color:#b42318}.chatpanel .ai-error .bdot{width:7px;height:7px;border-radius:50%;background:#d92d20;flex:none}.chatpanel .chat-input{flex:none;border-top:1px solid var(--line-soft);padding:11px 12px 13px;background:var(--panel-2)}.chatpanel .chat-inputwrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;background:var(--white);padding:7px 7px 7px 11px;transition:border-color .12s ease,box-shadow .12s ease}.chatpanel .chat-inputwrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}.chatpanel .chat-inputwrap .spark{color:var(--teal);flex:none;display:flex;align-items:center}.chatpanel .chat-inputwrap .spark svg{width:16px;height:16px}.chatpanel .chat-textarea{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;font-family:var(--font);font-size:12.5px;line-height:1.45;color:var(--ink);max-height:120px}.chatpanel .chat-textarea::placeholder{color:var(--muted)}.chatpanel .chat-inputwrap .send{width:30px;height:30px;border-radius:8px;border:none;flex:none;background:var(--teal);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0ebeaa4d}.chatpanel .chat-inputwrap .send:hover{background:var(--teal-dark)}.chatpanel .chat-inputwrap .send:disabled{background:var(--line);color:var(--muted);box-shadow:none;cursor:not-allowed}.chatpanel .chat-inputwrap .send svg{width:16px;height:16px}.chatpanel .chat-inputwrap .mic{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease,border-color .12s ease}.chatpanel .chat-inputwrap .mic:hover{color:var(--teal);border-color:var(--teal)}.chatpanel .chat-inputwrap .mic.listening{background:var(--teal);border-color:var(--teal);color:#fff;animation:chat-pulse 1.2s ease-in-out infinite}.chatpanel .chat-inputwrap .mic svg{width:16px;height:16px}.slide-rail .chat-badge.error{background:#fdecec;color:#b42318;border:1px solid #f1c2c2}.slide-rail .chat-badge.error .bdot{background:#d92d20}.chatpanel .diff-element{display:flex;flex-direction:column;gap:6px}.chatpanel .diff-element+.diff-element{margin-top:4px;padding-top:8px;border-top:1px solid var(--line-soft)}.chatpanel .diff-el-id{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.chatpanel .diff-field{display:flex;gap:8px;align-items:baseline}.chatpanel .diff-field .fkey{flex:none;width:84px;font-size:10px;font-weight:650;color:var(--ink-soft);word-break:break-word}.chatpanel .diff-field .fvals{display:flex;flex-direction:column;gap:3px;min-width:0}.working-overlay{z-index:3}.working-frame{border:1.5px solid var(--teal);border-radius:3px;box-shadow:0 0 0 3px var(--teal-soft);overflow:visible}.working-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(14,190,170,.22) 50%,transparent 65%);background-size:250% 100%;animation:working-shimmer 1.6s linear infinite;pointer-events:none}@keyframes working-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.working-badge{position:absolute;top:-9px;right:-9px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 1px 3px #0ebeaa73}.working-badge svg{width:11px;height:11px;animation:working-spin .9s linear infinite}@keyframes working-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chatpanel .chat-entry{display:flex;flex-direction:column;gap:9px}.chatpanel .chat-entry+.chat-entry{margin-top:4px;padding-top:13px;border-top:1px solid var(--line-soft)}.chatpanel .msg-user .user-col{display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:86%}.chatpanel .scope-chip{align-self:flex-end;font-size:10px;font-weight:650;color:var(--teal-dark);background:var(--teal-soft);border-radius:20px;padding:2px 9px;letter-spacing:.01em}.chatpanel .slide-result{display:flex;flex-direction:column;gap:5px}.chatpanel .slide-result+.slide-result{margin-top:4px}.chatpanel .result-slide{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.chatpanel .batch-actions{display:flex;align-items:center;gap:8px;margin-bottom:2px}.chatpanel .ai-done{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:550;color:var(--teal-dark)}.chatpanel .ai-done .cdot{width:7px;height:7px;border-radius:50%;background:var(--teal);flex:none}.scope-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1f29336b;padding:20px}.scope-confirm{width:100%;max-width:380px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f293347;padding:20px;font-family:var(--font)}.scope-confirm-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}.scope-confirm-body{font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-bottom:18px}.scope-confirm-actions{display:flex;justify-content:flex-end;gap:9px}.scope-btn{border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font)}.scope-btn.primary{border:none;background:var(--teal);color:#fff;box-shadow:0 1px 3px #0ebeaa4d}.scope-btn.primary:hover{background:var(--teal-dark)}.scope-btn.ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.scope-btn.ghost:hover{border-color:var(--muted);color:var(--ink)}.scope-btn:disabled{opacity:.5;cursor:not-allowed}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1f29336b;padding:20px}.auth-card{width:100%;max-width:380px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f293347;padding:22px;font-family:var(--font)}.auth-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px}.auth-body{font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-bottom:16px}.auth-error{font-size:12.5px;line-height:1.45;color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;padding:8px 10px;margin-bottom:14px}.auth-field{display:block;margin-bottom:12px}.auth-label{display:block;font-size:11.5px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.auth-input{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--line);padding:10px 12px;font-size:14px;font-family:var(--font);color:var(--ink);background:#fff}.auth-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #0ebeaa2e}.auth-hint{display:block;font-size:11px;color:var(--ink-soft);margin-top:4px}.auth-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.auth-actions-spread{justify-content:space-between;flex-wrap:wrap}.auth-switch{font-size:12px;color:var(--ink-soft);margin-top:16px;text-align:center}.auth-link{border:none;background:transparent;color:var(--teal);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;padding:0}.auth-link:hover{color:var(--teal-dark);text-decoration:underline}.auth-detail{margin:0 0 4px}.auth-value{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;color:var(--ink)}.auth-badge{font-size:10.5px;font-weight:600;color:var(--ink-soft);background:var(--line);border-radius:999px;padding:2px 8px}.auth-badge.ok{color:#067647;background:#ecfdf3}.auth-setting{margin:0 0 14px}.auth-select{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--line);padding:9px 12px;font-size:13px;font-family:var(--font);color:var(--ink);background:#fff;cursor:pointer}.auth-select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #0ebeaa2e}.auth-usage-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.auth-usage-fill{display:block;height:100%;background:var(--teal);border-radius:999px}.auth-usage-text{margin-top:6px;font-size:12px;color:var(--ink-soft)}.auth-account-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink-soft);cursor:pointer}.auth-account-button svg{width:20px;height:20px}.auth-account-button:hover{color:var(--ink);border-color:var(--muted)}.brand-hint{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:12px;max-width:460px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #1f29333d;padding:10px 12px 10px 14px;font-family:var(--font);font-size:12.5px;line-height:1.45;color:var(--ink)}.brand-hint-close{flex:none;border:none;background:transparent;color:var(--ink-soft);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.brand-hint-close:hover{color:var(--ink)}.brand-import-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1f29336b;padding:20px}.brand-import{width:100%;max-width:460px;max-height:86vh;overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f293347;padding:20px;font-family:var(--font)}.brand-import-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}.brand-import-body{font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-bottom:16px}.brand-pick{display:inline-block;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font);background:var(--panel);color:var(--ink);border:1px solid var(--line)}.brand-pick:hover{border-color:var(--muted)}.brand-analyzing{font-size:12.5px;color:var(--ink-soft);padding:8px 0}.brand-import-error{display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--bordeaux, #ba445f);background:var(--amber-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.brand-preview{border:1px solid var(--line);border-radius:10px;padding:14px;margin:4px 0}.brand-preview-name{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px}.brand-preview-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px}.brand-swatches{display:flex;flex-wrap:wrap;gap:10px}.brand-swatch{display:flex;flex-direction:column;align-items:center;gap:3px;width:64px}.brand-chip{width:40px;height:40px;border-radius:8px;border:1px solid var(--line)}.brand-swatch-name{font-size:10.5px;color:var(--ink);text-align:center}.brand-swatch-value{font-size:10px;color:var(--muted)}.brand-fonts{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink)}.brand-logo{max-width:160px;max-height:64px;object-fit:contain;border:1px solid var(--line);border-radius:6px;padding:6px;background:var(--panel-2)}.brand-import-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.brand-panel{width:100%;max-width:720px;max-height:86vh;overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f293347;padding:20px;font-family:var(--font)}.brand-panel-grid{display:grid;grid-template-columns:180px 1fr;gap:18px}.brand-profile-list{display:flex;flex-direction:column;gap:6px}.brand-profile-item{text-align:left;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--panel-2);cursor:pointer;font-family:var(--font)}.brand-profile-item:hover{border-color:var(--muted)}.brand-profile-item.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.brand-profile-add{display:flex;flex-direction:column;gap:6px;margin-top:10px}.brand-profile-editor{display:flex;flex-direction:column}.brand-profile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.brand-name{font-size:15px;font-weight:700;color:var(--ink);background:transparent;border:none;cursor:text;padding:2px 0;font-family:var(--font)}.brand-name:hover{color:var(--teal-dark)}.brand-name-input{font-size:15px;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-family:var(--font)}.brand-delete{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;font-family:var(--font)}.brand-delete:hover:not(:disabled){border-color:var(--muted);color:var(--ink)}.brand-delete:disabled{opacity:.5;cursor:not-allowed}.brand-palette-edit{display:flex;flex-direction:column;gap:6px}.brand-color-row{display:flex;align-items:center;gap:10px}.brand-color-input{width:32px;height:28px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--white);cursor:pointer}.brand-color-name{flex:1;font-size:12px;color:var(--ink)}.brand-color-hex{width:96px;font-size:11.5px;font-family:ui-monospace,monospace;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.brand-font-edit,.brand-layout-edit{display:flex;flex-direction:column;gap:8px}.brand-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.brand-field input{font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-family:var(--font)}.brand-logo-edit{display:flex;align-items:center;gap:12px}.brand-logo-empty{font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:10px 16px;background:var(--panel-2)}
