@font-face{font-family:Lilita One;src:url(/fonts/LilitaOne-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--forest:#2f4f3a;--deep:#243f2e;--cream:#f4eedf;--cream-2:#e4d9be;--pale:#a9c2a6;--rust:#c8693a;--bark:#7a4e2d;--ink:#1f2a24;--display:"Lilita One", system-ui, sans-serif;--text:"Atkinson Hyperlegible", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--pad:clamp(16px, 3.4vw, 56px);--cell:min(7.4dvh, 4.4vw, 66px);--gap:max(4px, calc(var(--cell) * .08))}*{box-sizing:border-box}html,body{height:100%}body{background:var(--forest);height:100dvh;color:var(--cream);font:400 18px/1.5 var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.snow{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}.stage{z-index:1;height:100dvh;padding:var(--pad);padding-bottom:calc(var(--pad) + 12px);grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,80px);display:grid;position:relative}.brand{justify-items:start;gap:clamp(12px,2.4dvh,28px);display:grid}.tree{cursor:pointer;width:min(50dvh,36vw);height:auto;margin-left:calc(min(50dvh,36vw)/-25);overflow:visible}.tree text{font-family:var(--text);text-anchor:middle;dominant-baseline:central;font-size:5.2px;font-weight:700}h1{font:400 clamp(44px, 5.6vw, 96px)/.92 var(--display);letter-spacing:-.01em;margin:0}.lede{max-width:34ch;margin:12px 0 0;font-size:clamp(17px,1.35vw,21px)}.play{justify-self:end;justify-items:start;gap:clamp(10px,1.8dvh,18px);width:max-content;display:grid}h2{font:400 clamp(26px, 2.4vw, 38px)/1 var(--display);margin:0}.clue-bar{width:calc(var(--cell) * 7 + var(--gap) * 6);background:var(--deep);border-radius:999px;grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;display:grid}.clue{text-align:center;margin:0;padding:6px 4px;font-size:17px;line-height:1.3}.clue-num{color:var(--rust);margin-right:8px;font-weight:700}.clue.solved .clue-text{color:var(--pale)}.nav{cursor:pointer;width:44px;height:44px;transition:background-color .2s, transform .2s var(--ease);background:0 0;border:0;border-radius:999px;font-size:30px;line-height:1}.nav:hover{background:var(--forest)}.nav:active{transform:scale(.9)}.board{grid-template-columns:repeat(7, var(--cell));grid-template-rows:repeat(7, var(--cell));gap:var(--gap);display:grid;position:relative}.cell{z-index:1;border-radius:calc(var(--cell) * .16);background:var(--cream);color:var(--forest);font:700 calc(var(--cell) * .5)/1 var(--text);cursor:pointer;transition:background-color .2s, color .2s, transform .2s var(--ease);animation:rise .6s var(--ease) both;animation-delay:calc(var(--k) * 28ms + .5s);border:0;padding:0;position:relative}.cell .num{font-size:calc(var(--cell) * .2);color:var(--bark);font-weight:700;position:absolute;top:6%;left:9%}.cell .ch{display:inline-block}.cell .ch.pop{animation:pop .28s var(--ease)}.cell.word{background:var(--cream-2)}.cell.active{background:var(--pale)}.cell:hover{transform:translateY(-2px)}.cell.solved{color:var(--cream);background:0 0}.cell.solved .num{color:var(--cream)}.cell.solved.active{background:0 0}.cell.solved.active .ch{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:3px}.found{z-index:0;background:var(--rust);transform-origin:0;transition:transform .5s var(--ease);border-radius:999px;transform:scaleX(0)}.found.d{transform-origin:top;background:var(--bark);transform:scaleY(0)}.found.on{transform:none}.board.shake{animation:.45s shake}.clues{width:calc(var(--cell) * 7 + var(--gap) * 6);grid-template-columns:1fr 1fr;gap:24px;display:grid}.clues h3{font:700 15px/1.2 var(--text);color:var(--pale);margin:0 0 6px}.clues ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.clues li{cursor:pointer;border-radius:8px;padding:3px 8px;font-size:15px;line-height:1.3;transition:background-color .2s,color .2s}.clues li b{color:var(--rust);margin-right:6px}.clues li:hover,.clues li.current{background:var(--deep)}.clues li.done{color:var(--pale)}.kbd{display:none}.noscript{max-width:30ch}.fine{z-index:1;left:var(--pad);color:var(--pale);margin:0;font-size:13px;position:fixed;bottom:10px}.tree .pill,.tree .trunk,.tree .star{transform-box:fill-box;transform-origin:50%}.tree .pill{animation:grow-x .8s var(--ease) both;animation-delay:calc(var(--i) * 90ms + .15s)}.tree .trunk{transform-origin:bottom;animation:grow-y .6s var(--ease) both;animation-delay:60ms}.tree .wl{animation:.5s both fade;animation-delay:calc(var(--i) * 90ms + .45s)}.tree .ll{animation:1.2s both fade;animation-delay:var(--d);transition:opacity .6s}.tree .star{animation:star-in .9s var(--ease) both;animation-delay:1.05s}.tree.wave .pill{animation:wave .7s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}.tree.wave .star{animation:spin 1.2s var(--ease) both}.intro>*{animation:rise .8s var(--ease) both}.intro>:first-child{animation-delay:.25s}.intro>:nth-child(2){animation-delay:.34s}.play>h2,.clue-bar,.clues{animation:rise .8s var(--ease) both;animation-delay:.4s}.clues{animation-delay:.9s}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(22px)}}@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.18)}}@keyframes star-in{0%{transform:scale(0)rotate(-160deg)}}@keyframes spin{to{transform:rotate(360deg)scale(1)}50%{transform:rotate(180deg)scale(1.5)}}@keyframes wave{40%{transform:scale(1.1,1.25)}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@media (width<=820px),(aspect-ratio<=4/5){:root{--pad:16px;--cell:min(calc((100vw - 32px - 6 * 5px) / 7), 7.4dvh, 84px);--gap:5px}.stage{padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom));grid-template-rows:auto auto;grid-template-columns:1fr;align-content:safe center;justify-items:center;gap:clamp(12px,3dvh,40px)}.brand{width:calc(var(--cell) * 7 + var(--gap) * 6);grid-template-columns:auto 1fr;grid-template-areas:"tree text";align-items:center;gap:14px}.tree{grid-area:tree;width:clamp(76px,12dvh,150px);margin:0}.intro{grid-area:text;min-width:0}h1{white-space:nowrap;font-size:min(6.9vw,4.6dvh,52px)}.lede{margin-top:4px;font-size:clamp(14.5px,2dvh,18px);line-height:1.4}.play{justify-self:center;gap:10px}h2{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.clues{display:none}.clue-bar{min-height:50px}.clue{font-size:16px}.fine{display:none}}@media (height<=590px){.touch .lede{display:none}}.touch{--cell:min(calc((100vw - 32px - 6 * 5px) / 7), 5.9dvh, 64px)}.touch .stage{align-content:safe center}.touch .clue-bar{justify-self:center;width:min(100%,480px)}.touch .clues{display:none}.touch .play{justify-items:center;width:100%}.touch .brand{width:min(100%,480px)}.touch .kbd{width:min(100vw - 24px,520px);animation:rise .8s var(--ease) both;justify-self:center;gap:6px;animation-delay:.8s;display:grid}.touch .kbd .row{justify-content:center;gap:5px;display:flex}.touch .kbd button{background:var(--deep);touch-action:manipulation;border:0;border-radius:8px;flex:1 1 0;max-width:48px;height:clamp(34px,5.4dvh,50px);font-size:17px;font-weight:700;transition:background-color .15s,transform .15s}.touch .kbd button:active{background:var(--rust);transform:scale(.92)}.touch .kbd button.wide{flex-grow:1.6;max-width:72px;font-size:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
