:root{font-family:Inter,'Segoe UI','Yu Gothic UI',sans-serif;color:#212827;background:#e9edeb;font-size:13px;--paper:#fafbf9;--line:#d7ddd9;--muted:#687570;--ink:#233e33;--accent:#325947}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden;display:grid;grid-template-rows:60px minmax(0,1fr)}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button{color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:3px;min-height:32px;padding:6px 11px;cursor:pointer}button:hover{background:#e4eae5}button:disabled,select:disabled{opacity:.45;cursor:wait}button.primary{background:var(--ink);border-color:var(--ink);color:#fff}a{color:var(--accent);text-underline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 20px;z-index:3}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--ink);font-size:15px;font-weight:650;letter-spacing:-2px;padding-right:2px}.brand strong{font-size:14px;letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px;letter-spacing:.08em}.header-actions{display:flex;gap:7px;align-items:center}.workspace{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:0}.workspace>aside{background:var(--paper);border-right:1px solid var(--line);overflow:auto;scrollbar-width:thin;padding:18px 18px 28px}h1{font-size:18px;line-height:1.4;margin:12px 0 5px;font-weight:600;letter-spacing:-.02em}p{line-height:1.65;margin:8px 0;color:var(--muted)}label{display:block;margin:10px 0 5px;font-size:12px}select{display:block;width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:inherit;margin:0;min-height:34px}input[type=range]{display:block;width:100%;accent-color:var(--ink);margin:8px 0 13px}input[type=checkbox]{accent-color:var(--ink);margin-right:6px}.axislabel{display:flex;align-items:center;justify-content:space-between}.axislabel strong,output{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.buttons{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.line{border-top:1px solid var(--line);margin:18px 0}.eyebrow{font-size:10px;letter-spacing:.08em;color:var(--muted)}.foot,small{font-size:11px;line-height:1.65;color:var(--muted)}details{border-top:1px solid var(--line);padding:13px 0 4px;margin-top:16px}details details{padding:7px 0;margin-top:8px;border-top:0}summary{font-size:12px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}summary::after{content:'+';color:var(--muted);font-size:16px;font-weight:400}details[open]>summary::after{content:'−'}.status{font-size:11px;padding:7px 0;color:var(--muted);border:0;border-radius:0}.light-state{font-size:11px;color:var(--muted);padding:7px 0}.color-row,.palette-row{display:flex;align-items:center;gap:7px;margin:10px 0}.color-row label,.palette-row label{flex:1;margin:0}.color-row input[type=color],.palette-row input[type=color]{width:31px;height:29px;padding:2px;border:1px solid var(--line);border-radius:3px;background:transparent}.color-row input[type=text],.palette-row input[type=text]{width:74px;min-width:0;padding:6px 4px;border:1px solid var(--line);border-radius:3px;font:11px ui-monospace,Consolas,monospace;background:var(--paper);color:inherit}input[aria-invalid=true]{outline:1px solid #b34b38}#stage{min-width:0;min-height:0;position:relative;overflow:hidden;background:#edf1f5}canvas{display:block;width:100%;height:100%}.view-tools{position:absolute;z-index:2;top:16px;left:16px;display:flex;gap:0;background:var(--paper)}.view-tools button{border-radius:0;border-right:0;min-width:44px;font-size:11px}.view-tools button:first-child{border-radius:3px 0 0 3px}.view-tools button:last-child{border-right:1px solid var(--line);border-radius:0 3px 3px 0}.view-meta{position:absolute;left:18px;right:18px;bottom:16px;display:flex;gap:12px;justify-content:space-between;font-size:10px;color:#62716a;pointer-events:none}#loading,#status.overlay{position:absolute;z-index:2;left:16px;top:64px;padding:8px 12px;background:var(--paper);border:1px solid var(--line);max-width:calc(100% - 32px);font-size:12px}#headNotes{display:none}#headStatus{font-size:11px}#configSummary{font-size:11px}#appearanceScope{display:none}.section{font-size:12px;font-weight:600;margin-top:12px}dialog{border:1px solid var(--line);border-radius:5px;padding:0;color:inherit;background:var(--paper);width:min(780px,calc(100vw - 32px));max-height:82dvh;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#15201b77;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 22px;position:sticky;top:0;background:var(--paper);z-index:1}.dialog-head h2{font-size:16px;font-weight:600;margin:0}.dialog-body{padding:12px 22px 24px;overflow:auto}.close{font-size:19px;border:0;padding:0 8px;min-height:28px}.source-item{padding:15px 0;border-bottom:1px solid var(--line)}.source-item strong{font-size:13px}.source-item p{font-size:12px;margin:4px 0}.source-item code{font:11px ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.notice{border-left:2px solid #b07d3c;padding:3px 12px;background:#a6804710;font-size:12px}.render-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.render-options label{margin-top:12px}#renderStatus{font-size:12px;min-height:20px}body.night{--paper:#151e1a;--line:#344239;--muted:#9aafa1;--ink:#92b29f;--accent:#accfba;color:#deebe3}body.night button.primary{background:#accfba;color:#172a20}body.night .view-meta{color:#8ea497}body.night #stage{background:#04070c}body.night .status{background:transparent!important;color:var(--muted)}body.night input{color-scheme:dark}:focus-visible{outline:2px solid #5e8e76;outline-offset:2px}@media(max-width:760px){header{padding:0 12px}.brand small{display:none}.header-actions{gap:4px}.header-actions button{font-size:11px;padding:5px 8px}.workspace{grid-template-columns:245px minmax(0,1fr)}.workspace>aside{padding:13px}h1{font-size:16px}}@media(max-width:540px){body{grid-template-rows:54px minmax(0,1fr)}header{gap:8px}.brand strong{font-size:12px}.brand-mark{display:none}.workspace{display:flex;flex-direction:column-reverse}.workspace>aside{flex:1;min-height:0;border-top:1px solid var(--line);border-right:0;padding:12px 18px}#stage{flex:0 0 46dvh}.view-meta .hint{display:none}.view-tools{top:10px;left:10px}h1{margin-top:8px}.render-options{grid-template-columns:1fr}.dialog-body{padding:12px 16px}.dialog-head{padding:12px 16px}.download-table td{padding:9px 4px}}

.missing-assets{position:absolute;inset:80px 28px 50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:580px;margin:auto;padding:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.missing-assets h2{font-size:21px;line-height:1.5;font-weight:500;margin:0 0 12px}.missing-assets p{font-size:13px}.missing-assets a{margin-top:12px}body[data-asset-status=missing] .view-tools{display:none}body[data-asset-status=missing] aside> :not(label):not(select):not(h1):not(.foot):not(.notice){opacity:.55;pointer-events:none}@media(max-width:540px){.missing-assets{inset:28px 20px 40px;padding:12px;max-width:100%}.missing-assets h2{font-size:18px}.missing-assets p{font-size:12px}}

.purchase-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 0 0}.purchase-link a{font-size:12px}.purchase-link small{font-size:10px}

.workbench-link{display:block;font-size:11px;padding:0 0 14px;text-decoration:none;border-bottom:1px solid var(--line);margin-bottom:15px}

[hidden]{display:none!important}.render-options input[type=number]{width:100%;min-height:34px;padding:7px 9px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:inherit}header .header-actions{flex-wrap:wrap}#showMachine{width:100%;margin-top:10px}

body{grid-template-rows:auto minmax(0,1fr)}header{min-height:60px;padding-top:8px;padding-bottom:8px}.header-actions{justify-content:flex-end}textarea{display:block;width:100%;resize:vertical;max-height:40vh;min-height:100px;padding:8px;border:1px solid var(--line);border-radius:3px;font:11px/1.5 ui-monospace,Consolas,monospace;color:inherit;background:var(--paper)}@media(max-width:540px){body{grid-template-rows:auto minmax(0,1fr)}header{min-height:54px}}
