:root{--bg:#f6f7fa;--fg:#172238;--muted:#758093;--line:#e3e7ef;--card:#fff;--accent:#4b64e7;--soft:#eef0ff;--danger:#c43e4e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:hover{color:var(--accent)}header{background:#ffffffec;border-bottom:1px solid var(--line)}nav{max-width:1440px;min-height:72px;padding:12px 40px;display:flex;align-items:center;gap:35px;margin:auto}.brand{font-size:17px;font-weight:750;letter-spacing:.08em;color:var(--accent);white-space:nowrap}.brand span{font-size:14px;letter-spacing:0;font-weight:500;color:var(--fg);margin-left:20px;padding-left:20px;border-left:1px solid var(--line)}.links{display:flex;gap:24px;color:var(--muted)}.account{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:12px}.account span{background:var(--soft);padding:7px 12px;border-radius:20px}main{max-width:1440px;padding:0 40px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:end;padding:48px 0 32px;gap:20px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.12em;font-weight:650;margin:0 0 8px}.intro h1{font-size:clamp(25px,2.9vw,38px);line-height:1.35;letter-spacing:-.04em;margin:0 0 12px}.intro p:last-child{color:var(--muted);margin:0}.intro-tag{font-size:12px;white-space:nowrap;color:var(--muted);padding-bottom:4px}.intro-tag span{padding:0 8px;color:#adb5c5}.workspace{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(340px,1fr);gap:28px;align-items:start}.composer{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-heading h2{font-size:16px;margin:0}.step{width:25px;height:25px;display:grid;place-items:center;color:var(--accent);background:var(--soft);border-radius:8px;font-size:10px;font-weight:700}.second{border-top:1px solid var(--line);padding-top:26px;margin-top:26px}label{display:block;font-size:12px;margin:15px 0 6px;color:#556077}input,textarea,select{width:100%;border:1px solid var(--line);background:#fbfcfe;border-radius:9px;padding:11px 13px;color:var(--fg);outline:none}input::placeholder,textarea::placeholder{color:#a0a8b8}input:focus,textarea:focus,select:focus{border-color:#8999f2;box-shadow:0 0 0 3px var(--soft)}textarea{min-height:105px;resize:vertical;line-height:1.7}.source{min-height:170px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:39px;padding:9px 17px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:13px;white-space:nowrap;line-height:1.4}.button:hover{border-color:#a8b3f2}.button.small{font-size:12px;padding:7px 13px;min-height:32px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 3px 8px #4b64e719}.button.primary:hover{background:#3f55d2}.text-button{border:0;background:none;color:var(--accent);font-size:11px;margin-left:auto;padding:0}details{margin-top:18px}summary{color:#67748a;font-size:12px;cursor:pointer}summary span{color:#a0a8b8;font-size:11px;margin-left:6px}.file-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.file-row label{margin:8px 0;cursor:pointer}fieldset{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme{position:relative;display:block;margin:0;border:1.5px solid var(--line);border-radius:10px;padding:6px;cursor:pointer;color:var(--fg);transition:border-color .15s,box-shadow .15s}.theme:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--soft)}.theme:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.theme input{position:absolute;opacity:0;width:1px;height:1px}.swatch{height:60px;border-radius:5px;padding:12px;display:flex;flex-direction:column;gap:5px;overflow:hidden}.swatch i{display:block;border-radius:2px;background:var(--swatch-accent);height:5px;width:68%;opacity:.9}.swatch i:first-child{height:10px;width:47%}.swatch i:last-child{width:32%;opacity:.45}.theme-name{display:block;font-size:11px;font-weight:600;margin:6px 3px 0}.theme-description{display:block;color:var(--muted);font-size:9px;margin:0 3px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note{font-size:11px;line-height:1.75;color:var(--muted);margin:12px 0 0}.generate-footer{display:flex;gap:24px;align-items:center;padding-top:22px;margin-top:20px;border-top:1px solid var(--line)}.generate-footer .note{margin:0;flex:1}.generate-footer .button{padding:13px 20px}.message{font-size:12px;line-height:1.6;margin-top:10px;color:var(--accent);overflow-wrap:anywhere}.message:empty{display:none}.message.error{color:var(--danger)}.library-heading{display:flex;align-items:center;justify-content:space-between;padding:3px 0 18px}.library-heading h2{font-size:20px;margin:0}.library-heading .eyebrow{font-size:10px;margin-bottom:3px}.empty{border:1px dashed #d7ddeb;border-radius:16px;padding:48px 20px;text-align:center;background:linear-gradient(135deg,#fff9,#f0f2ff88)}.empty-icon{width:58px;height:58px;border:1px solid #e3e6fa;border-radius:15px;display:grid;place-items:center;margin:0 auto 16px;background:white;color:#9ba6e4;font-size:35px;box-shadow:0 8px 18px #4b64e70a}.empty h3{font-size:15px;font-weight:550;margin:0 0 10px}.empty p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.how{margin-top:26px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#ffffff70}.how h3{font-size:12px;margin:0 0 15px;font-weight:600}.how p{color:var(--muted);font-size:12px;margin:10px 0}.how b{font-size:10px;color:#7785c7;background:#e9ecfa;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;margin-right:9px}.jobs{display:grid;gap:13px}.job{display:grid;grid-template-columns:94px minmax(0,1fr);gap:16px;background:var(--card);padding:16px;border:1px solid var(--line);border-radius:13px}.job-thumb{aspect-ratio:4/3;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:12px;font-weight:650;font-size:11px;line-height:1.6;overflow:hidden;overflow-wrap:anywhere;text-align:center}.job h3{font-size:14px;font-weight:600;margin:0 0 5px;overflow-wrap:anywhere}.job-meta{font-size:10px;color:var(--muted)}.job-actions{display:flex;align-items:center;gap:9px;margin-top:10px}.status{font-size:11px;color:var(--accent)}.job-error{font-size:11px;color:var(--danger);margin-top:8px}.status.failed{color:var(--danger)}.status::before{content:'';width:5px;height:5px;display:inline-block;border-radius:50%;background:currentColor;margin-right:5px}.job-action{font-size:11px;color:var(--accent);border:0;background:transparent;padding:0;cursor:pointer}.spin{width:14px;height:14px;display:inline-block;border:2px solid #ffffff40;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center;color:#8993a3;font-size:11px;padding:36px 20px 26px}footer a{text-decoration:underline;text-underline-offset:3px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;width:min(430px,calc(100% - 32px));color:var(--fg);background:var(--card);box-shadow:0 20px 100px #17223830}dialog::backdrop{background:#17223877;backdrop-filter:blur(4px)}dialog h2{margin:0 0 20px;font-size:22px}dialog .primary{width:100%;margin-top:22px}.close{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--muted);font-size:24px}#preview-dialog{width:min(1100px,calc(100% - 32px));max-height:92vh}#preview-dialog img{width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:1100px){.intro-tag{display:none}.workspace{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:20px}nav,main{padding-left:24px;padding-right:24px}.composer{padding:22px}fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.workspace{grid-template-columns:1fr}.intro{padding-top:30px}.library{margin-top:10px}nav .links{display:none}.brand span{margin-left:12px;padding-left:12px}.intro h1{font-size:28px}nav,main{padding-left:18px;padding-right:18px}.composer{padding:20px}.how{display:none}}@media(max-width:420px){nav{gap:12px}.brand{font-size:14px}.brand span{font-size:12px}.account{gap:6px}.account span{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-footer{gap:12px}.generate-footer .button{padding:12px 15px}.row{gap:10px}fieldset{gap:7px}.theme-description{font-size:8px}.theme-name{font-size:10px}.intro h1{font-size:25px}}

.file-row{flex-wrap:wrap}.file-row #import-source{margin:8px 0}.file-row #file-name{min-width:0;overflow-wrap:anywhere}
