:root{--ink:#17213b;--soft-ink:#5f6576;--purple:#5c3cc7;--purple-dark:#43289f;--purple-soft:#eee9ff;--coral:#ff6f61;--yellow:#ffc84a;--cream:#fff9ef;--white:#fff;--line:#e7e1ef;--display:"Arial Rounded MT Bold", "Trebuchet MS", ui-rounded, system-ui, sans-serif;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-height:100%}body{min-height:100%;color:var(--ink);font-family:var(--body);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}::selection{color:var(--ink);background:#ffdfa1}.landing-shell{background:radial-gradient(circle at 82% 18%, #eee8ff 0, transparent 30%), var(--cream);min-height:100vh;padding:24px clamp(20px,4vw,60px) 48px}.landing-nav{justify-content:space-between;align-items:center;width:min(1180px,100%);margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:11px;display:inline-flex}.brand img{object-fit:contain;width:44px;height:44px}.brand strong{font:900 1.25rem/1 var(--display);letter-spacing:-.04em}.brand small{color:var(--soft-ink);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:.68rem;font-weight:800;display:block}.text-link{color:var(--purple);font-size:.9rem;font-weight:850}.landing-card{background:#ffffffd1;border:1px solid #5c3cc721;border-radius:42px;grid-template-columns:1.05fr .95fr;align-items:center;width:min(1180px,100%);min-height:670px;margin:34px auto 0;display:grid;overflow:hidden;box-shadow:0 32px 100px #38245f1f}.landing-copy{padding:clamp(38px,7vw,90px)}.eyebrow{color:var(--purple);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:.74rem;font-weight:950}h1,h2,h3{font-family:var(--display)}.landing-copy h1{letter-spacing:-.065em;max-width:660px;margin:0;font-size:clamp(3rem,6vw,5.8rem);line-height:.94}.lede{max-width:620px;color:var(--soft-ink);margin:28px 0 0;font-size:1.08rem;line-height:1.75}.button-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:14px 22px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--purple);box-shadow:0 10px 28px #5c3cc73d}.button-primary:hover{background:var(--purple-dark)}.button-secondary{color:var(--purple);background:var(--purple-soft)}.button-ghost{color:var(--purple);border:1px solid var(--line);background:#fff}.privacy-note{color:#77798a;max-width:580px;margin:24px 0 0;font-size:.8rem;line-height:1.65}.mascot-stage{background:linear-gradient(145deg,#6747d5 0%,#4c30ae 100%);place-items:center;min-height:670px;display:grid;position:relative;overflow:hidden}.mascot-stage img{z-index:2;filter:drop-shadow(0 30px 26px #1b0c4842);width:min(72%,430px);position:relative;transform:rotate(2deg)}.orbit{border:1px solid #ffffff38;border-radius:999px;display:block;position:absolute}.orbit-a{width:520px;height:520px}.orbit-b{width:760px;height:760px}.floating-note{z-index:3;color:var(--purple-dark);background:#fff;border-radius:999px;padding:10px 15px;font-size:.76rem;font-weight:900;position:absolute;box-shadow:0 12px 30px #190d4033}.note-a{top:22%;left:8%}.note-b{bottom:20%;right:7%}.auth-shell{background:radial-gradient(circle at 15% 8%, #eee8ff 0, transparent 32%), var(--cream);place-items:center;min-height:100vh;padding:28px 20px;display:grid}.auth-card{background:#fffffff0;border:1px solid #5c3cc71f;border-radius:32px;width:min(470px,100%);padding:clamp(28px,6vw,42px);box-shadow:0 28px 90px #3b266021}.auth-card .brand{margin-bottom:38px}.auth-card h1{letter-spacing:-.055em;margin:8px 0 0;font-size:2.7rem;line-height:1}.auth-copy{color:var(--soft-ink);margin:16px 0 0;line-height:1.65}.alert{color:#8c2c22;background:#fff1ef;border:1px solid #f4c5bf;border-radius:16px;margin:22px 0 0;padding:13px 15px;font-size:.86rem;font-weight:750;line-height:1.5}.alert.success{color:#24603d;background:#eefaf3;border-color:#b9dec9}.auth-actions{gap:12px;margin-top:26px;display:grid}.auth-button{border:2px solid var(--line);min-height:54px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:14px 18px;font-weight:900;display:flex}.auth-button:hover{background:#fbf9ff;border-color:#b9a9ef}.auth-button.primary{border-color:var(--purple);background:var(--purple);color:#fff}.auth-button.primary:hover{background:var(--purple-dark)}.auth-mark{width:26px;height:26px;color:var(--purple);background:#f4f0ff;border-radius:8px;place-items:center;font-weight:950;display:grid}.auth-button.primary .auth-mark{color:#fff;background:#ffffff26}.auth-fine{text-align:center;color:#77798a;margin:22px 0 0;font-size:.76rem;line-height:1.55}.portal-shell{background:#f8f6fb;min-height:100vh}.portal-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:78px;padding:14px clamp(20px,4vw,52px);display:flex}.portal-nav-actions{align-items:center;gap:12px;display:flex}.portal-nav-actions span{color:var(--soft-ink);font-size:.82rem}.signout{color:var(--purple);cursor:pointer;background:0 0;border:0;font-weight:900}.portal-main{width:min(1180px,100% - 40px);margin:0 auto;padding:52px 0 80px}.welcome-row{justify-content:space-between;align-items:end;gap:24px;display:flex}.welcome-row h1{letter-spacing:-.055em;margin:4px 0 0;font-size:clamp(2.3rem,5vw,4.4rem);line-height:1}.role-pill{background:var(--purple-soft);color:var(--purple);text-transform:capitalize;border-radius:999px;padding:10px 14px;font-size:.76rem;font-weight:900}.dashboard-grid{grid-template-columns:1.35fr .65fr;gap:20px;margin-top:34px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:26px;padding:26px;box-shadow:0 12px 38px #2e1e4c0d}.panel h2{letter-spacing:-.03em;margin:0;font-size:1.38rem}.panel p{color:var(--soft-ink);line-height:1.6}.next-list{gap:12px;margin-top:20px;display:grid}.next-item{background:#faf9fc;border-radius:18px;align-items:center;gap:14px;padding:17px;display:flex}.next-item b{background:var(--purple-soft);width:34px;height:34px;color:var(--purple);border-radius:12px;flex:none;place-items:center;display:grid}.next-item span{color:var(--soft-ink);margin-top:3px;font-size:.78rem;display:block}.identity-links{gap:10px;margin-top:18px;display:grid}.identity-links a{border:1px solid var(--line);border-radius:15px;padding:12px 14px;font-size:.84rem;font-weight:850}.identity-links a:hover{border-color:#bbaeee}.onboarding-shell{background:var(--cream);min-height:100vh;padding:26px 20px 70px}.onboarding-nav{width:min(900px,100%);margin:0 auto}.onboarding-card{border:1px solid var(--line);background:#fff;border-radius:32px;width:min(700px,100%);margin:38px auto 0;padding:clamp(28px,6vw,52px);box-shadow:0 28px 80px #38245f1a}.onboarding-card h1{letter-spacing:-.06em;margin:8px 0 0;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.96}.field-grid{gap:18px;margin-top:30px;display:grid}.field{gap:8px;display:grid}.field label{font-size:.8rem;font-weight:900}.field input{width:100%;color:var(--ink);background:#fcfbfd;border:1px solid #dad3e5;border-radius:14px;outline:none;padding:14px 15px}.field input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5c3cc71f}.form-actions{gap:12px;margin-top:28px;display:flex}.role-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.role-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:21px}.role-card span{font-size:1.5rem}.role-card h2{margin:14px 0 5px;font-size:1.15rem}.role-card p{min-height:62px;color:var(--soft-ink);margin:0 0 18px;font-size:.8rem;line-height:1.5}.role-card a{color:var(--purple);font-size:.82rem;font-weight:900}@media (width<=820px){.landing-card,.dashboard-grid{grid-template-columns:1fr}.mascot-stage{min-height:460px}.landing-copy{padding:48px 30px}.role-grid{grid-template-columns:1fr}.role-card p{min-height:0}}@media (width<=560px){.brand small,.portal-nav-actions span{display:none}.landing-nav{align-items:flex-start}.landing-card{border-radius:28px}.welcome-row{flex-direction:column;align-items:flex-start}.button-row,.form-actions{flex-direction:column}.button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
