@font-face{font-family:Cormorant;src:url('assets/fonts/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--cream:#f1e8d2;--muted:#9bb1a5;--gold:#d9b879;--mint:#a4d3b8;--line:#83a38a26;--sans:Manrope,Arial,sans-serif;--serif:Cormorant,Georgia,serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 47%,#24483a 0,#112e26 56%,#0c211c 100%);color:var(--cream);font-family:var(--sans);min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(45deg,transparent 0 35px,#c4d0aa05 36px,transparent 37px 72px)}button,select{font:600 11px var(--sans);color:var(--cream);cursor:pointer}button{border:1px solid transparent;background:transparent;transition:background .2s,border-color .2s,transform .2s;color:inherit}button:hover{color:#fff3d4}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}main{max-width:1356px;padding:22px 48px 18px;margin:auto;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:2.5px;color:var(--gold);font-weight:700}.brand-mark{font-size:31px;font-weight:400;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:1.8px;color:#91a699;margin-top:4px;font-weight:500}.tools{display:flex;align-items:center;gap:24px}.icon-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 0;color:#c0cabc}.icon-button:hover,.text-button:hover{color:var(--gold)}.help-icon{width:16px;height:16px;border:1px solid #a5b9a480;border-radius:50%;font:12px var(--serif);display:inline-grid;place-items:center}.intro{display:flex;align-items:center;justify-content:space-between;margin:23px 5px 21px}.eyebrow{font:600 9px var(--sans);letter-spacing:2.4px;color:var(--gold);margin:0 0 5px}.intro .eyebrow{display:flex;align-items:center;gap:9px}.intro .eyebrow>span{width:18px;height:1px;background:var(--gold)}h1{font:500 84px/.94 var(--serif);letter-spacing:-3px;margin:8px 0 0}.title-flower{font:28px var(--serif);display:inline-block;vertical-align:top;color:var(--gold);margin:15px 0 0 13px}.intro-copy{font:400 21px/1.35 var(--serif);letter-spacing:.1px;color:#a8bbaa;margin:15px 2px 0;text-align:right}.intro-copy em{color:#e0d4b5;font-weight:500}.game{max-width:1210px;margin:auto}.scoreboard{display:grid;grid-template-columns:1fr 160px 1fr;gap:25px;align-items:center;margin:0 6px 17px}.score-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px 16px;background:linear-gradient(120deg,#88b3980a,#0b251e33);transition:border-color .25s,background .25s}.score-card.is-active{border-color:#b1cf9855;background:linear-gradient(120deg,#8eaa6a16,#0b251e33)}.avatar{width:36px;height:36px;display:grid;place-items:center;border:1px solid #a9c5a33d;background:#42664d26;border-radius:50%;color:var(--mint);font-size:20px}.opponent .avatar{color:var(--gold);border-color:#d3b37b40;background:#a9955520}.identity b{font-size:12px;font-weight:650}.identity small{display:block;color:#8ca797;font-size:7px;letter-spacing:1.6px;margin-top:4px}.actor-state{font-size:9px;color:#91a999;margin-left:auto;margin-right:10px}.score-total{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:16px}.score-total strong{font:500 33px/.9 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:#ead4a4}.score-total small{font-size:6px;letter-spacing:1.2px;max-width:25px;line-height:1.5;color:#91a999}.round-card{text-align:center}.round-card .eyebrow{font-size:7px;letter-spacing:2px}.round-card b{display:block;font:500 23px/1.1 var(--serif);margin:3px}.round-card>span:last-child{display:block;font-size:8px;color:#90aa99;letter-spacing:.5px}
.board-wrap{position:relative;padding:0 0 13px;filter:drop-shadow(0 22px 17px #0005)}.board{height:278px;position:relative;border-radius:108px;background:linear-gradient(90deg,#25150cb3,#bd804c22 25%,#f2d28b0c 50%,#25150c99),url('assets/wood.jpg') center/cover;border:3px solid #ad7d49;box-shadow:inset 0 3px 3px #edc88899,inset 0 -9px 7px #211008aa,0 7px 0 #563622,0 10px 0 #20180f;isolation:isolate}.board:after{content:'';position:absolute;inset:9px;border:1px solid #e0bd7759;border-radius:97px;pointer-events:none;box-shadow:inset 0 0 0 4px #291c0c26}.edge-pattern{position:absolute;left:25%;width:50%;text-align:center;color:#c9a67575;letter-spacing:5px;font-size:10px;white-space:nowrap;overflow:hidden}.top{top:9px}.bottom{bottom:9px}.lane-label{position:absolute;left:17.8%;font-size:6px;letter-spacing:1.4px;color:#e7cc9b8c;font-weight:650}.far-label{top:23px}.near-label{bottom:19px}.lane-label span{margin-left:7px;font-size:11px;letter-spacing:0}.houses{position:absolute;left:16.6%;right:16.6%;height:87px;display:flex;gap:10px}.upper{top:43px}.lower{bottom:39px;flex-direction:row-reverse}.pit{position:relative;padding:0;flex:1;min-width:0;border-radius:46%;background:radial-gradient(ellipse at 50% 70%,#533722,#24180f 78%);border:2px solid #b38850;box-shadow:inset 0 8px 12px #080703d0,0 2px 1px #e7bd7c77;transition:box-shadow .18s,border-color .18s,transform .18s}.pit:before{content:'';position:absolute;inset:-5px;border:1px solid transparent;border-radius:46%;transition:border-color .18s}.pit.legal{border-color:#bec18c;box-shadow:inset 0 8px 12px #080703c0,0 0 10px #c4c99a16,0 2px 1px #dce1b766}.pit.legal:hover,.pit.legal:focus-visible{transform:translateY(-3px);border-color:#f0e7b6;box-shadow:inset 0 8px 12px #080703b0,0 0 17px #d5d39e3d,0 3px 1px #dce1b766}.pit.legal:hover:before{border-color:#e4dfab55}.pit.active{border-color:#f8d493}.pit.active:before{border-color:#e7c389b3}.pit.active.ai-active:before{border-color:#dfb77888}.pit.burned{opacity:.5;background:repeating-linear-gradient(45deg,#20180e,#20180e 5px,#3b2d1d 6px,#3b2d1d 7px);border-color:#624f32}.pit.burned strong{font-size:0}.pit.burned strong:after{content:'×';font-size:20px;color:#b8a283}.pit strong{position:absolute;bottom:7px;left:0;right:0;font:600 11px/1 var(--sans);font-variant-numeric:tabular-nums;text-shadow:0 2px 3px #000;color:#f7dfb4}.pit .number{position:absolute;bottom:-14px;left:0;right:0;font:500 7px var(--sans);color:#dfc89b7a}.upper .number{display:none}.seeds{position:absolute;inset:8px 7px 25px;overflow:hidden;border-radius:40%;pointer-events:none}.seed{position:absolute;width:14px;height:11px;border-radius:48%;background:radial-gradient(ellipse at 32% 25%,#fff9e0 0,#e0e7cf 26%,#9fbda6 62%,#476658 100%);box-shadow:1px 2px 3px #000b,inset 0 1px 1px #fffffa66;transform:rotate(var(--r))}.seed:nth-child(3n){background:radial-gradient(ellipse at 32% 25%,#fff5de,#e0cb98 36%,#a77c43)}.store{position:absolute;top:48px;bottom:48px;width:10.8%;border-radius:48%;background:radial-gradient(ellipse at 50% 65%,#493020,#1b130d 88%);border:2px solid #ac7c46;box-shadow:inset 0 9px 14px #000b,0 2px 1px #dfb37388}.left{left:3.4%}.right{right:3.4%}.store strong{position:absolute;bottom:13px;left:0;right:0;text-align:center;font:500 32px/.9 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:#f3d69d}.store-label{position:absolute;top:-20px;left:-20px;right:-20px;text-align:center;font:600 6px var(--sans);letter-spacing:1.3px;color:#eed9b3b3}.store .seeds{bottom:50px;top:19px}.store.active{outline:2px solid #e3c48b;outline-offset:4px}.capture-toast{pointer-events:none;position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) translateY(8px);background:#eee2bc;color:#263c2b;padding:11px 24px;border:1px solid #fff7da;border-radius:30px;box-shadow:0 8px 30px #0005;font:600 13px var(--sans);opacity:0;transition:opacity .18s,transform .18s;white-space:nowrap;z-index:10}.capture-toast.visible{opacity:1;transform:translate(-50%,-50%) translateY(0)}.flying-seed{position:fixed;z-index:12;pointer-events:none;width:14px;height:11px;border-radius:50%;background:radial-gradient(ellipse at 32% 25%,#fff9e0,#d6dfbf 35%,#749e82);box-shadow:0 3px 5px #0005}
.hud{display:flex;align-items:center;gap:16px;border:1px solid #93b29330;border-radius:12px;background:linear-gradient(100deg,#254b3c77,#0b251f99);padding:16px 21px;margin:15px 6px 0;min-height:79px;box-shadow:0 5px 16px #071a151c}.turn-emblem{border:1px solid #a6cc9d40;border-radius:50%;background:#4d7c5129;display:grid;place-items:center;color:#b5d7ae;width:38px;height:38px;flex-shrink:0;font-size:20px}.hud-title{display:flex;align-items:center;gap:12px}.hud-title b{font:600 14px var(--sans);color:#e5e8cd}.phase-badge{font-size:6px;letter-spacing:1.5px;padding:4px 6px;border:1px solid #adc49238;border-radius:3px;color:#a8c198;white-space:nowrap}.hud p{font-size:10px;line-height:1.6;color:#a4bbab;margin:6px 0 0}.hud-copy{min-width:0}.hand{margin-left:auto;display:grid;grid-template-columns:23px 25px;align-items:center;column-gap:5px;border-left:1px solid var(--line);padding-left:24px;min-width:93px;flex-shrink:0;color:#c6d5bc}.hand-icon{font:28px var(--serif);grid-row:1/3;color:#d4ba84}.hand strong{font:500 22px/1 var(--serif);font-variant-numeric:lining-nums}.hand small{font-size:6px;letter-spacing:1px;white-space:nowrap;margin-top:3px}.hand.empty{opacity:.45}.interaction-hint{display:flex;align-items:center;justify-content:center;gap:12px;min-height:39px;padding:6px;color:#9bb59f;font-size:9px;letter-spacing:.2px}.hint-line{height:1px;width:26px;background:linear-gradient(90deg,transparent,#89a77566)}.hint-line:last-child{transform:rotate(180deg)}.control-bar{display:flex;align-items:center;justify-content:space-between;margin:1px 6px 0;padding-top:13px;border-top:1px solid var(--line);gap:12px}.mode-control,.pace-control{display:flex;align-items:center;gap:13px}.mode-control>label,.pace-control>span{font-size:7px;letter-spacing:1.4px;color:#89a592;white-space:nowrap}.select-wrap{position:relative}.select-wrap>span{position:absolute;right:11px;top:7px;pointer-events:none;color:#c2d1b4}select{appearance:none;background:#122e25;border:1px solid #78947745;border-radius:6px;padding:9px 29px 9px 12px;min-width:135px;color:#d7dec9;font-size:10px}.segmented{display:flex;border:1px solid #78947745;border-radius:6px;padding:3px;background:#0c241d55}.segmented button{font-size:9px;font-weight:500;padding:6px 12px;border-radius:3px;color:#9eb09a}.segmented button.selected{background:#6c805c4d;box-shadow:0 1px 3px #0003;color:#f1e6c9}.segmented button:hover{background:#6c805c33;color:#f1e6c9}.restart{display:flex;align-items:center;gap:9px;color:#bac7b4;font-size:10px;padding:9px 0 9px 15px}.restart:hover{color:var(--gold)}.restart svg{width:15px;height:15px}footer{display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding:14px 5px 0;border-top:1px solid var(--line);color:#789582;font-size:9px}.footer-note{font:italic 14px var(--serif);letter-spacing:.2px}footer button{font-size:9px;color:#8ea693;padding:0}footer button span{margin-left:5px}.keyboard-hint{font-size:8px;color:#789582}kbd{font:8px var(--sans);display:inline-block;border:1px solid #78947745;border-radius:3px;min-width:17px;padding:2px 4px;text-align:center;color:#a4b59b}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:#d4b577;border:1px solid #e9ce97;color:#1d3528;border-radius:6px;padding:13px 22px;font:700 11px var(--sans);box-shadow:inset 0 1px 0 #fff3}.primary:hover{background:#e5c98e;color:#182b21;transform:translateY(-1px)}.primary span{font-size:17px}.primary.compact{margin-left:auto;white-space:nowrap;padding:9px 13px;font-size:10px}.hud:has(#continue:not([hidden])) .hand{display:none}
dialog{max-width:620px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;background:linear-gradient(140deg,#244638,#122e26);border:1px solid #a78d5866;border-radius:18px;padding:37px 40px;color:var(--cream);box-shadow:0 30px 100px #0009;scrollbar-width:thin;scrollbar-color:#6f8363 #183329}dialog::backdrop{background:#051710cc;backdrop-filter:blur(7px)}dialog h2{font:500 43px/1.02 var(--serif);letter-spacing:-.6px;margin:15px 0 20px}dialog h3{font:600 14px var(--sans);color:#e2d8b8;margin:10px 0}dialog p{font:11px/1.9 var(--sans);color:#b5c5b3}dialog .eyebrow{font-size:8px}.close{position:absolute;right:17px;top:12px;padding:4px;font:25px var(--serif);color:#b6c3aa}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;margin-top:28px}.rule-grid>div>span{font:italic 22px var(--serif);color:#cdb176}.rule-grid h3{font-size:12px;margin-top:4px}.rule-grid p{font-size:10px;line-height:1.8;margin:0}.rule-footnote{padding-top:16px;border-top:1px solid var(--line);font-size:9px!important;line-height:1.8!important;color:#91ac96!important;margin-top:24px}.done{margin-top:10px}.result-dialog{text-align:center;max-width:490px;padding:36px}.result-ornament{font-size:50px;color:var(--gold);margin:17px 0 2px}.result-dialog h2{margin:6px 0 23px}.result-dialog>.primary{width:100%;margin-top:14px}.result-dialog>.text-button{display:flex;margin:9px auto 0}.result-scores{display:flex;justify-content:center;align-items:center;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px;margin-bottom:18px}.result-scores>div{display:flex;flex-direction:column;gap:8px;min-width:60px}.result-scores>div>span{font-size:8px;letter-spacing:1.5px;color:#9fb39c}.result-scores strong{font:500 55px/.9 var(--serif);font-variant-numeric:lining-nums;color:#f0dab0}.result-divider{font:30px var(--serif);color:#829c80}.small-dialog{max-width:430px}.small-dialog .primary{margin-top:15px}.small-dialog>.text-button{margin-left:15px}.score-pop{animation:scorePop .45s ease-out}@keyframes scorePop{0%{transform:scale(1)}35%{transform:scale(1.3);color:#fff0b9}100%{transform:scale(1)}}.store.capture-glow{animation:captureGlow 1s ease-out}@keyframes captureGlow{0%{box-shadow:0 0 0 0 #ead59600}30%{box-shadow:0 0 22px 4px #ead59680}100%{box-shadow:0 0 0 0 #ead59600}}
@media(min-width:761px) and (max-height:850px){main{padding-top:15px}.topbar{padding-bottom:12px}.intro{margin:16px 5px}h1{font-size:72px}.scoreboard{margin-bottom:12px}.score-card{padding:8px 14px}.board{height:253px}.houses{height:77px}.upper{top:41px}.lower{bottom:37px}.store{top:46px;bottom:46px}.hud{padding:12px 18px;margin-top:12px;min-height:69px}.interaction-hint{min-height:33px}.control-bar{padding-top:10px}footer{margin-top:17px;padding-top:10px}}
@media(max-width:1000px){main{padding-left:25px;padding-right:25px}.scoreboard{gap:12px;grid-template-columns:1fr 110px 1fr}.actor-state{display:none}.score-total{margin-left:auto}.houses{gap:7px}.pace-control{gap:8px}.mode-control>label,.pace-control>span{font-size:6px;letter-spacing:.8px}}
@media(max-width:760px){main{padding:18px 18px 20px}.tools{gap:15px}.tools .icon-button span{display:none}.tools .icon-button{padding:8px}.topbar{padding-bottom:14px}.intro{margin:25px 0 22px}h1{font-size:69px}.intro .eyebrow{font-size:7px;letter-spacing:1.7px}.title-flower{font-size:23px;margin-top:12px;margin-left:8px}.intro-copy{font-size:17px}.scoreboard{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.round-card{grid-row:2;grid-column:1/3;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:2px}.round-card .eyebrow{display:none}.round-card b{font-size:19px}.round-card>span:last-child{font-size:7px;border-left:1px solid var(--line);padding-left:11px}.score-card{padding:10px;gap:8px}.avatar{width:29px;height:29px;font-size:17px}.identity b{font-size:10px}.identity small{font-size:6px;letter-spacing:1px}.score-total{padding-left:10px;gap:4px}.score-total strong{font-size:29px}.score-total small{font-size:5px;letter-spacing:.7px}.board{height:250px;border-radius:80px}.houses{height:78px;gap:5px;left:15.5%;right:15.5%}.upper{top:39px}.lower{bottom:37px}.store{width:10.5%;top:49px;bottom:49px}.store-label{font-size:5px;letter-spacing:.5px}.seed{width:10px;height:9px}.seeds{left:3px;right:3px}.store strong{font-size:27px}.edge-pattern{font-size:8px}.hud{margin:14px 0 0;padding:14px;gap:11px}.hud-title b{font-size:12px}.hud-title{gap:7px}.phase-badge{font-size:5px;letter-spacing:1px}.hud p{font-size:9px}.turn-emblem{width:31px;height:31px;font-size:17px}.hand{padding-left:12px;min-width:65px;grid-template-columns:17px 20px;column-gap:3px}.hand-icon{font-size:22px}.hand strong{font-size:20px}.hand small{font-size:5px;letter-spacing:.5px}.control-bar{flex-wrap:wrap;margin-left:0;margin-right:0;padding-top:15px}.mode-control>label,.pace-control>span{display:none}.pace-control{margin-left:auto}.restart{padding-left:0;margin-left:auto;font-size:9px}.segmented button{padding:7px 9px}.interaction-hint{font-size:8px;min-height:41px;gap:7px}.hint-line{width:15px}footer{font-size:8px;margin-top:23px}.keyboard-hint{display:none}.footer-note{font-size:12px}dialog{padding:30px 25px}dialog h2{font-size:37px}.rule-grid{gap:18px}.small-dialog>.text-button{margin-left:10px}}
@media(max-width:520px){.intro-copy{display:none}.intro{justify-content:center;text-align:center;margin:24px 0}.intro .eyebrow{justify-content:center}.intro .eyebrow>span{display:none}.board{height:555px;max-width:365px;margin:0 auto;border-radius:90px}.board:after{border-radius:80px}.houses{width:28%;right:auto;top:86px;bottom:86px;height:auto;flex-direction:column;gap:7px}.upper{left:55%}.lower{left:17%;flex-direction:column-reverse}.pit{border-radius:42%;min-height:43px}.pit:before{border-radius:42%}.pit strong{bottom:7px;left:auto;right:10px;font-size:11px}.pit .number{bottom:auto;top:50%;left:-19px;right:auto;transform:translateY(-50%);font-size:8px}.upper .number{display:block;left:auto;right:-19px}.pit .seeds{left:10px;right:28px;top:6px;bottom:7px}.seed{width:11px;height:9px}.store{height:53px;width:42%;left:29%;right:auto;border-radius:48%;bottom:auto}.left{top:19px}.right{top:auto;bottom:19px}.store .seeds{top:9px;bottom:9px;left:12px;right:40px}.store strong{left:auto;right:17px;top:13px;bottom:auto;font-size:27px}.store-label{top:23px;left:-80px;right:auto;font-size:5px;letter-spacing:.5px;width:76px;text-align:right}.right .store-label{left:auto;right:-80px;text-align:left}.lane-label{top:73px;bottom:auto;font-size:5px;letter-spacing:1px;transform:translateX(-50%)}.near-label{left:31%}.far-label{left:69%}.near-label span,.far-label span{font-size:8px;margin-left:3px}.edge-pattern{left:46%;width:8%;top:100px;bottom:100px;height:auto;writing-mode:vertical-rl;font-size:8px;letter-spacing:6px;text-align:center;opacity:.65}.bottom{display:none}.capture-toast{font-size:11px;padding:10px 18px;top:50%}.hud-title{flex-wrap:wrap;row-gap:5px}.hand{min-width:53px;grid-template-columns:14px 16px;padding-left:8px}.hand-icon{font-size:19px}.hand strong{font-size:19px}.phase-badge{padding:3px 5px}.hud p{line-height:1.7}.mode-control select{min-width:132px;font-size:9px}.control-bar{gap:10px}.restart{margin:5px auto 0;justify-content:center;width:100%;border-top:1px solid var(--line);padding:15px 0 0}.interaction-hint{text-align:center}.hud:has(#continue:not([hidden])){flex-wrap:wrap}.hud:has(#continue:not([hidden])) .hud-copy{flex:1}.hud #continue{margin-left:43px}footer{align-items:center;gap:10px}.rule-grid{grid-template-columns:1fr;gap:16px}.rule-grid>div{position:relative;padding-left:33px}.rule-grid>div>span{position:absolute;left:0;top:0}.result-dialog{padding:28px 24px}.result-dialog h2{font-size:35px}.small-dialog .primary{width:100%}.small-dialog>.text-button{display:flex;margin:12px auto 0}}
.hud p{font-size:11px}.score-total small{font-size:7px;max-width:29px}.lane-label{font-size:7px}.near-label{left:50%;bottom:12px;transform:translateX(-50%)}.far-label{left:50%;transform:translateX(-50%)}.bottom{display:none}.pit strong{font-size:12px}.mode-control>label,.pace-control>span{font-size:8px}.segmented button{font-size:10px}.restart,select{font-size:11px}.actor-state{font-size:10px}.identity b{font-size:13px}
@media(max-width:760px){.hud p{font-size:10px}.score-total small{font-size:6px;max-width:22px}.identity b{font-size:11px}.mode-control>label,.pace-control>span{display:none}.segmented button{font-size:9px}select{font-size:10px}.lane-label{font-size:6px}}
@media(max-width:520px){.near-label{left:31%;top:73px;bottom:auto}.far-label{left:69%;top:73px}.store-label{font-size:5px}.hud p{font-size:10px}.pit strong{font-size:12px}.score-total{padding-left:8px}.score-total small{font-size:5px;max-width:22px}.identity b{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important;animation:none!important}.flying-seed{display:none}}
