/* THE CRICKET UNIVERSE — shared system v2 (scorebook register, cinematic) */
:root{
  --ink:#0f0c07; --ink2:#18140d; --ink3:#221c12;
  --paper:#ede3cc; --paperdim:#cdbf9f; --faint:#968a6b;
  --seal:#9e2b19; --seal2:#c8472e; --brass:#b98f4a; --brass2:#dcb468;
  --line:rgba(237,227,204,.12); --line2:rgba(237,227,204,.24);
  --ease:cubic-bezier(.2,.7,.1,1);
  /* generated assets: local first (DEPLOY.ps1 fetches them), Higgsfield CDN fallback */
  --g-hero:url(/assets/gen/hero_ball.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_005743_86ff7bc5-e7e6-4d00-9216-5e6e90cbdefb_min.webp);
  --g-paper:url(/assets/gen/paper_dark.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_005743_8d93262c-baf8-4669-92b1-fef23e436f04_min.webp);
  --g-urn:url(/assets/gen/urn_case.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_005743_1d3ca86d-9306-4261-9526-85909aee232b_min.webp);
  --g-weald:url(/assets/gen/weald_dusk.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_005743_8764cd9d-80e0-4954-a71a-768ef65c559a_min.webp);
  --g-seal:url(/assets/gen/seal.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_052555_97dc4550-3b66-4072-8117-97d7c13f7ba8_min.webp);
  --g-pavilion:url(/assets/gen/pavilion_night.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_052556_de113ceb-b6c1-4faf-9c75-79f79687fd09_min.webp);
  --g-score:url(/assets/gen/scorebook.webp),url(https://d8j0ntlcm91z4.cloudfront.net/user_3DR0qUcu3AmhdsVgacZAbk0jjbl/hf_20260926_052556_41a1abd1-c090-434d-b7ac-c8c332c0c426_min.webp);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .93 0 0 0 0 .89 0 0 0 0 .8 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:"EB Garamond",serif;font-size:18px;line-height:1.6;overflow-x:hidden}
body::after{content:"";position:fixed;inset:-50%;background:var(--grain);opacity:.07;pointer-events:none;z-index:90;animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
::selection{background:var(--seal);color:var(--paper)}
a{color:var(--brass2)}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.mono{font-family:"IBM Plex Mono",monospace}
.disp{font-family:Anybody,sans-serif}

/* top bar */
.bar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(16px,4vw,44px);transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.bar.solid{background:rgba(15,12,7,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line)}
.mark{display:flex;align-items:center;gap:12px;font-family:Anybody,sans-serif;font-weight:800;font-stretch:62%;letter-spacing:.16em;font-size:15px;text-decoration:none;color:var(--paper);white-space:nowrap}
.mark i{width:30px;height:30px;border-radius:50%;background:var(--g-seal);background-size:cover;background-position:center;box-shadow:0 2px 10px rgba(0,0,0,.6)}
.mark b{color:var(--seal2)}
.nav{display:flex;gap:22px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em}
.nav a{color:var(--paperdim);text-decoration:none;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--seal2);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover{color:var(--paper)}.nav a:hover::after{transform:scaleX(1)}
@media(max-width:640px){.nav a.hide-s,.nav a.hide-m{display:none}.nav{gap:14px}.nav a{white-space:nowrap}.mark{font-size:13px;letter-spacing:.12em}}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:Anybody,sans-serif;font-weight:800;font-stretch:70%;letter-spacing:.16em;font-size:13px;text-transform:uppercase;text-decoration:none;padding:14px 24px;border-radius:3px;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn.seal{background:var(--seal);color:var(--paper);box-shadow:0 8px 28px rgba(158,43,25,.35)}
.btn.seal:hover{transform:translateY(-2px);background:var(--seal2);box-shadow:0 12px 34px rgba(200,71,46,.45)}
.btn.ghost{border:1px solid var(--line2);color:var(--paper)}
.btn.ghost:hover{border-color:var(--brass);color:var(--brass2)}

/* footer */
.foot{position:relative;border-top:1px solid var(--line);padding:34px clamp(16px,4vw,44px) 48px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--faint);letter-spacing:.08em}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}
.foot a{color:var(--faint);text-decoration:none}.foot a:hover{color:var(--paper)}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
