@font-face{font-family:"Baloo 2";src:url(../content/ui/Baloo2.ttf) format("truetype");font-weight:400 800;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;position:fixed;width:100%}body{background:#ffd23f;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;transition:background .45s ease;font-family:ui-rounded,-apple-system,system-ui,sans-serif}#categories{position:absolute;top:calc(env(safe-area-inset-top) + 6px);left:0;right:0;z-index:10;display:flex;justify-content:center;gap:4px;padding:0 6px;flex-wrap:wrap}#categories[hidden]{display:none}#categories:not([hidden]){animation:barDrop .22s ease-out both}@keyframes barDrop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}#gate{position:absolute;top:env(safe-area-inset-top);left:env(safe-area-inset-left);width:72px;height:72px;z-index:9;touch-action:none}#gate:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(58,46,57,.55);border-radius:50%;opacity:0;transform:scale(.2);transition:transform 2s linear,opacity .2s ease}#gate.holding:after{opacity:1;transform:scale(1)}#categories .cat{font-family:"Baloo 2",ui-rounded,-apple-system,system-ui,sans-serif;font-weight:700;font-size:12px;color:#3a2e39;background:#ffffffa6;border:none;border-radius:999px;padding:4px 8px;display:flex;align-items:center;gap:3px;touch-action:none}#categories .cat.active{background:#3a2e39;color:#fff}#categories .cat span{font-size:14px}#categories .lang{background:#7b5ea7;color:#fff;min-width:36px;justify-content:center}#stage{position:absolute;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4vh;will-change:transform}.card img{width:min(65vw,55vh);height:auto;pointer-events:none}.card .glyph{font-family:"Baloo 2",ui-rounded,-apple-system,system-ui,sans-serif;font-weight:800;font-size:clamp(9rem,45vw,17rem);line-height:1;color:#3a2e39;pointer-events:none}.card .word{font-family:"Baloo 2",ui-rounded,-apple-system,system-ui,sans-serif;font-weight:700;font-size:clamp(2.6rem,12vw,4.5rem);color:#3a2e39;letter-spacing:.02em;pointer-events:none;max-width:92vw;text-align:center;line-height:1.1}.card .word.long{font-size:clamp(1.8rem,7.5vw,3rem)}.card.entering{transition:transform .55s cubic-bezier(.18,1.4,.4,1)}.card.entering.enter-pop{transition-duration:.45s;transition-timing-function:cubic-bezier(.2,1.6,.35,1)}.card.entering.enter-spin{transition-duration:.6s;transition-timing-function:cubic-bezier(.18,1.3,.4,1)}.card.exiting{transition:transform .4s cubic-bezier(.5,0,.9,.6)}.card.snapback{transition:transform .3s cubic-bezier(.18,1.4,.4,1)}.card.idle img{animation:breathe 2s ease-in-out infinite,wobble 6s ease-in-out infinite}@keyframes breathe{0%,to{scale:1}50%{scale:1.03}}@keyframes wobble{0%,88%,to{rotate:0deg}91%{rotate:2.5deg}94%{rotate:-2.5deg}97%{rotate:1.2deg}}.card img.tapped,.card .glyph.tapped{animation:tapBounce .35s ease-out}@keyframes tapBounce{0%{transform:scale(1)}30%{transform:scaleX(1.15) scaleY(.85)}60%{transform:scaleX(.94) scaleY(1.08)}to{transform:scale(1)}}.card .word.word-split span{display:inline-block;animation:letterIn .25s ease-out both}.card .word.word-whole{animation:letterIn .25s ease-out both}@keyframes letterIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}body.winddown{filter:saturate(.75) brightness(.92)}body.winddown .card.entering{transition-duration:.9s}body.winddown .card.idle img{animation-duration:3.5s,9s}body.night{background:linear-gradient(#1c2541,#3a506b);filter:none}#end{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}#end.visible{opacity:1}.moon{position:absolute;top:18%;right:20%;width:90px;height:90px;border-radius:50%;background:#fff3c4;box-shadow:0 0 40px #fff3c480}.stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 15% 25%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 35% 60%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 55% 20%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 70% 45%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 85% 70%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 25% 80%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 60% 85%,#fff 50%,transparent 51%)}.hint{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 28px);width:100%;text-align:center;color:#ffffff73;font-size:15px;transition:color .3s ease}.moon{transition:transform 3s linear,box-shadow 3s linear}#end.holding .moon{transform:scale(1.6);box-shadow:0 0 90px #fff3c4e6}#end.holding .hint{color:#ffffffe6}html.land-primary body,html.land-secondary body{width:100vh;height:100vw;transform-origin:top left}html.land-primary body{transform:translateY(100vh) rotate(-90deg)}html.land-secondary body{transform:translate(100vw) rotate(90deg)}@media(orientation:landscape){html:not(.land-primary):not(.land-secondary) body{width:100vh;height:100vw;transform-origin:top left;transform:translateY(100vh) rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.card.entering,.card.entering.enter-pop,.card.entering.enter-spin,.card.exiting,.card.snapback{transition:opacity .3s ease}.card.idle img,.card img.tapped,.card .glyph.tapped,.card .word.word-split span,.card .word.word-whole{animation:none}}
