:root{--bg:#fff1b8;--ink:#161616;--muted:#5a4e3a;--red:#e23b3b;--red-ink:#a11e1e;--blue:#3b8fdb;--blue-ink:#1d5a9a;--pink:#ffb8d1;--cream:#fff8ec;--white:#fff;--gold:#ffd23f;--wood:#c98b4e;--display:"Luckiest Guy","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;--body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}a{color:inherit;text-underline-offset:3px}p{margin:0}h1,h2,h3{margin:0;font-family:var(--display);font-weight:400;line-height:1.1;text-wrap:balance;letter-spacing:.01em}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.wrap{max-width:540px;margin:0 auto;padding:22px 16px 48px}.wrap,main{gap:20px}.wrap,header.top,main{display:flex;flex-direction:column}header.top{gap:6px}.logo{font-family:var(--display);font-size:50px;line-height:1;color:var(--red);-webkit-text-stroke:2px var(--ink);text-align:center;text-decoration:none;display:block}.logo.small{font-size:42px}.sub{text-align:center;font-weight:700;font-size:15px;overflow-wrap:anywhere}.ring{position:relative;height:200px;flex:none}.rope{position:absolute;left:0;right:0;height:6px;border:2px solid var(--ink);border-radius:4px}.rope.r1{top:66px;background:var(--red)}.rope.r2{top:104px;background:var(--white)}.rope.r3{top:142px;background:var(--blue)}.glove{position:absolute;top:14px;width:min(36%,140px);height:auto}.glove.l{left:4px}.glove.r{right:4px}.ring .star{position:absolute;left:50%;top:36px;transform:translateX(-50%)}.card{background:var(--white);border:3px solid var(--ink);border-radius:18px;padding:16px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:12px}.card.warn{border-color:var(--red-ink);box-shadow:4px 4px 0 var(--red-ink)}.card h2{font-size:24px}.card.hero h2{font-size:28px}.hint{color:var(--muted)}.hint,.small{font-size:14px}.muted{color:var(--muted)}.btn{font-family:var(--display);font-size:17px;letter-spacing:.02em;min-height:48px;padding:0 20px;border:3px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn.red{background:var(--red);color:var(--white)}.btn.gold{background:var(--gold)}.btn.blue{background:var(--blue);color:var(--white)}.btn.sm{min-height:40px;font-size:15px;padding:0 14px}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled{opacity:.55;cursor:default}.link{font:inherit;font-weight:900;font-size:15px;background:none;border:0;padding:8px 2px;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link.danger{color:var(--red-ink)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.label,label{display:block;font-weight:900;font-size:15px;margin-bottom:6px}input[type=text],textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:3px solid var(--ink);border-radius:12px;padding:10px 12px;width:100%}textarea{min-height:200px;resize:vertical;line-height:1.5}textarea[readonly]{background:var(--cream)}.field{display:flex;flex-direction:column;min-width:0}.chars{font-size:13px;font-weight:700;color:var(--muted);text-align:right;margin-top:4px}.chars.over{color:var(--red-ink)}.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:700;margin:0}.check input{margin-top:3px;width:20px;height:20px;accent-color:var(--red);flex:none}.error{color:var(--red-ink);font-weight:900;font-size:15px}.linkrow{display:flex;gap:8px}.linkrow input{font-size:14px;padding:8px 10px}.talk{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.talk .status{font-size:14px;font-weight:700;color:var(--muted);flex:1 1 180px}.recdot{width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--ink);flex:none}.seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.seat{background:var(--white);border:3px solid var(--ink);border-radius:18px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;box-shadow:4px 4px 0 var(--ink);min-width:0}.seat .who{font-family:var(--display);font-size:21px;line-height:1.1;text-transform:uppercase;overflow-wrap:anywhere}.seat .st{font-size:13px;font-weight:700}.red-t{color:var(--red)}.blue-t{color:var(--blue)}.red-ink{color:var(--red-ink)}.blue-ink{color:var(--blue-ink)}.says{display:flex;flex-direction:column;gap:12px}.say{background:var(--white);border:3px solid var(--ink);border-radius:16px;padding:10px 14px;box-shadow:3px 3px 0 var(--ink);max-width:85%;font-size:15px}.say b{display:block;font-family:var(--display);font-weight:400;font-size:16px}.say.a{align-self:flex-start;border-left:8px solid var(--red)}.say.a b{color:var(--red-ink)}.say.b{align-self:flex-end;border-right:8px solid var(--blue);text-align:right}.say.b b{color:var(--blue-ink)}.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.how div{background:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:10px 12px;font-size:14px}.how b{display:block;font-family:var(--display);font-weight:400;font-size:16px;margin-bottom:2px}.facts{display:flex;flex-direction:column;gap:10px}.facts p{font-size:15px}.facts b{font-weight:900}.section-title{font-size:24px}.gloves-off{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:6px}.gloves-off span{font-family:var(--display);font-size:22px}.booth{display:flex;flex-direction:column;margin-inline:-6px}.arch{position:relative;height:128px;background:var(--red);border:4px solid var(--ink);border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0}.bulb{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid var(--ink)}.arch .trio{position:absolute;left:50%;top:52px;transform:translateX(-50%)}.wall{background-color:var(--pink);background-image:radial-gradient(var(--red) 20%,transparent 21%);background-size:26px 26px;border:4px solid var(--ink);padding:20px 14px 22px;display:flex;flex-direction:column;align-items:center;gap:22px}.heartwin{position:relative;width:270px;height:243px;flex:none}.heartwin svg{position:absolute;inset:0}.heartwin .over{position:absolute;left:48px;right:48px;top:74px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.heartwin .over .h{font-family:var(--display);font-size:22px;line-height:1.1}.heartwin .over .names{font-family:var(--display);font-size:18px;overflow-wrap:anywhere}.thinking{font-weight:900;color:var(--muted);font-size:14px}.cards{width:100%;gap:24px}.cards,.tcard{display:flex;flex-direction:column}.tcard{position:relative;background:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:18px 16px 14px;gap:8px;overflow-wrap:anywhere}.tcard .pin{position:absolute;left:50%;top:-12px;transform:translateX(-50%)}.tcard h3{font-size:18px}.tcard li,.tcard p{font-size:15.5px;line-height:1.5}.tcard ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.tcard h4{margin:4px 0 0;font-size:15px}.tcard .lead,.tcard h4{font-weight:900}.tcard .opening{font-style:italic;font-size:17px}.counter{height:26px;margin:0 -6px;background:var(--wood);border:4px solid var(--ink);border-radius:10px}.front{background:var(--red);border:4px solid var(--ink);border-top:0;border-radius:0 0 16px 16px;padding:16px 14px;display:flex;flex-direction:column;gap:10px}.front .row .btn{flex:1 1 140px}.front .meta{font-size:13px;font-weight:700;text-align:center}.front .link,.front .meta{color:var(--white)}.resources{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.resources li{background:var(--cream);border:3px solid var(--ink);border-radius:12px;padding:10px 12px;font-size:15px}.resources strong{display:block;font-family:var(--display);font-weight:400;font-size:17px}.roomfoot{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font-size:14px;font-weight:700}.roomfoot,footer.foot{display:flex;color:var(--muted)}footer.foot{font-size:13px;gap:6px;border-top:3px dashed var(--ink);padding-top:14px}.prose,footer.foot{flex-direction:column}.prose{display:flex;gap:12px}.prose h2{font-size:20px;margin-top:6px}.prose ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}.prose li,.prose p{font-size:15.5px}.dots i{display:inline-block;width:4px;height:4px;margin-left:2px;border-radius:50%;background:currentColor}.beat,.bob,.spark{transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion:no-preference){.glove.l{animation:jab-l 2.6s ease-in-out infinite;transform-origin:30% 70%}.glove.r{animation:jab-r 2.6s ease-in-out 1.3s infinite;transform-origin:70% 70%}@keyframes jab-l{0%,to{transform:translate(0) rotate(0)}25%{transform:translateY(-5px) rotate(-3deg)}50%{transform:translate(0) rotate(0)}62%{transform:translate(-6px) rotate(-6deg)}68%{transform:translate(22px,-2px) rotate(8deg)}76%{transform:translate(0) rotate(0)}}@keyframes jab-r{0%,to{transform:translate(0) rotate(0)}25%{transform:translateY(-5px) rotate(3deg)}50%{transform:translate(0) rotate(0)}62%{transform:translate(6px) rotate(6deg)}68%{transform:translate(-22px,-2px) rotate(-8deg)}76%{transform:translate(0) rotate(0)}}.ring .star{animation:star 1.3s ease-in-out infinite}@keyframes star{0%,26%,50%,to{transform:translateX(-50%) scale(1) rotate(0)}36%{transform:translateX(-50%) scale(1.45) rotate(30deg)}}.rope{animation:rope 1.3s ease-in-out infinite}.rope.r2{animation-delay:.05s}.rope.r3{animation-delay:.1s}@keyframes rope{0%,30%,52%,to{transform:translateY(0)}38%{transform:translateY(2px)}}.gloves-off .bob{animation:bob 1.6s ease-in-out infinite}.gloves-off .bob.two{animation-delay:.8s}@keyframes bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-3deg)}}.beat{animation:beat 1.2s ease-in-out infinite}@keyframes beat{0%,40%,to{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1.06)}}.spark{animation:spark 1.2s ease-in-out infinite}@keyframes spark{0%,to{opacity:.25}15%{opacity:1}}.bulb{animation:chase 1.6s linear infinite;animation-delay:calc(var(--i) * .12s)}@keyframes chase{0%,to{background:var(--gold);box-shadow:0 0 0 rgba(255,210,63,0)}20%{background:#fff8d2;box-shadow:0 0 10px rgba(255,230,120,.95)}45%{background:var(--gold)}}.arch .trio .bob{animation:bob 2s ease-in-out infinite}.arch .trio .bob.d2{animation-delay:.6s}.heartwin svg{animation:winbeat 2.4s ease-in-out infinite;transform-origin:50% 55%}@keyframes winbeat{0%,30%,to{transform:scale(1)}12%{transform:scale(1.035)}22%{transform:scale(1.01)}}.enter{animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{0%{transform:scale(.92) translateY(10px);opacity:0}to{transform:none;opacity:1}}.enter .tcard{animation:slide .45s ease-out both;animation-delay:calc(.35s + var(--i) * .12s)}@keyframes slide{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.enter .tcard .pin{animation:wiggle .5s ease-in-out both;animation-delay:calc(.5s + var(--i) * .12s)}@keyframes wiggle{0%{transform:translateX(-50%) rotate(0)}30%{transform:translateX(-50%) rotate(-18deg)}60%{transform:translateX(-50%) rotate(14deg)}to{transform:translateX(-50%) rotate(0)}}.dots i{animation:dots 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes dots{0%,60%,to{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.recdot{animation:rec 1.2s ease-in-out infinite}@keyframes rec{0%,to{box-shadow:0 0 0 0 hsla(0,0%,100%,.8)}60%{box-shadow:0 0 0 7px hsla(0,0%,100%,0)}}.btn:hover:not(:disabled){animation:nudge .35s ease-in-out}@keyframes nudge{30%{transform:rotate(-2deg) scale(1.03)}70%{transform:rotate(2deg) scale(1.03)}}}.front .roomfoot{justify-content:center;text-align:center}.front .link,.front .link.danger,.front .roomfoot{color:var(--white)}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.tile{background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:3px 3px 0 var(--ink);padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.tlabel{font-weight:900;font-size:14px}.tvalue{font-family:var(--display);font-size:30px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.funnel{display:flex;flex-direction:column;gap:10px}.frow{display:grid;grid-template-columns:9.5em minmax(0,1fr) 5.5em;grid-gap:8px;gap:8px;align-items:center;font-size:14px;font-weight:700}.fbar{height:18px;background:var(--cream);border:2px solid var(--ink);border-radius:6px;overflow:hidden;display:block}.fbar span{display:block;height:100%;background:var(--blue);border-right:2px solid var(--ink)}.fval{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daychart{height:140px;gap:2px;border-bottom:2px solid var(--ink);padding-top:6px}.daychart,.dcol{display:flex;align-items:flex-end}.dcol{flex:1 1;height:100%;min-width:0;cursor:default}.dcol:hover .dbar{background:var(--red)}.dbar{display:block;width:100%;background:var(--blue);border-radius:4px 4px 0 0;min-height:0}.dtable{width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dtable td,.dtable th{padding:6px 5px;text-align:right;border-bottom:1px solid #e5dcc4;white-space:nowrap}.dtable td:first-child,.dtable th:first-child{text-align:left}.dtable thead th{font-weight:900;border-bottom:2px solid var(--ink)}@media (max-width:420px){.frow{grid-template-columns:7.5em minmax(0,1fr) 4.5em}.tvalue{font-size:26px}}