/* ============ SUBPAGES v2 : same language as the home page (one sky, left copy + right centerpiece, Anton + blue chrome, chrome 3D icons, nav glass) ============ */
:root{--g:clamp(20px,4vw,72px);--g2:clamp(20px,3vw,48px);
  --blue-chrome:linear-gradient(176deg,#fff 0%,#d6e4ff 30%,#3b7bff 50%,#e8f0ff 62%,#1f4fd1 100%);
  --blue-bar:linear-gradient(90deg,#1f4fd1,#3b7bff 60%,#d6e4ff)}

/* ---- page hero : copy left, a meaningful object right ---- */
.ph{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(46vw,820px));gap:clamp(20px,3vw,56px);align-items:center;
  padding:clamp(110px,14vh,150px) var(--g2) clamp(70px,10vh,110px) var(--g)}
.ph::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,9,24,.72) 0%,rgba(5,9,24,.45) 34%,rgba(5,9,24,.05) 62%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}
.ph > *{position:relative;z-index:1}
.ph .eyebrow{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#9cc0ff;margin-bottom:22px}
.ph h1{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(52px,min(8.4vw,15.5vh),156px);line-height:1;letter-spacing:.005em;margin:0 0 26px;color:var(--ink);text-shadow:0 2px 30px rgba(5,9,24,.8)}
.ph h1 .line{display:block;white-space:nowrap;width:max-content}
.ph-copy{min-width:0}
.hl{background:var(--blue-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 24px rgba(5,9,24,.6))}
.ph .sub{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);line-height:1.75;max-width:72ch;margin:0 0 32px}
.ph .acts{display:flex;gap:12px;flex-wrap:wrap}
.ph-art{display:flex;align-items:center;justify-content:center;min-height:min(70vh,640px)}

/* ---- sections ---- */
.blk{position:relative;padding:clamp(70px,11vh,130px) var(--g2) clamp(30px,5vh,60px) var(--g)}
.blk-in{max-width:1240px;margin:0 auto}
.sh{margin-bottom:clamp(30px,5vh,54px)}
.sh.c{text-align:center}
.sh .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#9cc0ff;margin-bottom:16px}
.sh h2{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(40px,5.4vw,96px);line-height:.92;letter-spacing:.005em;color:var(--ink);margin:0}
.sh p{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:16px}

/* chrome icon tile */
.ico{display:block;height:84px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))}
.num{font-family:'Anton',Impact,sans-serif;font-size:15px;letter-spacing:.06em;background:var(--blue-chrome);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.mint-note{max-width:760px;margin:26px auto 0;text-align:center;color:var(--ink-2);font-size:14.5px;line-height:1.55}
@media(max-width:1000px){.cards.four{grid-template-columns:repeat(2,1fr)}}
.card{padding:28px 26px 26px;display:flex;flex-direction:column;gap:14px;border-radius:20px}
.card .top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:96px}
.card h3{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,1.9vw,30px);line-height:1;letter-spacing:.01em;margin:0}
.card p{color:var(--ink-2);font-size:14.5px;margin:0}
.card.pick{border-color:rgba(120,170,255,.55)!important;box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 44px rgba(0,0,0,.38),0 0 40px rgba(59,123,255,.22)!important}
.tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#071029;background:var(--blue-chrome);padding:5px 9px;border-radius:999px}

/* ---- five proofs : pinned countdown (provably fair) ---- */
.cd{position:relative;height:340vh;margin-top:-6vh}
.cd-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.1fr) minmax(0,1.2fr);grid-template-rows:1fr auto;align-items:center;column-gap:clamp(20px,4vw,70px);padding:12vh 0 8vh}
.cd-num{display:flex;align-items:flex-end;justify-content:flex-end}
/* the digit box gets its full line height + padding so the gradient (background-clip:text) covers the whole glyph */
.cd-num b{display:inline-block;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:clamp(200px,27vw,400px);line-height:1.12;padding:.04em .02em;
  background:var(--blue-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 40px rgba(59,123,255,.35))}
