.cat{--fur:#f0a24f;--fur-dark:#c9772d;--cream:#fff1dc;--line:#3a2414;--pink:#f59bb0;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;height:100%;overflow:visible}.cat-fur{fill:var(--fur);stroke:var(--fur-dark);stroke-width:2px}.cat-cream{fill:var(--cream)}.cat-stripe{fill:none;stroke:var(--fur-dark);stroke-width:4px;stroke-linecap:round}.cat-ear-inner,.cat-nose{fill:var(--pink)}.cat-line{fill:none;stroke:var(--line);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.cat-line.thick{stroke-width:4px}.cat-line.thin{stroke-width:2px}.cat-whisker{stroke:var(--line);stroke-width:1.4px;opacity:.55;stroke-linecap:round}.cat-eye-white{fill:#fffef8;stroke:var(--line);stroke-width:2px}.cat-pupil{fill:#2b2b2b}.cat-eye-shine{fill:#fff}.cat-lid{fill:var(--fur)}.cat-lid.blink{animation:4.6s infinite cat-blink;transform:scaleY(0)}.cat-mouth-fill{fill:#7a2630}.cat-tongue{fill:#f07a8c}.cat-teeth{fill:#fffaf0;stroke:var(--line);stroke-width:2px}.cat-blush ellipse{fill:var(--pink);opacity:.55}.cat-tears path{fill:#7cc7ff;animation:1s ease-in infinite cat-tear}.cat-tears path:nth-child(2){animation-delay:.45s}.cat-sweat{fill:#9fd6ff;animation:1.4s ease-in infinite cat-tear}.cat-anger path{fill:none;stroke:#e0322a;stroke-width:4px;stroke-linecap:round;transform-origin:152px 36px;animation:.5s ease-in-out infinite alternate cat-throb}.cat-sparkles path{fill:#ffd84d;transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite alternate cat-twinkle}.cat-sparkles path:nth-child(2){animation-delay:.3s}.cat-sparkles path:nth-child(3){animation-delay:.6s}.cat-shadow{fill:#00000040}.cat-figure{transform-origin:100px 210px}.cat-body-group{transform-origin:100px 206px;animation:3.2s ease-in-out infinite cat-breathe}.cat-head{transform-origin:100px 120px;transition:transform .3s}.cat-ear{transition:transform .25s}.cat-ear.left{transform-origin:70px 58px}.cat-ear.right{transform-origin:130px 58px}.cat-tail{transform-origin:138px 192px}.cat-arm{transition:transform .26s cubic-bezier(.3,1.6,.5,1)}.cat-arm.left{transform-origin:78px 142px}.cat-arm.right{transform-origin:122px 142px}.cat-arms.up .cat-arm.left{transform:rotate(150deg)}.cat-arms.up .cat-arm.right{transform:rotate(-150deg)}.ears-down .cat-ear.left{transform:rotate(-38deg)translateY(6px)}.ears-down .cat-ear.right{transform:rotate(38deg)translateY(6px)}.ears-back .cat-ear.left{transform:rotate(-62deg)scaleY(.75)}.ears-back .cat-ear.right{transform:rotate(62deg)scaleY(.75)}.tail-sway .cat-tail{animation:3s ease-in-out infinite cat-tail}.tail-fast .cat-tail{animation:.7s ease-in-out infinite cat-tail}.tail-droop .cat-tail{transform:rotate(38deg)}.tail-lash .cat-tail{animation:.35s ease-in-out infinite alternate cat-lash}.motion-bounce .cat-figure{animation:.45s ease-in-out 3 cat-bounce}.motion-jump .cat-figure{animation:.6s cubic-bezier(.3,.6,.4,1) 3 cat-jump}.motion-slump .cat-head{transform:translateY(8px)rotate(-4deg)}.motion-slump .cat-figure{transform:scaleY(.97)}.motion-sob .cat-figure{animation:.5s ease-in-out infinite cat-sob}.motion-tremble .cat-figure{animation:.12s linear infinite alternate cat-tremble}.motion-puff .cat-figure{animation:.5s cubic-bezier(.2,1.8,.4,1) both cat-puff}.motion-shake .cat-figure{animation:.18s ease-in-out infinite alternate cat-shake}.motion-lean .cat-head{transform:rotate(-8deg)translate(-4px)}.look-mad .cat-fur{fill:#ec8a4a}@keyframes cat-blink{0%,94%,to{transform:scaleY(0)}97%{transform:scaleY(1)}}@keyframes cat-breathe{50%{transform:scaleY(1.018)}}@keyframes cat-tail{50%{transform:rotate(-14deg)}}@keyframes cat-lash{0%{transform:rotate(-22deg)}to{transform:rotate(16deg)}}@keyframes cat-bounce{50%{transform:translateY(calc(-6px - 14px * var(--intensity)))}}@keyframes cat-jump{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.06,.92)}50%{transform:translateY(calc(-18px - 26px * var(--intensity))) scale(.97, 1.04)}}@keyframes cat-sob{50%{transform:translateY(3px)scaleY(.98)}}@keyframes cat-tremble{0%{transform:translate(-1px)}to{transform:translate(1px)}}@keyframes cat-puff{0%{transform:scale(1)}40%{transform:scale(calc(1.08 + .08 * var(--intensity))) translateY(-6px)}to{transform:scale(1.04)}}@keyframes cat-shake{0%{transform:rotate(calc(-2deg - 3deg * var(--intensity)))}to{transform:rotate(calc(2deg + 3deg * var(--intensity)))}}@keyframes cat-tear{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes cat-throb{to{transform:scale(1.18)}}@keyframes cat-twinkle{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.cat *{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f3ede3;--surface:#fffaf3;--surface-2:#e9e0d1;--border:#d6cab6;--text:#1e1a15;--muted:#6c6256;--accent:#2e6a4e;--accent-text:#fff;--focus:#1f6feb;--radius:14px;--tap:44px;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12100d;--surface:#1d1915;--surface-2:#2a241e;--border:#3a3129;--text:#f1ebe2;--muted:#a59a8c;--accent:#4f9b75;--focus:#6aa6ff}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{height:100%}.app{flex-direction:column;max-width:1100px;height:100%;margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;min-height:0;padding-inline:12px;display:flex}h1,h2{margin:0}.muted{color:var(--muted)}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:12px;padding-block:0;padding-inline:18px;font-weight:600}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-ghost{background:0 0;border-color:#0000;padding-inline:8px}.btn-large{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;font-size:1.1rem;display:flex}.btn-large small{opacity:.85;font-size:.85rem;font-weight:400}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.screen-header{grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;padding-inline:4px;display:grid}.screen-header h1{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.header-side{display:flex}.header-side.end{justify-content:flex-end}.back-chevron{font-size:1.4em;line-height:0}.home{color:#f6ead2;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(at 30% 40%,#6b4426 0%,#3d2614 70%,#24160b 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.home-points{flex:none;width:100%;height:clamp(14px,4vh,34px);display:block}.home-points.flip{transform:scaleY(-1)}.home-points .a{fill:#e8d3a8;opacity:.85}.home-points .b{fill:#9c3c22;opacity:.9}.home-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:16px 20px;display:flex}.home-cat{aspect-ratio:200/224;flex:none;width:clamp(120px,28vh,200px)}.home-main{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:440px;display:flex}.home-title{letter-spacing:-.02em;color:#fff7e8;text-shadow:0 3px #00000059;margin:0;font-size:clamp(2rem,7vw,3rem);font-weight:900;line-height:1}.home-title span{color:#f6c94a}.home-tagline{opacity:.9;margin:0;font-size:1.02rem}.home-features{text-align:start;gap:6px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.home-features li{background:#00000038;border-radius:12px;align-items:center;gap:8px;padding:6px 12px;display:flex}.home-actions{flex-direction:column;gap:10px;width:min(320px,100%);margin-top:4px;display:flex}.home .btn-primary{color:#2a1a0c;background:#f6c94a;border-color:#f6c94a}.home .btn-secondary{color:#fff7e8;background:#ffffff1f;border-color:#ffffff59}@media (orientation:landscape){.home-body{flex-direction:row;gap:clamp(20px,5vw,56px)}.home-main{text-align:start;align-items:flex-start}}@media (orientation:landscape) and (height<=500px){.home-features{gap:4px;font-size:.82rem}.home-features li{padding:4px 10px}.home-tagline{font-size:.9rem}.home-actions{flex-direction:row;width:min(400px,100%)}.home-actions .btn-large{flex:1;min-height:48px}}.setup{gap:22px;padding-block:8px 24px;overflow-y:auto}.setup h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-block-end:8px;font-size:.85rem}.style-list{gap:10px;display:grid}@media (width>=720px){.style-list{grid-template-columns:repeat(3,1fr)}}.style-card{text-align:start;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.style-card span{color:var(--muted);font-size:.9rem}.style-card.selected{border-color:var(--accent)}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented button{min-height:var(--tap);border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding-inline:16px;font-weight:600}.segmented button.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.toggle{min-height:var(--tap);justify-content:space-between;align-items:center;gap:12px;padding-block:4px;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.setup-footer{background:linear-gradient(transparent, var(--bg) 30%);justify-content:center;padding-block:12px;display:flex;position:sticky;bottom:0}.btn-start{min-width:180px;font-size:1.05rem}.swatch{border:2px solid var(--checker-0-edge);background:var(--checker-0);border-radius:50%;width:1em;height:1em}.swatch.p1{border-color:var(--checker-1-edge);background:var(--checker-1)}.badge{background:#00000040;border-radius:999px;margin-inline-start:8px;padding:2px 8px;font-size:.8em}.winbar{font-variant-numeric:tabular-nums;font-size:.8em}.winbar-track{height:max(5px, calc(10px * var(--s)));background:var(--checker-1);border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000004d}.winbar-fill{background:var(--checker-0);transform-origin:0;height:100%;transition:transform .5s}[dir=rtl] .winbar-fill{transform-origin:100%}.winbar-title{text-align:center;opacity:.75;margin-bottom:.2em;font-size:.85em}.winbar-labels{justify-content:space-between;align-items:center;margin-bottom:.25em;display:flex}.winbar-labels>span{align-items:center;gap:.35em;display:inline-flex}.winbar-labels strong{font-size:1.15em}.winbar-labels .swatch{width:.8em;height:.8em}.toast{font-weight:800;font-size:max(16px, calc(34px * var(--s)));white-space:nowrap;pointer-events:none;color:#1e1a15;font-weight:600;font-size:max(14px, calc(26px * var(--s)));background:#fffaf3;border-radius:999px;padding:.35em .9em;animation:.26s ease-out pop;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 20px #0000004d}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}}.board{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;display:block}.board-panel{fill:var(--hud-panel)}.board-bar{fill:var(--board-bar)}.board-tray{fill:var(--board-tray)}.board-tray-divider{stroke:var(--board-frame-dark);stroke-width:2px}.point-a{fill:var(--point-a)}.point-b{fill:var(--point-b)}.point-dest{filter:brightness(1.2)}.point-label{fill:var(--point-label);font-size:21px;font-weight:600}.checker circle{stroke-width:2.5px}.checker.p0 circle{stroke:var(--checker-0-edge)}.checker.p1 circle{stroke:var(--checker-1-edge)}.checker .checker-inner{fill:none;stroke-width:2px;opacity:.6}.checker.p0 .checker-inner{stroke:var(--checker-0-edge)}.checker.p1 .checker-inner{stroke:var(--checker-1-ring)}.checker-label{font-size:24px;font-weight:700}.checker.p0 .checker-label{fill:var(--checker-1)}.checker.p1 .checker-label,.off-slab.p0{fill:var(--checker-0)}.off-slab.p1{fill:var(--checker-1)}.die-shadow{fill:#00000061}.die .die-face{fill:var(--die-face);stroke:#00000073;stroke-width:1.5px}.die .die-side{fill:#00000061}.die-highlight{stroke:#ffffffbf;stroke-width:2px;stroke-linecap:round}.die .die-pip{fill:var(--die-pip)}.die-pip-glint{fill:#ffffff59}.die-p0 .die-face{fill:var(--checker-0);stroke:#1b120c99}.die-p0 .die-pip{fill:#1b120c}.die-p1 .die-face{fill:var(--checker-1);stroke:#ffffff73}.die-p1 .die-pip{fill:#fff}.die-p1 .die-pip-glint{fill:#00000040}.die{transition:opacity .2s}.die-used{opacity:.4}.die-used .die-shadow{opacity:0}.die-tumble{animation:.52s cubic-bezier(.2,.9,.3,1.2) die-tumble}.die-tumble:nth-of-type(2){animation-duration:.6s}@keyframes die-tumble{0%{opacity:0;transform:translate(-60px,-40px)rotate(-260deg)scale(.6)}60%{opacity:1;transform:translate(6px,4px)rotate(20deg)scale(1.05)}to{transform:none}}.dice-left{fill:var(--die-face);font-size:26px;font-weight:700}.cube rect{fill:#f4efe6;stroke:#00000059;stroke-width:2px}.cube text{fill:#1e1a15;font-size:26px;font-weight:800}.dest-marker{fill:var(--highlight);fill-opacity:.55;stroke:var(--highlight);stroke-width:3px}.dest-off{fill:var(--highlight);fill-opacity:.45}.hit{fill:#0000}.hit[role=button]{cursor:pointer}.hit:focus,.board:focus{outline:none}.hit:focus-visible{stroke:var(--focus);stroke-width:4px;outline:none}.drag-ghost{filter:drop-shadow(0 8px 10px #00000073)}.game-screen{background:var(--theme-bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--hud-text);position:fixed;inset:0}.stage-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.stage{font-size:calc(22px * var(--s));position:relative}.hud-panel{gap:calc(10px * var(--s));padding:calc(14px * var(--s));pointer-events:none;flex-direction:column;display:flex;position:absolute}.hud-panel button{pointer-events:auto}.hud-top{gap:calc(10px * var(--s));flex-direction:column;display:flex}.hud-menu{min-width:44px;min-height:44px;color:var(--hud-text);font-size:max(18px, calc(30px * var(--s)));cursor:pointer;background:#00000040;border:none;border-radius:12px;align-self:flex-start}.hud-player{background:#0000002e;border-radius:.6em;grid-template-columns:auto 1fr auto;align-items:center;column-gap:.5em;padding:.35em .6em;line-height:1.25;display:grid}.hud-player.on-turn{box-shadow:inset 0 0 0 2px var(--highlight)}.hud-player strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-pips{opacity:.75;grid-area:2/2;font-size:.85em}.hud-score{grid-area:1/3/span 2;font-weight:800}.hud-player .swatch{grid-row:1/span 2}.hud-cat{pointer-events:auto;flex:1;justify-content:center;min-height:0;display:flex}.hud-status{text-align:center;min-height:1.3em;margin:0;font-size:.9em}.hud-controls{gap:calc(14px * var(--s));display:flex;position:absolute;transform:translate(-50%,-50%)}.hud-controls.under-dice{animation:.16s ease-out fade-in}.confirm-prompt{padding:calc(10px * var(--s));background:#00000059;border-radius:999px;animation:.2s ease-out fade-in}@keyframes fade-in{0%{opacity:0}}.confirm-prompt .btn-pill{min-width:max(80px, calc(150px * var(--s)))}.hud-move-controls{gap:calc(10px * var(--s));justify-content:center;display:flex}.hud-move-controls .btn-pill{flex:1;min-width:0;padding-inline:4px}.btn-round{min-width:max(64px, calc(128px * var(--s)));min-height:max(64px, calc(128px * var(--s)));background:var(--highlight);color:#1e1a15;font-size:max(16px, calc(30px * var(--s)));border:3px solid #ffffffd9;border-radius:50%;font-weight:800;animation:.26s ease-out pop-in;box-shadow:0 8px 24px #00000059}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.btn-round.secondary{min-width:max(56px, calc(100px * var(--s)));min-height:max(56px, calc(100px * var(--s)));font-size:max(13px, calc(22px * var(--s)));background:#f4efe6;align-self:center}.btn-pill{min-width:64px;min-height:44px;padding-inline:max(12px, calc(22px * var(--s)));color:#1e1a15;font-weight:700;font-size:max(14px, calc(22px * var(--s)));background:#ffffffe6;border:none;border-radius:999px;box-shadow:0 4px 14px #0000004d}.btn-pill.primary{background:var(--highlight)}.btn-pill:disabled{opacity:.45}.rotate-prompt{text-align:center;color:#fff;max-width:280px}.rotate-prompt h2{margin-block:18px 6px}.rotate-icon{border:4px solid #fff;border-radius:12px;width:56px;height:92px;margin:0 auto;animation:2.2s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.theme-picker{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.theme-option{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;gap:6px;padding:8px;font-size:.85rem;display:flex}.theme-option.selected{border-color:var(--accent)}.theme-swatch{width:100%;height:auto;display:block}.level-list{gap:10px;display:grid}@media (width>=720px){.level-list{grid-template-columns:repeat(3,1fr)}}.modal-subtitle{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 8px;font-size:.85rem}.modal{max-height:calc(100dvh - 32px);overflow-y:auto}.modal-backdrop{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=600px){.modal-backdrop{align-items:center}}.modal{width:min(420px,100%);color:var(--text);background:var(--surface);border-radius:20px;padding:20px;box-shadow:0 12px 40px #0000004d}.modal h2{margin-block-end:8px;font-size:1.25rem}.modal p{margin:6px 0}.modal-actions{gap:10px;margin-block-start:16px;display:flex}.modal-actions .btn{flex:1}.modal-actions.column{flex-direction:column}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.modal.wide{width:min(620px,100%)}.result-body{align-items:center;gap:16px;display:flex}.result-cat{flex:none;width:110px;height:124px}.result-main{flex:1;min-width:0}.result-meta{color:var(--muted);margin:0 0 6px;font-size:.85rem}.report{gap:10px;display:grid}.report-verdict{margin:0;font-size:1.15rem;font-weight:800;line-height:1.25}.report-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-tile{background:var(--surface-2);border:2px solid #0000;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:10px 12px;display:grid}.report-tile.good{border-color:var(--accent)}.report-tile.bad{border-color:#c0563f}.report-tile-icon{grid-row:1/span 2;font-size:1.6rem}.report-tile-label{color:var(--muted);font-size:.8rem}.report-stars{letter-spacing:.05em;color:#e0a526;font-size:1.35rem;line-height:1.1}.report-stars .off{color:var(--border)}.report-tile-side{grid-column:2;font-size:.8rem;font-weight:600}.report-tile.good .report-tile-side{color:var(--accent)}.report-tile.bad .report-tile-side{color:#c0563f}.report-loading{color:var(--muted)}@media (width>=1000px) and (height>=650px){.home-cat{width:260px}.home-main{gap:16px;max-width:560px}.home-title{font-size:4rem}.home-tagline{font-size:1.25rem}.home-features{gap:8px;font-size:1.05rem}.home-features li{padding:9px 14px}.home-actions{width:360px}}
