:root{color-scheme:dark;--bg:#080e17;--panel:#101a27;--line:#344456;--ink:#f0f4f7;--muted:#b0bfcb;--accent:#85e1e9;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:16px}
canvas[data-device="chalk"],canvas[data-device="gabbro"]{border-radius:50%}
*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:40px 24px}header{margin-bottom:32px;max-width:720px}h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.045em;line-height:1.05;margin:10px 0 16px}h2{font-size:1.1rem;margin:0 0 20px}p{line-height:1.6}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.preview-panel,.controls{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:0}.preview-stage{display:grid;place-items:center;min-height:410px;margin:20px 0;padding:16px;background:#080b10;border-radius:12px}canvas{display:block;max-width:100%;height:auto}canvas[data-device="venu2s"]{border-radius:50%}.caption{font-size:.88rem;color:var(--muted);line-height:1.55}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:.94rem}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}button,select,input,textarea{font:inherit}button,select,textarea,input[readonly]{color:var(--ink);background:#0a121e;border:1px solid var(--line);border-radius:8px}button,select,input[readonly]{min-height:44px;padding:10px 12px}select{width:100%}button{cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#07151b;font-weight:650;border-color:var(--accent)}:focus-visible{outline:3px solid #f6c875;outline-offset:4px}input[type="checkbox"],input[type="radio"]{accent-color:var(--accent);width:20px;height:20px;flex-shrink:0}fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}legend{padding:0;margin-bottom:12px;font-size:.94rem}.recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.recipes legend{grid-column:1/-1}.recipes label{display:flex;gap:6px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:12px 6px;min-height:70px;cursor:pointer}.recipes label:has(input:checked){border-color:var(--accent);background:#152c38}.recipes strong,.recipes small{display:block}.recipes small{font-size:.75rem;color:var(--muted);margin-top:4px}.recipes input{width:16px;height:16px;margin:2px 0}.check{display:flex;align-items:center;gap:10px;min-height:44px;line-height:1.4;cursor:pointer}.details{display:flex;flex-wrap:wrap;gap:0 20px}.details legend{width:100%}.apply{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}#feedback:empty{display:none}#feedback{color:var(--accent)}details{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}summary{padding:14px 0;cursor:pointer;min-height:44px}textarea{resize:vertical;width:100%;padding:12px;min-height:110px;line-height:1.5}input[readonly]{width:100%;font-family:ui-monospace,monospace;font-size:.85rem}details .field{margin-top:16px}.error,.notice{border-left:3px solid #f6c875;background:#251f17;color:#ffdeb1;padding:12px;font-size:.9rem}.error{color:#ffd0c9;border-color:#ffb5a8;background:#2a1b1d}footer{color:var(--muted);font-size:.85rem;max-width:720px;margin-top:32px}[hidden]{display:none!important}
.material-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.material-swatch{width:52px!important;height:20px!important;flex:0 0 52px;border:1px solid var(--line);border-radius:4px;background:#080b10}.material-help{margin-top:-10px}
@media(max-width:780px){main{padding:24px 16px}.studio{grid-template-columns:1fr;gap:20px}.preview-panel,.controls{padding:20px}.preview-stage{min-height:0;padding:16px;margin:16px 0}canvas{max-height:320px;width:auto;max-width:100%}header{margin-bottom:24px}.section-heading{flex-wrap:wrap}}
@media(max-width:370px){main{padding:20px 12px}.preview-panel,.controls{padding:16px}.pair{grid-template-columns:1fr;gap:0}.recipes{gap:5px}.recipes label{flex-direction:column;padding:10px 7px}.recipes small{font-size:.7rem}}
