:root{--ink:#2b2420;--ink-soft:#7b6f66;--panel:#fffcf7bd;--panel-border:#ffffffd9;--panel-shadow:0 1px 0 #fff9 inset, 0 18px 50px -12px #5c402647;--chip:#2b24200f;--chip-on:#2b2420;--chip-on-ink:#fffaf2;--accent:#e2733f;--radius:18px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-time=dusk]{--ink:#3a2320;--ink-soft:#8a605a;--panel:#fff4ecb3}:root[data-time=night]{--ink:#f4f0ff;--ink-soft:#a8acd0;--panel:#1c213e9e;--panel-border:#ffffff1f;--panel-shadow:0 1px 0 #ffffff14 inset, 0 18px 50px -12px #00000080;--chip:#ffffff14;--chip-on:#f6d58b;--chip-on-ink:#1f2744;--accent:#f6d58b}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background:#efe4d2;margin:0;font-family:Inter,SF Pro Text,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#app,#app canvas{touch-action:none;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hud{pointer-events:none;transition:color .8s;position:fixed;inset:0}.hud>*,.dock>*{pointer-events:auto}.hud:before{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#5a3c1e21 100%);position:absolute;inset:0}:root[data-time=night] .hud:before{background:radial-gradient(120% 90% at 50% 45%,#0000 50%,#05081973 100%)}.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.3);border-radius:var(--radius);transition:background .8s,border-color .8s}.icon-btn{width:28px;height:28px;color:var(--ink-soft);border-radius:9px;place-items:center;transition:background .2s;display:grid}.icon-btn:hover{background:var(--chip)}.brand{pointer-events:none;position:absolute;top:26px;left:30px}.brand h1{letter-spacing:.01em;margin:0;font-size:clamp(20px,2vw,26px);font-weight:850;line-height:1}.brand p{color:var(--ink-soft);letter-spacing:.02em;margin:6px 0 0;font-size:12px}.status{text-align:left;cursor:default;border-radius:999px;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;padding:9px 16px 9px 11px;display:grid;position:absolute;top:20px;right:20px}.status-icon{background:var(--chip);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.status-icon svg{width:20px;height:20px}.status-main{flex-direction:column;line-height:1.2;display:flex}.status-main b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:750}.status-main span{color:var(--ink-soft);font-size:11.5px}.status-more{max-height:0;color:var(--ink-soft);transition:max-height .35s var(--ease), margin .35s var(--ease);grid-column:1/-1;font-size:11px;line-height:1.5;overflow:hidden}.status:hover .status-more,.hud.status-open .status-more{max-height:40px;margin-top:6px}.hud.status-open .status{border-radius:var(--radius)}.dock{pointer-events:none;flex-direction:column;align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.toolbar{border-radius:999px;align-items:center;gap:3px;padding:5px;display:flex}.toolbar button{white-space:nowrap;height:38px;transition:background .25s, color .25s, transform .2s var(--ease), box-shadow .25s;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;display:flex;position:relative}.toolbar button:hover{transform:translateY(-1px)}.toolbar button.on{background:var(--chip-on);color:var(--chip-on-ink)}.toolbar button[data-action=mute]{padding:0 11px}.toolbar .sep{background:var(--chip);filter:brightness(.6);width:1px;height:22px;margin:0 4px}.badge{background:var(--accent);color:#fff;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-style:normal;font-weight:750;display:grid}:root[data-time=night] .badge{color:#1f2744}.hud.carrying .toolbar [data-drop=box]{box-shadow:0 0 0 2px var(--accent) inset;animation:nudge 1s var(--ease) infinite}.hud.carrying .toolbar [data-drop=box]:hover{background:var(--accent);color:#fff}@keyframes nudge{50%{transform:translateY(-3px)}}.hints{color:var(--ink-soft);letter-spacing:.02em;pointer-events:none;margin:0;font-size:11.5px}.hud.carrying .hints:after{content:" · R to rotate · Esc to cancel"}.box{transform-origin:bottom;width:min(520px,100vw - 24px);max-height:min(52vh,420px);transition:opacity .3s var(--ease), transform .4s var(--ease), background .8s;flex-direction:column;display:flex;position:absolute;bottom:96px;left:50%;overflow:hidden;transform:translate(-50%)}.hud:not(.box-open) .box{opacity:0;pointer-events:none;transform:translate(-50%,12px)scale(.97)}.box-head{align-items:center;gap:12px;padding:12px 12px 10px 16px;display:flex}.box-head b{align-items:center;gap:7px;font-size:13.5px;display:flex}.tabs{background:var(--chip);border-radius:99px;gap:3px;margin-left:auto;padding:3px;display:flex}.tabs button{border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .25s,color .25s}.tabs button.on{background:var(--chip-on);color:var(--chip-on-ink)}.box-grid{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:2px 14px 12px;display:grid;overflow-y:auto}.card{background:var(--chip);text-align:center;transition:transform .2s var(--ease), background .2s;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;font-size:11.5px;font-weight:600;line-height:1.25;display:flex}.card i{font-size:26px;font-style:normal;line-height:1.1}.card em{color:var(--ink-soft);font-size:10px;font-style:normal;font-weight:500}.card:hover{background:#e2733f24;transform:translateY(-2px)}.card.dim{opacity:.55}.empty{color:var(--ink-soft);text-align:center;grid-column:1/-1;margin:6px 0 4px;font-size:12.5px;line-height:1.6}.box-foot{border-top:1px solid var(--chip);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;padding:9px 14px 12px;font-size:11.5px;display:flex}.link{color:var(--ink-soft);border-radius:9px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.link svg{width:14px;height:14px}.link:hover{background:var(--chip);color:var(--ink)}.info{opacity:0;width:min(340px,100vw - 32px);transition:opacity .3s var(--ease), transform .4s var(--ease), background .8s;gap:14px;padding:16px 44px 16px 16px;display:flex;position:absolute;bottom:24px;left:24px;transform:translateY(10px)scale(.98)}.info.show{opacity:1;transform:none}.info-close{position:absolute;top:10px;right:10px}.info-emoji{background:var(--chip);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.info h2{margin:2px 0 4px;font-size:15px;font-weight:750}.info p{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.5}.info .info-msg{color:var(--accent);margin-top:8px;font-weight:600}.info-actions{gap:6px;margin-top:10px;display:flex}.info-actions[hidden]{display:none}.info-actions button{background:var(--chip);border-radius:99px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:600;transition:background .2s;display:flex}.info-actions svg{width:14px;height:14px}.info-actions button:hover{background:#e2733f29}.toast{color:#fffaf2;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .3s var(--ease), transform .4s var(--ease);background:#2b2420e0;border-radius:99px;padding:9px 16px;font-size:12.5px;font-weight:600;position:absolute;top:22px;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}.tooltip{color:#fffaf2;white-space:nowrap;pointer-events:none;background:#2b2420e0;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;position:fixed;top:0;left:0;box-shadow:0 6px 20px #0000002e}.loader{color:#7b6f66;transition:opacity .9s var(--ease), visibility .9s;background:#efe4d2;place-content:center;justify-items:center;gap:10px;font-size:13px;display:grid;position:fixed;inset:0}.loader-house{font-size:44px;animation:1.1s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-8px)rotate(-4deg)}}.hud.ready .loader{opacity:0;visibility:hidden}.hud:not(.ready) .brand,.hud:not(.ready) .dock,.hud:not(.ready) .status{opacity:0}.brand,.dock,.status{transition:opacity .8s .3s,background .8s,border-color .8s,border-radius .3s}@media (width<=720px){.brand{top:18px;left:18px}.brand p{display:none}.status{column-gap:8px;padding:6px 12px 6px 7px;top:12px;right:12px}.status-icon{width:28px;height:28px}.toolbar button span{display:none}.toolbar button{padding:0 11px}.toolbar button .badge{position:absolute;top:-3px;right:-3px}.hints{display:none}.dock{bottom:12px}.box{max-height:58vh;bottom:70px}.box-head b{display:none}.tabs{margin-left:0}.box-head .icon-btn{margin-left:auto}.info{bottom:70px;left:12px}.hud.box-open .info{display:none}.toast{top:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
