:root{--bg: #f7f5f0;--card: #ffffff;--line: #e9e3d6;--line-soft: #f0ebde;--ink: #14171e;--ink-soft: #3a4256;--muted: #7c7a72;--primary: #2f6f5e;--primary-soft: #e7f0ec;--accent: #c97b3f;--rose: #b06367;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px -4px rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 800px 600px at 100% 0%,rgba(47,111,94,.04),transparent 60%),radial-gradient(ellipse 600px 500px at 0% 100%,rgba(201,123,63,.03),transparent 60%);pointer-events:none;z-index:0}.app{position:relative;z-index:1;height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0;z-index:10;height:48px}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-logo{font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-btn{background:var(--primary);color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s}.topbar-btn:hover{background:#245a4b}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);padding:5px 10px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink);transition:background .15s,border-color .15s}.user-menu-trigger:hover{background:var(--line-soft);border-color:var(--muted)}.pro-badge-mini{background:linear-gradient(135deg,#c97b3f,#b06367);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.user-email{color:var(--ink);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-caret{color:var(--muted);font-size:10px}.user-menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:20;animation:fadeIn .15s ease-out}.user-menu-section{padding:6px 4px;border-bottom:1px solid var(--line-soft)}.user-menu-section:last-child{border-bottom:none;display:flex;flex-direction:column;gap:2px}.user-menu-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.user-menu-row strong{color:var(--ink);font-weight:600}.user-menu-item{width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:6px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;transition:background .12s}.user-menu-item:hover{background:var(--line-soft)}.user-menu-item.primary{color:var(--primary);font-weight:600}.user-menu-item.primary:hover{background:var(--primary-soft)}.user-menu-item.danger{color:var(--rose)}.user-menu-item.danger:hover{background:#faf0f0}.chat-stage{flex:1;display:flex;flex-direction:column;min-height:0;justify-content:center}.chat-stage:has(.message){justify-content:flex-start}.chat-messages{flex:0 0 auto;overflow-y:auto;padding:32px 24px 16px;display:flex;flex-direction:column;align-items:center;gap:18px;scroll-behavior:smooth;min-height:0;max-height:100%;width:100%}.message,.file-card{width:100%;max-width:720px}.chat-stage:has(.message) .chat-messages{flex:1 1 auto}.chat-stage:not(:has(.message)) .chat-messages{display:none}.message{display:flex;flex-direction:column;gap:6px;animation:slideIn .25s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{align-items:flex-end}.message.user .bubble{background:var(--primary);color:#fff;border-radius:16px 16px 4px;padding:10px 14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-width:100%}.message.agent{align-items:flex-start}.message.agent .label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:4px;padding-left:4px}.message.agent .label svg{color:var(--primary)}.message.agent .events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.event{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink-soft);animation:slideIn .2s ease-out}.event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-dot.pulse{background:var(--accent);animation:pulse 1s ease-in-out infinite}.event-dot.done{background:var(--primary)}.event-dot.error{background:var(--rose)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.event.event-error{background:#faf0f0;border-color:#e8c8c8;color:var(--rose)}.intent-card{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px;padding:12px 14px;border-radius:10px;border-left:4px solid var(--primary);background:linear-gradient(180deg,#f5faf7,#fff);border:1px solid #d8e8e1;border-left-width:4px;animation:slideIn .25s ease-out}.intent-card.intent-good{background:linear-gradient(180deg,#eaf6ef,#fff);border-color:#c7e1d2;border-left-color:var(--primary)}.intent-card.intent-warn{background:linear-gradient(180deg,#fdf5ea,#fff);border-color:#ecd9b8;border-left-color:var(--accent)}.intent-card.intent-bad{background:linear-gradient(180deg,#faeeee,#fff);border-color:#e8c8c8;border-left-color:var(--rose)}.intent-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.intent-emoji{font-size:18px;line-height:1}.intent-label{color:var(--ink);flex:1}.intent-card.intent-good .intent-label{color:var(--primary)}.intent-card.intent-warn .intent-label{color:var(--accent)}.intent-card.intent-bad .intent-label{color:var(--rose)}.intent-conf{font-size:11px;font-weight:500;color:var(--muted);background:#0000000a;padding:2px 8px;border-radius:999px;font-weight:400}.intent-reason{font-size:12.5px;color:var(--ink-soft);line-height:1.6;padding-left:26px}.turn-actions{display:flex;gap:8px;margin-top:8px;padding-left:4px}.turn-actions button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.turn-actions button:hover{background:var(--line-soft);border-color:var(--muted)}.turn-actions button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.turn-actions button.primary:hover{background:#245a4b;border-color:#245a4b}.input-area{background:var(--bg);padding:14px 24px 20px;flex-shrink:0}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-family:inherit;border-radius:16px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid transparent}.chip svg{flex-shrink:0}.chip:disabled{opacity:.4;cursor:not-allowed}.chip-primary{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}.chip-primary:hover:not(:disabled){background:#d4e6df;border-color:var(--primary)}.chip-ghost{background:transparent;color:var(--muted);border-color:var(--line)}.chip-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--ink-soft);border-color:var(--muted)}.chip-selected{background:var(--primary);color:#fff;border-color:var(--primary);display:inline-flex;align-items:center;gap:4px;padding-right:6px}.chip-clear{background:#fff3;color:#fff;border:none;width:18px;height:18px;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:2px;padding:0;font-family:inherit}.chip-clear:hover{background:#ffffff59}.input-area-inner{max-width:720px;margin:0 auto}.input-card{width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:14px 14px 10px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s}.input-card:focus-within{border-color:var(--primary);box-shadow:var(--shadow-md)}.input-card textarea{width:100%;border:none;outline:none;resize:none;font-family:inherit;font-size:14px;line-height:1.6;color:var(--ink);background:transparent;min-height:56px;max-height:240px;overflow-y:auto;scrollbar-width:none}.input-card textarea::-webkit-scrollbar{display:none}.input-card textarea::placeholder{color:var(--muted)}.input-card textarea:disabled{cursor:default}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-hint{font-size:12px;color:var(--muted)}.icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--ink-soft);cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.icon-btn:hover:not(:disabled){background:var(--line-soft);border-color:var(--line)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s;font-family:inherit}.send-btn:hover:not(:disabled){background:#245a4b}.send-btn:active:not(:disabled){transform:translateY(1px)}.send-btn:disabled{background:var(--muted);cursor:not-allowed}.running-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--primary);background:var(--primary-soft);padding:4px 10px;border-radius:16px}.spinner{width:12px;height:12px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drawer-mask{position:fixed;inset:0;background:#00000026;opacity:0;pointer-events:none;transition:opacity .3s;z-index:90}.drawer-mask.visible{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;width:60%;max-width:800px;height:100vh;background:var(--card);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .3s ease;z-index:100;display:flex;flex-direction:column}.drawer.open{transform:translate(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--line-soft);flex-shrink:0}.drawer-header h3{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.drawer-header h3 svg{color:var(--primary)}.drawer-actions{display:flex;gap:4px}.drawer-body{flex:1;overflow:hidden;background:#fafaf6}.drawer-body iframe{width:100%;height:100%;border:none;display:block;background:#fff}.drawer-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px}.file-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow-sm);animation:slideIn .3s ease-out;transition:border-color .15s,box-shadow .15s}.file-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.file-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary);border-radius:10px;flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:var(--muted)}.file-actions{display:flex;gap:6px;flex-shrink:0}.file-actions button{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid var(--line);border-radius:7px;padding:6px 10px;font-size:12px;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.file-actions button:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.file-actions .file-action-link{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;background:var(--card);border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);cursor:pointer;font-family:inherit;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.file-actions .file-action-link:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.translate-card{max-width:720px;margin:8px 0;padding:14px 18px;background:linear-gradient(135deg,var(--primary-soft) 0%,#f0f7f4 100%);border-left:3px solid var(--primary);border-radius:8px;font-size:14px;line-height:1.7;color:var(--ink)}.translate-card .translate-arrow{font-size:11px;color:var(--primary);font-weight:600;margin-bottom:6px;letter-spacing:.5px}.translate-card .translate-text{white-space:pre-wrap;word-wrap:break-word}.checklist-card{width:100%;max-width:720px;margin:8px 0;padding:14px 16px;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;box-shadow:0 1px 2px #14171e0a;font-size:13px;color:var(--ink, #1f2937)}.checklist-title{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px;color:var(--ink, #1f2937);margin-bottom:10px}.checklist-subtitle{font-size:11px;font-weight:400;color:var(--ink-muted, #6b7280)}.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}.checklist-item{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px}.checklist-icon{width:16px;display:inline-block;text-align:center;font-weight:600;font-size:12px}.checklist-label{color:var(--ink, #1f2937);font-weight:500}.checklist-value{color:#b45309;font-size:11px;font-family:ui-monospace,monospace;background:#fef3c7;padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.checklist-count{color:var(--ink-muted, #6b7280);font-size:11px;margin-left:auto}.checklist-ok .checklist-icon{color:#16a34a}.checklist-missing .checklist-icon{color:#dc2626}.checklist-placeholder .checklist-icon{color:#b45309}.checklist-warn,.checklist-hint,.checklist-fallback-warn{margin-top:8px;padding:6px 10px;font-size:11px;border-radius:6px;line-height:1.5}.checklist-warn{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.checklist-hint{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.checklist-fallback-warn{background:#f0f9ff;color:#075985;border:1px solid #bae6fd}.checklist-empty{font-size:12px;color:var(--ink-muted, #6b7280);padding:4px 0}.checklist-fallback-hint{margin-top:6px;font-size:11px;color:#075985;font-family:ui-monospace,monospace;padding:4px 8px;background:#f0f9ff;border-radius:4px}@media (max-width: 900px){.drawer{width:100%;max-width:100%}.app:has(.drawer.open) .chat-messages{display:none}}.modal-mask{position:fixed;inset:0;background:#14171e8c;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--card);border-radius:14px;box-shadow:var(--shadow-lg);width:100%;max-width:960px;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlide .22s ease-out}.modal-tpl{max-width:1080px;max-height:95vh}@keyframes modalSlide{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.modal-close{background:transparent;border:none;font-size:24px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;font-family:inherit}.modal-close:hover{color:var(--ink)}.modal-toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line-soft);flex-shrink:0;background:#fafaf6}.modal-search{flex:1;max-width:280px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink);outline:none}.modal-search:focus{border-color:var(--primary)}.modal-tabs{display:flex;gap:2px;background:var(--line-soft);padding:3px;border-radius:8px}.modal-tabs .tab{background:transparent;border:none;font-size:12px;padding:4px 12px;border-radius:6px;color:var(--muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.modal-tabs .tab:hover{color:var(--ink)}.modal-tabs .tab.active{background:var(--card);color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm)}.modal-count{font-size:12px;color:var(--muted);margin-left:auto}.modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column}.modal-loading,.modal-error,.modal-empty{text-align:center;padding:60px 20px;color:var(--muted);font-size:13px}.modal-error{color:var(--rose)}.tpl-group{margin-bottom:22px}.tpl-group:last-child{margin-bottom:0}.tpl-group-header{display:flex;align-items:baseline;gap:10px;padding:10px 4px 8px;border-bottom:1px solid var(--border);margin-bottom:14px}.tpl-group-icon{display:inline-flex;align-items:center;color:var(--accent);flex-shrink:0;transform:translateY(2px)}.tpl-group-label{font-size:14px;font-weight:600;color:var(--ink)}.tpl-group-count{font-size:12px;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--bg-2);flex-shrink:0}.tpl-group-desc{font-size:12px;color:var(--muted);margin-left:auto;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 900px){.template-grid{grid-template-columns:repeat(2,1fr)}}.tpl-card{border:1px solid var(--line);border-radius:10px;background:var(--card);display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .1s}.tpl-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tpl-card-thumb{position:relative;width:100%;aspect-ratio:1 / 1.414;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}.tpl-card-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;position:relative;z-index:1}.tpl-card-thumb img:not([src]),.tpl-card-thumb img[src=""]{opacity:0}.tpl-card-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#f0ebde 8%,#faf6e9 18%,#f0ebde 33%);background-size:200% 100%;animation:thumbShimmer 1.4s linear infinite;pointer-events:none;z-index:0}.tpl-card-thumb img{position:relative;z-index:1}@keyframes thumbShimmer{to{background-position:-200% 0}}.tpl-card-lang-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;background:#ffffffeb;color:var(--primary);box-shadow:0 1px 3px #0000001a;z-index:2}.tpl-card-foot{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.tpl-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-card-actions{display:flex;gap:6px}.tpl-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;height:30px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.tpl-btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-soft)}.tpl-btn-ghost:hover{background:var(--line-soft);border-color:var(--muted)}.tpl-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.tpl-btn-primary:hover{background:#245a4b;border-color:#245a4b}.tpl-pager{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-soft);flex-shrink:0;position:sticky;bottom:0;background:var(--card)}.tpl-pager-btn{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tpl-pager-btn:hover:not(:disabled){background:var(--line-soft);border-color:var(--muted);color:var(--ink)}.tpl-pager-btn:disabled{opacity:.4;cursor:not-allowed}.tpl-pager-num{background:transparent;border:1px solid transparent;color:var(--ink-soft);font-family:inherit;font-size:12px;font-weight:500;width:30px;height:30px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center}.tpl-pager-num:hover:not(.active){background:var(--line-soft);color:var(--ink)}.tpl-pager-num.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.tpl-pager-ellipsis{color:var(--muted);font-size:12px;padding:0 4px;user-select:none}.auth-modal{max-width:420px}.auth-modal-body{padding:20px}.auth-tabs{display:flex;gap:4px;background:var(--line-soft);padding:4px;border-radius:8px;margin-bottom:20px}.auth-tabs .tab{flex:1;background:transparent;border:none;font-size:13px;padding:8px 0;border-radius:6px;color:var(--muted);cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.auth-tabs .tab:hover{color:var(--ink)}.auth-tabs .tab.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{font-size:12px;color:var(--muted);font-weight:500}.auth-field input{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--card);outline:none;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.auth-error{background:#faf0f0;border:1px solid #e8c8c8;color:var(--rose);padding:8px 12px;border-radius:6px;font-size:12px}.auth-submit{height:38px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.auth-submit:hover:not(:disabled){background:#245a4b}.auth-submit:disabled{background:var(--muted);cursor:not-allowed}.auth-hint{text-align:center;font-size:12px;color:var(--muted);margin:0}.paywall-modal{max-width:480px}.paywall-alert{background:linear-gradient(135deg,#fff3e0,#faf0f0);border:1px solid #e0c8b0;padding:14px 16px;border-radius:8px;margin-bottom:18px}.paywall-alert strong{color:var(--accent);display:block;font-size:14px;margin-bottom:4px}.paywall-alert p{margin:0;font-size:12px;color:var(--ink-soft)}.paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.paywall-plan{position:relative;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 12px;cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s,transform .1s,box-shadow .15s}.paywall-plan:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.paywall-plan:disabled{opacity:.5;cursor:not-allowed}.plan-label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}.plan-amount{font-size:22px;font-weight:700;color:var(--primary);margin-bottom:8px}.plan-desc{font-size:11px;color:var(--muted);line-height:1.4}.plan-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffd9;border-radius:10px;font-size:12px;color:var(--primary);font-weight:600}.paywall-mock-hint{font-size:11px;color:var(--muted);text-align:center;margin:0;padding-top:8px;border-top:1px dashed var(--line)}.paywall-login-hint{text-align:center;color:var(--muted);font-size:13px;margin:0 0 16px}.paywall-msg{text-align:center;color:var(--ink-soft);font-size:14px;margin:0 0 16px}.auto-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:720px;width:100%;margin:0 auto 14px;padding:10px 16px;background:linear-gradient(135deg,#f5faf7 0%,var(--card) 100%);border:1px solid var(--primary-soft);border-radius:14px;box-shadow:var(--shadow-sm);animation:slideIn .2s ease-out}.auto-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.auto-header-icon{font-size:18px;line-height:1}.auto-header-title{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}.auto-header-subtitle{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.auto-header-latest{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink-soft);max-width:240px;flex-shrink:0}.auto-header-latest-label{color:var(--muted);font-size:11px}.auto-header-latest-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.device-id-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--muted);background:var(--line-soft);border:1px solid var(--line);padding:3px 10px;border-radius:999px;cursor:help;user-select:all;transition:background .15s,border-color .15s}.device-id-chip:hover{background:var(--card);border-color:var(--muted);color:var(--ink-soft)}.device-id-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);display:inline-block;flex-shrink:0}.decision-card{width:100%;margin:0 0 10px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:6px;animation:slideIn .2s ease-out}.decision-card-pending{background:var(--line-soft);border-color:var(--line)}.decision-card-create{background:linear-gradient(135deg,#f0f9f4 0%,var(--card) 100%);border-color:var(--primary-soft)}.decision-card-modify{background:linear-gradient(135deg,#fdf4f5 0%,var(--card) 100%);border-color:#e8c8c8}.decision-card-error{background:#faf0f0;border-color:#e8c8c8}.decision-card-unrelated{background:linear-gradient(135deg,#f5f5f5 0%,var(--card) 100%);border-color:#d8d8d8}.decision-card-unrelated .decision-card-text{color:var(--muted)}.decision-card-messages{list-style:none;margin:0;padding:6px 0 0;display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--line)}.decision-card-message{font-size:13px;color:var(--ink-soft);padding:4px 10px;background:#fff9;border-left:3px solid var(--muted);border-radius:0 4px 4px 0;line-height:1.5}.decision-card-replacements{margin-top:6px;padding:8px 10px;background:#f0f9f4b3;border:1px solid var(--primary-soft);border-radius:6px;display:flex;flex-direction:column;gap:6px}.decision-card-replacements-skipped{background:#fff8f0b3;border-color:#e8d8b0}.decision-card-replacements-tag{font-size:11px;font-weight:600;color:var(--primary);letter-spacing:.02em}.decision-card-replacements-skipped .decision-card-replacements-tag{color:#b07a2c}.decision-card-replacements-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.decision-card-replacement-item{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap}.decision-card-replacement-from,.decision-card-replacement-to{background:#fff;padding:1px 6px;border:1px solid var(--line);border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;color:var(--ink)}.decision-card-replacement-from{text-decoration:line-through;color:var(--muted);background:#ffffff80}.decision-card-replacement-to{background:#f0f9f4;border-color:var(--primary-soft);color:var(--primary)}.decision-card-replacements-skipped .decision-card-replacement-from{color:var(--muted);background:#ffffff80}.decision-card-replacements-skipped .decision-card-replacement-to{background:#fff8f0b3;border-color:#e8d8b0;color:#b07a2c}.decision-card-replacement-arrow{color:var(--muted);font-size:11px}.decision-card-replacement-reason{font-size:11px;color:var(--muted);font-style:italic}.decision-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.decision-card-tag{font-weight:600;letter-spacing:.02em}.decision-card-raw{font-size:11px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;display:inline-flex;align-items:center;gap:4px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-card-raw code{background:#0000000d;padding:1px 5px;border-radius:3px;font-size:11px;color:var(--ink-soft)}.decision-card-decision{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--ink);flex-wrap:wrap}.decision-card-icon{font-size:20px;line-height:1}.decision-card-create .decision-card-text{color:var(--primary)}.decision-card-modify .decision-card-text{color:var(--accent)}.decision-card-decision-loading{font-size:14px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:6px}.decision-card-target{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--ink-soft);background:#fff;padding:3px 8px;border:1px solid var(--line);border-radius:6px;max-width:280px;overflow:hidden}.decision-card-target-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.decision-card-target-name{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-card-subline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-top:4px;border-top:1px dashed var(--line)}.decision-card-subline-item{display:inline-flex;align-items:center;gap:4px}.decision-card-subline-fallback{color:#b06367;font-weight:500}.decision-card-subline-usage{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--muted)}.change-log-card{width:100%;max-width:720px;margin:6px 0;padding:12px 16px;background:var(--card);border-radius:12px;box-shadow:var(--shadow-sm);animation:slideIn .25s ease-out}.change-log-success{border:1px solid #c7e1d2;border-left:4px solid var(--primary);background:linear-gradient(180deg,#f5faf7 0%,var(--card) 100%)}.change-log-failed{border:1px solid #ecd9b8;border-left:4px solid var(--accent);background:linear-gradient(180deg,#fdf5ea 0%,var(--card) 100%)}.change-log-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600}.change-log-success .change-log-header{color:var(--primary)}.change-log-failed .change-log-header{color:var(--accent)}.change-log-icon{font-size:14px;line-height:1}.change-log-title{flex:1;color:var(--ink);font-weight:600}.change-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.change-log-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--card);border:1px solid var(--line-soft);border-radius:8px;font-size:12.5px}.change-log-item-ok{border-color:#d8e8e1}.change-log-item-failed{border-color:#ecd9b8;background:#fffaf2}.change-log-tool{display:flex;align-items:baseline;gap:6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.change-log-tool-name{background:var(--line-soft);color:var(--ink-soft);padding:1px 6px;border-radius:4px;font-weight:600;font-size:11px}.change-log-tool-args{color:var(--muted);font-size:11px}.change-log-diff{display:flex;align-items:flex-start;gap:6px;line-height:1.5;font-size:12px;color:var(--ink);word-break:break-word}.change-log-before{color:var(--muted);text-decoration:line-through;text-decoration-color:#b0636780;flex:1;min-width:0}.change-log-arrow{color:var(--primary);font-weight:600;flex-shrink:0}.change-log-after{color:var(--primary);font-weight:500;flex:1;min-width:0}.change-log-error{font-size:11px;color:var(--accent);font-weight:500}.drawer-mask{opacity:1;pointer-events:auto}.drawer-panel{position:fixed;top:0;right:0;width:60%;max-width:880px;height:100vh;background:var(--card);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:100;display:flex;flex-direction:column;animation:drawer-slide-in .22s ease-out}@keyframes drawer-slide-in{0%{transform:translate(40px);opacity:.6}to{transform:translate(0);opacity:1}}.drawer-title{display:flex;align-items:center;gap:8px;min-width:0}.drawer-title-icon{font-size:14px}.drawer-title-text{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drawer-header-actions{display:flex;gap:6px;flex-shrink:0}.drawer-header-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;background:var(--card);border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);cursor:pointer;font-family:inherit;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.drawer-header-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.drawer-header-close{padding:5px 7px}.drawer-iframe{width:100%;height:100%;border:none;display:block;background:#fff}.drawer-state{display:flex;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--muted);font-size:14px}.drawer-state-error{flex-direction:column;color:var(--accent)}.drawer-state-detail{font-size:12px;color:var(--muted);margin-top:6px;max-width:80%;text-align:center;word-break:break-word}.style-selector{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.style-selector-label{font-size:12px;color:var(--muted);font-weight:500;flex-shrink:0}.style-chips{display:flex;gap:6px;flex-wrap:wrap}.style-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-family:inherit;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);transition:all .15s ease}.style-chip:hover:not(:disabled){background:var(--line-soft);border-color:var(--muted)}.style-chip:disabled{opacity:.5;cursor:not-allowed}.style-chip-active{background:var(--primary);color:#fff;border-color:var(--primary)}.style-chip-active:hover:not(:disabled){background:#245a4b;border-color:#245a4b}.style-chip-color{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px #00000026}.style-chip-dots{display:inline-flex;gap:2px}.style-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.style-badge{display:inline-flex;align-items:center;padding:1px 7px;font-size:11px;font-weight:500;border-radius:4px;background:var(--primary-soft);color:var(--primary);margin-right:6px;border:1px solid rgba(47,111,94,.15)}
