:root{color-scheme:light;--purple:#7657d6;--ink:#272139;--muted:#858093;--line:#eae6f1;--bg:#f7f6fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;background:var(--purple);color:white;border-radius:9px;padding:10px 20px;font-weight:600;transition:background .15s}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}button.subtle{background:transparent;color:var(--muted)}a{color:var(--purple)}aside{position:fixed;inset:0 auto 0 0;width:232px;background:white;border-right:1px solid var(--line);padding:32px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:25px;font-weight:700}.brand svg{width:42px;height:42px;stroke:var(--purple);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted)}.nav-label{font-size:11px;color:#aaa3b7;margin:52px 12px 14px}nav{display:grid;gap:8px}nav button{text-align:left;background:transparent;color:#81798f;padding:13px 18px;font-weight:500}nav button.active{background:#f0ebfd;color:#6946cd;font-weight:650}.aside-note{margin-top:auto;font-size:12px;line-height:2;padding:24px 4px;color:#6d637f}.aside-note small{color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:#59aa89;border-radius:50%;margin-right:5px}main{margin-left:232px;max-width:1680px;padding:40px 48px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--purple);font-weight:650}h1{font-size:29px;letter-spacing:-.7px;margin:8px 0 4px}h2{font-size:18px;margin:0 0 10px}h3{font-size:15px;margin:0 0 8px}p{margin:8px 0 16px}header p,.muted{color:var(--muted)}.panel{padding:26px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:22px}.tinted{background:linear-gradient(130deg,#f4efff,#fff);border-color:#e9e0fb}.badge{display:inline-block;font-size:11px;padding:4px 9px;border-radius:6px;background:#e9e1fb;color:#7754ca;margin-bottom:18px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:22px 0}.metric{padding:21px;background:white;border:1px solid var(--line);border-radius:12px}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;margin:8px 0 4px;font-size:30px;line-height:1.4;font-weight:650;letter-spacing:-1px}.metric small{font-size:10px;color:var(--muted)}.two-columns{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.filters,.section-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filters input,.filters select{width:auto;max-width:210px}.section-toolbar{margin-bottom:20px}.section-toolbar p{flex:1;margin:0}.section-toolbar select{max-width:280px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.four{grid-template-columns:repeat(4,1fr)}label{display:block;color:#72687e;font-size:12px;margin-bottom:14px}.form-grid label{margin:0}label.wide{grid-column:1/-1}input,select{display:block;margin-top:7px;width:100%;border:1px solid #ded8e8;background:#fff;border-radius:8px;padding:10px 12px;outline:none;color:var(--ink)}input:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7657d615}input[type=color]{height:44px;padding:4px}input[type=checkbox]{width:auto;margin:0;accent-color:var(--purple)}label.checkbox{display:flex;align-items:center;gap:9px;padding-top:20px}.editor-layout{display:grid;grid-template-columns:minmax(450px,1.35fr) minmax(320px,1fr);gap:26px}.preview-column{align-self:start;position:sticky;top:24px}.preview-label{font-size:13px;font-weight:600;padding:6px 0 12px}.preview-label span{float:right;color:var(--muted);font-size:11px;font-weight:400}#installer-preview{position:relative;background:linear-gradient(125deg,#dc8cda,#7055bf);aspect-ratio:640/460;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px #5b408522;margin-bottom:25px;color:white;text-align:center}#preview-background{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(.7)}.preview-content{position:relative;height:100%;padding:7% 5%;display:flex;align-items:center;flex-direction:column;justify-content:center}.preview-brand{font-size:31px;font-weight:700;margin-bottom:7%}.preview-content h2{font-size:20px;font-weight:500}.preview-content p{font-size:12px;opacity:.85}.preview-content button{margin-top:8%;background:#ffc95b;color:#663c12;border-radius:5px;padding:11px 34px}.preview-content{display:block;padding:0}.preview-brand{position:absolute;top:9%;left:0;right:0;margin:0}.preview-content h2{position:absolute;top:34%;left:5%;right:5%;margin:0;font-size:clamp(14px,1.4vw,20px)}.preview-content p{position:absolute;top:48%;left:5%;right:5%;margin:0}.preview-content button{position:absolute;top:67%;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}.preview-content small{position:absolute;bottom:5%;left:0;right:0;margin:0;padding:0;font-size:9px;opacity:.8}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.upload-tile{border:1px dashed #cfc3e7;border-radius:9px;padding:18px;color:var(--ink)}.upload-tile span{display:block;color:var(--muted);font-size:10px;margin-top:6px}.upload-tile input{font-size:10px;padding:6px}.asset-list{display:grid;gap:9px}.asset{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:9px}.asset img{width:74px;height:50px;object-fit:cover;border-radius:5px}.asset input{margin:0;flex:1;min-width:0}.asset button{padding:6px 10px;font-size:11px;background:#f3eff9;color:#6b548a}.asset span{flex:1;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:var(--muted);padding:12px 10px;background:#faf9fc;white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid #f0edf5;vertical-align:middle}td button,td a{font-size:11px;margin-right:8px}td small{display:block;color:#bd576b;max-width:320px;word-break:break-all}.state{display:inline-block;border-radius:5px;padding:3px 8px;background:#f0ebf7;color:#8c75ae;white-space:nowrap}.state.ready{background:#e9f5ee;color:#408566}.state.failed{background:#fcecf0;color:#b75c72}.empty{padding:38px;text-align:center;color:#aaa1b6}#notice{padding:13px 18px;border-radius:9px;background:#eee8ff;color:#6f4bbb;margin-bottom:20px;white-space:pre-wrap}#notice.error{background:#ffedf0;color:#a94659}#login{max-width:600px;margin:50px auto}footer{display:flex;justify-content:space-between;color:#aaa2b7;font-size:11px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:1100px){main{padding:30px 24px}.metrics{grid-template-columns:repeat(3,1fr)}.editor-layout,.two-columns{grid-template-columns:1fr}.preview-column{position:static;max-width:600px}.form-grid.four{grid-template-columns:1fr 1fr}}@media(max-width:760px){aside{position:static;width:auto;padding:18px;display:block;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand small,.nav-label,.aside-note,#logout{display:none}nav{display:flex;overflow:auto;margin-top:14px;gap:5px}nav button{white-space:nowrap;padding:8px 10px;font-size:12px}main{margin:0;padding:22px 16px}header{gap:12px}h1{font-size:25px}.metrics{grid-template-columns:1fr 1fr}.filters>*{flex:1;min-width:120px}.form-grid,.uploads{grid-template-columns:1fr}.panel{padding:20px}.form-grid .wide{grid-column:auto}footer{gap:20px}}
