:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#f6f5f0;color:#202224}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f5f0}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading-screen{min-height:100vh;display:grid;place-items:center}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:310px 1fr;min-height:100vh}.sidebar{background:#14251f;color:#f8fbf4;padding:22px;display:flex;flex-direction:column;gap:16px}.brand-block{display:flex;gap:12px;align-items:center;padding-bottom:12px}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:#e7b654;color:#14251f;border-radius:8px}h1,h2,h3,p{margin:0}h1{font-size:20px;line-height:1.2}.brand-block p{margin-top:4px;color:#b9c8bf;font-size:13px;overflow-wrap:anywhere}.panel{background:#fff;border:1px solid #e4e0d6;border-radius:8px;box-shadow:0 10px 28px #302d260f}.sidebar .panel{background:#ffffff14;border-color:#ffffff1f;box-shadow:none}.panel header{height:48px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid #ebe6db;font-weight:700;color:#262924}.sidebar .panel header{border-bottom-color:#ffffff1f;color:#f8fbf4}.compact{overflow:hidden}.config-list{margin:0;padding:14px 16px 16px;display:grid;gap:12px}.config-list div{min-width:0}.config-list dt{color:#9fb0a6;font-size:12px;margin-bottom:4px}.config-list dd{margin:0;font-size:13px;color:#f8fbf4;overflow-wrap:anywhere}.preset-list{padding:10px;display:grid;gap:8px}.preset-button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;border:1px solid rgba(255,255,255,.14);color:#f8fbf4;background:#ffffff0f;border-radius:7px;padding:0 10px}.preset-button:hover{background:#ffffff1f}.preset-button small{color:#e7b654}.workbench{padding:22px;min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.eyebrow{color:#7b5d25;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:0}.toolbar h2{margin-top:2px;font-size:28px}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.primary-button,.ghost-button{height:38px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;font-weight:700;white-space:nowrap}.primary-button{background:#c96c3d;color:#fff}.primary-button.dark{background:#14251f}.primary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.ghost-button{background:#fff;border-color:#ded8cb;color:#2b2d2a}.grid-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(420px,1fr) minmax(280px,360px);gap:16px;align-items:start}.editor-panel,.preview-panel,.status-panel{overflow:hidden}.editor-panel{display:grid;gap:14px;padding-bottom:16px}.editor-panel label{display:grid;gap:6px;margin:0 16px;color:#67665e;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #d9d2c4;border-radius:7px;background:#fffdf8;color:#202224;outline:none}input,select{height:38px;padding:0 10px}textarea{min-height:96px;resize:vertical;padding:10px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#c96c3d;box-shadow:0 0 0 3px #c96c3d1f}.field-row{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:0 16px}.field-row label{margin:0}.platform-strip{margin:0 16px;display:flex;gap:8px;flex-wrap:wrap}.platform-strip span,.tag-row span{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;background:#edf3ef;color:#315347;font-size:12px;font-weight:700}.preview-panel{min-height:720px}.empty-state{min-height:620px;display:grid;place-items:center;align-content:center;gap:12px;color:#737069;text-align:center;padding:24px}.empty-state p{max-width:320px;line-height:1.6}.script-view{padding:16px;display:grid;gap:14px}.script-title{display:grid;gap:6px}.script-title h3{font-size:20px;line-height:1.35}.script-title p{color:#8a6428;font-weight:800}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.segment-list{display:grid;gap:10px}.segment-card{border:1px solid #ebe6db;border-radius:8px;padding:12px;display:grid;gap:8px;background:#fffdf8}.segment-card strong{color:#223b32}.segment-card p{color:#3e403c;line-height:1.6}.segment-card small{color:#8a6428;font-weight:800}.caption-table{border-top:1px solid #ebe6db;display:grid}.caption-table div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #f0ece4}.caption-table time{color:#777066;font-size:12px}.caption-table span{line-height:1.5}.status-panel header{justify-content:flex-start}.icon-button{margin-left:auto;width:30px;height:30px;border-radius:7px;border:1px solid #ded8cb;background:#fff;display:grid;place-items:center}.audit-box{margin:16px;padding:14px;min-height:78px;border:1px solid #e2ddd2;border-radius:8px;display:flex;gap:12px;align-items:flex-start;background:#fffdf8}.audit-box.ok{border-color:#bfd8ca;background:#f2faf5;color:#1d6047}.audit-box.warn{border-color:#e3bd86;background:#fff8ec;color:#8a4d16}.audit-box strong{display:block;margin-bottom:4px}.audit-box p{color:inherit;opacity:.84;line-height:1.5;overflow-wrap:anywhere}.job-list{padding:0 16px 16px;display:grid;gap:10px}.empty-jobs,.job-card{border:1px solid #ebe6db;border-radius:8px;background:#fffdf8}.empty-jobs{min-height:100px;display:grid;place-items:center;align-content:center;gap:8px;color:#777066}.job-card{padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.job-card p{color:#777066;margin-top:4px}.job-card>span{color:#8a6428;font-weight:800}.job-card a{grid-column:1 / -1;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;color:#14251f;background:#edf3ef;text-decoration:none;font-weight:800}@media (max-width: 1180px){.app-shell{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}.grid-layout{grid-template-columns:1fr 1fr}.status-panel{grid-column:1 / -1}}@media (max-width: 760px){.sidebar{grid-template-columns:1fr}.workbench{padding:16px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{justify-content:stretch}.toolbar-actions button{flex:1 1 130px}.grid-layout,.field-row,.caption-table div{grid-template-columns:1fr}.preview-panel{min-height:auto}}
