:root{font-family:Arial,Helvetica,sans-serif;color:#dad9f1;background:#111321;--line:#37394e;--muted:#999bb5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,a,summary{outline-offset:5px}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #e9b4ef}button{cursor:pointer;font:inherit;border:1px solid var(--line);color:inherit;background:transparent;padding:11px 13px;border-radius:9px}button:hover{background:#25273c}button[aria-pressed=true]{background:#e1daef;color:#1d1e32}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px;font-size:12px}header>span{font:10px 'Courier New',monospace;letter-spacing:.15em;color:var(--muted)}.wordmark{font:italic 33px Georgia,serif;letter-spacing:-1.5px}.wordmark span{font:9px Arial;vertical-align:top;margin-left:3px}main{padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr) 305px}.stage{position:relative;min-height:675px;height:calc(100svh - 130px);max-height:1050px;background:#070817;overflow:hidden;border-radius:22px}canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.intro{position:absolute;top:32px;left:36px;pointer-events:none}.intro h1{font:normal clamp(50px,6vw,85px)/.95 Georgia,serif;letter-spacing:-4px;margin:0;color:#eeebfa}.intro p{font-size:12px;letter-spacing:.01em;color:#b8b3d3;margin-top:22px}.stage-foot{position:absolute;left:28px;right:28px;bottom:25px;display:flex;justify-content:space-between;align-items:center;gap:15px;pointer-events:none}.stage-foot span{font:9px 'Courier New',monospace;letter-spacing:.1em;color:#ada8c9}.stage-foot button{pointer-events:auto;font-size:11px;background:#17182dcc;backdrop-filter:blur(6px)}aside{padding:15px 6px 10px 30px;display:flex;flex-direction:column;gap:22px}h2{font:normal 32px/1.06 Georgia,serif;letter-spacing:-1px;margin:0}.lead{font-size:12px;line-height:1.7;color:var(--muted);margin:-10px 0 2px;max-width:240px}fieldset{border:0;padding:0;margin:0}legend,aside>label{font-size:12px;width:100%}legend{margin-bottom:11px}.palettes{display:flex;gap:6px}.palettes button{padding:8px 6px;font-size:10px;flex:1}.palettes i{display:block;height:25px;width:25px;border-radius:50%;margin:0 auto 7px}.moon{background:linear-gradient(135deg,#414afb,#8ff1f5,#f8a8dd)}.rose{background:linear-gradient(135deg,#da276b,#fbc6a7,#988eff)}.solar{background:linear-gradient(135deg,#dc601d,#eadd78,#48b4a4)}output{float:right;color:#c2b5ea;font-family:'Courier New',monospace}input[type=range]{width:100%;accent-color:#c8b9e8;margin:13px 0 0;height:15px;cursor:pointer}.buttons,.capture{display:flex;flex-direction:column;gap:8px;font-size:12px}.capture{border-top:1px solid var(--line);padding-top:19px;flex-direction:row}.capture button:first-child{background:#d1c4ec;color:#242438;flex:1}.capture button{font-size:11px;padding:11px 8px}#status{font-size:10px;line-height:1.5;color:var(--muted);margin:-10px 0 0}details{font-size:11px;line-height:1.6;color:var(--muted)}summary{cursor:pointer}footer{display:flex;justify-content:space-between;gap:16px;padding:20px 34px;color:var(--muted);font-size:10px}#error{position:absolute;inset:40% 10% auto;background:#29253e;padding:25px;border-radius:12px}#recording{padding:28px;max-width:750px}#recording video{display:block;width:100%;margin:18px 0;border-radius:14px}#recording a{font-size:12px}@media(max-width:900px){header>span{display:none}main{grid-template-columns:1fr 270px}.intro{left:24px}.intro h1{font-size:64px}.stage-foot{flex-direction:column;align-items:flex-start}aside{padding-left:20px}}@media(max-width:680px){header{height:72px;padding:0 22px;font-size:11px}.wordmark{font-size:29px}main{display:block;padding:0 12px}.stage{height:70svh;min-height:530px}.intro{top:28px}.intro h1{font-size:63px}.stage-foot{left:24px;bottom:22px;gap:12px}aside{display:grid;grid-template-columns:1fr 1fr;padding:30px 12px;gap:24px}aside>h2,aside>.lead,aside>fieldset,aside>.capture,aside>#status,aside>details{grid-column:1/-1}.lead{max-width:100%}.palettes button{padding:12px;font-size:12px}.palettes i{height:30px;width:30px}.buttons{grid-column:1/-1;flex-direction:row}.buttons button{flex:1}footer{padding:0 24px 24px;flex-direction:column;line-height:1.6}}

/* The live wall carries the visual idea; surrounding text names actions. */
header{height:76px;gap:16px}header h1{font:normal 28px/1.1 Georgia,serif;letter-spacing:-.8px;margin:0}header nav{font-size:12px;white-space:nowrap}header nav a{text-decoration:none}header nav a:hover{text-decoration:underline}.stage{height:calc(100svh - 140px);min-height:560px}aside{padding-top:10px;gap:24px}.stage-foot span{font:12px Arial,Helvetica,sans-serif;letter-spacing:0;color:#d4cfea}.capture{flex-direction:column;padding-top:20px}.capture button{font-size:12px}#status:empty{display:none}footer{font-size:12px;line-height:1.5;padding-top:18px;padding-bottom:22px}details p{margin:10px 0}#recording h2{font-size:24px}
@media(max-width:900px){main{grid-template-columns:1fr 270px}.stage{min-height:580px}}
@media(max-width:680px){header{height:72px;padding:0 22px}header h1{font-size:24px}header nav{font-size:11px}main{display:block}.stage{height:60svh;min-height:430px}aside{display:flex;padding:26px 12px;gap:24px}.stage-foot{left:24px;bottom:20px}.buttons,.capture{flex-direction:row}.buttons button,.capture button{flex:1;font-size:12px;padding:12px 7px}footer{padding:0 24px 24px;font-size:11px;gap:10px}}
