html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}body{touch-action:pan-x pan-y}
html,body{min-height:100%;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
:root{--bg:#fff8eb;--panel:#fff;--ink:#2a2118;--muted:#6f6254;--cookie:#f4a825;--cookie-dark:#d98912;--green:#59a96e;--yellow:#e8c547;--grey:#d8cdbd;--tile:#fffdf8;--shadow:0 10px 30px #5030001f;--radius:1rem;--tile-size:clamp(2.6rem, 15vw, 3.6rem);--board-gap:10px;--ad-box-height:3.125rem;--ad-strip-height:calc(var(--ad-box-height) + 1rem);--content-max-width:32rem;--topbar-side-width:5.6rem}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100dvh;color:var(--ink);margin:0;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}body{flex-direction:column;min-height:100dvh;line-height:1.5;display:flex}.app{width:100%;min-height:0;padding:0 max(1rem, env(safe-area-inset-right)) calc(max(1.25rem, env(safe-area-inset-bottom)) + var(--ad-strip-height)) max(1rem, env(safe-area-inset-left));flex-direction:column;flex:1;gap:1.25rem;display:flex}.topbar{background:#fff;border-bottom:1px solid #2a211814;border-radius:0;width:100%;margin:0 0 1rem;box-shadow:0 1px 8px #5030000d}.topbar__inner{grid-template-columns:var(--topbar-side-width) minmax(0, 1fr) var(--topbar-side-width);width:100%;min-height:3rem;padding:.5rem max(.75rem, env(safe-area-inset-right)) .5rem max(.75rem, env(safe-area-inset-left));align-items:center;display:grid}.topbar__actions{z-index:1;align-items:center;gap:.1rem;display:flex;position:relative}.topbar__actions--left{grid-area:1/1;justify-content:flex-start;width:100%}.topbar__actions--right{grid-area:1/3;justify-content:flex-end;width:100%}.topbar__heading{pointer-events:none;text-align:center;flex-direction:column;grid-area:1/2;align-items:center;gap:.1rem;min-width:0;max-width:100%;display:flex}.topbar__title{color:var(--ink);letter-spacing:.16em;text-align:center;margin:0;font-size:1.35rem;font-weight:800;line-height:1.1}.topbar__title-first{letter-spacing:.01em;font-size:1.2em;font-weight:900;display:inline-block}.topbar__day{color:var(--muted);margin:0;font-size:.72rem;font-weight:600;line-height:1.2}.topbar__btn{width:2.7rem;height:2.7rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:.7rem;flex-shrink:0;place-items:center;padding:0;display:grid}.topbar__btn:active{background:#2a21180f}.topbar__icon{font-size:1.32rem;font-weight:700;line-height:1}.topbar__icon--menu{color:#3d3227;place-items:center;display:grid}.topbar__icon--stats,.topbar__icon--refresh{place-items:center;display:grid}.topbar__icon--menu svg,.topbar__icon--stats svg,.topbar__icon--refresh svg{display:block}@media (min-width:768px){:root{--ad-box-height:6.25rem}.topbar{max-width:var(--content-max-width);margin-left:auto;margin-right:auto}.app{max-width:var(--content-max-width);margin:0 auto}.ad-slot--top,.ad-slot--bottom{min-height:100px}}.ad-slot{flex-direction:column;align-items:center;gap:.35rem;width:100%;display:flex}.ad-slot .ad-label,.modal-rect-ad .ad-label{display:none}.ad-slot--top{min-height:50px;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .35rem max(1rem, env(safe-area-inset-left))}.ad-slot__label{width:100%;max-width:20rem;color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:600}.ad-slot__box{width:100%;max-width:20rem;height:var(--ad-box-height);color:var(--muted);text-align:center;background:#fff5eb;border:2px dashed #2a211833;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex}.ad-slot__size{letter-spacing:.04em;font-size:.72rem;font-weight:600}.ad-slot__hint{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.2}.ad-slot--bottom{z-index:20;min-height:50px;padding-top:.35rem;padding-bottom:max(.35rem, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid #2a21181a;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #5030000f}.side-menu{z-index:35;position:fixed;inset:0}.side-menu__backdrop{z-index:0;background:#00000073;border:0;padding:0;position:absolute;inset:0}.side-menu__panel{z-index:1;background:#fff;flex-direction:column;width:min(50vw,16rem);min-width:11rem;max-width:90vw;animation:.2s ease-out side-menu-slide-in;display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:4px 0 20px #00000024}@keyframes side-menu-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.side-menu__header{padding:max(.9rem, env(safe-area-inset-top)) .85rem .85rem;border-bottom:1px solid #2a21181a;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.side-menu__title{margin:0;font-size:1rem}.side-menu__close{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:1.35rem;line-height:1}.side-menu__nav{gap:.3rem;padding:.55rem;display:grid}.side-menu__link{color:var(--ink);border-radius:.6rem;padding:.7rem .75rem;font-size:.92rem;font-weight:700;text-decoration:none}.side-menu__link-btn{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.side-menu__link:active{background:#f8f1e3}.header{text-align:center}.eyebrow{color:var(--cookie-dark);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.header h1{margin:.25rem 0 0;font-size:clamp(1.75rem,7vw,2.25rem)}.subtitle{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.board-wrap{flex-direction:column;align-items:center;gap:.85rem;width:100%;padding-bottom:1.25rem;display:flex}.board{aspect-ratio:1;--tile-size:calc((100% - (var(--board-gap) * 5)) / 5);border:4px solid var(--cookie-dark);border-radius:calc(var(--radius) + .25rem);width:100%;box-shadow:inset 0 4px 10px #78460024, 0 9px 0 #c97a0e, var(--shadow);touch-action:none;background:radial-gradient(circle at 32% 24%,#ffedc8 0%,#ffe8b8 38%,#ffd27a 62%,#f4a825 100%);position:relative}.hole,.tile{width:var(--tile-size);height:var(--tile-size);border-radius:.55rem;position:absolute}.hole{background:repeating-linear-gradient(45deg,#f0c56d,#f0c56d 8px,#e7b24f 8px 16px);box-shadow:inset 0 0 0 3px #7846002e}.tile{background:var(--tile);color:var(--ink);letter-spacing:.04em;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-user-drag:none;border:2px solid #2a211824;border-bottom:4px solid #2a211833;place-items:center;font-size:clamp(1.1rem,5.5vw,1.5rem);font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s,opacity .15s;display:grid;box-shadow:0 2px #2a211814,0 6px 10px #5030001f}.tile:hover:not(.dragging){transform:translateY(-1px);box-shadow:0 3px #2a211814,0 8px 12px #50300024}.tile.dragging{opacity:.35;cursor:grabbing;transform:translateY(1px);box-shadow:inset 0 2px 6px #5030001f}.tile.drop-target{border-color:var(--cookie-dark);transform:scale(1.05);box-shadow:0 0 0 3px #f4a82573}.drag-ghost{z-index:1000;pointer-events:none;cursor:grabbing;margin:0;position:fixed;transform:translate(-50%,-50%);box-shadow:0 12px 28px #2a211847}.tile.green{background:var(--green);color:#fff;border-color:#3f7d50 #3f7d50 #357346}.tile.locked{cursor:default}.tile.locked:hover:not(.dragging){transform:none}.tile.yellow{background:var(--yellow);color:#3f3200;border-color:#c8a52f #c8a52f #b89424}.tile.grey{background:var(--grey);color:#4d4338;border-color:#b9ab98 #b9ab98 #a89b88}.tile.solved{animation:.35s pop}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.swaps{color:var(--muted);letter-spacing:.12em;margin:.6rem 0 0;font-size:1rem;font-weight:700}.swaps.low{color:#c0392b}.stats-bar{color:var(--muted);text-align:center;margin:.35rem 0 0;font-size:.78rem}.words{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);gap:.85rem;padding:1rem;display:grid}.word-group{gap:.5rem;display:grid}.word-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.word-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{color:var(--ink);letter-spacing:.12em;background:#fff2d6;border-radius:999px;padding:.35rem .7rem;font-size:.9rem;font-weight:700}.chip.done{color:#245a31;background:#d9f1df}.actions{gap:.75rem;display:flex}.btn{cursor:pointer;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;min-height:3rem;font-size:.95rem;font-weight:700;text-decoration:none;display:flex}a.topbar__btn{text-decoration:none}.btn-primary{background:var(--cookie);color:var(--ink)}.btn-ghost{color:var(--ink);background:#fff;box-shadow:inset 0 0 0 2px #2a21181f}.footer{color:var(--muted);text-align:center;margin-top:auto;font-size:.82rem}.footer p{margin:.35rem 0}.modal{z-index:40;background:0 0;justify-content:center;align-items:center;width:100%;min-height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0}.modal__backdrop,.help-sheet__backdrop,.stats-modal__backdrop{background:#0000008c;position:fixed;inset:0}.modal-card{z-index:1;border-radius:calc(var(--radius) + .25rem);background:var(--panel);width:min(92vw,22rem);box-shadow:var(--shadow);text-align:center;padding:1.25rem;position:relative}.modal-eyebrow{color:var(--cookie-dark);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.modal-card h2{margin:.35rem 0 .5rem}.modal-card p{color:var(--muted);margin:0 0 1rem}.modal-card--win .modal-eyebrow{display:none}.modal-card--win h2{color:var(--ink);letter-spacing:.02em;margin:0 0 .45rem;font-size:1.2rem;font-weight:800}.modal-card--win h2.result-title--yummy{color:#000;letter-spacing:.04em;font-size:1.35rem}.modal-card--lose .modal-eyebrow{color:#b45309}.modal-stats{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 0 1rem;display:grid}.modal-stats div{background:#fff8eb;border-radius:.65rem;padding:.55rem .65rem}.modal-stats dt{color:var(--muted);margin:0;font-size:.72rem;font-weight:600}.modal-stats dd{color:var(--ink);margin:.15rem 0 0;font-size:.95rem;font-weight:800}.modal-actions{gap:.65rem;display:grid}.stars{justify-content:center;gap:.06rem;margin-bottom:.65rem;font-size:3.15rem;line-height:1;display:flex}.result-star{--arc-transform:translateY(0) rotate(0deg);transform:var(--arc-transform) scale(1);opacity:.85;color:var(--grey);-webkit-text-stroke:3.5px var(--ink);paint-order:stroke fill;text-shadow:0 2px #0000001a,0 8px 16px #00000029}.stars>.result-star:first-child{--arc-transform:translateY(5px) rotate(-14deg)}.stars>.result-star:nth-child(2){--arc-transform:translateY(2px) rotate(-7deg)}.stars>.result-star:nth-child(3){--arc-transform:translateY(0) rotate(0deg)}.stars>.result-star:nth-child(4){--arc-transform:translateY(2px) rotate(7deg)}.stars>.result-star:nth-child(5){--arc-transform:translateY(5px) rotate(14deg)}.result-star--earned{color:var(--green);opacity:1}.result-star--empty{color:var(--grey);opacity:.65}.result-star--pop{animation:.52s cubic-bezier(.2,.9,.2,1) both result-star-pop}@keyframes result-star-pop{0%{transform:var(--arc-transform) scale(.25);opacity:0}60%{transform:var(--arc-transform) scale(1.25);opacity:1}to{transform:var(--arc-transform) scale(1);opacity:1}}.modal-rect-ad{width:100%;max-width:20rem;margin:0 auto .85rem}.modal-card--win #resultBody{margin-bottom:.75rem}.modal-rect-ad__box{aspect-ratio:320/250;background:#fff5eb;border:2px dashed #2a211829;border-radius:1rem;place-items:center;gap:.5rem;width:100%;display:grid}.modal-rect-ad__size{color:var(--muted);font-weight:900}.modal-rect-ad__hint{color:var(--muted);font-size:.78rem}.help-sheet{z-index:40;width:100%;color:var(--ink);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}@keyframes help-sheet-fade{0%{opacity:0}to{opacity:1}}.help-sheet__shell{z-index:1;width:100%;max-width:var(--content-max-width);background:var(--panel);border-radius:1.25rem;flex-direction:column;height:100%;min-height:0;max-height:88dvh;margin:6dvh auto;animation:.2s help-sheet-fade;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #2a21180f}.help-sheet__header{padding:max(.85rem, env(safe-area-inset-top)) 1rem .85rem;background:var(--panel);border-bottom:1px solid #2a211814;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.help-sheet__content{min-height:0;padding:1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;gap:1rem;display:grid;overflow:hidden auto}.help-sheet__title{margin:0;font-size:1.2rem}.help-sheet__close{width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:#2a211814;border:0;border-radius:999px;flex-shrink:0;place-items:center;padding:0;display:grid}.help-sheet__close:active{transform:scale(.96)}.help-sheet__close-icon{font-size:1.5rem;font-weight:400;line-height:1}.help-sheet__list{color:var(--muted);margin:0;padding-left:1.15rem;font-size:.92rem}.help-sheet__list li+li{margin-top:.45rem}.help-sheet__figure{margin:0}.help-sheet__img-wrap{background:linear-gradient(90deg,#f3ebdc 0%,#fffdf8 45%,#f3ebdc 90%) 0 0/200% 100%;border:1px solid #2a211814;border-radius:.75rem;width:100%;animation:1.15s ease-in-out infinite help-sheet-shimmer;position:relative;overflow:hidden}.help-sheet__img-wrap--loaded{background:0 0;animation:none}.help-sheet__img-loader{z-index:1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.help-sheet__img-spinner{border:.14rem solid #f4a82538;border-top-color:var(--cookie);border-radius:50%;width:1.75rem;height:1.75rem;animation:.75s linear infinite help-sheet-spin}.help-sheet__img{opacity:0;width:100%;height:auto;transition:opacity .28s;display:block}.help-sheet__img--loaded{opacity:1}@keyframes help-sheet-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes help-sheet-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.help-sheet__img-wrap{animation:none}.help-sheet__img-spinner{opacity:.75;animation:none}.help-sheet__img{transition:none}}.help-sheet__figure figcaption{color:var(--muted);text-align:center;margin-top:.45rem;font-size:.82rem;line-height:1.45}.help-sheet__note{color:var(--ink);text-align:center;background:#fff8eb;border:1px solid #f4a82559;border-radius:.75rem;margin:0 0 1rem;padding:.85rem .9rem;font-size:.86rem;line-height:1.55}.help-sheet__note-title{color:var(--cookie);letter-spacing:.04em;margin-bottom:.35rem;font-size:.95rem;font-weight:800;display:block}.stats-modal{z-index:40;background:0 0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:visible}.stats-modal__card{z-index:1;width:min(100%, var(--content-max-width));background:var(--panel);height:min(78dvh,40rem);max-height:78dvh;box-shadow:var(--shadow);border-radius:1rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.stats-modal__header{border-bottom:1px solid #2a211814;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .85rem;display:flex}.stats-modal__title{margin:0;font-size:1.15rem}.stats-modal__close{width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:#2a211814;border:0;border-radius:999px;flex-shrink:0;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.stats-modal__close:active{transform:scale(.96)}.stats-modal__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;gap:.95rem;min-height:0;padding:1rem 1rem 1.15rem;display:grid;overflow:hidden auto}.stats-modal__overview{background:#fff8eb;border-radius:.85rem;padding:1rem;position:relative}.stats-modal__overview-label{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.stats-modal__overview-played{color:var(--ink);margin:.3rem 0 0;font-size:2rem;font-weight:800;line-height:1}.stats-modal__overview-sub{color:var(--muted);margin:.4rem 0 0;font-size:.84rem}.stats-modal__winrate{justify-items:end;display:grid;position:absolute;top:1rem;right:1rem}.stats-modal__winrate-label{color:var(--muted);font-size:.72rem;font-weight:600}.stats-modal__winrate-value{color:var(--ink);font-size:1.3rem;font-weight:800;line-height:1}.stats-modal__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.stats-modal__metric{background:#fff8eb;border-radius:.7rem;justify-content:space-between;align-items:baseline;gap:.55rem;padding:.78rem .85rem;display:flex}.stats-modal__label{color:var(--muted);font-size:.8rem;font-weight:600}.stats-modal__value{color:var(--ink);font-size:1.15rem;font-weight:800;line-height:1}.stats-modal__section{background:#fff8eb;border-radius:.85rem;padding:.85rem}.stats-modal__section-title{color:var(--ink);margin:0 0 .7rem;font-size:.95rem}.stats-modal__dist{gap:.45rem;display:grid}.stats-modal__dist-row{grid-template-columns:2.7rem 1fr auto;align-items:center;gap:.5rem;display:grid}.stats-modal__dist-label{color:#b8830d;letter-spacing:.03em;font-size:.82rem}.stats-modal__dist-track{background:#2a211814;border-radius:999px;height:.5rem;overflow:hidden}.stats-modal__dist-fill{border-radius:inherit;background:linear-gradient(90deg,#f4c24f 0%,#e6a832 100%);min-width:.08rem;height:100%}.stats-modal__dist-value{color:var(--muted);font-size:.76rem;font-weight:700}.stats-modal__footnote{color:var(--muted);text-align:right;margin:.1rem 0 0;font-size:.78rem}
