@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=Noto+Serif+SC:wght@400;600;700;900&display=swap');

html:has(body[data-view="map-auth"]){scroll-behavior:smooth}
body[data-view="map-auth"]{--cream:#fdf7f0;--cream-mid:#f5ede0;--gold:#b8832a;--gold-light:#d4a96a;--gold-pale:#f5e6c8;--dark:#1c1410;--dark-brown:#2a1a08;--muted:#8a7660;--border:#e8d9c0;width:100%;overflow-x:hidden!important;overflow-y:auto!important;background:var(--cream)!important;color:var(--dark);font-family:'DM Sans','PingFang SC','Hiragino Sans GB',sans-serif;-webkit-font-smoothing:antialiased}
body[data-view="map-auth"] #app.card{height:auto!important;min-height:100vh!important;overflow:visible!important;background:var(--cream)!important}
body[data-view="map-auth"]::-webkit-scrollbar{width:4px}body[data-view="map-auth"]::-webkit-scrollbar-track{background:transparent}body[data-view="map-auth"]::-webkit-scrollbar-thumb{border-radius:2px;background:rgba(212,169,106,.35)}
.landing-page{min-height:100vh;background:var(--cream)}.landing-page button,.landing-page input{font:inherit}
.landing-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 max(40px,calc((100vw - 1200px)/2));border-bottom:1px solid transparent;background:rgba(253,247,240,.92);backdrop-filter:blur(16px)}
.landing-brand{display:flex;align-items:center;height:56px}.landing-brand img{display:block;width:200px;height:56px;object-fit:contain;object-position:left center}
.landing-nav>div{display:flex;align-items:center;gap:10px}.landing-nav a{margin-right:22px;color:var(--muted);font-size:14px;text-decoration:none;transition:color .2s}.landing-nav a:hover{color:var(--gold)}
.landing-nav button,.landing-actions button,.landing-partner>button{min-height:38px;padding:8px 20px;border:1px solid var(--gold);border-radius:8px;background:transparent;color:var(--gold);font-size:13px;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.landing-nav .landing-nav-primary,.landing-actions .landing-primary,.landing-partner>button{border-color:var(--gold);background:var(--gold);color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(184,131,42,.27)}.landing-nav button:hover,.landing-actions button:hover,.landing-partner>button:hover{transform:translateY(-2px)}
.landing-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;min-height:calc(100vh - 60px);margin:auto;padding:60px 40px 145px}
.landing-kicker,.landing-section-heading>span,.landing-flow>div>span,.landing-partner>div>span,.landing-login-copy>span{display:inline-block;color:var(--gold-light);font-family:'DM Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase}.landing-kicker{padding:6px 14px;border-radius:20px;background:var(--gold-pale);color:var(--gold)}
.landing-hero h1{margin:28px 0 20px;color:var(--dark);font-family:'Noto Serif SC','Songti SC',serif;font-size:clamp(46px,5vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.15}.landing-hero h1 em{color:var(--gold);font-style:normal}.landing-slogan-end{display:block;white-space:nowrap;color:var(--dark)}
.landing-hero-copy>p{max-width:430px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}.landing-actions{display:flex;align-items:center;gap:16px;margin:36px 0 0}.landing-actions button{min-height:48px;padding:14px 28px;border-radius:12px;font-size:15px}.landing-actions a{color:var(--muted);font-size:14px;text-underline-offset:4px}
.landing-proof{position:absolute;right:50%;bottom:0;left:50%;display:grid;grid-template-columns:repeat(3,1fr);width:100vw;margin:0;padding:0 max(40px,calc((100vw - 1200px)/2));transform:translateX(-50%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--cream-mid)}.landing-proof span{display:flex;align-items:center;min-height:74px;padding:0 38px;color:var(--dark);font-size:14px;font-weight:600;line-height:1.5}.landing-proof span:before{margin-right:14px;font-size:19px}.landing-proof span:nth-child(1):before{content:"🎓"}.landing-proof span:nth-child(2):before{content:"📝"}.landing-proof span:nth-child(3):before{content:"💬"}.landing-proof span+span{border-left:1px solid var(--border)}
.landing-demo{position:relative;z-index:1;isolation:isolate;border-radius:24px;background:#fff;box-shadow:0 36px 75px rgba(92,61,25,.15)}.landing-demo:after{display:none}
.landing-demo-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 30px;border-bottom:1px solid var(--border);color:var(--muted);font-family:'DM Mono',monospace;font-size:13px;letter-spacing:.08em}.landing-demo-header b{align-self:flex-end;margin-bottom:18px;padding:8px 18px;border-radius:20px;background:var(--gold);color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0}
.landing-demo-body{padding:30px}.landing-demo h2{margin:0 0 24px;color:var(--dark);font-family:'Noto Serif SC',serif;font-size:23px;font-weight:600;text-align:left}.landing-input-demo{display:flex;flex-wrap:nowrap;gap:10px;margin:0 0 25px;padding:0}.landing-input-demo button{min-width:62px;padding:12px 15px;border:0;border-bottom:3px solid #d7d7d4;border-radius:11px;background:#f3f3f0;color:#b7b7b4;font-family:'DM Mono',monospace;font-size:16px;cursor:pointer;transition:transform .18s,background .18s,color .18s}.landing-input-demo button:hover{transform:translateY(-2px)}.landing-input-demo button.complete{border-bottom-color:var(--gold);background:var(--gold-pale);color:var(--gold)}
.landing-demo-body>p{display:flex;align-items:center;gap:7px;margin:0 0 26px;padding:0;color:var(--muted);font-size:13px;text-align:left}.landing-demo-body>p strong{color:var(--gold);font-weight:500}.landing-demo-body>p i{color:var(--border);font-style:normal}.landing-demo-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;color:var(--muted);font-size:13px}.landing-demo-progress>b{color:var(--gold);font-family:'DM Mono',monospace;font-size:14px;font-weight:500}.landing-demo-progress>div{grid-column:1/-1;overflow:hidden;height:4px;border-radius:4px;background:var(--cream-mid)}.landing-demo-progress>div i{display:block;width:15%;height:100%;border-radius:4px;background:var(--gold);transition:width .35s ease}
.landing-demo-count,.landing-demo-streak{position:absolute;z-index:3;border-radius:28px;background:#fff;box-shadow:0 12px 32px rgba(92,61,25,.12);color:var(--muted);font-family:'DM Mono',monospace}.landing-demo-count{top:-28px;right:-18px;padding:13px 25px;color:var(--gold);font-size:14px}.landing-demo-streak{bottom:-27px;left:-28px;padding:13px 22px;font-size:13px}
.landing-section{max-width:1200px;margin:auto;padding:100px 40px}.landing-section-heading{max-width:780px;margin-bottom:48px}.landing-section-heading h2,.landing-flow h2,.landing-partner h2,.landing-login-copy h2{margin:12px 0 0;color:var(--dark);font-family:'Noto Serif SC','Songti SC',serif;font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-.035em;line-height:1.2}.landing-section-heading p{color:var(--muted);font-size:14px;line-height:1.7}
.landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-feature-grid article{min-height:230px;padding:28px;border:0;border-radius:16px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:transform .3s,background .3s,box-shadow .3s}.landing-feature-grid article:hover{transform:translateY(-4px);background:var(--gold);box-shadow:0 16px 48px rgba(184,131,42,.27)}.landing-feature-grid article>b{color:var(--gold-light);font-family:'DM Mono',monospace;font-size:13px}.landing-feature-grid h3{margin:20px 0 12px;color:var(--dark);font-family:'Noto Serif SC',serif;font-size:16px}.landing-feature-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.landing-feature-grid article:hover b,.landing-feature-grid article:hover h3{color:#fff}.landing-feature-grid article:hover p{color:rgba(255,255,255,.8)}
.landing-feature-grid .landing-feature-primary{background:#fff;color:inherit}.landing-feature-grid .landing-feature-primary b{color:var(--gold-light)}.landing-feature-grid .landing-feature-primary h3{color:var(--dark)}.landing-feature-grid .landing-feature-primary p{color:var(--muted)}.landing-feature-grid .landing-feature-primary:hover{background:var(--gold)}.landing-feature-grid .landing-feature-primary:hover b,.landing-feature-grid .landing-feature-primary:hover h3{color:#fff}.landing-feature-grid .landing-feature-primary:hover p{color:rgba(255,255,255,.8)}
.landing-flow{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:80px max(40px,calc((100vw - 1200px)/2));background:var(--dark-brown);color:#fff}.landing-flow h2{color:#fff}.landing-flow ol{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none}.landing-flow li{min-height:114px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.07);transition:background .2s}.landing-flow li:hover{background:rgba(255,255,255,.11)}.landing-flow li>b{display:grid;place-items:center;width:28px;height:28px;margin-bottom:12px;border-radius:50%;background:var(--gold);color:#fff;font-family:'DM Mono',monospace;font-size:12px}.landing-flow li span{color:#fff;font-family:'Noto Serif SC',serif;font-size:15px;font-weight:700}.landing-flow li small{display:block;margin-top:4px;color:rgba(255,255,255,.5);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:400}
.landing-courses{max-width:none;padding:100px max(40px,calc((100vw - 1200px)/2));background:var(--cream-mid)}.landing-courses .landing-section-heading{display:grid;grid-template-columns:1fr 340px;align-items:end;max-width:none}.landing-courses .landing-section-heading>span{grid-column:1/-1}.landing-courses .landing-section-heading h2{grid-column:1}.landing-courses .landing-section-heading p{grid-column:2;margin:0;text-align:right}.landing-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing-course-grid article{display:flex;overflow:hidden;flex-direction:column;border:0;border-radius:20px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.05);cursor:pointer;transition:transform .3s,box-shadow .3s}.landing-course-grid article:hover,.landing-course-grid article:focus-visible{transform:translateY(-4px);box-shadow:0 16px 48px rgba(140,100,30,.15);outline:none}.landing-course-grid img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .5s}.landing-course-grid article:hover img{transform:scale(1.04)}.landing-course-grid h3{margin:22px 24px 8px;color:var(--dark);font-family:'Noto Serif SC',serif;font-size:18px}.landing-course-grid p{margin:0 24px;color:var(--muted);font-size:14px;line-height:1.65}.landing-course-outcome{display:none}.landing-course-cta{display:flex;align-items:center;justify-content:flex-end;width:auto;min-height:42px;margin:18px 24px 24px;padding:16px 0 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--gold);font-size:13px;font-weight:600}.landing-course-cta span{margin-left:5px;font-size:16px}
.landing-partner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px;padding:90px max(40px,calc((100vw - 1200px)/2));background:linear-gradient(130deg,var(--cream-mid),#ede5d0)}.landing-partner>div{max-width:700px}.landing-partner h2{margin-bottom:20px}.landing-partner p{max-width:620px;color:var(--muted);font-size:15px;line-height:1.7}.landing-partner-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.landing-partner-points span{padding:6px 16px;border:1px solid var(--border);border-radius:20px;color:var(--muted);font-size:13px}.landing-partner>button{padding:16px 32px;border-radius:12px;font-size:15px;white-space:nowrap}
.landing-login-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1240px;min-height:820px;margin:auto;padding:90px 40px}.landing-login-copy{padding-left:28px}.landing-login-copy h2{font-size:clamp(42px,5vw,64px);line-height:1.22}.landing-login-copy p{max-width:500px;margin-top:34px;color:var(--muted);font-size:15px;line-height:1.8}.landing-login-trust{display:none}
.landing-auth-panel{position:relative!important;top:auto!important;right:auto!important;width:100%!important;max-height:none!important;padding:40px!important;transform:none!important;border:0!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 46px rgba(55,35,15,.10)!important;color:var(--dark)!important}.landing-auth-panel h2{margin:12px 0 24px;color:var(--dark);font-family:'Noto Serif SC',serif;font-size:24px!important}.landing-auth-panel .support,.landing-auth-panel .login-label,.landing-auth-panel .auth-consent{color:var(--muted)!important}.landing-auth-panel .support{font-size:14px!important;line-height:1.7}.landing-auth-panel .login-input{min-height:50px!important;border-color:#dec69d!important;border-radius:10px!important;background:#fff!important;color:var(--dark)!important}.landing-auth-panel .auth-tabs{min-height:58px;padding:5px;border:0;background:var(--cream-mid)}.landing-auth-panel .auth-tabs button{color:var(--muted);font-size:14px!important}.landing-auth-panel .auth-tabs button.active{background:#fff;color:var(--dark);box-shadow:0 2px 8px rgba(0,0,0,.08)}.landing-auth-panel .auth-text-button,.landing-auth-panel .demo-code{color:var(--gold)}.landing-auth-panel .login-divider:before,.landing-auth-panel .login-divider:after{background:var(--border)}.landing-auth-panel .login-plan{min-height:72px;border-color:#dec69d;background:transparent;color:var(--muted)}.landing-auth-panel .login-plan.featured{border-color:var(--gold);background:var(--gold);color:#fff}
.landing-auth-panel .passwordless-primary>.login-label,.landing-auth-panel>.login-divider{display:none}
.landing-auth-panel .login-plan b{color:var(--muted)!important;font-weight:600}.landing-auth-panel .login-plan span{color:#b77918!important;font-size:13px!important;font-weight:700}.landing-auth-panel .login-plan.featured b,.landing-auth-panel .login-plan.featured span{color:#fff!important}
.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px max(40px,calc((100vw - 1200px)/2));background:var(--dark-brown);color:rgba(255,255,255,.35)}.landing-footer img{width:128px;height:54px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}.landing-footer p{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em}
@media(max-width:900px){.landing-nav{padding:0 20px}.landing-nav a{display:none}.landing-hero,.landing-login-section{grid-template-columns:1fr;min-height:0}.landing-hero{gap:54px}.landing-proof span{padding:0 18px}.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-flow{grid-template-columns:1fr}.landing-course-grid{grid-template-columns:1fr}.landing-courses .landing-section-heading{display:block}.landing-courses .landing-section-heading p{text-align:left}.landing-partner{grid-template-columns:1fr}.landing-login-copy{padding-left:0}}
@media(max-width:600px){.landing-nav{height:58px;padding:0 14px}.landing-brand img{width:142px;height:48px}.landing-nav>div{gap:6px}.landing-nav button{min-height:34px;padding:7px 10px;font-size:12px}.landing-hero{padding:52px 20px 250px}.landing-hero h1{font-size:42px}.landing-hero-copy>p{font-size:15px}.landing-actions{align-items:flex-start;flex-direction:column}.landing-proof{grid-template-columns:1fr;padding:0 20px}.landing-proof span,.landing-proof span+span{min-height:62px;padding:0;border-left:0;border-bottom:1px solid var(--border)}.landing-demo-count{top:-22px;right:8px}.landing-demo-streak{bottom:-22px;left:8px}.landing-input-demo{flex-wrap:wrap}.landing-section{padding:76px 20px}.landing-section-heading h2,.landing-flow h2,.landing-partner h2{font-size:34px}.landing-feature-grid,.landing-flow ol{grid-template-columns:1fr}.landing-flow,.landing-courses,.landing-partner{padding:72px 20px}.landing-course-grid img{height:190px}.landing-login-section{gap:34px;padding:76px 20px}.landing-login-copy h2{font-size:42px}.landing-auth-panel{padding:24px!important}.landing-footer{align-items:flex-start;flex-direction:column;padding:32px 20px}.landing-slogan-end{white-space:normal}}
