*{box-sizing:border-box}body{margin:0;background:#273b29;color:#6a3f31;font-family:"Trebuchet MS",Arial,sans-serif}button,input,summary{cursor:pointer}button{font:inherit}button:focus-visible,summary:focus-visible{outline:4px solid #9653c9;outline-offset:4px}[hidden]{display:none!important}#game{width:1024px;height:1024px;position:relative;overflow:hidden;background:#c2d995 url('assets/garden.png') center/cover}.logo{position:absolute;width:400px;height:205px;object-fit:contain;top:34px;left:312px;filter:drop-shadow(0 5px 3px #76503325);z-index:2;pointer-events:none}#menu .menu-tag{position:absolute;top:280px;width:100%;text-align:center;font-size:23px;font-weight:bold}#menu nav{position:absolute;top:448px;left:332px;display:flex;flex-direction:column;gap:10px}#menu .pill{width:360px;height:98px}.menu-dice{position:absolute;top:350px;width:100%;text-align:center;font-size:64px;color:#ec7493;text-shadow:0 3px white}.menu-foot{position:absolute;top:770px;width:100%;text-align:center;font-size:18px;font-weight:bold}.pill{border:0;background:transparent;position:relative;width:260px;height:96px;color:#fff9e9;font-size:38px;font-weight:900;letter-spacing:.5px;text-shadow:2px 2px 0 #596132,-2px -1px 0 #596132,0 3px 0 #596132;isolation:isolate;transition:transform .18s,filter .18s}.pill:before{content:"";position:absolute;z-index:-1;inset:0;background-image:url('assets/ui.png');background-size:200% 476%;background-position:100% 19%;pointer-events:none}.pill.pink:before{background-position:0 81%}.pill.pink{text-shadow:2px 2px 0 #9f4c60,-2px -1px 0 #9f4c60,0 3px 0 #9f4c60}.pill:hover:enabled{transform:translateY(-3px);filter:brightness(1.05)}.pill:active:enabled{transform:translateY(2px) scale(.98)}button:disabled{cursor:default;filter:saturate(.45);opacity:.65}.player{position:absolute;top:40px;width:225px;text-align:center;z-index:3}.player.left{left:30px}.player.right{right:30px}.portrait{width:210px;height:210px;background:url('assets/portraits.png') 0 0/300% 200%;transform-origin:50% 85%;animation:breathe 4s ease-in-out infinite;filter:drop-shadow(0 6px 4px #79583635)}.portrait.opponent{background-position-y:100%}.portrait.happy{background-position-x:50%;animation:happy .65s ease-in-out infinite}.portrait.sad{background-position-x:100%;animation:sad 1.6s ease-in-out infinite}.name{font-weight:bold;font-size:20px;text-shadow:0 2px #fff4dd}.score{font-size:34px;color:#b94767;font-weight:900;background:#fff5e3ed;border:3px solid #f7c8c9;border-radius:25px;display:inline-block;min-width:150px;padding:2px 18px;box-shadow:0 4px 0 #a8815633}.name span{color:#b63b56}.turn-card{position:absolute;top:232px;left:366px;width:292px;text-align:center;border-radius:26px;background:linear-gradient(#fffdf1,#ffe8d4);border:4px solid #ffcfcb;box-shadow:0 4px 8px #81664535;padding:8px}.turn-card span{display:block;font-size:17px;font-weight:bold}.turn-card strong{display:block;color:#be496b;font-size:40px;line-height:1.1}.turn-card small{font-size:12px}#dice{position:absolute;left:240px;top:390px;width:550px;display:grid;grid-template-columns:repeat(3,156px);gap:25px 32px}.die{width:156px;height:156px;position:relative;border:0;border-radius:22px;background:transparent;transition:transform .22s,filter .22s;isolation:isolate;opacity:1}.die:before{content:"";position:absolute;inset:-25px;z-index:-1;background:url('assets/ui.png') 0 0/200% 200%;pointer-events:none}.die.selected{filter:drop-shadow(0 0 5px #ff39a6) drop-shadow(0 0 4px #ff39a6);transform:translateY(-6px)}.die.selected:after{content:'✓';position:absolute;right:-4px;top:-15px;color:white;background:#fb6598;border:3px solid white;border-radius:50%;width:33px;height:33px;line-height:30px;font-size:22px}.die.kept{filter:saturate(.5);opacity:.5;transform:scale(.93)}.pip{position:absolute;width:21px;height:21px;border-radius:50%;background:radial-gradient(circle at 65% 75%,#ff97ad,#ec547e);box-shadow:inset 0 2px 3px #bb365757,0 1px 1px #fff;transform:translate(-50%,-50%)}.die.rolling{animation:tumble .65s cubic-bezier(.2,.7,.3,1) both}.die.rolling:nth-child(2n){animation-delay:.06s}.die.rolling:nth-child(3n){animation-delay:.1s}#message{position:absolute;top:751px;left:140px;width:744px;text-align:center;font-size:21px;font-weight:bold;margin:0;min-height:52px;display:flex;align-items:center;justify-content:center}.actions{position:absolute;top:838px;left:237px;display:flex;gap:26px}.gear{position:absolute;right:18px;bottom:25px;width:94px;height:94px;border:0;background:url('assets/ui.png') 87.5% 87.5%/333% 333%;transition:transform .3s}.gear:hover{transform:rotate(25deg)}.home{position:absolute;bottom:34px;left:30px;border:3px solid #ffe3d7;background:#f493af;color:white;border-radius:50%;width:60px;height:60px;font-size:38px;box-shadow:0 4px #b35e70}.small-button{position:absolute;top:945px;left:412px;width:200px;padding:9px;border:2px solid #f8c8cb;background:#fff5df;border-radius:18px;color:#834f42;font-weight:bold}.text-button{display:block;border:0;background:transparent;color:#9c5262;font-weight:bold;margin:12px auto;font-size:18px}dialog{border:0;padding:0;border-radius:34px;background:#fff8e9;color:#6a3f31;box-shadow:0 14px 80px #322b2950;width:560px;max-height:930px;position:absolute;left:232px;top:47px;margin:0;overflow:auto}dialog::backdrop{background:#34402977;backdrop-filter:blur(6px)}.modal{padding:28px 38px;border:6px solid #f7c0cf;border-radius:34px}.modal h1{font-size:30px;color:#b95170;text-align:center;margin:5px 0 24px}.modal h2{font-size:21px;margin-bottom:10px}.modal p{font-size:15px;line-height:1.45;margin:8px 0 17px}.modal small{display:block;font-size:13px}.toggle{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:bold;margin:16px 0}.toggle input{appearance:none;width:58px;height:32px;border-radius:30px;background:#d0c3b8;position:relative;transition:background .2s}.toggle input:after{content:'';position:absolute;width:24px;height:24px;top:4px;left:4px;background:#fff9ee;border-radius:50%;box-shadow:0 2px 3px #6543;transition:transform .2s}.toggle input:checked{background:#9dbc67}.toggle input:checked:after{transform:translateX(26px)}details{margin:18px 0}summary{font-weight:bold}.modal>.pill{display:block;margin:auto}.result{text-align:center;padding-top:45px}.result #result-flower{font-size:90px;color:#f19ab6;animation:happy 2s infinite}.petals{pointer-events:none;position:absolute;inset:0;z-index:5;overflow:hidden}.petals i{position:absolute;font-style:normal;color:#ffcfda;font-size:24px;top:-40px;left:5%;animation:petal 17s linear infinite;opacity:.65}.petals i:nth-child(2){left:90%;animation-delay:-6s}.petals i:nth-child(3){left:16%;animation-delay:-12s}.petals i:nth-child(4){left:80%;animation-delay:-3s}@keyframes breathe{50%{transform:translateY(-3px) rotate(.6deg)}}@keyframes happy{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes sad{50%{transform:translateY(4px) rotate(-3deg)}}@keyframes tumble{0%{transform:translateY(-60px) rotate(-160deg) scale(.6)}40%{transform:translateY(12px) rotate(45deg)}70%{transform:translateY(-9px) rotate(-12deg)}100%{transform:none}}@keyframes petal{to{transform:translate(70px,1090px) rotate(480deg)}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
/* Clip portrait atlas cells to their illustrated circular frames. */
.portrait{clip-path:ellipse(49% 47% at 50% 48%)}
.pill:before{background-size:200% 417%;background-position:100% 22%}
.pill.pink:before{background-position:0 87%}
#menu .menu-dice{display:flex;justify-content:center;gap:18px;top:338px;height:100px}
.menu-dice .die{width:85px;height:85px;pointer-events:none;transform:rotate(-9deg)}
.menu-dice .die:nth-child(2){transform:translateY(-8px) rotate(7deg)}
.menu-dice .die:before{inset:-14px}
.menu-dice .pip{width:12px;height:12px}
/* Native artwork proportions: use one uniform scale for both atlas axes. */
@font-face{font-family:TamaRounded;src:url('assets/Quicksand.ttf') format('truetype');font-weight:300 700;font-display:swap}
body{font-family:TamaRounded,"Comic Sans MS","Trebuchet MS",sans-serif;font-weight:600}
.pill,#menu .pill{width:280px;height:140px;padding:0 12px 14px;display:grid;place-items:center;line-height:1;font-size:35px;font-weight:700;text-align:center;white-space:nowrap;overflow:visible}
.pill:before,.pill.pink:before{inset:0;background-size:560px 560px;background-repeat:no-repeat;background-position:-280px -86px}
.pill.pink:before{background-position:0 -358px}
#menu nav{top:390px;left:372px;gap:0;z-index:3}
#menu .menu-dice{top:292px}
.menu-screen .logo{width:650px;height:270px;left:187px;top:20px}
.actions{left:219px;gap:26px;top:820px}
.modal>.pill{display:grid}
.corner-controls{position:absolute;bottom:22px;right:20px;display:flex;align-items:center;gap:14px;z-index:6}
.corner-controls .gear{position:relative;inset:auto;width:96px;height:96px;background-image:url('assets/ui.png');background-size:313.5px 313.5px;background-position:-186px -187px;background-repeat:no-repeat;border:0;border-radius:50%;padding:0}
.help-icon{width:82px;height:82px;display:grid;place-items:center;border:4px solid #ffe1de;border-radius:50%;background:radial-gradient(ellipse at 40% 20%,#ffc1d6 0%,#f68eaf 55%,#d95b85 100%);box-shadow:inset 0 3px 2px #fff9,inset 0 -7px 3px #b6436955,0 5px 3px #8c4b4950;color:#fff9e9;font-size:55px;line-height:1;font-weight:700;text-shadow:0 3px #aa536e;transition:transform .2s}
.help-icon:hover{transform:translateY(-3px)}
#help-dialog{max-height:910px}.modal h1{font-weight:700}
/* Version 3: compact controls, balanced board layout and matching icon art. */
@font-face{font-family:TamaButtons;src:url('assets/Baloo2.ttf') format('truetype');font-weight:400 800;font-display:swap}
.pill{font-family:TamaButtons,TamaRounded,sans-serif!important;font-weight:800!important;font-size:38px!important}
#menu nav{left:372px;top:430px;gap:8px}
.turn-card{top:225px;left:382px;width:260px;padding:8px 12px;border-radius:25px}
.turn-card strong{font-size:36px}.turn-card span{font-size:16px}
.bust-count{display:block;height:8px;line-height:8px;font-size:17px;color:#a63d61}
.actions{top:841px;left:259px;gap:26px}
.actions .pill{width:240px;height:120px;font-size:34px!important;padding-bottom:12px}
.actions .pill:before{background-size:480px 480px;background-position:-240px -73.714px}
.actions .pill.pink:before{background-position:0 -306.857px}
.corner-controls .gear,.corner-controls .help-icon,#home{width:92px;height:92px;border:0;border-radius:0;box-shadow:none;padding:0;background-color:transparent;background-image:url('assets/navigation.png');background-size:300% 100%;background-repeat:no-repeat;text-shadow:none;transition:transform .2s}
.corner-controls .gear{background-position:100% 0}.corner-controls .help-icon{background-position:50% 0}
#home{background-position:0 0;bottom:22px;left:20px}
.corner-controls .gear:hover,.corner-controls .help-icon:hover,#home:hover{transform:translateY(-3px)}
dialog{transform:translate(-50%,-50%);left:512px;top:512px;max-height:930px}
#help-dialog{width:860px;height:760px;max-height:none;overflow:hidden}
.help-modal{height:100%;position:relative;padding:24px 30px}
.help-modal h1{font-family:TamaButtons,sans-serif;font-size:38px;margin:0 0 12px}
.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.help-columns h2{margin:10px 0 6px;font-family:TamaButtons,sans-serif;font-size:25px;line-height:1.1}
.help-columns p,.help-columns li{font-size:16px;line-height:1.4}
.help-columns p{margin:0 0 11px}.help-columns ul{padding-left:20px;margin:8px 0 12px}.help-columns li{margin:5px 0}
.close-cross{position:absolute;right:15px;top:10px;border:0;background:transparent;color:#b95475;font-size:38px;line-height:1;width:42px;height:42px}
.close-cross:hover{color:#88324f;transform:scale(1.08)}
#result-dialog{width:580px;overflow:visible;background:linear-gradient(150deg,#fffcef,#ffe6ef);border:5px solid #fff3d8;box-shadow:0 0 0 5px #f3aac6,0 18px 70px #432a3e55}
#result-dialog .modal{border:3px solid #f4b7cb;border-radius:29px;background:radial-gradient(ellipse at top,#fffdf3 0%,#fff1ee 65%,#ffe1ee);padding:24px 34px}
#result-dialog h1{font-family:TamaButtons,sans-serif;font-size:35px;margin-bottom:12px}
#result-dialog #result-flower{font-size:70px;line-height:1.2;text-shadow:0 3px #fff}
/* Modern candy controls: crisp shapes and centered labels at every size. */
.pill,#menu .pill,.actions .pill{height:76px;width:240px;padding:0 18px;display:grid;place-items:center;background:linear-gradient(180deg,#dff1c5,#b5d78e);border:2px solid #fff8e9;border-radius:25px;box-shadow:0 6px 0 #7d9d64,0 10px 18px #40563226,inset 0 2px 0 #ffffffb0;color:#38543a;text-shadow:none;font-size:32px!important;line-height:1;letter-spacing:0;isolation:auto}
.pill:before,.pill.pink:before{display:none}
.pill.pink{background:linear-gradient(180deg,#ffe1eb,#f4adc7);box-shadow:0 6px 0 #c17e97,0 10px 18px #76415325,inset 0 2px 0 #ffffffb0;color:#82445e;text-shadow:none}
.pill.secondary{background:linear-gradient(#fffdf5,#f3e9dc);color:#82624d;box-shadow:0 6px 0 #c3ac97,0 10px 18px #76415320,inset 0 2px white;font-size:27px!important}
.pill:hover:enabled{transform:translateY(-2px);filter:brightness(1.03)}.pill:active:enabled{transform:translateY(4px);box-shadow:0 2px 0 #9f9b80}.pill:disabled{opacity:.55}
#menu nav{top:463px;left:352px;gap:25px}#menu .pill{width:320px;height:90px;font-size:39px!important}
.actions{left:259px;top:855px;gap:26px;align-items:center}
#fresh{position:relative;inset:auto;margin:0;width:240px;height:76px}
.modal>.pill{margin:20px auto 10px}.text-button{padding:10px 22px;border-radius:16px;background:#fae0e9;color:#82445e}
.close-cross{border-radius:14px;background:#ffe0eb;font-family:TamaButtons,sans-serif}
.corner-controls .gear,.corner-controls .help-icon,#home{border-radius:24px;background-color:#fff3f7;border:2px solid #fff8ec;box-shadow:0 5px 0 #ce8ba4,0 8px 15px #6d35452b;width:74px;height:74px;background-size:300% 100%}
.corner-controls{gap:14px;bottom:28px}.corner-controls .gear:hover,.corner-controls .help-icon:hover,#home:hover{transform:translateY(-2px)}
#home{bottom:28px}
.portrait.opponent{background-image:url('assets/opponents.png');background-size:300% 600%;background-position-y:0}
.portrait.opponent.idle{background-position-x:0}.portrait.opponent.happy{background-position-x:50%}.portrait.opponent.sad{background-position-x:100%}
.die{border-radius:10px}
.die:before{inset:-10px;background:url('assets/die-square.png') center/contain no-repeat}
.menu-dice .die:before{inset:-6px}
.pip{width:20px;height:20px}
.die.selected{outline:3px solid #ff9cc7;outline-offset:-5px}
/* Atlas has a small transparent footer; use measured row spacing. */
.portrait.opponent{background-size:665.25px 1330.5px;background-repeat:no-repeat}
.portrait.opponent.idle{background-position-x:-15px}.portrait.opponent.happy{background-position-x:-225px}.portrait.opponent.sad{background-position-x:-435px}
/* Navigation uses the same pastel surfaces as the main controls. */
.corner-controls .gear,.corner-controls .help-icon,#home{display:grid;place-items:center;background:linear-gradient(180deg,#ffe1eb,#f4adc7);border:2px solid #fff8e9;border-radius:24px;box-shadow:0 6px 0 #c17e97,0 10px 18px #76415325,inset 0 2px 0 #ffffffb0;color:#82445e;padding:0;transition:transform .18s,filter .18s}
#home{background:linear-gradient(180deg,#dff1c5,#b5d78e);color:#38543a;box-shadow:0 6px 0 #7d9d64,0 10px 18px #40563226,inset 0 2px 0 #ffffffb0}
.corner-controls svg,#home svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.corner-controls .gear:hover,.corner-controls .help-icon:hover,#home:hover{transform:translateY(-2px);filter:brightness(1.03)}
.corner-controls .gear:active,.corner-controls .help-icon:active,#home:active{transform:translateY(4px);box-shadow:0 2px 0 #c17e97}
#home:active{box-shadow:0 2px 0 #7d9d64}
.score-row{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:8px;position:relative}
.score-row .score{min-width:130px;padding:2px 12px}
.bust-count{display:flex;height:auto;line-height:1;gap:5px;align-items:center;cursor:help;outline-offset:4px}
.bust-mark{display:grid;place-items:center;width:30px;height:32px;border:2px solid #fff6ed;border-radius:11px;background:linear-gradient(#ffe1eb,#f5aac6);color:#a43e63;font-family:TamaButtons,sans-serif;font-size:31px;font-weight:800;box-shadow:0 3px 0 #c7809a}
.bust-count.danger .bust-mark{background:linear-gradient(#ffc0d3,#ec7da2);color:#812541;box-shadow:0 3px 0 #af536f,0 0 0 2px #ffebc599}
.bust-count:after{content:attr(data-tip);display:none;position:absolute;top:calc(100% + 12px);left:0;width:250px;padding:14px 16px;border:2px solid #f5b6ce;border-radius:18px;background:#fff9ee;color:#704555;font:600 15px/1.45 TamaRounded,sans-serif;text-align:left;box-shadow:0 6px 20px #59313c30;z-index:20;pointer-events:none}
.player.right .bust-count:after{left:auto;right:0}
.bust-count:hover:after,.bust-count:focus:after{display:block}
