:root{color-scheme:light;--paper: #eee9e1;--ink: #493a30;--muted: #8b8176;--accent: #9a5738;--glass: rgba(255, 252, 246, .92);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{position:relative;min-width:0}#stage{position:absolute;inset:0 0 68px;touch-action:none}#stage canvas{width:100%;height:100%;display:block;outline:none}#stage canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}#loading{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:1;font-size:12px;color:var(--muted);white-space:pre-line;text-align:center}#loading[hidden]{display:none}.toolbar{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:2;display:flex;gap:8px;max-width:calc(100% - 24px)}button,.download{display:inline-flex;justify-content:center;align-items:center;gap:9px;height:44px;border:1px solid rgba(89,63,42,.13);border-radius:14px;background:var(--glass);color:var(--ink);box-shadow:0 2px 8px #3c241409;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,transform .15s;-webkit-tap-highlight-color:transparent}button{appearance:none;padding:0 16px;font:inherit;font-size:12px;font-weight:500;white-space:nowrap}.download{width:44px;flex-shrink:0}svg{width:17px;height:17px}.pixel-icon{fill:currentColor;shape-rendering:crispEdges}.download svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:hover,.download:hover{background:#fffdf7}button:active,.download:active{transform:translateY(1px)}button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff4d9}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-height:450px){.toolbar{bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){button,.download{transition:none}}
