:root{color-scheme:light;--bg: #f4efe7;--panel: #fffdf8;--line: #ddd1c0;--text: #241b14;--muted: #7a6b5a;--accent: #b85e2f;--accent-soft: #f7e5d8;--ok: #2e7b4d;--ok-soft: #e0efe5;--fail: #b2403b;--fail-soft: #f8dfdc;font-family:Segoe UI Variable,Microsoft YaHei UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}.page{max-width:1280px;margin:0 auto;padding:6px}.topbar,.panel,.result-card{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}.topbar-main h1,.panel-title h2,.detail-head h2{margin:0;font-size:14px}.panel-title,.patch-actions{display:flex;align-items:center;gap:6px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;text-decoration:none}.button.primary{border-color:transparent;background:var(--accent);color:#fff}.button.ghost{background:#fff8f2}.notice{margin-top:6px;padding:7px 8px;border-radius:8px}.notice.error{background:var(--fail-soft);color:var(--fail)}.single-layout{display:grid;gap:6px;margin-top:6px}.panel{padding:8px}.upload-form{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:6px}.upload-box{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:5px 8px;border:1px dashed #ccb7a1;border-radius:8px;background:#fff8f2;text-align:left}.upload-plus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fff;color:var(--accent);font-size:14px;line-height:1;flex:0 0 auto}.pipeline-copy strong{font-size:12px}.upload-text,.empty{color:var(--muted);font-size:12px}.upload-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-button{width:100%}.hidden-input{display:none}.detail-panel{display:grid;gap:6px}.detail-meta{display:flex;align-items:center}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.status-tag{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:22px;padding:0 7px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-style:normal}.status-tag.done{border-color:#b5dbc4;background:var(--ok-soft);color:var(--ok)}.status-tag.current{border-color:#efc2a5;background:var(--accent-soft);color:#8a4a22}.status-tag.fail{border-color:#efb6b1;background:var(--fail-soft);color:var(--fail)}.current-step-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}.current-step-main{display:grid;gap:2px;min-width:0}.current-step-card strong{font-size:13px}.step-status-line{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.step-indicator{flex:0 0 auto}.step-indicator.current{width:14px;height:14px;border:2px solid rgba(184,94,47,.18);border-top-color:var(--accent);border-radius:999px;animation:step-spin .9s linear infinite}.step-status-line.wait{color:#8a4a22}.step-indicator.wait{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px #b85e2f1f}.step-status-line.done{color:var(--ok)}.step-indicator.done{width:8px;height:8px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 5px #2e7b4d1f}.step-status-line.fail{color:var(--fail)}.step-indicator.fail{position:relative;width:14px;height:14px;border-radius:999px;background:#b2403b1f}.step-indicator.fail:before,.step-indicator.fail:after{content:"";position:absolute;top:6px;left:2px;width:10px;height:2px;border-radius:999px;background:var(--fail)}.step-indicator.fail:before{transform:rotate(45deg)}.step-indicator.fail:after{transform:rotate(-45deg)}.step-tip{color:var(--muted);font-size:12px;font-style:normal}.step-source{color:#8a7764}.step-actions{display:flex;gap:6px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.result-card{padding:8px;min-width:0}.panel-title{justify-content:space-between;margin-bottom:6px}.download-row{display:flex;flex-wrap:wrap;gap:6px}.drawer-mask{position:fixed;inset:0;display:flex;justify-content:flex-end;background:#241b1438;z-index:20}.drawer{display:grid;grid-template-rows:auto auto auto;align-content:start;width:min(760px,100%);height:100%;padding:12px;background:#fffdf8;border-left:1px solid var(--line);overflow:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px}.drawer-head h2{margin:0;font-size:14px}.patch-summary{display:grid;gap:4px;padding-bottom:4px}.patch-block{display:grid;gap:4px}.patch-block strong{font-size:12px}.patch-list{margin:0;padding:0 0 0 18px;display:grid;gap:4px}.patch-list-item{display:grid;gap:1px;padding-right:4px}.patch-list-item span,.patch-empty{color:var(--muted);font-size:12px;font-style:normal}.patch-list-item p{margin:0;line-height:1.35}.patch-empty{padding:8px 9px;border-radius:8px;background:#fff;border:1px solid rgba(204,183,161,.8)}.drawer-compose{display:grid;gap:6px;padding-top:4px}.drawer-compose textarea{width:100%;min-width:0;min-height:140px;max-height:240px;padding:10px 12px;border:none;border-radius:8px;background:#ffffffeb;box-shadow:inset 0 0 0 1px #b85e2f14;resize:vertical;line-height:1.5;outline:none;transition:box-shadow .18s ease,background .18s ease}.drawer-compose textarea:focus{background:#fff;box-shadow:0 0 0 3px #b85e2f24}.drawer-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.selected-file{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12px}.image-drop-trigger{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px dashed #ccb7a1;border-radius:8px;background:#fff8f2;color:var(--muted);white-space:nowrap}.drawer-tools .button.primary{min-width:96px;min-height:40px}.empty{padding:12px 4px}@keyframes step-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.topbar,.detail-head,.upload-form,.result-grid,.current-step-card{grid-template-columns:1fr}.topbar,.detail-head,.current-step-card,.drawer-tools{flex-direction:column;align-items:stretch}.drawer{width:100%}}
