:root{--night:#0c0f0d;--night-hi:#141510;--ink:#e6e3d5;--ink-soft:#bdbaa9;--ink-dim:#8f8d7f;--gold:#bfa263;--gold-soft:#d9c08a;--gold-deep:#9a8455;--gold-glow:#d9c08a59;--hair:#e6e3d51a}*{box-sizing:border-box}body{background:var(--night);color:var(--ink);margin:0;font-family:ui-sans-serif,system-ui,sans-serif}.page{flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex}.page h1{letter-spacing:.02em;color:var(--gold-soft);margin:0;font-size:2rem}.lede{color:var(--ink-soft);margin:0}.featured{flex-wrap:wrap;gap:.75rem;display:flex}.featured-button,.repo-form button,.controls button,.downloads button{background:var(--night-hi);color:var(--ink);border:1px solid var(--hair);cursor:pointer;border-radius:.4rem;padding:.5rem 1rem}.featured-button:hover,.repo-form button:hover,.controls button:hover,.downloads button:hover{border-color:var(--gold-deep);color:var(--gold-soft)}.featured-button:focus-visible,.repo-form button:focus-visible,.controls button:focus-visible,.downloads button:focus-visible,.repo-form input:focus-visible,.token-disclosure input:focus-visible,.token-disclosure summary:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow);outline:none}.featured-button:disabled,.repo-form button:disabled{opacity:.5;cursor:not-allowed}.repo-form{flex-wrap:wrap;gap:.5rem;display:flex}.repo-form input{background:var(--night-hi);min-width:16rem;color:var(--ink);border:1px solid var(--hair);border-radius:.4rem;flex:1;padding:.5rem .75rem}.token-disclosure{border:1px solid var(--hair);color:var(--ink-soft);border-radius:.4rem;padding:.75rem 1rem}.token-disclosure summary{cursor:pointer;color:var(--gold)}.token-disclosure p{margin:.75rem 0;font-size:.9rem}.token-disclosure input{background:var(--night-hi);width:100%;color:var(--ink);border:1px solid var(--hair);border-radius:.4rem;padding:.5rem .75rem}.error,.truncation-notice{color:var(--gold-soft);border-left:2px solid var(--gold-deep);margin:0;padding-left:.75rem}.progress{color:var(--ink-dim);margin:0}.progress:empty{display:none}.plate{flex-direction:column;gap:1rem;display:flex}.canvas-wrap{aspect-ratio:3/2;border:1px solid var(--hair);background:var(--night);border-radius:.4rem;width:100%;overflow:hidden}.canvas-wrap canvas{width:100%;height:100%;display:block}.controls,.downloads{flex-wrap:wrap;gap:.75rem;display:flex}
