:root{--primary:#000;--primary-hover:#1a1c1b;--secondary:#5d5f5d;--secondary-hover:#454746;--accent:#ff6b6b;--background:#fbf9f3;--surface:#fbf9f3;--foreground:#171717;--text-muted:#5d5f5d;--border:#c4c7c7;--success:#22c55e;--error:#ef4444;--warning:#f59e0b;--font-sans:"Hanken Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--font-display:"Hanken Grotesk", sans-serif;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-glow:0 0 15px #0ea5e94d}@media (prefers-color-scheme:dark){:root{--background:#0f172a;--surface:#1e293b;--foreground:#f8fafc;--text-muted:#94a3b8;--border:#334155;--primary:#38bdf8;--primary-hover:#0ea5e9;--secondary:#34d399;--secondary-hover:#10b981;--accent:#fbbf24;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080}}*{box-sizing:border-box;margin:0;padding:0}html,body{scroll-behavior:smooth;max-width:100vw;overflow-x:hidden}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none;transition:color .2s}button{font-family:var(--font-sans);cursor:pointer}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff3}@media (prefers-color-scheme:dark){.glass{background:#1e293bb3;border:1px solid #ffffff0d}}.hover-lift{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}input,textarea,select{font-family:var(--font-sans);background:var(--surface);border:1px solid var(--border);color:var(--foreground);border-radius:var(--radius-md);padding:.75rem 1rem;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0ea5e933}.mobile-frame{background-color:var(--surface);flex-direction:column;width:100%;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 50px #0000000d}@media (min-width:481px){.mobile-frame{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.bottom-nav{background-color:var(--surface);border-top:1px solid var(--border);width:100%;max-width:480px;padding:.75rem 0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:50;justify-content:space-around;display:flex;position:fixed;bottom:0}.bottom-nav-item{color:var(--text-muted);font-family:var(--font-mono,"JetBrains Mono", monospace);text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.25rem;font-size:.65rem;transition:color .2s;display:flex}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--primary)}.top-nav{-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:50;background-color:#fbf9f3e6;justify-content:space-between;align-items:center;width:100%;padding:1rem;display:flex;position:sticky;top:0}.btn{border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-accent{background-color:var(--accent);color:#fff;box-shadow:0 4px 14px #ff6b6b4d}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ff6b6b66}.btn-outline{border:1px solid var(--border);color:var(--primary);background-color:#0000}.btn-outline:hover{background-color:var(--surface-container-low,#f5f4ed)}.badge{border-radius:var(--radius-sm);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.25rem .6rem;font-size:.65rem;font-weight:700;display:inline-flex}.badge-primary{background-color:var(--primary);color:#fff}.badge-subtle{color:var(--text-muted);background-color:#0000000d}.input-base{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface);width:100%;font-family:var(--font-sans);color:var(--foreground);padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-base:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0000001a}.input-base::placeholder{color:var(--text-muted)}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.flex-row{flex-direction:row;display:flex}.card-surface{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.15rem;display:flex}.card-summary{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.sticky-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;align-items:center;gap:1rem;padding:1rem;display:flex;position:sticky;top:56px}.sticky-bottom-bar{background:var(--surface);border-top:1px solid var(--border);z-index:40;flex-direction:column;gap:.5rem;width:100%;max-width:480px;margin:0 auto;padding:.85rem 1.25rem;display:flex;position:fixed;bottom:56px;left:0;right:0;box-shadow:0 -4px 12px #00000014}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}
