@font-face{font-family:Fredoka;src:url(../fonts/fredoka-normal-400-700.woff2) format("woff2");font-weight:400 700;font-style:normal;font-stretch:normal;font-display:block;unicode-range:U+0020-024F,U+2019}@font-face{font-family:NanumSquareRound;src:url(../fonts/nanum-square-round-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:NanumSquareRound;src:url(../fonts/nanum-square-round-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Jua;src:url(../fonts/jua-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}.game.danu-frame{--font-ui:Fredoka,NanumSquareRound,sans-serif;--font-display:Fredoka,Jua,sans-serif;--text-caption:22px;--text-body:24px;--text-button:28px;--text-hud:30px;--text-heading:36px;--text-title:44px;font-family:var(--font-ui);font-size:var(--text-body);font-synthesis:none;font-stretch:normal}.game[data-device=tablet]{--text-caption:24px;--text-body:28px;--text-button:32px;--text-hud:34px;--text-heading:44px;--text-title:52px}.game *{font-synthesis:none;font-style:normal;font-stretch:normal;letter-spacing:normal}.game button,.game input,.game select{font-family:var(--font-ui);font-weight:700;font-size:var(--text-button);line-height:1.1}.game .danu-button,.game .renderer-options button,.game .angle-options button{font-size:var(--text-button)!important;min-height:60px;height:auto!important;--control-h:60px;white-space:normal}.game.danu-frame .danu-label,.game.danu-frame .local-label{font-size:var(--text-button);font-weight:700;white-space:normal;line-height:1.1}.game .danu-label{overflow-wrap:normal}.game .danu-button-content{gap:6px}.game .danu-button,.game .danu-local-asset{transform:none!important}.game .danu-button.danu-pressed,.game .danu-button:not(:disabled):active,.game .danu-local-asset.danu-pressed{transform:translateY(3px)!important}.game .danu-round,.game .danu-timer{font:700 var(--text-hud)/1.1 Fredoka,sans-serif;width:118px;max-width:none;min-width:0;height:60px;--control-h:60px}.game .danu-round{right:142px}.game .danu-timer{right:14px}.game .danu-menu-entry{left:14px;width:100px;min-height:60px;height:60px!important;padding:4px}.game .danu-menu-entry .danu-icon{width:22px;height:22px}.game .danu-menu-entry .danu-label{font-size:var(--text-button)}.game .danu-countdown{font:700 72px/1 Fredoka,sans-serif}.game .danu-countdown.go{font-family:var(--font-display);font-weight:400;font-size:48px}.game .intro h1,.game .danu-title-zone,.game .danu-panel h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-heading);line-height:1.1}.game .intro h1{font-size:var(--text-title)}.game .intro p{font-size:var(--text-body);line-height:1.3}.game .intro .mini{font-size:var(--text-caption);line-height:1.25;opacity:1}.game .intro button{width:240px;min-height:72px}.game .danu-title-art{display:none}.game .danu-title-zone{height:auto;min-height:60px}.game .danu-title-zone>.danu-sr-only{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:normal!important}.game .danu-panel-scroll{width:min(560px,100%);max-width:none;max-height:100%;overflow:auto}.game .danu-panel{padding:28px 22px 24px}.game .danu-panel p,.game .danu-display,.game .danu-audio-header,.game [data-shell=game-slot]{font-family:var(--font-ui);font-size:var(--text-body);font-weight:400;line-height:1.3}.game .danu-panel .danu-result-info{font-size:var(--text-body)}.game .danu-product-version{font:400 14px/1.4 var(--font-ui)}.game .danu-global-ui{width:min(560px,calc(100vw - 24px));transform:translate(-50%,-50%);font-family:var(--font-ui);font-size:var(--text-body)}.game .danu-global-ui .danu-panel-scroll{max-height:calc(100dvh - 24px)}.game .danu-global-ui .danu-panel{padding:28px 22px 24px}.game .danu-global-ui .danu-panel h2{font-size:var(--text-heading)}.game .danu-global-ui .danu-display{font-size:var(--text-body);gap:16px 12px}.game .danu-global-ui .danu-audio-header{font-size:var(--text-body);height:60px}.game .danu-global-ui [data-shell=game-slot]{font-size:var(--text-body);gap:18px}.game .danu-global-ui .danu-value-badge,.game .danu-value-badge{font:700 var(--text-caption)/1 Fredoka,sans-serif;width:88px;min-height:44px}.game .renderer-options,.game .angle-options{gap:12px}.game .angle-options button{flex:1}.game .round-picker{font-size:var(--text-button);min-height:56px}.game .renderer-options p,.game .angle-options p{font-size:var(--text-body);line-height:1.3}.game .danu-global-ui .danu-button:after,.game .danu-global-ui .danu-toggle:after{width:100%;height:100%}.game .danu-global-ui input[type=range]{height:48px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:#52351f;background:#be8e60;touch-action:manipulation;overscroll-behavior:none}button{font:inherit}button:focus-visible{outline:3px solid #247baf;outline-offset:3px}#app{display:grid;place-items:center;background:#bb8c59 url(./table-wood-DkihB_Bn.webp) center/cover no-repeat}.game{position:relative;overflow:hidden}.world{position:absolute;inset:0}.play-layout{position:absolute;inset:88px 26px 22px;display:grid;grid-template-columns:var(--slot) 412px;grid-template-rows:minmax(0,1fr);align-items:center;justify-content:center;gap:28px}.board-slot{width:var(--slot);height:calc(var(--slot) + 32px);padding-bottom:32px;display:grid;place-items:center;flex:none}.board{position:relative;width:var(--board);height:var(--board);touch-action:none;-webkit-user-select:none;user-select:none;isolation:isolate;border-radius:4%;background:transparent url(./tray-walnut-DOwiPcYP.webp) center/100% 100% no-repeat}.board:before{content:"";position:absolute;inset:-12px;background:inherit;border-radius:4%;box-shadow:0 var(--frame-depth,12px) 8px #28160880;z-index:-1;pointer-events:none}.board:after{content:none}.tile{position:absolute;padding:0;border:0;display:grid;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none;background:none;z-index:2;transition:left .17s cubic-bezier(.333333,0,.666667,1),top .17s cubic-bezier(.333333,0,.666667,1)}.tile-face{position:absolute;inset:0;background:transparent var(--r2-block-image,none) center/100% 100% no-repeat;pointer-events:none;filter:drop-shadow(0 calc(var(--tile-depth,4px) + 2px) 2px #24180d65)}.tile-face:before{content:none}.board[data-renderer=C] .tile-face{filter:drop-shadow(0 calc(var(--tile-depth,4px) + 3px) 3px #21140b80)}.tile-number{position:relative;font:700 var(--numeral)/1 Fredoka,sans-serif;color:#fff;visibility:visible;pointer-events:none;transform:translateY(-2%);text-shadow:0 1px 0 #9c917d,0 2px 2px #302313b0,0 0 3px #30231380;font-variant-numeric:lining-nums}.tile.hinted .tile-face{outline:3px solid #26bba9;outline-offset:-3px}.tile.hinted:after{content:attr(data-arrow);position:absolute;right:0;bottom:-4px;font:700 22px/1 NanumSquareRound,sans-serif;color:#087367;text-shadow:0 1px #fff;pointer-events:none}.tile.nudge{animation:nudge .16s}.tile.entering{animation:drop .56s linear both paused;animation-delay:var(--delay)}.tile.entering:before{content:"";position:absolute;inset:0;background:#25170955;border-radius:20%;box-shadow:0 0 10px #25170955;pointer-events:none;z-index:-1;animation:contact-shadow .56s linear both paused;animation-delay:var(--delay)}@keyframes drop{0%{transform:translateY(-160px) scale(.95);opacity:0;animation-timing-function:cubic-bezier(.55,.02,.88,.45)}12%{opacity:1}60.714%{transform:translateY(3px) scale(1.02);opacity:1;animation-timing-function:ease-out}76%{transform:translateY(-11px) scale(1.005);animation-timing-function:ease-in}90%{transform:translateY(1px) scale(1.005)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes contact-shadow{0%{opacity:.15;transform:translateY(160px) scale(1.15)}60.714%{opacity:.9;transform:translateY(0) scaleY(.9)}76%{opacity:.35;transform:translateY(11px) scale(1.05)}to{opacity:.5;transform:translateY(0) scale(1)}}@keyframes nudge{40%{transform:translateY(2px) scale(.97)}}.side{display:grid;grid-template-columns:184px 216px;gap:12px;align-items:center;width:412px}.goal-wrap{display:contents}.goal-copy{grid-column:2;grid-row:1}.goal-label{font-size:var(--text-caption);font-weight:700;margin:0 0 8px;line-height:1.25}.instruction{font-size:var(--text-body);line-height:1.3;text-align:left;margin:0}.goal{grid-column:1;grid-row:1/span 4;width:min(184px,calc(var(--size)*28px + 12px + (var(--size) - 1)*2px));height:auto;aspect-ratio:1;display:grid;gap:2px;padding:6px;border-radius:10px;background:transparent url(./tray-walnut-DOwiPcYP.webp) center/100% 100%;box-shadow:inset 0 2px 4px #452b1840}.goal span{display:grid;place-items:center;background:transparent var(--r2-block-image,none) center/100% 100% no-repeat;color:#fff;font:700 var(--text-caption)/1 Fredoka,sans-serif;text-shadow:0 1px 1px #251709;font-variant-numeric:lining-nums}.goal .blank{background:#3b281a25}.controls{grid-column:2;grid-row:2;display:flex;gap:10px;justify-content:center}.controls button{width:104px;height:64px;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.game .controls .local-icon{display:none}.game .controls .local-label{color:#52351f;text-shadow:0 1px #fff;background:#fff4d4eb;border-radius:10px;padding:5px 8px;pointer-events:none}.moves{grid-column:2;grid-row:3;font-size:var(--text-hud);font-weight:700;line-height:1.1;text-align:center}.hint-copy{grid-column:2;grid-row:4;min-height:56px;font-size:var(--text-caption);line-height:1.25;text-align:center;color:#075e54;overflow-wrap:anywhere}.intro{position:absolute;z-index:40;inset:0;background:#e0bb84f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center}.intro h1,.intro p{margin:0}.intro p{max-width:460px}.intro[hidden]{display:none}.round-picker{width:100%;padding:8px;border-radius:8px;border:1px solid #abc}.renderer-options{display:grid}.angle-options{display:flex;flex-wrap:wrap}.angle-options p{flex-basis:100%}@media(orientation:portrait){.play-layout{inset:90px 26px 22px;grid-template-columns:var(--slot);grid-template-rows:184px calc(var(--slot) + 32px) 64px 40px 56px;gap:8px;align-content:center;align-items:center}.board-slot{grid-column:1;grid-row:2}.side{display:contents}.goal-wrap{display:flex;grid-column:1;grid-row:1;justify-content:center;align-items:center;gap:12px;width:calc(100vw - 52px);max-width:440px;justify-self:center}.goal-copy{width:148px;flex:none}.goal{flex:none}.controls{grid-column:1;grid-row:3}.moves{grid-column:1;grid-row:4}.hint-copy{grid-column:1;grid-row:5;width:calc(100vw - 52px);max-width:440px;justify-self:center}.game[data-device=tablet] .goal-wrap{gap:20px}.game[data-device=tablet] .goal-copy{width:190px}}.game[data-device=tablet] .goal{width:min(208px,calc(var(--size)*32px + 12px + (var(--size) - 1)*2px));height:auto}.game[data-device=tablet] .side{grid-template-columns:208px 256px;width:476px}.game[data-device=tablet] .play-layout{grid-template-columns:var(--slot) 476px}@media(orientation:portrait){.game[data-device=tablet] .play-layout{grid-template-columns:var(--slot);grid-template-rows:208px calc(var(--slot) + 32px) 72px 44px 64px;gap:14px}.game[data-device=tablet] .controls button{width:132px;height:72px}}@media(orientation:portrait)and (max-height:780px){.world{overflow-y:auto}.play-layout{align-content:start;min-height:680px}}@media(prefers-reduced-motion:reduce){.tile{transition-duration:1ms}.tile.entering{animation-name:drop-reduced}.tile.entering:before{animation-name:none}.tile.nudge{animation:none}}@keyframes drop-reduced{0%{opacity:0;transform:translateY(-4px)}60.714%,to{opacity:1;transform:none}}.game[data-stack=true] .world{overflow-y:auto}.game[data-stack=true] .play-layout{inset:90px 26px 22px;grid-template-columns:var(--slot);grid-template-rows:184px calc(var(--slot) + 32px) 64px 40px 56px;gap:8px;align-content:center;min-height:calc(var(--slot) + 408px)}.game[data-stack=true] .board-slot{grid-column:1;grid-row:2}.game[data-stack=true] .side{display:contents}.game[data-stack=true] .goal-wrap{display:flex;grid-column:1;grid-row:1;justify-content:center;align-items:center;gap:12px;width:calc(100% + 8px);max-width:440px;justify-self:center}.game[data-stack=true] .goal-copy{width:148px;flex:none}.game[data-stack=true] .controls{grid-column:1;grid-row:3}.game[data-stack=true] .moves{grid-column:1;grid-row:4}.game[data-stack=true] .hint-copy{grid-column:1;grid-row:5;width:100%;max-width:440px;justify-self:center}.game[data-device=tablet][data-stack=true] .play-layout{grid-template-columns:var(--slot);grid-template-rows:208px calc(var(--slot) + 32px) 72px 44px 64px;gap:14px;min-height:calc(var(--slot) + 476px)}.game[data-device=tablet][data-stack=true] .goal-wrap{gap:20px}.game[data-device=tablet][data-stack=true] .goal-copy{width:190px}.live-tile-canvas{position:absolute;left:-12px;top:-172px;pointer-events:none;z-index:1;display:block}.board[data-tile-renderer=hybrid-live-3d] .tile-face{background-image:none;filter:none;border-radius:10%;box-shadow:0 calc(var(--tile-depth,4px) + 1px) 5px #24180d45}.board[data-tile-renderer=hybrid-live-3d][data-renderer=C] .tile-face{filter:none;box-shadow:0 calc(var(--tile-depth,4px) + 2px) 6px #21140b55}.live-render-error{position:absolute;inset:0;z-index:10;margin:0;padding:20px;display:grid;place-items:center;font:700 var(--text-body)/1.3 var(--font-ui);color:#52351f;background:#fff4dc;pointer-events:auto}
