:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#2a1c28;--ink:#f6e7cf;--muted:#e7d3b8;--paper:#f6e7cf;--paper-ink:#2a2118;--clay:#c4654a;--gold:#e0a23a;font-family:Palatino,Iowan Old Style,Palatino Linotype,Georgia,serif}*{box-sizing:border-box}html,body{background:radial-gradient(800px 360px at 80% -10%, #6a3b42 0%, transparent 55%), var(--bg);min-height:100%;color:var(--ink);margin:0}body{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;background:#4a2e32;border:1px solid #f6e7cf59;border-radius:999px;min-height:44px;padding:.65rem 1rem}button.primary{background:var(--clay);color:#fff8ee;border-color:#e7a090}button.ready{box-shadow:0 0 0 3px #f0b4298c}button:disabled{opacity:1;color:#5a4636;cursor:not-allowed;background:#eadcc6;border-color:#d9c6a8}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.app{min-height:100dvh;padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.top{justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 4px 4px;display:flex}.eyebrow,.meta,.note,.sub,.keys,.reach{color:var(--muted);margin:0}h1,h2,h3,p{margin:0}h1{font-size:1.45rem;font-weight:600}.sub{max-width:40rem;margin-top:2px}.header-actions,.actions,.pair{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coins{color:var(--gold);margin:0}.basket{color:var(--paper);letter-spacing:.01em;margin:0 4px 8px}.layout{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.stage-wrap{aspect-ratio:16/9;background:#1d2430;border-radius:18px;width:min(960px,100%,177.778dvh - 497.778px);margin:0 auto;overflow:hidden;box-shadow:0 16px 40px #00000047}canvas{touch-action:none;width:100%;height:100%;display:block}body[data-phase=stall] .stage-wrap,body[data-phase=visit] .stage-wrap,body[data-phase=closed] .stage-wrap{aspect-ratio:16/7;width:min(960px,100%);max-height:280px}#panel{min-height:0}.note-card,.sheet,.card,dialog{background:var(--paper);color:var(--paper-ink);border-radius:16px}.note-card,.sheet,.card{padding:14px}.sheet{width:min(520px,100%);box-shadow:0 20px 50px #00000047}.sheet h2,dialog h2{margin:4px 0 8px;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.05}.sheet p,.card p,dialog li{line-height:1.4}.sheet p,.card p{margin-top:8px}.greet{font-style:italic}.stall-copy,.recipes{gap:10px;display:grid}.card h3{font-size:1.15rem}.price{align-items:center;gap:10px;margin-top:8px;display:flex}.price button{width:44px;height:44px;color:var(--paper-ink);background:#fff8ee;border-color:#e2c9a4;border-radius:50%;padding:0}.wide{width:100%}.actions{margin-top:12px}.actions button{flex:180px}.controls{padding:8px 4px max(12px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px;display:flex}body:not([data-phase=gather]) .controls{display:none}body[data-phase=title] #panel,body[data-phase=visit] #panel,body[data-phase=closed] #panel{z-index:4;background:#1c10166b;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}body[data-phase=stall] #panel{padding-bottom:16px;overflow:auto}body[data-phase=title] .basket{display:none}.stick{touch-action:none;background:#f6e7cf1a;border:1px solid #f6e7cf4d;border-radius:50%;flex:none;width:112px;height:112px;position:relative}.knob{background:#f6e7cf;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}.action-stack{flex-direction:column;flex:1;align-items:flex-end;gap:6px;display:flex}.pair button{min-width:132px}.keys{text-align:right}dialog{width:min(560px,100% - 24px);color:var(--paper-ink);border:0;padding:18px}dialog::backdrop{background:#0000008c}dialog ul{margin:8px 0 0;padding-left:1.1rem}dialog li{margin:.4rem 0}dialog button.primary{color:#fff8ee}.sheet ul{margin:8px 0 0;padding-left:1.1rem}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=900px){body[data-phase=stall] .layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch;display:grid}body[data-phase=stall] .stage-wrap{aspect-ratio:16/10;width:100%;max-height:none}body[data-phase=stall] #panel{max-height:calc(100dvh - 140px);overflow:auto}.recipes{grid-template-columns:1fr 1fr}}@media (width<=700px){.top{flex-direction:column}.keys{display:none}h1{font-size:1.25rem}.action-stack{align-items:stretch}.pair{grid-template-columns:1fr 1fr;display:grid}.pair button{min-width:0}}@media (width<=380px){.stick{width:96px;height:96px}}
