@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--accent:#20e8a6;--font:"Inter", sans-serif;--radius:8px;--transition:.2s ease}[data-theme=light]{--bg:#f7f5f2;--bg-secondary:#eceae6;--text:#1c1a18;--text-muted:#6b6560;--border:#e0dbd5}[data-theme=dark]{--bg:#1c1a18;--bg-secondary:#262422;--text:#e8e5e1;--text-muted:#8a8480;--border:#333028}html:before{content:"";pointer-events:none;z-index:9999;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px;position:fixed;inset:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font);background-color:var(--bg);color:var(--text);transition:background-color var(--transition), color var(--transition)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}.theme-toggle{z-index:100;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);width:2.5rem;height:2.5rem;color:var(--text);transition:border-color var(--transition), background var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex;position:fixed;top:1.25rem;right:1.25rem}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:2rem;position:relative}.modal-close{color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--text)}.modal-title{color:var(--text);margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.modal-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.modal-form{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field label{color:var(--text);font-size:.875rem;font-weight:500}.form-field input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-family:var(--font);transition:border-color var(--transition);outline:none;padding:.625rem .75rem;font-size:.9375rem}.form-field input::placeholder{color:var(--text-muted)}.form-field input:focus{border-color:var(--accent)}.modal-error{color:#e05252;font-size:.875rem}.btn-accent{background:var(--accent);color:#111;border-radius:var(--radius);transition:opacity var(--transition);border:none;margin-top:.25rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600}.btn-accent:hover:not(:disabled){opacity:.88}.btn-accent:disabled{opacity:.6;cursor:not-allowed}.hero-banner{margin:0;position:relative}.hero-image{object-fit:cover;width:100%;height:clamp(280px,50vh,560px);display:block}@media (width<=640px){.hero-image{height:38vw;min-height:160px}}.home{max-width:640px;margin:0 auto;padding:3rem 1.5rem 4rem}.hero{margin-bottom:2rem}.hero-name{color:var(--text);letter-spacing:-.02em;font-size:clamp(2.5rem,8vw,4rem);font-weight:700;line-height:1.1}.hero-subtitle{color:var(--text-muted);margin-top:.5rem;font-size:clamp(1rem,3vw,1.25rem);font-weight:400}.intro{margin-bottom:2.5rem}.intro p{color:var(--text-muted);max-width:520px;font-size:1rem;line-height:1.75}.actions{flex-wrap:wrap;gap:.75rem;margin-bottom:3.5rem;display:flex}.btn-outline{border:1px solid var(--accent);border-radius:var(--radius);font-family:var(--font);color:var(--text);transition:background var(--transition), color var(--transition);background:0 0;align-items:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-outline:hover{background:var(--accent);color:#111}.private-access{flex-direction:column;gap:1.5rem;display:flex}.private-divider{background:var(--border);height:1px}.private-row{justify-content:space-between;align-items:center;display:flex}.legal-links{gap:1.25rem;display:flex}.legal-links a{color:var(--text-muted);opacity:.45;transition:opacity var(--transition);font-size:.75rem;text-decoration:none}.legal-links a:hover{opacity:1}.btn-private{font-family:var(--font);color:var(--accent);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;align-self:flex-start;padding:.5rem 0;font-size:.9375rem;font-weight:500;display:inline-flex}.btn-private:hover{opacity:.75}.dashboard{max-width:640px;margin:0 auto;padding:6rem 1.5rem 4rem}.dashboard-heading{color:var(--text);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(2rem,6vw,3rem);font-weight:700}.dashboard-sub{color:var(--text-muted);margin-bottom:3rem;font-size:1rem}.btn-signout{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);color:var(--text-muted);transition:border-color var(--transition), color var(--transition);background:0 0;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500}.btn-signout:hover{border-color:var(--text-muted);color:var(--text)}.legal{max-width:640px;margin:0 auto;padding:3rem 1.5rem 5rem}.legal-back{color:var(--text-muted);transition:color var(--transition);align-items:center;gap:.375rem;margin-bottom:2.5rem;font-size:.875rem;text-decoration:none;display:inline-flex}.legal-back:hover{color:var(--text)}.legal h1{letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(1.75rem,6vw,2.5rem);font-weight:700}.legal-updated{color:var(--text-muted);margin-bottom:3rem;font-size:.875rem}.legal h2{color:var(--text);margin-top:2.25rem;margin-bottom:.625rem;font-size:1rem;font-weight:600}.legal p,.legal address{color:var(--text-muted);font-size:.9375rem;font-style:normal;line-height:1.75}.legal a{color:var(--accent);text-decoration:none}.legal a:hover{text-decoration:underline}.legal ul{margin-top:.375rem;padding-left:1.25rem}.legal ul li{color:var(--text-muted);font-size:.9375rem;line-height:1.75}
