/* Shared layout for the practice site, guides and account pages. */
.header.site-header{height:auto;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 24px;padding-block:22px 0;align-items:center}
.site-header>.brand{grid-column:1;min-width:0}.site-tools{grid-column:2;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 14px;min-width:0}
.site-tools>a{font-size:.875rem;font-weight:650;padding:10px 14px;border:1px solid #b7c6b7;border-radius:10px;min-height:44px;text-align:center;line-height:1.5}
.site-tools>a:hover{background:#edf3e5;border-color:#637d68}.site-tools .language-picker{order:0;margin:0}.site-tools .language-picker select{max-width:140px;border-color:#b7c6b7}.site-tools .header-start{order:3;background:#205343;color:white;border-color:#205343;border-radius:10px;min-height:44px}
.site-header>nav{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:6px 28px!important;width:100%;padding-block:5px 13px;border-top:1px solid #e3e8df;order:initial!important}
.site-header>nav a{padding-block:10px;min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;line-height:1.5}.site-menu{display:none}
.hero{padding-block:56px 48px;gap:clamp(28px,5vw,72px)}.hero-copy h1{font-size:clamp(2.6rem,4.8vw,4.5rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:16ch}.hero-copy .lead{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.55;max-width:43ch}.hero-copy .intro{font-size:1rem;line-height:1.6;color:#475f55;margin-top:16px;max-width:44ch}
.hero-copy #quick-start{margin-top:24px;margin-bottom:0;min-height:52px;border-radius:12px;box-shadow:0 5px 16px #183e3612}.hero-copy .hero-actions{margin-top:14px;gap:12px;flex-wrap:wrap}.hero-actions .primary{font-size:.95rem;padding:12px 18px;border-color:#b8c6b2;background:transparent}.hero-copy .trust{font-size:.8rem;gap:10px 18px;margin-top:20px;line-height:1.7;color:#475f55}
.score-context{order:4!important;display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap;margin-top:12px;font-size:.8rem;line-height:1.6;color:#475f55}.score-context a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.hero-art{min-height:440px}.hero-art .puzzle-card{transform:none;border-radius:24px;box-shadow:0 14px 40px #183e360b;width:min(100%,400px)}.hero-art .orbit{border-color:#dfe6d3}.hero-art .art-note{font-size:.85rem;line-height:1.7}.hero-art .floating-star{color:#6e855e}
.facts{border-block:1px solid #d5dfcf;padding-block:24px;gap:24px}.facts>div{align-items:center}.facts span{font-size:.8rem;color:#475f55}.facts strong{font-size:2.15rem}.facts p{font-size:.9rem;line-height:1.7;max-width:27ch}
.course-entry,.learning-entry,.spatial-entry{border-radius:20px;padding:clamp(22px,3vw,36px)}.course-entry p,.learning-entry p,.spatial-entry p{line-height:1.75}.category{background:#fff;border:1px solid #d5dfcf;border-radius:20px;padding:22px}.category-art{border-radius:12px}.category-link{min-height:44px}.category h3{font-size:1.45rem;line-height:1.4}.category p{font-size:.95rem;line-height:1.75}
.question-card{box-shadow:0 10px 35px #183e3607;border-radius:20px}.answer{transition:background .15s,border-color .15s;border-radius:12px}.answer:focus-within{outline:3px solid #aa501b;outline-offset:3px}.answer:has(input:checked){background:#eaf3dc}.question-tools{padding-top:14px;border-top:1px solid #e1e7db}
.next-learning{padding:26px;text-align:start;background:#edf3e5;border:1px solid #c1d0b5;border-radius:20px;margin:28px 0}.next-learning h2{font-size:1.4rem;line-height:1.5;margin-bottom:8px}.next-learning p{color:#3d574a;line-height:1.7;font-size:.95rem;max-width:70ch}.next-learning-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}.next-learning-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #879d7f;border-radius:10px;background:#fff;color:#183e36;font-weight:650}.next-learning>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;font-size:.9rem}
.portal-header{gap:16px;flex-wrap:wrap}.portal-header .brand{display:flex;align-items:center;gap:10px}.portal-header .brand-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#183e36;color:#d8ec9d;font-size:27px}.portal-header select{max-width:150px}.portal-shell .card{box-shadow:0 12px 40px #183e3607}.portal-shell #account-nav button{flex:1;min-width:0}.portal-shell #field-username{direction:ltr;text-align:start}.portal-shell #account-content>.primary{margin-inline-end:10px;margin-block:8px}.portal-shell #account-content>.danger{display:block}.portal-shell #account-content>button:not(.danger){margin-block:10px}.portal-shell small{line-height:1.7}
.legal-main,.lesson-main{line-height:1.8}.legal-main h2,.lesson-main h2{line-height:1.4}.footer{gap:28px;padding-block:36px}.footer>div{gap:10px 22px}.footer a:not(.brand){min-height:44px;display:inline-flex;align-items:center;line-height:1.5}.language-links{padding-block:18px;border-top:1px solid #dfe4d9;gap:5px 12px;justify-content:center}.language-links a{border-radius:8px;text-underline-offset:3px}.language-links a[aria-current=page]{background:#e6efd9;font-weight:700}
@media(max-width:900px){.site-tools{gap:8px}.site-tools>a{padding:9px 11px}.site-tools .header-start{padding:9px 12px}.hero{gap:28px}.hero-art{min-height:390px}}
@media(max-width:720px){.header.site-header{grid-template-columns:minmax(0,1fr) auto;padding-block:16px 0;gap:14px 12px}.site-header>.brand{white-space:normal;font-size:1.1rem}.site-menu{grid-column:2;display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:44px;padding:9px 13px;background:white;color:#183e36;border:1px solid #a5b7a4;border-radius:10px;font:inherit;font-size:.9rem}.site-menu[hidden]{display:none}.site-menu svg{width:18px;height:18px;flex:none}.site-tools{grid-column:1/-1;justify-content:flex-start;padding-bottom:14px;gap:8px}.site-tools>a{flex:1;font-size:.8rem;white-space:normal}.site-tools .language-picker select{max-width:124px;font-size:.8rem}.site-tools .language-picker>span{display:none}.site-tools .header-start{display:none}.site-header>nav{padding-block:4px 12px;gap:4px 12px!important;justify-content:flex-start}.site-header[data-menu-enhanced]>nav{display:none!important}.site-header[data-menu-enhanced][data-menu-open]>nav{display:flex!important}.site-header>nav a{flex:1 1 42%;padding:10px 12px;border-radius:8px;background:#edf3e5;font-size:.85rem}.hero{padding-block:32px 36px;gap:30px}.hero-copy h1{max-width:none;font-size:clamp(2.25rem,9vw,3.8rem)!important;letter-spacing:-.025em!important}.hero-copy .eyebrow{margin-bottom:14px}.hero-copy .lead{font-size:1.15rem;margin-top:18px}.hero-copy .intro{font-size:.9rem}.hero-copy .hero-actions{width:100%;display:block}.hero-actions .primary{width:100%;justify-content:center}.hero-copy #quick-start{width:100%;font-size:1rem}.hero-copy .trust{font-size:.75rem;gap:7px 12px}.score-context{font-size:.75rem}.hero-art{min-height:360px}.hero-art .puzzle-card{padding:22px}.facts{gap:10px;padding-block:20px}.facts strong{font-size:1.75rem}.facts span{font-size:.7rem;line-height:1.5}.category-grid{gap:16px}.category{padding:20px}.next-learning{padding:20px}.next-learning-links{display:grid;grid-template-columns:1fr}.next-learning-links a{width:100%;justify-content:center}.portal-header{padding:16px}.portal-header select{max-width:130px}.portal-shell #account-nav{gap:7px}.portal-shell #account-nav button{font-size:.9rem;padding:10px 8px}.footer>div{gap:8px 18px}}
@media(prefers-reduced-motion:reduce){.answer{transition:none}}.a11y-motion .answer{transition:none}
.a11y-contrast .site-tools>a,.a11y-contrast .site-menu,.a11y-contrast .site-header>nav a,.a11y-contrast .category,.a11y-contrast .next-learning,.a11y-contrast .next-learning-links a{background:#000;color:#fff;border-color:#fff}.a11y-contrast .score-context,.a11y-contrast .next-learning p{color:#fff}.a11y-contrast .language-links a[aria-current=page]{background:#000;color:#fff;border:1px solid #fff}
@media print{.site-menu,.site-tools,.next-learning{display:none!important}}
@media(max-width:400px){.hero-art{min-width:0}.hero-art .puzzle-card{padding:20px 14px;width:100%;min-width:0}.hero-art .matrix{width:min(240px,100%)}}
