@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/google-sans-400.ttf') format('truetype')}
@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/google-sans-500.ttf') format('truetype')}
@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/google-sans-700.ttf') format('truetype')}
@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/google-sans-display-400.ttf') format('truetype')}
@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/google-sans-display-500.ttf') format('truetype')}
@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/google-sans-display-700.ttf') format('truetype')}
:root{color-scheme:light;--ink:#fff;--surface:#f7f8fa;--text:#151618;--muted:#50555c;--gold:#151618;--teal:#151618;--line:#1516181a;--font:'Google Sans',Arial,sans-serif;--glass-shadow:0 4px 18px #17233b0b,0 1px 4px #17233b06;--blue-gradient:linear-gradient(180deg,#12c8eb 0%,#159cf3 52%,#2169ee 100%)}
body{background:#fff;color:#151618;font-family:var(--font)}
.shell{color:#151618}.shell :is(h1,h2,h3,p,a,.eyebrow,.creator-role,.small-print,.tag,.program-badge,.course-foot,.course-number,.material-info,.material-symbol,.round-arrow,.language-picker button,.crumbs){color:#151618}
.shell :is(h1,h2,h3,.poster-title){font-family:'Google Sans Display','Google Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.035em}.shell :is(input,button,summary){font-family:var(--font)}
.shell .brand{font-family:'Google Sans',Arial,sans-serif;color:#151618;font-weight:700}.shell .nav{color:#151618}.shell .nav a.active:after{background:#151618}.shell .nav a:hover{color:#2169ee}.shell .language-picker button{color:#151618}.shell .language-picker button.active{background:#eef1f5;border-radius:8px}.shell .language-picker button+button:before{color:#62666d}
.shell .topbar{height:80px}.poster-intro{padding-top:0}.intro-space{height:48px}.shell .poster-title{font-size:clamp(44px,8.2vw,120px);font-weight:700;line-height:.98;margin:0 0 20px}.shell .boarding{font-family:'Google Sans Display','Google Sans',sans-serif;font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-.025em;margin:0 0 24px}.poster-intro .poster-actions{position:static;margin:0 0 24px;gap:12px;line-height:1.3}.poster-hero{border-radius:10px;box-shadow:var(--glass-shadow)}.poster-hero:after{display:none}.poster-hero img{border-radius:10px}
.shell .button{color:#151618;box-shadow:var(--glass-shadow);border-radius:14px}.shell .button.gold,.shell .button.outline-action,.shell .button.gold svg,.shell .button.outline-action svg{color:#fff}.shell .button.gold{background:linear-gradient(180deg,#ff5876 0%,#ff365b 52%,#fb173b 100%)}.shell .button.outline-action{background:var(--blue-gradient)}
.shell :is(a,button,input,summary):focus-visible{outline:2px solid #2169ee;outline-offset:4px}.shell .icon{color:#151618;border-color:#15161822;background:#fff8;border-radius:10px}.shell .icon:hover{background:#edf5ff;border-color:#2169ee}
.home-search-bar{margin-top:24px;padding:12px 14px 12px 22px;min-height:72px;border-radius:14px;background:linear-gradient(125deg,#ffffffdf,#edf3fa99 48%,#ffffffc9);border:1px solid #dce2e999;box-shadow:inset 0 1px 0 #fff,0 5px 22px #2137540d;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);color:#151618}.home-search-bar input{color:#151618}.home-search-bar input::placeholder{color:#616670}.home-search-bar:focus-within{outline:2px solid #2169ee;outline-offset:3px}
.home-section{margin-top:48px}.home-section .section-head{margin-bottom:20px;gap:24px}.home-section .section-head h2{font-size:clamp(28px,2.8vw,38px)}.home-section .section-head p{margin-top:8px;color:#50555c;font-size:15px}.home-section .course-grid{gap:20px}.home-section .course-card{background:none;box-shadow:none;border:0}.home-section .course-card:hover{transform:translateY(-2px)}.home-section .course-art{border-radius:10px;box-shadow:var(--glass-shadow)}.home-section .course-content{padding:14px 0 0}.home-section .course-content h3{font-size:25px}.shell .course-content p,.shell .course-foot{color:#50555c}.shell .course-number{color:#fff}.home-language-note{background:linear-gradient(125deg,#fff,#f3f6fa90);border:1px solid #e4e8ee;border-radius:14px;box-shadow:var(--glass-shadow);padding:26px}.home-language-note p{color:#50555c}.home-language-note h3{font-size:26px}.home-language-note p{margin:12px 0 20px}.project-preview{gap:24px}.project-preview img{border-radius:10px;box-shadow:var(--glass-shadow)}.project-preview h3{font-size:29px;margin:10px 0 12px}.project-preview p{color:#50555c;margin-bottom:16px}.shell .eyebrow{color:#565c64}
.shell :is(.local-search,.course-search,.search-box,.ai-answer){background:linear-gradient(125deg,#ffffffd9,#eef3f9a6);border:1px solid #dce2e9;box-shadow:var(--glass-shadow);border-radius:12px;backdrop-filter:blur(20px) saturate(150%)}.shell :is(.local-search,.course-search,.search-box,.copy-row) input{color:#151618;background:transparent}.shell :is(.local-search,.course-search,.search-box) input::placeholder{color:#616670}.shell .search-box svg{color:#151618}.shell .category-tabs{gap:10px}.shell :is(.category-tabs button,.program-tags button){background:#fff9;border:1px solid #dfe4eb;border-radius:12px;color:#151618;box-shadow:0 2px 7px #14243b06}.shell .category-tabs button.active,.shell .program-tags button[aria-pressed=true]{background:var(--blue-gradient);color:#fff;border-color:transparent;box-shadow:0 3px 9px #2169ee20}.shell .category-tabs button.active small{color:#fff}.shell .category-tabs small{color:#62666d}.shell .material-row{border-color:#e5e8ec;padding:20px 0}.shell .material-info p{color:#50555c}.shell :is(.material-symbol,.tag,.program-badge,.round-arrow){border-color:#dce2e9;background:#f5f7fa;color:#151618}.shell .material-row .row-arrow{color:#151618}.shell .empty{border-color:#e1e6ed;color:#50555c}.shell :is(.course-card,.course-empty,.side-note,.language-notice,.about-panel,.creator){background:#fff;border-color:#e1e6ed;box-shadow:var(--glass-shadow);border-radius:12px}.shell .course-art{border-radius:10px 10px 0 0}.shell .course-hero{color:#fff}.shell .course-hero :is(h1,p,.eyebrow,.hero-bottom){color:#fff}.shell .side-note li{color:#50555c}.shell .miro-group{border-color:#dce2e9}.shell .language-hint{color:#50555c}.shell .page-intro p{color:#50555c}.shell .ai-panel summary,.shell .ai-response p,.shell .ai-toolbar strong,.shell .ai-question{color:#151618}.shell .ai-info,.shell .ai-info summary{color:#50555c}.shell .ai-info details[open]{background:#f4f6fa}.shell .search-prompts button{background:#f6f8fb;color:#151618;border-color:#dce2e9;border-radius:10px}.shell .ai-response a{color:#1459bc;border-color:#1459bc}.shell .lab-intro p{color:#50555c}.shell .lab-scene{box-shadow:var(--glass-shadow);border-color:#dce2e9}.shell .lab-sign{background:#ffffffe6;border-color:#fff;border-radius:12px;box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);color:#151618}.shell .lab-sign :is(h2,p){color:#151618}.shell .about-intro .lead,.shell .about-panel p,.shell .creator p{color:#50555c}.shell .about-page .about-panel{border-top:1px solid #dce2e9;box-shadow:none}.shell .about-page .creator{box-shadow:none}.shell .about-page .editorial-avatar{box-shadow:var(--glass-shadow);background:#f0f2f5}.shell .footer{border-top:1px solid #e1e6ed;color:#50555c;margin-top:48px;padding-top:24px}.shell .footer a{color:#151618}.shell .footer a:hover{color:#2169ee}.shell .about-page .small-print{color:#50555c}
dialog{background:#fff;color:#151618;border-color:#dce2e9;box-shadow:0 20px 70px #17233b26}dialog :is(p,h2,.eyebrow){color:#151618}.copy-row input{background:#f5f7fa;color:#151618;border-color:#dce2e9}#toast{background:#fff;color:#151618;border-color:#dce2e9;box-shadow:var(--glass-shadow)}
@media(max-width:700px){.shell .topbar{height:auto;min-height:110px}.intro-space{height:26px}.shell .poster-title{font-size:9.4vw}.shell .boarding{font-size:28px;margin:0 0 20px}.poster-intro .poster-actions{margin-bottom:20px;gap:10px}.poster-intro .poster-actions .button{font-size:12px;padding:12px 16px}.home-search-bar{margin-top:20px;min-height:66px;padding:10px 10px 10px 14px}.home-section{margin-top:36px}.home-section .section-head{margin-bottom:18px;gap:10px}.home-section .course-grid{gap:24px}.project-preview{gap:20px}.home-language-note{padding:22px}.home-language-note h3{font-size:23px}.shell .footer{margin-top:36px}.shell .catalog-tools{gap:16px}.shell .category-tabs{gap:8px}.shell .category-tabs button{padding:9px 10px}}
@media(prefers-reduced-transparency:reduce){.home-search-bar,.shell :is(.local-search,.course-search,.search-box,.ai-answer){background:#f5f7fa;backdrop-filter:none}}
/* Warm paper palette, matte actions and framed content. */
:root{--ink:#f5f2ec;--surface:#faf8f4;--accent-rust:#a64f35;--accent-pale-blue:#c5d9e6;--blue-gradient:#c5d9e6;--glass-shadow:0 3px 16px #433b2d0c,0 1px 4px #433b2d08}
body{background:#f5f2ec}.shell{background:transparent}.shell .boarding{font-size:clamp(22px,2.5vw,34px);line-height:1.3;max-width:900px}
.shell .button{border-radius:9px;box-shadow:0 0 12px #45352a1c,0 4px 10px #45352a17;transition:background-color .18s,box-shadow .18s,transform .18s}
.shell .button.gold,.shell .button.gold:hover{background:#a64f35;border:1px solid #a64f35;color:#fff;filter:none}
.shell .button.outline-action,.shell .button.outline-action:hover{background:#c5d9e6;border:1px solid #b2cadb;color:#1d3445;filter:none}
.shell .button.outline-action svg{color:#1d3445}.shell .button.gold svg{color:#fff}.shell .button:hover{box-shadow:0 0 15px #45352a23,0 5px 12px #45352a20;transform:translateY(-1px)}.shell .button.gold:hover{background:#93432e}.shell .button.outline-action:hover{background:#b7d0e1}.shell .button:active{transform:translateY(0)}
.shell .category-tabs button.active,.shell .program-tags button[aria-pressed=true]{background:#c5d9e6;color:#1d3445;border:1px solid #b2cadb;box-shadow:0 0 9px #405c7217,0 2px 6px #405c7214}.shell .category-tabs button.active small{color:#1d3445}
.home-search-bar{background:linear-gradient(125deg,#ffffffbd,#f4f2edbd);border-color:#ddd8ce;box-shadow:inset 0 1px 0 #fff,0 4px 18px #433b2d0e}.shell :is(.local-search,.course-search,.search-box,.ai-answer){background:#fff9;border-color:#ddd8ce}.home-language-note{background:#faf8f4;border-color:#ddd8ce;box-shadow:var(--glass-shadow)}.home-language-note p:last-child{margin-bottom:0}
.project-preview{max-width:none;padding:24px;border:1px solid #d9d4ca;border-radius:12px;background:#faf8f4;box-shadow:var(--glass-shadow)}.home-section .course-card{border:1px solid #d9d4ca;border-radius:12px;background:#faf8f4;overflow:hidden;box-shadow:var(--glass-shadow)}.home-section .course-content{padding:20px}.home-section .course-art{border-radius:0;box-shadow:none}.shell .material-row{border-color:#ddd8ce}.shell .footer{border-color:#ddd8ce}.shell .empty{border:1px solid #ddd8ce;background:#faf8f4;border-radius:12px}.shell .course-empty,.shell .language-notice{background:#faf8f4;border-color:#ddd8ce}
@media(max-width:700px){.shell .boarding{font-size:23px}.project-preview{padding:18px;gap:20px}.shell .button{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.shell .button{transition:none}.shell .button:hover{transform:none}}
/* Pastel: selected mockup, sunset colours reserved for controls. */
:root{--pastel-primary:linear-gradient(115deg,#5f91ae,#7764a5);--pastel-pink:#df9db5;--blue-gradient:#df9db5}
.shell .pastel-title{margin:0 0 24px;font-size:inherit;line-height:0;max-width:1140px}.pastel-title img{width:100%;height:auto;display:block}.poster-home .poster-intro{padding:0}.poster-home main>.poster-actions{position:static;display:flex;gap:12px;margin:24px 0 0;line-height:1.4;flex-wrap:wrap}
.shell .button{border-radius:7px;box-shadow:0 2px 12px #4638541c,0 4px 10px #4638540f}.shell .button.gold,.shell .button.gold:hover{background:var(--pastel-primary);border:1px solid #786ba333;color:#fff;filter:none}.shell .button.outline-action,.shell .button.outline-action:hover{background:#df9db5;border:1px solid #c989a1;color:#3e2637;filter:none}.shell .button.outline-action svg{color:#3e2637}.shell .button.gold:hover{filter:brightness(1.06)}.shell .button.outline-action:hover{background:#d68eaa}
.home-search-bar{width:76%;max-width:940px;min-height:76px;margin:48px auto 0;padding:12px 12px 12px 22px;border-radius:6px;background:linear-gradient(115deg,#ffffffbd,#f8f7fa99);border-color:#dcd8df}.home-search-bar input{font-size:16px}.home-search-bar:focus-within{outline-color:#7764a5}.shell .category-tabs button.active,.shell .program-tags button[aria-pressed=true]{background:#df9db5;color:#3e2637;border-color:#c989a1;box-shadow:0 2px 9px #7764a51b}.shell .category-tabs button.active small{color:#3e2637}.home-section{margin-top:48px}.home-language-note{max-width:none;text-align:center;padding:32px}.project-preview{grid-template-columns:1.6fr 1fr;padding:12px;gap:30px}.project-preview>div{padding:16px 18px 16px 0}.project-preview img{aspect-ratio:3.1}.shell :is(a,button,input,summary):focus-visible{outline-color:#7764a5}.shell .nav a:hover{color:#151618}
@media(max-width:700px){.shell .pastel-title{margin-bottom:20px}.pastel-title img{width:100%;height:auto}.poster-home main>.poster-actions{gap:10px;margin-top:20px}.poster-home main>.poster-actions .button{font-size:12px;padding:12px 16px;min-width:0}.home-search-bar{width:100%;margin-top:36px;min-height:68px;padding:10px 10px 10px 14px;gap:10px}.home-search-bar input{font-size:13px}.home-search-bar .button{padding:11px 14px}.home-section{margin-top:36px}.project-preview{grid-template-columns:1fr;gap:12px}.project-preview>div{padding:8px 12px 14px}.project-preview img{aspect-ratio:2.2}.home-language-note{padding:26px 18px}}
/* More breathing room for search, with almost-white sunset-tinted cards. */
:root{--pastel-card:linear-gradient(120deg,#f0f4f7 0%,#f2eff6 34%,#f8eff2 68%,#fbf1e8 100%)}
.poster-home .home-search-bar{min-height:152px;margin-top:88px;margin-bottom:88px;padding:36px 24px;border-radius:6px}
.poster-home .home-search-bar+.home-section{margin-top:0}
.shell :is(.home-language-note,.project-preview,.home-section .course-card,.material-list .empty,.course-empty,.language-notice){background:var(--pastel-card);border-color:#ded9e3;box-shadow:0 3px 16px #55466a0b}
@media(max-width:700px){.poster-home .home-search-bar{min-height:136px;margin-top:56px;margin-bottom:56px;padding:28px 14px;gap:10px}.poster-home .home-search-bar+.home-section{margin-top:0}}
.poster-hero .hero-motion{display:block;width:100%;height:auto;aspect-ratio:2.943;object-fit:cover;object-position:center 66.667%;border-radius:10px}.poster-hero .motion-toggle{position:absolute;right:14px;bottom:14px;z-index:2;background:#ffffffde;color:#20212a;border:1px solid #ffffffa0;border-radius:6px;padding:8px 12px;font:inherit;font-size:12px;box-shadow:0 2px 10px #0002;cursor:pointer;backdrop-filter:blur(12px)}
@media(max-width:700px){.poster-hero .hero-motion{aspect-ratio:1.5;object-position:64% 66.667%}.poster-hero .motion-toggle{right:10px;bottom:10px;padding:7px 10px}}
.poster-hero .motion-toggle{line-height:1.3;min-height:32px}
/* Irregular near-white sunset washes; calm translucent beige panels. */
body{background-color:#f8f6f2;background-image:radial-gradient(ellipse 65% 30% at 8% 5%,#c9dcf22b,transparent 75%),radial-gradient(ellipse 50% 24% at 94% 27%,#d1c2eb2b,transparent 75%),radial-gradient(ellipse 58% 20% at 25% 48%,#efc4d832,transparent 78%),radial-gradient(ellipse 48% 24% at 80% 69%,#ffd9b72b,transparent 75%),radial-gradient(ellipse 56% 18% at 12% 92%,#d3c9eb2b,transparent 75%);background-repeat:no-repeat;background-size:100% 100%}
:root{--pastel-card:#f5efe4a8;--sunset-action:linear-gradient(115deg,#dfa6bd,#edb0b6 52%,#f3be98)}
.shell :is(.home-language-note,.project-preview,.home-section .course-card,.material-list .empty,.course-empty,.language-notice,.about-panel,.side-note){background:var(--pastel-card);border-color:#ddd5c6b3;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.poster-home .hero-toolbar{display:flex;gap:24px;align-items:center;width:100%;margin-top:24px;margin-bottom:48px}.poster-home .hero-toolbar .poster-actions{display:flex;gap:12px;flex-shrink:0;margin:0;line-height:1.4}.poster-home .hero-toolbar .home-search-bar{flex:1;width:auto;max-width:none;min-width:0;min-height:48px;height:48px;margin:0;padding:5px 6px 5px 14px;border-radius:7px;gap:10px;background:#f5efe4a8;border-color:#ddd5c6b3;backdrop-filter:blur(18px)}.hero-toolbar .home-search-bar input{font-size:14px;padding:7px 0}.hero-toolbar .home-search-bar>svg{width:20px;height:20px}.hero-toolbar .home-search-bar .button{min-height:36px;padding:7px 15px;font-size:12px}.poster-home .hero-toolbar+.home-section{margin-top:0}
.shell .button.gold,.shell .button.outline-action,.shell .button.gold:hover,.shell .button.outline-action:hover{background:var(--sunset-action);color:#392b38;border:1px solid #d29aab55}.shell .button.gold svg,.shell .button.outline-action svg{color:#392b38}.shell .button:hover{filter:brightness(1.025)}.shell .category-tabs button.active,.shell .program-tags button[aria-pressed=true]{background:var(--sunset-action);color:#392b38;border-color:#d29aab55}.shell .category-tabs button.active small{color:#392b38}.shell :is(.local-search,.course-search,.search-box,.ai-answer){background:#f5efe4a8;border-color:#ddd5c6b3}
@media(max-width:1050px){.poster-home .hero-toolbar{gap:16px}.poster-home .hero-toolbar .poster-actions{gap:10px}.hero-toolbar .poster-actions .button{padding-inline:16px;min-width:0}.hero-toolbar .home-search-bar input{font-size:13px}}
@media(max-width:700px){.poster-home .hero-toolbar{flex-wrap:wrap;gap:18px;margin-top:20px;margin-bottom:36px}.poster-home .hero-toolbar .poster-actions{flex:1;gap:10px}.poster-home .hero-toolbar .poster-actions .button{font-size:12px;padding:11px 14px;min-height:44px}.poster-home .hero-toolbar .home-search-bar{flex-basis:100%;height:52px;min-height:52px;padding:6px 7px 6px 12px}.hero-toolbar .home-search-bar .button{min-height:36px;padding:8px 13px}.poster-home .hero-toolbar+.home-section{margin-top:0}}
/* Keep primary blue-violet actions; only secondary pink actions use sunset. */
.shell .button.gold,.shell .button.gold:hover{background:linear-gradient(115deg,#5f91ae,#7764a5);border:1px solid #786ba333;color:#fff}.shell .button.gold svg{color:#fff}
/* Three calm scroll chapters, with a material-grounded Gemini panel. */
.home-screen{scroll-margin-block:40px}.home-gemini{width:100%;padding:14px 18px;border:1px solid #ddd5c6b3;border-radius:10px;background:#f5efe4a8;box-shadow:0 3px 16px #55466a0b;backdrop-filter:blur(18px);min-width:0}.gemini-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.gemini-heading strong{font-size:14px;font-weight:500}.gemini-heading details{font-size:11px;position:relative}.gemini-heading summary{cursor:pointer}.gemini-heading details p{position:absolute;right:0;top:24px;width:min(360px,75vw);padding:18px;background:#fbf7f0;border:1px solid #ddd5c6;border-radius:8px;box-shadow:0 5px 24px #0002;z-index:5;line-height:1.7}.gemini-placeholder{font-size:13px;line-height:1.5;color:#50555c!important;margin:12px 0}.home-gemini .ai-answer{max-height:220px;overflow:auto;margin:12px 0;padding:16px;background:#fff5;border:0;box-shadow:none;border-radius:6px}.home-gemini .ai-question{font-size:14px}.home-gemini .ai-response p{font-size:14px;line-height:1.6}.home-gemini .ai-response a{display:block;font-size:13px}.home-gemini .basis{font-size:11px}.gemini-examples{display:flex;flex-wrap:wrap;gap:10px 18px;border-top:1px solid #ded8cf;padding-top:10px;font-size:11px;align-items:baseline}.gemini-examples>span{color:#50555c}.gemini-examples details{flex:1;min-width:200px}.gemini-examples summary{cursor:pointer}.gemini-examples p{line-height:1.6;margin:12px 0;font-size:13px}.gemini-examples .text-link{font-size:12px}.shell .text-link[data-lang]{color:#3e344b;background:none;border:0}.discovery-screen{display:flex;flex-direction:column;justify-content:center;gap:48px}.discovery-screen>.home-section{margin-top:0}.materials-screen{display:flex;flex-direction:column;justify-content:center}.materials-screen .catalog-tools{margin-top:0}.poster-home .opening-screen .hero-toolbar{margin:0}.poster-home .opening-screen .poster-intro{padding:0}.poster-home .opening-screen .pastel-title{margin:0}.poster-home .opening-screen .home-search-bar{margin:0}
@media(min-width:901px){html.home-snap{scroll-snap-type:y proximity;scroll-padding-top:0}.poster-home>.topbar{height:80px}.opening-screen{height:calc(100svh - 80px);min-height:600px;display:flex;flex-direction:column;gap:16px;padding:16px 0 28px;scroll-snap-align:start;scroll-margin-top:80px}.opening-screen .poster-intro{flex:none}.opening-screen .intro-space{display:none}.opening-screen .pastel-title img{height:clamp(96px,18svh,224px);width:auto;max-width:100%;object-fit:contain;object-position:left}.opening-screen .poster-hero{flex:1;min-height:160px;overflow:hidden}.opening-screen .poster-hero .hero-motion{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center 62%}.opening-screen .hero-toolbar,.opening-screen .home-gemini{flex:none}.opening-screen .home-gemini{min-height:100px}.opening-screen:has(.home-gemini details[open],.ai-answer:not([hidden])){height:auto;min-height:calc(100svh - 80px)}.opening-screen:has(.home-gemini details[open],.ai-answer:not([hidden])) .poster-hero{flex:none;height:clamp(210px,35svh,500px)}.discovery-screen,.materials-screen{min-height:100svh;padding:96px 0;scroll-snap-align:center;margin-top:80px;scroll-margin-block:0}.discovery-screen .home-language-note{padding:28px}.discovery-screen .project-preview img{max-height:280px}.materials-screen{margin-bottom:64px}.poster-home .footer{margin-top:0}}
@media(max-width:900px){.opening-screen{display:flex;flex-direction:column;gap:20px}.opening-screen .intro-space{height:24px}.opening-screen .pastel-title{margin-bottom:0}.opening-screen .poster-hero{flex:none}.opening-screen .hero-toolbar{margin-top:0;margin-bottom:0}.home-gemini{padding:16px}.discovery-screen{margin-top:64px;gap:40px}.materials-screen{margin-top:64px!important;margin-bottom:48px}.gemini-examples{display:block}.gemini-examples details{margin-top:12px}.gemini-placeholder{font-size:13px}}
@media(prefers-reduced-motion:reduce){html.home-snap{scroll-snap-type:none}}
/* Scheduled refinement: consistent Pastel surfaces across the entire platform. */
:root{--round:18px;--round-small:12px}
#app>.shell{min-height:100svh;display:flex;flex-direction:column}#app>.shell>main{flex:1}.shell .site-footer{flex:none;margin-top:auto}.site-footer{display:grid!important;grid-template-columns:1.3fr .7fr 1fr;gap:40px;padding:32px 0 28px!important;line-height:1.65;align-items:start!important;border-top:1px solid #dcd5ce}.site-footer strong{font-size:18px;font-weight:500}.site-footer h3{font-size:14px;letter-spacing:0;margin:0 0 12px}.site-footer p{font-size:12px;max-width:360px;margin:12px 0;color:#50555c!important}.site-footer small{font-size:11px;color:#50555c}.site-footer nav{display:flex;flex-direction:column;gap:6px}.site-footer a{font-size:12px;overflow-wrap:anywhere}.shell .site-footer{margin-top:48px}
.shell .language-picker button.active,.viewer-shell .language-picker button.active{background:linear-gradient(115deg,#5f91ae,#7764a5)!important;color:#fff!important;border-radius:10px}.language-picker button+button:before{display:none!important}.language-picker{gap:8px!important}.language-picker button{padding:5px 8px!important}
.shell .program-badge{background:linear-gradient(115deg,#5f91ae,#7764a5);color:#fff;border:0;border-radius:10px;padding:6px 10px}.shell .course-number{color:#f8f6f2;background:none}.home-section .course-art{aspect-ratio:2!important;height:auto!important;min-height:0;border-radius:18px 18px 0 0}.home-section .course-content{padding:18px}.home-section .course-content h3{font-size:23px}.home-section .course-content p{font-size:14px}.home-section .course-card{border-radius:18px;overflow:hidden}
.shell :is(.poster-hero,.hero-motion,.project-preview,.home-language-note,.home-gemini,.home-search-bar,.local-search,.course-search,.ai-answer,.course-empty,.language-notice,.about-panel,.creator,.lab-scene,.lab-sign,.material-list .empty){border-radius:var(--round)!important}.shell .button{border-radius:var(--round-small)}.shell .project-preview img{border-radius:14px}.shell .category-tabs button{border-radius:12px}
.home-gemini{margin:0 0 12px;scroll-margin-top:40px;min-height:180px}.home-gemini .ai-answer{max-height:360px}.gemini-question-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.gemini-question-chips button{border:1px solid #d8cfdb;background:#f5efe4ba;border-radius:10px;padding:8px 12px;box-shadow:0 2px 8px #55466a08;color:#443650;font:inherit;font-size:12px;cursor:pointer}.gemini-question-chips button:hover{background:#ece4f0}.materials-screen{justify-content:flex-start;padding-top:72px}.home-screen{transition:opacity .35s ease,transform .5s ease}.chapter-fade-out{opacity:.15;transform:translateY(-12px)}.chapter-fade-in{opacity:0;transform:translateY(16px)}
@media(min-width:901px){.opening-screen{padding-top:100px;height:calc(100svh - 80px);min-height:660px}.opening-screen .pastel-title img{height:clamp(96px,18svh,210px)}.opening-screen .poster-hero{min-height:180px}.discovery-screen{gap:40px}.materials-screen{scroll-snap-align:start;padding-top:72px}.opening-screen:has(.ai-answer:not([hidden])){height:calc(100svh - 80px);min-height:660px}.opening-screen:has(.ai-answer:not([hidden])) .poster-hero{flex:1;height:auto}}
/* About: typographic introduction and author cards without portraits. */
.shell .about-page{padding-top:72px;padding-bottom:72px}.shell .about-page .about-intro{max-width:1040px;margin-bottom:48px}.shell .about-page .about-intro h1{font-size:clamp(38px,5vw,68px);max-width:950px}.shell .about-page .about-intro .lead{font-size:19px;max-width:780px}.shell .about-page .about-layout{gap:24px;margin-bottom:56px}.shell .about-page .about-panel{border:1px solid #ddd5c6b3;padding:28px;background:#f5efe4a8;box-shadow:0 3px 16px #55466a0b}.shell .about-page .creators{gap:24px}.shell .about-page .creator{padding:30px;border:1px solid #ddd5c6b3;background:#f5efe4a8;box-shadow:0 3px 16px #55466a0b}.shell .about-page .creator-role{margin-top:0}.shell .about-page .creator h3{font-size:29px}.shell .about-page .creator a{padding:10px 15px;border-radius:12px;background:linear-gradient(115deg,#5f91ae,#7764a5);color:#fff;font-size:13px}.shell .about-page .small-print{border-top:1px solid #ddd5c6b3;padding-top:24px}
/* Laboratory: the same quiet framed layout, not a separate visual theme. */
.shell .lab-intro{padding-top:72px;display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;margin-bottom:32px}.shell .lab-intro .eyebrow{grid-column:1/-1}.shell .lab-intro h1{font-size:clamp(40px,5vw,68px);line-height:1.05}.shell .lab-intro p{font-size:17px;line-height:1.7}.shell .lab-scene{aspect-ratio:2.7;background:#f5efe4a8;border:1px solid #ddd5c6b3;overflow:hidden;box-shadow:0 6px 25px #55466a12}.shell .lab-scene img{width:100%;height:100%;object-fit:cover;object-position:center}.shell .lab-sign{padding:20px 24px;background:#f5efe4e6;border:1px solid #fff9;box-shadow:0 3px 16px #55466a18}.shell .lab-sign h2{font-size:24px}.shell .lab-caption{padding:20px 0 48px;gap:24px;font-size:12px}
/* Lecture viewer follows the light Pastel UI without changing the teaching content. */
.viewer-shell{min-height:100svh;color:#20212a;max-width:1500px;margin:auto;padding:0 40px;display:flex;flex-direction:column}.viewer-shell>main{flex:1}.viewer-top{background:transparent;border-bottom:1px solid #dcd5ce;color:#20212a;padding:20px 0}.viewer-top :is(a,button,.brand,.crumbs){color:#20212a}.viewer-head{padding:28px 0 20px;color:#20212a}.viewer-head h2{color:#20212a;font:500 24px var(--font)}.viewer-head .eyebrow{color:#50555c}.viewer-actions{flex-wrap:wrap;gap:10px}.viewer-shell .button{border-radius:12px;background:#f5efe4bb;border:1px solid #dcd5ce;color:#20212a;box-shadow:0 2px 10px #55466a12}.viewer-shell .button.gold{background:linear-gradient(115deg,#5f91ae,#7764a5);color:#fff;border:0}.viewer-shell .icon{color:#20212a;border-color:#dcd5ce;background:#f5efe4bb;border-radius:12px}.viewer-shell .slide-stage{background:#f5efe4bd!important;color:#20212a;border:1px solid #ddd5c6b3;border-radius:22px;box-shadow:0 8px 32px #55466a14;--text:#20212a;--muted:#515560;--gold:#67549a;--teal:#52758e;--ink:#f5efe4}.slide-stage.cover:before{background:linear-gradient(90deg,#f5efe4ed,#f5efe4ba 60%,#f5efe430),url('/assets/poster-market.webp') center/cover!important}.viewer-shell .slide-stage :is(h1,h2,h3,p,.lead,.stage-top,.photo-explanation,.slide-purpose,.slide-tag,.chapter-question,.chapter-bottom,.chapter-intro,.photo-context,.teaching-notes,.photo-facts,.measure-definitions){color:#20212a}.viewer-shell .chapter-art{background:#f0e9f5!important;color:#20212a;border-radius:20px}.viewer-shell .chapter-art:before{opacity:.12}.viewer-shell .chapter-art .chapter-symbol{color:#7764a51a}.viewer-shell .slide-stage h1{font-family:'Google Sans Display',var(--font);font-weight:500}.viewer-shell .slide-stage .lecture-content{color:#20212a}.viewer-shell .slide-stage :is(.teaching-notes article,.evidence-stats>div,.ownership-map article,.section-question,.lecture-option,.vote-option,.story-option,.lecture-tile){background:#ffffff80;border-color:#d9d1dd;color:#20212a;border-radius:14px}.viewer-shell :is(.viewer-bottom,.slide-count,.key-hint,.resource-strip,.resource-strip .text-link){color:#50555c}.viewer-shell .outline,.viewer-shell .resource-drawer{background:#f5efe4e0;border:1px solid #ddd5c6b3;color:#20212a;border-radius:18px}.viewer-shell .outline button{color:#20212a}.viewer-shell .outline button.active{background:linear-gradient(115deg,#5f91ae,#7764a5);color:#fff}.viewer-shell :is(.resource-drawer h3,.resource-drawer p,.source-links a){color:#20212a}.viewer-shell .teaching-table :is(th,td){color:#20212a;background:#fff8;border-color:#dcd5ce}.viewer-shell .poll-track{background:#ded8e2}.viewer-shell .poll-tools input{background:#fff;color:#20212a}.viewer-shell .photo-context{border-color:#dcd5ce}.viewer-shell .dominant-photo{border-radius:16px}.viewer-shell .site-footer{margin-top:40px}.viewer-shell .pdf-stage{border:1px solid #ddd5c6b3;border-radius:20px;overflow:hidden}.viewer-shell .pdf-text{color:#20212a;background:#f5efe4aa;border-radius:12px}.viewer-shell .pdf-fallback{background:#f5efe4;color:#20212a}
@media(max-width:900px){.shell .opening-screen{height:calc(100svh - var(--mobile-header-height,110px));min-height:520px;padding:32px 0 22px;gap:16px}.opening-screen .intro-space{display:none}.opening-screen .poster-intro{flex:none}.opening-screen .poster-hero{flex:1;min-height:180px}.opening-screen .poster-hero .hero-motion{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:91% 65%}.opening-screen .hero-toolbar{flex:none;flex-direction:column;align-items:stretch;gap:12px}.opening-screen .hero-toolbar .poster-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px}.opening-screen .hero-toolbar .poster-actions .button{width:100%;min-width:0;justify-content:center;white-space:normal;text-align:center;font-size:12px;padding:12px 8px;min-height:44px}.opening-screen .hero-toolbar .home-search-bar{width:100%;flex-basis:auto;min-height:48px;height:48px}.materials-screen{padding-top:32px}.discovery-screen{margin-top:64px}.site-footer{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.shell .about-page{padding-top:40px}.shell .about-page .about-layout{grid-template-columns:1fr}.shell .lab-intro{grid-template-columns:1fr;padding-top:40px;gap:20px}.shell .lab-scene{aspect-ratio:1.35}.viewer-shell{padding:0 18px}.viewer-top{gap:12px;flex-wrap:wrap}.viewer-head{display:block}.viewer-actions{margin-top:18px;display:flex}.viewer-shell .slide-stage{padding:20px;border-radius:18px}.viewer-shell .viewer-bottom{flex-wrap:wrap;gap:18px}.viewer-shell .key-hint{display:none}.viewer-shell .controls{margin-left:auto}.viewer-shell .slide-stage h1{font-size:clamp(26px,5vw,42px)}.viewer-shell .stage-top{font-size:10px}.home-section .course-art{aspect-ratio:2!important}}
@media(max-width:500px){.site-footer{grid-template-columns:1fr;gap:24px}.footer-brand{grid-column:auto}.shell .creators{grid-template-columns:1fr}.shell .about-page .creator{padding:24px}.opening-screen .hero-toolbar .home-search-bar input{font-size:12px}.opening-screen .pastel-title img{width:100%}.home-screen{transition:none}}
@media(prefers-reduced-motion:reduce){.home-screen{transition:none!important;transform:none!important;opacity:1!important}html.home-snap{scroll-snap-type:none}}
/* Complete lecture printing, not just the currently visible slide. */
#lecture-print{display:none}.print-preview #app{display:none}.print-preview #lecture-print{display:block;padding:24px;max-width:1300px;margin:auto}.print-toolbar{padding:24px;border-radius:18px;background:#f5efe4;border:1px solid #ddd5c6;margin-bottom:24px}.print-toolbar p{margin:12px 0}.print-toolbar .button{margin-right:12px;color:#20212a;border-color:#dcd5ce;background:#fff}.print-toolbar .button.gold{background:linear-gradient(115deg,#5f91ae,#7764a5);color:#fff}.print-preview .print-slide{background:#fff!important;color:#20212a;margin:24px 0;padding:30px;border:1px solid #ddd5c6;border-radius:16px;min-height:600px}.print-page-label{font-size:11px;border-bottom:1px solid #ccc;padding-bottom:8px;margin-bottom:14px;color:#555}.print-preview :is(.class-poll,.poll-tools,.poll-results,.vote-panel,.stage-top){display:none!important}
@media print{@page{size:A4 landscape;margin:10mm}html,body{background:white!important;color:black!important;margin:0!important;padding:0!important;overflow:visible!important}body>*:not(#lecture-print){display:none!important}#lecture-print{display:block!important;padding:0!important;max-width:none!important}.print-toolbar{display:none!important}.print-slide{page-break-after:always;break-after:page;break-inside:avoid;width:277mm!important;height:auto!important;min-height:180mm!important;overflow:visible!important;box-sizing:border-box;padding:6mm!important;margin:0!important;border:0!important;border-radius:0!important;background:white!important;color:#111!important;box-shadow:none!important;font-size:11pt!important;--text:#111;--muted:#444;--gold:#111;--teal:#333;--ink:#fff}.print-slide:last-child{break-after:auto;page-break-after:auto}.print-slide:before,.print-slide:after{display:none!important}.print-slide *{color:#111!important;text-shadow:none!important;box-shadow:none!important;animation:none!important}.print-slide h1{font:700 23pt 'Google Sans',sans-serif!important;margin:10px 0!important}.print-slide h2,.print-slide h3{font-size:13pt!important}.print-slide p,.print-slide li,.print-slide td,.print-slide th{font-size:10pt!important;line-height:1.35!important}.print-slide .lead{font-size:13pt!important}.print-slide .dominant-photo{height:78mm!important;width:100%!important;object-fit:cover!important}.print-slide .real-photo-slide figure{margin:8px 0!important}.print-slide .photo-title{margin-bottom:8px!important}.print-slide .photo-context p{font-size:9pt!important;margin:5px 0!important}.print-slide .lecture-content{padding:0!important}.print-slide .chapter-art{background:#f5f5f5!important;padding:20px!important;min-height:0!important}.print-slide :is(button,input,select,.class-poll,.poll-tools,.poll-results,.vote-panel,.key-hint,.chapter-symbol,.question-mark){display:none!important}.print-slide details{display:block!important}.print-slide summary{display:none!important}.print-slide .teaching-notes{gap:12px!important;margin-top:12px!important}.print-slide .teaching-notes article{padding:10px!important}.print-slide .stage-top{font-size:9pt!important}.print-slide .slide-source{font-size:8pt!important}.print-slide .source-links a{font-size:8pt!important}.print-slide .lecture-options,.print-slide .ownership-map{gap:10px!important}.print-slide .lecture-option{padding:10px!important}.print-slide .case-photo img{height:50mm!important}.print-slide .evidence-stats{margin:8px 0!important}.print-slide .stage-footer{display:none!important}}

#reset-chat{color:#605185;background:transparent;border:0}.ai-toolbar{color:#20212a}.viewer-shell .footer a{color:#20212a}

.print-preview #lecture-print{color:#20212a}.print-preview .print-toolbar p,.print-preview .print-slide :is(h1,h2,h3,p,li,small){color:#20212a}.print-preview .print-slide:before{display:none!important}
/* Balanced opening, centered menu and independent assistant section. */
.shell>.topbar{display:grid;grid-template-columns:1fr auto 1fr;position:relative;align-items:center;gap:24px}.shell>.topbar>.nav{grid-column:2;justify-self:center;display:flex;justify-content:center;margin:0}.shell>.topbar>.top-right{grid-column:3;justify-self:end}.mobile-menu-toggle{display:none}.shell .brand{display:block;width:160px;flex:none}.brand .brand-wordmark{display:block!important;width:160px;height:auto;max-height:44px;object-fit:contain;object-position:left}.brand-placeholder{width:160px}.viewer-top .brand,.viewer-top .brand-wordmark{width:150px}
.gemini-screen{padding:80px 0;scroll-snap-align:start;scroll-margin-top:40px}.gemini-screen .home-gemini{padding:32px;min-height:230px;background:radial-gradient(ellipse at 5% 0%,#c6dfebaa,transparent 65%),radial-gradient(ellipse at 95% 100%,#f6c9ad99,transparent 65%),linear-gradient(120deg,#e9e4f1,#f5e4ec 70%,#f6ede2);border:1px solid #d6cce1;box-shadow:0 8px 32px #75628818}.gemini-heading h2{font-size:26px;line-height:1.2;font-weight:500;margin:0}.gemini-screen .gemini-placeholder{margin-top:24px}.gemini-screen .gemini-question-chips{margin:14px 0 0}.gemini-screen .ai-answer{max-height:460px;background:#fff8}.gemini-screen+.materials-screen{margin-top:0;padding-top:64px}
@media(min-width:901px){.shell .opening-screen{height:calc(100svh - 80px);min-height:600px;padding:clamp(72px,9svh,120px) 0;justify-content:center;gap:16px}.opening-screen .poster-hero{flex:1;min-height:140px;max-height:38svh}.opening-screen .pastel-title img{height:clamp(96px,16svh,190px)}.opening-screen .hero-toolbar{margin:0}.discovery-screen{margin-top:0}.opening-screen .poster-hero .hero-motion{object-position:center 65%}.gemini-screen{min-height:0;padding:100px 0;scroll-snap-align:start}}
@media(max-width:900px){.shell>.topbar{display:grid;grid-template-columns:1fr auto 1fr;min-height:76px;height:76px;gap:12px;padding:16px 0}.shell>.topbar .brand-placeholder{display:none}.shell>.topbar .brand{width:120px;grid-column:1;grid-row:1}.shell>.topbar .brand-wordmark{width:120px;max-height:36px}.mobile-menu-toggle{display:flex;grid-column:2;grid-row:1;gap:10px;align-items:center;justify-content:center;justify-self:center;border:1px solid #ded5df;background:#f5efe4c9;color:#20212a;border-radius:12px;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer}.shell>.topbar>.top-right{grid-column:3;grid-row:1}.shell>.topbar>.nav{display:none;position:absolute;top:calc(100% - 4px);left:0;right:0;z-index:30;padding:12px;background:#f8f3ecef;border:1px solid #ded5df;box-shadow:0 12px 30px #55466a1a;border-radius:16px;backdrop-filter:blur(20px);flex-direction:column;align-items:stretch;gap:0;width:100%}.shell>.topbar.menu-open>.nav{display:flex}.shell>.topbar>.nav a{padding:13px 16px;border-radius:9px}.shell>.topbar>.nav a:hover{background:#e8e0ee}.shell .opening-screen{padding:40px 0;min-height:480px}.gemini-screen{padding:48px 0}.gemini-screen .home-gemini{padding:24px;min-height:210px}.gemini-heading h2{font-size:23px}.gemini-screen+.materials-screen{padding-top:32px}.discovery-screen{margin-top:0}}
@media(max-width:900px){.shell>.topbar>.nav{grid-column:1/-1;width:auto;max-width:none;box-sizing:border-box;justify-self:stretch}.shell .opening-screen .poster-hero .hero-motion{object-position:91% 65%}}
/* Stronger section hierarchy and content-driven storage. */
.poster-home .section-head h2,.gemini-heading h2{font-size:clamp(30px,3.1vw,44px);font-weight:700;line-height:1.12;letter-spacing:-.035em;color:#151618}.poster-home #home-materials{height:auto;min-height:0;padding-top:0;padding-bottom:48px;justify-content:flex-start;scroll-margin-top:32px}.gemini-screen{padding-bottom:40px}.gemini-screen+.materials-screen{margin-top:0;padding-top:0}.gemini-screen .home-gemini{display:flex;flex-direction:column}.gemini-composer{display:flex;align-items:center;gap:12px;margin-top:24px;padding:8px;background:#fff9;border:1px solid #d4c9dc;border-radius:14px}.gemini-composer input{flex:1;min-width:0;width:100%;font:inherit;font-size:15px;background:transparent;color:#20212a;border:0;padding:10px 12px;outline:none}.gemini-composer:focus-within{outline:2px solid #7c6ba6;outline-offset:2px}.gemini-composer .button{flex:none;min-height:44px}.gemini-screen .ai-answer{overscroll-behavior:auto}.poster-hero video{pointer-events:none}
@media(max-width:700px){.poster-home .section-head h2,.gemini-heading h2{font-size:30px}.gemini-composer{gap:6px}.gemini-composer input{font-size:14px;padding:10px 6px}.gemini-composer .button{padding:10px 14px}.gemini-screen{padding-bottom:32px}.poster-home #home-materials{padding-top:0}}
/* Experimental desktop L silhouette: the image drops to the right of the controls. */
.hero-composition{min-width:0;position:relative}.opening-screen .hero-composition .poster-hero{margin:0}.hero-composition .hero-toolbar{width:auto}
@media(min-width:901px){.opening-screen .hero-composition{--action-cut:440px;flex:1;min-height:240px;max-height:calc(38svh + 76px);background:#fff;border-radius:18px;overflow:hidden}.opening-screen .hero-composition .poster-hero{width:100%;height:100%;min-height:0;max-height:none;clip-path:polygon(0 0,100% 0,100% 100%,var(--action-cut) 100%,var(--action-cut) calc(100% - 76px),0 calc(100% - 76px));border-radius:18px;box-shadow:none}.opening-screen .hero-composition .hero-toolbar{position:absolute;bottom:0;left:0;z-index:2;width:var(--action-cut);height:76px;padding:20px 20px 0 0;margin:0;align-items:flex-end;background:#fff;border-radius:0 18px 0 0}.opening-screen .hero-composition .poster-actions{width:100%;display:flex;gap:12px}.opening-screen .hero-composition .poster-actions .button{flex:1;min-width:0;text-align:center;justify-content:center;white-space:nowrap;padding:13px 16px}.opening-screen .hero-composition .hero-motion{height:100%;width:100%;object-fit:cover;object-position:center 65%}}
/* A dedicated, centred conversation chapter. */
.poster-home .gemini-screen{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 0;gap:16px;scroll-snap-align:center;scroll-margin:0}.gemini-screen .home-gemini{width:100%;min-height:clamp(360px,54svh,640px);padding:40px;margin:0;display:flex;flex-direction:column}.gemini-screen .gemini-composer{margin-top:auto}.gemini-screen .ai-answer{flex:1;max-height:40svh}.gemini-screen .gemini-question-chips{width:100%;justify-content:center;margin:0}.gemini-screen .gemini-placeholder{padding-bottom:32px}.gemini-screen .gemini-heading{margin-bottom:12px}.gemini-screen .gemini-composer{flex-shrink:0}
@media(max-width:900px){.opening-screen .hero-composition{display:flex;flex-direction:column;flex:1;min-height:240px;gap:16px}.opening-screen .hero-composition .poster-hero{flex:1;min-height:180px;max-height:none}.opening-screen .hero-composition .hero-toolbar{flex:none;margin:0}.opening-screen .hero-composition .poster-actions{display:grid;grid-template-columns:1fr 1fr}.poster-home .gemini-screen{min-height:100svh;padding:48px 0;gap:16px}.gemini-screen .home-gemini{padding:24px;min-height:60svh}.gemini-screen .gemini-heading{align-items:flex-start}.gemini-screen .gemini-question-chips{justify-content:flex-start}.gemini-screen .gemini-composer{margin-top:auto}}
/* Mobile navigation lives in a right-hand hamburger, including language choice. */
.mobile-menu-language{display:none}.shell .program-badge,.viewer-shell .program-badge{color:#fff!important;-webkit-text-fill-color:#fff!important}
@media(max-width:900px){.shell>.topbar>.mobile-menu-toggle{grid-column:3;justify-self:end;width:44px;height:44px;padding:11px;border-radius:12px}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:16px}.hamburger i{display:block;width:100%;height:2px;border-radius:2px;background:currentColor}.shell>.topbar>.top-right{display:none}.shell>.topbar>.nav .mobile-menu-language{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px 6px;border-top:1px solid #ded5df;margin-top:8px;font-size:13px}.mobile-menu-language .language-picker{display:flex;gap:8px}.mobile-menu-language .language-picker button{min-width:42px;min-height:38px}.shell>.topbar>.nav{right:0;left:auto;width:min(320px,100%);grid-column:1/-1;justify-self:end}}
/* A single radius for every visible control and surface. */
:root{--ui-radius:18px;--round:18px;--round-small:18px}
#app :is(button,.button,input,select,textarea,dialog,details,.icon,.tag,.program-badge,.category-tabs button,.course-card,.course-art,.creator,.creator-avatar,.project-preview,.about-panel,.home-language-note,.home-gemini,.ai-answer,.gemini-composer,.gemini-question-chips button,.local-search,.search-box,.search-wrap,.home-search-bar,.material-row,.material-symbol,.empty,.course-empty,.language-notice,.lab-scene,.lab-sign,.slide-stage,.outline,.resource-drawer,.pdf-stage,.pdf-text,.round-arrow,.teaching-notes article,.lecture-option,.vote-option,figure,img,video){border-radius:var(--ui-radius)!important}
.gemini-screen .gemini-question-chips{justify-content:flex-start}.poster-home #home-materials{margin-top:clamp(100px,14svh,180px)!important}.gemini-screen+.materials-screen{padding-top:0}
@media(min-width:901px){.opening-screen .hero-composition{display:flex;flex-direction:column;flex:1;gap:20px;min-height:220px;max-height:none;background:transparent;border-radius:var(--ui-radius);overflow:visible}.opening-screen .hero-composition .poster-hero{flex:1;width:100%;height:auto;min-height:140px;max-height:38svh;clip-path:none;box-shadow:0 4px 20px #55466a10}.opening-screen .hero-composition .hero-toolbar{position:static;width:100%;height:auto;flex:none;padding:0;background:transparent;border-radius:var(--ui-radius);align-items:center}.opening-screen .hero-composition .poster-actions{width:auto;display:flex;gap:12px}.opening-screen .hero-composition .poster-actions .button{flex:none;min-width:190px;padding:13px 20px}}
@media(max-width:900px){.poster-home #home-materials{margin-top:80px!important}.opening-screen .hero-composition .poster-actions .button{min-width:0}}
#app .pastel-title img,#app .brand-wordmark{border-radius:0!important}#app #main-navigation{border-radius:var(--ui-radius)!important}
/* Centre the actual opening content, including its controls, in the available desktop viewport. */
@media(min-width:901px){.shell .opening-screen{justify-content:center;min-height:600px;height:calc(100svh - 80px);padding:56px 0;gap:20px}.opening-screen .hero-composition{flex:none!important;height:calc(clamp(200px,36svh,460px) + 68px);min-height:0!important;max-height:none!important}.opening-screen .hero-composition .poster-hero{flex:none;height:clamp(200px,36svh,460px);min-height:0;max-height:none}.opening-screen .pastel-title img{height:clamp(96px,16svh,190px)}}

/* Deliberate exceptions to the shared UI radius: identity and straight dividers. */
:root{--page-paper:#f8f6f2}
#app .brand,#app .brand-wordmark,#app .pastel-title img,#app .material-row{border-radius:0!important}
#app .course-hero,#app .side-note{border-radius:var(--ui-radius)!important;overflow:hidden}
#app .course-number{color:var(--page-paper)!important;background:transparent!important}
#app .gemini-composer{background:#fff!important}
#app .gemini-question-chips button,#app .local-search,#app .course-search,#app .search-box,#app .category-tabs button:not(.active),#app .material-symbol,#app .round-arrow,#app .tag{background:#fff!important}
#app .program-badge{color:#fff!important}
.poster-home #home-materials{justify-content:flex-start;scroll-snap-align:start;scroll-margin:0;padding-top:0;min-height:calc(100svh - 48px);height:auto}
html.home-snap{scroll-snap-type:y proximity}
@media(max-width:900px){.home-screen{scroll-snap-align:start;scroll-margin:0}.poster-home .materials-screen{scroll-snap-align:start}}
@media(prefers-reduced-motion:reduce){html.home-snap{scroll-snap-type:none}.home-screen{transition:none!important}}

/* Shared surfaces across home, catalogue, courses, creators and laboratory. */
:root{--surface-shadow:0 3px 16px #433b4b0d,0 1px 4px #433b4b09}
#app :is(.language-notice,.home-language-note,.project-preview,.course-card,.course-empty,.empty,.side-note,.about-panel,.creator,.search-prompts button,.program-tags button:not([aria-pressed=true])){background:#fff!important}
#app :is(.button,button,.local-search,.course-search,.search-box,.gemini-composer,.home-gemini,.ai-answer,.course-card,.course-hero,.home-language-note,.project-preview,.language-notice,.course-empty,.empty,.side-note,.about-panel,.creator,.lab-scene,.lab-sign,.material-symbol,.tag,.program-badge,.round-arrow,.outline,.resource-drawer,.pdf-stage,.copy-row input){box-shadow:var(--surface-shadow)}
#app :is(.poster-hero,.project-preview>img,.course-art,.lab-scene>img){box-shadow:var(--surface-shadow)}
#app .brand,#app .brand img,#app .pastel-title img{border-radius:0!important;box-shadow:none!important}
#app .course-card{overflow:hidden}#app .course-art{background-color:#fff!important;border-radius:0!important;box-shadow:none!important;overflow:hidden}
#app .course-number{color:var(--page-paper)!important}
#app .gemini-heading h2{font-weight:700;letter-spacing:-.04em}
#app .home-gemini .ai-answer{display:block;min-height:240px;max-height:42svh;background:#fff!important;border:1px solid #e8e3ea;margin:16px 0 20px;padding:24px;line-height:1.7}
#app .home-gemini .ai-answer:empty:before{content:attr(data-empty);color:#687079;font-size:14px}
#app .gemini-placeholder[hidden]{display:none!important}
#app .gemini-composer{background:#fff!important}
#app .gemini-question-chips button{background:#fff!important}
.shell .creators-page .page-intro{max-width:850px}.shell .creators-page .creators{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.shell .creators-page .creator{padding:28px;border:1px solid #e5e0e8;border-radius:var(--ui-radius)}.shell .creators-page .creator-role{margin:0 0 16px}.shell .creators-page .creator h2{font-size:28px;letter-spacing:-.03em}.shell .creators-page .creator p{margin:16px 0}.shell .creators-page .project-principles{padding:28px;border:1px solid #e5e0e8}.shell .creators-page .project-principles h2{font-size:28px}.shell .creators-page .project-principles p{max-width:850px;margin:18px 0;line-height:1.7}
@media(min-width:901px){.opening-screen .hero-composition{height:auto!important;flex:none!important;gap:20px}.opening-screen .hero-composition .hero-toolbar{margin:0!important;padding:0!important}.opening-screen .hero-composition .poster-actions{margin:0!important}.shell .opening-screen{justify-content:center!important}}
@media(max-width:900px){.shell .creators-page .creators{grid-template-columns:1fr}.gemini-screen .home-gemini{padding:22px}.home-gemini .gemini-heading{gap:12px}#app .home-gemini .ai-answer{padding:18px;min-height:220px}.gemini-composer input{font-size:13px}}

#app .shell .material-row{border-radius:0!important;box-shadow:none!important}#app .shell .course-art{border-radius:0!important;background-color:#fff!important;box-shadow:none!important}


#app .lab-sign{background:#fff!important}#app :is(.doc-type,.doc-card-grid article,.doc-stat-grid article,.doc-chain li,.doc-financial,.doc-sources a,.doc-choices article,.doc-note-label textarea){box-shadow:var(--surface-shadow)}


/* One introduction pattern for Storage, Courses, Laboratory and Creators. */
#app .shell #main.creators-page{padding-top:0}
#app .shell #main>.page-intro{display:block;padding:0;margin:40px 0 36px;max-width:none}
#app .shell #main>.page-intro .eyebrow{display:block;margin:0 0 16px}
#app .shell #main>.page-intro h1{font-size:clamp(38px,4.4vw,56px);font-weight:700;line-height:1.1;letter-spacing:-.045em;margin:0 0 20px}
#app .shell #main>.page-intro p{font-size:17px;line-height:1.7;max-width:800px;margin:0}
#app .shell #gemini-chat-form{background:#fff!important}
#app .shell .poster-actions .button{box-shadow:0 4px 12px #41334f24,0 1px 4px #41334f14!important}
#app .shell .poster-hero{box-shadow:0 8px 26px #41334f22,0 2px 6px #41334f12!important}
#app .footer-brand .brand{display:inline-flex;width:auto;max-width:190px;margin-bottom:8px;box-shadow:none!important}
#app .footer-brand .brand-wordmark{width:160px;height:auto;max-height:none;object-fit:contain;border-radius:0!important;box-shadow:none!important}
@media(max-width:700px){#app .shell #main>.page-intro{margin:30px 0}#app .shell #main>.page-intro h1{font-size:38px}#app .shell #main>.page-intro p{font-size:16px}}

/* Keep the composer white in every state; match all page titles to home section headings. */
#app .shell #home-gemini #gemini-chat-form,#app .shell #home-gemini #gemini-chat-form:focus-within{background:#fff!important;background-image:none!important;backdrop-filter:none!important}
#app .shell #gemini-query{background:#fff!important;background-image:none!important}
#app .shell #main>.page-intro h1,#app .shell .section-head h2,#app .shell .gemini-heading h2{font-family:'Google Sans Display','Google Sans',Arial,sans-serif!important;font-weight:700!important;font-style:normal!important;letter-spacing:-.035em}
