
:root{--bg:#120f0a;--paper:#f6e6ba;--ink:#f8f0db;--muted:#b9a985;--line:rgba(246,230,186,.18);--gold:#efbd54;--copper:#b86a35;--deep:#1b140d;--green:#7cc58c;--red:#f07474;--radius:28px;--shadow:0 28px 90px rgba(0,0,0,.42);font-family:'IBM Plex Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 70% 5%,rgba(239,189,84,.22),transparent 32rem),linear-gradient(145deg,#0b0907,#1c130a 45%,#090806);min-height:100vh}a{color:inherit}.topbar,.site-footer{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--gold),var(--copper));color:#1a1007;font-weight:900;box-shadow:0 10px 35px rgba(239,189,84,.25)}.brand b,.brand small{display:block}.brand small{color:var(--muted);font-size:12px}.topbar nav,.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.topbar nav a,.site-footer nav a{text-decoration:none;color:var(--muted);font-weight:700}.wrap{max-width:1180px;margin:auto;padding:26px 22px 60px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 360px;gap:22px;align-items:stretch}.hero-copy,.decision-card,.control-panel,.coin-panel,.history-section,.content-page article,.ad-slot{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-radius:var(--radius);box-shadow:var(--shadow)}.hero-copy{padding:38px}.eyebrow{margin:0 0 12px;color:var(--gold);font:800 13px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.14em}h1,h2{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.015em}h1{font-size:clamp(38px,6.2vw,76px);line-height:.9;margin:0 0 18px}.lede{font-size:20px;color:#ddcfad;max-width:760px}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trust-row span,.stats span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase}.decision-card{padding:30px;display:flex;flex-direction:column;justify-content:end;min-height:280px;background:radial-gradient(circle at 40% 20%,rgba(239,189,84,.22),transparent 220px),rgba(255,255,255,.05)}.receipt-kicker,.result-label{color:var(--muted);font:800 12px 'JetBrains Mono',monospace;text-transform:uppercase}.decision-card strong{font:800 34px 'Oswald',sans-serif;text-transform:uppercase}.tool-shell{display:grid;grid-template-columns:410px minmax(0,1fr);gap:22px;margin-top:22px}.control-panel,.coin-panel,.history-section{padding:28px}.panel-copy{color:var(--muted)}.field-grid{display:grid;gap:14px;margin:24px 0}.field{display:grid;gap:8px}.field span{color:var(--gold);font:800 12px 'JetBrains Mono',monospace;text-transform:uppercase}select,input{width:100%;border:1px solid var(--line);border-radius:18px;background:#0d0a07;color:var(--ink);padding:15px 16px;font:800 16px 'IBM Plex Sans'}.flip-button{width:100%;border:0;border-radius:24px;padding:19px 20px;background:linear-gradient(145deg,var(--gold),#e37b35);color:#1a1007;font:900 24px 'Oswald',sans-serif;text-transform:uppercase;box-shadow:0 16px 46px rgba(239,189,84,.25);cursor:pointer}.flip-button small{display:block;font:800 11px 'JetBrains Mono',monospace;opacity:.72}.helper{color:var(--muted);font-size:14px}.coin-panel{display:grid;grid-template-columns:minmax(220px,1fr) 320px;gap:22px;align-items:center}.coin-stage{min-height:330px;display:grid;place-items:center;border-radius:24px;background:radial-gradient(circle,rgba(239,189,84,.18),transparent 55%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.34));border:1px solid var(--line);perspective:900px}.coin{width:min(260px,55vw);aspect-ratio:1;border-radius:50%;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 34px 42px rgba(0,0,0,.45))}.coin.is-flipping{animation:coinFlip .9s cubic-bezier(.12,.72,.16,1)}.coin[data-face=heads]{transform:rotateY(0deg) rotateX(8deg)}.coin[data-face=tails]{transform:rotateY(180deg) rotateX(8deg)}.coin-side{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;backface-visibility:hidden;border:10px solid #8d5525;background:radial-gradient(circle at 35% 25%,#fff3bd,#e0a63d 42%,#9a5421);color:#351b09;font:900 clamp(28px,6vw,56px) 'Oswald',sans-serif;letter-spacing:.04em;text-shadow:0 2px 0 rgba(255,255,255,.22)}.coin-tails{transform:rotateY(180deg);background:radial-gradient(circle at 65% 25%,#ffe8a4,#c57632 48%,#6e351a)}@keyframes coinFlip{0%{transform:rotateY(0) rotateX(8deg) translateY(0)}45%{transform:rotateY(810deg) rotateX(22deg) translateY(-28px)}100%{transform:rotateY(1620deg) rotateX(8deg) translateY(0)}}.result-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(0,0,0,.22)}#resultFace{display:block;font:900 54px 'Oswald',sans-serif;text-transform:uppercase;color:var(--gold)}#resultDetail{color:#dfd0aa}.stats{display:flex;gap:8px;flex-wrap:wrap}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.actions button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.history-section{margin-top:22px}.history-section h2{margin-top:0}.history-section ol{display:grid;gap:10px;padding:0;list-style:none}.history-section li{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:18px;padding:12px 14px;color:#dacba7;background:rgba(0,0,0,.14)}.history-section .empty{justify-content:center;color:var(--muted)}.ad-slot{margin-top:22px;padding:22px;text-align:center;color:var(--muted);border-style:dashed}.content-page article{padding:44px;max-width:900px;margin:auto}.content-page p,.content-page li{color:#ddcfad;font-size:18px;line-height:1.65}.content-page h1{font-size:clamp(38px,6vw,72px)}.content-page h2{margin-top:34px;color:var(--gold)}.text-link{color:var(--gold);font-weight:900}.win{color:var(--green)!important}.lose{color:var(--red)!important}@media(max-width:860px){.hero-grid,.tool-shell,.coin-panel{grid-template-columns:1fr}.topbar,.site-footer{align-items:flex-start}.hero-copy{padding:30px}.coin-stage{min-height:260px}.topbar nav{font-size:14px}.decision-card{min-height:180px}}@media(prefers-reduced-motion:reduce){.coin,.coin.is-flipping{animation:none!important;transition:none!important}}


/* Physics overlay: coin is launched, falls under a gravity arc, impacts the table, then settles. */
.flip-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px;background:rgba(6,4,2,.72);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .22s ease}.flip-overlay.is-visible{opacity:1;pointer-events:auto}.overlay-table{position:relative;width:min(980px,100%);min-height:min(680px,88vh);display:grid;grid-template-rows:auto 1fr;gap:18px;overflow:hidden;border:1px solid rgba(246,230,186,.22);border-radius:34px;background:radial-gradient(circle at 50% 34%,rgba(239,189,84,.25),transparent 320px),linear-gradient(180deg,#211409,#0c0906 70%);box-shadow:0 42px 120px rgba(0,0,0,.68),inset 0 0 0 1px rgba(255,255,255,.04)}.overlay-close{position:absolute;right:18px;top:16px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.28);color:var(--ink);font:900 24px/1 sans-serif;cursor:pointer}.overlay-copy{padding:28px 78px 0 30px}.overlay-copy strong{display:block;font:900 clamp(28px,5vw,56px) 'Oswald',sans-serif;text-transform:uppercase;color:var(--gold)}.overlay-result{max-width:720px;color:#e7d8b3;font-weight:800}.flight-stage{position:relative;display:grid;place-items:end center;min-height:440px;margin:0 24px 24px;border-radius:28px;border:1px solid rgba(246,230,186,.16);background:radial-gradient(ellipse at center bottom,rgba(239,189,84,.18),transparent 52%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.28));perspective:980px}.flight-path{position:absolute;left:50%;bottom:96px;width:1px;height:1px;transform-style:preserve-3d;will-change:transform}.flight-coin{position:absolute;left:-96px;top:-96px;width:192px;height:192px;border-radius:50%;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(0 28px 34px rgba(0,0,0,.46))}.flight-coin .coin-side{border-width:12px}.flight-coin::before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(53,27,9,.28);transform:translateZ(11px);z-index:3;pointer-events:none}.flight-coin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(0,0,0,.24));transform:rotateY(90deg) translateZ(-7px) scaleX(.08);z-index:-1}.flight-coin.is-impacting{animation:coinImpact .42s ease-out}.flight-shadow{position:absolute;left:calc(50% - 110px);bottom:76px;width:220px;height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.54),rgba(0,0,0,0) 70%);will-change:transform,opacity}.table-line{position:absolute;left:8%;right:8%;bottom:92px;height:2px;background:linear-gradient(90deg,transparent,rgba(239,189,84,.42),transparent)}@keyframes coinImpact{0%{filter:drop-shadow(0 34px 38px rgba(0,0,0,.5)) brightness(1.12)}45%{filter:drop-shadow(0 10px 18px rgba(0,0,0,.72)) brightness(1.35)}100%{filter:drop-shadow(0 28px 34px rgba(0,0,0,.46)) brightness(1)}}@media(max-width:700px){.overlay-table{min-height:78vh}.flight-stage{min-height:360px}.flight-coin{width:142px;height:142px;left:-71px;top:-71px}.overlay-copy{padding:24px 66px 0 22px}.flight-path{bottom:88px}.flight-shadow{width:160px;left:calc(50% - 80px)}}

/* Static result coin: do not show a mirrored opposite face after settling. */
.coin-stage > .coin[data-face="heads"]{transform:rotateX(8deg)}
.coin-stage > .coin[data-face="heads"] .coin-heads{opacity:1}
.coin-stage > .coin[data-face="heads"] .coin-tails{opacity:0}
.coin-stage > .coin[data-face="tails"]{transform:rotateX(8deg)}
.coin-stage > .coin[data-face="tails"] .coin-heads{opacity:0}
.coin-stage > .coin[data-face="tails"] .coin-tails{opacity:1;transform:none}

/* Overlay settled coin must visually match the announced result. */
.flight-coin[data-face="heads"] .coin-heads{opacity:1}
.flight-coin[data-face="heads"] .coin-tails{opacity:0}
.flight-coin[data-face="tails"] .coin-heads{opacity:0}
.flight-coin[data-face="tails"] .coin-tails{opacity:1;transform:none}
.flight-coin.is-settled{filter:drop-shadow(0 18px 24px rgba(0,0,0,.62)) brightness(1.08)}

/* PRO WebGL renderer layer: real 3D coin mesh canvas replaces DOM coin during cinematic flips. */
.coin-webgl{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none;mix-blend-mode:normal}.coin-webgl canvas{width:100%!important;height:100%!important;display:block}.coin-webgl + .flight-shadow,.flight-shadow{z-index:0}.flight-path{z-index:2}.flight-path:has(.flight-coin[hidden]){display:none}
