:root{--paper:#f7f3ea;--ink:#111111;--muted:#646057;--line:#d5cfc3;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Arial,Helvetica,sans-serif;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:28px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:1.4px;margin:0}.site-header{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{display:block;width:224px;flex-shrink:0}.brand-image{display:block;width:100%;}nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-contact{display:flex;gap:22px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:12px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;position:relative;padding-top:65px;column-gap:40px}.status-pixel{display:inline-block;width:7px;height:7px;background:var(--ink);margin-right:10px}h1{font-size:clamp(68px,8.6vw,124px);line-height:.98;letter-spacing:-7px;margin:32px 0 24px;font-weight:800}.pixel-period{display:inline-block}h2{font-size:clamp(36px,4.2vw,60px);font-weight:700;line-height:1.05;letter-spacing:-2.6px;margin:0 0 28px}h3{font-size:18px;line-height:1.2;letter-spacing:-.4px;margin:0 0 14px}p{line-height:1.65}.hero-intro{font-size:19px;line-height:1.6;color:#514e46;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:52px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:13px;font-weight:600;padding:18px 22px;border:1px solid var(--ink)}.button:hover{background:var(--paper);color:var(--ink)}.hero-art{position:relative;align-self:center;padding:0 0 24px}.art-caption{display:block;text-align:right;font-size:10px;letter-spacing:1.5px;margin-bottom:18px;color:var(--muted)}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:var(--muted);align-self:end;padding:45px 0 24px}.hero-bottom a{text-decoration:none}.section-rule{border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:240px 1fr;gap:55px;padding-block:88px}.section-label{padding-top:8px}.prose-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:900px}.prose-columns p{font-size:16px;color:#4b4841;margin:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:55px}.principles article{padding-top:20px;border-top:1px solid var(--line)}.principles .mono{font-size:11px;color:var(--muted);display:block;margin-bottom:22px}.principles p{font-size:14px;color:var(--muted);margin:0}.games-section{background:#eeeadf}.section-heading-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.tag{font-size:9px;letter-spacing:1px;border:1px solid #b7b1a4;padding:9px 12px;white-space:nowrap;margin-top:8px}.announcement-panel{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:32px 0;border-top:1px solid #cec8bb;border-bottom:1px solid #cec8bb}.announcement-panel h3{font-size:21px}.announcement-panel p{font-size:15px;max-width:620px;margin:0 0 16px;color:#4b4841}.announcement-panel .muted{font-size:13px;color:var(--muted);margin-bottom:0}.pixel-stack{width:40px;height:42px;position:relative;margin-top:4px}.pixel-stack span{position:absolute;width:14px;height:14px;background:var(--ink)}.pixel-stack span:nth-child(1){top:0;left:14px}.pixel-stack span:nth-child(2){top:14px;left:0}.pixel-stack span:nth-child(3){top:14px;left:28px}.games-note{font-size:13px;color:var(--muted);margin:18px 0 0}.contact-intro{font-size:16px;color:#4b4841;max-width:560px;margin:0 0 26px}.email-link{font-size:clamp(17px,2.4vw,32px);font-weight:600;text-decoration:none;letter-spacing:-.8px;display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:8px}.contact-tools{display:flex;gap:16px;align-items:center;min-height:40px;margin-top:12px;font-size:12px}.contact-tools button{padding:5px 0;border:0;border-bottom:1px dotted #8a8479;background:none;cursor:pointer;color:var(--muted)}.contact-tools button:hover{color:var(--ink)}.site-footer{background:#111;color:var(--paper);padding-top:35px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-block:15px 35px}.footer-logo{display:block;width:260px;}.footer-top p{font-size:11px;letter-spacing:1.5px;line-height:1.8}.footer-bottom{display:flex;gap:24px;justify-content:space-between;align-items:center;border-top:1px solid #393832;padding-block:24px;color:#bdb8ad;font-size:11px}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}.privacy-main{padding-block:70px 100px;max-width:800px}.privacy-main h1{font-size:56px;letter-spacing:-2.5px;line-height:1.1}.privacy-main h2{font-size:25px;letter-spacing:-.6px;margin-top:38px;margin-bottom:14px}.privacy-main p{font-size:16px;color:#4b4841}.privacy-main .eyebrow{font-size:11px;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:740px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.section-grid{grid-template-columns:160px 1fr;gap:28px}.hero{column-gap:20px;min-height:650px}h1{letter-spacing:-5px}.hero-intro{font-size:17px}.principles{gap:18px}.prose-columns{gap:24px}.brand{width:205px}nav{gap:25px}.hero-art{padding-top:24px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.site-header{min-height:90px;gap:15px;flex-wrap:wrap;padding-block:16px}.brand{width:185px}nav{gap:18px;font-size:11px}.nav-contact{gap:6px}.hero{grid-template-columns:1fr;padding-top:38px;min-height:0}.hero h1{font-size:86px;letter-spacing:-5px;margin:26px 0 20px}.hero-intro{font-size:18px}.hero-art{max-width:420px;width:100%;justify-self:end;margin-top:36px;padding-top:0}.art-caption{margin-bottom:0}.hero-bottom{font-size:8px;gap:15px;align-items:flex-start;padding-top:28px;line-height:1.5}.hero-bottom span{max-width:140px}.hero-bottom a{max-width:155px;text-align:right}.section-grid{grid-template-columns:1fr;gap:28px;padding-block:54px}.section-label{padding-top:0}h2{font-size:40px;letter-spacing:-1.7px}.prose-columns{grid-template-columns:1fr;gap:18px}.principles{grid-template-columns:1fr;margin-top:34px;gap:25px}.principles article{display:grid;grid-template-columns:28px 1fr;column-gap:14px;row-gap:4px;padding-top:18px}.principles .mono{grid-row:1/3;margin:3px 0 0}.principles h3{margin-bottom:8px}.principles p{grid-column:2}.section-heading-row{display:block}.section-heading-row .tag{display:inline-block;margin:0 0 24px}.announcement-panel{grid-template-columns:40px 1fr;gap:15px;padding-block:26px}.announcement-panel h3{font-size:19px}.email-link{font-size:clamp(16px,4.7vw,26px);letter-spacing:-.5px;gap:10px}.contact-tools{flex-wrap:wrap}.footer-logo{width:200px}.footer-top p{font-size:8px;letter-spacing:.8px}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom small{flex-basis:100%;font-size:11px}.footer-bottom a:last-child{margin-left:auto}.privacy-main h1{font-size:42px;letter-spacing:-1.8px}}
@media(max-width:420px){.site-header{align-items:center}.brand{width:170px}nav{width:100%;justify-content:space-between;padding-top:8px}.hero h1{font-size:76px}.hero-art{margin-top:25px}.footer-logo{width:170px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Short, one-time entrances; content remains visible without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
  .reveal-ready { opacity: 0; transform: translateY(18px); }
  .reveal-ready.is-visible {
    opacity: 1; transform: none;
    transition: opacity .65s ease var(--reveal-delay, 0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);
  }
  .hero-art.reveal-ready { transform: translateX(-16px); }
  .hero-art.reveal-ready.is-visible { transform: none; }
  .button, .contact-tools button { transition: background-color .18s ease, color .18s ease; }
  .button span, .email-link span, .nav-contact span { display: inline-block; transition: transform .2s ease; }
  .button:hover span, .button:focus-visible span { transform: translate(3px, 3px); }
  .email-link:hover span, .email-link:focus-visible span,
  .nav-contact:hover span, .nav-contact:focus-visible span { transform: translate(3px, -3px); }
  .games-section .is-visible .pixel-stack span { animation: pixel-assemble .65s steps(4,end) both; }
  .games-section .is-visible .pixel-stack span:nth-child(2) { animation-delay: .12s; }
  .games-section .is-visible .pixel-stack span:nth-child(3) { animation-delay: .24s; }
  @keyframes pixel-assemble { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  nav a { position: relative; }
  nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -5px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
  nav a:hover { text-decoration: none; }
  nav a:hover::after { transform: scaleX(1); }
  .principles article { transition: border-color .2s ease; }
  .principles article:hover { border-color: var(--ink); }
}
/* Comfortable touch targets and resilient narrow-screen layout. */
nav a { min-height: 44px; display: inline-flex; align-items: center; }
.contact-tools button, .footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
.section-body, .hero-copy, .hero-art { min-width: 0; }
.email-link { max-width: 100%; overflow-wrap: anywhere; }
.email-link span { flex-shrink: 0; }
@media (max-width: 360px) {
  .hero h1 { font-size: 68px; letter-spacing: -4px; }
  .eyebrow { font-size: 10px; letter-spacing: 1.1px; }
  #dino-caption { font-size: 8px; gap: 7px; letter-spacing: 0; }
  .footer-top { flex-wrap: wrap; gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal-ready { opacity: 1; transform: none; }
}

@media(max-width:720px){.hero-art{max-width:360px}.brand{width:205px}.contact-intro{max-width:42ch}}
@media(max-width:360px){.brand{width:190px}}
.privacy-main { max-width: 760px; }
.privacy-main .privacy-lead { font-size: 21px; line-height: 1.5; color: var(--ink); max-width: 34ch; }
.privacy-main h2 { padding-top: 24px; border-top: 1px solid var(--line); }
.privacy-main a { overflow-wrap: anywhere; }
.privacy-back { margin-top: 44px; }
@media(max-width:720px){.privacy-main{padding-top:40px}.privacy-main .privacy-lead{font-size:19px}}

/* Approved head artwork is displayed unchanged; the footer uses a white display treatment. */
.brand{width:260px}.footer-logo{width:285px;filter:invert(1)}
.hero{padding-top:54px;min-height:710px}
.hero-art{padding:0;align-self:center;width:100%}
.hero-mascot{display:block;width:88%;margin:32px auto 18px;transform-origin:55% 70%}
.mascot-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:10px;letter-spacing:1px;color:var(--muted)}
.power-up{margin-top:23px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.power-up-button{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:48px;background:none;border:1px solid var(--line);padding:8px 12px;color:var(--ink);cursor:pointer}
.power-up-button>.mono{font-size:10px;letter-spacing:1px;white-space:nowrap}
.power-up-mark{display:block;width:36px;transform-origin:50% 90%}
.power-up-mark svg{display:block;width:100%}
.power-up-pixels{display:flex;gap:4px;margin-right:3px}
.power-up-pixels i{display:block;width:4px;height:4px;background:var(--ink);opacity:.25}
#power-up-status{min-height:18px;font-size:10px;line-height:1.6;color:var(--muted)}
.power-up-button:hover{border-color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
  .power-up-button{transition:border-color .18s ease,background-color .18s ease}
  .power-up-button:hover{background:#eeeadf}
  .is-playing .power-up-mark{animation:power-up-bounce .8s cubic-bezier(.2,.7,.3,1)}
  .is-playing .power-up-pixels i{animation:power-up-spark .55s steps(5,end) both}
  .is-playing .power-up-pixels i:nth-child(2){animation-delay:.08s}
  .is-playing .power-up-pixels i:nth-child(3){animation-delay:.16s}
  .is-playing .hero-mascot{animation:head-nod .75s ease}
  @keyframes power-up-bounce{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-8deg)}55%{transform:translateY(0) rotate(3deg)}75%{transform:translateY(-3px) rotate(-2deg)}}
  @keyframes power-up-spark{0%{opacity:.25;transform:translateY(0) scale(1)}35%{opacity:1;transform:translateY(-12px) scale(1.5)}100%{opacity:.25;transform:translateY(0) scale(1)}}
  @keyframes head-nod{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-6px) rotate(-3deg)}65%{transform:translateY(0) rotate(1deg)}}
}
@media(max-width:1000px){.brand{width:230px}.hero{min-height:690px}}
@media(max-width:720px){.brand{width:220px}.hero{min-height:0;padding-top:36px}.hero-art{max-width:340px;margin-top:44px}.hero-mascot{width:90%;margin-top:20px}.mascot-caption{margin-bottom:0}.footer-logo{width:240px}.footer-top{gap:20px;flex-wrap:wrap}.power-up{margin-top:22px}}
@media(max-width:360px){.brand{width:210px}.footer-logo{width:210px}.hero-art{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.power-up-mark,.power-up-pixels i,.hero-mascot{animation:none!important;transform:none!important}}
@media print{[data-reveal]{opacity:1!important;transform:none!important}}

/* Both play surfaces stay in place while their artwork moves. */
.hero-dino{display:block;width:100%;border:0;padding:0;background:none;color:var(--ink);cursor:pointer;border-radius:6px}
.hero-dino,.power-up-button{touch-action:manipulation}
.hero-dino:focus-visible{outline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* A bounded decorative layer: no focus capture, pointer blocking, layout shift or strobe. */
.celebration[hidden]{display:none}
.celebration{position:fixed;inset:0;z-index:50;overflow:hidden;pointer-events:none;contain:layout paint;isolation:isolate}
.celebration-backdrop{position:absolute;inset:0;background:rgba(247,243,234,.22)}
.celebration-card{position:absolute;top:max(8vh,28px);left:50%;width:min(510px,calc(100% - 40px));padding:24px 28px 28px;transform:translateX(-50%) rotate(-4deg);background:#e9ff6b;color:#111;border:3px solid #111;box-shadow:9px 9px 0 #111;display:flex;flex-direction:column;align-items:center;text-align:center}
.celebration-kicker{font-size:10px;font-weight:700;letter-spacing:2px}
.celebration-number{font-size:clamp(84px,14vw,160px);line-height:1;letter-spacing:-.08em;padding-right:.08em;margin:8px 0 10px;font-weight:900}
.celebration-title{font-size:clamp(18px,3vw,27px);line-height:1.1;letter-spacing:-1px;font-weight:900}
.celebration-note{font-size:9px;line-height:1.6;letter-spacing:.8px;margin-top:14px;max-width:34ch}
.celebration-particles,.celebration-orbits,.celebration-portal{position:absolute;inset:0}
.celebration-particles i{position:absolute;top:48%;left:50%;width:var(--size);height:var(--size);background:var(--color);border:1px solid rgba(17,17,17,.25);opacity:0}
.celebration-portal,.celebration-orbits{display:none}
.celebration[data-milestone="2026"] .celebration-backdrop{background:rgba(19,14,41,.94)}
.celebration[data-milestone="2026"] .celebration-card{top:50%;transform:translate(-50%,-50%) rotate(-4deg);background:var(--paper);box-shadow:12px 12px 0 #a18aff,-12px -12px 0 #e9ff6b;border-color:#111}
.celebration[data-milestone="2026"] .celebration-kicker{color:#584294}
.celebration[data-milestone="2026"] .celebration-number{font-size:clamp(86px,16vw,165px)}
.celebration[data-milestone="2026"] .celebration-portal,.celebration[data-milestone="2026"] .celebration-orbits{display:block}
.celebration-portal i{position:absolute;left:50%;top:50%;width:85vmin;height:85vmin;border:3px dashed #a18aff;transform:translate(-50%,-50%) rotate(0deg);box-shadow:0 0 50px #a18aff22,inset 0 0 50px #a18aff22}
.celebration-portal i:nth-child(2){width:120vmin;height:120vmin;border:2px solid #e9ff6b88}
.celebration-portal i:nth-child(3){width:160vmin;height:160vmin;border:1px dashed #ff9675aa}
.orbit-dino{position:absolute;left:50%;top:50%;width:clamp(65px,12vmin,130px);transform:translate(-50%,-50%) rotate(var(--angle)) translateX(43vmin) rotate(calc(-1 * var(--angle)));filter:invert(1);opacity:0}
.orbit-dino svg{display:block;width:100%}
@media(prefers-reduced-motion:no-preference){
  .celebration:not(.is-quiet){animation:celebration-envelope var(--celebration-duration) linear both}
  .celebration:not(.is-quiet) .celebration-card{animation:party-card 3.8s cubic-bezier(.2,.8,.2,1) both}
  .celebration:not(.is-quiet) .celebration-particles i{animation:pixel-confetti 3s cubic-bezier(.12,.65,.25,1) var(--delay) both}
  .hero.milestone-26 .hero-mascot{animation:dino-party 3.8s ease-in-out both}
  .hero.milestone-2026 .hero-mascot{animation:dino-dimension 4.8s cubic-bezier(.2,.7,.3,1) both}
  .celebration[data-milestone="2026"]:not(.is-quiet) .celebration-card{animation:dimension-card 4.8s cubic-bezier(.2,.8,.2,1) both}
  .celebration[data-milestone="2026"]:not(.is-quiet) .celebration-particles i{animation:pixel-warp 4s cubic-bezier(.12,.65,.25,1) var(--delay) both}
  .celebration:not(.is-quiet) .celebration-portal i{animation:portal-spin 4.8s ease-in-out both}
  .celebration:not(.is-quiet) .celebration-portal i:nth-child(2){animation-direction:reverse}
  .celebration:not(.is-quiet) .orbit-dino{animation:dino-orbit 4.3s cubic-bezier(.2,.7,.3,1) var(--delay) both}
  @keyframes celebration-envelope{0%{opacity:0}8%,82%{opacity:1}100%{opacity:0}}
  @keyframes party-card{0%{transform:translate(-50%,-100%) rotate(-15deg) scale(.5)}16%{transform:translateX(-50%) rotate(7deg) scale(1.08)}28%,75%{transform:translateX(-50%) rotate(-4deg) scale(1)}100%{transform:translate(-50%,-10%) rotate(2deg) scale(.9)}}
  @keyframes pixel-confetti{0%{opacity:0;transform:translate(0,20vh) rotate(0) scale(.2)}10%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 45vh)) rotate(var(--turn)) scale(.7)}}
  @keyframes dino-party{0%,100%{transform:none}14%{transform:translateY(-28px) rotate(-12deg) scale(1.03)}28%{transform:translateY(0) rotate(9deg)}43%{transform:translateY(-35px) rotate(-10deg)}60%{transform:translateY(0) rotate(8deg)}76%{transform:translateY(-16px) rotate(-5deg)}90%{transform:translateY(0) rotate(2deg)}}
  @keyframes dino-dimension{0%,100%{transform:none}25%{transform:translateY(-32px) rotate(-15deg) scale(.8)}60%{transform:rotate(360deg) scale(1.12)}82%{transform:rotate(360deg) scale(1)}99%{transform:rotate(360deg)}}
  @keyframes dimension-card{0%{transform:translate(-50%,-50%) rotate(-20deg) scale(.1)}18%{transform:translate(-50%,-50%) rotate(5deg) scale(1.08)}32%,78%{transform:translate(-50%,-50%) rotate(-4deg) scale(1)}100%{transform:translate(-50%,-50%) rotate(4deg) scale(.8)}}
  @keyframes pixel-warp{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.1)}12%,75%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--turn)) scale(2)}}
  @keyframes portal-spin{0%{transform:translate(-50%,-50%) rotate(-35deg) scale(.1);opacity:0}20%{opacity:1}85%{opacity:1}100%{transform:translate(-50%,-50%) rotate(145deg) scale(1.3);opacity:0}}
  @keyframes dino-orbit{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(4vmin) rotate(calc(-1 * var(--angle))) scale(.2)}18%,76%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--angle) + 200deg)) translateX(62vmin) rotate(calc(-1 * var(--angle) - 200deg)) scale(1.3)}}
}
/* Reduced motion keeps the reward readable and still, even after a live preference change. */
.celebration.is-quiet,.celebration.is-quiet *{animation:none!important}
.celebration.is-quiet .celebration-particles,.celebration.is-quiet .celebration-portal,.celebration.is-quiet .celebration-orbits{display:none}
.celebration.is-quiet .celebration-backdrop{background:transparent}
.celebration.is-quiet .celebration-card{top:max(24px,5vh);transform:translateX(-50%);box-shadow:5px 5px 0 #111}
@media(prefers-reduced-motion:reduce){
  .celebration-particles,.celebration-portal,.celebration-orbits{display:none!important}
  .celebration .celebration-backdrop{background:transparent!important}
  .celebration .celebration-card{top:max(24px,5vh);transform:translateX(-50%);box-shadow:5px 5px 0 #111}
}
@media(max-width:720px){.celebration-card{padding:20px 16px 22px}.celebration-kicker{font-size:9px;letter-spacing:1.2px}.celebration-note{font-size:8px;letter-spacing:.5px}.celebration[data-milestone="2026"] .celebration-card{width:calc(100% - 52px)}.art-caption{font-size:9px}}
@media print{.celebration{display:none!important}}
