:root{--bg:#0b0f14;--panel:#151b23;--panel-2:#1d2530;--text:#e8edf2;--muted:#8b98a7;--accent:#3b82f6;--ok:#16a34a;--warn:#d97706;--bad:#dc2626;--radius:14px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);cursor:pointer;border:1px solid #2a3442;border-radius:10px;min-height:44px;padding:.6rem .9rem}button.primary{background:var(--accent);border-color:#0000;font-weight:600}button.danger{color:#fca5a5}button:disabled{opacity:.5}input,select,textarea{background:var(--bg);border:1px solid #2a3442;border-radius:10px;width:100%;min-height:44px;padding:.55rem .7rem}textarea{resize:vertical;min-height:64px}label{color:var(--muted);gap:.25rem;font-size:.8rem;display:grid}h1,h2,h3{margin:0}.screen{padding:calc(var(--safe-t) + 1rem) 1rem calc(76px + var(--safe-b));gap:.9rem;max-width:560px;margin:0 auto;display:grid}.card{background:var(--panel);border-radius:var(--radius);gap:.7rem;padding:.9rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row>.grow{flex:1;min-width:0}.grid2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.muted{color:var(--muted);font-size:.85rem}.chip{background:var(--panel-2);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;display:inline-block}.chip.green{background:var(--ok)}.chip.early{background:var(--warn)}.chip.late,.chip.before-aim{background:var(--bad)}.tabs{padding-bottom:var(--safe-b);background:#0f151c;border-top:1px solid #1f2833;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:0;place-items:center;gap:2px;min-height:56px;font-size:.75rem;display:grid}.tabs button.active{color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.banner{border-radius:var(--radius);background:#1e3a5f;gap:.5rem;padding:.8rem;display:grid}.error{color:#fca5a5;font-size:.85rem}
