:root{--ink:#132e23;--cream:#f2f0e8;--gold:#d5f59a;--teal:#d5f59a}
body{background:var(--cream)}
.skip-link{position:fixed;top:-80px;left:16px;background:var(--gold);color:var(--ink);z-index:50;padding:14px;text-decoration:none;font-weight:700}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;max-width:none;min-height:78px;padding:16px max(24px,calc((100vw - 1152px)/2));background:var(--cream);gap:20px;border-bottom:1px solid #132e2326;box-shadow:none}
.site-header .brand{font-size:28px;letter-spacing:-1.3px;white-space:nowrap}.site-header .brand-mark{display:block;width:34px;height:34px;object-fit:contain;background:transparent;mix-blend-mode:multiply}
.site-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.site-nav a{color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:14px}.site-nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-nav a span{font-size:18px;font-weight:400}
.nav-coffee{background:var(--ink);color:var(--cream);border:1px solid var(--ink);font:600 13px Arial,Helvetica,sans-serif;min-height:44px;padding:12px 17px;display:flex;align-items:center;justify-content:center;gap:22px;white-space:nowrap}.nav-coffee:hover{background:#234c38}.nav-coffee span{font-size:18px;font-weight:400}
.site-header .icon-button{min-width:40px;min-height:40px;padding:6px 9px;border-color:#132e2350}.site-header .icon-button span{display:none}
.site-header :is(button,a):focus-visible,.skip-link:focus-visible,.site-footer a:focus-visible{outline:3px solid #527835;outline-offset:4px}
.game-heading h1{font-size:31px}.game-heading p{color:#425b4c;font-size:11px}
.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer{color:#425b4c}
.contact-fields input{font-size:16px!important}
body.embedded:not(.learn-page) main{max-width:960px}
@media(pointer:coarse){.touch-controls{display:flex;justify-content:space-between}.touch-controls button{min-height:44px}.touch-controls{touch-action:none}}
@media(max-height:500px) and (max-width:1000px){.touch-controls{display:flex;justify-content:space-between}.touch-controls button{min-height:44px}}
@media(max-width:720px){.site-header{padding:12px 16px;gap:12px;flex-wrap:wrap;min-height:74px}.site-header .brand{font-size:25px}.site-header .brand-mark{width:30px;height:30px}.site-nav{gap:12px;order:3;width:100%;margin:0;justify-content:space-between}.site-nav a{font-size:12px;gap:8px}.nav-coffee{font-size:12px;padding:10px 12px;gap:12px}.site-header .icon-button{margin-left:auto}.site-footer{font-size:10px;gap:12px}.game-heading h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the phone's first screen focused on play and two clear next steps. */
@media(max-width:720px){
  .site-header{padding:9px 12px;gap:7px 12px;min-height:0}
  .site-header .brand{font-size:22px}.site-header .brand-mark{width:26px;height:26px}
  .site-nav{gap:10px}.site-nav a{font-size:12px;min-height:40px}.nav-coffee{font-size:12px;min-height:40px;padding:9px 10px;gap:8px}
  .site-header .icon-button{min-width:40px;min-height:40px}
  .site-footer{padding:12px 14px;flex-wrap:wrap}
}
@media(max-height:500px) and (max-width:1000px){
  .site-header{min-height:48px;padding:4px 12px;flex-wrap:nowrap;gap:12px}
  .site-header .brand{font-size:20px}.site-header .brand-mark{width:24px;height:24px}
  .site-nav{order:0;width:auto;margin-left:auto;gap:12px}
  .site-nav a,.nav-coffee{font-size:11px;min-height:36px;white-space:nowrap;padding:8px 10px;gap:7px}
  .site-header .icon-button{min-width:36px;min-height:36px;margin-left:0}
}

/* One day at a time, then a short introduction. Shared by both site pages. */
#coffee-overlay{padding:24px;background:#10271fda;align-items:center;z-index:40}
#coffee-overlay .coffee-card{width:min(580px,100%);max-width:580px;max-height:calc(100dvh - 48px);padding:36px 38px 24px;border:1px solid #f2f0e8;background:#f2f0e8;color:#132e23;box-shadow:0 18px 70px #08160d33;overflow:auto;overscroll-behavior:contain}
#coffee-overlay .coffee-close{top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #132e232e;background:transparent;color:#132e23;font:28px/1 Arial,Helvetica,sans-serif;border-radius:50%;padding:0}
#coffee-overlay .coffee-close:hover{background:#e6e9dc;border-color:#132e2350}
#coffee-overlay .coffee-eyebrow{font:700 10px/1.3 Arial,Helvetica,sans-serif;letter-spacing:1.8px;color:#506746;margin:0 40px 12px 0}
#coffee-overlay h2{font:700 clamp(29px,3.2vw,39px)/1.06 Arial,Helvetica,sans-serif;letter-spacing:-1.6px;color:#132e23;margin:0 24px 14px 0}
#coffee-overlay #coffee-intro{font:400 15px/1.55 Arial,Helvetica,sans-serif;color:#334b3d;max-width:45ch;margin:0 0 10px}
#coffee-overlay .coffee-meta{font:400 12px/1.5 Arial,Helvetica,sans-serif;color:#5a685d;margin:0 0 24px;max-width:48ch}
#coffee-overlay .coffee-loading{font:400 14px/1.5 Arial,Helvetica,sans-serif;color:#334b3d;padding:18px 0;margin:0}
#coffee-overlay .coffee-status{font:400 13px/1.5 Arial,Helvetica,sans-serif;border:1px solid #132e2324;border-left:3px solid #749452;background:#e5ebd9;color:#203b2b;margin:12px 0 18px;padding:12px 14px}
#coffee-overlay .coffee-error{background:#f3e3da;border-color:#a063442e;border-left-color:#a06344;color:#713c29}
#coffee-overlay .coffee-schedule,#coffee-overlay .coffee-details{border:0;border-top:1px solid #132e2329;margin:0;padding:18px 0 0;min-width:0}
#coffee-overlay fieldset legend{float:left;width:100%;padding:0;margin:0 0 18px;font:700 14px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.2px;color:#132e23}
#coffee-overlay fieldset legend+*{clear:both}
#coffee-overlay .coffee-date-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 7px}
#coffee-overlay .coffee-date-row label,#coffee-overlay .coffee-time-label,#coffee-overlay .coffee-fields label{font:600 12px/1.3 Arial,Helvetica,sans-serif;color:#334b3d}
#coffee-overlay #coffee-timezone{margin:0;color:#6a746b;font:400 11px/1.3 Arial,Helvetica,sans-serif}
#coffee-overlay #coffee-date{width:100%;min-height:48px;padding:11px 14px;border:1px solid #132e2359;background:#fffefa;color:#132e23;font:500 16px/1.3 Arial,Helvetica,sans-serif;border-radius:0;cursor:pointer}
#coffee-overlay #coffee-date:disabled{opacity:.65;cursor:default}
#coffee-overlay .coffee-time-label{margin:17px 0 8px}
#coffee-overlay .coffee-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#coffee-overlay .coffee-slot{min-height:45px;padding:10px 5px;border:1px solid #132e2345;background:transparent;color:#132e23;font:600 13px/1.3 Arial,Helvetica,sans-serif;border-radius:0;white-space:nowrap;transition:background .15s,border-color .15s}
#coffee-overlay .coffee-slot:hover{background:#e3eacf;border-color:#132e23}
#coffee-overlay .coffee-slot[aria-pressed=true]{background:#132e23;border-color:#132e23;color:#f2f0e8}
#coffee-overlay .coffee-slot:disabled{opacity:.55;cursor:default}
#coffee-overlay .coffee-selection{font:500 12px/1.5 Arial,Helvetica,sans-serif;color:#506349;margin:12px 0 22px;min-height:18px}
#coffee-overlay .coffee-fields{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}
#coffee-overlay .coffee-fields label{display:flex;flex-direction:column;gap:7px}
#coffee-overlay .coffee-fields input{min-height:48px;width:100%;min-width:0;padding:11px 12px;border:1px solid #132e2359;background:#fffefa;color:#132e23;font:400 16px/1.3 Arial,Helvetica,sans-serif;border-radius:0}
#coffee-overlay .coffee-fields input::placeholder{color:#899086;opacity:1}
#coffee-overlay .coffee-fields input[aria-invalid=true]{border:2px solid #a06344}
#coffee-overlay :is(button,input,select):focus-visible{outline:3px solid #66864c;outline-offset:3px}
#coffee-overlay .coffee-fields input:focus{outline:3px solid #66864c;outline-offset:3px}
#coffee-overlay .coffee-consent{font:400 11px/1.5 Arial,Helvetica,sans-serif;color:#6a746b;margin:13px 0}
#coffee-overlay .primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:16px 0 0;padding:13px 16px;background:#132e23;color:#f2f0e8;border:1px solid #132e23;font:600 14px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;transform:none;transition:background .15s}
#coffee-overlay .primary:hover{background:#294b36;transform:none}
#coffee-overlay .primary:disabled{background:#d7ddce;border-color:#d7ddce;color:#7a8574;cursor:default}
#coffee-overlay #coffee-refresh{display:block;margin:16px auto 0;padding:8px;color:#667360;font:400 11px/1.3 Arial,Helvetica,sans-serif;text-decoration-thickness:1px;text-underline-offset:3px}
#coffee-overlay #coffee-refresh:hover{color:#132e23}
#coffee-overlay .coffee-result{border-top:1px solid #132e2329;margin-top:20px;padding-top:22px}
#coffee-overlay .coffee-result h3{font:700 28px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.8px;margin:0 0 12px;color:#132e23}
#coffee-overlay .coffee-result p:not(.coffee-eyebrow){font:400 14px/1.5 Arial,Helvetica,sans-serif;color:#334b3d;margin:10px 0}
@media(max-width:650px){
  #coffee-overlay{padding:12px;align-items:center}
  #coffee-overlay .coffee-card{max-height:calc(100dvh - 24px);padding:29px 23px 18px}
  #coffee-overlay .coffee-close{width:36px;height:36px;top:10px;right:10px}
  #coffee-overlay h2{font-size:32px;letter-spacing:-1.4px;max-width:250px}
  #coffee-overlay .coffee-eyebrow{font-size:9px;letter-spacing:1.5px}
  #coffee-overlay #coffee-intro{font-size:14px;max-width:33ch}
  #coffee-overlay .coffee-meta{margin-bottom:21px;font-size:11px;max-width:34ch}
  #coffee-overlay .coffee-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  #coffee-overlay .coffee-slot{min-height:46px;font-size:14px}
  #coffee-overlay .coffee-fields{grid-template-columns:1fr;gap:12px}
  #coffee-overlay fieldset legend{margin-bottom:15px}
  #coffee-overlay .coffee-selection{margin-bottom:19px}
  #coffee-overlay .primary{font-size:14px;min-height:50px}
}
@media(prefers-reduced-motion:reduce){#coffee-overlay .coffee-slot,#coffee-overlay .primary{transition:none}}
