:root{color-scheme:dark;font-family:Georgia,serif;background:#030105;color:#ece0fa}*{box-sizing:border-box}body{margin:0;overflow:hidden}#field{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}#status{position:fixed;left:0;right:0;top:46%;text-align:center;font:14px monospace;color:#d3b6eb;pointer-events:none}#status[hidden]{display:none}#controls{position:fixed;right:24px;bottom:24px;width:290px;max-height:calc(100dvh - 48px);overflow:auto;padding:22px;background:#120c1bec;border:1px solid #685078;border-radius:3px;box-shadow:0 15px 80px #0008}#controls[hidden]{display:none}header{display:flex;justify-content:space-between;gap:15px;font-size:14px}a{color:#ebcafa}header span{font-style:italic;color:#b78fca}p{font-size:18px;line-height:1.4;margin:24px 0}label{display:flex;justify-content:space-between;font-size:14px;margin:18px 0 8px}input,select{width:100%;accent-color:#db7bfb}input{min-height:24px}select,button{background:#261631;color:#eee0f7;border:1px solid #78588e;border-radius:3px;padding:10px;font:14px Georgia,serif}button{cursor:pointer}button:hover,a:hover{color:#ff93de}.actions{display:flex;gap:8px;margin:22px 0}.actions button{flex:1}.download{display:block;font-size:16px}small{display:block;line-height:1.5;font:13px/1.5 sans-serif;color:#b3a1bd;margin-top:12px}:focus-visible{outline:2px solid #ff93de;outline-offset:3px}body.quiet{cursor:none}@media(max-width:500px){#controls{right:12px;bottom:12px;max-height:calc(100dvh - 24px);width:min(290px,calc(100vw - 24px))}}

:root[data-appearance=light]{color-scheme:light;--wall-bg:#f1edf8;--wall-ink:#332643;--wall-muted:#63536f;--wall-mark:#773597;--wall-edge:#94829e;--wall-control:#e3d9ec}
:root[data-appearance=dark]{color-scheme:dark;--wall-bg:#120c1b;--wall-ink:#ece0fa;--wall-muted:#b3a1bd;--wall-mark:#ebcafa;--wall-edge:#78588e;--wall-control:#261631}
#controls{background:var(--wall-bg);color:var(--wall-ink);border-color:var(--wall-edge)}
#controls :is(a,header span){color:var(--wall-mark)}#controls small{color:var(--wall-muted)}
#controls :is(select,button){background:var(--wall-control);color:var(--wall-ink);border-color:var(--wall-edge)}
#controls input{accent-color:var(--wall-mark)}#controls :focus-visible{outline-color:var(--wall-mark)}
#appearanceControls{margin-top:16px}.appearance-toggle{display:flex;gap:4px}.appearance-toggle button{flex:1;padding:8px;font-size:13px}
#controls .appearance-toggle button[aria-pressed=true]{background:var(--wall-ink);color:var(--wall-bg)}
