@font-face{font-family:Lilita One;font-style:normal;font-weight:400;font-display:swap;src:url(./lilita-one-latin.d2575d4fa3.woff2) format("woff2")}:root{--paper:#f6ecd8;--paper-bottom:#f1e4c9;--cream:#fff9ee;--ink:#513515;--muted:#947951;--line:#dbc49d;--teal:#28665e;--display:"Lilita One","Arial Rounded MT Bold",system-ui,sans-serif;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light;background:var(--paper)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 40%,#fffdf4ad,transparent 65%),linear-gradient(var(--paper),var(--paper-bottom));min-width:300px}button,input{-webkit-tap-highlight-color:transparent;font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button:not(.tile):not(:disabled):active{translate:0 1px}[hidden]{display:none!important}.definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.hex-game{--game-width:540px;width:100vw;max-width:var(--game-width);margin-inline:max(0px,calc((100vw - var(--game-width))/2));min-height:640px;height:100svh;display:grid;grid-template-rows:auto minmax(290px,1fr) auto;padding:clamp(28px,5.2svh,46px) 22px max(18px,env(safe-area-inset-bottom));isolation:isolate}.game-header{--header-button:clamp(58px,15.2vw,82px);display:grid;grid-template-columns:var(--header-button) 1fr var(--header-button);align-items:start;gap:8px;padding-block:0 20px;border-bottom:1px solid var(--line)}.icon-button{display:grid;place-items:center;width:var(--header-button);height:var(--header-button);padding:clamp(9px,2.6vw,12px);border:1.5px solid #dfbf8b;border-radius:23%;background:linear-gradient(#fffdf6,#fbefd7);box-shadow:inset 0 2px 1px #fff,0 3px #cbb28a55,0 5px 10px #8f662212}.icon-button .icon{width:100%;height:100%;min-width:0;min-height:0}.level-status{text-align:center;min-width:0}.level-status .level-title{font:400 clamp(32px,8.3vw,44px)/1.05 var(--display);margin:0 0 8px}.level-status p{font-size:clamp(17px,4.5vw,24px);font-weight:650;line-height:1.2;margin:0;display:flex;justify-content:center;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.level-status strong{font:400 clamp(32px,8.2vw,43px)/1 var(--display);color:var(--teal)}.play-area{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;isolation:isolate}.board{position:relative;width:100%;aspect-ratio:1;max-width:460px;transform:translateY(0);--tile-radius:50px;--tile-size:100px}.platform,.tile{position:absolute;left:var(--x);top:var(--y);width:var(--tile-size);height:calc(var(--tile-size)*1.12);margin:0;translate:-50% -50%}.platform{pointer-events:none}.tile{padding:0;border:0;background:none;z-index:2;isolation:isolate;touch-action:manipulation;outline:none!important;clip-path:polygon(22% 5%,78% 5%,100% 45%,80% 90%,20% 90%,0 45%)}.tile-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 3px #70541c25)}.tile:focus-visible .tile-art{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 5px #28665e)}.tile:focus-visible{z-index:3}.tile:hover{z-index:3}.tile.leaving,.tile.blocked{z-index:5;pointer-events:none;clip-path:none}.tile.blocked .tile-art{filter:drop-shadow(0 0 5px #dc685a)}.tile-shadow{display:none;position:absolute;left:16%;top:74%;width:68%;height:15%;border-radius:50%;background:#503719;filter:blur(4px);pointer-events:none;z-index:-1}.tile.hopping .tile-shadow{display:block}.tile.hopping .tile-art{filter:none;transform-origin:50% 74%;will-change:transform}.tile-path{pointer-events:none}.tap-guide{position:absolute;left:var(--guide-x,50%);top:var(--guide-y,50%);z-index:7;pointer-events:none}.tap-ring{position:absolute;width:35px;height:35px;left:-17px;top:-17px;border:2px solid #fff9ed;border-radius:50%;box-shadow:0 0 0 2px #9c6d2638;animation:tap-ring 1.5s ease-out infinite}.guide-hand{position:absolute;width:calc(var(--tile-size)*.55);height:calc(var(--tile-size)*.65);left:calc(var(--tile-size)*-.27);top:calc(var(--tile-size)*-.078);filter:drop-shadow(2px 3px 2px #62451a35);transform-origin:49% 12%;animation:hand-tap 1.5s ease-in-out infinite}.game-bottom{position:relative;text-align:center;padding-top:5px;z-index:8}.teaching-copy{min-height:70px;display:flex;flex-direction:column;justify-content:center;gap:6px;margin-bottom:clamp(15px,3svh,28px)}.teaching-copy p{margin:0;line-height:1.4;text-wrap:balance}.teaching-copy p:first-child{font-weight:750;font-size:17px}.teaching-copy p:last-child{font-size:12px;color:var(--muted)}.teaching-copy.error p:first-child{color:#aa4c35}.game-tools{display:flex;align-items:stretch;justify-content:center;gap:clamp(15px,5vw,28px);padding:0 4px}.power-up{position:relative;width:clamp(92px,24vw,125px);min-height:clamp(116px,29vw,145px);padding:8px 6px 7px;border:1.5px solid #dfc493;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(#fffcf3,#f9ecd4);box-shadow:inset 0 2px #fff,0 3px #d2b78355,0 6px 13px #8b642417}.power-up .tool-art{width:clamp(66px,17.5vw,94px);height:clamp(66px,17.5vw,94px);filter:drop-shadow(0 3px 2px #75511f20);overflow:hidden}.power-up .tool-name{font-weight:750;font-size:clamp(13px,3.6vw,18px);line-height:1.25}.unlock-label{color:var(--muted);font-size:10px;line-height:1.5;font-weight:600}.lock-badge{position:absolute;right:-6px;top:-8px;background:#e7dac1;box-shadow:0 0 0 2px var(--paper);border:1px solid #cfb995;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#937b54}.lock-badge .icon{width:14px;height:14px;stroke-width:2}.tool-message{margin:12px 0 0;min-height:16px;font-size:11px;line-height:1.45;color:var(--muted)}dialog{background:var(--cream);color:var(--ink);width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid var(--line);border-radius:25px;padding:25px;box-shadow:0 24px 100px #5a3c2330}dialog::backdrop{background:#503d2455;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-heading h2{font:400 25px/1.2 var(--display);margin:0}.close-button{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;background:none;border-radius:12px;margin:-6px -8px -6px 0}.close-button .icon{width:20px;height:20px}.dialog-note{font-size:12px;line-height:1.65;color:var(--muted);text-align:center;margin:20px 0 0}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level-grid button{min-height:54px;aspect-ratio:1;border:1px solid var(--line);background:#f3e9d5;border-radius:13px;font-weight:700;display:grid;place-items:center}.level-grid button.current{background:var(--teal);color:var(--cream);border-color:var(--teal);font-size:20px}.level-grid button:disabled{color:#b5a17d}.level-grid .icon{width:19px;height:19px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;border-bottom:1px solid #e4d6bd;font-size:15px}.setting-row input{appearance:none;width:45px;height:27px;flex:none;border-radius:20px;background:#d8cbb5;position:relative;cursor:pointer}.setting-row input:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;background:#fffdf6;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .15s}.setting-row input:checked{background:var(--teal)}.setting-row input:checked:after{transform:translate(18px)}.primary-button{width:100%;min-height:50px;background:var(--teal);color:#fffaf0;border:1px solid #20584f;border-radius:14px;font-weight:700;font-size:15px;margin-top:23px;box-shadow:0 3px #18493f}.result-dialog{text-align:center;max-width:370px;padding:30px 25px 23px}.result-dialog h2{font:400 31px/1.15 var(--display);margin:10px 0 13px}.result-dialog>p:not(.eyebrow):not(.dialog-note){color:var(--muted);font-size:14px;line-height:1.65;margin:0}.eyebrow{font-size:12px;font-weight:700;color:var(--teal);margin:12px 0 0}.result-art{width:95px;height:105px;margin:auto}.result-art svg{width:100%;height:100%;filter:drop-shadow(0 6px 4px #71501e22)}@media(hover:hover){.tile:not(.hopping):not(:disabled):hover .tile-art{filter:brightness(1.06) drop-shadow(0 5px 4px #70541c32)}.icon-button:hover,.power-up:hover{background:#fffdf5}.primary-button:hover{background:#20584f}}@media(max-width:360px){.hex-game{padding-inline:15px}.game-header{grid-template-columns:46px 1fr 46px}.icon-button{width:46px;height:46px}.level-status .level-title{font-size:25px}.level-status p{font-size:12px}.teaching-copy p:first-child{font-size:15px}.power-up{width:82px}.game-tools{gap:18px}}@media(max-height:720px){.hex-game{padding-top:16px;min-height:580px;grid-template-rows:auto minmax(255px,1fr) auto}.game-header{padding-bottom:13px}.teaching-copy{min-height:57px;margin-bottom:15px}.game-tools .power-up{min-height:90px;padding-top:5px}.power-up .tool-art{height:42px}.tool-message{margin-top:10px}.level-status .level-title{font-size:27px}.level-status strong{font-size:26px}}@media(min-width:800px){.hex-game{--game-width:1184px;height:100dvh;min-height:560px;padding:28px 32px 20px;grid-template-rows:auto minmax(240px,1fr) auto}.game-header{--header-button:56px;align-items:center;padding-bottom:20px}.icon-button{padding:10px}.level-status .level-title{font-size:36px;margin-bottom:4px}.level-status p{font-size:20px;gap:6px}.level-status strong{font-size:30px}.board{max-width:720px;height:100%;aspect-ratio:auto;transform:translateY(2%)}.game-bottom{padding-top:0}.teaching-copy{min-height:48px;gap:4px;margin-bottom:16px}.teaching-copy p:first-child{font-size:16px}.teaching-copy p:last-child{font-size:12px}.game-tools{gap:20px}.power-up{width:96px;min-height:104px;padding:6px;border-radius:16px}.game-tools .power-up .tool-art{width:60px;height:60px}.power-up .tool-name{font-size:14px}.tool-feedback{min-height:24px}}@media(min-width:800px)and (max-height:720px){.hex-game{padding-top:20px}.game-header{--header-button:52px;padding-bottom:12px}.level-status .level-title{font-size:32px}.level-status strong{font-size:28px}.teaching-copy{min-height:40px;margin-bottom:12px}.game-tools .power-up .tool-art{width:56px;height:56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.tap-ring{opacity:.6}.guide-hand{transform:rotate(-10deg)}}@media(prefers-reduced-transparency:reduce){dialog::backdrop{backdrop-filter:none;background:#503d2488}}@keyframes hand-tap{0%,72%,to{transform:translate(7px,9px) rotate(-12deg)}32%,47%{transform:translate(0) rotate(-12deg) scale(.93)}}@keyframes tap-ring{0%,25%{transform:scale(.65);opacity:0}33%{opacity:.9}62%,to{transform:scale(1.3);opacity:0}}.level-complete{position:absolute;inset:0;display:grid;place-content:center;padding:20px;text-align:center;pointer-events:none;font:400 clamp(27px,7vw,40px)/1.25 var(--display);color:var(--ink);z-index:8;text-shadow:0 2px 0 #fff9ed}.tool-feedback{display:flex;align-items:center;justify-content:center;gap:8px;min-height:32px}.tool-feedback .tool-message{margin:8px 0 0;min-height:0}.text-button{min-height:32px;padding:4px 12px;background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:12px;color:var(--teal)}.level-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:13px;font-variant-numeric:tabular-nums}.level-pagination button{width:44px;height:44px;border:1px solid var(--line);background:#f7eddb;border-radius:12px;font-size:25px}.level-pagination button:disabled{opacity:.35}.level-grid button.complete{background:#e9eddf;color:var(--teal)}.power-up.selected{border-color:var(--teal);box-shadow:0 0 0 2px #28665e55,inset 0 2px #fff,0 3px #d2b78355}.tool-count{position:absolute;right:-6px;top:-8px;background:var(--teal);color:#fffaf0;border:1px solid #1e554d;box-shadow:0 0 0 2px var(--paper);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:750}.tool-guide{position:absolute;left:48%;top:35%;pointer-events:none;z-index:12}.tool-guide .guide-hand{width:55px;height:65px;left:-27px;top:-8px}.tile.tool-preview .tile-art{filter:brightness(1.14) drop-shadow(0 0 5px #e1ac25)}.tile.lesson-target .tile-art{filter:drop-shadow(0 0 6px #e1ac25)}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:20}.teaching-copy.finished{visibility:hidden}.hex-game[data-lesson=choose] .tile{opacity:.45}.hex-game[data-lesson=choose] .power-up:not(.teaching),.hex-game[data-lesson=target] .power-up:not(.selected){opacity:.45}.power-up.teaching{outline:3px solid #e2b74f;outline-offset:5px;animation:lesson-tool-pulse 1.5s ease-in-out infinite;z-index:2}.hex-game[data-lesson=target] .tile:not(.tool-preview){opacity:.35;filter:saturate(.6)}.tile.lesson-target .tile-art{animation:lesson-target-pulse 1.5s ease-in-out infinite}.tool-preview-cursor{position:absolute;left:var(--x);top:var(--y);width:calc(var(--tile-size)*.72);height:calc(var(--tile-size)*.72);translate:-25% -105%;pointer-events:none;z-index:9;filter:drop-shadow(0 4px 3px #50371940)}.tool-preview-cursor .tool-art{width:100%;height:100%}.tool-preview-cursor[data-tool=hammer]{rotate:-15deg}.tile.tool-hit{z-index:6;pointer-events:none;clip-path:none}.tile.tool-hit .tile-art{filter:none;transform-origin:50% 50%}.tool-effect{position:absolute;width:0;height:0;pointer-events:none;z-index:12}.tool-prop{position:absolute;display:block;width:calc(var(--effect-radius)*3);height:calc(var(--effect-radius)*3);left:calc(var(--effect-radius)*-1.89);top:calc(var(--effect-radius)*-1.26);transform-origin:25% 78%;filter:drop-shadow(0 6px 3px #593a2238);will-change:transform,opacity}.tool-prop .tool-art{display:block;width:100%;height:100%;overflow:hidden}.tool-effect-bomb .tool-prop{width:calc(var(--effect-radius)*2.3);height:calc(var(--effect-radius)*2.3);left:calc(var(--effect-radius)*-1.05);top:calc(var(--effect-radius)*-1.34);transform-origin:50% 65%}.tool-effect-rotate .tool-prop{width:calc(var(--effect-radius)*3.1);height:calc(var(--effect-radius)*3.1);left:calc(var(--effect-radius)*-1.55);top:calc(var(--effect-radius)*-1.55);transform-origin:50% 50%}.tool-impact-ring{position:absolute;display:block;left:0;top:0;border:3px solid;border-radius:50%;box-shadow:0 0 9px #ffe6a585;will-change:transform,opacity}.tool-spark{position:absolute;display:block;width:8px;height:8px;left:0;top:0;border-radius:2px;box-shadow:0 0 5px #fff7c9;will-change:transform,opacity}.tool-blast{position:absolute;display:block;width:calc(var(--effect-radius)*5.2);height:calc(var(--effect-radius)*5.2);left:0;top:0;border-radius:50%;background:radial-gradient(circle,#fffde3 0 12%,#fff2a7df 22%,#ffc15c99 43%,#ff9c2d00 68%);mix-blend-mode:screen}.tool-soft-halo{position:absolute;display:block;width:calc(var(--effect-radius)*2.5);height:calc(var(--effect-radius)*2.5);left:0;top:0;translate:-50% -50%;border:3px solid #eac675;border-radius:50%;background:#ffefc12a}@keyframes lesson-tool-pulse{0%,to{transform:translateY(0);outline-color:#e2b74f80}50%{transform:translateY(-3px);outline-color:#e2b74f}}@keyframes lesson-target-pulse{0%,to{filter:drop-shadow(0 0 5px #e1ac25)}50%{filter:brightness(1.12) drop-shadow(0 0 10px #e1ac25)}}@media(prefers-reduced-motion:reduce){.power-up.teaching,.tile.lesson-target .tile-art{animation:none}.power-up.teaching{outline-color:#d5a643}}html{overflow-x:clip}html:has(dialog:modal){overflow-y:hidden}dialog{overscroll-behavior:contain}body{background-color:var(--paper-bottom);background-size:100vw max(640px,100svh);background-repeat:no-repeat}@media(max-height:720px){body{background-size:100vw max(580px,100svh)}}@media(min-width:800px){body{background-size:100vw max(560px,100dvh)}}.hex-info{max-width:900px;margin-inline:auto;padding:56px 40px 72px;background:var(--cream);border-radius:24px 24px 0 0;color:#6c5438;font-size:16px;line-height:1.8}.hex-info h1,.hex-info h2{color:var(--ink);font-family:var(--display);font-weight:400;text-wrap:balance}.hex-info h1{margin:0 0 18px;font-size:36px;line-height:1.15}.hex-info h2{margin:0 0 18px;font-size:25px;line-height:1.3}.hex-info p{margin:0 0 16px}.hex-info p:last-child{margin-bottom:0}.hex-info section{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}.hex-info ol,.hex-info ul{margin:0;padding-inline-start:24px}.hex-info li{padding-inline-start:4px;margin-bottom:12px}.hex-info li:last-child{margin-bottom:0}.hex-info a{color:var(--teal);text-underline-offset:3px;text-decoration-thickness:1px}.hex-info a:hover{text-decoration-thickness:2px}.hex-info a:focus-visible,.hex-info summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px;border-radius:3px}.hex-info table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:15px;line-height:1.6}.hex-info th,.hex-info td{padding:13px 12px;text-align:start;vertical-align:top;border-bottom:1px solid var(--line)}.hex-info thead{background:var(--paper)}.hex-info th{color:var(--ink);font-weight:650}.hex-info thead th:first-child{width:21%;white-space:nowrap}.hex-info thead th:nth-child(2){width:20%}.hex-info>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:32px;align-items:center}.hex-cover{margin:0}.hex-cover img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:20px}.hex-cover figcaption{margin-top:10px;text-align:center;font-size:13px;line-height:1.6}@media(max-width:760px){.hex-info>header{grid-template-columns:1fr;gap:24px}.hex-cover{width:min(100%,320px);margin-inline:auto}}.hex-tool-image{display:block;width:64px;height:64px;object-fit:contain;margin-bottom:6px}.hex-gameplay{max-width:640px;margin:24px auto 0}.hex-gameplay img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:16px}.hex-gameplay figcaption{margin-top:12px;font-size:14px;line-height:1.6;text-align:center}.hex-faq details{border-bottom:1px solid var(--line)}.hex-faq summary{min-height:52px;padding:15px 0;color:var(--ink);font-weight:650;line-height:1.5;cursor:pointer}.hex-faq summary::marker{color:var(--teal)}.hex-faq details>p{padding:0 0 18px}.hex-footer{max-width:900px;margin-inline:auto;padding:16px 22px 28px;border-top:1px solid var(--line)}.hex-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 24px}.hex-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-size:14px;text-decoration:none;text-underline-offset:3px}.hex-footer a:hover{text-decoration:underline}.hex-footer a:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:3px}@media(max-width:600px){.hex-info{padding:38px 22px 48px;border-radius:20px 20px 0 0}.hex-info h1{font-size:30px}.hex-info h2{font-size:23px}.hex-info section{margin-top:26px;padding-top:26px}.hex-info th,.hex-info td{padding:12px 8px}}
