*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--surface:#1a1a1a;--surface-2:#242424;--border:#2e2e2e;--text:#d0d0d0;--text-dim:#666;--text-faint:#3a3a3a;--accent:#5a7a6a;--accent-dim:#3a5a4a;--danger:#7a4a4a;--radius:10px;--radius-sm:6px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}html,body,#root{height:100dvh}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:16px;line-height:1.5}#root{flex-direction:column;max-width:480px;margin:0 auto;display:flex;position:relative;overflow:hidden}button{font-family:var(--font);cursor:pointer;color:inherit;background:0 0;border:none}input{font-family:var(--font);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:.6rem .75rem;font-size:1rem}input:focus{border-color:var(--accent)}.scroll-area{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.card{background:var(--surface);border-radius:var(--radius);padding:1rem}.bottom-nav{border-top:1px solid var(--border);background:var(--surface);padding-bottom:var(--safe-bottom);display:flex}.bottom-nav button{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;flex:1;align-items:center;gap:3px;padding:.75rem 0;font-size:.7rem;transition:color .15s;display:flex}.bottom-nav button.active{color:var(--accent)}.bottom-nav button svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.seg-control{background:var(--surface-2);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.seg-control button{color:var(--text-dim);border-radius:4px;flex:1;padding:.4rem 0;font-size:.8rem;transition:background .15s,color .15s}.seg-control button.active{background:var(--surface);color:var(--text)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
