:root{
  --paper:#f5eedf;
  --paper2:#fffaf0;
  --ink:#111614;
  --muted:#6e6a61;
  --green:#0c3b30;
  --green2:#125441;
  --yellow:#f5bd19;
  --yellow2:#ffd45a;
  --line:rgba(17,22,20,.14);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.45}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,a{font:inherit}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:30;background:rgba(245,238,223,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topbar-inner{height:78px;display:flex;align-items:center;gap:16px}
.brand-monte{font-family:Georgia,serif;font-weight:800;font-size:22px;letter-spacing:.04em}
.xmark{color:var(--muted);font-size:22px}
.brand-push img{width:118px;height:44px;object-fit:contain}
.top-cta{margin-left:auto;background:var(--yellow);padding:12px 18px;border-radius:999px;font-weight:900;font-size:14px}
.hero{padding:68px 0 56px;background:radial-gradient(circle at 70% 20%,rgba(245,189,25,.18),transparent 34%),linear-gradient(180deg,#fffaf0,var(--paper))}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.eyebrow{font-weight:900;letter-spacing:.18em;font-size:12px;margin:0 0 14px;color:var(--yellow)}
.eyebrow.green{color:var(--green2)}
.hero h1,.wheel-copy h2,.menu-section h2,.result-card h2,.balance-card h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;line-height:.98;margin:0}
.hero h1{font-size:clamp(48px,7vw,88px);letter-spacing:-.04em}
.hero h1 span{color:var(--green)}
.hero-lead{font-size:20px;max-width:670px;color:#3c3a35;margin:28px 0 26px}
.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--yellow);color:#101310;padding:16px 22px;border-radius:999px;font-weight:900;border:0;cursor:pointer;min-height:52px}
.primary-btn.dark{background:var(--green);color:white}
.micro{font-size:13px;color:var(--muted);margin:12px 0 0}
.hero-card{min-height:500px;border-radius:34px;background:linear-gradient(145deg,var(--green),#092a23);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(12,59,48,.15)}
.hero-card:before{content:"";position:absolute;inset:auto -100px -180px auto;width:500px;height:500px;border-radius:50%;background:rgba(245,189,25,.12)}
.cup-scene{text-align:center;color:white;position:relative;z-index:2;padding:40px}
.cup{font-size:170px;filter:saturate(.7)}
.cup-steam{font-size:42px;letter-spacing:8px;color:rgba(255,255,255,.7);margin-bottom:-35px}
.sun-lines{color:var(--yellow);font-size:28px;letter-spacing:14px}
.hero-note{margin-top:18px;font-weight:900;letter-spacing:.08em;font-size:18px;transform:rotate(-2deg)}
.wheel-section{padding:76px 0;background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wheel-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}
.wheel-copy h2,.menu-section h2,.balance-card h2,.final-cta h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.03em}
.wheel-copy>p:not(.eyebrow):not(.small-rule){font-size:19px;color:#45413a}
.rule-pill{display:inline-flex;margin-top:14px;background:#ece3d3;border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-weight:800}
.small-rule{font-size:12px;color:var(--muted);margin-top:10px}
.wheel-card{position:relative;padding:28px;border-radius:34px;background:#efe5d4;border:1px solid var(--line);box-shadow:0 18px 55px rgba(17,22,20,.08)}
.wheel-wrap{position:relative;width:min(610px,100%);aspect-ratio:1;margin:0 auto}
.prize-wheel{width:100%;height:100%;display:block;filter:drop-shadow(0 12px 20px rgba(0,0,0,.14));transition:transform 5.8s cubic-bezier(.08,.66,.12,1)}
.wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:128px;border-radius:50%;background:#0d2f28;border:8px solid #d9b657;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:900;line-height:1.1;text-align:center}
.wheel-center b{color:var(--yellow);font-size:20px}
.pointer{position:absolute;z-index:6;left:50%;top:6px;transform:translateX(-50%);width:0;height:0;border-left:28px solid transparent;border-right:28px solid transparent;border-top:58px solid var(--yellow);filter:drop-shadow(0 5px 2px rgba(0,0,0,.18))}
.spin-btn{width:100%;margin-top:24px;border:0;background:var(--yellow);color:#151812;border-radius:999px;padding:17px 20px;font-weight:950;font-size:18px;cursor:pointer;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.spin-btn:disabled{opacity:.5;cursor:not-allowed}
.spin-status{text-align:center;min-height:24px;margin-top:10px;color:var(--muted);font-size:13px}
.result-section{padding:52px 0;background:var(--green)}
.result-card{background:var(--paper2);border-radius:32px;padding:38px;max-width:880px;margin:auto;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.14)}
.result-topline{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.result-badge,.result-code{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;background:#eee5d5}
.result-card h2{font-size:clamp(38px,6vw,74px);margin-top:8px}
.result-text{font-size:20px;max-width:660px;margin:18px auto;color:#45413a}
.result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.result-hint{font-size:13px;color:var(--muted);margin:14px 0 0}
.menu-section{padding:76px 0}
.menu-section> .shell > h2{max-width:850px;margin-bottom:34px}
.joke-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.joke-grid article{background:#fff8ec;border:1px solid var(--line);border-radius:22px;padding:24px;min-height:170px;display:flex;gap:14px;align-items:flex-start}
.joke-grid span{font-size:34px}
.joke-grid p{margin:0;font-family:Georgia,serif;font-size:20px}
.balance-section{padding:0 0 76px}
.balance-card{background:var(--green);color:white;border-radius:34px;padding:50px}
.balance-card h2{color:white}
.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.balance-grid div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);padding:20px;border-radius:18px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}
.balance-grid span{font-size:30px;grid-row:1 / span 2}.balance-grid b{font-size:18px}.balance-grid small{color:rgba(255,255,255,.72)}
.final-cta{padding:66px 0;background:var(--yellow)}
.final-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.final-cta p{max-width:720px;font-size:18px}
footer{background:#101310;color:white;padding:32px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-brand{display:flex;align-items:center;gap:14px;font-weight:900}.footer-brand img{width:125px;background:white;border-radius:10px;padding:5px}.footer-grid p{color:rgba(255,255,255,.7)}
dialog{border:0;border-radius:28px;padding:32px;max-width:520px;width:calc(100% - 32px);background:var(--paper2);box-shadow:0 24px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(0,0,0,.55)}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}.dialog-prize{margin:18px 0;padding:16px;border-radius:16px;background:#efe5d4;font-weight:900}
@media(max-width:900px){.hero-grid,.wheel-layout,.final-grid{grid-template-columns:1fr}.hero-card{min-height:360px}.wheel-copy{text-align:center}.final-grid .primary-btn{width:100%}.joke-grid{grid-template-columns:1fr 1fr}.balance-grid{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.topbar-inner{height:68px}.brand-push img{width:90px}.top-cta{font-size:12px;padding:10px 12px}.hero{padding:44px 0}.hero h1{font-size:48px}.hero-lead{font-size:17px}.hero-card{min-height:290px}.cup{font-size:120px}.wheel-section,.menu-section{padding:54px 0}.wheel-card{padding:18px 12px 22px}.wheel-center{width:96px;height:96px;border-width:6px;font-size:10px}.pointer{border-left-width:22px;border-right-width:22px;border-top-width:46px}.joke-grid{grid-template-columns:1fr}.balance-card{padding:32px 22px}.result-card{padding:30px 20px}.footer-grid{align-items:center;text-align:center}.footer-brand{justify-content:center;flex-wrap:wrap}}
