/* The landing shares Sabo's local font, chocolate palette and native pixel frames. */
body.home-page{background:var(--choco-100);color:var(--cream-900)}
body.home-page>.site-header,body.home-page>.site-footer{display:none}
body.home-page #main{position:relative;width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}
body.home-page #app{margin:0;padding:0}
body.home-page #notice:not([hidden]){position:fixed;z-index:50;bottom:24px;left:50%;width:min(680px,calc(100% - 32px));margin:0;transform:translateX(-50%)}
.home-page-view{--home-text-secondary:var(--choco-800);min-width:0;padding-bottom:0;font:500 18px/1.45 var(--font-ui);overflow:clip}
.home-page-view :is(h1,h2,h3,p,figure,dl,dd,ol){margin:0;padding:0}
.home-page-view :is(h1,h2,h3){font-family:var(--font-ui);letter-spacing:0;text-wrap:balance}
.home-page-view h2{font-size:clamp(32px,3.4vw,48px);font-weight:600;line-height:1.1}
.home-page-view h3{font-size:24px;font-weight:600;line-height:1.2}
.home-page-view :is(a,button){touch-action:manipulation}
.home-page-view :is(a,button):focus-visible{outline:2px solid var(--cream-900);outline-offset:6px}
.home-page-view button:disabled{cursor:default}
.home-page-view :is(button,a) img{pointer-events:none}
.home-page-view .tables-header{position:relative;z-index:3}
.home-kicker{display:block;color:var(--home-text-secondary);font:500 16px/1.4 var(--font-ui)}
.home-hero{width:min(900px,calc(100% - 48px));margin:0 auto;padding:88px 0 48px;text-align:center}
.home-hero h1{display:flex;flex-direction:column;margin:20px 0 24px;font-size:clamp(42px,6vw,80px);font-weight:600;line-height:1;letter-spacing:-.02em}
.home-hero h1 span{display:block}
.home-hero-copy{max-width:700px;margin-inline:auto!important;color:var(--cream-900);font-size:22px;line-height:1.4;text-wrap:pretty}
.home-hero-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px}
.home-page-view .home-play{min-width:252px;min-height:64px;margin:0;padding:0 5px;color:var(--choco-100);font:600 24px/1.2 var(--font-ui);transition:translate 120ms ease-out}
.home-play>.pixel-content{gap:24px;width:100%;padding:16px 27px 20px}
.home-page-view .home-play:is(:hover,:focus-visible):not(:disabled){translate:0 -3px}
.home-page-view .home-play:disabled>.pixel-content{opacity:.55}
.home-arrow{display:inline-block;flex:none;font-weight:500}
.home-login{color:var(--home-text-secondary);font-size:16px;line-height:1.5}
.home-inline-button{margin:0;padding:0;border:0;background:none;color:var(--cream-900);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.home-inline-button:disabled{color:var(--home-text-secondary)}
.home-auth-status{max-width:100%;font-size:14px;line-height:1.4;color:var(--home-text-secondary)}
.home-resume{display:inline-block;max-width:100%;margin:24px 0 0;padding:12px 0;border:0;background:none;color:var(--home-text-secondary);font:500 16px/1.5 var(--font-ui);cursor:pointer;text-wrap:balance}
.home-resume>span{color:var(--cream-900);text-decoration:underline;text-underline-offset:4px}
.home-resume:disabled{opacity:.55}
.home-page-view .home-table-preview{width:min(1180px,calc(100% - 48px));margin:0 auto}
.home-page-view .home-table-preview>img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--choco-100)}
.home-table-preview figcaption{margin-top:16px;color:var(--home-text-secondary);text-align:center;font-size:16px;line-height:1.4}
.home-section{width:min(1080px,calc(100% - 48px));margin-inline:auto!important;padding-block:88px}
.home-section-heading{max-width:760px}
.home-section-heading h2{margin:16px 0 20px}
.home-section-heading>p{max-width:660px;color:var(--home-text-secondary);font-size:20px;line-height:1.4}
.home-gameplay-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px!important;list-style:none}
.home-gameplay-steps li{min-width:0;padding-top:20px;border-top:1px solid var(--choco-600)}
.home-step-number{display:block;margin-bottom:24px;color:var(--home-text-secondary);font-size:16px;line-height:1}
.home-gameplay-steps h3{margin-bottom:16px}
.home-gameplay-steps p{color:var(--home-text-secondary);font-size:18px;line-height:1.5}
.home-modes{border-top:1px solid var(--choco-400)}
.home-mode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;margin-top:40px}
.home-mode{min-width:0;padding:28px 0 32px;border-top:1px solid var(--choco-600)}
.home-mode-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.home-mode-pieces{display:flex;align-items:center;gap:4px;flex:none}
.home-page-view .home-mode-pieces img{display:block;width:28px;height:28px;max-width:none}
.home-mode-meta{color:var(--home-text-secondary);font-size:16px;line-height:1.35;text-align:right}
.home-mode h3{margin-bottom:12px}
.home-mode>p{max-width:450px;color:var(--home-text-secondary);font-size:18px;line-height:1.5}
.home-text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:12px;color:var(--cream-900);font-size:18px;line-height:1.3;text-decoration:underline;text-underline-offset:5px}
.home-text-link:hover{color:var(--cream-900);text-decoration-thickness:2px}
.home-community{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;border-top:1px solid var(--choco-400)}
.home-community h2{margin:16px 0 20px}
.home-section-intro{max-width:420px;color:var(--home-text-secondary);font-size:20px;line-height:1.4}
.home-community-features{display:grid;gap:24px;margin-top:32px!important}
.home-community-features dt{margin-bottom:4px;font-size:20px;font-weight:600;line-height:1.3}
.home-community-features dd{max-width:390px;color:var(--home-text-secondary);font-size:18px;line-height:1.45}
.home-community-copy>.home-text-link{margin-top:28px}
.home-collection{min-width:0}
.home-collection-cards{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;min-height:360px;padding:20px 0}
.home-page-view .home-collection-cards>img{display:block;width:38%;max-width:180px;height:auto;aspect-ratio:180/272;object-fit:contain;flex:none;margin:0}
.home-collection-cards>img:first-child{transform:translate(24px,12px) rotate(-12deg);z-index:0}
.home-collection-cards>img:nth-child(2){transform:translateY(-12px);z-index:2}
.home-collection-cards>img:last-child{transform:translate(-24px,12px) rotate(12deg);z-index:1}
.home-collection figcaption{max-width:100%;margin-top:20px;color:var(--home-text-secondary);text-align:center;font-size:16px;line-height:1.4}
.home-learning{display:flex;align-items:center;justify-content:space-between;gap:48px;border-top:1px solid var(--choco-400);border-bottom:1px solid var(--choco-400)}
.home-learning>div{max-width:660px}
.home-learning h2{margin:16px 0 20px}
.home-learning p{color:var(--home-text-secondary);font-size:20px;line-height:1.45}
.home-page-view .home-learning-button{flex:none;min-height:56px;color:var(--cream-900);font:600 20px/1.2 var(--font-ui)}
.home-learning-button>.pixel-content{gap:24px;padding:14px 19px 18px}
.home-invitation{text-align:center;padding-block:88px 96px}
.home-invitation h2{max-width:740px;margin-inline:auto;line-height:1.15}
.home-invitation>p{margin:20px 0 28px;color:var(--home-text-secondary);font-size:20px;line-height:1.4}
.home-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--choco-400)}
.home-footer-brand{display:block;flex:none}
.home-footer-brand img{display:block;width:98px;height:auto;max-width:100%}
.home-footer p{color:var(--home-text-secondary);font-size:16px;line-height:1.4}
.home-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.home-footer nav :is(a,button){display:inline-block;min-height:44px;padding:12px 0;border:0;background:none;color:var(--cream-900);font:500 16px/20px var(--font-ui);text-decoration:none;cursor:pointer}
.home-footer nav :is(a,button):hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1440px){.home-hero{padding-top:104px}.home-hero h1{font-size:80px}}
@media(max-width:1024px){.home-hero{padding-top:72px}.home-hero-copy{max-width:650px;font-size:20px}.home-section{padding-block:64px}.home-gameplay-steps{gap:24px}.home-gameplay-steps h3{font-size:22px}.home-mode-list{column-gap:40px}.home-community{gap:32px}.home-collection-cards{min-height:280px}.home-page-view .home-collection-cards>img{width:37%}.home-learning{gap:32px}.home-learning>div{max-width:560px}.home-footer{grid-template-columns:auto 1fr}.home-footer nav{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:767px){.home-hero{width:calc(100% - 40px);padding:56px 0 40px}.home-hero h1{font-size:clamp(40px,7.5vw,56px)}.home-hero-copy{max-width:560px;font-size:20px}.home-page-view .home-table-preview,.home-section,.home-footer{width:calc(100% - 40px)}.home-section{padding-block:56px}.home-section-heading>p{font-size:18px}.home-gameplay-steps{grid-template-columns:1fr;gap:28px;margin-top:32px!important}.home-gameplay-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px 20px}.home-step-number{grid-column:1;grid-row:1/3;margin:4px 0 0}.home-gameplay-steps h3{grid-column:2;margin:0;font-size:24px}.home-gameplay-steps p{grid-column:2;max-width:560px}.home-mode-list{column-gap:28px;margin-top:32px}.home-mode-top{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.home-mode-meta{text-align:left}.home-mode h3{font-size:24px}.home-community{grid-template-columns:minmax(0,1fr);gap:32px}.home-section-intro,.home-community-features dd{max-width:560px}.home-collection{max-width:460px;width:100%;justify-self:center}.home-collection-cards{min-height:320px}.home-page-view .home-collection-cards>img{width:36%}.home-learning{align-items:flex-start;flex-direction:column;gap:28px}.home-learning p{font-size:18px}.home-invitation>p{font-size:18px}.home-footer{gap:20px}.home-footer nav{justify-content:flex-start}}
@media(max-width:440px){.home-hero{padding-top:40px}.home-hero>.home-kicker{max-width:260px;margin-inline:auto;font-size:14px}.home-hero h1{margin-block:20px;font-size:40px;line-height:1.05}.home-hero-copy{font-size:18px;line-height:1.45}.home-hero-actions{margin-top:28px;gap:14px}.home-page-view .home-play{min-width:232px;min-height:60px;font-size:22px}.home-play>.pixel-content{padding:16px 23px 18px;gap:20px}.home-login{font-size:14px}.home-resume{font-size:14px}.home-resume>span{display:block}.home-table-preview figcaption{font-size:14px}.home-section h2{font-size:32px;line-height:1.1}.home-kicker{font-size:14px}.home-mode-list{grid-template-columns:1fr}.home-mode{padding-block:24px}.home-mode-top{flex-direction:row;align-items:center;gap:12px}.home-mode-meta{max-width:132px;text-align:right;font-size:14px}.home-gameplay-steps li{grid-template-columns:24px minmax(0,1fr);column-gap:16px}.home-gameplay-steps h3,.home-mode h3{font-size:22px}.home-page-view .home-mode-pieces img{width:24px;height:24px}.home-collection-cards{min-height:240px}.home-collection-cards>img:first-child{transform:translate(20px,12px) rotate(-12deg)}.home-collection-cards>img:last-child{transform:translate(-20px,12px) rotate(12deg)}.home-footer{grid-template-columns:1fr;gap:12px}.home-footer nav{gap:20px;grid-column:1}.home-footer p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.home-page-view .home-play{transition:none}.home-page-view .home-play:is(:hover,:focus-visible):not(:disabled){translate:none}}

.home-footer .home-attribution{grid-column:1/-1;justify-self:start;color:var(--choco-800);font-size:12px;line-height:1.4}
@media(max-width:767px){
 .home-page-view .tables-header{height:auto}
 .home-page-view .tables-header-inner{width:calc(100% - 40px);height:auto;padding-top:20px;flex-direction:column;gap:16px}
 .home-page-view .tables-nav-leading{width:100%;flex-direction:column;gap:12px}
 .home-page-view .tables-header nav{width:100%;justify-content:center;gap:20px}
 .home-page-view .tables-header nav :is(a,button){font-size:16px;padding-block:8px}
 .home-page-view .tables-header-account{max-width:100%;justify-content:center;flex-wrap:wrap}
 .home-page-view .tables-user-name>span{max-width:130px}
 .home-page-view .tables-header-account .private-messages-entry{font-size:0;min-width:42px;padding-inline:10px}
 .home-page-view .tables-header-account .private-messages-entry>span[aria-hidden]{font-size:18px}
 .home-page-view .tables-header-account [data-messages-unread]{font-size:12px}
}
