/* skitty.golf: built on the Skitty design tokens. Sections force their own theme (data-theme) the way the app does:
   task screens are always dark, browse screens are Daylight. Vivid green is the Green Read accent seen in the app mockups. */
:root{--vivid:#00D64F;--deep:#02351b;--deeper:#012313;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#000}
body{margin:0;background:#000;color:#fff;font-size:17px;line-height:1.5;overflow-x:hidden}
a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--vivid);outline-offset:3px;border-radius:10px}
.w{width:min(1160px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:12px;top:-80px;background:#fff;color:#000;padding:10px;z-index:99}.skip:focus{top:12px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.num{font-weight:800;letter-spacing:-.04em;line-height:.92;font-variant-numeric:tabular-nums}

/* floating glass header */
.top{position:fixed;z-index:50;top:14px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 10px 8px 16px;border-radius:999px;background:rgba(30,30,32,.62);border:.5px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6)}
.brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:-.02em}.brand img{width:30px;height:30px;border-radius:8px}
.top nav{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:600}.top nav a{text-decoration:none;opacity:.78}.top nav a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:999px;border:0;background:var(--vivid);color:#02170b;font:700 16px var(--font-sans);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease)}
.btn:hover{transform:translateY(-2px)}.btn.sm{min-height:38px;padding:0 16px;font-size:14px}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:.5px solid rgba(255,255,255,.22)}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:radial-gradient(80% 60% at 70% 30%,#0f4a2a,transparent 70%),linear-gradient(180deg,#05180e,#000)}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:92px 92px;mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent);-webkit-mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent)}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:110px 0 70px}
h1{font-size:clamp(54px,9.4vw,136px);line-height:.9;letter-spacing:-.045em;margin:14px 0 24px;font-weight:800}h1 span{display:block;color:var(--vivid)}
.lede{font-size:clamp(18px,2vw,22px);max-width:500px;margin:0;opacity:.82}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.micro{font-size:13px;opacity:.6;margin-top:16px}
.orb-bg{position:absolute;right:-6%;top:12%;width:min(520px,60vw);aspect-ratio:1;border-radius:50%;opacity:.55;filter:blur(.5px);
  background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.28),rgba(255,255,255,.05) 38%,rgba(0,0,0,.35) 78%),linear-gradient(135deg,rgba(60,170,110,.55),rgba(0,60,30,.75));border:1.5px solid rgba(0,214,79,.5)}

