:root{font-family:'Arial Rounded MT Bold','PingFang TC','Microsoft JhengHei',sans-serif;color:#694258;background:#fff7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#f5d5e2 1px,transparent 1px);background-size:24px 24px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #945cba;outline-offset:4px}main{max-width:1100px;margin:auto;padding:0 36px}header{display:flex;justify-content:space-between;align-items:center;height:90px;border-bottom:1px solid #efdce5}.brand{text-decoration:none;color:#9b4669;font-size:16px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:10px}.brand span{font-size:32px;color:#e575a0}.edition{font-size:14px;color:#937383}.heading{text-align:center;margin:34px 0 28px}.eyebrow{font-size:12px;letter-spacing:3px;color:#ab718b;font-weight:700}h1{font-size:38px;letter-spacing:2px;margin:12px 0;color:#75455f}h1 span{color:#df92b1;margin-left:12px}.heading p{font-size:16px;margin:0;color:#947083}.game-layout{display:grid;grid-template-columns:minmax(0,620px) 280px;gap:32px;justify-content:center;align-items:start}.game-card{padding:18px;background:white;border:1px solid #ecd6e1;border-radius:28px;box-shadow:0 7px 0 #f0dfe7,0 18px 40px #a6648310}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 4px 16px}.toolbar>div{display:flex;gap:12px;align-items:center}.score-label{font-size:14px;color:#987287}strong{font-size:28px;color:#c45283;min-width:46px}.garden-tag{font-size:14px;color:#916c82;background:#fbf0f5;padding:8px 14px;border-radius:24px}.icon-button{height:38px;width:38px;border:1px solid #eed6e2;border-radius:12px;background:#fff7fa;color:#98617e;font-weight:800}.icon-button:disabled{opacity:.4;cursor:default}.board-wrap{position:relative;overflow:hidden;border:2px solid #e1ebd9;border-radius:18px;background:#f6faef;aspect-ratio:1}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fffaf2d9;backdrop-filter:blur(3px);padding:20px;text-align:center}.overlay[hidden]{display:none}.welcome-icon{font-size:62px;filter:drop-shadow(0 5px 0 #efcad0);margin-bottom:12px}h2{font-size:20px;margin:0 0 10px}.overlay p{font-size:14px;color:#8c7181;margin:0 0 24px;line-height:1.7}.primary{border:0;border-radius:50px;background:#cf5488;color:white;padding:15px 32px;box-shadow:0 5px 0 #ad3f6e;font-weight:700;font-size:17px;min-width:210px;transition:transform .15s,background .15s}.primary:hover{background:#bc4679;transform:translateY(-2px)}.primary span{margin-left:24px}.small{font-size:12px;color:#977888;margin-top:18px}.board-footer{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#a78394;padding:16px 4px 0}.board-footer>span:last-child{letter-spacing:1.5px;font-size:10px}aside{padding-top:2px}.note,.controls{background:#fffdfd;border:1px solid #eddde5;border-radius:22px;padding:24px}.mini-label{font-size:11px;letter-spacing:2px;color:#ba8fa4}.note h2,.controls h2{font-size:20px;margin:10px 0 20px}.rule{display:flex;gap:12px;margin:22px 0}.rule:last-child{margin-bottom:0}.rule>span{font-size:24px;width:36px;flex-shrink:0}.rule p{font-size:14px;line-height:1.8;margin:0;color:#947789}.rule b{display:block;color:#735067;font-size:15px}.controls{margin-top:18px;background:#f5effa;border-color:#e5d9ef}.controls h2{margin-bottom:14px}.dpad{display:grid;grid-template-columns:repeat(3,44px);gap:7px;justify-content:center}.dpad button{height:44px;border:1px solid #decbe9;border-bottom:3px solid #d8c2e5;border-radius:12px;background:#fff;color:#8b619f;font-size:23px}.dpad button:hover,.dpad button:active{background:#eedcf7}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.controls p{text-align:center;font-size:12px;line-height:1.8;margin:16px 0 0;color:#8c719b}.little-note{font-size:13px;text-align:center;margin-top:22px;color:#a17b91}footer{text-align:center;font-size:10px;letter-spacing:2px;color:#b68d9f;margin:32px 0 22px}footer span{margin-left:10px;font-size:16px}@media(min-width:900px) and (max-height:850px){main{max-width:980px}header{height:66px}.heading{margin:22px 0}.game-layout{grid-template-columns:minmax(0,500px) 270px;gap:28px}.note,.controls{padding:20px}.rule{margin:16px 0}}@media(max-width:700px){main{padding:0 16px}header{height:65px}.brand{font-size:13px}.edition{font-size:12px}.heading{margin:26px 0 20px}h1{font-size:27px}.eyebrow{font-size:10px;letter-spacing:2px}.heading p{font-size:14px}.game-layout{grid-template-columns:1fr;gap:20px}.game-card{padding:12px;border-radius:23px}.toolbar{padding-bottom:10px}.score-label{font-size:12px}.garden-tag{font-size:12px;padding:6px 10px}.overlay h2{font-size:20px}.welcome-icon{font-size:46px}.overlay p{font-size:12px}.primary{padding:12px 25px}aside{display:flex;flex-direction:column}.controls{order:-1;margin:0;padding:18px}.controls h2,.controls>.mini-label{display:none}.controls p{margin:12px 0 0}.dpad{grid-template-columns:repeat(3,52px)}.dpad button{height:48px}.note{margin-top:18px}.board-footer>span:last-child{display:none}footer{font-size:9px;letter-spacing:1px}.little-note{margin-top:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.leaderboard{background:#fffdfd;border:1px solid #eddde5;border-radius:22px;padding:22px;margin-bottom:18px}.rank-heading{display:flex;justify-content:space-between;align-items:center}.rank-heading h2{margin:10px 0 16px}.rank-crown{font-size:29px}.high-score{display:flex;justify-content:space-between;align-items:center;background:#fff1d8;border-radius:14px;padding:10px 14px;font-size:14px;color:#91652e}.high-score strong{color:#a26a25;text-align:right}.ranking-rule{font-size:12px;line-height:1.7;color:#957386;margin:14px 0 8px}#rank-list{list-style:none;margin:0;padding:0;max-height:370px;overflow:auto}#rank-list li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px dashed #f0dfe8;font-size:14px}.rank-number{color:#b28b9e;font-size:14px}.rank-name{overflow-wrap:anywhere}#rank-list b{color:#ba5481;font-size:14px}#rank-status{font-size:14px;line-height:1.7;color:#987487}.text-button{background:none;border:0;color:#a14c75;font-size:14px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}#score-form{width:min(100%,340px);margin:0 0 20px}#score-form[hidden]{display:none}#score-form label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}.submit-row{display:flex;gap:8px}.submit-row input{min-width:0;width:100%;border:1px solid #dbafc3;border-radius:10px;padding:10px 12px;font:inherit;font-size:16px;color:#694258;background:white}.submit-row button{flex-shrink:0;border:0;border-radius:10px;background:#a75283;color:white;padding:10px;font-size:14px}#score-form p{font-size:12px;line-height:1.6;margin:8px 0 0}#save-status{color:#a1406d!important}button:disabled{opacity:.55;cursor:wait}.overlay:has(#score-form:not([hidden])) .welcome-icon{font-size:32px;margin-bottom:5px}.overlay:has(#score-form:not([hidden]))>p{margin-bottom:14px}.overlay:has(#score-form:not([hidden])) .small{display:none}@media(max-width:700px){.leaderboard{order:-1;margin-top:18px;margin-bottom:0}.controls{order:-2}.overlay:has(#score-form:not([hidden])){padding:12px;overflow-y:auto;justify-content:flex-start}.overlay:has(#score-form:not([hidden])) .welcome-icon{display:none}.overlay:has(#score-form:not([hidden])) h2{font-size:18px;margin:8px 0}.overlay:has(#score-form:not([hidden]))>p{margin-bottom:9px}#score-form{margin-bottom:12px}.overlay:has(#score-form:not([hidden])) .primary{font-size:15px;padding:10px 20px}}

.toolbar-actions{display:flex;gap:7px}
.swipe-tip{display:none}#board{user-select:none;-webkit-user-select:none;overscroll-behavior:contain}@media(pointer:coarse){.swipe-tip{display:block;margin:12px 0 0;text-align:center;color:#9b4669;font-size:14px}.controls p{font-size:14px}}
