:root{--paper:#efede6;--ink:#292b27;--orange:#fa722c;--grey:#737670}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper);color:var(--ink)}
body{font:10px/1.5 "SFMono-Regular",Consolas,Menlo,monospace;letter-spacing:.08em}
main{position:fixed;inset:0}.field{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.83;pointer-events:none}
.brand{position:absolute;left:28px;top:24px;font:700 20px/1 Arial,sans-serif;letter-spacing:-.08em}.brand span{color:var(--orange)}
.edition{position:absolute;right:28px;top:26px;color:var(--grey);font-size:11px;letter-spacing:.12em}
.transport{position:absolute;z-index:2;pointer-events:auto;bottom:24px;right:28px;text-align:right}
#status{min-height:20px;color:#6a6b65;font-size:9px;max-width:460px;letter-spacing:.11em;margin:0 0 15px}
.buttons{display:flex;gap:10px;justify-content:center;padding:7px;border:1px solid #cfcbc1;border-radius:8px;background:#efede6ec;box-shadow:0 5px 30px #3533280c}
button{font:600 11px/1 "SFMono-Regular",Consolas,Menlo,monospace;letter-spacing:.16em;cursor:pointer;border:1px solid transparent;border-radius:4px;padding:16px 40px;min-width:120px;color:var(--ink);background:#dfded6}
#go{background:var(--orange);border-color:var(--accent-border,#d96629)}#stop{color:var(--paper);background:#363832}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.prototype-label{position:absolute;bottom:24px;left:28px;font-size:10px;letter-spacing:.12em;color:var(--grey)}
.brand{white-space:pre}
body[data-fullscreen="true"] .transport{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
body[data-inverse="true"]{--paper:#181a17;--ink:#dcdfd2;--grey:#a1a69a}
body[data-inverse="true"] #status{color:#a1a69a}
body[data-inverse="true"] .buttons{background:#181a17ec;border-color:#484d42;box-shadow:none}
body[data-inverse="true"] button{background:#34382f}
body[data-inverse="true"] #go{background:var(--orange);color:#292b27}
body[data-inverse="true"] #stop{color:#dcdfd2;background:#34382f}
body[data-inverse="true"] .inverse-option{border-color:#484d42}
@media(max-width:600px){.brand{left:18px;top:18px}.edition{right:18px;top:20px;font-size:9px}.transport{right:18px;bottom:42px;max-width:calc(100% - 36px)}.buttons{gap:6px}button{padding:13px 12px;min-width:72px;font-size:9px}#status{font-size:8px}.prototype-label{left:18px;bottom:20px;font-size:9px}.field{object-fit:cover}}

#mixer,#colour{min-width:80px;padding-left:18px;padding-right:18px}
#mixer[aria-expanded="true"],#colour[aria-expanded="true"]{border-color:var(--orange)}
#mixer-panel,#colour-panel{position:absolute;right:0;bottom:calc(100% + 12px);display:flex;gap:12px;padding:16px 18px 12px;border:1px solid #cfcbc1;border-radius:8px;background:#efede6f5;box-shadow:0 5px 30px #3533280c}
#mixer-panel[hidden],#colour-panel[hidden]{display:none}
.mixer-channel{display:flex;flex-direction:column;align-items:center;gap:8px;width:56px;color:var(--grey);font-size:9px;letter-spacing:.11em}
.mixer-channel input{writing-mode:vertical-lr;direction:rtl;width:44px;height:132px;margin:0;cursor:pointer;accent-color:var(--orange);touch-action:none}
.mixer-channel input:focus-visible{outline:1px solid var(--orange);outline-offset:3px;border-radius:4px}
.mixer-channel output{color:var(--ink);font-size:9px;font-variant-numeric:tabular-nums}
body[data-inverse="true"] #mixer-panel,body[data-inverse="true"] #colour-panel{background:#181a17f5;border-color:#484d42;box-shadow:none}
@media(max-width:600px){.buttons{flex-wrap:wrap;justify-content:flex-end}button{min-width:0;padding:13px 7px;letter-spacing:.1em;white-space:nowrap}#mixer,#colour{min-width:0;padding:13px 7px}#mixer-panel,#colour-panel{gap:8px;padding:14px 16px 10px}.mixer-channel input{height:124px}}

#colour-panel{flex-direction:column;width:280px;text-align:left}
#palette-options{display:grid;grid-template-columns:1.5fr 1fr;gap:0 8px;margin:0;padding:0;border:0;font-size:9px;letter-spacing:.08em;color:var(--grey)}
#palette-options label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;white-space:nowrap}
#palette-options input{margin:0;accent-color:var(--orange)}
#palette-options input:checked+span{color:var(--ink)}
#palette-options .inverse-option{grid-column:1/-1;border-top:1px solid #cfcbc1}
#palette-options input:focus-visible{outline:1px solid var(--orange);outline-offset:3px}
.vibrance-control{display:grid;grid-template-columns:1fr auto;align-items:center;font-size:9px;letter-spacing:.11em;color:var(--grey)}
.vibrance-control output{color:var(--ink);font-variant-numeric:tabular-nums}
.vibrance-control input{grid-column:1/-1;width:100%;height:44px;margin:0;cursor:pointer;accent-color:var(--orange);touch-action:none}
.vibrance-control input:focus-visible{outline:1px solid var(--orange);outline-offset:3px;border-radius:4px}
body[data-inverse="true"] #palette-options .inverse-option{border-color:#484d42}
@media(max-width:600px){#colour-panel{width:min(280px,calc(100vw - 36px))}}
@media(max-width:360px){.edition{max-width:calc(100% - 184px)}}
