/* Home's width, typography and palette across the shared teacher spaces. */
body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity]){
 --community-lavender:#f3f0ff;--community-mint:#d9f8ef;--community-warm:#fff6d7;
}
body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity])[data-site-appearance=dark]{
 --community-lavender:#29273e;--community-mint:#203b38;--community-warm:#393324;
}
body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity]) #main{max-width:1664px;width:100%;margin-inline:auto;padding:0 40px 56px}
body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity]) #app>header{padding-inline:max(40px,calc((100vw - 1584px)/2));gap:32px}
body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity])>.page-top{position:relative;isolation:isolate;display:block;padding:32px 0;margin:0 0 30px;min-height:0}
body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity])>.page-top:before{content:"";position:absolute;z-index:-1;inset:0 calc((min(100vw,1664px) - 100vw)/2 - 40px);background:radial-gradient(ellipse at 100% 0%,var(--community-mint),transparent 50%),linear-gradient(110deg,var(--community-lavender),var(--maker-surface) 70%)}
body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .page-top h1{font-family:'Lab Display',sans-serif;font-size:clamp(28px,2.5vw,42px);font-weight:400;line-height:1.35;max-width:1200px;margin:16px 0 14px;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}
body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .page-top p{max-width:980px;font-size:15px;line-height:1.8;color:var(--maker-muted);margin:0}
body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .breadcrumb{font-size:12px;color:var(--maker-accent);margin-bottom:0}
/* Components retain their form fields, IDs and event handlers. */
#main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.panel,.side-card,.discovery-strip,.studio-lab-entry,.workspace-actions,.stat-tile){border-radius:16px;border-color:var(--maker-line);box-shadow:none;background:var(--maker-surface)}
#main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.panel,.side-card){padding:26px}
#main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .btn{min-height:42px;font-size:13px;padding:9px 15px;border-radius:10px}
#main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.section-head h2,.stories-heading h2,.experiment-banner h2,.lab-entry-grid h2,.lab-builtin h2,.experiment-question h2,.experiment-summary h2){font-family:'Lab Display',sans-serif;font-weight:400;font-size:27px;line-height:1.4;letter-spacing:-.025em}
#main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.panel,.side-card)>p{color:var(--maker-muted);font-size:14px;line-height:1.8}
.community-page-nav{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;height:auto;min-height:0;padding:0 0 16px;margin:0 0 26px;border-bottom:1px solid var(--maker-line);overflow:visible}
.community-page-nav a{display:inline-flex;align-items:center;gap:8px;position:relative;min-height:42px;padding:10px 16px;color:var(--maker-muted);background:transparent;border:1px solid transparent;border-radius:10px;font-size:14px;line-height:1.5;font-weight:600;white-space:nowrap;text-decoration:none}
.community-page-nav a:after{display:none}
.community-page-nav a[aria-current=page]{background:var(--st-accent-soft);border-color:var(--st-accent-border);color:var(--maker-accent)}
.community-page-nav a:hover{background:var(--st-accent-soft);color:var(--maker-accent)}
.community-page-nav .ui-icon{width:18px;height:18px}
/* The public library follows the same four-column rhythm as home. */
#main:is([data-page=explore],[data-page=workspace]) .community-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
#main:is([data-page=explore],[data-page=workspace]) .community-card{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;min-width:0;transform:none}
#main:is([data-page=explore],[data-page=workspace]) .community-card>a{display:block;background:var(--community-lavender);padding:10px;border-radius:14px}
#main:is([data-page=explore],[data-page=workspace]) .community-card:nth-child(4n+2)>a{background:var(--community-mint)}
#main:is([data-page=explore],[data-page=workspace]) .community-card:nth-child(4n+3)>a{background:var(--community-warm)}
#main:is([data-page=explore],[data-page=workspace]) .community-card .community-art{height:auto;aspect-ratio:16/10;border-radius:9px}
#main:is([data-page=explore],[data-page=workspace]) .community-card .community-art.actual img{object-fit:contain;object-position:top}
#main:is([data-page=explore],[data-page=workspace]) .community-card .card-body{padding:15px 0 0}
#main:is([data-page=explore],[data-page=workspace]) .community-card h3{font-size:18px;line-height:1.5;margin:10px 0 8px}
#main:is([data-page=explore],[data-page=workspace]) .community-card .card-body>p{font-size:13px;line-height:1.7;min-height:0;color:var(--maker-muted)}
#main:is([data-page=explore],[data-page=workspace]) .community-card .card-bottom{font-size:12px;padding-top:13px;align-items:center}
#main[data-page=explore] .discovery-strip{padding:20px 24px;margin-bottom:18px}
#main[data-page=explore] .discovery-strip>div{width:100%}
#main[data-page=explore] .scene-chip{border-radius:9px;min-height:42px;font-size:13px;box-shadow:none}
#main[data-page=explore] .scene-chip.selected{background:var(--st-accent);color:var(--st-on-accent);border-color:var(--st-accent)}
#main[data-page=explore] .discovery-result-count{font-size:13px;color:var(--maker-muted);margin:16px 0}
#main[data-page=explore] .community-search{grid-template-columns:minmax(0,1fr) 170px 150px;gap:12px;margin-bottom:26px}
#main[data-page=explore] .search-box{border-color:var(--st-accent-border);border-radius:10px}
#main[data-page=explore] .community-search :is(input,select){font-size:14px;min-height:44px}
/* Shared experiments are the lab's first action; making and remixing remain nearby. */
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner{padding:28px 32px;gap:24px;border:1px solid var(--st-accent-border);border-radius:16px;background:linear-gradient(110deg,var(--community-lavender),var(--maker-surface) 65%,var(--community-mint));box-shadow:none;margin:30px 0}
#main[data-page=lab]>.experiment-banner{margin-top:0}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-symbol{width:64px;height:64px;flex:0 0 64px;border-radius:16px;background:var(--maker-surface);color:var(--maker-accent)}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-symbol>.ui-icon{display:block;width:30px;height:30px;margin:0;background:none}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-spark{display:none}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner>div:not(.experiment-symbol){flex:1;min-width:0}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner .eyebrow{font-size:12px;letter-spacing:0;color:var(--maker-accent)}
#main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner p{font-size:14px;color:var(--maker-muted);line-height:1.7}
#main:is([data-page=lab],[data-page=workspace]) .studio-lab-entry{padding:22px 26px;gap:20px;margin:0 0 24px;background:var(--maker-surface)}
#main:is([data-page=lab],[data-page=workspace]) .studio-lab-entry h2{font-size:20px;line-height:1.5;margin:0 0 5px}
#main:is([data-page=lab],[data-page=workspace]) .studio-lab-entry p{font-size:13px;color:var(--maker-muted);margin:0}
#main[data-page=lab] .studio-lab-entry .eyebrow{display:none}
#main[data-page=lab] .lab-entry-grid{gap:24px}
#main[data-page=lab] .lab-entry-grid>.panel{padding:28px 32px;margin:0;border:1px solid var(--maker-line)}
#main[data-page=lab] .lab-new{background:linear-gradient(125deg,var(--community-lavender),var(--maker-surface))!important}
#main[data-page=lab] .lab-remix{background:linear-gradient(125deg,var(--community-mint),var(--maker-surface))!important}
#main[data-page=lab] .lab-icon{height:48px;width:48px;flex:0 0 48px;border-radius:13px;margin-bottom:18px;background:var(--maker-surface);color:var(--maker-accent);border:1px solid var(--st-accent-border)}
#main[data-page=lab] .lab-icon .ui-icon{width:24px;height:24px}
#main[data-page=lab] .lab-entry-grid .eyebrow{font-size:12px;letter-spacing:0;color:var(--maker-accent);margin-bottom:8px}
#main[data-page=lab] .lab-entry-grid p{margin:12px 0 22px}
#main[data-page=lab] .lab-builtin{background:var(--community-warm);padding:24px 30px;margin:24px 0}
#main[data-page=lab] .lab-builtin .lab-icon{margin:0}
#main[data-page=lab] .lab-builtin h2{font-size:23px}
#main[data-page=lab] .lab-builtin p{max-width:880px;font-size:14px;line-height:1.7}
#main[data-page=lab] .lab-principles{border:0;border-top:1px solid var(--maker-line);border-radius:0;padding:28px 0;margin:30px 0 0;gap:32px;background:transparent}
#main[data-page=lab] .lab-principles b{font-family:'Lab Display',sans-serif;font-size:23px;color:var(--maker-accent)}
#main[data-page=lab] .lab-principles h3{font-size:17px;margin:10px 0 6px}
#main[data-page=lab] .lab-principles p{font-size:13px;color:var(--maker-muted)}
#main[data-page=experiments] .experiment-detail{grid-template-columns:minmax(0,1fr) 350px;gap:26px}
#main[data-page=experiments] .experiment-question{padding:32px}
#main[data-page=experiments] .experiment-steps>div{background:var(--community-lavender);padding:22px;border-radius:12px}
#main[data-page=experiments] .experiment-status{background:var(--community-mint)}
/* A readable discussion area, including real empty and filtered states. */
#main[data-page=help] .stories-heading{margin:0 0 22px;align-items:center}
#main[data-page=help] .stories-heading p{font-size:14px;color:var(--maker-muted)}
#main[data-page=help] .story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#main[data-page=help] .story-card{display:flex;flex-direction:column;margin:0;padding:26px;border-top:3px solid var(--st-accent-border)}
#main[data-page=help] .story-card:nth-child(3n+2){border-top-color:#7dcbb6}
#main[data-page=help] .story-card:nth-child(3n){border-top-color:#e8c96c}
#main[data-page=help] .story-card>p{font-size:17px;line-height:1.9;color:var(--maker-ink);margin:20px 0 26px;flex:1}
#main[data-page=help] .story-source{font-size:13px;color:var(--maker-accent);line-height:1.7;border-color:var(--maker-line)}
#main[data-page=help] .story-empty-action{grid-column:1/-1;justify-self:center;margin-top:-12px}
#main[data-page=help] .split{grid-template-columns:minmax(0,1fr) 350px;gap:26px}
#main[data-page=help] .request{gap:18px;padding:24px 0;min-width:0}
#main[data-page=help] .request h3{font-size:18px}
#main[data-page=help] .request .vote{background:var(--community-lavender);color:var(--maker-accent);border:1px solid var(--st-accent-border);min-width:54px}
#main[data-page=help] .side-card.lime{background:var(--community-mint)}
#main[data-page=help] .timeline{border-color:var(--st-accent-border)}
#main[data-page=help] .timeline article:before{background:var(--maker-accent);border-color:var(--maker-surface)}
#main[data-page=help] .chip{min-height:38px;border-radius:8px;font-size:13px;padding:8px 12px}
/* One set of workspace navigation links on both local and published views. */
#main[data-page=workspace] .workspace-tabs{align-items:center;gap:18px;margin:24px 0}
#main[data-page=workspace] .workspace-tabs .community-page-nav{border:0;margin:0;padding:0}
#main[data-page=workspace] .workspace-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}
#main[data-page=workspace] .stat-tile{padding:20px;gap:15px}
#main[data-page=workspace] .stat-tile b{font-family:'Lab Display',sans-serif;font-weight:400;font-size:28px;color:var(--maker-ink)}
#main[data-page=workspace] .stat-icon{background:var(--community-lavender);color:var(--maker-accent);width:44px;height:44px;border-radius:12px}
#main[data-page=workspace] .workspace-actions{padding:20px 24px;background:linear-gradient(110deg,var(--community-lavender),var(--maker-surface))}
#main[data-page=workspace] .workspace-actions h3{font-size:18px;margin-bottom:5px}
#main[data-page=workspace] .workspace-actions .small-label{font-size:13px;color:var(--maker-muted)}
#main[data-page=workspace] .workspace-row{padding:20px 0;gap:16px}
#main[data-page=workspace] .workspace-row>.grow{min-width:0;overflow-wrap:anywhere}
#main[data-page=workspace] .remix-workspace-section{margin:30px 0 40px}
#main[data-page=workspace] .remix-workspace-links{gap:10px}
#main[data-page=workspace] .count-pill{font:600 13px 'Maker Sans',sans-serif;vertical-align:middle;padding:4px 9px;background:var(--st-accent-soft);color:var(--maker-accent)}
#main:is([data-page=explore],[data-page=lab],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.empty,.community-empty){padding:38px 24px;border:1px dashed var(--st-accent-border);border-radius:14px;background:linear-gradient(120deg,var(--community-lavender),var(--maker-surface));color:var(--maker-ink)}
#main:is([data-page=explore],[data-page=lab],[data-page=help],[data-page=workspace],[data-page=activity]) :is(.empty,.community-empty) p{color:var(--maker-muted);font-size:14px}
#main:is([data-page=explore],[data-page=help]) .discovery-end{border-top:1px solid var(--maker-line);padding:26px 0;margin-top:28px}
/* A deliberate, quieter brand character for the first impression. */
.home-welcome{padding-right:158px}
.home-coach{width:140px;bottom:0;gap:8px;transform:none}
.home-coach img{width:140px;height:151px;object-fit:contain}
.home-coach figcaption{font-family:'Maker Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.5;padding:10px 14px;border:1px solid var(--st-accent-border);border-radius:12px;background:var(--maker-surface);transform:none}
@media(max-width:1200px){
 #main:is([data-page=explore],[data-page=workspace]) .community-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
 #main[data-page=help] .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-welcome{padding-right:120px}.home-coach{width:108px}.home-coach img{width:108px;height:116px}.home-coach figcaption{font-size:11px;padding:8px 10px}
}
@media(max-width:1000px){
 #main:is([data-page=explore],[data-page=workspace]) .community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main[data-page=workspace] .workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main[data-page=workspace] .workspace-actions{flex-wrap:wrap;gap:18px}
 #main[data-page=help] .split,#main[data-page=experiments] .experiment-detail{grid-template-columns:minmax(0,1fr) 280px;gap:20px}
}
@media(max-width:760px){
 body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity]) #main{padding:0 20px 32px}
 body:is([data-design-page=explore],[data-design-page=lab],[data-design-page=experiments],[data-design-page=help],[data-design-page=workspace],[data-design-page=activity]) #app>header{padding-inline:18px;gap:10px}
 body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity])>.page-top{padding:24px 0;margin-bottom:22px}
 body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity])>.page-top:before{inset-inline:-20px}
 body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .page-top h1{font-size:29px;margin:14px 0 12px}
 body[data-design-page] #main:is([data-page=explore],[data-page=lab],[data-page=experiments],[data-page=help],[data-page=workspace],[data-page=activity]) .page-top p{font-size:14px}
 .community-page-nav{gap:6px;margin-bottom:22px;padding-bottom:14px}.community-page-nav a{padding:9px 11px;font-size:12px;min-height:42px}.community-page-nav .ui-icon{width:16px;height:16px}
 #main:is([data-page=explore],[data-page=workspace]) .community-grid{gap:24px 14px}
 #main:is([data-page=explore],[data-page=workspace]) .community-card h3{font-size:16px}
 #main[data-page=explore] .community-search{grid-template-columns:1fr 1fr}
 #main[data-page=explore] .discovery-strip{padding:18px}
 #main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner{padding:22px;gap:16px;flex-wrap:wrap;margin:24px 0}
 #main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-symbol{width:46px;height:46px;flex-basis:46px}
 #main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner>div:not(.experiment-symbol){flex-basis:calc(100% - 64px)}
 #main:is([data-page=lab],[data-page=help],[data-page=explore]) .experiment-banner h2{font-size:22px}
 #main:is([data-page=lab],[data-page=workspace]) .studio-lab-entry{padding:20px;align-items:flex-start;flex-direction:column}
 #main[data-page=lab] .lab-entry-grid{grid-template-columns:1fr;gap:16px}
 #main[data-page=lab] .lab-entry-grid>.panel{padding:24px}
 #main[data-page=lab] .lab-entry-grid h2{font-size:24px}
 #main[data-page=lab] .lab-builtin{padding:24px;gap:14px}
 #main[data-page=lab] .lab-principles{grid-template-columns:1fr;gap:18px}
 #main[data-page=help] .story-grid{grid-template-columns:1fr}
 #main[data-page=help] .stories-heading{align-items:flex-start}
 #main[data-page=help] .split,#main[data-page=experiments] .experiment-detail{display:flex;flex-direction:column}
 #main[data-page=workspace] .workspace-tabs{flex-direction:column;align-items:flex-start}
 #main[data-page=workspace] .workspace-stats{gap:12px}
 #main[data-page=workspace] .stat-tile{padding:16px;gap:10px}
 #main[data-page=workspace] .stat-tile b{font-size:24px}
 #main[data-page=workspace] .workspace-actions{padding:20px}
 #main[data-page=workspace]>.section-head{flex-wrap:wrap;align-items:flex-start}
 #main[data-page=workspace] .remix-workspace-links{flex-direction:row;flex-wrap:wrap}
 .home-welcome{padding-right:105px}.home-coach{width:90px;display:flex;bottom:0}.home-coach img{width:90px;height:97px}.home-coach figcaption{display:none}
}
@media(max-width:480px){
 #main:is([data-page=explore],[data-page=workspace]) .community-grid{grid-template-columns:1fr}
 #main[data-page=explore] .discovery-filter-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
 #main[data-page=workspace] .stat-tile{flex-direction:row;align-items:center;padding:14px 12px;gap:8px}
 #main[data-page=workspace] .stat-icon{width:32px;height:32px;flex:0 0 32px}
 #main[data-page=workspace] .stat-tile small{font-size:11px}
 .home-welcome{padding-right:80px}.home-coach{width:72px}.home-coach img{width:72px;height:78px}
}
@media(prefers-reduced-motion:reduce){.community-page-nav a{transition:none}}
