:root{--bg:#f5f6f2;--surface:#fff;--surface-2:#eef2ec;--text:#202422;--muted:#657069;--line:#d7ddd4;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#d7f0ec;--danger:#b42318;--warn:#8a6116;--shadow:0 16px 40px #262d2a17;--radius:8px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 14px;transition:background .18s,border-color .18s,color .18s;display:inline-flex}button:hover{border-color:var(--accent);background:var(--accent-soft)}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0f766e47}h1,h2,p{margin:0}.app-shell{width:min(1500px,100%);min-height:100svh;margin:0 auto;padding:20px}.app-shell.dragging-image{outline:3px dashed var(--accent);outline-offset:-12px}.topbar{justify-content:space-between;align-items:end;gap:16px;padding:4px 0 18px;display:flex}.topbar>div:first-child{margin-right:auto}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:13px;display:block}h1{margin-top:4px;font-size:clamp(28px,4vw,42px);font-weight:760;line-height:1.08}h2{font-size:16px;font-weight:720;line-height:1.2}.mode-badge,.language-switch,.github-link{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;color:var(--accent-strong);align-items:center;gap:8px;padding:8px 14px;font-weight:720;display:inline-flex}.language-switch{gap:4px;padding:4px}.language-switch button{background:0 0;border-color:#0000;min-height:34px;padding:6px 10px}.language-switch button.active{border-color:var(--accent);background:var(--accent);color:#fff}.github-link{color:var(--text);text-decoration:none}.github-link:hover{border-color:var(--accent);color:var(--accent-strong)}.github-mark{flex:none;width:20px;height:20px}.workspace{grid-template-columns:minmax(320px,410px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.controls{gap:12px;display:grid}.panel,.preview-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:14px}.guide-panel ul{color:var(--muted);gap:8px;margin:0;padding-left:18px;font-size:13px;line-height:1.55;display:grid}.guide-panel li::marker{color:var(--accent)}.section-title,.panel-title{color:var(--text);align-items:center;gap:8px;display:flex}.section-title{margin-bottom:12px}.button-grid,.action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.action-row{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));position:sticky;bottom:12px}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:720}.primary-button:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.hidden-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.panel-title small{color:var(--muted);font-size:12px;line-height:1.35}.input-hint{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.45}.control,.seed-row label,.parameter-code,.copy-toggle{color:var(--muted);gap:7px;margin-top:12px;font-size:13px;display:grid}.copy-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:1fr auto;align-items:center;padding:10px}.copy-toggle span{gap:2px;display:grid}.copy-toggle strong{color:var(--text)}.copy-toggle small{line-height:1.35}.copy-toggle input{width:22px;height:22px;accent-color:var(--accent)}.control span{justify-content:space-between;align-items:center;gap:10px;display:flex}.control b{color:var(--text);font-size:12px;font-weight:760}.control input[type=range]{width:100%;accent-color:var(--accent)}.seed-row input,.parameter-code textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:42px;color:var(--text);background:#fff;padding:9px 10px}.parameter-code textarea{resize:vertical;min-height:82px;line-height:1.45}.seed-row{grid-template-columns:1fr 48px;align-items:end;gap:8px;display:grid}.mode-switch{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.mode-switch button{background:0 0;border-color:#0000}.mode-switch button.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:720}.hint-line{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.45}.preview-grid{grid-template-columns:1fr;gap:18px;min-width:0;display:grid}.preview-panel{min-width:0;overflow:hidden}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;min-height:48px;padding:0 14px}.panel-title span{margin-right:auto;font-weight:720}.preview-frame{background-color:#0000;background-image:linear-gradient(45deg,#e8ede8 25%,#0000 25%),linear-gradient(-45deg,#e8ede8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e8ede8 75%),linear-gradient(-45deg,#0000 75%,#e8ede8 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;place-items:center;display:grid}.progress-panel{z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:8px;padding:12px;display:grid;position:sticky;bottom:12px}.progress-header{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.progress-header strong{color:var(--text)}.progress-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.preview-frame img{width:auto;max-width:100%;height:auto;display:block}.empty-preview{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:#fffc;padding:12px 16px}.preview-frame:has(.empty-preview){min-height:220px}@media (width<=1180px){.workspace{grid-template-columns:1fr}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row,.progress-panel{position:static}}@media (width<=760px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:stretch}.mode-badge,.language-switch,.github-link,.controls,.preview-grid{grid-template-columns:1fr;width:100%}.github-link,.language-switch,.mode-badge{justify-content:center}.preview-frame:has(.empty-preview){min-height:180px}}
