:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;color:#393546;background:#f8f7fc;font-synthesis:none;--purple:#8661ce;--muted:#9791a4;--border:#eeebf3;--cell-gap:6px;--board-padding:12px}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 40%,#f0ebfa66,transparent 50%),#f8f7fc}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible{outline:3px solid #8b65d7;outline-offset:4px}button{color:inherit}svg{display:block}button svg,.no-timer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button{border:0}h1,h2,h3,p{margin:0}.page-shell{max-width:1220px;padding:0 46px;margin:auto}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eae6f0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#40384e;font-size:22px;font-weight:800;letter-spacing:-.9px}.brand img{width:36px;height:36px}.brand-sub{display:block;font-size:10px;color:#a19aa9;letter-spacing:.7px;margin-top:4px;font-weight:500}.header-actions{display:flex;align-items:center;gap:12px}.play-badge{font-size:11px;color:#8f849f;background:#efebf6;padding:8px 12px;border-radius:30px;margin-right:10px}.play-badge>span,.difficulty>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a58bcd;margin-right:6px;vertical-align:middle}.icon-button{height:40px;width:40px;border:1px solid #e9e4f0;border-radius:12px;display:grid;place-items:center;background:#ffffff99;color:#9a8cae}.help-button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;display:grid;place-items:center;appearance:none;-webkit-appearance:none;padding:0;line-height:1;background:white;border:1px solid #e9e4f0;border-radius:12px;color:#756984}.help-button .help-icon{display:block;width:20px;height:20px;margin:0;color:#a595b7;pointer-events:none}.intro{display:flex;justify-content:space-between;align-items:center;padding:34px 0 28px}.eyebrow{font-size:11px;color:#9a81bc;letter-spacing:1px;margin-bottom:11px;font-weight:700}.eyebrow>span{font-size:16px;margin-right:4px}h1{font-size:28px;letter-spacing:-1.4px;line-height:1.4;font-weight:800}h1>span{color:#9271c8}.intro-description{font-size:12px;color:#9b94a5;margin-top:9px;line-height:1.6}.no-timer{display:flex;align-items:center;gap:12px;color:#b4a5c9;font-size:11px;line-height:1.7;padding-right:4px}.no-timer svg{width:34px;height:34px;stroke-width:1.3}.no-timer strong{font-size:12px;font-weight:600;color:#9484a9}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:24px;align-items:start}.game-card{background:#fff;border:1px solid #ebe6f2;border-radius:25px;padding:24px 28px 17px;box-shadow:0 7px 30px #5b398708}.game-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-label{display:flex;align-items:center;gap:9px}.section-label h2{font-size:14px;letter-spacing:-.4px;font-weight:750}.little-squares{color:#a48bc8;font-size:24px;line-height:1}.difficulty{font-size:10px;color:#a99eb8;background:#f5f2f9;padding:6px 9px;border-radius:7px}.difficulty>span{background:#a9c4ad;width:5px;height:5px}.board-wrap{width:min(100%,456px);position:relative;margin:0 auto}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--cell-gap);padding:var(--board-padding);background:#f0edf6;border-radius:17px;box-shadow:inset 0 2px 5px #735f8810;aspect-ratio:1;touch-action:none}.cell{position:relative;min-width:0;padding:0;border-radius:8px;background:#e5e0ef;box-shadow:inset 0 2px 3px #83749e08;aspect-ratio:1;transition:background .14s,transform .14s;touch-action:none}.cell::after{content:"";position:absolute;inset:7px;border:1px solid #f4f1f9;border-radius:4px;opacity:.35}.cell.filled,.mini-cell,.ghost-cell{background:var(--block-color);box-shadow:inset 0 3px 0 #ffffff36,inset 0 -4px 0 #0000000b,0 2px 3px #4d396a0a}.cell.filled::after,.mini-cell::after,.ghost-cell::after{content:"";position:absolute;inset:6px;border:1px solid #ffffff2e;border-radius:3px;opacity:1}.cell.preview-valid{background:var(--preview-color);opacity:.55;box-shadow:inset 0 0 0 2px #ffffff70}.cell.preview-invalid{background:#dfb0b8;box-shadow:inset 0 0 0 2px #c9828f;opacity:.7}.cell.placed{animation:place-pop .26s ease-out}.cell:focus-visible{outline-offset:1px;z-index:1;outline-width:3px}.game-message{text-align:center;font-size:11px;color:#9a8aaa;margin:17px 0 22px;min-height:18px;line-height:1.65}.game-message>span{color:#d0b45a;margin-right:6px}.game-message.success{color:#7caa89;font-weight:700}.tray-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tray-heading h3{font-size:12px;color:#80748e;font-weight:700}.tray-heading>span{font-size:10px;color:#b5abbe}.piece-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.piece-slot{height:94px;background:#faf9fc;border:1px solid #efebf5;border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative;touch-action:none;transition:background .15s,border-color .15s,box-shadow .15s}.piece-slot:hover{background:#f4f0fa}.piece-slot[aria-pressed=true]{background:#f5f0fd;border-color:#baa0e0;box-shadow:0 0 0 2px #a686d617}.piece-slot.is-used{border-style:dashed;color:#ccc3d6;font-size:22px;background:#fcfbfd}.piece-number{position:absolute;left:8px;top:7px;width:16px;height:16px;line-height:16px;color:#b8adc5;font-size:9px;background:#f0ecf6;border-radius:5px}.piece{display:grid;grid-template-columns:repeat(var(--cols),19px);grid-template-rows:repeat(var(--rows),19px);gap:3px;pointer-events:none}.mini-cell{position:relative;border-radius:4px}.mini-cell::after{inset:4px;border-radius:2px}.game-controls{display:flex;justify-content:center;gap:6px;border-top:1px solid #f1eef5;margin-top:20px;padding-top:13px}.control-button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#a395b3;font-size:11px;min-height:38px;padding:0 13px;border-radius:9px}.control-button:not(:disabled):hover{background:#f4f0fa;color:#80609e}.control-button svg{width:15px;height:15px;stroke-width:1.6}.side-panel{display:grid;gap:17px}.score-card{background:#eee8f8;border:1px solid #e6ddf2;border-radius:21px;padding:21px 22px 17px;position:relative;overflow:hidden}.score-top{display:flex;justify-content:space-between;align-items:center}.section-kicker{font-size:11px;font-weight:700;color:#9a86b3;letter-spacing:.3px}.sparkle-icon{width:33px;height:33px;fill:#d9c7ed;position:absolute;top:21px;right:24px}.score{margin:12px 0 18px;color:#8260b6;display:flex;align-items:baseline;gap:8px}.score>span:first-child{font-size:46px;line-height:1.1;font-weight:800;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.score>span:last-child{font-size:14px}.score-bottom{display:flex;justify-content:space-between;border-top:1px solid #dbd0eb;padding-top:13px;color:#9b85b4;font-size:10px}.score-bottom strong{color:#85659f;margin-left:5px;font-size:12px}.garden-card{border:1px solid #e4eadd;background:#f4f7f0;border-radius:21px;padding:20px 19px 15px}.garden-card .section-label{justify-content:space-between}.garden-card h2{font-size:12px;color:#758a6b}.garden-badge{color:#91a385;background:#e9efdf;border-radius:7px;font-size:9px;padding:5px 7px}.garden-card>p{font-size:10px;color:#9aa58f;margin-top:10px;line-height:1.5}.garden{height:122px;margin:0 -7px;display:flex;align-items:end}.garden-scene{width:100%;height:122px}.flower-head{opacity:.38;transform-origin:150px 90px;transition:opacity .5s,transform .5s;transform:scale(.7)}.garden.bloomed .flower-head{opacity:1;transform:scale(1)}.garden-progress{display:flex;gap:5px;margin:2px 10px 0}.garden-progress span{flex:1;height:5px;border-radius:4px;background:#e0e8d7;transition:background .3s}.garden-progress span.done{background:#a7c095}.garden-card .garden-caption{text-align:center;font-size:9px;margin-top:9px;color:#96a28d}.howto-card{padding:17px 18px 8px;border:1px solid #eee8f4;border-radius:20px;background:#ffffff73}.howto-card .section-kicker{font-size:10px;color:#a69aad}.howto-card ol{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:18px}.howto-card li{display:flex;gap:10px;align-items:start}.step-number{font-size:10px;background:#eee8f7;color:#aa92c4;width:21px;height:21px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.howto-card li:nth-child(2) .step-number{background:#e7f1ed;color:#8bb19f}.howto-card li:nth-child(3) .step-number{background:#faf0dc;color:#c8af79}.howto-card strong{display:block;font-size:10px;font-weight:650;color:#8a7c98;padding-top:2px}.howto-card small{display:block;font-size:9px;color:#b0a4bc;margin-top:5px;line-height:1.5}.howto-card li:last-child{margin-bottom:11px}.kind-note{display:flex;align-items:center;gap:12px;padding:5px 14px;color:#b8a5cb}.kind-note>span:first-child{font-size:28px;line-height:1}.kind-note p{font-size:11px;line-height:1.9;color:#ad9fbc}.note-doodle{margin-left:auto;transform:rotate(15deg);font-size:27px;color:#d0c0e1}footer{padding:25px 5px 24px;color:#b8aec3;font-size:10px;display:flex;gap:7px;align-items:center}.footer-flower{color:#bba5d1;font-size:15px}.footer-meta{margin-left:auto;font-size:9px;color:#c0b6ca}.modal{border:1px solid #e8dff2;border-radius:25px;max-width:450px;width:calc(100% - 36px);padding:34px 28px;text-align:center;color:#655672;box-shadow:0 20px 80px #41324c22;background:#fffdfd}.modal::backdrop{background:#3c2f4f48;backdrop-filter:blur(4px)}.modal h2{font-size:21px;margin:12px 0 18px;letter-spacing:-.7px}.modal p{font-size:13px;line-height:1.9;color:#9d8ca9;margin-bottom:16px}.modal-emoji{font-size:38px}.modal-x{position:absolute;right:14px;top:8px;background:transparent;font-size:28px;color:#b4a3c1;padding:4px 10px}.primary-button,.secondary-button{min-height:46px;border-radius:12px;font-size:13px;padding:12px 24px;background:#9876cf;color:#fff;font-weight:650}.secondary-button{background:#f1ecf7;color:#a18ab7}.modal>.primary-button{width:100%;margin-top:21px}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:24px}.help-tip{font-size:11px;color:#a290af;background:#f7f3fb;border-radius:12px;padding:15px;line-height:1.9}.celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:17px}.confetti{position:absolute;width:9px;height:15px;left:var(--x);top:-20px;background:var(--color);border-radius:3px;animation:confetti-fall 1.3s ease-in var(--delay) both}.celebration-label{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);border-radius:20px;padding:18px 22px;background:#fffffff2;color:#9471bc;font-size:22px;font-weight:800;box-shadow:0 4px 25px #66518018;white-space:nowrap;animation:label-pop 1.8s ease both}.drag-piece{position:fixed;z-index:30;pointer-events:none;display:grid;gap:var(--cell-gap);opacity:.85;filter:drop-shadow(0 7px 8px #5a437c30);transform:translate(-50%,-50%)}.drag-piece[hidden]{display:none}.ghost-cell{border-radius:7px;position:relative}.dragging,.dragging *{cursor:grabbing!important;user-select:none}.storage-note{color:#c29860;font-size:10px;text-align:center;padding-top:8px}@keyframes place-pop{0%{transform:scale(.8)}60%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes confetti-fall{to{transform:translateY(520px) rotate(420deg);opacity:.1}}@keyframes label-pop{0%{opacity:0;transform:translate(-50%,-20%) scale(.8)}15%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-70%) scale(1)}}
@media(min-width:1400px){.page-shell{max-width:1280px;padding:0 70px}.site-header{height:108px}.intro{padding:42px 0 32px}.play-layout{gap:28px;grid-template-columns:minmax(0,1fr) 304px}.game-card{padding:25px 35px 18px}.board-wrap{width:470px}.side-panel{gap:20px}.score-card{padding:23px}.garden-card{padding:22px}.howto-card{padding:19px}.piece-slot{height:100px}}
@media(max-width:900px){.page-shell{padding:0 25px}.play-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.game-card{padding:20px 18px 12px}.board{--cell-gap:5px;--board-padding:10px}.cell{border-radius:6px}.game-topline{margin-bottom:16px}.game-controls{gap:0}.control-button{font-size:10px;padding:0 10px}.no-timer{display:none}h1{font-size:25px}.garden-card{padding:18px 14px}.garden-badge{font-size:8px}.score-card{padding:20px}.howto-card{padding:17px 13px 9px}}
@media(max-width:700px){.page-shell{max-width:560px;padding:0 18px}.site-header{height:82px}.brand{font-size:19px;gap:9px}.brand img{width:31px;height:31px}.brand-sub{font-size:8px;letter-spacing:.2px}.play-badge{display:none}.header-actions{gap:7px}.icon-button{height:36px;width:36px;border-radius:10px}.intro{padding:25px 2px 23px}.eyebrow{font-size:10px;margin-bottom:8px}h1{font-size:24px;letter-spacing:-1.3px}.intro-description{font-size:10px;margin-top:7px}.play-layout{display:flex;flex-direction:column;gap:19px}.game-card{width:100%;padding:18px 17px 12px;border-radius:21px}.board-wrap{width:100%;max-width:456px}.game-topline{margin-bottom:16px}.section-label h2{font-size:12px}.little-squares{font-size:21px}.difficulty{font-size:9px}.board{--cell-gap:5px;--board-padding:10px;border-radius:14px}.cell{border-radius:6px}.cell::after{inset:5px}.game-message{font-size:10px;margin:14px 0 19px}.tray-heading h3{font-size:11px}.tray-heading>span{font-size:9px}.piece-tray{gap:9px}.piece-slot{height:89px;border-radius:12px}.piece{grid-template-columns:repeat(var(--cols),18px);grid-template-rows:repeat(var(--rows),18px);gap:3px}.game-controls{margin-top:17px;padding-top:9px}.control-button{min-height:41px;padding:0 12px;font-size:10px}.side-panel{width:100%;grid-template-columns:1fr 1fr;gap:13px}.score-card{border-radius:18px;padding:18px 16px;align-self:stretch}.score{margin:18px 0 23px}.score>span:first-child{font-size:40px}.score-bottom{font-size:9px;flex-direction:column;gap:8px}.garden-card{padding:16px 13px;border-radius:18px}.garden-card .section-label{align-items:start;gap:5px;flex-direction:column}.garden-card h2{font-size:11px}.garden-badge{font-size:8px;padding:3px 5px}.garden-card>p{font-size:9px;margin-top:8px}.garden{height:98px}.garden-scene{height:98px}.garden-card .garden-caption{font-size:8px}.howto-card{grid-column:1/-1;padding:18px}.howto-card ol{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.howto-card li{flex-direction:column;gap:7px}.howto-card strong{font-size:9px;line-height:1.6}.howto-card small{font-size:8px;line-height:1.7}.howto-card li:last-child{margin:0}.kind-note{grid-column:1/-1;justify-content:center}.kind-note p{font-size:10px}.note-doodle{margin-left:10px}.footer-meta{display:none}footer{justify-content:center;font-size:9px;padding:20px 0 24px}}
@media(max-width:360px){.page-shell{padding:0 12px}.brand-sub{display:none}.brand{font-size:18px}h1{font-size:22px}.game-card{padding:15px 11px 10px}.board{--cell-gap:4px;--board-padding:8px}.control-button{padding:0 9px}.piece{grid-template-columns:repeat(var(--cols),16px);grid-template-rows:repeat(var(--rows),16px)}}
/* Keep both the board and the pieces in view on a laptop display. */
@media(min-width:1000px) and (max-height:850px){.site-header{height:77px}.intro{padding:24px 0 22px}.eyebrow{margin-bottom:7px}.game-card{display:grid;grid-template-columns:minmax(0,1fr) 134px;grid-template-areas:"top top" "board traytitle" "board tray" "message message" "controls controls";column-gap:22px;grid-template-rows:auto auto 1fr auto auto;padding:21px 25px 12px}.game-topline{grid-area:top;margin-bottom:18px}.board-wrap{grid-area:board;width:min(100%,350px)}.tray-heading{grid-area:traytitle;display:block;margin:0 0 12px}.tray-heading h3{font-size:13px}.tray-heading>span{display:block;font-size:10px;line-height:1.6;margin-top:5px}.piece-tray{grid-area:tray;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:10px}.piece-slot{height:auto;min-height:75px}.game-message{grid-area:message;margin:15px 0 12px;font-size:12px}.game-controls{grid-area:controls;margin-top:0;padding-top:9px}.control-button{font-size:12px;min-height:36px;padding:0 18px}.side-panel{gap:13px}.score-card{padding:17px 20px 15px}.score{margin:9px 0 14px}.score>span:first-child{font-size:40px}.garden-card{padding:17px 18px 12px}.garden{height:99px}.garden-scene{height:102px}.howto-card{padding:14px 16px 5px}.howto-card ol{gap:13px;margin-top:13px}.howto-card strong{font-size:11px}.howto-card small{font-size:10px}.kind-note{padding:0 14px}.kind-note p{font-size:11px}footer{padding:18px 5px}}
.icon-button{min-width:44px;min-height:44px}.game-message{font-size:12px}.tray-heading h3{font-size:13px}.tray-heading>span{font-size:11px}.control-button{font-size:12px}.garden-card>p{font-size:11px}.howto-card strong{font-size:12px}.howto-card small{font-size:11px}.garden-card .garden-caption{font-size:10px}.difficulty{font-size:11px}.score-bottom{font-size:11px}.kind-note p{font-size:12px}
@media(max-width:700px){.intro{padding:19px 2px}.game-card{padding-top:15px}.game-message{font-size:11px}.tray-heading>span{font-size:10px}.control-button{font-size:11px}.howto-card ol{grid-template-columns:1fr;gap:15px}.howto-card li{flex-direction:row;gap:10px}.howto-card strong{font-size:12px}.howto-card small{font-size:11px}.garden-card>p{font-size:10px}.score-bottom{font-size:10px}.garden-card .garden-caption{font-size:9px}.difficulty{font-size:10px}}
.cell.preview-valid{opacity:.85;outline:2px dashed #fff;outline-offset:-4px;box-shadow:inset 0 0 0 2px #9270c044}.mini-cell.anchor-cell::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);z-index:1}.drag-piece{transform:none}
.cell.line-complete{z-index:1;outline:2px solid #fff5d4;outline-offset:-1px;animation:line-disappear var(--clear-duration,1100ms) ease-in-out both}.board[aria-busy=true] .cell{cursor:default}@keyframes line-disappear{0%,35%{opacity:1;filter:brightness(1);transform:scale(1)}64%{opacity:1;filter:brightness(1.22);transform:scale(1)}100%{opacity:0;filter:brightness(1.5);transform:scale(.65)}}
/* Soft pink surfaces with darker rose text and controls. */
:root{color:#593447;background:#fff6fa;--purple:#b84176;--muted:#956b7f;--border:#efd6e1}
body{background:radial-gradient(ellipse at 0 35%,#fce2ed99,transparent 55%),#fff6fa}
button:focus-visible,a:focus-visible{outline-color:#b84176}
.site-header{border-color:#efdce5}.brand{color:#63364c}.brand-sub{color:#9d798a}
.icon-button,.help-button{background:#fffafd;border-color:#efd6e1;color:#9c5375}.help-button .help-icon{color:#ba7b97}
.return-link{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;border:1px solid #edcfdd;border-radius:12px;background:#fffafd;color:#a0446b;font-size:12px;text-decoration:none;white-space:nowrap}
.return-link:hover{background:#fce5ef}.eyebrow{color:#b45d85}h1>span{color:#c34d80}.intro-description{color:#967485}
.no-timer{color:#c695ad}.no-timer strong{color:#9b6882}.game-card{border-color:#efd9e4;box-shadow:0 7px 30px #b85e7d0a}
.little-squares{color:#cb83a5}.difficulty{background:#fbedf4;color:#aa6c88}.board{background:#f7e1eb;box-shadow:inset 0 2px 5px #9d527310}
.cell{background:#efd3e0;box-shadow:inset 0 2px 3px #ad688408}.cell::after{border-color:#fff6fa}
.cell.preview-valid{box-shadow:inset 0 0 0 2px #b8417644}.cell.preview-invalid{background:#e5a4b8;box-shadow:inset 0 0 0 2px #c36887}
.game-message{color:#9d6b83}.game-message.success{color:#a34d77}.tray-heading h3{color:#98647f}.tray-heading>span{color:#af8198}
.piece-slot{background:#fff8fb;border-color:#f1dce7}.piece-slot:hover{background:#fcebf3}.piece-slot[aria-pressed=true]{background:#ffedf5;border-color:#cf7aa0;box-shadow:0 0 0 2px #d8789e16}
.piece-slot.is-used{background:#fffbfd;color:#dcc0cf}.piece-number{background:#fae7f0;color:#b17d98}.game-controls{border-color:#f2e1e9}
.control-button{color:#a46785}.control-button:not(:disabled):hover{background:#fce8f1;color:#ac4775}
.score-card{background:#fbe4ee;border-color:#f0cfdf}.section-kicker{color:#a65b80}.sparkle-icon{fill:#edb3cc}.score{color:#b33f74}
.score-bottom{border-color:#edc5d8;color:#9b6580}.score-bottom strong{color:#a33d6e}
.garden-card{background:#fff3f8;border-color:#efdae4}.garden-card h2{color:#a36281}.garden-card>p{color:#a77b91}.garden-card .garden-caption{color:#9a7086}
.howto-card{background:#fffafdc9;border-color:#f0dce7}.howto-card .section-kicker{color:#a97991}.howto-card strong{color:#98637e}.howto-card small{color:#ad8298}
.step-number{background:#f9e0ed;color:#b4648c}.kind-note{color:#ce90ad}.kind-note p{color:#a97891}.note-doodle{color:#e4b3ca}
footer{color:#b6869d}.footer-flower{color:#ce8ead}.footer-meta{color:#bd93a8}
.modal{border-color:#edcfde;color:#74435c;background:#fffafd;box-shadow:0 20px 80px #7d3c5b22}.modal::backdrop{background:#6e3b5348}.modal p{color:#a06c87}.modal-x{color:#bb86a2}
.primary-button{background:#b84176}.secondary-button{background:#f9e5ef;color:#a75c81}.help-tip{background:#fcebf3;color:#a26986}.celebration-label{color:#b84176;box-shadow:0 4px 25px #a6587a18}
@media(max-width:700px){.brand{font-size:18px;gap:7px}.brand img{width:29px;height:29px}.brand-sub{display:none}.header-actions{gap:6px}.return-link{font-size:10px;padding:0 8px}}
.view-options{display:flex;justify-content:flex-end;margin:-8px 0 12px}.center-option{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:1px solid #efd6e1;border-radius:12px;background:#fff8fb;color:#a0446b;font-size:12px;cursor:pointer;user-select:none}.center-option input{width:18px;height:18px;margin:0;accent-color:#b84176;cursor:pointer}.center-option:focus-within{outline:3px solid #b84176;outline-offset:3px}.center-score{display:none;color:#b84176;font-size:15px;font-weight:750}
@media(min-width:1000px) and (max-height:850px){.game-card{grid-template-areas:"top top" "options options" "board traytitle" "board tray" "message message" "controls controls";grid-template-rows:auto auto auto 1fr auto auto}.view-options{grid-area:options}}
/* Pin the whole play layout, including pieces and controls, at screen center. */
html.center-layout{height:100%;overflow:hidden;overscroll-behavior:none}body.center-layout{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.center-layout .site-header,.center-layout .intro,.center-layout .side-panel,.center-layout footer{display:none}
.center-layout .page-shell{position:fixed;left:var(--play-viewport-x,0px);top:var(--play-viewport-y,0px);width:var(--play-viewport-width,100vw);height:var(--play-viewport-height,100dvh);max-width:none;padding:8px 12px;margin:0;display:grid;place-items:center;overflow:hidden}.center-layout main{width:100%;min-width:0}.center-layout .play-layout{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;margin:0}
.center-layout .game-card{--game-board-size:min(430px,calc(var(--play-viewport-width,100vw) - 64px),calc(var(--play-viewport-height,100dvh) - 364px));position:relative;left:auto;top:auto;z-index:20;transform:none;flex:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "options" "board" "message" "traytitle" "tray" "controls";grid-template-rows:26px 52px var(--game-board-size) 32px 20px 72px 84px;gap:5px;width:min(620px,calc(var(--play-viewport-width,100vw) - 24px));max-height:calc(var(--play-viewport-height,100dvh) - 16px);padding:10px 18px;margin:0;border:1px solid #efd9e4;border-radius:20px;background:#fffafd;box-shadow:0 12px 45px #b85e7d12;overflow:hidden}
.center-layout .game-topline{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0}.center-layout .difficulty{display:none}.center-layout .center-score{display:inline}
.center-layout .view-options{grid-area:options;justify-content:center;margin:0}.center-layout .board-wrap{grid-area:board;width:var(--game-board-size);max-width:none;margin:0 auto}
.center-layout .game-message{grid-area:message;width:100%;height:40px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0;line-height:20px;font-size:11px}.center-layout .tray-heading{grid-area:traytitle;display:flex;align-items:center;width:100%;margin:0}.center-layout .tray-heading>span{display:inline;margin:0;font-size:10px}
.center-layout .piece-tray{grid-area:tray;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;width:100%;height:72px;gap:8px}.center-layout .piece-slot{height:72px;min-height:0}.center-layout .piece{grid-template-columns:repeat(var(--cols),15px);grid-template-rows:repeat(var(--rows),15px);gap:3px}
.center-layout .game-controls{grid-area:controls;display:flex;align-items:center;justify-content:center;width:100%;height:40px;padding:0;margin:0;border:0;gap:0}.center-layout .control-button{min-height:40px;padding:0 10px;font-size:11px}.center-layout .storage-note{display:none}
@media(max-height:600px) and (min-aspect-ratio:6/5){
  .center-layout .game-card{--game-board-size:min(430px,calc(var(--play-viewport-height,100dvh) - 150px),calc(var(--play-viewport-width,100vw) - 252px));width:min(760px,calc(var(--play-viewport-width,100vw) - 24px));grid-template-columns:var(--game-board-size) minmax(0,1fr);grid-template-areas:"top options" "board traytitle" "board tray" "board controls" "message message";grid-template-rows:44px 18px minmax(0,1fr) 40px 40px;column-gap:14px}
  .center-layout .view-options{justify-content:flex-end}.center-layout .piece-tray{align-self:center}.center-layout .tray-heading>span{display:none}.center-layout .game-topline .section-label{gap:5px}.center-layout .game-topline h2{font-size:12px}
}
/* Keep accidental text drags and iOS long presses from selecting game labels. */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* Prevent Safari's double-tap zoom on the controls and surrounding surfaces.
   More-specific board/cell/piece rules keep their existing drag gestures. */
html,body,.page-shell,.game-card,.modal,button,a,input,label{touch-action:manipulation}
/* Picture, plain words, and a short explanation make each action easier to learn. */
.center-option{min-height:52px;gap:8px;padding:5px 12px}
.center-option input{width:22px;height:22px;flex-shrink:0}
.center-option-icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.center-option-copy{display:flex;flex-direction:column;gap:2px;text-align:left}
.center-option-copy strong{font-size:13px;line-height:1.3}
.center-option-copy small{font-size:10px;line-height:1.4;color:#9b6680}
.game-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.control-button--undo{--control-bg:#fff5d9;--control-border:#edd7a1;--control-ink:#866021}
.control-button--shuffle{--control-bg:#e9f7ef;--control-border:#b5dcc6;--control-ink:#347557}
.control-button--restart{--control-bg:#fdeaf2;--control-border:#edc1d4;--control-ink:#a6406e}
.game-controls .control-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:84px;padding:7px 5px;border:1px solid var(--control-border);border-radius:14px;background:var(--control-bg);color:var(--control-ink);box-shadow:0 3px 0 var(--control-border)}
.game-controls .control-button:not(:disabled):hover{background:var(--control-bg);color:var(--control-ink);box-shadow:0 1px 0 var(--control-border),inset 0 0 0 1px var(--control-border)}
.game-controls .control-button:disabled{opacity:1;background:#f5f0ee;border-color:#e6dcda;color:#a08b87;box-shadow:none}
.control-icon{display:block;height:26px}
.control-icon svg{width:26px;height:26px;stroke-width:1.8}
.control-label{font-size:clamp(11px,3.2vw,14px);font-weight:800;line-height:1.25;letter-spacing:-.3px;white-space:nowrap}
.control-help{font-size:clamp(9px,2.5vw,11px);line-height:1.35;letter-spacing:-.2px;white-space:nowrap}
.center-layout .game-message{height:32px;line-height:16px}
.center-layout .game-controls{display:grid;height:84px;gap:8px}
.modal-x{min-width:44px;min-height:44px}
@media(max-width:480px){.modal-actions{flex-direction:column}.modal-actions>button{width:100%}}
@media(max-height:600px) and (min-aspect-ratio:6/5){
  .center-layout .game-card{--game-board-size:min(430px,calc(var(--play-viewport-height,100dvh) - 122px),calc(var(--play-viewport-width,100vw) - 252px));grid-template-rows:44px 18px minmax(0,1fr) 52px 20px}
  .center-layout .center-option{min-height:44px}
  .center-layout .center-option-copy small,.center-layout .control-help{display:none}
  .center-layout .game-controls{height:52px}
  .center-layout .game-controls .control-button{min-height:52px;padding:4px 3px;gap:2px;border-radius:10px}
  .center-layout .control-icon{height:20px}.center-layout .control-icon svg{width:20px;height:20px}
  .center-layout .control-label{font-size:11px}
  .center-layout .game-message{height:20px;line-height:18px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.confetti{display:none}}
