@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/art/portal/optimized/outfit-latin.6c18d579fd87.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/art/portal/optimized/outfit-latin-ext.0f53d1c03b39.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root{--ink:#211d35;--muted:#716a83;--orange:#f58200;--purple:#7055c7;--cream:#fff9ee;--line:#e9dfcc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Outfit,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}video{max-width:100%;display:block}.container{max-width:1280px;margin:auto;padding-inline:48px}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.8px}.brand img{width:48px;height:48px;border-radius:23%}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:9px;font-weight:700}.site-header nav{display:flex;gap:30px;font-size:15px;font-weight:600}.header-actions{display:flex;align-items:center;gap:18px}.language{border:0;background:none;color:var(--ink);min-height:44px;padding:8px;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:17px 26px;border-radius:17px;font-size:17px;font-weight:700;border:1.5px solid var(--ink);white-space:nowrap}.primary{background:var(--orange);color:white;border:0;box-shadow:0 5px 0 #c36b02}.small{padding:12px 20px;font-size:14px;min-height:46px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600;color:var(--purple)}.eyebrow{font-size:13px;line-height:1.5;color:var(--purple);font-weight:700;letter-spacing:1px;margin:0 0 22px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center;padding-top:70px;padding-bottom:110px}.hero h1{font-size:clamp(58px,6.8vw,92px);line-height:1.08;letter-spacing:-4px;margin:0 0 28px}.orange{color:var(--orange)}.subject{font-size:21px;font-weight:600;line-height:1.5;margin:0 0 20px}.intro{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 18px}.audience{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:25px}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.launch-note{font-size:12px;color:var(--muted);margin:18px 0 0}.video-shell{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:white;box-shadow:0 12px 0 #efe5d1}.video-top{padding:18px 22px;background:#fff2da;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:#61576e}.video-shell video{width:100%;aspect-ratio:1;object-fit:contain;background:#faf8f3}.video-bottom{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px}.video-bottom strong{font-size:17px}.video-bottom span{color:var(--muted);font-size:12px}.hero-media{position:relative;min-width:0}.chef{position:absolute;right:-34px;bottom:-60px;width:112px;pointer-events:none}.ribbon{background:#f1e8d7;padding:20px 24px;display:flex;gap:46px;align-items:center;justify-content:center;font-weight:600;color:#6a5b49;font-size:14px}.ribbon b{color:#c99444;font-size:18px}.section{padding-top:88px;padding-bottom:88px}.section-heading{max-width:760px;margin:0 0 36px}.section-heading h2,.split h2,.cta h2{font-size:clamp(32px,3.3vw,46px);line-height:1.16;letter-spacing:-1.6px;margin:0 0 18px}.section-heading p,.split p{font-size:17px;line-height:1.7;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.demo-card{background:white;border:1px solid var(--line);border-radius:23px;overflow:hidden}.demo-card video{width:100%;aspect-ratio:1;background:#fff9ee;object-fit:contain}.demo-copy{padding:24px}.tag{font-size:11px;letter-spacing:1px;font-weight:700;color:var(--purple)}.demo-copy h3{font-size:25px;line-height:1.2;margin:10px 0}.demo-copy p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start;border-top:1px solid var(--line)}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;align-items:start;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.steps li:first-child{padding-top:0}.step-number{border-radius:50%;width:38px;height:38px;flex:none;background:#ece2cd;display:grid;place-items:center;font-weight:700}.steps h3{margin:0 0 9px;font-size:22px}.steps p{margin:0;font-size:16px}.curriculum{border-top:1px solid var(--line)}.course-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.course-bar p{font-size:13px;color:var(--muted)}.course-controls{display:flex;gap:8px}.course-controls button{border:1px solid var(--line);border-radius:13px;background:white;min-height:44px;min-width:44px;padding:8px 13px;color:var(--ink)}button:disabled{cursor:default;opacity:.45}.course-map{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding:3px 0 18px}.course-map::-webkit-scrollbar{display:none}.course-card{flex:0 0 calc((100% - 48px)/3);padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);scroll-snap-align:start;min-width:0}.course-art{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.course-art img{width:85px;height:85px;object-fit:contain}.course-art>span{font-size:11px;border-radius:999px;background:#f0e9fc;color:#66538c;padding:7px 10px;line-height:1.4}.course-card h3{font-size:24px;line-height:1.25;margin:0 0 12px}.course-card>p{font-size:14px;line-height:1.6;color:var(--muted)}.course-units{padding:0;list-style:none;font-size:14px;line-height:1.55}.course-units li{padding:6px 0;border-bottom:1px solid #f3eee5}.map-note,.foundation{font-size:13px;color:var(--muted);line-height:1.7}.foundation{margin-top:18px;padding:18px 22px;border-left:3px solid #d8ad69;background:#fff3df}.family-faq details{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.family-faq summary{font-size:18px;font-weight:600;min-height:44px;cursor:pointer}.family-faq p{font-size:15px;line-height:1.7;margin:12px 0 0}.cta{border-radius:28px;background:#f0e5d2;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:70px}.cta h2{font-size:34px}.cta p{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:0}.footer{display:flex;justify-content:space-between;align-items:center;padding-bottom:36px;gap:20px;color:var(--muted);font-size:12px}.footer a{min-height:44px;display:inline-flex;align-items:center}.get-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding-top:48px;padding-bottom:60px;align-items:center}.get-hero h1{font-size:62px;line-height:1.1;letter-spacing:-2px;margin:18px 0 24px}.status{display:inline-flex;align-items:center;gap:8px;background:#fff0d2;color:#9f620b;border-radius:999px;font-size:12px;font-weight:600;padding:9px 13px}.status:before{content:'';width:7px;height:7px;border-radius:50%;background:#e6a637}.device-preview{position:relative;border:9px solid #27223a;border-radius:28px;overflow:hidden;background:#fff;box-shadow:16px 16px 0 #e9dff4}.device-preview img{width:100%;display:block}.device-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.device-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:24px}.device-card h2{font-size:30px;margin:0 0 10px}.device-card p{font-size:16px;color:var(--muted);line-height:1.6}.device-icon{font-size:12px;color:var(--purple);letter-spacing:1px;font-weight:700;margin-bottom:20px}.release-button{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;background:#f0edf7;border:1px solid #e0d9ef;border-radius:13px;color:#6a6081;font-size:15px;font-weight:600}.release-button[aria-disabled=true]{cursor:default}.release-detail{font-size:13px!important}.setup{border-top:1px solid var(--line);margin-top:55px}.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.setup-grid article{padding:20px 0}.setup-grid h3{font-size:21px;margin:15px 0 10px}.setup-grid p{font-size:15px;line-height:1.7;color:var(--muted)}.skip{position:absolute;left:10px;top:-100px;z-index:5;padding:10px;background:white}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--purple);outline-offset:4px}html[lang=zh] .hero h1{font-size:clamp(48px,4.6vw,65px);line-height:1.18;letter-spacing:-1.5px}html[lang=zh] .get-hero h1{font-size:52px}.hero .eyebrow{letter-spacing:.2px;text-transform:none}@media(max-width:1000px){.container{padding-inline:30px}.hero{gap:35px;padding-top:40px}.hero h1{font-size:64px}.site-header nav{gap:18px;font-size:13px}.split{gap:40px}.video-grid{gap:16px}.demo-copy{padding:18px}.course-map{gap:18px}.course-card{flex-basis:calc((100% - 36px)/3);padding:18px}.course-card h3{font-size:20px}.get-hero{gap:35px}.get-hero h1{font-size:48px}}@media(max-width:750px){.site-header{height:85px}.brand{font-size:23px}.brand small{font-size:8px}.brand img{width:40px;height:40px}.site-header nav{display:none}.header-actions{gap:6px}.small{padding:10px 14px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:85px;gap:38px}.hero h1{font-size:66px}.hero .subject{font-size:20px}.hero .intro{font-size:16px}.hero-media{max-width:520px;width:100%;justify-self:center}.chef{right:0;bottom:-48px;width:88px}.ribbon{gap:20px;font-size:12px}.ribbon b{display:none}.section{padding-top:60px;padding-bottom:60px}.video-grid{grid-template-columns:1fr}.demo-card{display:grid;grid-template-columns:1fr 1fr;align-items:center}.demo-copy h3{font-size:22px}.split{grid-template-columns:1fr;gap:30px}.course-card{flex-basis:calc((100% - 18px)/2)}.cta{flex-direction:column;align-items:start;padding:28px}.get-hero{grid-template-columns:1fr;gap:40px}.get-hero h1{font-size:49px}html[lang=zh] .get-hero h1{font-size:42px}.device-grid{grid-template-columns:1fr}.setup-grid{grid-template-columns:1fr;gap:10px}.footer{flex-wrap:wrap}.course-bar{align-items:start}.course-bar p{margin:0}}@media(max-width:460px){.container{padding-inline:20px}.hero h1{font-size:58px}.hero .eyebrow{font-size:12px}.brand small{display:none}.hero-actions .button{width:100%}.course-card{flex-basis:90%}.demo-card{display:block}.demo-copy{padding:23px}.video-top{font-size:11px;padding:14px}.video-bottom strong{font-size:15px}.get-hero h1{font-size:43px}.device-card{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* One player, three real lesson previews in the hero. */
.hero{padding-top:20px;padding-bottom:44px;align-items:start}.video-shell video{aspect-ratio:1;max-height:520px}.video-bottom{padding:17px 22px}.video-bottom>div{width:100%}.video-bottom strong{display:block;margin:7px 0;font-size:21px}.video-bottom p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.video-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.video-tab{display:flex;flex-direction:column;gap:10px;align-items:start;text-align:left;padding:9px;border:1.5px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);min-height:44px;overflow:hidden;transition:background .15s,border-color .15s}.video-tab[aria-pressed=true]{background:#fff0d6;border-color:var(--orange);box-shadow:0 3px 0 #f3d09b}.video-tab img{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:9px}.video-tab span{padding:0 3px 4px}.video-tab small{display:block;font-size:9px;color:var(--purple);font-weight:700;letter-spacing:.5px;margin-bottom:5px}.video-tab strong{font-size:12px;line-height:1.35;display:block}.hero-media .chef{right:-30px;bottom:168px;width:90px}.hero-media{scroll-margin-top:30px}@media(max-width:750px){.hero{padding-top:26px;padding-bottom:55px}.hero-media .chef{right:-5px;bottom:175px;width:78px}.video-shell video{max-height:none}.video-tab strong{font-size:12px}}@media(prefers-reduced-motion:reduce){.video-tab{transition:none}}

.app-gallery{position:relative;padding:18px 62px 90px 0;min-width:0}.app-ipad{border-width:8px;border-radius:26px;box-shadow:12px 12px 0 #e9dff4}.app-phone{position:absolute;right:0;bottom:20px;width:29%;border:6px solid #27223a;border-radius:24px;overflow:hidden;background:white;box-shadow:7px 9px 0 #ecdabf}.app-phone img{display:block;width:100%;height:auto}.app-gallery-label{font-size:14px;color:var(--purple);font-weight:600;line-height:1.5;margin:26px 0 0;max-width:70%}@media(max-width:750px){.app-gallery{max-width:540px;width:100%;justify-self:center;padding-bottom:80px}.app-phone{width:27%}.app-gallery-label{font-size:13px}}
.legal-page{max-width:960px;padding-top:55px;padding-bottom:80px}.legal-page h1{font-size:52px;letter-spacing:-1.5px;margin:0 0 15px}.legal-page #legal-date{font-size:13px;color:var(--muted);margin-bottom:40px}.legal-page h2{font-size:24px;line-height:1.4;margin:35px 0 12px}.legal-page p,.legal-page li{font-size:16px;line-height:1.85;color:#625b71}.legal-page li{padding:7px 0}.legal-page .legal-lead{font-size:18px;color:var(--ink)}.legal-page article a:not(.button){color:var(--purple);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-links{display:flex;gap:22px;align-items:center;font-size:13px}.contact-address{margin-top:24px}@media(max-width:750px){.legal-page{padding-top:35px}.legal-page h1{font-size:40px}.legal-links{flex-wrap:wrap;gap:14px}.footer .legal-links{width:100%}}

/* Crawlable parent learning guides and preview pages. */
.seo-guides{padding-block:38px 52px;border-top:1px solid var(--line)}.seo-guides h2{font-size:28px;letter-spacing:-.7px;margin:0 0 20px}.guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-links a{display:block;padding:20px;border:1px solid var(--line);border-radius:18px;background:white}.guide-links strong{display:block;font-size:19px;margin-bottom:10px}.guide-links span{display:block;color:var(--muted);font-size:14px;line-height:1.6}.watch-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-block:26px 58px}.watch-hero h1{font-size:clamp(34px,4.1vw,56px);letter-spacing:-1.5px;line-height:1.15;margin:0 0 24px}.watch-hero video{max-height:520px}.watch-note{font-size:13px;color:var(--muted)}.guide-copy{max-width:950px;padding-bottom:70px}.guide-copy section{margin-block:32px}.guide-copy h2{font-size:25px;letter-spacing:-.5px;line-height:1.35}.guide-copy p{font-size:17px;line-height:1.85;color:var(--muted)}.transcript{padding:20px 0;border-block:1px solid var(--line);font-size:16px}.transcript summary{cursor:pointer;font-weight:600}.related-guides{padding-block:20px}.related-guides a{display:block;color:var(--purple);padding-block:10px;line-height:1.6;font-weight:600}.guide-cta{padding:28px;background:#f0e5d2;border-radius:24px;margin-top:26px}.guide-cta h2{margin-top:0}.video-bottom .text-link{font-size:12px;min-height:36px;padding-top:8px}@media(max-width:750px){.guide-links{grid-template-columns:1fr}.watch-hero{grid-template-columns:1fr;gap:24px}.watch-hero .video-shell{max-width:520px;width:100%;justify-self:center}.guide-copy{padding-bottom:45px}.watch-hero h1{font-size:40px}}
/* Keep the App introduction and both device cards together on desktop. */
@media(min-width:1001px){
body[data-page="get-app"] .site-header{height:90px}
.get-hero{padding-top:10px;padding-bottom:22px;gap:44px;align-items:start}
.get-hero h1{font-size:clamp(40px,3.8vw,50px);line-height:1.08;margin:12px 0 16px}
.get-hero .subject{font-size:18px;line-height:1.4;margin-bottom:12px}
.get-hero .intro{font-size:15px;line-height:1.6;margin-bottom:12px}
.get-hero .audience{font-size:13px;line-height:1.6;margin:0 0 10px}
.get-hero .app-gallery{width:100%;max-width:510px;justify-self:end;padding:12px 56px 50px 0}
.get-hero .app-phone{width:26%;bottom:4px}
.get-hero .app-gallery-label{margin-top:18px}
body[data-page="get-app"] .device-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;row-gap:8px;padding:20px 24px;align-items:start}
body[data-page="get-app"] .device-icon{grid-column:1/-1;margin:0;font-size:11px}
body[data-page="get-app"] .device-card h2{grid-column:1;margin:0;font-size:27px}
body[data-page="get-app"] .device-card>p:not(.release-detail){grid-column:1;margin:0;font-size:14px;line-height:1.5}
body[data-page="get-app"] .release-button{grid-column:2;grid-row:2/4;align-self:center;min-height:44px;padding:10px 16px;font-size:14px}
body[data-page="get-app"] .release-detail{grid-column:1/-1;margin:0;font-size:12px!important;line-height:1.5}
body[data-page="get-app"] .setup{margin-top:32px}
}

/* Homepage previews remain fully visible, with the familiar kitchen cast. */
.hero-friends{display:flex;gap:12px;margin-top:16px;align-items:end}
.hero-friends figure{margin:0;width:62px;text-align:center;flex:none}
.friend-portrait{height:72px;overflow:hidden}
.friend-portrait img{display:block;width:62px;max-width:none;height:93px;transform:translateY(-17px)}
.hero-friends figcaption{font-size:11px;font-weight:600;color:var(--muted);margin-top:3px}
body[data-page="portal"] .hero-media{width:100%;max-width:460px;justify-self:end}
body[data-page="portal"] .hero-media video{height:clamp(260px,calc(100svh - 460px),350px);aspect-ratio:auto;max-height:none;object-fit:contain}
body[data-page="portal"] .video-top{padding:12px 16px;font-size:12px}
body[data-page="portal"] .video-bottom{padding:12px 16px}
body[data-page="portal"] .video-bottom strong{font-size:20px;margin:5px 0}
body[data-page="portal"] .video-bottom p{font-size:13px;line-height:1.5}
body[data-page="portal"] .video-tabs{margin-top:14px;gap:8px}
body[data-page="portal"] .video-tab{padding:7px;gap:6px}
body[data-page="portal"] .video-tab img{height:55px;aspect-ratio:auto;object-fit:cover}
body[data-page="portal"] .video-tab small{font-size:8px;line-height:1.3;margin-bottom:3px}
body[data-page="portal"] .video-tab strong{font-size:12px}
body[data-page="portal"] .hero-media .chef{width:70px;right:-24px;bottom:133px}
@media(min-width:1001px){
body[data-page="portal"] .site-header{height:90px}
body[data-page="portal"] .hero{padding-top:16px;gap:44px;grid-template-columns:1.12fr 1fr}
body[data-page="portal"] .hero h1{font-size:clamp(58px,5.4vw,74px);letter-spacing:-3px;margin-bottom:20px}
body[data-page="portal"] .hero .eyebrow{margin-bottom:18px}
body[data-page="portal"] .hero .subject{font-size:19px;margin-bottom:14px}
body[data-page="portal"] .hero .intro{font-size:15px;line-height:1.65;margin-bottom:12px}
body[data-page="portal"] .hero .audience{font-size:13px;margin-bottom:16px}
body[data-page="portal"] .hero-actions{gap:10px}
body[data-page="portal"] .launch-note{margin-top:12px}
}
@media(max-width:750px){
body[data-page="portal"] .hero-media{justify-self:center;max-width:460px}
body[data-page="portal"] .hero-media video{height:auto;aspect-ratio:1;max-height:390px}
body[data-page="portal"] .hero-media .chef{right:-4px;width:60px}
.hero-friends{gap:8px}
.hero-friends figure{width:52px}
.friend-portrait{height:62px}.friend-portrait img{width:52px;height:78px;transform:translateY(-14px)}
}

.hero-friends .chef-friend img{width:52px;height:78px;transform:none;margin-inline:auto}
@media(max-width:750px){.hero-friends .chef-friend img{width:44px;height:66px}}

/* Direct store download on phones, camera handoff on desktop. */
.download-row{display:flex;align-items:center;gap:22px;width:100%}
.download-row .button{white-space:normal;text-align:center}
.download-qr{display:flex;flex-direction:column;align-items:center;flex:none;gap:5px;width:112px;font-size:10px;line-height:1.35;font-weight:500;color:var(--muted);text-align:center}
.download-qr img{display:block;width:104px;height:104px;background:#fff;border:1px solid var(--line);border-radius:8px;image-rendering:pixelated}
.get-hero .download-row{margin:12px 0 8px}
.get-hero .download-row .button{font-size:16px;padding:15px 20px}
@media(max-width:750px),(hover:none){.download-qr{display:none}.download-row{gap:0}.hero-actions .download-row .button{width:auto}}
@media(min-width:1001px){.get-hero h1{font-size:46px}.get-hero .download-qr{width:96px}.get-hero .download-qr img{width:88px;height:88px}}
