/* Quiet framing shared by the four worlds. The illustrations keep their own palettes. */
body,body.autumn{background-image:none}
button,a,input{touch-action:manipulation}
button:disabled{cursor:default}
.site-header,.coffee-page header,.poetry-page header,.adventure-page header{min-height:74px;height:auto;padding:14px 0}
.wordmark,.storm-brand{font-size:27px;line-height:1.15}
.site-footer,.coffee-page footer,.poetry-page footer,.adventure-page footer{font-size:16px;line-height:1.3}
.home .spring-hero{margin-top:26px;min-height:360px;box-shadow:3px 3px #e6cbd8;border-width:1px}
.home .hero-copy{padding:42px 42px 38px;max-width:750px}
.home .hero-copy h1{font-size:clamp(46px,6.5vw,74px);text-shadow:2px 2px #fce9f1;max-width:650px}
.home .hero-copy h1{text-wrap:balance}
.home .hero-copy p{font-size:22px;color:#765d6d;margin:20px 0 26px}
.home .kicker{letter-spacing:1px}
.home .pixel-button{font-size:21px;padding:9px 18px;box-shadow:2px 2px #aa758e;border-width:1px}
.home .game-grid{gap:28px}
.home .game-card{border-width:1px;box-shadow:2px 2px #d9c2ce;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.home .game-card:hover{translate:none;transform:translateY(-2px);box-shadow:2px 4px #d9c2ce}
.home .game-art{flex:none;border-bottom-width:1px!important}
.home .game-art:after{display:none}
.home .card-copy{padding:22px!important;flex:1;display:flex;flex-direction:column}
.home .card-title{margin:7px 0 12px}
.home .card-title h3{font-size:34px;line-height:1.03}
.home .card-copy .kicker{font-size:15px;letter-spacing:.6px}
.home .card-copy p{font-size:21px;line-height:1.3;margin-bottom:20px}
.home .card-bottom{margin-top:auto;padding-top:14px;gap:12px;font-size:17px}
.home .coffee-card .card-bottom strong{color:#f0d1a2}
.home .section-heading h2{font-size:30px}
.home .site-footer{padding-top:18px}
.coffee-heading{margin:22px 0 18px;align-items:center}
.coffee-heading h1{font-size:48px;margin:0}
.coffee-heading>p{font-size:20px}
.coffee-page .shift-bar{gap:8px 16px;font-size:18px}
.shift-stats,.shift-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px}
.shift-actions{margin-left:auto}
.coffee-page .shift-bar button{min-height:36px;margin-left:0!important;border-bottom:1px solid #75553d;padding:5px 0}
.coffee-page .shift-bar button:hover{color:#ffe1a3;border-color:#c39865}
.coffee-page .cafe{box-shadow:3px 3px #130e0c;border-width:1px}
.coffee-page .service{margin:12px 0 24px}
.coffee-page .service-top{display:none}
.coffee-page .coffee-input{padding:9px 13px}
.coffee-page #coffee-feedback{font-size:17px;min-height:22px;margin-top:7px}
.coffee-page .coffee-now-playing{margin:8px 0 0}
.coffee-page .coffee-overlay>div{border-width:1px;box-shadow:3px 3px #1b120d88}
.coffee-page .coffee-overlay h2{font-size:36px}
.coffee-page .coffee-overlay .eyebrow{letter-spacing:.7px}
.autumn-main{padding-top:23px}
.autumn .game-heading{margin-bottom:20px;align-items:center}
.autumn .game-heading h1{font-size:48px;margin:0;text-shadow:none}
.autumn .game-heading p{font-size:19px;max-width:420px}
.autumn .tree-stage{border-width:1px;box-shadow:3px 3px #d8d5b7}
.autumn .typing-dock{margin-top:16px;border-width:1px;padding:9px 14px}
.autumn .leaf-chances{margin-top:16px}
.autumn .autumn-legend{margin:18px 0 28px}
.poetry-page main{padding-top:22px}
.poetry-page .storm-heading{align-items:center;margin-bottom:20px}
.poetry-page .storm-heading h1{font-size:44px;line-height:1.08;margin:0}
.poetry-page .storm-heading h1 span{text-shadow:none}
.poetry-page .poetry-world{box-shadow:3px 3px #0b0e17;border-width:1px}
.poetry-page .storm-controls{gap:12px;margin-top:18px}
.poetry-page .storm-controls button{font-size:19px!important;box-shadow:none;min-height:42px;border-width:1px}
.poetry-page #replay{background:#2e2938;color:#cdb79d;border-color:#5f4d59}
.poetry-page #continue:disabled{opacity:.4;background:#2e2938;color:#b5a7b7;border-color:#5f4d59}
.poetry-page .poem-select{font-size:20px;min-height:42px;margin:0}
.poetry-page .poem-credit{font-size:18px;max-width:72%;background:#171829c9}
.poetry-page .poem-progress{margin-top:16px}
.adventure-page main{margin:22px auto 0}
.adventure-page h1{font-size:48px;letter-spacing:-1px;margin:0 0 8px}
.adventure-page h1 span{font-size:1em;text-shadow:none;letter-spacing:-1px}
.adventure-page .intro{font-size:20px;margin-bottom:22px}
.adventure-page .toolbar{margin-bottom:15px;gap:10px}
.adventure-page .tiny,.adventure-page .topline,.adventure-page .bottomline,.adventure-page .gamehud{font-size:15px;letter-spacing:0}
.adventure-page .quiet,.adventure-page .language{font-size:17px}
.adventure-page .playground{padding:15px 20px;border-width:1px;box-shadow:3px 3px #d7cce5}
.adventure-page .gamehud{margin-top:10px}
.adventure-page .perspective{width:100%;margin:12px 0;min-height:360px}
.adventure-page .dashboard{margin-top:22px}
.adventure-page .tip{font-size:16px;margin:20px 0 30px}
.adventure-page .stat>div>span,.adventure-page #restart>span{font-size:18px}
@media(min-width:800px){
 .coffee-page main{max-width:min(1120px,calc((100svh - 390px)*1.5));min-width:700px;margin:auto}
 .autumn .tree-stage{height:clamp(350px,calc(100svh - 335px),510px)}
 .poetry-page main{max-width:min(1120px,calc((100svh - 265px)*1.5));min-width:700px;margin:auto}
 .adventure-page main{max-width:min(1030px,calc((100svh - 345px)*1.5));min-width:700px}
}
@media(max-width:799px){
 .site-header,.coffee-page header,.poetry-page header,.adventure-page header{flex-wrap:wrap;gap:8px;min-height:68px}
 .wordmark,.storm-brand{font-size:25px}
 .home .hero-copy{padding:30px 23px}
 .home .spring-hero{min-height:330px}
 .home .hero-copy h1{font-size:clamp(43px,11vw,66px);overflow-wrap:normal}
 .home .hero-copy p{font-size:21px;max-width:240px}
 .home .card-title h3{font-size:32px}
 .home .card-copy{padding:20px!important}
 .home .card-bottom{font-size:17px}
 .coffee-heading{margin:19px 0 15px}
 .coffee-heading h1,.autumn .game-heading h1{font-size:42px}
 .coffee-heading>p{font-size:18px;margin-top:8px}
 .coffee-page .shift-bar{gap:4px 14px}
 .coffee-page .shift-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:0 18px}
 .coffee-page .shift-actions button{text-align:left}
 .coffee-page .shift-bar button{min-height:44px}
 .coffee-page .coffee-overlay>div{padding:13px 16px}
 .coffee-page .coffee-overlay h2{font-size:28px;margin:7px 0}
 .coffee-page .coffee-overlay p{font-size:17px}
 .autumn .game-heading p{margin-top:8px;font-size:18px}
 .poetry-page .storm-heading h1{font-size:36px}
 .poetry-page .poem-credit{max-width:none}
 .poetry-page .storm-controls{gap:10px}
 .adventure-page h1{font-size:42px}
 .adventure-page .intro{font-size:18px}
 .adventure-page .playground{padding:12px}
 .adventure-page .gamehud,.adventure-page .topline,.adventure-page .bottomline{font-size:13px}
 .adventure-page .keyhint{display:none}
}
@media(prefers-reduced-motion:reduce){.home .game-card{transition:none}.home .game-card:hover{transform:none}}

.privacy-link{font-size:16px;text-decoration:underline;text-underline-offset:3px}

/* Anchor the canvas to the scene, including when its height comes from min-height. */
.adventure-page .wordworld{position:absolute;inset:0;width:auto;height:auto}
@media(max-width:799px){
 .adventure-page .perspective{height:clamp(360px,58svh,480px);min-height:360px;aspect-ratio:auto}
 .adventure-page #words{top:104px}
}

/* Warm pink and orange framing; the four-season scene keeps its own colors. */
body.adventure-page{
 --ink:#246ba4;--muted:#346b95;--line:#dca18f;--paper:#fff2e9;
 background:#fff5ef;
 background-image:linear-gradient(145deg,#fff0f6 0%,#fff5f2 44%,#fff6e9 100%);
 background-size:100% 100%;min-height:100vh;
}
.adventure-page .mark{background:#f1adbd;box-shadow:3px 3px #a65e4c;color:#246ba4}
.adventure-page .mark span{color:#fff4e8}
.adventure-page h1{color:#2482c8}
.adventure-page h1 span{color:inherit}
.adventure-page .quiet span,.adventure-page .language{color:#346b95}
.adventure-page .setting{border-color:#d99c88;background:#ffe5de}
.adventure-page .modes button:not(.selected):hover,
.adventure-page .setting:not(.selected):hover{background:#f6b9cd}
.adventure-page .modes button.selected,.adventure-page .setting.selected{background:var(--gold);color:#235780}
.adventure-page .custom-duration{border-color:#d99c88}
.adventure-page .custom-duration output{color:#346b95}
.adventure-page .custom-duration.selected{background:#f7ce9c;box-shadow:2px 2px #c59455}
.adventure-page .custom-duration.selected output{color:#235780}
.adventure-page .playground{border-color:#d99c88;box-shadow:3px 3px #e7ac9f}
.adventure-page .playground:focus-within{border-color:#b56858}
.adventure-page .topline,.adventure-page .bottomline,.adventure-page .gamehud,
.adventure-page #hint,.adventure-page .keyhint{color:#346b95}
.adventure-page .stat strong{color:#2482c8}
.adventure-page #restart{color:#246ba4}
.adventure-page kbd{border-color:#d99c88;box-shadow:0 2px #e7b0a4;color:#346b95}
.adventure-page .tip,.adventure-page footer{color:#346b95}
.adventure-page button:focus-visible,.adventure-page a:focus-visible,
.adventure-page .custom-duration input:focus-visible{outline-color:#a03c67}
.adventure-page .swatches i{background:#eaa064}
.adventure-page .swatches i:nth-child(2){background:#edabbd}
.adventure-page .swatches i:nth-child(3){background:#d47b93}
.adventure-page .swatches i:nth-child(4){background:#f1bf89}

/* Clear-sky lettering on the larger type; smaller labels stay a readable blue. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .adventure-page h1,.adventure-page .brand-name,.adventure-page .stat strong{
  background-image:linear-gradient(to bottom,#187dc5 5%,#69bcea 48%,#fff 92%);
  background-clip:text;-webkit-background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 #386997) drop-shadow(1px 0 0 #386997);
 }
 .adventure-page h1 span{-webkit-text-fill-color:inherit}
}
