@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap');:root{--wine:#772f36;--dark:#54282e;--cream:#f4eddd;--gold:#f2d68e;--line:#dacbb5;--muted:#8d8278}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font:14px 'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}header{height:73px;padding:0 5vw;display:flex;align-items:center;gap:54px;border-bottom:1px solid #d5c6b0}.brand,footer strong{font:700 27px Fraunces,Georgia,serif}.brand span,footer strong span{color:#bc8a4a;font-size:18px;margin-left:5px}nav{display:flex;gap:26px;font-size:12px;font-weight:700}nav a:hover{text-decoration:underline}.header-note{margin-left:auto;font-size:10px;letter-spacing:1.6px;color:#9c8879;font-weight:700}.hero{display:grid;grid-template-columns:1fr .9fr;min-height:470px;max-width:1550px;margin:auto}.hero-copy{padding:85px 5vw 70px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.8px;color:#b17d4b;font-weight:700}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-2px}h1{font-size:clamp(56px,6vw,94px);line-height:1.05;margin:19px 0}h1 em,h2 em{font-weight:500;color:#ab5a4f}.hero-copy p{font-size:16px;line-height:1.7;color:#806e65;max-width:510px;margin:0 0 27px}.cta,.generate-controls button,.draw-actions #draw{display:inline-flex;justify-content:space-between;gap:45px;background:var(--wine);color:#fff;padding:15px 18px;border:0;font-weight:700;font-size:12px}.cta:hover,.generate-controls button:hover,.draw-actions #draw:hover{background:#8d3e46}.cta span{font-size:19px;font-weight:400}.hero-bottom{font-size:9px;letter-spacing:1.4px;color:#a28c78;margin-top:24px;font-weight:700}.hero-art{background:#752f36;display:grid;place-items:center;position:relative;overflow:hidden;padding:30px}.art-ring{position:absolute;width:500px;height:500px;border:1px solid #a76564;border-radius:50%}.hero-art:after{content:'';position:absolute;width:720px;height:720px;border:1px solid #934a4d;border-radius:50%}.art-card{position:relative;z-index:1;background:#f5ecd8;width:min(84%,410px);padding:26px;transform:rotate(-6deg);box-shadow:15px 18px 0 #3a171c80}.art-card small{font-size:10px;letter-spacing:1.4px;font-weight:700}.art-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;margin:15px 0}.art-grid b{height:30px;display:grid;place-items:center;border:1px solid #bfa98e;font:700 15px Fraunces,Georgia,serif}.art-card>span{font-size:9px;letter-spacing:1.2px}.art-ball{position:absolute;z-index:2;bottom:27px;right:10%;background:var(--gold);border-radius:50%;width:78px;height:78px;display:grid;place-items:center;color:var(--wine);font:700 33px Fraunces,Georgia,serif;box-shadow:5px 8px 15px #0003}.tool{padding:70px 5vw 85px;max-width:1560px;margin:auto}.tool-head{display:flex;justify-content:space-between;gap:25px;align-items:end}.tool-head h2,.draw h2{font-size:clamp(38px,4.3vw,64px);margin:14px 0 8px}.tool-head p,.draw-head p{color:#8b786d;line-height:1.6;margin:0}.generate-controls{display:flex;align-items:end;gap:8px;flex:none}.generate-controls label{font-size:11px;font-weight:700;align-self:center}.generate-controls input{width:65px;padding:10px;border:1px solid #cbbda7;background:#fff}.generate-controls button{padding:11px 13px}.error{background:#fff0e8;color:#9c3b2c;padding:10px;font-size:11px}.cards-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:26px;padding:18px 0;font-size:11px;font-weight:700}.cards-top button{background:var(--dark);color:#fff;border:0;padding:11px 16px;font-size:11px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{background:#fffdf6;border:1px solid #d6c7b0;padding:18px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-head strong{font:500 24px Fraunces,Georgia,serif}.card-head span{font-size:9px;letter-spacing:1.2px;color:#a17e5f;font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(9,1fr);border-left:1px solid #b9a68e;border-top:1px solid #b9a68e}.card-grid span{height:43px;display:grid;place-items:center;border-right:1px solid #b9a68e;border-bottom:1px solid #b9a68e;font:700 21px Fraunces,Georgia,serif}.card-grid .empty-cell{background:#f2eee5}.card-foot{font-size:9px;letter-spacing:1.5px;color:#b2947c;margin-top:12px}.privacy{font-size:10px;color:#a28e80;margin-top:17px}.draw{background:#782f37;color:#f8e9d9;padding:75px 5vw 85px}.draw-head,.draw-status,.board{max-width:1450px;margin-left:auto;margin-right:auto}.draw-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.draw .section-kicker{color:#efc68f}.draw h2 em{color:#edc285}.draw-head p{color:#dec4b9;max-width:540px}.draw-actions{display:flex;gap:7px}.draw-actions button{padding:11px 13px;border:1px solid #c88983;background:transparent;color:#fff;font-size:11px;font-weight:700}.draw-actions #draw{background:#efcd88;color:#5e2c30;border-color:#efcd88}.draw-status{display:flex;align-items:center;gap:30px;margin-top:26px;border-top:1px solid #9a5660;border-bottom:1px solid #9a5660;padding:17px 0}.last-number{display:flex;align-items:center;gap:16px}.last-number small,.drawn-count span{font-size:9px;letter-spacing:1.2px;color:#debab5}.last-number strong{background:#f6d995;color:var(--wine);border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font:700 28px Fraunces,Georgia,serif}.drawn-count{margin-left:auto;text-align:right}.drawn-count strong{display:block;font:500 27px Fraunces,Georgia,serif}.board{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:22px}.board span{aspect-ratio:1.3;border:1px solid #b67578;display:grid;place-items:center;font:700 18px Fraunces,Georgia,serif;color:#efdfd5}.board span.called{background:#f0d18b;color:#6b3039;border-color:#f0d18b}.faq{padding:55px 5vw 85px;max-width:1380px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#8c786b;line-height:1.7}footer{background:#52262d;color:#d8bcb2;padding:24px 5vw;display:flex;align-items:center;gap:25px;font-size:11px}footer strong{color:#fff}footer span:last-child{margin-left:auto}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{min-height:350px}.tool-head,.draw-head{display:block}.generate-controls,.draw-actions{margin-top:18px}}@media(max-width:600px){header{height:62px;gap:15px}nav{margin-left:auto;gap:12px;font-size:11px}.header-note{display:none}.hero-copy{padding:60px 5vw}.tool{padding:55px 4vw}.generate-controls{flex-wrap:wrap}.cards{grid-template-columns:1fr}.card-grid span{height:36px;font-size:17px}.draw{padding:60px 4vw}.draw-actions{flex-wrap:wrap}.board{gap:3px}.board span{font-size:12px}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{header,.hero,.tool>.section-kicker,.tool-head,.cards-top,.privacy,.draw,.faq,footer,.error{display:none!important}body,.tool{background:#fff}.tool{padding:0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:4mm}.card{padding:4mm;break-inside:avoid;min-height:75mm}.card-grid span{height:15mm;font-size:15pt}.card-head strong{font-size:17pt}.card-foot{margin-top:4mm}@page{size:A4;margin:9mm}}
.board button{aspect-ratio:1.3;border:1px solid #b67578;display:grid;place-items:center;font:700 18px Fraunces,Georgia,serif;color:#efdfd5;background:transparent;cursor:pointer}.board button.called{background:#f0d18b;color:#6b3039;border-color:#f0d18b}.board button:focus-visible{outline:2px solid #fff;outline-offset:2px}.rules{max-width:1450px;margin:auto;padding:40px 5vw 70px;border-top:1px solid #b67578}.rules h2{font-size:clamp(32px,4vw,55px);margin:16px 0}.rules p{max-width:800px;line-height:1.8}@media(max-width:600px){.board button{font-size:12px}}@media print{.rules{display:none!important}}


/* Usability pass: bring the working area into view sooner. */
@media screen {
  html { scroll-padding-top: 20px; }
  :where(a,button,input,select,textarea):focus-visible { outline: 3px solid #b66a48; outline-offset: 3px; }
  .hero h1 { font-size: clamp(46px,5.1vw,66px); line-height: 1.04; }
  .hero p { margin-bottom: 19px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(34px,3.8vw,52px); }
  .tool-intro,.section-intro,.intro,.tool-heading { margin-bottom: 19px; }
}
@media screen and (max-width:700px) {
  .hero h1 { font-size: clamp(42px,11vw,50px); }
  .hero-art,.hero-pattern,.hero-visual,.box-art,.hero .art { display: none; }
  .hero-copy,.hero-text,.hero-left,.hero>div:first-child { padding: 34px 5vw 28px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(32px,8.2vw,40px); }
  .tool,.planner,.tool-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

@media screen and (min-width:701px){.hero{min-height:0}.hero-copy{padding:32px 5vw 25px}.hero-art{min-height:345px}.tool{padding-top:27px}}@media screen and (max-width:700px){.hero{min-height:0}}
