:root{--bg-0: #0b0e1a;--bg-1: #11162a;--glass: rgba(255,255,255,.07);--glass-strong: rgba(255,255,255,.12);--glass-border: rgba(255,255,255,.16);--text-0: hsl(220 30% 96%);--text-1: hsl(220 15% 70%);--accent: hsl(205 100% 62%);--danger: hsl(0 85% 64%);--ok: hsl(145 70% 55%);--radius: 18px;--shadow-glass: 0 8px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08)}*{box-sizing:border-box}body{margin:0;color:var(--text-0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 800px at 20% -10%,#1c2447 0%,var(--bg-0) 55%) fixed;min-height:100dvh}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}.glass:active{background:var(--glass-strong);transition:background .12s ease}button.glass{color:var(--text-0);padding:10px 16px;font-size:15px;cursor:pointer}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:6px;padding:8px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));z-index:10}.tabbar .tab{flex:1;text-align:center;font-size:11px;padding:8px 4px}.tab.active{outline:2px solid var(--accent)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));max-width:720px;margin:0 auto}.page{padding:8px 12px calc(110px + env(safe-area-inset-bottom));max-width:720px;margin:0 auto}.warn{color:var(--danger)}.good{color:var(--ok)}.muted{color:var(--text-1)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.confirm-backdrop{animation:confirm-fade-in .28s cubic-bezier(.22,1,.36,1) both}.confirm-sheet{animation:confirm-slide-up .38s cubic-bezier(.22,1,.36,1) both}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-up{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
