:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-hero:2.75rem;--tap:48px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--app-vh:100vh;--app-h:100vh}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (height:100dvh){:root{--app-h:100dvh}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{color:var(--fg);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0;line-height:1.45}html{background:var(--bg)}body{background:0 0}html,body{touch-action:manipulation}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable],.rules-list{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#app{min-height:var(--app-h);padding:var(--safe-top) var(--safe-right) 0 var(--safe-left)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--heading-weight,bold);margin:0;line-height:1.15}h1{font-size:var(--text-hero);letter-spacing:-.01em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0}:root{--weight-label:600}button,input,select,textarea{font:inherit}.row>span,.kv>dt,.bar-name,.game-title,.link-card-text>b{font-weight:var(--weight-label)}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.screen{max-width:640px;padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}@media (width>=900px){.screen{padding-top:var(--space-6)}}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.actions .btn{flex:auto}.btn{isolation:isolate;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--btn-rim,var(--border));border-radius:var(--radius);background:var(--btn-fill,var(--card));color:var(--btn-fg,var(--fg));font:inherit;font-family:var(--font-display);font-weight:var(--btn-weight,600);cursor:pointer;box-shadow:var(--shadow);margin-bottom:var(--btn-edge-w,0px);transition:transform 90ms var(--ease-pop), background-color .15s;position:relative}.btn:before,.btn:after{content:"";pointer-events:none;z-index:-1;position:absolute}.btn:before{border-radius:max(0px, calc(var(--radius) - var(--border-w)));background:linear-gradient(to bottom, var(--btn-gloss,transparent), transparent 55%);inset:0}.btn:after{inset:calc(-1 * var(--border-w));border-radius:inherit;box-shadow:0 var(--btn-edge-w,0px) 0 var(--btn-edge,transparent)}.btn:hover:not(:disabled){background:var(--btn-fill-hover,var(--surface-2))}.btn:active:not(:disabled){transform:translateY(max(1px, calc(var(--btn-edge-w,0px) / 2))) scale(.99)}.btn:active:not(:disabled):after{box-shadow:0 calc(var(--btn-edge-w,0px) / 2) 0 var(--btn-edge,transparent)}.btn:disabled{opacity:var(--btn-disabled-opacity,.45);background:var(--btn-fill-disabled,var(--btn-fill,var(--card)));color:var(--btn-fg-disabled,var(--btn-fg,var(--fg)));cursor:default;box-shadow:none}.btn:disabled:before{background:0 0}.btn:disabled:after{box-shadow:none}.btn.primary{background:var(--btn-fill-primary,var(--accent));color:var(--btn-fg-primary,var(--accent-fg));border-color:var(--btn-rim-primary,var(--accent));paint-order:stroke fill;-webkit-text-stroke:var(--text-outline-w,0px) var(--text-outline,transparent)}.btn.primary:disabled{background:var(--btn-fill-disabled,var(--btn-fill-primary,var(--accent)));color:var(--btn-fg-disabled,var(--btn-fg-primary,var(--accent-fg)));-webkit-text-stroke:0px transparent}.btn.primary:after{box-shadow:0 var(--btn-edge-w,0px) 0 var(--btn-edge-primary,var(--btn-edge,transparent))}.btn.primary:hover:not(:disabled){background:var(--btn-fill-primary,var(--accent));filter:brightness(1.08)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000;margin-bottom:0}.btn.ghost:before,.btn.ghost:after{display:none}.btn.danger{border-color:var(--skip);color:var(--skip)}.btn.danger:hover:not(:disabled){background:var(--btn-fill,var(--card))}.card{background:var(--tile-fill,var(--card));border:var(--panel-rim-w,var(--border-w)) solid var(--panel-rim,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.chip{padding:var(--space-1) var(--space-3);background:var(--surface-2);font-weight:600;font-size:var(--text-sm);border-radius:999px;align-items:center;display:inline-flex}.notice,.error{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--card);border:var(--border-w) solid var(--border)}.error{border-color:var(--skip)}.row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap);display:flex}select,input:not([type=checkbox]):not([type=radio]):not([type=range]){background:var(--card);color:var(--fg);border:var(--border-w) solid var(--border);border-radius:calc(var(--radius) * .7);font:inherit}.row:has(select){padding-block:var(--space-1);flex-wrap:wrap}.row:has(select)>span{flex:1000 auto}.dialog-backdrop{z-index:20;padding:calc(var(--space-4) + var(--safe-top)) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left));background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--art-wood,linear-gradient(transparent, transparent)), var(--panel-fill,var(--card));width:100%;max-width:420px;max-height:100%;color:var(--fg);border:var(--panel-rim-w,var(--border-w)) solid var(--panel-rim,var(--border));border-radius:calc(var(--radius-lg) + 4px);box-shadow:var(--shadow);padding:var(--space-5) var(--space-4);gap:var(--space-2);text-align:center;flex-direction:column;display:flex;overflow-y:auto}.dialog:focus{outline:none}.dialog-head,.dialog-body,.dialog-foot{display:contents}[data-chrome] .dialog{padding:var(--space-6) var(--space-2) var(--space-3);gap:0;overflow:visible}[data-chrome] .dialog-head{margin:calc(-1 * var(--space-6) - 12px) var(--space-3) var(--space-2);padding:var(--space-2) var(--space-4);background:var(--ribbon-fill,transparent);color:var(--ribbon-fg,var(--fg));border:var(--panel-rim-w,var(--border-w)) solid var(--ribbon-rim,transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:block;position:relative}[data-chrome] .dialog-head h2{color:inherit;overflow-wrap:anywhere;margin:0;font-size:clamp(1.35rem,6vw,1.75rem)}[data-chrome] .btn.primary,[data-chrome] .dialog-head{--ring-r:calc(var(--text-outline-w,0px) * .6);--ring-d:calc(var(--text-outline-w,0px) * .42);-webkit-text-stroke:0;text-shadow:var(--ring-r) 0 var(--ring-c), calc(-1 * var(--ring-r)) 0 var(--ring-c), 0 var(--ring-r) var(--ring-c), 0 calc(-1 * var(--ring-r)) var(--ring-c), var(--ring-d) var(--ring-d) var(--ring-c), calc(-1 * var(--ring-d)) var(--ring-d) var(--ring-c), var(--ring-d) calc(-1 * var(--ring-d)) var(--ring-c), calc(-1 * var(--ring-d)) calc(-1 * var(--ring-d)) var(--ring-c), 0 calc(var(--ring-r) * 1.8) var(--ring-c)}[data-chrome] .btn.primary{--ring-c:var(--text-outline,transparent)}[data-chrome] .dialog-head{--ring-c:var(--ribbon-rim,transparent)}[data-chrome] .dialog-body{gap:var(--space-2);padding:var(--space-3);background:var(--inset-fill,transparent);border:var(--panel-rim-w,var(--border-w)) solid var(--inset-rim,transparent);border-radius:var(--radius);color:var(--fg);flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow-y:auto}[data-chrome] .dialog{--foot-overlap:calc(var(--tap) / 2)}[data-chrome] .dialog-body.has-foot{padding-bottom:calc(var(--space-3) + var(--foot-overlap))}[data-chrome] .dialog-foot{z-index:1;margin:calc(-1 * var(--foot-overlap)) var(--space-3) 0;flex:none;display:block;position:relative}[data-chrome] .dialog-foot .actions{margin-top:0}.dialog .actions{margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dialog .actions>.btn:first-child:nth-last-child(odd){grid-column:1/-1}@media (prefers-reduced-motion:no-preference){[data-animations=on] .dialog{animation:dialog-in .22s var(--ease-pop)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.toast-spacer{height:128px}#app:has(>.game-host:not([hidden]))>.toast-spacer{display:none}.toast{z-index:30;left:calc(var(--space-4) + var(--safe-left));right:calc(var(--space-4) + var(--safe-right));bottom:calc(var(--space-4) + var(--safe-bottom));justify-content:space-between;align-items:center;gap:var(--space-3);max-width:640px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow);flex-wrap:wrap;margin:0 auto;display:flex;position:fixed}:is(:root:has(.dialog-backdrop) .toast,:root:has(.drawer-layer) .toast){z-index:10}.toast>span:last-child{gap:var(--space-2);flex:none;margin-left:auto;display:flex}[data-animations=off] .btn{transition:none}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn[aria-pressed=false]{box-shadow:none;border-style:dashed;text-decoration:line-through}.btn[aria-pressed=false]:after{box-shadow:none}.btn[aria-pressed=true]{background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)));border-color:var(--accent)}.background-thumb{border-radius:calc(var(--radius) * .5);border:var(--border-w) solid var(--border);background:var(--bg) center bottom / cover no-repeat;flex:none;width:28px;height:20px}.background-thumb-none{background:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 6px, var(--card) 6px, var(--card) 12px)}[data-backdrop] body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(var(--backdrop-scrim,transparent), var(--backdrop-scrim,transparent)), var(--art-backdrop,none) center bottom / cover no-repeat;position:fixed;inset:0}#phone{display:contents}@media (width>=720px) and (height>=560px) and (hover:hover) and (pointer:fine){:root:not([data-native]){--bezel:12px;--frame-h:min(880px, calc(100dvh - 48px - 2 * var(--bezel)));--frame-w:min(414px, calc(var(--frame-h) * .47));--app-vh:var(--frame-h);--app-h:var(--frame-h)}html:not([data-native]){background:color-mix(in srgb, var(--bg) 45%, #0a0d0c)}:root:not([data-native]) #phone{box-sizing:content-box;width:var(--frame-w);height:var(--frame-h);border:var(--bezel) solid #151918;background:var(--bg);border-radius:46px;margin:24px auto;display:block;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 0 0 2px #3b423f,0 28px 70px #00000073}:root:not([data-native])[data-backdrop] #phone{background:linear-gradient(var(--backdrop-scrim,transparent), var(--backdrop-scrim,transparent)), var(--art-backdrop,none) center bottom / cover no-repeat, var(--bg)}:root:not([data-native])[data-backdrop] body:before{display:none}:root:not([data-native]) #app{scrollbar-width:none;height:100%;min-height:0;overflow:hidden auto}:root:not([data-native]) #app::-webkit-scrollbar{display:none}}:root[data-scaled]{--app-vh:var(--ui-h);--app-h:var(--ui-h);--safe-top:calc(env(safe-area-inset-top,0px) / var(--ui-scale));--safe-right:calc(env(safe-area-inset-right,0px) / var(--ui-scale));--safe-bottom:calc(env(safe-area-inset-bottom,0px) / var(--ui-scale));--safe-left:calc(env(safe-area-inset-left,0px) / var(--ui-scale))}:root[data-scaled] body{overflow:hidden}:root[data-scaled] #phone{width:var(--ui-w);height:var(--ui-h);transform:scale(var(--ui-scale));transform-origin:0 0;background:var(--bg);display:block;position:fixed;top:0;left:0;overflow:hidden}:root[data-scaled][data-backdrop] #phone{background:linear-gradient(var(--backdrop-scrim,transparent), var(--backdrop-scrim,transparent)), var(--art-backdrop,none) center bottom / cover no-repeat, var(--bg)}:root[data-scaled][data-backdrop] body:before{display:none}:root[data-scaled] #app{scrollbar-width:none;-webkit-overflow-scrolling:touch;height:100%;min-height:0;overflow:hidden auto}:root[data-scaled] #app::-webkit-scrollbar{display:none}:root[data-scaled] .screen>.topbar{margin-inline:calc((100% - var(--ui-w)) / 2);padding-inline:var(--space-2)}:root[data-scaled] .screen:not(.game)>.topbar{top:calc(-1 * var(--safe-top))}:root[data-scaled] .screen.game{max-width:none}:root[data-scaled] .home{min-height:var(--app-h)}:root[data-scaled] .home>.home-hero{margin-top:auto}:root[data-scaled] .home>.menu{margin-bottom:auto}:root[data-scaled] .newgame>.topbar+.card{margin-top:auto}:root[data-scaled] .newgame-spacer{flex:0 0 var(--space-2)}:root[data-scaled] .newgame-start{margin-bottom:auto}.icon{flex:none;display:block}.flag{border-radius:3px;flex:none;display:block}.topbar{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);z-index:10;margin-top:calc(-1 * (var(--safe-top) + var(--top-gap,0px)));padding-top:calc(var(--safe-top) + var(--top-gap,0px));background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:44px minmax(0,1fr) 44px;display:grid;position:sticky;top:0}.screen>.topbar{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-2)}.topbar-slot{justify-content:center;align-items:center;min-width:0;display:flex}.topbar-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.topbar-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:1.125rem;overflow:hidden}.iconbtn{border:var(--border-w) solid var(--btn-rim,var(--border));border-radius:var(--radius);background:var(--btn-fill,var(--card));width:44px;height:44px;color:var(--btn-fg,var(--fg));box-shadow:var(--shadow);cursor:pointer;transition:transform 90ms var(--ease-pop), background-color .15s;flex:none;place-items:center;padding:0;display:grid}.iconbtn:hover:not(:disabled){background:var(--btn-fill-hover,var(--surface-2))}.iconbtn:active:not(:disabled){transform:scale(.94)}.iconbtn:disabled{opacity:var(--btn-disabled-opacity,.4);background:var(--btn-fill-disabled,var(--btn-fill,var(--card)));color:var(--btn-fg-disabled,var(--btn-fg,var(--fg)));cursor:default;box-shadow:none}.iconbtn[aria-pressed=true]{background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)));border-color:var(--accent)}.iconbtn.ghost{box-shadow:none;color:var(--fg);background:0 0;border-color:#0000}.iconbtn.ghost:hover:not(:disabled){background:color-mix(in srgb, var(--fg) 8%, transparent)}.select{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-2) 50%, var(--card));min-width:150px;max-width:100%;min-height:44px;color:var(--fg);align-items:center;display:inline-flex;position:relative}.select>select{appearance:none;width:100%;max-width:100%;min-height:42px;padding:0 36px 0 var(--space-3);border-radius:inherit;color:inherit;font:inherit;font-weight:var(--weight-label);text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:auto;margin:0}.select:has(.select-icon)>select{padding-left:46px}.select>select:focus-visible{outline:none}.select:has(>select:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.select option{background:var(--card);color:var(--fg)}.select-icon,.select-chevron{pointer-events:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.select-icon{left:10px}.select-icon svg{width:26px;height:auto;max-height:26px}.select-chevron{color:var(--muted);right:12px}.row:has(select)>.select{flex:0 auto}.switch{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;width:52px;height:44px;margin:0;padding:0;position:relative}.switch:before{content:"";background:color-mix(in srgb, var(--muted) 15%, var(--card));width:50px;height:30px;box-shadow:inset 0 0 0 2px var(--muted);border-radius:999px;transition:background-color .15s;position:absolute;top:7px;left:1px}.switch:after{content:"";background:var(--muted);width:24px;height:24px;transition:transform .15s var(--ease-pop);border-radius:50%;position:absolute;top:10px;left:4px}.switch[aria-checked=true]:before{background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.switch[aria-checked=true]:after{background:var(--card);transform:translate(20px);box-shadow:0 1px 3px #0000004d}.switch:disabled{cursor:default;opacity:.55}.select:has(>select:disabled){border-color:color-mix(in srgb, var(--border) 50%, transparent);background:0 0}.select>select:disabled{cursor:default;color:var(--fg);-webkit-text-fill-color:var(--fg);opacity:1}.select:has(>select:disabled)>.select-chevron{opacity:.35}.card-label{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.seg{gap:var(--space-1);padding:var(--space-1);border-radius:calc(var(--radius) + 4px);background:var(--surface-2);flex-wrap:wrap;display:flex}.seg>button{appearance:none;min-width:max-content;min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:var(--muted);font:inherit;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;cursor:pointer;background:0 0;border:0;flex:1 1 0;margin:0;font-weight:700;transition:background-color .15s}.seg>button:hover:not([aria-checked=true]){color:var(--fg)}.seg>button[aria-checked=true]{background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)));color:var(--fg);box-shadow:inset 0 0 0 2px var(--accent), 0 1px 3px #00000026}.slider{min-width:0;color:var(--muted);flex:auto;align-items:center;gap:10px;display:flex}.slider>input[type=range]{--track:color-mix(in srgb, var(--muted) 40%, var(--card));appearance:none;cursor:pointer;background:0 0;flex:auto;width:auto;min-width:0;max-width:none;height:44px;margin:0}.slider>input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill,0%), var(--track) var(--fill,0%));border-radius:6px;height:6px}.slider>input[type=range]::-moz-range-track{background:var(--track);border-radius:6px;height:6px}.slider>input[type=range]::-moz-range-progress{background:var(--accent);border-radius:6px;height:6px}.slider>input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;border:var(--border-w) solid var(--muted);background:var(--card);border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 1px 4px #00000040}.slider>input[type=range]::-moz-range-thumb{box-sizing:border-box;border:var(--border-w) solid var(--muted);background:var(--card);border-radius:50%;width:26px;height:26px;box-shadow:0 1px 4px #00000040}.drawer-layer{z-index:19;position:fixed;inset:0}.drawer-scrim{background:#00000073;position:absolute;inset:0}.drawer{gap:var(--space-1);width:min(80vw,320px);padding:calc(var(--space-2) + var(--safe-top)) var(--space-3) calc(var(--space-3) + var(--safe-bottom)) calc(var(--space-3) + var(--safe-left));background:var(--card);color:var(--fg);border-right:var(--panel-rim-w,var(--border-w)) solid var(--panel-rim,var(--border));border-radius:0 calc(var(--radius-lg) + 8px) calc(var(--radius-lg) + 8px) 0;box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.drawer:focus{outline:none}.drawer-head{margin-bottom:var(--space-1);display:flex}.drawer hr{width:100%;margin:var(--space-1) 0;border:0;border-top:var(--border-w) solid var(--border)}.drawer-item{width:100%;min-height:48px;padding:var(--space-3);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;font-weight:700;text-decoration:none;display:flex}.drawer-item:hover{background:color-mix(in srgb, var(--accent) 8%, var(--card))}.drawer-item[aria-current=page]{background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)))}.drawer-layer[data-state=closing]{pointer-events:none}.drawer-layer[data-state=open] .drawer{animation:drawer-in var(--drawer-ms,.24s) var(--ease-move,ease-out) both}.drawer-layer[data-state=open] .drawer-scrim{animation:scrim-in var(--drawer-ms,.24s) ease-out both}.drawer-layer[data-state=closing] .drawer{animation:drawer-out var(--drawer-ms,.24s) ease-in both}.drawer-layer[data-state=closing] .drawer-scrim{animation:scrim-out var(--drawer-ms,.24s) ease-in both}@media (prefers-reduced-motion:reduce){.drawer-layer[data-state=open] .drawer,.drawer-layer[data-state=open] .drawer-scrim{animation:scrim-in calc(var(--drawer-ms,.24s) / 2) ease-out both}.drawer-layer[data-state=closing] .drawer,.drawer-layer[data-state=closing] .drawer-scrim{animation:scrim-out calc(var(--drawer-ms,.24s) / 2) ease-in both}}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}@keyframes drawer-out{0%{transform:none}to{transform:translate(-100%)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}[data-animations=off] .iconbtn,[data-animations=off] .switch:before,[data-animations=off] .switch:after,[data-animations=off] .seg>button{transition:none}@media (prefers-reduced-motion:reduce){.iconbtn,.switch:before,.switch:after,.seg>button{transition:none}}.home{text-align:center;align-items:stretch}.screen:has(>.topbar){--top-gap:var(--space-2);padding-top:var(--top-gap)}.home-hero{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.hero-pieces{gap:var(--space-3);display:flex}.hero-pieces svg{width:100px;height:100px}.home-hero h1{font-size:clamp(2.25rem, 11vw, var(--text-hero))}.streak-chip{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.menu{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.menu-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.menu-grid .btn{min-width:max-content;padding-inline:var(--space-2);flex:1 1 0}.btn-icon{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.btn-icon>.icon{flex:none}@media (width<=340px){.menu-grid .btn-icon{padding-inline:var(--space-1);gap:var(--space-1)}}@media (height<=640px){.home{gap:var(--space-2)}.home-hero{gap:var(--space-1)}.hero-pieces svg{width:72px;height:72px}.home-hero h1{font-size:2.25rem}.menu,.menu-grid{gap:var(--space-2);margin-top:0}}.newgame{min-height:calc(var(--app-h) - var(--safe-top))}.side-picker{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.side-pick{appearance:none;min-width:0;min-height:44px;padding:var(--space-3) var(--space-2);align-items:center;gap:var(--space-1);border:2px solid var(--border);border-style:var(--tile-rim-style,solid);border-radius:var(--radius-lg);background:var(--tile-fill,var(--card));color:var(--fg);font:inherit;cursor:pointer;flex-direction:column;margin:0;transition:background-color .15s,border-color .15s;display:flex}.side-pick:hover:not([aria-checked=true]){border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.side-pick[aria-checked=true]{border-color:var(--accent);background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)));box-shadow:inset 0 0 0 1px var(--accent);border-style:solid}[data-animations=off] .side-pick{transition:none}@media (prefers-reduced-motion:reduce){.side-pick{transition:none}}.side-pick-art{flex:none;width:84px;height:84px}.side-pick-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);overflow-wrap:anywhere}.side-pick-sub{color:var(--muted);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.75rem;font-weight:600;line-height:1.3}.link-card{appearance:none;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:56px;color:var(--fg);font:inherit;text-align:left;cursor:pointer;flex-direction:row;margin:0}.link-card>.icon{color:var(--accent)}.link-card-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.link-card-text>small{font-size:var(--text-sm);overflow-wrap:anywhere}.link-card-chevron{color:var(--muted);flex:none;display:flex;transform:rotate(-90deg)}.newgame-spacer{flex:1 1 0}.newgame-start{min-height:56px;font-size:1.125rem}.wide-btn{width:100%}@media (height<=640px){.newgame{gap:var(--space-2)}.side-pick{padding-block:var(--space-2)}.side-pick-art{width:60px;height:60px}}.screen.game{--top-gap:var(--space-2);margin-top:calc(-1 * var(--safe-top));height:var(--app-h);gap:var(--space-2);padding-top:calc(var(--safe-top) + var(--top-gap));padding-bottom:calc(var(--space-2) + var(--safe-bottom));overflow:hidden}.screen.game>.topbar{position:relative}.game-status{flex-flow:column wrap;justify-content:center;width:100%;min-width:0;height:max(44px,2.4rem);min-height:44px;line-height:1.2;display:flex;overflow:hidden}.game-status>p{text-align:center;width:100%;min-width:0;margin:0}.game-status-title{font-weight:700;font-size:var(--text-md);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.game-status-detail{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.game-board{flex:auto;place-items:center;min-height:0;display:grid;position:relative;container-type:size}.game-board>.board-frame{aspect-ratio:1;width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-height:100%}.game-board .board{width:100%;height:100%;max-height:100%}.game-toasts{left:0;right:0;bottom:var(--space-1);align-items:center;gap:var(--space-1);pointer-events:none;flex-direction:column;display:flex;position:absolute}.game-toasts>*{pointer-events:none;max-width:100%;padding:var(--space-1) var(--space-3);box-shadow:var(--shadow);font-size:var(--text-sm);line-height:1.3}.game-toasts button{pointer-events:auto}.game-toasts .online-banner .btn{min-height:44px;padding-block:var(--space-1)}.game-toast-dismissible{align-items:center;gap:var(--space-1);padding-right:0;display:flex}.toast-close{width:44px;height:44px;margin:calc(-1 * var(--space-1)) 0;border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}@container (aspect-ratio>=5/3){.game-toasts{top:var(--space-2);width:calc((100cqw - 100cqh) / 2 - var(--space-2));align-items:stretch;bottom:auto;right:auto}}.game-foot{height:var(--tap);align-items:center;gap:var(--space-2);flex:none;min-width:0;display:flex}.game-chips{align-items:center;gap:var(--space-2);scrollbar-width:none;flex:auto;min-width:0;padding-block:2px;display:flex;overflow-x:auto}.game-chips::-webkit-scrollbar{display:none}.game-chips>:first-child{margin-left:auto}.game-chips>:last-child{margin-right:auto}.game-chips>.chip{white-space:nowrap;color:var(--fg);flex:none;padding-inline:10px}@media (width<=359px){.game-chips{gap:6px}.game-chips>.chip{padding-inline:var(--space-2);font-size:.8125rem}}.game-foot>.btn{min-height:44px;padding-block:var(--space-2);flex:none}.settings-screen>.card:not([data-testid=ads-section]){gap:0}.settings-screen .card>.card-label{margin-bottom:var(--space-1)}.settings-screen .card>.row+.row{border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent)}.settings-screen .row>span{overflow-wrap:anywhere;min-width:0}.settings-screen .card{container-type:inline-size}.settings-screen .row:has(select){flex-wrap:nowrap}.settings-screen .row:has(select)>.select{flex:0 11rem;min-width:0}@container (width<=17.5rem){.settings-screen .row:has(select){align-items:stretch;gap:var(--space-1);flex-direction:column}.settings-screen .row:has(select)>span{flex:none}.settings-screen .row:has(select)>.select{flex:none;width:100%}}.settings-screen .select>select{padding-right:30px}.settings-screen .select-chevron{right:9px}.sound-row>.slider{flex:60%;max-width:70%}.setting-hint{margin:0 0 var(--space-1);font-size:var(--text-sm)}.settings-reset,.stats>.wide-btn{margin-top:var(--space-2)}@media (width<=340px){.settings-screen .card{padding-inline:var(--space-3)}}.rules-list{gap:var(--space-2);flex-direction:column;margin:0;padding-left:20px;line-height:1.45;display:flex}.rules-reset{align-self:flex-start}.rule-variants{flex-direction:column;display:flex}.rule-variants>.row+.row{border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent)}.rule-variants .row:has(select)>.select{flex:auto}.rule-variants .select>select{padding-right:30px}.rule-variants .select-chevron{right:9px}@media (width<=340px){.rules-screen .card{padding-inline:var(--space-3)}}.rule-variants .row>span{overflow-wrap:anywhere;min-width:0}.num-select{flex:none}.rule-variants .row:has(.num-select){flex-wrap:nowrap}.rule-variants .row:has(.num-select)>span{flex:auto}.num-select>.select{min-width:88px}.stat-tiles{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.stat-tile{padding:var(--space-3) var(--space-1);text-align:center;flex-direction:column-reverse;justify-content:flex-end;gap:2px;min-width:0}.stat-tile dd{font-family:var(--font-display);font-size:min(var(--text-xl), 7.5vw);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:800;line-height:1.1}.stat-tile dt{color:var(--muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.75rem;font-weight:600;line-height:1.2}.stats-online{align-items:center;gap:var(--space-2);flex-direction:row;font-weight:600}.stats-online>.icon{color:var(--accent)}.bars,.game-list{margin:0;padding:0;list-style:none}.bars{gap:var(--space-1);flex-direction:column;display:flex}.bar-row{align-items:center;column-gap:var(--space-3);grid-template-columns:5.5rem minmax(0,1fr) 3rem;min-height:34px;display:grid}.bar-name{overflow-wrap:anywhere;font-weight:600}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.bar-detail{grid-column:2/-1;font-size:.75rem}.bar{background:color-mix(in srgb, var(--muted) 28%, transparent);border-radius:8px;height:10px;display:block;overflow:hidden}.bar>i{border-radius:inherit;background:var(--accent);height:100%;display:block}.game-list>li{align-items:center;gap:var(--space-3);padding-block:var(--space-2);display:flex}.game-list>li+li,.kv>dt:not(:first-of-type),.kv>dt:not(:first-of-type)+dd{border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent)}.wl{width:34px;height:34px;color:var(--fg);background:color-mix(in srgb, var(--accent) 14%, var(--card));box-shadow:inset 0 0 0 2px var(--accent);border-radius:50%;flex:none;place-items:center;font-size:.8125rem;font-weight:800;display:grid}[data-result=loss]>.wl{background:color-mix(in srgb, var(--skip) 14%, var(--card));box-shadow:inset 0 0 0 2px var(--skip)}.game-text{flex-direction:column;flex:auto;min-width:0;display:flex}.game-title{overflow-wrap:anywhere}.game-meta{font-size:.8125rem}.result-chip{flex:none}.kv{grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.kv>dt,.kv>dd{padding-block:var(--space-2)}.kv small{color:var(--muted);font-weight:400}.kv>dd{padding-left:var(--space-3);text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.achv-summary{align-self:flex-start}.badges{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));margin:0;padding:0;list-style:none;display:grid}.badge{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);text-align:center;border:var(--border-w) dashed var(--border);border-radius:var(--radius-lg);background:var(--tile-fill,var(--card));flex-direction:column;display:flex}.badge.unlocked{border:2px solid var(--accent);background:var(--tile-fill-selected,color-mix(in srgb, var(--accent) 14%, var(--card)));box-shadow:var(--shadow)}.badge>strong{font-family:var(--font-display);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2}.badge>small{color:var(--muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.75rem;line-height:1.3}.badge:not(.unlocked)>strong{color:var(--muted)}.badge>.badge-state{font-weight:700}.badge.unlocked>.badge-state{color:var(--fg)}.badge>.bar{width:80%;height:6px;margin-top:2px}.badge-art{margin-bottom:var(--space-1);position:relative}.badge .badge-icon{width:44px;height:44px;color:var(--accent);display:block}.badge .badge-icon.locked{color:var(--muted);opacity:.55}.badge-mark{background:var(--muted);width:22px;height:22px;color:var(--card);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-8px}.unlocked .badge-mark{background:var(--accent);color:var(--accent-fg)}.endgame p{margin:0}.end-title{margin:0 0 var(--space-1);font-size:1.8rem}.dialog.has-hero{--hero:96px;--hero-out:44px;margin-top:var(--hero-out);max-height:calc(100% - var(--hero-out));overflow:visible}.dialog.has-hero .dialog-body{gap:var(--space-2);flex-direction:column;flex:0 auto;min-height:0;display:flex;overflow-y:auto}.endgame .dialog-body>*{flex-shrink:0}.end-hero{width:var(--hero);height:var(--hero);margin:calc(-1 * var(--space-5) - var(--hero-out)) auto 0;background:var(--inset-fill,var(--card));border:4px solid var(--panel-rim,var(--bg));box-shadow:var(--shadow);border-radius:50%;flex:none;place-items:center;display:grid}.end-hero svg{width:78%;height:78%}.end-headline{overflow-wrap:anywhere;font-size:clamp(1.4rem,6.5vw,1.75rem)}.endgame.win .end-headline{color:var(--accent)}.endgame.loss .end-headline{color:var(--skip)}[data-chrome] .endgame .dialog-head .end-title,[data-chrome] .endgame .dialog-head .end-headline{color:inherit}[data-chrome] .dialog.has-hero{--hero:84px;--hero-out:76px}[data-chrome] .end-hero{margin:0 auto;position:absolute;bottom:calc(100% - 6px);left:0;right:0}.end-outcome{padding:2px var(--space-3);background:var(--tile-fill,var(--surface-2));color:var(--fg);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);border-radius:999px;align-self:center}.end-sentence{color:var(--muted)}.end-tiles{gap:var(--space-2);margin:var(--space-1) 0 0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.end-tile{padding:var(--space-2) var(--space-1);border-radius:var(--radius);background:var(--tile-fill,var(--surface-2));flex-direction:column-reverse;justify-content:flex-end;gap:2px;display:flex}.end-tile dd{font-family:var(--font-display);font-size:min(var(--text-lg), 5.6vw);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.2}.end-tile dt{color:var(--muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.7rem;line-height:1.2}.end-good{color:var(--accent);font-weight:600}.end-note{font-size:var(--text-sm)}.end-badges{flex-direction:column;align-items:stretch;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.end-badges li{align-items:center;gap:var(--space-2);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 14%, transparent);text-align:left;padding:6px 10px;display:flex}.end-badges .badge-icon{width:24px;height:24px;color:var(--accent);flex:none}.dialog .actions.end-actions{gap:var(--space-2);flex-direction:column;display:flex}.end-actions>.btn{flex:none}.end-links{justify-content:center;gap:var(--space-2);display:flex}.end-links:empty{display:none}.end-links .btn.end-link{min-width:0;color:var(--muted);flex:1 1 0}.end-links .btn.end-link.strong{color:var(--accent);font-weight:700}[data-chrome] .endgame .end-links .btn.end-link{background:var(--btn-fill,var(--card));border-color:var(--btn-rim,var(--border));color:var(--btn-fg,var(--fg));box-shadow:var(--shadow);margin-bottom:var(--btn-edge-w,0px)}[data-chrome] .endgame .end-links .btn.end-link:before,[data-chrome] .endgame .end-links .btn.end-link:after{display:block}@media (prefers-reduced-motion:no-preference){[data-animations=on] .end-hero{animation:end-hero-in .36s var(--ease-pop) both}}@keyframes end-hero-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (height<=640px){.dialog.has-hero{--hero:64px;--hero-out:28px}[data-chrome] .dialog.has-hero{--hero:60px;--hero-out:52px}.dialog.has-hero .dialog-body{gap:var(--space-1)}}.online-status{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);display:flex}.online-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.online-status[data-state=online] .online-dot{background:var(--accent)}.online-status[data-state=auth-failed] .online-dot,.online-status[data-state=upgrade-required] .online-dot,.online-status[data-state=replaced] .online-dot{background:var(--skip)}.online-name{font-size:var(--text-lg);overflow-wrap:anywhere}.online-pick{gap:var(--space-2);flex-direction:column;display:flex}.online-stack{flex-direction:column}.online-join{gap:var(--space-2);flex-direction:column;display:flex}.online-join-row{gap:var(--space-2);display:flex}.online-join-row .btn{flex:none}.online-code-input{min-width:0;min-height:var(--tap);padding:0 var(--space-3);font-family:ui-monospace,monospace;font-size:var(--text-md);letter-spacing:.12em;text-transform:uppercase;flex:auto}.online-code-input::placeholder{text-transform:none;letter-spacing:normal}.online-privacy summary{cursor:pointer;min-height:var(--tap);align-items:center;font-weight:600;display:flex}.online-privacy:not([open]){gap:0}.online-privacy[open]>:not(summary)+*{margin-top:var(--space-3)}.lobby-code{letter-spacing:.18em;-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,monospace;font-size:2.4rem;font-weight:700}.lobby-link{font-family:ui-monospace,monospace;font-size:var(--text-sm);-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;overflow-wrap:anywhere;word-break:break-all;margin:0}.lobby-copied{min-height:1.5em;color:var(--accent);margin:0;font-weight:600}.online-opponent .online-dot{margin-right:var(--space-1);vertical-align:-1px;display:inline-block}.online-opponent[data-connected=true] .online-dot{background:var(--accent)}.online-opponent[data-connected=false] .online-dot{background:var(--skip)}.game-chips>.online-timer{font-variant-numeric:tabular-nums}.game-chips>.online-timer.warn{background:color-mix(in srgb, var(--skip) 18%, var(--surface-2));color:var(--skip)}.online-banner{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.end-reason{font-weight:600}.home-notice{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;flex-wrap:wrap;display:flex}.board{--edge-w-outer:6;--edge-w-inner:3;width:100%;height:auto;max-height:calc(var(--app-vh) * .7);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block}.board .pen{fill:var(--pen)}.board .edge{stroke:var(--line);stroke-width:var(--edge-w-outer,6);stroke-linecap:round}.board .edge.inner{stroke-width:var(--edge-w-inner,3)}.board .slot{fill:var(--line)}.board .ring{fill:none;stroke:#0000;stroke-width:4px}.board .selectable .ring{stroke:var(--focus);opacity:.55}.board .selected .ring,.board .chain .ring{stroke:var(--focus);stroke-width:7px;opacity:1}.board .target .ring{stroke:var(--target);stroke-width:7px;opacity:1;fill:color-mix(in srgb, var(--target) 18%, transparent)}.board .target.skip .ring{stroke:var(--skip);stroke-dasharray:9 7;fill:color-mix(in srgb, var(--skip) 10%, transparent)}.board .hit{fill:#0000;cursor:pointer}.board .hit:focus{outline:none}.board .pt:has(.hit:focus-visible) .ring{stroke:var(--focus);stroke-width:7px;opacity:1}.board .ring{transition:stroke .15s,fill .15s,opacity .15s}[data-animations=off] .board .ring{transition:none}.board .reserve{pointer-events:none}.board .reserve-count{font-family:var(--font-display,inherit);font-weight:var(--heading-weight,700);fill:var(--fg);font-size:40px}.board{--anim-ease-slide:var(--ease-move);--anim-ease-hop:var(--ease-hop)}.piece{transition:transform var(--anim-slide,.35s) var(--anim-ease-slide);pointer-events:none}.piece.fx-slide,.piece.fx-hop,.piece.fx-undo{will-change:transform}.piece.fx-hop{transition-duration:var(--anim-hop,.75s);transition-timing-function:var(--anim-ease-hop)}.piece.fx-undo{transition-duration:var(--anim-undo,.3s)}.piece-inner{transform-box:fill-box;transform-origin:50% 85%}.art .shadow{fill:var(--art-shadow)}.art .eye-white{fill:var(--eye-white);stroke:var(--pupil);stroke-width:1.5px}.art .pupil{fill:var(--pupil)}.art .mouth{fill:none;stroke:var(--pupil);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.art .fang{fill:var(--eye-white)}.sheep-art .wool-outline *{fill:var(--sheep-outline);stroke:var(--sheep-outline);stroke-width:var(--sheep-stroke-w)}.sheep-art .wool *{fill:var(--sheep-wool)}.sheep-art .face,.sheep-art .ear{fill:var(--sheep-face)}.sheep-art .eye{fill:var(--sheep-eye)}.sheep-art .nose{fill:var(--sheep-nose)}.wolf-art .fur{fill:var(--wolf-fur);stroke:var(--wolf-rim);stroke-width:var(--wolf-stroke-w)}.wolf-art .ear{fill:var(--wolf-fur-dark);stroke:var(--wolf-rim);stroke-width:var(--wolf-stroke-w);stroke-linejoin:round}.wolf-art .inner-ear,.wolf-art .snout{fill:var(--wolf-snout)}.wolf-art .eye{fill:var(--wolf-eye)}.wolf-art .nose{fill:var(--wolf-nose)}.board-decor{pointer-events:none}.board-decor .decor-a{fill:var(--board-a)}.board-decor .decor-b{fill:var(--board-b)}.art .eye,.art .eye-white,.art .pupil{transform-box:fill-box;transform-origin:50%}.blinker .art .eye,.blinker .art .eye-white,.blinker .art .pupil{animation:6s infinite blink;animation-delay:var(--blink-delay,0s)}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.piece.lift .piece-inner{filter:drop-shadow(0 4px 3px #00000059);transition:transform .12s ease-out;animation:.9s ease-in-out .12s infinite select-pulse;transform:scale(1.12)translateY(-3px)}@keyframes select-pulse{0%,to{transform:scale(1.12)translateY(-3px)rotate(-4deg)}50%{transform:scale(1.2)translateY(-5px)rotate(4deg)}}@keyframes hop-arc{0%{transform:translateY(0)scale(1)}50%{transform:translateY(calc(var(--anim-hop-arc,90px) * -1)) scale(1.12)}to{transform:translateY(0)scale(1)}}.piece.fx-bounce .piece-inner{animation:pen-bounce var(--anim-pen,.8s) ease-out}@keyframes pen-bounce{0%{transform:scale(1)}25%{transform:scale(1.2,.85)}50%{transform:scale(.92,1.12)}75%{transform:scale(1.05,.97)}to{transform:scale(1)}}.piece.fx-slide,.piece.fx-hop{transition-delay:var(--anim-lift,0s)}.piece.fx-slide .piece-inner{animation:windup var(--anim-lift,0s) ease-out}.piece.fx-hop .piece-inner{animation:windup var(--anim-lift,0s) ease-out, hop-arc var(--anim-hop,.75s) var(--anim-ease-hop) var(--anim-lift,0s)}@keyframes windup{0%,to{transform:scale(1)}60%{transform:scale(1.18)translateY(-4px)}}.piece.fx-fly{transition-duration:var(--anim-wolf-fly,.75s);transition-timing-function:var(--anim-ease-hop);will-change:transform}.piece.fx-fly .piece-inner{animation:fly-arc var(--anim-wolf-fly,.75s) ease-in-out}.piece.sheep.fx-fly{transition-duration:var(--anim-fly,.8s);transition-delay:calc(var(--anim-lift,0s) + var(--anim-hop,.75s) * .5 + var(--anim-mark,.3s))}.piece.sheep.fx-fly .piece-inner{animation:mark-pulse var(--anim-mark,.3s) ease-in-out calc(var(--anim-lift,0s) + var(--anim-hop,.75s) * .5) backwards, fly-arc var(--anim-fly,.8s) ease-in-out calc(var(--anim-lift,0s) + var(--anim-hop,.75s) * .5 + var(--anim-mark,.3s))}@keyframes mark-pulse{0%,to{filter:none;transform:scale(1)}50%{filter:drop-shadow(0 0 6px var(--target));transform:scale(1.25)}}@keyframes fly-arc{0%,to{transform:translateY(0)}50%{transform:translateY(-64px)scale(1.1)}}.piece.fx-fade .piece-inner{animation:lost-fade var(--anim-wolf-fly,.75s) ease-in forwards}@keyframes lost-fade{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.3)}}.reserve-count{transform-box:fill-box;transform-origin:50%}.reserve-count.pop{animation:count-pop var(--anim-pen,.8s) ease-out}@keyframes count-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}[data-animations=off] .board,[data-animations=off] .board *,[data-animations=off] .chip-pulse{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.board,.board *,.chip-pulse{transition:none!important;animation:none!important}}.board .target .ring{animation:ring-pulse calc(var(--anim-over,2s) * .7) ease-in-out infinite}@keyframes ring-pulse{0%,to{opacity:1}50%{opacity:.55}}.trail,.pen-glow,.sparkles{pointer-events:none}.trail circle{fill:none;stroke:var(--trail);stroke-width:5px;opacity:0;animation:trail-fade var(--anim-last,2s) ease-out forwards}@keyframes trail-fade{0%{opacity:.85}to{opacity:0}}.pen-glow{fill:var(--pen-glow);opacity:0;animation:pen-glow var(--anim-pen,.8s) ease-out forwards}@keyframes pen-glow{0%{opacity:.85;transform:scale(.6)}to{opacity:0;transform:scale(1.3)}}.pen-glow{transform-box:fill-box;transform-origin:50%}.chip-pulse{animation:chip-pulse var(--anim-pen,.8s) ease-out var(--chip-pulse-delay,var(--anim-slide,.35s)) backwards;display:inline-block}@keyframes chip-pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.board-frame{border-radius:var(--radius-lg);background:var(--board-bg);overflow:hidden}.sparkles .spark{fill:var(--pen-glow);stroke:var(--spark-edge);stroke-width:1.2px;stroke-linejoin:round;opacity:0;animation:spark var(--spark-dur,1.2s) ease-out forwards;transform-box:fill-box;transform-origin:50%}@keyframes spark{0%{opacity:0;transform:translateY(8px)scale(.2)}25%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-26px)scale(.6)}}.board[data-fx=wolf]{animation:board-shake calc(var(--anim-over,2s) * .24) ease-in-out 1}@keyframes board-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.vignette{fill:url(#vignette-grad);opacity:0;pointer-events:none;animation:vignette var(--anim-over,2s) ease-out forwards}@keyframes vignette{0%{opacity:.85}to{opacity:0}}
