:root{--black:#1A1118;--midnight:#2E2830;--charcoal:#443E47;--steel:#9A94A6;--silver:#D6D4D8;--snow:#F2F0F4;--yellow:#FED100;--yellow-light:#FEE04D;--error:#EF4444;--success:#22C55E;--line:rgba(242,240,244,.07);--sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--black);color:var(--silver);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body{min-height:100vh}a{color:inherit}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.overline{font:700 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.topbar{height:64px;border-bottom:1px solid rgba(68,62,71,.55);position:sticky;top:0;z-index:10;background:rgba(26,17,24,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar .wrap{height:100%;justify-content:space-between;gap:16px}.brand,.topbar .wrap{display:flex;align-items:center}.brand{gap:10px;text-decoration:none}.brand img{width:28px;height:28px}.wordmark{font:800 16px/1 var(--sans);letter-spacing:-.02em;text-transform:uppercase;color:var(--snow)}.wordmark span{color:var(--yellow)}.brand .tag{margin-left:8px;padding-left:12px;border-left:1px solid var(--charcoal);font-size:13px;color:var(--steel)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:4px;border:1px solid var(--charcoal);background:rgba(46,40,48,.6);color:var(--snow);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:#6a6370;background:rgba(46,40,48,.95)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--yellow);border-color:var(--yellow);color:var(--black);font-weight:700}.btn-primary:hover:not(:disabled){background:var(--yellow-light);border-color:var(--yellow-light)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-ghost{background:none;border-color:transparent;color:var(--steel)}.btn-ghost:hover:not(:disabled){color:var(--snow);background:rgba(242,240,244,.04);border-color:transparent}.btn-danger{border-color:rgba(239,68,68,.5);color:#FCA5A5;background:none}.btn-danger:hover:not(:disabled){border-color:var(--error);background:rgba(239,68,68,.08)}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:600;color:var(--snow)}.field .hint{font-size:12px;color:var(--steel)}.input{width:100%;background:var(--black);border:1px solid var(--charcoal);border-radius:4px;color:var(--snow);padding:10px 12px;font-size:14px}.input::placeholder{color:#7D7788}.input:focus{outline:none;border-color:var(--steel)}textarea.input{resize:vertical;min-height:88px;font-family:var(--mono);font-size:13px;line-height:1.6}.error{color:#FCA5A5;font-size:13px}.card{border:1px solid var(--charcoal);border-radius:8px;background:linear-gradient(180deg,rgba(46,40,48,.9),rgba(46,40,48,.55))}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .card{width:100%;max-width:400px;padding:40px 32px}.login h1{margin:24px 0 4px;font-size:24px;color:var(--snow);letter-spacing:-.015em}.login p{margin:0 0 24px;color:var(--steel);font-size:14px}.login form{display:grid;gap:16px}main.operator{padding:48px 0 96px}.page-head h1{margin:8px 0 4px;font-size:32px;line-height:1.15;color:var(--snow);letter-spacing:-.02em}.page-head p{margin:0;color:var(--steel)}.new{margin-top:32px;padding:24px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px 24px;align-items:start}.new .actions{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.new .actions .note{font-size:12px;color:var(--steel)}.list-head{margin:48px 0 12px;display:flex;align-items:baseline;justify-content:space-between}.list-head h2{margin:0;font-size:18px;color:var(--snow)}.empty{padding:40px 24px;text-align:center;color:var(--steel);border:1px dashed var(--charcoal);border-radius:8px}.row{padding:20px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center}.row+.row{margin-top:12px}.row .name{font-size:16px;font-weight:700;color:var(--snow)}.row .meta{margin-top:6px;gap:6px 14px;align-items:center;font-size:12px;color:var(--steel)}.chips,.row .meta{display:flex;flex-wrap:wrap}.chips{gap:6px}.asin{font:500 11px/1 var(--mono);letter-spacing:.04em;color:var(--silver);padding:5px 7px;border:1px solid var(--charcoal);border-radius:4px}.asin.failed{color:#7D7788;border-style:dashed;text-decoration:line-through}.count{text-align:right}.count b{display:block;font:500 28px/1 var(--mono);color:var(--snow)}.count span{font-size:12px;color:var(--steel)}.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--silver)}.dot{width:8px;height:8px;border-radius:50%;background:var(--steel);flex:none}.dot.running{background:var(--yellow);animation:pulse 1.4s ease-in-out infinite}.dot.ready{background:var(--success)}.dot.failed{background:var(--error)}@keyframes pulse{50%{opacity:.35}}.row .tools{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:12px;border-top:1px solid var(--line)}.row .tools .spacer{flex:1 1}.row .err{font-size:13px;color:#FCA5A5}.add,.row .err{grid-column:1/-1}.add{display:flex;gap:8px}.add .input{font-family:var(--mono);font-size:13px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--snow);color:var(--black);font-weight:600;font-size:13px;padding:10px 16px;border-radius:4px;z-index:50}@media (max-width:720px){.wrap{padding:0 16px}.brand .tag{display:none}main.operator{padding:32px 0 64px}.page-head h1{font-size:26px}.new{grid-template-columns:1fr;padding:20px 16px}.new .actions .btn{width:100%}.row{padding:16px;grid-template-columns:1fr}.count{text-align:left;display:flex;align-items:baseline;gap:8px}.count b{display:inline;font-size:22px}.add{flex-direction:column}}@media (prefers-reduced-motion:reduce){.dot.running{animation:none}}.btn.disabled{opacity:.45;pointer-events:none}