*{box-sizing:border-box}body{margin:0;background:#fff8f1;color:#332252;font-family:Arial,sans-serif}header{background:white;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 18px #6b3b9a20}a{color:#7129bd;text-decoration:none;font-weight:700}.brand{font-size:24px;font-weight:900;color:#8a36d2}main{max-width:1050px;margin:40px auto;padding:20px}.hero{background:linear-gradient(125deg,#a04be7,#ff6aaf,#ffbc35);color:white;border-radius:30px;padding:55px 35px}.hero h1{font-size:clamp(32px,6vw,60px);margin:0 0 15px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:15px;gap:15px;margin-top:25px}.tile{padding:22px;border-radius:20px;background:white;box-shadow:0 4px 14px #41245c17}.tile h3{margin-top:0}.cta,button{display:inline-block;border:0;border-radius:12px;padding:13px 19px;background:#762dd0;color:white;font-weight:700;cursor:pointer}input{display:block;width:100%;margin:8px 0 16px;padding:14px;border:1px solid #cab6df;border-radius:10px;font-size:16px}.auth{max-width:440px;background:white;border-radius:24px;padding:28px;margin:60px auto;box-shadow:0 6px 35px #4d267322}.muted{color:#665b74}.error{color:#b71c52}.site-shell{height:100dvh;display:flex;flex-direction:column}.topnav{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;gap:12px;box-shadow:0 3px 12px #42226618;z-index:2}.topnav strong{color:#792ac4}.topnav nav{display:flex;align-items:center;gap:14px}.topnav a{font-size:14px}.homeframe{width:100%;flex:1 1;border:0}.notice{background:#fff4ca;color:#583a13;padding:7px 15px;font-size:12px}.mascot,.notice{text-align:center}.mascot{font-size:44px}.auth h1{margin:10px 0}.auth button{width:100%;margin-top:8px}.auth .secondary{background:#ff6ca9}.auth label{font-weight:700}.auth small{display:block;margin-top:18px;line-height:1.5}.dashboard{height:100dvh;display:flex;flex-direction:column}.dashboard header{padding:12px 22px;gap:12px}.signedin{font-size:13px;overflow:hidden;text-overflow:ellipsis}.demo-warning{padding:10px 16px;background:#fff0c6;font-size:13px;text-align:center}.dashboardframe{flex:1 1;width:100%;border:0}@media(max-width:600px){.topnav{flex-direction:column}.topnav nav{justify-content:center;flex-wrap:wrap}.signedin{display:none}}.hero img,.hero-image,.homepage-image{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;object-fit:contain}