:root{--paper:#f5f4ef;--surface:#fff;--ink:#202421;--muted:#6d746f;--line:#d8dcd7;--accent:#297c68;--accent-2:#e0efe9;--danger:#a54136;--shadow:0 16px 40px rgba(31,40,35,.12)}
.fixed-setting{display:flex;align-items:center;justify-content:space-between;margin:12px 0;color:var(--muted);font-size:12px}.fixed-setting b{color:var(--ink);font-size:12px}.slide-list .slide-card{width:164px}.slide-card-top canvas{width:92px;height:47px}.stage-shell canvas{outline:1px solid #cfd4cf;outline-offset:0}
.device-check{display:flex;align-items:center;gap:9px;margin:8px 0}.device-check .button{padding:6px 10px;font-size:12px}.target-state{font-size:12px;color:var(--muted)}.target-state.online{color:var(--accent);font-weight:600}.target-state.offline{color:var(--danger)}
.wifi-dialog{width:min(520px,calc(100vw - 32px))}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-head h1{margin-bottom:0}.connect-steps{margin:20px 0;padding:14px 14px 14px 34px;background:#f5f6f3;border-left:3px solid var(--accent);color:var(--muted);font-size:12px}.connect-steps li+li{margin-top:6px}.connect-steps code{background:#e8ede9;padding:1px 4px;color:var(--ink)}.wifi-actions{display:flex;align-items:center;gap:8px;margin:14px 0}.wifi-actions .target-state{margin-left:auto}.wifi-result{min-height:38px;margin:10px 0;color:var(--muted);font-size:12px}.wifi-result.success{color:var(--accent);font-weight:600}.wifi-result.error{color:var(--danger)}.check.compact{margin:4px 0 8px}.wifi-fallback{margin:14px 0 0!important;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.wifi-fallback code{background:#eef1ee;padding:1px 3px}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.45 Inter,"Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.topbar{height:68px;padding:0 22px;display:flex;align-items:center;gap:24px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:#fff;font:700 18px serif}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:var(--muted);margin-top:1px}.device-state{display:flex;align-items:center;gap:8px;color:var(--muted);margin-right:auto}.dot{width:8px;height:8px;border-radius:50%;background:#aeb4b0}.dot.online{background:#3a9b72}.top-actions{display:flex;gap:8px}.button{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:4px;font-weight:600}.button:hover{border-color:#aeb8b1}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:#236d5b}.button.wide{display:flex;justify-content:center;width:100%;padding:11px}.button:disabled{opacity:.5;cursor:not-allowed}.quiet{background:transparent}.file-button{position:relative;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.workspace{height:calc(100vh - 230px);min-height:510px;display:grid;grid-template-columns:210px minmax(420px,1fr) 230px}.left-panel,.right-panel{background:var(--surface);padding:18px;border-right:1px solid var(--line);overflow:auto}.right-panel{border-right:0;border-left:1px solid var(--line)}h2{font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin:2px 0 12px;color:#59615c}.tool-row{width:100%;display:flex;align-items:center;gap:10px;padding:9px 8px;margin-bottom:4px;border:0;background:transparent;text-align:left;border-radius:3px}.tool-row:hover{background:#f0f2ef}.tool-icon{display:grid;place-items:center;width:27px;height:27px;border:1px solid #bfc5c1;font-weight:700}.section-head{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.section-head h2{margin:0}.text-action{border:0;background:transparent;padding:3px;color:var(--accent);font-size:12px}.text-action.danger{color:var(--danger)}.field{display:grid;gap:5px;margin:12px 0}.field span{color:var(--muted);font-size:12px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:7px;border-radius:3px}.field input[type=range]{padding:0;accent-color:var(--accent)}.check{display:flex;gap:8px;align-items:center;margin:12px 0}.check input{accent-color:var(--accent)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.stage-area{min-width:0;display:flex;flex-direction:column}.stage-toolbar,.stage-status{height:44px;padding:0 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#fafaf7}.stage-toolbar .hint{color:var(--muted);font-size:12px;margin-left:auto}.icon-button{border:1px solid var(--line);background:#fff;width:29px;height:29px;border-radius:3px}.stage-shell{flex:1;display:grid;place-items:center;overflow:auto;padding:24px;background-image:linear-gradient(#e5e7e3 1px,transparent 1px),linear-gradient(90deg,#e5e7e3 1px,transparent 1px);background-size:20px 20px}.stage-shell canvas{background:#fff;image-rendering:pixelated;box-shadow:var(--shadow);touch-action:none}.stage-status{height:36px;border-top:1px solid var(--line);border-bottom:0;justify-content:space-between;color:var(--muted);font-size:11px}.empty-state{padding:30px 8px;text-align:center;color:var(--muted);border:1px dashed var(--line)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.microcopy{color:var(--muted);font-size:11px}.timeline{height:162px;background:#fff;border-top:1px solid var(--line);padding:12px 18px}.timeline-head{display:flex;align-items:center;justify-content:space-between}.timeline-head strong{margin-right:10px}.timeline-head span{color:var(--muted);font-size:12px}.slide-list{display:flex;gap:10px;overflow-x:auto;padding-top:10px}.slide-card{width:122px;flex:0 0 auto;border:1px solid var(--line);padding:6px;background:#fff;cursor:pointer}.slide-card.active{border:2px solid var(--accent);padding:5px}.slide-card canvas{width:54px;height:76px;object-fit:contain;background:#fff;border:1px solid #e2e4e1;image-rendering:pixelated}.slide-card-top{display:flex;gap:7px}.slide-meta{min-width:0}.slide-meta b{display:block;font-size:12px}.slide-meta label{display:block;color:var(--muted);font-size:10px;margin-top:6px}.slide-meta input{width:45px;border:1px solid var(--line);padding:2px}.slide-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:5px}.slide-actions button{border:0;background:transparent;color:var(--muted);padding:1px;font-size:11px}.gate{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:rgba(31,36,33,.62);backdrop-filter:blur(4px)}.gate.hidden{display:none}.gate-dialog{width:min(460px,calc(100vw - 32px));background:#fff;padding:32px;box-shadow:var(--shadow)}.step-tag{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.06em}.gate h1{font-size:26px;margin:8px 0}.gate p{color:var(--muted)}.backup-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:20px 0}.backup-facts span{padding:10px;border-right:1px solid var(--line);font-size:11px}.backup-facts span:last-child{border:0}.backup-facts b{display:block;color:var(--ink);font-size:12px}.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:12px 0}.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}.progress{margin:16px 0;padding:12px;background:#eef4f1}.progress i{display:block;height:3px;background:var(--accent);animation:pulse 1.3s ease-in-out infinite}.progress span{display:block;margin-top:8px;font-size:12px}@keyframes pulse{0%{width:8%}50%{width:78%}100%{width:100%}}.backup-result{padding:12px;margin:14px 0;border-left:3px solid var(--accent);background:var(--accent-2);font-size:12px;word-break:break-all}.error{min-height:20px;color:var(--danger)!important;font-size:12px}.toast{position:fixed;right:18px;bottom:18px;z-index:20;background:#252a27;color:#fff;padding:11px 15px;box-shadow:var(--shadow);transform:translateY(90px);transition:.2s}.toast.show{transform:none}@media(max-width:900px){.workspace{grid-template-columns:170px 1fr}.right-panel{display:none}.top-actions .quiet{display:none}.brand{min-width:auto}.device-state{display:none}}@media(max-width:620px){.left-panel{display:none}.workspace{grid-template-columns:1fr;height:calc(100vh - 230px)}.topbar{padding:0 12px}.stage-toolbar .hint{display:none}}
