.m-app{--m-tabbar-h:60px;--m-safe-b:env(safe-area-inset-bottom,0px);--m-safe-t:env(safe-area-inset-top,0px);background:var(--bg);min-height:100dvh;color:var(--text);-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.m-app .m-num,.m-app .font-mono{font-variant-numeric:tabular-nums}.m-screen{padding-bottom:calc(var(--m-tabbar-h) + var(--m-safe-b));min-height:100dvh}.m-tabbar{height:calc(var(--m-tabbar-h) + var(--m-safe-b));padding-bottom:var(--m-safe-b);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--edge);z-index:40;position:fixed;bottom:0;left:0;right:0}.m-scrollbar-hide{scrollbar-width:none}.m-scrollbar-hide::-webkit-scrollbar{display:none}.m-sheet-backdrop{z-index:60;background:#0000008c;animation:.16s ease-out m-fade;position:fixed;inset:0}.m-sheet{z-index:61;background:var(--panel);border-top:1px solid var(--edge);max-height:calc(100dvh - 48px);padding-bottom:var(--m-safe-b);border-radius:18px 18px 0 0;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) m-rise;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #00000073}.m-overlay{z-index:50;background:var(--bg);animation:.22s cubic-bezier(.2,.8,.2,1) m-slide-in;position:fixed;inset:0;overflow-y:auto}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes m-slide-in{0%{opacity:0;transform:translate(6%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.m-sheet,.m-sheet-backdrop,.m-overlay{animation:none}}.m-card-art{aspect-ratio:733/1024;background:var(--panel-2);border-radius:8px;overflow:hidden}.m-card-art img{object-fit:contain;width:100%;height:100%;display:block}.m-touch{min-width:44px;min-height:44px}.m-skel{background:linear-gradient(90deg, var(--panel-2) 25%, var(--edge) 50%, var(--panel-2) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite m-shimmer}@keyframes m-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.m-skel{animation:none}}.m-hidden-value{filter:blur(7px);-webkit-user-select:none;user-select:none}
