@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/quack-doku/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(/quack-doku/assets/fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/quack-doku/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/quack-doku/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}:root{--font:"Fredoka", ui-rounded, "SF Pro Rounded", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--bg-top:#e6f6fd;--bg-bottom:#c4e9fb;--ink:#23384a;--ink-soft:#587083;--card:#ffffffd1;--card-solid:#fff;--btn:#fff;--btn-shadow:#b9d7e8;--primary:#2f9ad6;--primary-2:#1d79ae;--accent:#fc3;--accent-2:#e9a400;--on-accent:#5a3a00;--danger:#e8506e;--danger-2:#b8344f;--x:#4a6072;--ax:#4a607252;--hint:#e8506e;--dim:#ffffff8c;--shadow:0 10px 30px #205f8c2e;--scrim:#0f233761;--bubble:#ffffff80;--r0:#f8b4cd;--r1:#f7a792;--r2:#fbd3a5;--r3:#d0ef9d;--r4:#a0e3be;--r5:#96dce4;--r6:#9bc1f1;--r7:#cbbdf9;--r8:#cf9ed1;--r9:#d2d8df;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-top:#0f2130;--bg-bottom:#17354d;--ink:#e8f3fb;--ink-soft:#a6bccb;--card:#183044db;--card-solid:#1b374e;--btn:#24455f;--btn-shadow:#0d1d2a;--primary:#3aa7e4;--primary-2:#1e6f9e;--x:#eaf3fa;--ax:#eaf3fa57;--dim:#050f1980;--shadow:0 10px 30px #00000059;--scrim:#00000080;--bubble:#ffffff0f;--r0:#b97992;--r1:#b76c59;--r2:#bd976b;--r3:#95b162;--r4:#64a683;--r5:#5b9fa7;--r6:#6285b3;--r7:#9082bb;--r8:#926495;--r9:#969ca3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg-top:#0f2130;--bg-bottom:#17354d;--ink:#e8f3fb;--ink-soft:#a6bccb;--card:#183044db;--card-solid:#1b374e;--btn:#24455f;--btn-shadow:#0d1d2a;--primary:#3aa7e4;--primary-2:#1e6f9e;--x:#eaf3fa;--ax:#eaf3fa57;--dim:#050f1980;--shadow:0 10px 30px #00000059;--scrim:#00000080;--bubble:#ffffff0f;--r0:#b97992;--r1:#b76c59;--r2:#bd976b;--r3:#95b162;--r4:#64a683;--r5:#5b9fa7;--r6:#6285b3;--r7:#9082bb;--r8:#926495;--r9:#969ca3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background-color:var(--bg-bottom);background-image:radial-gradient(circle at 12% 18%, var(--bubble) 0 22px, transparent 23px), radial-gradient(circle at 86% 12%, var(--bubble) 0 14px, transparent 15px), radial-gradient(circle at 78% 72%, var(--bubble) 0 30px, transparent 31px), radial-gradient(circle at 8% 84%, var(--bubble) 0 12px, transparent 13px), linear-gradient(var(--bg-top), var(--bg-bottom));-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background-attachment:fixed}:lang(zh-TW){--font:"Fredoka", ui-rounded, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#app{max-width:640px;min-height:100dvh;padding:var(--safe-t) calc(12px + var(--safe-r)) var(--safe-b) calc(12px + var(--safe-l));flex-direction:column;margin:0 auto;display:flex}#topbar{flex:none;align-items:center;gap:8px;height:56px;display:flex}.title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:clamp(16px,4.6vw,19px);font-weight:600;overflow:hidden}.timer{font-variant-numeric:tabular-nums;background:var(--card);border-radius:999px;padding:4px 12px;font-size:16px;font-weight:600}.corner{gap:6px;margin-left:auto;display:flex}.icon-btn{background:var(--card);cursor:pointer;width:40px;height:40px;box-shadow:0 2px 0 var(--btn-shadow);touch-action:manipulation;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn .icon{width:22px;height:22px}.lang-btn{background:var(--card);min-width:40px;height:40px;box-shadow:0 2px 0 var(--btn-shadow);cursor:pointer;border-radius:999px;place-items:center;padding:0 10px;font-weight:600;display:grid;position:relative}body[data-view=level] #topbar .lang-btn,body[data-view=daily] #topbar .lang-btn{display:none}.lang-row select{border:2px solid var(--btn-shadow);background:var(--bg-top);border-radius:12px;min-height:40px;padding:6px 12px;font-weight:600}.lang-btn select{opacity:0;cursor:pointer;position:absolute;inset:0}.icon{flex:none;width:20px;height:20px}.btn{background:var(--btn);min-height:44px;color:var(--ink);box-shadow:0 3px 0 var(--btn-shadow);cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:16px;font-weight:600;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--btn-shadow);transform:translateY(2px)}.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible,.icon-btn:focus-visible,.lvl:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 3px 0 var(--primary-2)}.btn-primary:active{box-shadow:0 1px 0 var(--primary-2)}.btn-accent{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-2)}.btn-accent:active{box-shadow:0 1px 0 var(--accent-2)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 3px 0 var(--danger-2)}.btn-big{min-height:54px;padding:12px 26px;font-size:19px}.btn-small{min-height:38px;padding:6px 14px;font-size:15px}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.small{color:var(--ink-soft);font-size:14px}.card{background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:22px;padding:16px 18px}#view{flex-direction:column;flex:1;align-items:stretch;padding-bottom:16px;display:flex}.home{flex-direction:column;align-items:center;gap:18px;padding-top:4px;display:flex}.hero{text-align:center}.hero-duck{width:132px;height:120px;margin:0 auto;position:relative}.hero-duck .duck{transform-origin:50% 85%;width:100%;height:112px;animation:3s ease-in-out infinite float;position:absolute;inset:0 0 8px}.hero-water{background:radial-gradient(at 50% 0,#ffffffd9,#8fd3f48c 55%,#0000 72%);border-radius:50%;height:26px;position:absolute;bottom:0;left:-30px;right:-30px}.logo{letter-spacing:.5px;color:#ffd23f;-webkit-text-stroke:2px #e48d0b;paint-order:stroke fill;text-shadow:0 4px #e48d0b59;margin:4px 0 0;font-size:46px;font-weight:600}.tagline{color:var(--ink-soft);margin:2px 0 0;font-size:17px}.daily-card{width:100%;max-width:440px}.daily-head{align-items:center;gap:12px;display:flex}.daily-head>.icon{width:30px;height:30px;color:var(--primary)}.daily-titles{flex:1}.daily-titles h2{margin:0;font-size:21px}.daily-titles p{margin:0}.streak{color:var(--ink-soft);background:var(--btn);border-radius:999px;align-items:center;gap:4px;padding:4px 10px 4px 8px;font-size:18px;font-weight:600;display:flex}.streak.on{color:#e86a10}.streak.on .icon{fill:#ffb347}.daily-body{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:12px;display:flex}.daily-body p{margin:0}.daily-done{font-size:19px;font-weight:600}.small-row{margin-top:4px}.home-actions{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:440px;display:flex}.home-actions>.btn-big{width:100%}.home-actions .row{flex-wrap:nowrap;width:100%}.home-actions .row .btn{flex:1}.all-done{font-size:19px;font-weight:600}.levels{flex-direction:column;gap:18px;display:flex}.level-group h2{color:var(--ink-soft);margin:6px 4px 10px;font-size:17px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px;display:grid}.lvl{aspect-ratio:1;background:var(--btn);box-shadow:0 3px 0 var(--btn-shadow);cursor:pointer;touch-action:manipulation;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:19px;font-weight:600;display:flex;position:relative}.lvl.solved{background:var(--r4);color:#183a2a}.lvl.open{outline:2px solid var(--accent);outline-offset:-2px}.lvl.next{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-2);animation:2.4s ease-in-out infinite nudge}.lvl.locked{opacity:.5;cursor:default}.lvl .lock{width:14px;height:14px}.stars{letter-spacing:1px;font-size:10px;line-height:1}.star{color:#0000002e}.star.on{color:#f5a000}.stars.big{letter-spacing:6px;margin:4px 0 8px;font-size:34px}.past .note{text-align:center}.past-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.past-item{background:var(--card);width:100%;box-shadow:0 2px 0 var(--btn-shadow);text-align:left;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;padding:12px 16px;display:flex}.past-num{min-width:44px;font-weight:600}.past-date{color:var(--ink-soft);flex:1}.past-item.solved .past-res{color:#2a8a5a;font-weight:600}.game{--bs:min(calc(100vw - 24px - var(--safe-l) - var(--safe-r)), 560px, calc(100dvh - 230px - var(--safe-t) - var(--safe-b)));flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.board-wrap{width:var(--bs);height:var(--bs);flex:none;min-width:240px;min-height:240px;position:relative}.board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--cell:calc(100cqw / var(--n));--gap:clamp(2px, calc(var(--cell) * .09), 6px);outline:none;position:relative;container-type:size}.board-wrap>.board{position:absolute;inset:0}.board.example{width:170px;height:170px;margin:4px auto 14px}.cells{grid-template-columns:repeat(var(--n), 1fr);grid-template-rows:repeat(var(--n), 1fr);gap:var(--gap);padding:calc(var(--gap) / 2);width:100%;height:100%;display:grid}.brow{display:contents}.cell{background-color:var(--c);border-radius:calc(var(--cell) * .16);position:relative}.cell:before,.cell:after{border-radius:inherit}.cell .mark{pointer-events:none;position:absolute;inset:31%}.cell.x .mark:before,.cell.x .mark:after,.cell.ax .mark:before,.cell.ax .mark:after,.cell.hl-elim:not(.x):not(.ax) .mark:before,.cell.hl-elim:not(.x):not(.ax) .mark:after{content:"";background:var(--x);border-radius:99px;width:max(2.5px,15%);height:108%;position:absolute;top:-4%;left:50%;transform:translate(-50%)rotate(45deg)}.cell.x .mark:after,.cell.ax .mark:after,.cell.hl-elim:not(.x):not(.ax) .mark:after{transform:translate(-50%)rotate(-45deg)}.cell.x .mark{animation:90ms ease-out xin}.cell.ax .mark{inset:36%}.cell.ax .mark:before,.cell.ax .mark:after{background:var(--ax)}.cell>svg.duck{pointer-events:none;transform-origin:50% 88%;width:94%;height:94%;position:absolute;top:1%;left:3%;overflow:visible}.cell.pop>svg.duck:not(.ghost){animation:.38s cubic-bezier(.34,1.56,.64,1) pop}.cell.won>svg.duck{animation:bob .9s ease-in-out var(--delay,0s) 2}.cell.clash{box-shadow:inset 0 0 0 3px var(--danger)}.cell.clash>svg.duck{animation:.45s ease-in-out shake}.cell.crowd:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#e8506e3d 0 4px,#0000 4px 9px);position:absolute;inset:0}.board.dim .cell:not(.hl-focus):not(.hl-elim):not(.hl-place):not(.hl-wrong):before{content:"";background:var(--dim);pointer-events:none;position:absolute;inset:0}.cell.hl-elim:not(.x):not(.ax) .mark:before,.cell.hl-elim:not(.x):not(.ax) .mark:after{background:var(--hint);opacity:.75}.cell.hl-elim:not(.x):not(.ax) .mark{animation:1.1s ease-in-out infinite pulse}.cell>svg.ghost{opacity:.5;animation:1.2s ease-in-out infinite ghost}.cell.hl-place{box-shadow:inset 0 0 0 3px var(--primary)}.cell.hl-assume:after{content:"";border:3px dashed var(--hint);pointer-events:none;border-radius:50%;position:absolute;inset:6%}.cell.hl-chain:before{content:attr(data-k);z-index:1;background:var(--primary);color:#fff;min-width:1.5em;font-weight:600;font-size:max(10px, calc(100cqw / var(--n) * .28));text-align:center;border-radius:99px;padding:0 .3em;line-height:1.5em;position:absolute;top:3%;left:5%}.cell.hl-wrong{box-shadow:inset 0 0 0 3px var(--danger);animation:1s ease-in-out infinite wrong}.board:focus-visible .cell.cursor{box-shadow:inset 0 0 0 3px var(--primary)}.board.covered .cells{filter:blur(12px)saturate(.6)}.board-overlay{z-index:3;text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.board-overlay .overlay-duck{width:96px;height:96px;animation:3s ease-in-out infinite float}.board-overlay .paused{margin:0;font-size:24px;font-weight:600}.board-overlay .loading{color:var(--ink-soft)}.board.pat .cell[data-p="0"]{background-image:radial-gradient(#00000029 18%,#0000 21%);background-size:9px 9px}.board.pat .cell[data-p="1"]{background-image:repeating-linear-gradient(45deg,#00000021 0 2px,#0000 2px 8px)}.board.pat .cell[data-p="2"]{background-image:repeating-linear-gradient(0deg,#0000001f 0 2px,#0000 2px 8px)}.board.pat .cell[data-p="3"]{background-image:repeating-linear-gradient(-45deg,#00000021 0 2px,#0000 2px 8px)}.board.pat .cell[data-p="4"]{background-image:repeating-linear-gradient(90deg,#0000001f 0 2px,#0000 2px 8px)}.board.pat .cell[data-p="5"]{background-image:linear-gradient(#0000001c 2px,#0000 2px),linear-gradient(90deg,#0000001c 2px,#0000 2px);background-size:9px 9px}.board.pat .cell[data-p="6"]{background-image:radial-gradient(circle,#0000 35%,#00000024 37% 46%,#0000 48%);background-size:12px 12px}.board.pat .cell[data-p="7"]{background-image:repeating-linear-gradient(45deg,#0000001c 0 2px,#0000 2px 8px),repeating-linear-gradient(-45deg,#0000001c 0 2px,#0000 2px 8px)}.board.pat .cell[data-p="8"]{background-image:linear-gradient(135deg,#00000024 25%,#0000 25%),linear-gradient(225deg,#00000024 25%,#0000 25%);background-size:10px 10px}.board.pat .cell[data-p="9"]{background-image:radial-gradient(#ffffff80 22%,#0000 25%);background-size:7px 7px}.status{min-height:1.4em;max-width:var(--bs);text-align:center;color:var(--ink-soft);margin:0;font-size:16px}.status.coach{color:var(--ink);background:var(--card);border-radius:14px;padding:8px 14px}.status.bad{color:var(--danger);font-weight:600}.toolbar{width:100%;max-width:var(--bs);justify-content:center;gap:10px;display:flex}.toolbar .btn{border-radius:18px;flex-direction:column;flex:1;gap:2px;max-width:130px;padding:8px 10px;font-size:14px}.toolbar .btn .icon{width:24px;height:24px}.btn-hint .icon{color:#e9a400}.dock{width:100%;max-width:var(--bs);flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.hint-panel{z-index:5;background:var(--card-solid);border-radius:20px;padding:14px 16px 16px;animation:.22s ease-out slideup;position:absolute;top:-4px;left:0;right:0;box-shadow:0 -4px 30px #143c5a40}.hint-panel.nudge{animation:.4s ease-in-out nudge}.hint-head{align-items:center;gap:8px;font-size:17px;display:flex}.hint-head .icon{color:#e9a400}.hint-text{margin:6px 0 12px;font-size:16px;line-height:1.45}.swatch{vertical-align:-.12em;background:var(--sw);border-radius:.24em;width:.95em;height:.95em;margin:0 .15em 0 .3em;display:inline-block;box-shadow:inset 0 0 0 1px #00000024}.hint-panel .row{justify-content:flex-end}.sheet{z-index:50;background:var(--scrim);justify-content:center;align-items:flex-end;animation:.18s ease-out fade;display:flex;position:fixed;inset:0}.sheet.hidden{display:none}.panel{background:var(--card-solid);width:min(520px,100%);max-height:92dvh;padding:22px 20px calc(22px + var(--safe-b));box-shadow:var(--shadow);border-radius:26px 26px 0 0;animation:.25s cubic-bezier(.2,.9,.3,1.1) slideup;position:relative;overflow:auto}@media (min-width:600px) and (min-height:560px){.sheet{align-items:center}.panel{border-radius:26px;padding-bottom:22px}}.panel .btn:not(.btn-primary):not(.btn-accent):not(.btn-danger){background:var(--bg-top)}.panel h2{text-align:center;margin:0 0 14px;font-size:22px}.panel>.btn{width:100%;margin-top:14px;display:flex}.sheet-win .panel{text-align:center}.win-duck{transform-origin:50% 90%;width:110px;height:110px;margin:-6px auto 0;animation:1.2s ease-in-out infinite hop;display:block}.win-title{color:#f5a000;margin:2px 0!important;font-size:30px!important}.win-sub{color:var(--ink-soft);margin:0 0 12px}.stats{justify-content:center;gap:10px;margin:0 0 6px;display:flex}.stat{background:var(--bg-top);border-radius:16px;flex:1;max-width:140px;padding:8px 6px}.stat dt{color:var(--ink-soft);font-size:13px}.stat dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:21px;font-weight:600}.stat.new dd{color:#e86a10}.new-best{color:#e86a10;margin:6px 0;font-weight:600}.win-actions{margin-top:14px}.win-actions .btn{flex:1}.sheet-win .panel>.btn{width:auto;margin-top:10px;display:inline-flex}.win-lb{margin-top:10px}.note{margin:8px 0}.countdown{font-variant-numeric:tabular-nums;margin:10px 0 0}.settings{flex-direction:column;gap:4px;display:flex}.toggle{cursor:pointer;border-bottom:1px solid #7f7f7f33;align-items:center;gap:12px;padding:10px 4px;display:flex}.toggle-text{flex-direction:column;flex:1;display:flex}.toggle-label{font-weight:600}.toggle-desc{color:var(--ink-soft);font-size:14px}.toggle input{appearance:none;background:var(--btn-shadow);cursor:pointer;border-radius:99px;flex:none;width:50px;height:30px;transition:background .15s;position:relative}.toggle input:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle input:checked{background:var(--primary)}.toggle input:checked:after{transform:translate(20px)}.toggle input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.rules,.controls{margin:0 0 12px;padding:0;line-height:1.45;list-style:none}.rules li{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.rules .bullet{flex:none;width:26px;height:26px}.controls li{background:var(--bg-top);border-radius:12px;margin-bottom:4px;padding:6px 10px;font-size:15px}.tabs{justify-content:center;gap:6px;margin-bottom:10px;display:flex}.tab{background:var(--bg-top);cursor:pointer;border:0;border-radius:999px;padding:6px 16px;font-weight:600}.tab.active{background:var(--primary);color:#fff}.lb-list{margin:0;padding:0;list-style:none}.lb-row{border-radius:12px;align-items:center;gap:8px;padding:7px 10px;display:flex}.lb-row:nth-child(odd){background:var(--bg-top)}.lb-row.me{background:var(--accent);color:var(--on-accent)}.lb-rank{text-align:right;width:28px;font-weight:600}.lb-duck,.lb-duck svg{width:24px;height:24px}.lb-duck .medal-2{filter:grayscale()brightness(1.15)}.lb-duck .medal-3{filter:sepia(.6)hue-rotate(-25deg)saturate(1.4)brightness(.85)}.lb-name{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.lb-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-you{background:#0000001a;border-radius:99px;padding:1px 6px;font-size:12px}.lb-score{font-variant-numeric:tabular-nums;font-weight:600}.lb-gap{text-align:center;color:var(--ink-soft)}.lb-note{text-align:center}.bad{color:var(--danger)}.submit-box{text-align:left}.submit-label{margin-bottom:6px;font-weight:600;display:block}.submit-fields{gap:8px;display:flex}.name-input{border:2px solid var(--btn-shadow);background:var(--bg-top);border-radius:999px;flex:1;min-width:0;min-height:44px;padding:8px 14px;font-size:16px}.name-input:focus{border-color:var(--primary);outline:none}.hint{color:var(--ink-soft);margin:6px 0;font-size:13px}.submit-status{min-height:1em;margin:4px 0}.submit-status.ok{text-align:center;font-weight:600}.toast{left:50%;bottom:calc(24px + var(--safe-b));z-index:60;background:var(--ink);max-width:calc(100vw - 32px);color:var(--bg-top);opacity:0;pointer-events:none;border-radius:999px;padding:10px 18px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.bubbles{pointer-events:none;z-index:4;position:absolute;inset:0}.bubble{bottom:0;left:var(--x);width:var(--s);height:var(--s);opacity:0;animation:rise var(--d) ease-in forwards;background:radial-gradient(circle at 32% 30%,#fffffff2 0 12%,#ffffff40 30%,#8fd3f438 70%,#ffffffa6 100%);border:1px solid #fffc;border-radius:50%;position:absolute}@keyframes pop{0%{transform:scale(.3)translateY(25%)}60%{transform:scale(1.12,.9)}to{transform:scale(1)}}@keyframes xin{0%{opacity:0;transform:scale(.6)}}@keyframes bob{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-18%)rotate(-9deg)}60%{transform:translateY(0)rotate(7deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8%)rotate(-6deg)}40%,80%{transform:translate(8%)rotate(6deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes ghost{50%{opacity:.25}}@keyframes wrong{50%{box-shadow:inset 0 0 0 5px var(--danger)}}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes hop{0%,to{transform:translateY(0)scale(1)}20%{transform:translateY(0)scale(1.08,.92)}45%{transform:translateY(-14px)scale(.96,1.05)}70%{transform:translateY(0)scale(1.04,.96)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes slideup{0%{transform:translate(var(--tx,0), 30px);opacity:0}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translate(0)scale(.6)}12%{opacity:1}to{transform:translate(var(--w), calc(-1 * var(--bs,400px) - 60px)) scale(1.1);opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-height:520px) and (orientation:landscape){#topbar{height:46px}.game{--bs:min(calc(100dvh - 60px - var(--safe-t) - var(--safe-b)), 560px);grid-template-rows:auto auto 1fr;grid-template-columns:auto 1fr;align-items:start;column-gap:16px;display:grid}.board-wrap{grid-row:1/span 3}.toolbar{max-width:none}}
