:root{--spw-accent:#c9a84c;--spw-accent-soft:#d8c67d;--spw-panel-tint:#18181f}
body.spw-ready{max-width:100%;overflow-x:hidden}
.spw-root{--spw-accent:#c9a84c;--spw-accent-soft:#d8c67d;--spw-panel-tint:#18181f;max-width:1480px;margin:0 auto;padding:18px clamp(12px,2.4vw,30px) 38px;color:#e8e7e4;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}
.spw-mobile-steps{display:none}
.spw-shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:18px;align-items:start}
.spw-sidebar{position:sticky;top:78px;padding:14px;border:1px solid #30303b;border-radius:14px;background:linear-gradient(160deg,var(--spw-panel-tint),#131319 56%);box-shadow:0 18px 48px rgba(0,0,0,.24)}
.spw-sidebar h2{margin:2px 4px 10px;color:#f2f0e9;font-size:13px}
.spw-step{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:11px 9px;border:0;border-top:1px solid #2b2b34;background:transparent;color:#aaa8ad;text-align:left;cursor:pointer;font:inherit}
.spw-step:first-of-type{border-top:0}
.spw-step strong{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #3b3a43;border-radius:8px;color:var(--spw-accent);font-size:11px}
.spw-step span{font-size:13px;font-weight:760}
.spw-step em{color:#6f6e76;font-size:10px;font-style:normal}
.spw-step:hover,.spw-step.active{border-radius:9px;background:#22222b;color:#fff}
.spw-step.active strong{border-color:var(--spw-accent);background:var(--spw-accent);color:#111}
.spw-step:focus-visible,.spw-view-btn:focus-visible,.spw-action:focus-visible,.spw-record-tab:focus-visible{outline:2px solid var(--spw-accent);outline-offset:2px}
.spw-summary{margin-top:12px;padding:12px;border:1px solid #2a2a34;border-radius:10px;background:#0f0f14}
.spw-summary>small{display:block;margin-bottom:8px;color:#77757e;font-size:10px;font-weight:800;letter-spacing:.12em}
.spw-student-grid{display:grid;gap:7px}
.spw-student-grid label{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;color:#918f96;font-size:10px}
.spw-student-grid input{min-width:0;padding:7px 8px;border:1px solid #33333c;border-radius:7px;background:#191920;color:#eee;font:inherit;font-size:11px}
.spw-student-grid input:focus{outline:2px solid color-mix(in srgb,var(--spw-accent) 36%,transparent);border-color:var(--spw-accent)}
.spw-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.spw-metrics span{padding:7px;border-radius:7px;background:#1b1b23;color:#777;font-size:10px}
.spw-metrics strong{display:block;margin-bottom:2px;color:var(--spw-accent-soft);font-size:16px}
.spw-main{min-width:0}
.spw-main,.spw-generator-host,.spw-capture,.spw-records,.spw-export-bar{scroll-margin-top:92px}
.spw-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:16px 18px;border:1px solid #30303a;border-left:4px solid var(--spw-accent);border-radius:12px;background:linear-gradient(135deg,var(--spw-panel-tint),#17171e 68%)}
.spw-kicker{margin:0 0 5px;color:var(--spw-accent-soft);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.spw-header h2{margin:0;color:#f5f3ed;font-size:clamp(20px,2.5vw,30px)}
.spw-header p{max-width:650px;margin:7px 0 0;color:#a19fa6;font-size:12px;line-height:1.65}
.spw-status-pill{flex:0 0 auto;padding:8px 11px;border:1px solid color-mix(in srgb,var(--spw-accent) 52%,#30303a);border-radius:999px;background:#121218;color:var(--spw-accent-soft);font-size:11px;font-weight:800}
.spw-briefs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.spw-brief{padding:14px 15px;border:1px solid #30303a;border-radius:11px;background:linear-gradient(145deg,#1b1b22,#15151b)}
.spw-brief small{display:block;margin-bottom:5px;color:#77757e;font-size:10px;font-weight:800;letter-spacing:.1em}
.spw-brief b{display:block;margin-bottom:5px;color:#eee9dc;font-size:14px}
.spw-brief p{margin:0;color:#97949c;font-size:12px;line-height:1.6}
.spw-view-switch{display:inline-flex;gap:5px;margin-bottom:14px;padding:5px;border:1px solid #30303a;border-radius:11px;background:#15151b}
.spw-view-btn{border:0;border-radius:8px;padding:9px 16px;background:transparent;color:#96949b;cursor:pointer;font:inherit;font-size:12px;font-weight:760}
.spw-view-btn.active{background:var(--spw-accent);color:#111}
.spw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:4px;padding:0 5px;border-radius:999px;background:#2d2d36;color:#bbb;font-size:10px}
.spw-view-btn.active .spw-badge{background:rgba(0,0,0,.2);color:#111}
.spw-generator-host{min-width:0}
.spw-generator-host>.container,.spw-generator-host>.wrap{width:100%!important;max-width:none!important;margin:0!important}
.spw-generator-host>.container{padding-left:0!important;padding-right:0!important}
.spw-generator-host>.wrap{padding-left:0!important;padding-right:0!important}
.spw-legacy-note{margin:10px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--spw-accent) 34%,#34343e);border-radius:9px;background:#17171e;color:#a5a2a9;font-size:11px;line-height:1.6}
.spw-capture{margin:14px 0 4px;padding:15px;border:1px solid color-mix(in srgb,var(--spw-accent) 56%,#34343e);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--spw-panel-tint) 72%,#15151b),#15151b)}
.spw-capture-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.spw-capture h3{margin:0;color:#f0eee9;font-size:15px}
.spw-capture p{margin:5px 0 0;color:#9c99a1;font-size:11px;line-height:1.6}
.spw-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0 4px}
.spw-context-grid .spw-field{margin:0}
.spw-capture-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.spw-action{border:1px solid #3a3943;border-radius:8px;padding:9px 12px;background:#23232b;color:#ddd;cursor:pointer;font:inherit;font-size:11px;font-weight:760}
.spw-action:hover{border-color:var(--spw-accent);color:#fff}
.spw-action.primary{border-color:var(--spw-accent);background:var(--spw-accent);color:#111}
.spw-action.good{border-color:#67b884;background:#234431;color:#d9f5e2}
.spw-action.danger{border-color:#673b41;background:#2b181d;color:#ed9aa6}
.spw-action[disabled]{cursor:not-allowed;opacity:.56}
.spw-product-variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.spw-product-variant{padding:12px;border:1px solid #34343e;border-top:3px solid var(--spw-group-color,var(--spw-accent));border-radius:9px;background:#17171e}
.spw-product-variant small{display:block;color:var(--spw-group-color,var(--spw-accent));font-weight:850}
.spw-product-variant b{display:block;margin:4px 0;color:#eee;font-size:13px}
.spw-product-variant p{max-height:148px;overflow:auto;margin:0;white-space:pre-wrap;color:#aaa;font-size:10px;line-height:1.55;word-break:break-word}
.spw-product-variant button{margin-top:9px}
.spw-records[hidden],.spw-generator-view[hidden]{display:none!important}
.spw-empty{padding:clamp(42px,7vw,72px) 20px;border:1px solid #30303a;border-radius:12px;background:#16161d;text-align:center}
.spw-empty b{display:block;margin-bottom:7px;color:#e7e5df;font-size:18px}
.spw-empty p{max-width:620px;margin:0 auto 18px;color:#85828b;font-size:12px;line-height:1.7}
.spw-record-nav{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:3px}
.spw-record-tab{flex:0 0 auto;min-width:142px;padding:9px 11px;border:1px solid #34343e;border-radius:9px;background:#18181f;color:#aaa;text-align:left;cursor:pointer;font:inherit}
.spw-record-tab b{display:block;color:#ddd;font-size:11px}
.spw-record-tab small{display:block;margin-top:3px;color:#6f6d75;font-size:9px}
.spw-record-tab.active{border-color:var(--spw-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--spw-accent) 35%,transparent)}
.spw-record-page{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:14px;align-items:start}
.spw-record-side{position:sticky;top:78px}
.spw-record-card{margin-bottom:12px;padding:14px;border:1px solid #30303a;border-radius:11px;background:#16161d}
.spw-record-card h3,.spw-record-card h4{margin:0 0 8px;color:#ece9df}
.spw-record-card h3{font-size:17px}.spw-record-card h4{font-size:13px;color:var(--spw-accent-soft)}
.spw-record-card p{margin:5px 0;color:#94919a;font-size:11px;line-height:1.6}
.spw-record-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 3px}
.spw-record-meta span{padding:5px 7px;border-radius:999px;background:#22222a;color:#aaa;font-size:9px}
.spw-upload-box{position:relative;display:flex;min-height:190px;align-items:center;justify-content:center;overflow:hidden;border:1px dashed #484751;border-radius:10px;background:#101015;color:#777;text-align:center}
.spw-upload-box img{display:block;width:100%;height:100%;max-height:320px;object-fit:contain;background:#0c0c10}
.spw-upload-box input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.spw-upload-box label,.spw-upload-box button.spw-upload-hit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:15px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:11px;line-height:1.5}
.spw-upload-box.has-image label,.spw-upload-box.has-image button.spw-upload-hit{background:linear-gradient(transparent 65%,rgba(0,0,0,.72));align-items:flex-end;color:#eee;opacity:0;transition:opacity .18s}
.spw-upload-box.has-image:hover label,.spw-upload-box.has-image:hover button.spw-upload-hit{opacity:1}
.spw-source-label{display:block;margin-bottom:7px;color:#ddd;font-size:12px;font-weight:800}
.spw-source-help{margin-top:7px!important;color:#75737b!important;font-size:10px!important}
.spw-group{margin-bottom:13px;padding:14px;border:1px solid #30303a;border-top:3px solid var(--spw-group-color);border-radius:11px;background:#15151b}
.spw-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.spw-group-title small{display:block;margin-bottom:3px;color:var(--spw-group-color);font-size:10px;font-weight:900;letter-spacing:.12em}
.spw-group-title b{color:#eee;font-size:15px}.spw-group-title p{margin:4px 0 0;color:#85828b;font-size:10px}
.spw-version-list{display:grid;gap:10px}
.spw-version{padding:11px;border:1px solid #30303a;border-radius:9px;background:#101016}
.spw-version.is-final{border-color:#67b884;box-shadow:0 0 0 2px rgba(103,184,132,.1)}
.spw-version-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.spw-version-top b{color:#ddd;font-size:12px}.spw-version-top span{color:#66646d;font-size:9px}
.spw-depth-1{margin-left:12px}.spw-depth-2{margin-left:24px}.spw-depth-3{margin-left:36px}
.spw-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}
.spw-figure{position:relative;min-height:170px;overflow:hidden;border:1px solid #2f2f38;border-radius:8px;background:#0d0d12}
.spw-figure figcaption{position:absolute;z-index:2;top:6px;left:6px;padding:3px 7px;border-radius:999px;background:rgba(8,8,11,.82);color:#ddd;font-size:9px}
.spw-figure img{display:block;width:100%;height:100%;min-height:170px;max-height:280px;object-fit:contain}
.spw-figure .spw-no-image{display:flex;min-height:170px;align-items:center;justify-content:center;padding:20px;color:#66646d;text-align:center;font-size:10px;line-height:1.5}
.spw-figure input{position:absolute;width:1px;height:1px;opacity:0}
.spw-figure label{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:10px;background:linear-gradient(transparent 64%,rgba(0,0,0,.74));color:#eee;cursor:pointer;font-size:10px;opacity:.25}
.spw-figure:hover label{opacity:1}
.spw-field{display:flex;flex-direction:column;gap:5px;margin-top:8px;color:#aaa;font-size:10px}
.spw-field textarea,.spw-field input,.spw-field select{width:100%;min-height:42px;padding:9px;border:1px solid #34343e;border-radius:8px;background:#15151c;color:#ddd;resize:vertical;font:inherit;font-size:11px;line-height:1.55}
.spw-field textarea:focus,.spw-field input:focus,.spw-field select:focus{outline:2px solid color-mix(in srgb,var(--spw-accent) 30%,transparent);border-color:var(--spw-accent)}
.spw-field .spw-prompt-edit{min-height:105px}
.spw-version-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.spw-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.spw-compare-grid .spw-field:nth-child(3),.spw-compare-grid .spw-field.full{grid-column:1/-1}
.spw-judge-hint{margin-bottom:9px!important;padding:9px 10px;border-left:3px solid var(--spw-accent);background:#111117;color:#aaa!important}
.spw-log summary{cursor:pointer;color:var(--spw-accent-soft);font-size:11px;font-weight:760}
.spw-log table{width:100%;margin-top:8px;border-collapse:collapse;color:#888;font-size:9px}
.spw-log td{padding:6px;border-top:1px solid #292932;vertical-align:top}
.spw-log td:first-child{width:112px;color:#666}
.spw-export-bar{position:sticky;z-index:20;bottom:10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;padding:10px;border:1px solid #373640;border-radius:12px;background:rgba(18,18,24,.95);backdrop-filter:blur(12px)}
.spw-export-bar b{margin-right:auto;color:#ded8c5;font-size:12px}
.spw-export-bar select{padding:8px;border:1px solid #3a3943;border-radius:8px;background:#22222a;color:#ccc;font-size:10px}
.spw-toast{position:fixed;z-index:100220;left:50%;bottom:24px;max-width:min(88vw,560px);padding:10px 14px;border:1px solid color-mix(in srgb,var(--spw-accent) 46%,#34343e);border-radius:9px;background:#17171e;color:#eee;font-size:11px;box-shadow:0 12px 35px rgba(0,0,0,.42);transform:translate(-50%,30px);opacity:0;pointer-events:none;transition:.2s}
.spw-toast.show{transform:translate(-50%,0);opacity:1}
.spw-modal{position:fixed;z-index:100210;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.74)}
.spw-modal.show{display:flex}
.spw-modal-card{width:min(920px,96vw);max-height:92vh;overflow:auto;padding:18px;border:1px solid #3a3943;border-radius:14px;background:#18181f;color:#eee;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.spw-modal-card h3{margin:0 0 4px}.spw-modal-card>p{margin:0 0 12px;color:#999;font-size:11px}
.spw-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:12px}
.spw-preview-item{padding:7px;border:1px solid #34343e;border-radius:8px;background:#101015}
.spw-preview-item img{display:block;width:100%;aspect-ratio:210/297;object-fit:contain;background:#fff}
.spw-preview-item b{display:block;margin-top:6px;color:#aaa;font-size:9px}
.spw-export-stage{position:fixed!important;z-index:-99999!important;left:-10000px!important;top:0!important;width:794px!important;pointer-events:none!important}
.spw-export-stage .ep{position:relative;box-sizing:border-box;width:794px;height:1123px;padding:54px 54px 42px;background:#fff;color:#202024;font-family:"PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden}
.spw-export-stage .ep-title{font-size:25px;font-weight:900;color:#202024}
.spw-export-stage .ep-sub{margin-top:5px;color:#666;font-size:11px}
.spw-export-stage .ep-rule{height:4px;margin:12px 0 16px;background:var(--spw-accent)}
.spw-export-stage .ep-body{overflow:hidden}
.spw-export-stage .ep-foot{position:absolute;right:54px;bottom:22px;left:54px;display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:7px;color:#777;font-size:9px}
.spw-ep-card{margin-bottom:10px;padding:12px;border:1px solid #d9d9dd;border-radius:8px;background:#fafafa;break-inside:avoid}
.spw-ep-card h3,.spw-ep-card h4{margin:0 0 6px;color:#202024}.spw-ep-card h3{font-size:16px}.spw-ep-card h4{font-size:12px}
.spw-ep-card p{margin:4px 0;color:#444;font-size:10px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.spw-ep-table{width:100%;border-collapse:collapse;font-size:9px}.spw-ep-table th,.spw-ep-table td{padding:6px;border:1px solid #d9d9dd;text-align:left;vertical-align:top}.spw-ep-table th{background:#f0f0f2}
.spw-ep-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.spw-ep-media{display:flex;min-height:180px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #ddd;background:#f3f3f3}.spw-ep-media img{display:block;max-width:100%;max-height:230px;object-fit:contain}.spw-ep-media span{color:#999;font-size:9px}
.spw-ep-label{display:inline-block;margin-bottom:5px;padding:3px 6px;border-radius:4px;background:#eee;color:#444;font-size:8px;font-weight:800}
.spw-ep-log td:first-child{width:108px}
@media(max-width:1000px){.spw-shell{grid-template-columns:1fr}.spw-sidebar{display:none}.spw-main,.spw-generator-host,.spw-capture,.spw-records,.spw-export-bar{scroll-margin-top:120px}.spw-mobile-steps{position:sticky;z-index:55;top:58px;display:flex;gap:6px;overflow:auto;margin-bottom:12px;padding:7px 1px;background:rgba(15,15,19,.94);scrollbar-width:none;backdrop-filter:blur(10px)}.spw-mobile-steps::-webkit-scrollbar{display:none}.spw-mobile-steps button{white-space:nowrap;padding:8px 11px;border:1px solid #34343e;border-radius:8px;background:#17171e;color:#aaa;font:inherit;font-size:11px}.spw-mobile-steps button.active{border-color:var(--spw-accent);background:var(--spw-accent);color:#111;font-weight:800}.spw-record-page{grid-template-columns:1fr}.spw-record-side{position:static}}
@media(max-width:760px){.spw-root{padding:10px}.spw-header{display:block;padding:13px}.spw-status-pill{display:inline-block;margin-top:10px}.spw-briefs{grid-template-columns:1fr}.spw-context-grid{grid-template-columns:1fr}.spw-product-variants{grid-template-columns:1fr}.spw-pair{grid-template-columns:1fr}.spw-compare-grid{grid-template-columns:1fr}.spw-compare-grid .spw-field:nth-child(3),.spw-compare-grid .spw-field.full{grid-column:auto}.spw-export-bar{position:static;display:grid;grid-template-columns:1fr 1fr}.spw-export-bar b{grid-column:1/-1}.spw-export-bar .spw-action.danger{grid-column:1/-1}.spw-capture-head{display:block}.spw-capture-actions{align-items:stretch}.spw-capture-actions .spw-action{flex:1}.spw-version-actions .spw-action{flex:1}.spw-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.spw-root{padding:8px}.spw-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}.spw-record-tab{min-width:126px}.spw-export-bar{grid-template-columns:1fr}.spw-export-bar b,.spw-export-bar .spw-action.danger{grid-column:auto}.spw-preview-grid{grid-template-columns:1fr}.spw-depth-1,.spw-depth-2,.spw-depth-3{margin-left:0}}
@media(prefers-reduced-motion:reduce){.spw-toast,.spw-upload-box label,.spw-figure label{transition:none!important}}