/* phone */
.phone{position:relative;width:min(310px,78vw);aspect-ratio:9/19;margin:auto;border-radius:48px;padding:10px;background:#111;box-shadow:0 0 0 1.5px #2a2a2c inset,0 40px 80px rgba(0,0,0,.6),0 0 90px rgba(0,214,79,.18)}
.screen{position:relative;height:100%;border-radius:38px;overflow:hidden;color:#fff}
.aerial{position:absolute;inset:0;background:
  radial-gradient(circle at 18% 22%,#0c2a18 0 5%,transparent 6%),radial-gradient(circle at 78% 30%,#0b2916 0 6%,transparent 7%),radial-gradient(circle at 84% 68%,#0d2f1a 0 7%,transparent 8%),radial-gradient(circle at 12% 74%,#0b2916 0 5%,transparent 6%),
  radial-gradient(ellipse 12% 5% at 80% 80%,#d8cfa8 0 70%,transparent 74%),
  radial-gradient(ellipse 30% 17% at 46% 76%,#6fb15c 0 62%,transparent 66%),
  radial-gradient(ellipse 10% 28% at 50% 50%,rgba(130,190,110,.35) 0 60%,transparent 70%),
  repeating-linear-gradient(112deg,rgba(255,255,255,.05) 0 26px,rgba(0,0,0,.06) 26px 52px),
  linear-gradient(180deg,#2f5f34,#3d7a40 45%,#2b5a30)}
.pbar{position:absolute;top:34px;left:12px;right:12px;display:flex;align-items:center;gap:8px}
.pc{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(20,22,24,.62);border:.5px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.pc svg,.tab svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pp{flex:1;text-align:center;padding:5px 8px;border-radius:18px;background:rgba(20,22,24,.62);border:.5px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-weight:700;font-size:13px;line-height:1.2}
.pp small{display:block;font-weight:500;opacity:.7;font-size:11px}
.banner{position:absolute;top:84px;left:12px;right:12px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:18px;background:var(--vivid);color:#02170b;font-weight:700;font-size:13px;animation:drop .7s var(--ease) both .6s}
.banner small{display:block;font-weight:500;font-size:11px;opacity:.75}.banner b{margin-left:auto;background:rgba(0,0,0,.14);padding:4px 10px;border-radius:12px;font-size:12px}
@keyframes drop{from{transform:translateY(-120%);opacity:0}to{transform:none;opacity:1}}
.dock{position:absolute;left:12px;right:12px;bottom:70px;padding:12px 14px;border-radius:24px;background:rgba(36,36,40,.74);border:.5px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:space-between}
.dock i{position:absolute;left:50%;top:5px;width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);transform:translateX(-50%)}
.dock b{display:block;font-size:14px}.dock small{opacity:.7;font-size:12px}.dock .go{background:var(--vivid);color:#02170b;font-weight:700;font-size:13px;padding:8px 16px;border-radius:14px}
.tabbar{position:absolute;left:12px;right:12px;bottom:12px;height:50px;border-radius:25px;background:rgba(30,30,32,.8);border:.5px solid rgba(255,255,255,.14);display:flex;justify-content:space-around;align-items:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.tab{display:grid;justify-items:center;gap:1px;font-size:9px;font-weight:600;opacity:.6}.tab.on{opacity:1;color:var(--vivid)}.tab.on svg{stroke:var(--vivid)}
.yards{position:absolute;right:12px;top:140px;display:grid;gap:6px;text-align:right}
.yards div{padding:6px 12px;border-radius:14px;background:rgba(20,22,24,.62);border:.5px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-weight:800;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.yards small{font-size:9px;font-weight:700;letter-spacing:.08em;opacity:.7;margin-left:6px;vertical-align:middle}

/* sections */
.sec{position:relative;padding:110px 0;overflow:hidden}
.sec h2{font-size:clamp(38px,6vw,84px);line-height:.95;letter-spacing:-.04em;margin:12px 0 18px;font-weight:800}
.sec p.lead{font-size:clamp(17px,1.8vw,20px);max-width:470px;margin:0;opacity:.8}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mint{background:linear-gradient(180deg,var(--backdrop-top),var(--backdrop-mid) 55%,var(--backdrop-bottom));color:var(--text)}
.mint p.lead{color:var(--ink);opacity:1}
.deep{background:radial-gradient(70% 60% at 50% 20%,#0a5a2c,transparent 70%),linear-gradient(180deg,var(--deep),var(--deeper))}

/* keypad demo (Daylight phone) */
.kscreen{background:linear-gradient(180deg,var(--backdrop-top),var(--backdrop-mid) 60%,var(--backdrop-bottom));color:var(--text);padding:46px 14px 14px;display:flex;flex-direction:column}
.kmeta{text-align:center;font-weight:700;font-size:13px}.kmeta small{display:block;font-weight:500;opacity:.6;font-size:11px}
.kval{font-size:104px;text-align:center;margin:8px 0 2px;min-height:96px}
.klab{align-self:center;font-weight:700;font-size:12px;padding:3px 12px;border-radius:12px;background:var(--raised);color:var(--text);min-width:64px;text-align:center}
.klab.under{background:var(--under-par);color:#02170b}.klab.over{background:var(--bogey);color:#1a0f00}.klab.dbl{background:var(--double-bogey);color:#fff}
.kpad{display:grid;grid-template-columns:repeat(3,1fr);margin:12px auto 8px;width:100%}
.kpad button{all:unset;cursor:pointer;height:52px;display:grid;place-items:center;font-size:27px;font-weight:600;border-radius:14px;color:var(--text);font-variant-numeric:tabular-nums;transition:transform .08s,background .12s}
.kpad button:active{transform:scale(.94);background:var(--raised)}
.ksave{all:unset;cursor:pointer;margin-top:auto;height:52px;border-radius:18px;background:var(--accent);color:var(--on-accent);font-weight:700;text-align:center}
.shake{animation:shake .3s}
@keyframes shake{20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.toast{position:absolute;top:34px;left:12px;right:12px;padding:10px 14px;border-radius:16px;background:var(--vivid);color:#02170b;font-weight:700;font-size:13px;transform:translateY(-300%);opacity:0;transition:transform .45s var(--ease),opacity .2s}.toast.show{transform:none;opacity:1}

/* green read level */
.level{position:relative;width:min(440px,86vw);aspect-ratio:1;margin:auto;border-radius:50%;touch-action:none;cursor:grab;
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(0,0,0,.1));border:1.5px solid rgba(0,214,79,.45);overflow:hidden}
.level::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:55px 55px}
.orb{position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;margin:-20%;border-radius:50%;will-change:transform;
  background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.85) 0 5%,rgba(255,255,255,.25) 13%,transparent 30%),
    radial-gradient(circle at 70% 78%,rgba(255,255,255,.22) 0 9%,transparent 22%),
    radial-gradient(circle at 50% 50%,rgba(190,255,215,.06) 0 55%,rgba(220,255,235,.16) 82%,rgba(255,255,255,.34) 100%);
  border:1.5px solid rgba(255,255,255,.42);box-shadow:inset 0 0 26px rgba(120,255,180,.28),0 16px 34px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.orb::before{content:"";position:absolute;inset:6%;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.level.flat{border-color:var(--vivid);box-shadow:0 0 70px rgba(0,214,79,.45)}
.readout{text-align:center;margin-top:20px}.readout .num{font-size:clamp(58px,8vw,96px)}.readout small{display:block;opacity:.7;font-weight:600}
.chips{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.chip{all:unset;cursor:pointer;min-width:96px;height:48px;border-radius:18px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-weight:700;font-size:15px;padding:0 14px}
.chip.on{background:var(--vivid);color:#02170b}
.hint{max-width:360px;margin:14px auto 0;text-align:center;font-size:13px;opacity:.6}

/* bag + rings (Daylight) */
.group{background:var(--surface);border-radius:var(--radius-group);box-shadow:var(--shadow-raised);overflow:hidden}
.brow{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:.5px solid var(--line)}.brow:last-child{border:0}
.brow b{display:block;font-size:17px}.brow small{color:var(--muted-text);font-size:13px}
.brow .yd{font-weight:800;font-size:24px;letter-spacing:-.02em;margin-right:12px;font-variant-numeric:tabular-nums}.brow .yd small{font-size:13px;font-weight:500}
.mini{width:40px;height:40px;position:relative}.mini svg{width:40px;height:40px;transform:rotate(-90deg)}.mini span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800}
.rings{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}.rings svg{width:min(210px,52vw)}
.legend{font-size:15px;line-height:2}.legend b{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.ring{transition:stroke-dasharray 1.2s var(--ease)}

/* round complete */
.round{background:#000}
.big68{font-size:clamp(150px,26vw,330px);display:flex;align-items:flex-start;justify-content:center;gap:10px}
.big68 small{font-size:.22em;font-weight:800;color:var(--vivid);margin-top:.5em;letter-spacing:-.02em}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:6px 0 34px}
.badge{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;background:rgba(255,255,255,.1)}.badge.g{background:var(--vivid);color:#02170b}
.bars{display:flex;gap:5px;align-items:flex-end;justify-content:center;height:96px;margin:0 auto 24px;max-width:640px}
.bars i{flex:1;border-radius:6px;background:#3a3a3d;height:30px;transition:height .8s var(--ease)}.bars i.u{background:var(--vivid)}.bars i.b{background:#FF9F0A}.bars i.d{background:#FF453A}
.stats{display:flex;gap:40px;justify-content:center;flex-wrap:wrap}.stats div{text-align:center}.stats b{display:block;font-size:34px;letter-spacing:-.03em}.stats small{opacity:.65;font-size:13px}
.note{max-width:520px;margin:30px auto 0;text-align:center;opacity:.8}

/* beta */
.beta{background:radial-gradient(70% 70% at 50% 0%,#0f5a30,transparent 70%),#000;text-align:center}
.beta h2{font-size:clamp(46px,8vw,120px)}.beta .glass{max-width:640px;margin:30px auto 0;padding:34px;border-radius:var(--radius-panel-lg);background:rgba(36,36,40,.7);border:.5px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.beta .glass p{margin:0 0 22px;opacity:.85}.addr{display:block;margin-top:14px;font-weight:600;opacity:.8}
footer{padding:34px 0 50px;font-size:14px;opacity:.7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{margin-right:18px}

/* policy pages */
.doc-page{background:var(--backdrop-mid);min-height:100vh;color:var(--text);padding:110px 0 40px}
.doc{max-width:720px;margin:0 auto 60px}.doc h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;color:var(--text);margin:8px 0 12px}.doc h1 span{display:inline}
.doc h2{font-size:21px;margin:30px 0 8px}.doc p{color:var(--ink);font-size:17px}.doc a{color:var(--text)}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.in{opacity:1;transform:none}
@media(max-width:880px){.hero-in,.split{grid-template-columns:1fr;gap:40px}.hero-in{padding-top:96px}.top nav a:not(.btn){display:none}.sec{padding:76px 0}.orb-bg{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}.banner{animation:none}.orb,.ring,.bars i,.btn{transition:none}.shake{animation:none}}
