:root{--ink:#222a2a;--ink-soft:#58615f;--muted:#767d79;--paper:#e9e8e2;--panel:#f6f5f0;--line:#d8dad3;--dark:#27312f;--accent:#d76138;--accent-dark:#aa3f21;--good:#27745f;--warn:#a46a22;--bad:#a64236;--font:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}
body[data-auth="unknown"] .app-shell,body[data-auth="required"] .app-shell{display:none}
body[data-auth="ready"] .auth-gate{display:none}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 79% 17%,#deded3 0,transparent 33%),linear-gradient(135deg,#e9e8e2,#d7ddd6)}
.auth-card{width:min(100%,490px);min-height:580px;background:#f6f5f0;border:1px solid #d6d8cf;border-radius:18px;box-shadow:0 28px 70px rgba(37,48,45,.14);padding:44px 46px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-card:before{content:"";position:absolute;width:240px;height:240px;border:1px solid #d7dcd2;border-radius:50%;right:-130px;top:-115px;box-shadow:0 0 0 33px rgba(215,220,210,.36),0 0 0 70px rgba(215,220,210,.2)}
.auth-mark{display:flex;align-items:center;gap:4px;transform:rotate(-15deg);height:31px;width:39px}
.auth-mark span{display:block;width:6px;height:19px;background:#26312d}.auth-mark span:nth-child(2){height:30px;background:var(--accent)}
.auth-eyebrow{margin:88px 0 14px;font-size:10px;letter-spacing:.16em;font-weight:780;color:#a14e31}
.auth-card h1{font-size:clamp(34px,8vw,45px);letter-spacing:-.045em}.auth-card h1 span{color:var(--accent)}
.auth-desc{font-size:13px;line-height:1.9;color:#59665d;margin:21px 0 30px;max-width:330px}
.auth-login{display:flex;align-items:center;justify-content:space-between;background:#d76138;color:white;padding:15px 17px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:780;box-shadow:0 9px 18px rgba(170,63,33,.17)}
.auth-login:hover{background:#bc4d2d}.auth-login span{font-size:18px;font-weight:400}
.setup-card{border:1px solid #ddccbe;background:#f9eee6;border-radius:9px;padding:13px 15px;display:grid;grid-template-columns:26px 1fr;gap:3px 10px;align-items:center;color:#7f452f}
.setup-icon{grid-row:span 2;font-size:22px;line-height:1}.setup-card strong{font-size:12px}.setup-card small{font-size:10px;line-height:1.55;color:#865d4c}
.auth-note{font-size:11px;color:#5b675e;line-height:1.6;margin:15px 0 0}
.auth-bottom{border-top:1px solid #dce0d7;margin-top:auto;padding-top:17px;display:flex;justify-content:space-between;font-size:10px;color:#6a746c;letter-spacing:.07em;font-weight:720}
.logout-button{border:1px solid #cad0c7;background:transparent;border-radius:5px;padding:4px 7px;font-size:10px;color:#536157}.logout-button:hover{background:#e5e9e1}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
::selection{background:#d76138;color:#fff}
:focus-visible{outline:3px solid #e68160;outline-offset:3px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#b7bbb2;border:2px solid var(--paper);border-radius:10px}
::-webkit-scrollbar-track{background:var(--paper)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:74px minmax(0,1fr)}
.rail{background:var(--dark);color:#fff;min-height:100vh;display:flex;align-items:center;flex-direction:column;padding:25px 0 23px;position:relative}
.rail-brand{width:32px;height:32px;position:relative;display:flex;align-items:center;justify-content:center;gap:3px;transform:rotate(-15deg)}
.rail-brand span{width:5px;height:16px;background:#f0eae1;border-radius:1px}
.rail-brand span:nth-child(2){height:26px;background:var(--accent)}
.rail-caption{font-size:10px;line-height:1.35;font-weight:750;letter-spacing:.12em;text-align:center;margin-top:11px;color:#e1e5df}
.rail-rule{height:1px;background:#53605c;width:28px;margin:28px 0 23px}
.rail-current{width:45px;height:45px;border-radius:12px;background:#eae9e2;color:var(--dark);display:grid;place-items:center;box-shadow:0 7px 15px rgba(0,0,0,.15)}
.rail-current svg{width:22px;height:22px}
.rail-vertical{writing-mode:vertical-rl;transform:rotate(180deg);color:#cad1ca;font-size:11px;letter-spacing:.1em;margin-top:65px;font-weight:700}
.rail-foot{margin-top:auto;color:#cad1ca;font-size:11px;letter-spacing:.08em}
.main-shell{min-width:0;display:flex;flex-direction:column}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6d9d1;padding:0 clamp(26px,4vw,70px);background:rgba(245,245,239,.57)}
.topbar-title{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:720;letter-spacing:.045em}
.topbar-dot,.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;flex:none}
.topbar-slash{font-weight:400;color:#aab0aa;padding:0 2px}
.topbar-right{display:flex;align-items:center;gap:9px;color:#66706c;font-size:11px;font-weight:600;letter-spacing:.015em}
.live-dot{background:#58a287;box-shadow:0 0 0 4px rgba(88,162,135,.13);width:6px;height:6px}
.topbar-divider{height:15px;width:1px;background:#c7ccc5;margin:0 10px}
.topbar-local{letter-spacing:.06em;font-size:11px}
main{width:min(100%,1550px);margin:0 auto;padding:53px clamp(26px,4vw,70px) 56px;flex:1}
.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:45px}
.intro-overline{font-size:11px;font-weight:750;letter-spacing:.17em;color:var(--accent-dark);margin:0 0 16px}
h1{font-size:clamp(35px,3.2vw,53px);line-height:1.18;letter-spacing:-.025em;margin:0;font-weight:780;color:#26302e}
.period{color:var(--accent)}
.intro-copy{font-size:14px;line-height:1.8;margin:16px 0 0;color:var(--ink-soft);max-width:680px}
.intro-marker{width:118px;height:99px;border:1px solid #c6ccc4;display:flex;align-items:flex-end;justify-content:space-between;padding:15px 14px;color:#606b66;flex:none;transform:rotate(3deg);position:relative}
.intro-marker::before{content:"";position:absolute;width:15px;height:15px;border-left:1px solid #c6ccc4;border-top:1px solid #c6ccc4;left:-5px;top:-5px}
.intro-marker span{font-size:31px;font-weight:850;letter-spacing:-.08em;line-height:1}
.intro-marker small{font-size:8px;line-height:1.35;font-weight:700;letter-spacing:.08em}
.workspace-grid{display:grid;grid-template-columns:minmax(355px,440px) minmax(0,1fr);gap:18px;align-items:start}
.compose-panel,.results-panel{background:var(--panel);border:1px solid #d9dcd5;border-radius:16px;box-shadow:0 18px 38px rgba(39,49,47,.055);min-width:0}
.compose-panel{padding:28px 28px 23px}
.results-panel{min-height:702px;display:flex;flex-direction:column;padding:28px 28px 0}
.results-panel:has(.queue-item){min-height:470px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.section-head>div{display:flex;align-items:center;gap:11px}
.section-index{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e9e4da;color:#82442d;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
h2{font-size:18px;line-height:1.35;letter-spacing:-.015em;margin:0;font-weight:760}
.section-head-detail{color:#5d685f;font-size:11px;letter-spacing:.08em;font-weight:700}
.field-label{display:block;font-size:12px;font-weight:770;color:#36413e;margin-bottom:10px}
.text-box{border:1px solid #cfd3ca;border-radius:11px;background:#fff;transition:border-color .2s,box-shadow .2s;overflow:hidden}
.text-box:focus-within{border-color:#a47b6d;box-shadow:0 0 0 3px rgba(215,97,56,.1)}
textarea{display:block;width:100%;height:145px;resize:vertical;border:0;outline:0;background:transparent;padding:18px 18px 8px;color:var(--ink);line-height:1.65;font-size:13px}
textarea::placeholder{color:#5c685f;opacity:1}
.text-box-foot{height:38px;border-top:1px solid #eef0e9;display:flex;align-items:center;justify-content:space-between;padding:0 13px 0 18px;color:#536057;font-size:11px}
.quiet-button{border:0;background:none;color:#69746e;font-size:11px;font-weight:700;padding:6px 5px}
.quiet-button:hover{color:var(--accent-dark)}
.import-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px dashed #cdd2ca;border-radius:10px;padding:14px 14px;margin-top:13px;background:#f9f8f4;transition:background .2s,border-color .2s}
.import-row:hover,.text-box.dragging{background:#fff7f1;border-color:var(--accent)}
.import-row strong,.import-row span{display:block}
.import-row strong{font-size:12px;color:#3b4742;margin-bottom:4px}
.import-row span{font-size:11px;color:#59665c}
.import-button{white-space:nowrap;border-radius:7px;background:#e9eae3;color:#37433e;font-size:11px;font-weight:760;padding:9px 10px;display:inline-flex;gap:7px;align-items:center;cursor:pointer}
.import-button:hover{background:#dde1d8}
.import-button svg{width:14px;height:14px}
.form-divider{height:1px;background:#dfe2da;margin:25px 0 22px}
.field-top{display:flex;align-items:center;justify-content:space-between}
.hint-tag{font-size:11px;color:#924023;font-weight:750;border-radius:5px;background:#f9e9df;padding:4px 6px;margin-bottom:10px}
.mode-switch{display:grid;gap:9px}
.mode-option{display:flex;align-items:center;gap:12px;position:relative;border:1px solid #d1d6cc;border-radius:10px;background:#fff;padding:12px 13px;cursor:pointer;min-height:65px;transition:border-color .2s,background .2s,transform .2s}
.mode-option:hover{transform:translateY(-1px)}
.mode-option:has(input:checked){border-color:#d28165;background:#fff7f2}
.mode-option:has(input:disabled){opacity:.62;cursor:not-allowed}
.mode-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.mode-option:has(input:focus-visible){outline:3px solid #e68160;outline-offset:2px}
.mode-art{width:39px;height:39px;display:grid;place-items:center;border-radius:8px;background:#edf0eb;color:#4b5c55;flex:none}
.mode-option:has(input:checked) .mode-art{background:#f9e7dc;color:#b44e2d}
.mode-art svg{width:20px;height:20px}
.mode-option strong,.mode-option small{display:block}
.mode-option strong{font-size:12px;color:#33403a;margin-bottom:5px}
.mode-option small{font-size:11px;color:#56635a}
.mode-check{width:17px;height:17px;border-radius:50%;border:1px solid #bcc5ba;margin-left:auto;flex:none}
.mode-option:has(input:checked) .mode-check{border:5px solid var(--accent)}
.threshold-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0 20px}
.threshold-row .field-label{margin-bottom:4px}
.threshold-row p{font-size:11px;line-height:1.5;color:#56635a;margin:0;max-width:250px}
.number-wrap{height:43px;min-width:98px;border:1px solid #cdd3c9;border-radius:8px;background:#fff;display:flex;align-items:center;padding:0 10px}
.number-wrap input{border:0;outline:0;width:63px;background:transparent;text-align:right;color:#2a3933;font-weight:760;font-size:14px;font-variant-numeric:tabular-nums}
.number-wrap span{font-size:11px;color:#59655b;margin-left:5px}
.form-message{border-radius:8px;background:#fbe8e1;color:#9d3925;line-height:1.5;font-size:12px;padding:10px 12px;margin-bottom:12px}
.start-button{width:100%;height:49px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:770;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 8px 16px rgba(170,63,33,.15);transition:background .2s,transform .2s,box-shadow .2s}
.start-button:hover:not(:disabled){background:#c95530;transform:translateY(-1px);box-shadow:0 12px 20px rgba(170,63,33,.2)}
.start-button:disabled{opacity:.57;box-shadow:none}
.start-button svg{width:17px;height:17px}
.privacy-line{display:flex;align-items:center;gap:6px;margin:14px 0 0;font-size:11px;line-height:1.5;color:#58665a}
.privacy-line svg{width:13px;height:13px;flex:none}
.results-head{margin-bottom:24px}
.queue-state{font-size:11px;letter-spacing:.02em;font-weight:760;color:#4c5e52;background:#e8ece5;border-radius:5px;padding:7px 9px}
.queue-state.running{color:#a94c2f;background:#f9e6dc}
.queue-state.finished{color:#226f59;background:#dfeee6}
.queue-summary{height:84px;display:flex;align-items:center;background:#e7ebe4;border-radius:11px;padding:0 29px;gap:28px;margin-bottom:25px}
.queue-summary>div{display:flex;align-items:baseline;gap:8px}
.queue-summary strong{font-size:27px;font-weight:790;letter-spacing:-.025em;color:#293630;font-variant-numeric:tabular-nums}
.queue-summary span:not(.summary-rule){color:#4d5d51;font-size:11px;font-weight:600}
.summary-rule{width:1px;height:28px;background:#cdd4c9}
.queue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #e0e4dc;font-size:11px;font-weight:760;color:#4e5f53}
.bundle-button{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:#8d351d;font-size:11px;font-weight:750;padding:6px 0}
.bundle-button:hover:not(:disabled){color:#792e19;text-decoration:underline;text-underline-offset:3px}
.bundle-button:disabled{color:#657166}
.bundle-button svg{width:15px;height:15px}
.queue-list{min-height:0;max-height:560px;overflow:auto;padding-right:5px}
.queue-item{display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 0;border-bottom:1px solid #e4e7df;animation:row-in .3s ease-out both}
.queue-item:last-child{border-bottom:0}
@keyframes row-in{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.item-number{width:28px;height:28px;border:1px solid #d4d9d0;border-radius:7px;display:grid;place-items:center;font-size:11px;color:#5d6c60;font-weight:750;font-variant-numeric:tabular-nums}
.item-main{min-width:0}
.item-title{font-size:12px;font-weight:760;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#344039;margin:1px 0 5px}
.item-url{font-size:11px;color:#5e6d60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.item-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:#556459;margin-top:9px}
.item-meta span:first-child{font-variant-numeric:tabular-nums}
.item-error{font-size:11px;color:#923724;line-height:1.55;margin-top:8px;overflow-wrap:anywhere}
.item-right{text-align:right;display:grid;justify-items:end;gap:8px;min-width:74px}
.status-pill{white-space:nowrap;font-size:11px;font-weight:770;border-radius:5px;background:#eceee8;color:#4e5e52;padding:5px 7px}
.status-pill.done{background:#e0f0e8;color:#24735b}
.status-pill.failed{background:#f9e6df;color:#a2422e}
.status-pill.review{background:#f8eed9;color:#91641d}
.status-pill.busy{background:#f8e8de;color:#ab5130}
.item-download{font-size:11px;color:#8d351d;font-weight:780;text-decoration:none;border-bottom:1px solid #b26448;padding-bottom:2px}
.item-download:hover{color:#792e19}
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:61px 16px 45px;color:#56645a;flex:1}
.empty-visual{width:135px;height:102px;position:relative;margin-bottom:23px}
.empty-folder{position:absolute;inset:20px 12px 5px;border:2px solid #b8c2b7;border-radius:7px;transform:rotate(-7deg)}
.empty-folder:before{content:"";position:absolute;width:39px;height:10px;left:10px;top:-11px;border:2px solid #b8c2b7;border-bottom:0;border-radius:4px 4px 0 0}
.empty-line{position:absolute;height:2px;background:#b8c2b7;left:32px;transform:rotate(-7deg)}
.empty-line.one{width:65px;top:51px}.empty-line.two{width:53px;top:64px}.empty-line.three{width:43px;top:76px}
.empty-state h3{font-size:15px;color:#4b5a51;margin:0 0 9px;font-weight:740}
.empty-state p{font-size:11px;line-height:1.8;max-width:310px;margin:0}
.results-foot{display:flex;align-items:center;gap:9px;font-size:11px;color:#58665b;border-top:1px solid #e0e4dc;padding:18px 0;margin-top:auto}
.foot-icon{width:14px;height:14px;color:#a25131;flex:none}
.page-footer{display:flex;justify-content:space-between;gap:20px;padding:0 clamp(26px,4vw,70px) 25px;color:#5c6a60;font-size:10px;font-weight:700;letter-spacing:.05em}
.history-panel{margin-top:19px;background:var(--panel);border:1px solid #d9dcd5;border-radius:16px;box-shadow:0 18px 38px rgba(39,49,47,.04);padding:24px 28px 27px}
.history-panel .section-head{margin-bottom:9px}.history-intro{font-size:11px;color:#5a675e;margin:0 0 18px;line-height:1.6}
.history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px}.history-empty{font-size:12px;color:#667267}
.history-item{display:grid;text-align:left;gap:7px;border:1px solid #d6dbd1;background:#fbfaf6;padding:13px 15px;border-radius:9px;color:#35433a;transition:transform .2s,border-color .2s}
.history-item:hover{transform:translateY(-2px);border-color:#cf8d73}.history-item.selected{border-color:#cf8d73;background:#fff5ee}
.history-item strong{font-size:11px}.history-item span{font-size:10px;color:#647065}
.audit-list{border-top:1px solid #dde1d8}.audit-row{display:grid;grid-template-columns:185px minmax(0,1fr) 100px 74px;align-items:center;gap:16px;padding:13px 2px;border-bottom:1px solid #e2e5de}
.audit-who,.audit-what{min-width:0;display:grid;gap:5px}.audit-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-row small{font-size:10px;color:#667267;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-likes{font-size:11px;color:#3d5144;font-variant-numeric:tabular-nums}.audit-row .status-pill{justify-self:end}
.audit-more{margin-top:17px;border:1px solid #cdd4c9;border-radius:7px;padding:8px 13px;background:#ecefe8;color:#4b5c50;font-size:11px;font-weight:700}
@media(max-width:760px){.audit-row{grid-template-columns:minmax(0,1fr) 85px;gap:8px}.audit-what{grid-column:1}.audit-likes{grid-column:2;grid-row:1}.audit-row .status-pill{grid-column:2;grid-row:2}}
@media(max-width:1110px){.workspace-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.compose-panel,.results-panel{padding-left:23px;padding-right:23px}.queue-summary{padding:0 18px;gap:16px}}
@media(max-width:860px){.app-shell{grid-template-columns:1fr}.rail{display:none}.workspace-grid{grid-template-columns:1fr}.results-panel{min-height:480px}.topbar{height:62px}.intro{margin-bottom:30px}main{padding-top:34px}.queue-list{max-height:600px}}
@media(max-width:560px){.auth-card{padding:32px 26px 24px;min-height:540px}.auth-eyebrow{margin-top:68px}.auth-card h1{font-size:37px}.topbar,.page-footer{padding-left:20px;padding-right:20px}.topbar-section,.topbar-divider,.topbar-right #engine-status,.topbar-right .live-dot{display:none}.topbar-title{font-size:11px}.topbar-right{font-size:10px}.topbar-local{display:inline;font-size:10px}main{padding:31px 15px 35px}.intro-marker{display:none}.intro-overline{font-size:10px;margin-bottom:12px}h1{font-size:34px}.intro-copy{font-size:12px;margin-top:13px}.compose-panel,.results-panel{padding:20px 18px 0}.compose-panel{padding-bottom:19px}.section-head{margin-bottom:20px}.queue-summary{height:76px;gap:12px;padding:0 14px}.queue-summary>div{display:block}.queue-summary strong{font-size:23px;display:block}.queue-summary span:not(.summary-rule){font-size:10px}.summary-rule{height:32px}.queue-item{gap:9px;grid-template-columns:24px minmax(0,1fr) auto}.item-number{width:24px;height:24px}.item-title{max-width:45vw}.item-right{min-width:55px}.item-meta{display:block;line-height:1.6}.history-panel{padding:20px 18px}.page-footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
