@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0e14;--bg2:#111420;--surface:#161a27;--surface2:#1c2135;--border:#252c42;--border-focus:#4f6ef7;--primary:#4f6ef7;--primary-hover:#3d5ce8;--violet:#7c5af6;--green:#22c55e;--green-dim:#22c55e1f;--red:#ef4444;--red-dim:#ef44441f;--yellow:#eab308;--yellow-dim:#eab3081f;--text:#e8ecf4;--text2:#8892a4;--text3:#4a5568;--radius:10px;--radius-sm:7px;--shadow:0 1px 3px #0006}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{grid-template-columns:1fr 360px;align-items:start;gap:20px;width:100%;max-width:1280px;margin:0 auto;padding:20px;display:grid}@media (width<=960px){.main-content{grid-template-columns:1fr}}.header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:56px;padding:0 20px;display:flex}.header-logo{background:var(--primary);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.header-logo svg{fill:#fff;width:16px;height:16px}.header-title{letter-spacing:-.2px;font-size:15px;font-weight:700}.header-sub{color:var(--text2);font-size:12px}.header-badge{color:#7f9cf5;letter-spacing:.2px;background:#4f6ef71f;border:1px solid #4f6ef740;border-radius:99px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card+.card{margin-top:0}.card-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text2);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:11px;font-weight:700;display:flex}.card-title-icon{width:16px;height:16px;color:var(--primary);flex-shrink:0}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}.field label{color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.label-hint{color:var(--text3);text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.input-wrap{position:relative}.input-wrap input,.input-base{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.input-wrap input:focus,.input-base:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f6ef71f}.input-wrap input[type=password]{letter-spacing:4px;font-size:14px}.input-wrap input[type=password]::placeholder{letter-spacing:0;font-size:13px}.input-wrap input::placeholder{color:var(--text3)}.eye-btn{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:#ffffff0a;border-radius:5px;justify-content:center;align-items:center;padding:5px 6px;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.eye-btn:hover{color:var(--text);background:var(--surface2);border-color:var(--border-focus)}.field-hint{color:var(--text3);margin-top:5px;font-size:11px;line-height:1.55}.field-hint strong{color:var(--text2);font-weight:500}.slider-row{align-items:center;gap:10px;display:flex}.slider-edge{color:var(--text3);min-width:20px;font-size:11px}.slider-row input[type=range]{-webkit-appearance:none;background:linear-gradient(to right, var(--primary) var(--val,50%), var(--border) var(--val,50%));cursor:pointer;border-radius:99px;outline:none;flex:1;height:4px}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border:2px solid var(--bg);cursor:pointer;width:14px;height:14px;box-shadow:0 0 0 2px var(--primary);border-radius:50%;transition:box-shadow .15s}.slider-row input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px #4f6ef740}.slider-val{text-align:center;min-width:36px;color:var(--primary);background:#4f6ef71a;border:1px solid #4f6ef733;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:700}.toggle-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.toggle-label{color:var(--text2);font-size:13px}.toggle{flex-shrink:0;width:40px;height:22px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-track{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:99px;transition:background .2s,border-color .2s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--primary);border-color:var(--primary)}.toggle-track:after{content:"";width:16px;height:16px;box-shadow:var(--shadow);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.tags-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:text;flex-wrap:wrap;align-items:center;gap:5px;min-height:40px;padding:7px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.tags-wrap:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f6ef71f}.tag{color:#7f9cf5;background:#4f6ef71f;border:1px solid #4f6ef740;border-radius:99px;align-items:center;gap:4px;padding:2px 8px 2px 10px;font-size:12px;font-weight:500;display:inline-flex}.tag-cyan{color:#67e8f9;background:#06b6d41a;border-color:#06b6d440}.tag-remove{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;align-items:center;padding:0;font-size:15px;line-height:1;transition:opacity .15s;display:flex}.tag-remove:hover{opacity:1}.tag-input{min-width:100px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.tag-input::placeholder{color:var(--text3)}.dyn-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:text;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:5px;min-height:80px;padding:7px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.dyn-wrap:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f6ef71f}.dyn-tag{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e40;border-radius:99px;align-items:center;gap:4px;padding:2px 8px 2px 10px;font-size:12px;font-weight:500;display:inline-flex}.dyn-input{min-width:160px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:13px}.dyn-input::placeholder{color:var(--text3)}.kw-counter{background:var(--red-dim);color:#fc8181;border:1px solid #ef444440;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700;transition:all .3s}.kw-counter.partial{background:var(--yellow-dim);color:#fbbf24;border-color:#eab30840}.kw-counter.valid{background:var(--green-dim);color:#4ade80;border-color:#22c55e40}.kw-progress-bar{background:var(--surface2);border-radius:99px;height:2px;margin-bottom:8px;overflow:hidden}.kw-progress-fill{border-radius:99px;height:100%;transition:width .4s,background .4s}.kw-shortage{color:var(--yellow);margin-bottom:8px;font-size:11px}.chip{cursor:pointer;border:1px solid var(--border);background:var(--surface2);color:var(--text2);-webkit-user-select:none;user-select:none;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:500;transition:all .15s}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.added{background:var(--green-dim);color:#4ade80;cursor:default;border-color:#22c55e40}.submit-btn{background:var(--primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;margin-top:4px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px #4f6ef74d}.submit-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 16px #4f6ef766}.submit-btn:active:not(:disabled){transform:translateY(1px)}.submit-btn:disabled{opacity:.45;cursor:not-allowed}.status-card{position:sticky;top:76px}.status-section{padding:4px 0}.status-title{margin-bottom:4px;font-size:15px;font-weight:700}.status-sub{color:var(--text2);font-size:13px}.idle-info{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:16px;padding:14px}.idle-info-title{text-transform:uppercase;letter-spacing:.6px;color:var(--primary);margin-bottom:8px;font-size:11px;font-weight:700}.idle-info-list{list-style:none}.idle-info-list li{color:var(--text2);border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:4px 0;font-size:12px;display:flex}.idle-info-list li:last-child{border-bottom:none}.idle-step{min-width:18px;height:18px;color:var(--primary);background:#4f6ef71f;border:1px solid #4f6ef740;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;font-weight:700;display:flex}.spinner-wrap{justify-content:center;margin:16px 0;display:flex}.spinner{border:3px solid var(--surface2);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.record-counter{text-align:center;margin:12px 0}.record-num{letter-spacing:-2px;color:var(--text);font-size:48px;font-weight:800;line-height:1}.record-label{color:var(--text2);margin-top:2px;font-size:12px;font-weight:500}.phase-list{margin:16px 0}.phase-item{color:var(--text3);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.phase-item:last-child{border-bottom:none}.phase-item.phase-active{color:var(--text);font-weight:500}.phase-item.phase-done{color:var(--green)}.phase-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:7px;height:7px}.phase-item.phase-active .phase-dot{background:var(--primary);animation:1.2s ease-in-out infinite blink;box-shadow:0 0 0 3px #4f6ef733}.phase-item.phase-done .phase-dot{background:var(--green)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.phase-check{color:var(--green);margin-left:auto;font-size:11px}.time-badge{color:var(--text3);background:var(--surface2);border:1px solid var(--border);border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;display:inline-flex}.export-btn{background:var(--green);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #22c55e40}.export-btn:hover{background:#16a34a;box-shadow:0 4px 16px #22c55e59}.secondary-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text2);cursor:pointer;background:0 0;margin-top:8px;padding:9px;font-family:inherit;font-size:13px;transition:border-color .15s,color .15s,background .15s}.secondary-btn:hover{border-color:var(--text3);color:var(--text);background:var(--surface2)}.done-icon-wrap{background:var(--green-dim);border:1px solid #22c55e40;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:8px auto 12px;display:flex}.done-icon-wrap svg{width:26px;height:26px;color:var(--green)}.done-title{text-align:center;margin-bottom:4px;font-size:17px;font-weight:700}.done-sub{color:var(--text2);text-align:center;margin-bottom:16px;font-size:13px}.error-box{background:var(--red-dim);border-radius:var(--radius-sm);color:#fc8181;border:1px solid #ef444440;margin-bottom:10px;padding:10px 14px;font-size:12px;line-height:1.5}.error-hints{color:var(--text2);margin-bottom:14px;font-size:12px;line-height:1.8}.error-hints code{color:#7f9cf5;font-family:Consolas,monospace;font-size:11px}.serper-steps-toggle{color:var(--primary);cursor:pointer;letter-spacing:.2px;background:0 0;border:none;flex-shrink:0;padding:0;font-size:11px;font-weight:600}.serper-steps-toggle:hover{text-decoration:underline}.serper-steps-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:12px 14px}.serper-steps-title{text-transform:uppercase;letter-spacing:.6px;color:var(--primary);margin-bottom:8px;font-size:11px;font-weight:700}.serper-steps-list{counter-reset:serper-step;padding:0;list-style:none}.serper-steps-list li{counter-increment:serper-step;color:var(--text2);border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:5px 0;font-size:12px;line-height:1.5;display:flex}.serper-steps-list li:last-child{border-bottom:none}.serper-steps-list li:before{content:counter(serper-step);min-width:18px;height:18px;color:var(--primary);background:#4f6ef71f;border:1px solid #4f6ef740;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;font-weight:700;display:flex}.serper-link{color:var(--primary);font-weight:600;text-decoration:none}.serper-link:hover{text-decoration:underline}.serper-steps-list strong{color:var(--text);font-weight:600}.serper-steps-note{color:var(--text3);border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-size:11px;line-height:1.55}.serper-steps-note strong{color:var(--text2);font-weight:500}.stale-autostop-notice{background:var(--yellow-dim);border-radius:var(--radius-sm);color:#fbbf24;text-align:left;border:1px solid #eab3084d;align-items:flex-start;gap:7px;margin:10px 0 14px;padding:9px 13px;font-size:11px;line-height:1.55;display:flex}.divider{background:var(--border);height:1px;margin:14px 0}.sel-all-btn{color:var(--primary);cursor:pointer;letter-spacing:.2px;background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.sel-all-btn:hover{text-decoration:underline}.acc-action-btn{color:var(--text3);cursor:pointer;text-transform:uppercase;letter-spacing:.4px;background:0 0;border:none;padding:0;font-size:10px;font-weight:600;transition:color .15s}.acc-action-btn:hover{color:var(--text2)}