.cd-num b.tick{animation:cdTick .55s cubic-bezier(.2,1.2,.3,1)}
@keyframes cdTick{from{transform:translateY(14%);opacity:0}to{transform:none;opacity:1}}
.cd-num span{font-family:'Anton',Impact,sans-serif;font-size:clamp(40px,4vw,70px);line-height:1;color:var(--ink-3);margin:0 0 .55em .1em}
.cd-mach{position:relative;height:min(60vh,620px)}
.cd-mach video,.cd-mach .av-cv{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.cd-stage{position:relative;height:300px}
.cd-s{position:absolute;inset:0;display:flex;align-items:center;gap:26px;opacity:0;transform:translateY(30px);transition:opacity .45s,transform .55s cubic-bezier(.2,.9,.3,1);pointer-events:none}
.cd-s.on{opacity:1;transform:none}
.cd-s img{height:130px;width:auto;mix-blend-mode:screen;filter:drop-shadow(0 0 18px rgba(120,170,255,.35))}
.cd-s h3{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.3vw,38px);line-height:1;margin:0 0 12px;white-space:nowrap}
.cd-s p{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;margin:0}
.cd-dots{grid-column:1/-1;display:flex;justify-content:center;gap:10px}
.cd-dots i{width:46px;height:4px;border-radius:4px;background:rgba(180,186,255,.2);transition:.4s}
.cd-dots i.on{background:var(--blue-bar);box-shadow:0 0 12px rgba(59,123,255,.6)}
@media(max-width:900px){
  .cd{height:auto;margin:0}.cd-pin{position:relative;height:auto;display:block;padding:0}.cd-num,.cd-dots{display:none}.cd-mach{height:56vh;margin-bottom:22px}
  .cd-stage{height:auto;display:flex;flex-direction:column;gap:22px}.cd-s{position:relative;opacity:1;transform:none;gap:18px}.cd-s img{height:84px}.cd-s h3{font-size:26px;margin-bottom:6px}.cd-s p{white-space:normal;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.cd-num b.tick{animation:none}.cd-s{transition:none}}

/* ---- the play receipt (hero of provably fair, and the verifier) ---- */
.rcpt{width:min(100%,560px);padding:22px 22px 18px;border-radius:22px;position:relative}
.rcpt .rh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;border-bottom:1px dashed rgba(180,186,255,.22);margin-bottom:6px}
.rcpt .rh b{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:30px;letter-spacing:.02em}
.rcpt .rh span,.rcpt .rf span{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.rrow{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(180,186,255,.08);opacity:.35;transition:opacity .4s}
.rrow img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.rrow .t{font-weight:700;font-size:14px;line-height:1.2}
.rrow .t small{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.06em;color:var(--ink-2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34ch}
.rrow .ok{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(180,186,255,.22);color:var(--ink-3);transition:.35s cubic-bezier(.2,1.6,.4,1)}
.rrow .ok svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rrow.on{opacity:1}
.rrow.on .ok{color:#071029;border-color:transparent;background:var(--blue-chrome);box-shadow:0 0 18px rgba(59,123,255,.6);transform:scale(1.08)}
.rcpt .rf{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px}
.rcpt .rf b{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:22px;letter-spacing:.02em;opacity:.25;transition:opacity .5s}
.rcpt.done .rf b{opacity:1}
.rcpt.done{border-color:rgba(120,170,255,.55)!important;box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 44px rgba(0,0,0,.38),0 0 40px rgba(59,123,255,.25)!important}
.rcpt-wrap{position:relative;display:flex;justify-content:center;width:100%;padding-top:110px}
.rcpt-wrap .claw{position:absolute;left:50%;top:0;height:150px;width:auto;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6));animation:clawBob 4s ease-in-out infinite}
@keyframes clawBob{50%{transform:translateX(-50%) translateY(-8px)}}
.rcpt-wrap .rcpt{z-index:1;width:min(100%,580px)}

/* verifier: the machine's log. one glass console, the play number is the prompt, each proof is a line the machine writes */
.con{position:relative;max-width:980px;margin:0 auto;border-radius:22px;padding:0;overflow:hidden}
.con .cbar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(180,186,255,.12);font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.con .cbar i{width:9px;height:9px;border-radius:50%;background:rgba(180,186,255,.25)}
.con .cbar i:first-child{background:#ff4d6d;box-shadow:0 0 8px #ff4d6d}
.con .cbar b{margin-left:auto;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:18px;letter-spacing:.04em;color:var(--ink)}
.con .log{padding:22px 24px 10px;min-height:0;font-family:var(--mono);font-size:13.5px;line-height:1.9;color:var(--ink-2)}
.con .ln{display:grid;grid-template-columns:34px 26px 1fr auto;gap:12px;align-items:center;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s;padding:0;border:0}
.con .ln.on{opacity:1;transform:none}
.con .ln .t{color:var(--ink-3);font-size:11px}
.con .ln img{width:22px;height:22px;object-fit:contain;filter:none}
.con .ln .w{color:var(--ink);font-weight:400;font-size:13.5px}
.con .ln .w small{display:inline;color:var(--ink-2);margin-left:10px;font-size:12px;letter-spacing:0;white-space:normal;max-width:none}
.con .ln .ok{width:auto;height:auto;border:0;background:none;box-shadow:none;transform:none;color:#9cc0ff;font-size:11px;letter-spacing:.2em;display:inline}
.con .ln.v .w{color:#9cc0ff}
.con.done .ln.v{opacity:1;transform:none}
.con .prompt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 24px 16px;border-top:1px solid rgba(180,186,255,.12);font-family:var(--mono)}
.con .prompt label{color:var(--ink-2);font-size:13px;white-space:nowrap;cursor:pointer}
.con .prompt label span{color:#9cc0ff}
.con .prompt .field{flex:1;min-width:160px;display:flex;align-items:center;gap:8px;padding:0 16px;height:44px;border-radius:999px;background:rgba(5,9,24,.6);border:1px solid rgba(180,186,255,.3);transition:border-color .2s,box-shadow .2s}
.con .prompt .field:focus-within{border-color:rgba(120,170,255,.8);box-shadow:0 0 0 4px rgba(59,123,255,.15)}
.con .prompt .field i{font-style:normal;color:var(--ink-3)}
.con .prompt input{flex:1;min-width:0;font-family:var(--mono);font-size:15px;letter-spacing:.08em;color:var(--ink);background:transparent;border:0;outline:none;caret-color:#9cc0ff}
.con .prompt input::placeholder{color:var(--ink-3)}
.con .prompt small{flex-basis:100%;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.con .prompt button{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#071029;background:var(--blue-chrome);border:0;border-radius:999px;padding:10px 16px;cursor:pointer;transition:transform .2s}
.con .prompt button:hover{transform:translateY(-1px)}
.con .cur{display:inline-block;width:8px;height:14px;background:#9cc0ff;vertical-align:-2px;animation:blink 1s steps(2) infinite}
.con.done{border-color:rgba(120,170,255,.45)!important;box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 44px rgba(0,0,0,.38),0 0 40px rgba(59,123,255,.2)!important}
@media(max-width:620px){.con .log{padding:16px 14px 8px;font-size:12px}.con .ln{grid-template-columns:30px 20px 1fr auto;gap:8px}.con .ln .w small{display:block;margin:0}.con .prompt{padding:12px 14px 14px}}

/* refund cases */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case{padding:24px 24px 22px;border-radius:20px}
.case .if{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.case h3{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:24px;line-height:1;margin:0 0 10px}
.case .then{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9cc0ff}

/* ---- rent hero : the machine, with capsules parachuting in ---- */






@keyframes paraFall{0%{transform:translate(0,0) rotate(-6deg);opacity:0}10%{opacity:1}35%{transform:translate(6%,40%) rotate(5deg)}60%{transform:translate(-4%,80%) rotate(-4deg);opacity:1}78%{transform:translate(2%,112%) rotate(2deg) scale(.92);opacity:0}100%{opacity:0}}
.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:8px 12px;border-radius:999px;background:rgba(5,9,24,.65);border:1px solid rgba(180,186,255,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.chip.live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff4d6d;box-shadow:0 0 10px #ff4d6d;margin-right:8px;vertical-align:1px;animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}

/* ---- prize shelf (rent) ---- */
.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.shelf.three{grid-template-columns:repeat(3,1fr)}
.prize{padding:26px 22px 22px;border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.prize img{height:130px;width:auto;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.55))}
.prize h3{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:26px;line-height:1;margin:0}
.prize p{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0}
/* stocks: one full-width card per row, logo placeholder + ticker + price chart */
.stocks{display:flex;flex-direction:column;gap:12px;margin:20px auto 0;max-width:720px}
.stk{display:flex;align-items:center;gap:clamp(14px,2.4vw,24px);padding:16px 22px;border-radius:18px}
.stk .lg{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;margin:0;object-fit:unset;
  background:linear-gradient(180deg,rgba(180,186,255,.16),rgba(5,9,24,.5));border:1px solid rgba(180,186,255,.3);
  font-family:'Anton',Impact,sans-serif;font-size:21px;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);filter:none}
.stk-id{flex:none;width:118px}
.stk-id b{display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:27px;letter-spacing:.02em;line-height:1;color:var(--ink)}
.stk-id span{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}
.stk-chart{flex:1;height:50px;min-width:0;overflow:visible}
@media(max-width:620px){.stk{gap:14px;padding:14px 16px}.stk-id{width:auto}.stk-chart{display:none}}

/* chips row */
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chips .chip{font-size:11px;padding:10px 16px}

/* ---- participate hero : the phone with the live stream ---- */
.phone{position:relative;height:min(78vh,720px);aspect-ratio:9/19.2;border-radius:26px;padding:0;overflow:hidden;cursor:pointer;
  background:#0a0f24;border:1px solid rgba(180,186,255,.18);
  box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 60px rgba(59,123,255,.16),inset 0 0 0 1px rgba(255,255,255,.04)}
.phone .scr{position:relative;display:flex;flex-direction:column;width:100%;height:100%;border-radius:inherit;overflow:hidden;background:#050918}
.phone .bbar{flex:none;display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;background:linear-gradient(180deg,#121a38,#0a0f24);border-bottom:1px solid rgba(180,186,255,.12)}
.phone .bbar .dots{display:flex;gap:6px;flex:none}
.phone .bbar .dots i{width:9px;height:9px;border-radius:50%;background:rgba(180,186,255,.35)}
.phone .bbar .dots i:first-child{background:#ff5f57}
.phone .bbar .dots i:nth-child(2){background:#febc2e}
.phone .bbar .dots i:nth-child(3){background:#28c840}
.phone .bbar .url{flex:1;min-width:0;display:flex;align-items:center;gap:7px;height:24px;padding:0 12px;border-radius:999px;background:rgba(5,9,24,.6);border:1px solid rgba(180,186,255,.14);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phone .bbar .url svg{width:11px;height:11px;flex:none;fill:none;stroke:#7db0ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}


.phone .view{position:relative;flex:1;min-height:0;overflow:hidden}
.phone video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.phone .view::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,24,.28) 0%,transparent 20%,transparent 58%,rgba(5,9,24,.9) 100%);pointer-events:none}
.ui{position:absolute;z-index:2;left:14px;right:14px}
.ui.mid{bottom:94px;top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ui.bot{bottom:16px;display:flex;flex-direction:column;gap:10px}
.timer{font-family:'Anton',Impact,sans-serif;font-size:34px;line-height:1;color:var(--ink);text-shadow:0 2px 14px rgba(0,0,0,.7)}
.pad{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stick{width:66px;height:66px;border-radius:50%;background:rgba(5,9,24,.6);border:1px solid rgba(180,186,255,.35);display:grid;place-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.stick i{width:30px;height:30px;border-radius:50%;background:var(--blue-chrome);box-shadow:0 0 16px rgba(59,123,255,.6);animation:nudge 3.2s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translate(0,0)}25%{transform:translate(9px,0)}50%{transform:translate(9px,-7px)}75%{transform:translate(-6px,4px)}}
.ph-grab{flex:1;font-family:'Anton',Impact,sans-serif;font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:#071029;background:var(--blue-chrome);border:0;border-radius:999px;padding:14px 0;box-shadow:0 0 22px rgba(59,123,255,.5)}

/* steps (participate) */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}

/* check card */
.check2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(24px,4vw,64px);align-items:center}
.check2 .glass{padding:26px;border-radius:22px}
.check2 .check-row{display:flex;gap:10px}
.check2 input{flex:1;min-width:0;font-family:var(--mono);font-size:13.5px;color:var(--ink);background:rgba(5,9,24,.6);border:1px solid rgba(180,186,255,.25);border-radius:999px;padding:14px 20px;outline:none}
.check2 .check-or{text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin:14px 0}

/* ---- the app preview (opening soon) ---- */
.app{border-radius:24px;overflow:hidden;padding:0}
.app .bar{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(180,186,255,.14)}
.app .dots{display:flex;gap:6px}.app .dots i{width:10px;height:10px;border-radius:50%;background:rgba(180,186,255,.25)}
.app .tabs{display:flex;gap:6px;margin-left:8px}
.app .tabs button{all:unset;cursor:pointer;white-space:nowrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:7px 12px;border-radius:999px;transition:color .2s,background .2s}
.app .tabs button:hover{color:var(--ink)}
.app .tabs button.on{color:#071029;background:var(--blue-chrome)}
/* the tabs pick a column: the others step back; on phones only the picked one shows */
.app .col{transition:opacity .35s,transform .35s}
.app[data-col] .col{opacity:.38}
.app[data-col="0"] .col:nth-child(1),.app[data-col="1"] .col:nth-child(2),.app[data-col="2"] .col:nth-child(3){opacity:1}
.app .bar .soon{margin-left:auto}
.app .body{display:grid;grid-template-columns:1.35fr 1fr 1fr;min-height:360px}
.app .col{padding:20px 20px 22px;border-right:1px solid rgba(180,186,255,.1)}
.app .col:last-child{border-right:0}
.app .col h4{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#9cc0ff;margin:0 0 14px}
.app .col h4 img{height:30px;width:auto}







.task{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(180,186,255,.08);font-size:13.5px}
.task i{flex:none;width:20px;height:20px;border-radius:6px;border:1px solid rgba(180,186,255,.3);display:grid;place-items:center}
.task.done i{background:var(--blue-chrome);border-color:transparent}
.task.done i::after{content:"";width:8px;height:5px;border-left:2px solid #071029;border-bottom:2px solid #071029;transform:rotate(-45deg) translateY(-1px)}
.task span{flex:1}.task em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#9cc0ff}
.proj{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(180,186,255,.08)}
.proj .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(160deg,#e9eef9,#8f9ab6 40%,#f4f6fb 60%,#6b7593)}
.proj b{display:block;font-size:13.5px;line-height:1.2}.proj small{font-family:var(--mono);font-size:10px;color:var(--ink-2)}



/* callout spacing on subpages */
.blk + .callout{margin-top:clamp(60px,9vh,110px)}

/* ---- responsive ---- */
@media(max-width:1100px){
  .shelf,.stocks{grid-template-columns:repeat(2,1fr)}
  .app .body{grid-template-columns:1fr 1fr}.app .col:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(180,186,255,.1)}
}
@media(max-width:900px){
  .ph{grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:110px}
  
    .ph h1{font-size:clamp(44px,13vw,84px)}
  .ph .sub{font-size:11px}
  .ph-art{min-height:0;order:2}
  .phone{height:66vh}
  .cards,.cards.four,.cases,.steps3{grid-template-columns:1fr}
  .check2{grid-template-columns:1fr}
  .rcpt-wrap .claw{display:none}
  .shelf.three{grid-template-columns:1fr}
}
@media(max-width:620px){
  .shelf,.stocks{grid-template-columns:1fr}
  .app .body{grid-template-columns:1fr}.app .col{border-right:0;border-bottom:1px solid rgba(180,186,255,.1)}
  .app .tabs{display:flex}.app .chip.soon{display:none}.app .col{display:none;opacity:1!important}.app:not([data-col]) .col:nth-child(1),.app[data-col="0"] .col:nth-child(1),.app[data-col="1"] .col:nth-child(2),.app[data-col="2"] .col:nth-child(3){display:block}
  .ph h1 .line{white-space:normal}
}

/* hero subline: one sentence per line, never wrapped mid-sentence on desktop */
.ph .sub{max-width:none}
@media(min-width:901px){.ph .sub{white-space:nowrap}}

/* ---- app preview v2 : real-looking project rows ---- */
.app .lg{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.08)}
.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.tags span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#cfd8f5;padding:3px 7px;border-radius:6px;background:rgba(180,186,255,.1);border:1px solid rgba(180,186,255,.14)}
.dr{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(5,9,24,.45);border:1px solid rgba(180,186,255,.1);margin-bottom:10px}
.dr-t{display:flex;align-items:baseline;gap:8px}
.dr-t b{font-size:15px;line-height:1.1}
.tk{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:#9cc0ff}
.dr-s{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:84px}
.pill{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid rgba(180,186,255,.25);color:var(--ink-2)}
.pill.live{color:#fff;border-color:transparent;background:linear-gradient(90deg,#ff4d6d,#ff7a59);box-shadow:0 0 14px rgba(255,77,109,.45)}
.pill.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;margin-right:6px;vertical-align:1px;animation:blink 1.4s ease-in-out infinite}
.cap{display:block;width:84px;height:4px;border-radius:4px;background:rgba(180,186,255,.15);overflow:hidden}
.cap i{display:block;height:100%;width:calc(var(--f) * 100%);border-radius:4px;background:var(--blue-bar)}
.dr-s small{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-3)}
.clock{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:17px;letter-spacing:.04em;color:var(--ink)}
.pj{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(180,186,255,.08)}
.pj b{display:block;font-size:14.5px;line-height:1.1}
.mf{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#9cc0ff;padding:4px 7px;border-radius:6px;border:1px solid rgba(120,170,255,.35);white-space:nowrap}
@media(max-width:620px){.dr{grid-template-columns:44px minmax(0,1fr)}.dr-s{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}}
.clock .tz{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--ink-2);vertical-align:2px}

/* step-number badges removed from the cards */
.card .num{display:none}

/* clean format chips: minimal glass pill in a centered row, quiet until hover */
.chips{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px}
.chips .chip{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;font-size:11px;letter-spacing:.2em;padding:11px 20px;color:var(--ink-2);
  background:rgba(5,9,24,.45);border:1px solid rgba(180,186,255,.2);
  transition:color .2s,border-color .2s,background .2s}
.chips .chip:hover{color:var(--ink);border-color:rgba(180,186,255,.5);background:rgba(180,186,255,.07)}
.stk .lg img{width:24px;height:24px;object-fit:contain;filter:invert(1)}
.stk-px{flex:none;width:112px;text-align:right}
.stk-px b{display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:24px;letter-spacing:.02em;line-height:1.05;color:var(--ink)}
.stk-px span{font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.stk-px span.up{color:#4ade80}.stk-px span.dn{color:#ff6b81}
@media(max-width:620px){.stk-px{width:auto;margin-left:auto}}
.stk-px b{transition:color .6s}
.stk-px b.tick-up{animation:pxUp 1.2s ease-out}.stk-px b.tick-dn{animation:pxDn 1.2s ease-out}
@keyframes pxUp{0%{color:#4ade80;text-shadow:0 0 14px rgba(74,222,128,.7)}100%{color:var(--ink)}}
@keyframes pxDn{0%{color:#ff6b81;text-shadow:0 0 14px rgba(255,107,129,.7)}100%{color:var(--ink)}}

/* ---- formats (rent) : picture + how it runs + who it's for + reach ---- */
.fmts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fm{padding:0;overflow:hidden;border-radius:20px;display:flex;flex-direction:column}
.fm-ph{position:relative;overflow:hidden;aspect-ratio:4/3;border-bottom:1px solid rgba(180,186,255,.14)}
.fm-img{width:100%;height:100%;object-fit:cover;display:block}
.fm-b{padding:20px 22px 22px}
.fm h3{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:26px;line-height:1;margin:0 0 8px}
.fm-how{color:var(--ink);font-size:14.5px;margin:0 0 14px}
.fm dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0;padding-top:14px;border-top:1px solid rgba(180,186,255,.12)}
.fm dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#9cc0ff;padding-top:3px}
.fm dd{margin:0;color:var(--ink-2);font-size:13.5px}
@media(max-width:1000px){.fmts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.fmts{grid-template-columns:1fr}}
/* phones: centerpieces sized to the screen, parachutes stay inside their scene */
@media(max-width:900px){
  .ph{gap:34px;padding-bottom:40px}
  .ph .acts .btn{flex:1;justify-content:center;padding:14px 16px;font-size:14px}
  .ph-art{justify-content:center}
  
  
  .phone{height:min(58vh,540px)}
  .rcpt-wrap{padding-top:0}
  .rcpt{padding:16px 14px 12px}
  .rrow{grid-template-columns:34px 1fr auto;gap:10px}.rrow img{width:32px;height:32px}
  .rrow .t small{max-width:22ch}
  .sh h2{font-size:clamp(34px,10vw,52px)}
  .blk{padding-top:56px}
}

/* hero window : the simulator playing itself (sim.js) */
.phone .view canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#050918}
.phone .stick i{animation:none;transition:transform .14s ease-out}

/* ============ hero : desktop browser window with the live claw (replaces the phone mockup) ============ */
.bwin{position:relative;width:min(100%,720px);border-radius:16px;overflow:hidden;cursor:pointer;background:#0a0f24;
  border:1px solid rgba(180,186,255,.2);box-shadow:0 50px 100px rgba(0,0,0,.55),0 0 80px rgba(59,123,255,.16),inset 0 0 0 1px rgba(255,255,255,.03);
  transform:perspective(1800px) rotateY(-8deg) rotateX(3deg);transform-origin:65% 50%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.bwin:hover{transform:perspective(1800px) rotateY(-3deg) rotateX(1deg)}
.bwin .bbar{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;background:linear-gradient(180deg,#141c3c,#0c1230);border-bottom:1px solid rgba(180,186,255,.12)}
.bwin .dots{display:flex;gap:6px;flex:none}
.bwin .dots i{width:10px;height:10px;border-radius:50%}
.bwin .dots i:nth-child(1){background:#ff5f57}.bwin .dots i:nth-child(2){background:#febc2e}.bwin .dots i:nth-child(3){background:#28c840}
.bwin .nav-ic{display:flex;gap:2px;flex:none;margin-left:4px}
.bwin .nav-ic svg{width:15px;height:15px;fill:none;stroke:var(--ink-3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bwin .url{flex:1;max-width:380px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:7px;height:25px;padding:0 14px;border-radius:999px;background:rgba(5,9,24,.6);border:1px solid rgba(180,186,255,.14);
  font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;overflow:hidden}
.bwin .url svg{width:11px;height:11px;flex:none;fill:none;stroke:#7db0ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bview{position:relative;aspect-ratio:16/10;background:#050918;overflow:hidden}
.bview canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.bhud{position:absolute;z-index:2;display:flex;gap:8px;align-items:center;pointer-events:none}
.bhud.tl{top:12px;left:12px}.bhud.tr{top:12px;right:12px}.bhud.br{right:14px;bottom:8px}


.bwatch{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(5,9,24,.55);border:1px solid rgba(180,186,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

.bwatch{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.bwatch i{width:5px;height:5px;border-radius:50%;background:#7db0ff;box-shadow:0 0 8px #7db0ff}
.bhud .timer{font-size:clamp(26px,2.8vw,40px)}
.bctrl{display:flex;align-items:center;gap:16px;padding:12px 16px;background:linear-gradient(180deg,#0c1230,#070b1e);border-top:1px solid rgba(180,186,255,.1)}
.bctrl .stick{width:50px;height:50px;flex:none}
.bctrl .stick i{width:22px;height:22px;animation:none;transition:transform .14s ease-out}



.bctrl .ph-grab{flex:none;width:150px;font-size:19px;padding:11px 0}
@media(max-width:900px){
  .bwin{width:100%;transform:none}
  .bwin:hover{transform:none}
  .bwin .nav-ic{display:none}
}
@media(max-width:480px){
  
  .bctrl{justify-content:space-between}
  .bctrl .ph-grab{width:auto;flex:1;max-width:200px}
  
}
.bwin .stick{cursor:default}

/* viewers : a small people glyph instead of the dot */
.pc-view i,.bwatch i,.swatch i{width:12px;height:12px;border-radius:0;background:#9cc0ff;box-shadow:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227.6%22%20r%3D%223.6%22/%3E%3Cpath%20d%3D%22M2%2019.5c0-3.9%203.1-6.4%207-6.4s7%202.5%207%206.4z%22/%3E%3Ccircle%20cx%3D%2217.2%22%20cy%3D%228.6%22%20r%3D%222.9%22/%3E%3Cpath%20d%3D%22M16.3%2013.3c3.5-.4%206.2%201.9%206.2%205.5h-4.7c0-2.1-.5-4.1-1.5-5.5z%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227.6%22%20r%3D%223.6%22/%3E%3Cpath%20d%3D%22M2%2019.5c0-3.9%203.1-6.4%207-6.4s7%202.5%207%206.4z%22/%3E%3Ccircle%20cx%3D%2217.2%22%20cy%3D%228.6%22%20r%3D%222.9%22/%3E%3Cpath%20d%3D%22M16.3%2013.3c3.5-.4%206.2%201.9%206.2%205.5h-4.7c0-2.1-.5-4.1-1.5-5.5z%22/%3E%3C/svg%3E") center/contain no-repeat}
.pc-view,.bwatch,.swatch{gap:6px}
.bwin{cursor:default}
.bwin .ph-grab{cursor:pointer}

/* hero window HUD : "Catching at <project>" with an on-air dot instead of the LIVE pill */
.bcatch{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.3)}
.bcatch .rec{position:relative;width:7px;height:7px;border-radius:50%;background:#ff4d6d;flex:none}
.bcatch .rec::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(255,77,109,.7);animation:recPulse 1.8s ease-out infinite}
@keyframes recPulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}
.bcatch .bc-k{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.bcatch img{width:18px;height:18px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.bcatch b{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
@media(max-width:480px){.bcatch .bc-k{display:none}}

/* hero window : real footage */
.bview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bwin .stick i.steer{animation:nudge 1.8s ease-in-out infinite}

/* hero window controls: queue + GRAB only */
.bctrl{justify-content:space-between;padding:12px 14px 12px 18px}
.bq{display:flex;align-items:center;gap:12px;font-family:var(--font);font-size:13.5px;color:var(--ink-2)}
.bq b{color:var(--ink);font-weight:700}
.bq-av{display:flex}
.bq-av i{width:24px;height:24px;border-radius:50%;margin-left:-7px;border:2px solid #0a1030;
  background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.5) 0 22%,transparent 23%),radial-gradient(circle at 50% 110%,rgba(255,255,255,.4) 0 45%,transparent 46%),linear-gradient(160deg,#3b4a8f,#1a2350)}
.bq-av i:first-child{margin-left:0}
.bq-av i:nth-child(2){background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.5) 0 22%,transparent 23%),radial-gradient(circle at 50% 110%,rgba(255,255,255,.4) 0 45%,transparent 46%),linear-gradient(160deg,#4b3a8f,#231a50)}
.bq-av i:nth-child(3){background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.5) 0 22%,transparent 23%),radial-gradient(circle at 50% 110%,rgba(255,255,255,.4) 0 45%,transparent 46%),linear-gradient(160deg,#2f5a8f,#162a50)}
@media(max-width:480px){.bq{font-size:12px}.bq-av{display:none}}
.bq-t{display:flex;flex-direction:column;line-height:1.2}
.bq-t small{font-size:11.5px;color:var(--ink-3)}

.bq-av img{width:26px;height:26px;border-radius:50%;object-fit:cover;margin-left:-8px;border:2px solid #0a1030;display:block}
.bq-av img:first-child{margin-left:0}

/* laptop heights: the hero must fit one screen. The centerpiece (receipt + claw, browser window) and the
   headline scale with the viewport height, so nothing slides under the fold on 1280x600 to 1440x900 screens. */
@media (min-width:901px){
  .ph{padding-top:clamp(92px,13vh,150px);padding-bottom:clamp(36px,7vh,110px)}
  .bwin{width:min(100%,720px,calc((100vh - 170px) * 1.17))}
}
@media (min-width:901px) and (max-height:860px){
  .ph h1{font-size:clamp(48px,min(8.4vw,13.2vh),156px);margin-bottom:20px}
  .ph .eyebrow{margin-bottom:14px}
  .ph .sub{margin-bottom:24px}
  .ph-art{min-height:0}
  .rcpt-wrap{zoom:.86}
}
@media (min-width:901px) and (max-height:760px){ .rcpt-wrap{zoom:.76} }
@media (min-width:901px) and (max-height:680px){ .rcpt-wrap{zoom:.66} .ph .sub{font-size:11.5px} }
/* stream tag over bright footage: same dark broadcast glass as the play view, so it stays readable */
.bcatch{border-radius:12px;padding:6px 13px 6px 11px;background:linear-gradient(180deg,rgba(14,16,28,.78),rgba(6,8,16,.68));border-color:rgba(255,255,255,.1)}
.bcatch .bc-k{color:#c9cfe6}

/* rent hero: Rev B machine render with a transparent background, shown whole */
.sim-scene{position:relative;height:min(78vh,700px);aspect-ratio:1060/1080;max-width:100%}
.sim-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:center/contain no-repeat;
  filter:saturate(1.06) contrast(1.03)}
.sim-scene{isolation:auto}
@media(max-width:900px){.sim-scene{height:auto;width:100%;margin:0 auto}}

/* participate hero : Powered by CodecFlow x SimArena */
.lab-pwr{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.lab-pwr a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--font);font-size:17px;font-weight:600;letter-spacing:0;text-transform:none;transition:opacity .2s}
.lab-pwr a:hover{opacity:.75}
.lab-pwr a em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.lab-pwr .cf-ic{width:24px;height:24px;border-radius:5px;background:#fff;display:grid;place-items:center;flex:none}
.lab-pwr .cf-ic img{width:16px;height:16px;display:block}
.lab-pwr .sa-ic{width:20px;height:20px;display:block}
.lab-pwr i{font-style:normal;color:var(--ink-3);font-size:12px}

/* provably fair on phones: the title on two lines, the subtitle on two, the five proofs in one aligned column */
@media (max-width:900px){
  .ph h1{font-size:clamp(34px,10.4vw,60px)!important}
  .ph h1 .line.l2,.ph h1 .line.l3{display:inline;width:auto;white-space:nowrap}
  .ph .sub{font-size:10.5px!important;letter-spacing:.06em!important}
  .ph .sub .sl{white-space:nowrap}
  .cd-stage{align-items:stretch}
  .cd-s{display:grid!important;grid-template-columns:72px 1fr;align-items:center;gap:16px}
  .cd-s img{width:72px!important;height:72px!important;object-fit:contain;justify-self:center}
}

/* rent: the seventh row, your own format, full width under the six */
.fm-own{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:28px;padding:26px 30px}
.fm-own .fm-b{padding:0}
.fm-own-ico{width:88px;height:88px;display:grid;place-items:center;border-radius:20px;background:rgba(243,244,251,.05);border:1px solid rgba(180,186,255,.18)}
.fm-own-ico img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.fm-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#9cc0ff;margin-bottom:10px}
.fm-own .fm-how{margin:0}
.fm-rules{padding-left:28px;border-left:1px solid rgba(180,186,255,.14)}
.fm-rules ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fm-rules li{padding-left:12px;border-left:2px solid rgba(143,184,255,.35);color:var(--ink-2);font-size:13.5px;line-height:1.35}
.fm-cta{white-space:nowrap}
@media(max-width:1000px){ .fm-own{grid-template-columns:auto 1fr;gap:20px 22px} .fm-rules{grid-column:1/-1;padding-left:0;border-left:0;padding-top:16px;border-top:1px solid rgba(180,186,255,.12)} .fm-cta{grid-column:1/-1;justify-self:start} }
@media(max-width:620px){ .fm-own{grid-template-columns:1fr;padding:22px} .fm-own-ico{width:72px;height:72px} .fm-own-ico img{width:52px;height:52px} .fm-cta{justify-self:stretch;text-align:center} }

/* participate: the subtitle on two even lines, a quiet live pill, the drop progress as a full width line */
.sh .sub2{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.5em;row-gap:4px}
@media(max-width:700px){.sh .sub2{flex-direction:column;align-items:center}}
.pill.live{color:#cfe0ff;background:rgba(59,123,255,.16);border:1px solid rgba(143,184,255,.45);box-shadow:none}
.pill.live::before{content:none}
.dr-bar{grid-column:1/-1;display:block;height:3px;border-radius:3px;background:rgba(180,186,255,.14);overflow:hidden;margin-top:2px}
.dr-bar i{display:block;height:100%;width:calc(var(--f) * 100%);border-radius:3px;background:var(--blue-bar,linear-gradient(90deg,#7fa8ff,#3b7bff))}
.dr-n{grid-column:1/-1;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:-2px}
.dr-n b{color:#9cc0ff;font-weight:400}
/* the drop rows and the quest rows answer the pointer like the discover rows */
.dr,.task{transition:background .25s,border-color .25s,padding .25s}
.dr:hover{background:rgba(180,196,255,.07);border-color:rgba(180,186,255,.22)}
.dr .lg{transition:transform .35s cubic-bezier(.2,1.4,.4,1),filter .35s}
.dr:hover .lg{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 0 12px rgba(120,170,255,.45))}
.task{border-radius:10px}
.task:hover{background:rgba(180,196,255,.05);padding-left:6px;padding-right:6px}
.task i{transition:transform .35s cubic-bezier(.2,1.4,.4,1),border-color .25s}
.task:hover i{transform:scale(1.12);border-color:rgba(120,170,255,.6)}

/* participate hero: the physics lab and its partners in one card */
.lab-card{display:flex;align-items:center;gap:22px;margin-top:22px;padding:14px 20px;border-radius:18px;width:max-content;max-width:100%}
.lab-go{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.lab-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#9cc0ff}
.lab-go b{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:22px;line-height:1;letter-spacing:.01em;transition:color .2s}
.lab-go b span{display:inline-block;transition:transform .25s}
.lab-go:hover b span{transform:translateX(4px)}
.lab-card .lab-pwr{margin:0;padding-left:22px;border-left:1px solid rgba(180,186,255,.18);font-size:9.5px;gap:8px}
.lab-card .lab-pwr a{font-size:14px}
@media(max-width:620px){
  .lab-card{position:relative;display:block;width:auto;padding:34px 16px 16px;text-align:center}
  .lab-card .lab-pwr{position:absolute;top:10px;right:12px;padding:0;border:0;font-size:8px;gap:5px;letter-spacing:.12em}
  .lab-card .lab-pwr a{font-size:11px;gap:5px}
  .lab-card .lab-pwr .cf-ic{width:16px;height:16px;border-radius:4px} .lab-card .lab-pwr .cf-ic img{width:11px;height:11px} .lab-card .lab-pwr .sa-ic{width:14px;height:14px}
  .lab-go{align-items:center}
  .lab-go b{font-size:30px}
}

/* physics lab card: title, then the partners on their own row, all inside the card */
.lab-card{flex-direction:column;align-items:flex-start;gap:12px}
.lab-card .lab-pwr{padding:12px 0 0;border-left:0;border-top:1px solid rgba(180,186,255,.14);width:100%}
.lab-dsk{display:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
@media(max-width:620px){
  .lab-card{display:flex;align-items:center;padding:18px 16px 14px;text-align:center}
  .lab-card .lab-pwr{position:static;justify-content:center;padding-top:12px;border-top:1px solid rgba(180,186,255,.14);font-size:8.5px}
  .lab-dsk{display:block}
}

/* participate hero: the lab card takes the full width of the two buttons above it */
.ph-cta{display:inline-grid;grid-template-columns:minmax(0,1fr);max-width:100%}
.ph-cta .lab-card{width:auto;box-sizing:border-box}
.ph-cta .lab-go{width:100%}
.ph-cta .lab-go b{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:620px){ .ph-cta{display:grid} .ph-cta .lab-go b{justify-content:center} }

/* line breaks that only apply on phones */
@media(min-width:901px){ br.mbr{display:none} }
/* the lab title fills the card from edge to edge */
@media(min-width:621px){ .ph-cta .lab-go b{justify-content:flex-start;gap:.3em;font-size:var(--labfs,40px);white-space:nowrap} }

/* ---- stock charts: real last session, dashed line = previous close, live ping while the market is open ---- */
.stk-chart .line{fill:none;stroke:#7db0ff;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(59,123,255,.55))}
.stk-chart .g0{stop-color:#3b7bff;stop-opacity:.34}.stk-chart .g1{stop-color:#3b7bff;stop-opacity:0}
.stk-chart.dn .line{stroke:#ff8a9a;filter:drop-shadow(0 0 6px rgba(255,107,129,.45))}
.stk-chart.dn .g0,.stk-chart.dn .g1{stop-color:#ff6b81}
.stk-chart .base{stroke:rgba(214,228,255,.28);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.stk-chart .dot{fill:#fff;filter:drop-shadow(0 0 6px rgba(125,176,255,.9))}
.stk-chart.closed .dot{fill:rgba(214,228,255,.55);filter:none}
.stk-chart .ping{fill:none;stroke:#7db0ff;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:stkPing 1.8s cubic-bezier(.2,.8,.2,1) infinite}
.stk-chart.dn .ping{stroke:#ff8a9a}
@keyframes stkPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}
.stk-chart .hov{opacity:0;transition:opacity .15s}
.stk-chart.on .hov{opacity:1}
.stk-chart .xh{stroke:rgba(214,228,255,.45);stroke-width:1;vector-effect:non-scaling-stroke}
.stk-chart .hd{fill:#fff;stroke:#3b7bff;stroke-width:2;vector-effect:non-scaling-stroke}
.stk-chart.dn .hd{stroke:#ff6b81}
.stk-chart.on{-webkit-mask-image:linear-gradient(90deg,#000 var(--cut,100%),rgba(0,0,0,.28) var(--cut,100%));mask-image:linear-gradient(90deg,#000 var(--cut,100%),rgba(0,0,0,.28) var(--cut,100%))}
.stk-id span{display:inline-flex;align-items:center;gap:6px;margin-top:6px;white-space:nowrap;color:var(--ink-3)}
.stk-id span .live{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:stkLive 1.6s ease-in-out infinite}
@keyframes stkLive{50%{opacity:.35}}
/* row hover: lifts, the border takes the chart's color */
.stocks .stk.in{cursor:crosshair;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s!important;transition-delay:0s!important}
.stocks .stk.in:hover{transform:translateY(-3px);border-color:rgba(125,176,255,.5);box-shadow:0 18px 44px rgba(0,0,0,.4),0 0 34px rgba(59,123,255,.2),inset 0 1px 0 rgba(255,255,255,.12)}
.stocks .stk.in:has(.stk-chart.dn):hover{border-color:rgba(255,138,154,.45);box-shadow:0 18px 44px rgba(0,0,0,.4),0 0 34px rgba(255,107,129,.16),inset 0 1px 0 rgba(255,255,255,.12)}
.stk .lg{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.stk:hover .lg{transform:scale(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 22px rgba(125,176,255,.35)}

/* ---- format cards: tilt toward the cursor, photo zooms and drifts, a spotlight and a glint follow the pointer ---- */
.fmts{perspective:1100px}
.fmts .fm.in{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s!important;transition-delay:0s!important}
.fmts .fm.in:hover{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px);transition:transform .14s ease-out,border-color .35s,box-shadow .35s!important;
  border-color:rgba(125,176,255,.5);box-shadow:0 34px 80px rgba(0,0,0,.55),0 0 50px rgba(59,123,255,.2),inset 0 1px 0 rgba(255,255,255,.2)}
.fm .fm-img{transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .5s}
.fm:hover .fm-img{transform:scale(1.08) translate(var(--px,0px),var(--py,0px));filter:saturate(1.15) brightness(1.08)}
.fm-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(214,228,255,.22) 50%,transparent 65%);transform:translateX(-120%)}
.fm:hover .fm-ph::after{transform:translateX(120%);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.fm::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(125,176,255,.16),transparent 60%)}
.fm:hover::after{opacity:1}
.fm h3{transition:color .3s,text-shadow .3s}
.fm:hover h3{color:#fff;text-shadow:0 0 22px rgba(125,176,255,.55)}
.fm dl{transition:border-color .35s}.fm:hover dl{border-color:rgba(125,176,255,.3)}
@media(hover:none){.fmts .fm.in:hover{transform:none}.fm:hover .fm-img{transform:none}}
.stk-px span{white-space:nowrap}
@media(min-width:621px){.stk-px{width:150px}}

/* ============ LIVE CARDS (Oct 31): every card family moves a little, like the machine does ============
   .card (modes, mint steps, three steps), .prize (capsule shelf), .pq (quests), .uc (upcoming), .case (refund cases)
   - the icon floats on an idle loop, staggered per card
   - a soft light follows the pointer (vars --mx/--my set in site.js), the card tilts a few degrees toward it
   - on hover the icon lifts and glows; a chrome sheen runs along the top edge */
.card,.prize,.pq,.uc,.case{position:relative;transform-style:preserve-3d;--mx:50%;--my:30%;--rx:0deg;--ry:0deg;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.card.live,.prize.live,.case.live{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px)}
.card::after,.prize::after,.case::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(260px 200px at var(--mx) var(--my),rgba(180,196,255,.16),transparent 70%)}
.card.live::after,.prize.live::after,.case.live::after{opacity:1}
.card::before,.prize::before,.case::before{content:"";position:absolute;left:14%;right:14%;top:-1px;height:1px;border-radius:2px;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,#d6e4ff 30%,#3b7bff 55%,#fff 75%,transparent);transition:opacity .4s,left .6s cubic-bezier(.2,.8,.2,1),right .6s cubic-bezier(.2,.8,.2,1)}
.card.live::before,.prize.live::before,.case.live::before{opacity:.9;left:4%;right:4%}
.card .ico,.prize img,.pq-h .pc-logo,.uc-head .pc-logo,.case .cico{animation:icoFloat 5.2s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.3s);transition:transform .5s cubic-bezier(.2,1.2,.3,1),filter .5s;will-change:transform}
.card.live .ico,.prize.live img,.case.live .cico{transform:translateY(-10px) scale(1.06) rotate(-3deg);filter:drop-shadow(0 22px 30px rgba(0,0,0,.6)) drop-shadow(0 0 18px rgba(120,170,255,.45))}
.pq.live .pc-logo,.uc.live .pc-logo{transform:translateY(-3px) scale(1.06)}
@keyframes icoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(1.2deg)}}
/* the number in the corner counts in when the card arrives; the recommended tag breathes */
.card .num{display:inline-block;transition:transform .5s cubic-bezier(.2,1.4,.4,1),opacity .5s}
.card.reveal:not(.in) .num{transform:translateY(8px);opacity:0}
.card .tag{animation:tagBreath 3.2s ease-in-out infinite}
@keyframes tagBreath{50%{box-shadow:0 0 18px rgba(59,123,255,.55)}}
/* quest cards: the rows slide in one after another, the reward counts, the bar pulses until something is done */
.pq-l li{transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s;transition-delay:calc(var(--j,0) * 70ms)}
.pq:not(.in) .pq-l li{transform:translateX(-10px);opacity:0}
.pq-up b{display:inline-block;transition:transform .4s cubic-bezier(.2,1.6,.4,1)}
.pq.live .pq-up b{transform:scale(1.12)}
.pq-bar i{min-width:0}
.pq:not(.started) .pq-bar::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(180,196,255,.35),transparent);animation:barScan 2.6s linear infinite}
.pq-bar{position:relative}
@keyframes barScan{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

.pq-l li:hover img{transform:scale(1.15) rotate(-6deg)}
.pq-l li img{transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
/* upcoming cards: the clock tiles flip when a digit changes, the date chip glows on hover */
.uc-tiles b{display:inline-block;transition:transform .25s,color .25s}
.uc-tiles b.flip{animation:tileFlip .45s cubic-bezier(.2,.8,.2,1)}
@keyframes tileFlip{0%{transform:rotateX(0)}45%{transform:rotateX(-90deg);color:#9cc0ff}55%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.uc-date{transition:border-color .35s,box-shadow .35s}
/* modes: one line under every title */
.cards.four .card p{white-space:nowrap;font-size:13.5px}
@media(max-width:1000px){.cards.four .card p{white-space:normal;font-size:14.5px}}

/* ---- refund cases: chrome icon, the case as a claim, the outcome as a chrome tag ---- */
.cases{gap:18px}
.case{padding:26px 24px 24px;border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;min-height:250px;overflow:hidden}
.case .cico{height:110px;width:auto;align-self:center;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.55));margin:-4px 0 4px}
.case .if{margin:0}
.case h3{font-size:clamp(22px,1.9vw,27px);margin:0}
.case .then{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:8px 12px;border-radius:999px;color:#071029;background:var(--blue-chrome);font-size:10.5px;letter-spacing:.14em;box-shadow:0 8px 20px rgba(59,123,255,.25);align-self:center}
.case .then::before{content:"";width:6px;height:6px;border-radius:50%;background:#071029;opacity:.7}
.case .arrow{position:absolute;right:22px;top:24px;font-family:'Anton',Impact,sans-serif;font-size:13px;letter-spacing:.08em;color:var(--ink-3)}
@media(max-width:620px){.case .cico{height:84px}}

/* ---- the machine.fun chips in the live window are real links ---- */
a.mf{text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color .2s,border-color .2s,background .2s,transform .2s}
a.mf::after{content:"↗";font-size:10px;opacity:.7;transition:transform .2s}
a.mf:hover{color:#071029;background:var(--blue-chrome);border-color:transparent;transform:translateY(-1px)}
a.mf:hover::after{transform:translate(1px,-1px)}
.pj{transition:background .25s,padding .25s;border-radius:10px}
.pj:hover{background:rgba(180,196,255,.05);padding-left:6px;padding-right:6px}
.pj .lg{transition:transform .35s cubic-bezier(.2,1.4,.4,1),filter .35s}
.pj:hover .lg{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 0 12px rgba(120,170,255,.45))}

@media(prefers-reduced-motion:reduce){
  .card .ico,.prize img,.pq-h .pc-logo,.uc-head .pc-logo,.case .cico,.card .tag,.pq:not(.started) .pq-bar::after,.uc-tiles b.flip{animation:none}
  .card.live,.prize.live,.case.live{transform:none}
}
.stk-chart path.area:not([fill]){fill:rgba(59,123,255,.1)}
