:root{color-scheme:light;--ink:#104c39;--green:#15634a;--paper:#f7f3e9;--orange:#e97934;--muted:#747e6f;--line:#dddcc9;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 25% 10%,#fffdf6,transparent 55%),var(--paper);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:disabled{cursor:default}.site-header{max-width:1100px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:block;width:186px}.brand img{width:100%;height:auto;display:block}.other-game{text-decoration:none;font-size:14px;font-weight:700}.other-game span{margin-left:6px}.layout{max-width:1030px;margin:35px auto 20px;display:grid;grid-template-columns:minmax(0,570px) 320px;gap:65px;padding:0 24px;align-items:center}.intro{text-align:center}.eyebrow{font-weight:700;letter-spacing:2px;font-size:10px;margin:0 0 10px}.eyebrow span{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;vertical-align:2px;margin-right:5px}h1{font-size:clamp(32px,4.7vw,56px);letter-spacing:-2.5px;margin:0;line-height:1.05;font-weight:900}h1 span{color:var(--green)}.tagline{font-size:15px;color:#697868;margin:12px 0 21px}.game-topline{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:8px;font-size:12px;font-weight:700}.game-topline p{margin:0}.sound-toggle{background:#fff9;border:1px solid #dadccf;border-radius:99px;padding:7px 12px;color:var(--ink);font-size:14px;min-height:32px}.sound-toggle[aria-pressed=true]{background:#dfeccf}.arena{width:100%;aspect-ratio:1;position:relative;border:1px solid #d9cfb8;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 53%,#f3e6c7 0,#eee0c1 38%,#dfccaa 75%,#bea67e 100%);isolation:isolate}.arena:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px 42px,#9e835416 43px 44px);z-index:-1}.chamber{position:absolute;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 50% -25%,#8d6a3e 0,#ad895a 24%,#dbc5a0 25%,transparent 28%)}.chamber i{position:absolute;left:50%;width:140%;height:75%;border:17px solid #9f7f5140;border-top-color:#9b734f55;border-radius:50%;transform:translateX(-50%);top:-37%}.chamber i:nth-child(2){top:-48%;width:125%;border-width:10px}.chamber i:nth-child(3){top:-58%;width:112%;border-width:7px}.orbit,.target-ring{position:absolute;left:50%;top:50%;width:58%;height:58%;border-radius:50%;transform:translate(-50%,-50%)}.orbit{border:1px dashed #715d3563;box-shadow:inset 0 0 0 9px #faf2df44,0 0 0 10px #fff6;pointer-events:none}.target-ring{background:conic-gradient(from -45deg,#226a4050 0deg 90deg,transparent 90deg 360deg);mask:radial-gradient(transparent 58%,#000 59%);-webkit-mask:radial-gradient(transparent 58%,#000 59%);transition:transform .3s}.target-ring span{position:absolute;top:0;left:calc(50% - 2px);height:16px;width:4px;background:var(--green);border-radius:4px}.chair-shadow{position:absolute;width:31%;height:21%;border-radius:50%;background:#513e3c30;filter:blur(12px);top:44%;left:36%;transform:rotate(-20deg)}.chair-rotor{position:absolute;left:32%;top:32%;width:36%;height:36%;will-change:transform;z-index:2}.chair{width:100%;height:100%;overflow:visible;filter:drop-shadow(4px 8px 5px #564b3344)}.candidate{position:absolute;width:22%;height:24%;border:1px solid #f5f1e000;border-radius:14px;background:#ffffff25;padding:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;z-index:3;color:var(--ink);transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.candidate:hover:not(:disabled){background:#fff6}.candidate-top{top:1.5%;left:39%}.candidate-right{top:38%;right:1.5%}.candidate-bottom{bottom:1.5%;left:39%}.candidate-left{top:38%;left:1.5%}.candidate.is-selected{background:#f8fbef8c;border-color:#73906a;box-shadow:0 3px 10px #665f3020}.candidate.is-seated{transform:scale(1.08);background:#e5efc8;border-color:#457c52}.person{display:block;width:85%;flex:1;min-height:0;background-image:url(assets/candidates-v1.png);background-repeat:no-repeat;background-size:400% 100%;filter:drop-shadow(1px 2px 1px #42342330);pointer-events:none}.person-0{background-position:0% 50%}.person-1{background-position:33.3333% 50%}.person-2{background-position:66.6667% 50%}.person-3{background-position:100% 50%}.party-name{font-size:12px;font-weight:800;line-height:1;border-radius:7px;background:#fffaf0e8;white-space:nowrap;margin:1px 3px 5px;padding:5px 7px}.selected-dot{position:absolute;top:6px;right:6px;border-radius:50%;width:7px;height:7px;background:transparent}.is-selected .selected-dot{background:var(--green)}.attempt-badge{position:absolute;top:15px;left:16px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800;color:#6d7258}.score-pop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;background:#fffffff2;border:1px solid #d8e6cb;border-radius:17px;padding:12px 18px;font-size:30px;font-weight:900;box-shadow:0 8px 30px #4b543c30;animation:pop .3s ease-out}.score-pop small{font-size:11px;display:block;text-align:center;margin-top:3px;font-weight:700;color:#748267}.score-pop[hidden]{display:none}.arena[data-phase=spinning] .chair-rotor{filter:saturate(1.08)}.control-deck{text-align:center}.status{font-size:13px;font-weight:700;min-height:18px;margin:14px 0 10px}.main-action{width:100%;display:flex;align-items:center;justify-content:center;gap:32px;border:1px solid #276e4b;border-radius:15px;background:linear-gradient(100deg,#176449,#0c543b);color:#fffaf0;font-size:21px;font-weight:800;height:63px;box-shadow:0 5px 0 #084331,0 8px 15px #15493214;touch-action:manipulation;user-select:none}.main-action:active{transform:translateY(2px);box-shadow:0 3px 0 #084331}.main-action.is-stop{background:linear-gradient(100deg,#c95d25,#ed823d);border-color:#b34f25;box-shadow:0 5px 0 #a84620,0 8px 15px #77331014}.action-icon{font-size:29px;line-height:1}.input-hint{font-size:10px;color:#8a917f;margin:14px 0 18px}.rounds{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 17px}.rounds>span{display:flex;align-items:center;justify-content:space-between;border-radius:9px;border:1px solid var(--line);font-size:10px;padding:8px;color:#9aa18d}.rounds i{font-style:normal;font-size:14px;font-weight:800;color:#93a185}.rounds .played{background:#eaf0df;border-color:#bdcfad}.rounds .played i{color:var(--ink)}.rounds .missed{background:#f5e6d9;border-color:#e2c4a9}.rounds .missed i{color:#af5b32}.rounds .current{border-color:var(--green)}.stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:15px;background:#fffffa85;padding:14px;text-align:center}.stats>div+div{border-left:1px solid var(--line)}.stats p{font-size:11px;margin:0 0 5px;color:#778470}.stats strong{font-size:31px;letter-spacing:-1px}.stats small{font-size:11px;margin-left:5px;color:#8c967d}.share-row{display:flex;flex-direction:column;align-items:center;min-height:58px;padding:12px 0 4px;gap:5px}.share-row button{border:0;background:none;font-weight:700;color:var(--green);font-size:13px;padding:6px}.share-row button:disabled{color:#b1b9a6}.share-row button span{margin-left:7px}.share-row>span{font-size:11px;color:#747e6f}.how-card{background:#fffdf59e;padding:29px;border:1px solid #dfdfcd;border-radius:24px;box-shadow:0 8px 22px #86784905}.mini-label{font-size:9px;letter-spacing:2px;font-weight:800;color:#899276}.how-card h2{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:15px 0 25px}.how-card em{font-style:normal;color:#899663}.how-card ol{list-style:none;padding:0;margin:0}.how-card li{display:flex;gap:15px;margin:21px 0;align-items:flex-start}.how-card li>span{font-size:11px;color:#c47c45;margin-top:2px}.how-card li strong{font-size:13px}.how-card li p{font-size:12px;line-height:1.5;color:#819076;margin:5px 0 0}.max-score{border-top:1px solid var(--line);padding-top:17px;margin:23px 0 0;font-size:12px;font-weight:700}.max-score span{color:#b5c09e;margin:0 9px}.note-card{display:flex;align-items:center;gap:15px;padding:22px 8px;font-size:12px;line-height:1.6;color:#7f8976}.note-icon{font-size:28px;color:#d68449}.start-card{display:block;text-decoration:none;padding:22px 25px;border-radius:18px;border:1px solid #d8e0cd;background:#e6ecda8a}.start-card>span{font-size:9px;letter-spacing:1.5px;color:#89977c;font-weight:700}.start-card strong{display:block;font-size:19px;line-height:1.3;margin:12px 0}.start-card p{font-size:11px;color:#718a60;margin:0}.start-card b{float:right;font-size:17px}.about-game{max-width:920px;margin:42px auto 30px;padding:26px 20px;border-top:1px solid var(--line);color:#76816b}.about-game h2{font-size:17px;color:#476c4c}.about-game p{font-size:12px;line-height:1.7;max-width:760px}footer{max-width:1030px;display:flex;gap:20px;align-items:center;margin:0 auto;padding:23px 24px;border-top:1px solid var(--line);font-size:11px;color:#859178}footer a{text-decoration:none}footer a:first-child{font-weight:900;color:var(--ink)}footer span{margin-right:auto}.noscript{padding:30px;text-align:center}@keyframes pop{from{opacity:0;transform:translate(-50%,-40%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:850px){.layout{display:block;max-width:480px;margin:22px auto}.side-info{margin:28px 0 0}.how-card{padding:23px}.how-card h2{font-size:24px}.how-card ol{display:grid;grid-template-columns:1fr}.how-card li{margin:10px 0}.note-card{padding:15px 7px}.about-game{margin:24px auto 20px;max-width:480px}.site-header{padding:14px 20px}.brand{width:150px}.other-game{font-size:11px}footer{flex-wrap:wrap;gap:13px;max-width:480px}}@media(max-width:420px){.layout{padding:0 16px;margin-top:17px}.intro h1{font-size:38px;letter-spacing:-1.8px}.tagline{font-size:13px;margin:9px 0 13px}.eyebrow{font-size:8px;margin-bottom:7px}.game-topline{font-size:11px;margin-bottom:6px}.sound-toggle{padding:5px 10px;font-size:12px;min-height:30px}.arena{border-radius:22px}.party-name{font-size:10px;padding:4px 6px}.attempt-badge{font-size:8px;top:11px;left:11px}.status{font-size:12px;margin:11px 0 9px}.main-action{height:55px;font-size:19px;border-radius:13px}.input-hint{margin:12px 0 14px}.stats{padding:12px}.stats strong{font-size:29px}.rounds{margin-bottom:13px}.rounds>span{padding:7px}.rounds i{font-size:12px}.share-row{min-height:52px}.game-topline p{max-width:78%}.candidate{border-radius:10px}.selected-dot{top:4px;right:4px;width:5px;height:5px}}@media(max-height:690px) and (max-width:650px){.site-header{padding:8px 16px}.brand{width:123px}.layout{margin-top:10px}.intro h1{font-size:31px}.tagline{font-size:11px;margin:6px 0 10px}.eyebrow{font-size:7px;margin-bottom:6px}.arena{width:min(100%,calc(100svh - 235px));margin:auto}.game-topline{max-width:calc(100svh - 235px);margin:0 auto 5px}.main-action{height:48px}.status{font-size:11px}.input-hint{margin:10px 0 13px}.rounds{gap:5px}.stats strong{font-size:27px}}@media(prefers-reduced-motion:reduce){.target-ring,.candidate{transition:none}.score-pop{animation:none}}

/* The chair and its occupant remain clear after each attempt. */
.seated-person{position:absolute;left:14%;top:-9%;width:72%;height:89%;background:url(assets/candidates-seated-v1.png) no-repeat;background-size:400% 100%;filter:drop-shadow(1px 3px 1px #263c3744);animation:sit .45s ease-out}.seated-person[hidden],.target-ring[hidden]{display:none}.score-pop{top:12px;left:auto;right:12px;transform:none;font-size:25px;padding:9px 13px;animation:score-pop .3s ease-out}.score-pop small{font-size:8px}.main-action:disabled{background:#8b9b7e;border-color:#718769;box-shadow:0 5px 0 #637856}.candidate.is-seated .person{opacity:.25}@keyframes sit{from{opacity:0;transform:translateY(-15px) scale(.8)}to{opacity:1;transform:none}}@keyframes score-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.seated-person,.score-pop{animation:none}}

@media(min-width:851px){.game{max-width:470px;margin:auto}.layout{margin-top:25px}.arena{width:min(100%,max(280px,calc(100svh - 430px)));margin:auto}.game-topline{max-width:min(100%,max(280px,calc(100svh - 430px)));margin-left:auto;margin-right:auto}}

/* The seated winner raises both hands and holds their party banner. */
.arena.celebrating .chair-rotor{transition:transform .35s ease-out}.result-direction{position:absolute;left:50%;top:50%;width:58%;height:58%;z-index:2;pointer-events:none}.result-direction span{position:absolute;left:calc(50% - 5px);top:-4px;width:10px;height:16px;background:#e97934;border:2px solid #fff9df;border-radius:5px;box-shadow:0 2px 4px #695c3325}.celebration{position:absolute;left:50%;top:50%;width:40%;height:53%;transform:translate(-50%,-55%);z-index:4;pointer-events:none;animation:celebrate-in .45s ease-out}.celebrating-person{position:absolute;inset:0;background-image:url(assets/candidates-celebrate-v1.png);background-repeat:no-repeat;background-size:400% 100%;filter:drop-shadow(1px 3px 2px #3b43392b)}.party-banner{position:absolute;top:6%;left:12%;width:76%;height:14%;display:flex;align-items:center;justify-content:center;color:#124f3a;font-size:clamp(11px,2.7vw,16px);font-weight:900;letter-spacing:.2px;line-height:1;white-space:nowrap;transform:rotate(-1deg);text-shadow:0 1px #fff8}.celebration[hidden],.result-direction[hidden]{display:none}@keyframes celebrate-in{from{opacity:0;transform:translate(-50%,-44%) scale(.82)}to{opacity:1;transform:translate(-50%,-55%) scale(1)}}@media(prefers-reduced-motion:reduce){.arena.celebrating .chair-rotor{transition:none}.celebration{animation:none}}

@media(max-width:350px){.score-pop{font-size:20px;padding:7px 10px}.score-pop small{font-size:7px}}

.party-banner{left:18%;width:74%;top:5.8%;height:9.8%}
