:root{--bg: #0b0d10;--bg-elevated: #12151a;--bg-card: #161a21;--border: #252a33;--text: #e8eaed;--text-muted: #9aa0a6;--accent: #6b9fff;--accent-dim: #3d5a80;--success: #3dd68c;--danger: #f07178;--radius: 12px;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100dvh}body{background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:.6rem 1rem}button.primary{background:var(--accent);border-color:var(--accent);color:#0b0d10;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.65rem .85rem}input:focus,textarea:focus{outline:2px solid var(--accent-dim);border-color:var(--accent)}.muted{color:var(--text-muted)}.center-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.section-title{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem}.app-shell{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto}.app-header{position:sticky;top:0;z-index:20;background:#0b0d10eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-main{flex:1;padding:1rem 1rem calc(4.5rem + var(--safe-bottom))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:560px;margin:0 auto;display:flex;background:#12151af5;border-top:1px solid var(--border);padding:.4rem .5rem calc(.4rem + var(--safe-bottom))}.bottom-nav a{flex:1;text-align:center;padding:.55rem .25rem;color:var(--text-muted);font-size:.78rem;font-weight:500;border-radius:10px}.bottom-nav a.active{color:var(--accent);background:#6b9fff1a}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;align-items:center;gap:.5rem}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.badge.active{color:var(--success);border-color:#3dd68c59}.empty-state{text-align:center;padding:2rem 1rem;color:var(--text-muted)}
