:root{--bg:#e6dccb;--white:#fbf7ee;--blue:#1f5fa8;--blue-dark:#174a85;--terra:#cf5c36;--sun:#ffc83a;--sun-dark:#e0a41c;--navy:#1b2540;--shadow:#2c34704d;--display:"Unbounded", "Arial Black", "Segoe UI Black", Impact, system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{font-family:var(--display);color:var(--navy);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;top:0;bottom:0;left:0;right:0}#game{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#game.is-aiming{cursor:grabbing}#overlay{display:none;position:absolute;top:0;bottom:0;left:0;right:0}#overlay.is-open{display:block}.screen{background:#fbf7eedb;place-items:center;padding:24px;animation:.22s ease-out both screen-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden auto}.screen[hidden]{display:none}.pause,.levels{background:#1b25408c}.menu{text-align:center;align-content:center;justify-items:center;gap:clamp(14px,3.2vmin,34px)}.wordmark{letter-spacing:-.035em;margin:0;font-size:clamp(50px,15vmin,170px);font-weight:900;line-height:.9;animation:.5s cubic-bezier(.2,1.5,.4,1) both mark-in;transform:rotate(-4deg)}.word{display:block}.crazy{color:var(--blue);text-shadow:.035em .035em 0 var(--sun), .07em .07em 0 var(--sun)}.goal{color:var(--terra);text-shadow:.035em .035em 0 var(--navy), .07em .07em 0 var(--navy);margin-left:.5em}.ball-o{vertical-align:-.06em;width:.8em;height:.8em;filter:drop-shadow(.06em .06em 0 var(--navy));margin:0 .02em;animation:7s linear infinite ball-roll;display:inline-block}.ball-o svg{width:100%;height:100%;display:block}.tagline{letter-spacing:.32em;color:var(--navy);margin:0;font-size:clamp(11px,2.1vmin,19px);font-weight:700}.hint{letter-spacing:.22em;color:#1b254099;margin:0;font-size:clamp(9px,1.5vmin,12px);font-weight:500}.actions{justify-items:stretch;gap:14px;display:grid}.btn{font:inherit;letter-spacing:.16em;cursor:pointer;box-shadow:5px 6px 0 var(--shadow);border:0;border-radius:14px;padding:1em 2.2em .9em;font-size:clamp(13px,2.1vmin,17px);font-weight:900;transition:transform 80ms ease-out,box-shadow 80ms ease-out;position:relative}.btn:after{content:"";pointer-events:none;border:2px solid #fbf7eed9;border-radius:9px;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.btn:hover{box-shadow:6px 8px 0 var(--shadow);transform:translate(-1px,-2px)}.btn:active{box-shadow:2px 2px 0 var(--shadow);transform:translate(3px,4px)}.btn-primary{color:var(--white);background:var(--blue);font-size:clamp(18px,3.6vmin,30px)}.btn-ghost{color:var(--navy);background:var(--white)}.btn-ghost:after{border-color:#1f5fa880}.btn:focus-visible{outline:3px solid var(--sun);outline-offset:4px}.panel,.sheet{background:var(--white);border:4px solid var(--blue);border-radius:24px;justify-items:stretch;gap:14px;padding:32px 32px 28px;display:grid;box-shadow:9px 11px #1b254059}.panel{min-width:min(330px,86vw);transform:rotate(-1deg)}.panel .btn-primary{margin-bottom:8px;font-size:clamp(17px,3vmin,22px)}.panel-title{letter-spacing:.34em;color:var(--blue);text-align:center;margin:0 0 8px;font-size:14px;font-weight:900}.sheet{width:min(720px,94vw);margin:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px;display:grid}.tile{font:inherit;color:var(--white);background:var(--blue);cursor:pointer;text-align:left;box-shadow:4px 5px 0 var(--shadow);border:0;border-radius:14px;justify-items:start;gap:6px;padding:12px 14px;transition:transform 80ms ease-out;display:grid}.tile:hover:not(:disabled){transform:translate(-1px,-2px)}.tile.is-current{outline:4px solid var(--sun);outline-offset:2px}.tile:disabled{color:#1b254073;box-shadow:none;cursor:default;background:#d9d1c2}.tile-number{color:var(--sun);font-size:22px;font-weight:900;line-height:1}.tile:disabled .tile-number{color:#1b254059}.tile-name{letter-spacing:.12em;min-height:2.6em;font-size:10px;font-weight:700;line-height:1.3}.tile-stars{gap:4px;display:flex}.tile-stars span{width:16px;height:16px}.tile-stars svg{fill:#fbf7ee47;width:100%;height:100%;display:block}.tile-stars .on svg{fill:var(--sun)}.tile:disabled .tile-stars svg{fill:#1b254024}.result{left:50%;bottom:calc(5vh + env(safe-area-inset-bottom));gap:14px;animation:.25s cubic-bezier(.2,1.4,.4,1) both result-in;display:flex;position:absolute;transform:translate(-50%)}.result[hidden]{display:none}.result .btn{white-space:nowrap;font-size:clamp(13px,2.4vmin,18px)}.pause-button{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));background:var(--blue);width:44px;height:44px;box-shadow:3px 4px 0 var(--shadow);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:0;display:flex;position:absolute}.pause-button[hidden]{display:none}.pause-bar{background:var(--white);border-radius:2px;width:5px;height:16px}.duel-sheet{width:min(520px,94vw)}.duel-sheet>*,.duel-row>*{min-width:0}.duel-label{letter-spacing:.16em;color:#1b2540a6;margin:6px 0 0;font-size:10px;font-weight:700;line-height:1.5}.duel-row{align-items:stretch;gap:10px;display:flex}.duel-code{letter-spacing:.16em;color:var(--white);background:var(--blue);-webkit-user-select:text;user-select:text;border-radius:14px;flex:1;place-items:center;padding:10px 14px;font-size:clamp(22px,6vmin,36px);font-weight:900;display:grid}.duel-input{min-width:0;font:inherit;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);-webkit-user-select:text;user-select:text;background:#fff;border:3px solid #1f5fa866;border-radius:12px;flex:1;padding:.85em 1em;font-size:15px;font-weight:700}.duel-input:focus{border-color:var(--blue);outline:none}.duel-go{font-size:clamp(13px,2.4vmin,16px)}@media (max-width:520px){.duel-row{flex-wrap:wrap}.duel-go{flex:100%}}.duel-note{letter-spacing:.12em;min-height:1.4em;color:var(--terra);margin:0;font-size:10.5px;font-weight:700}.duel-list{gap:8px;max-height:34vh;display:grid;overflow-y:auto}.duel-item{font:inherit;letter-spacing:.1em;text-align:left;color:var(--navy);cursor:pointer;background:#efe8da;border:0;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;font-size:12px;font-weight:700;display:grid}.duel-item.is-turn{color:var(--white);background:var(--blue)}.duel-item-score{font-size:15px;font-weight:900}.duel-item-status{opacity:.8;font-size:9.5px}.is-turn .duel-item-status{color:var(--sun);opacity:1}.duel-panel-title{letter-spacing:.08em;font-size:clamp(18px,4vmin,26px)}.duel-panel-text{text-align:center;color:#1b2540cc;max-width:340px;margin:0 0 8px;font-size:12px;font-weight:500;line-height:1.6}.duel-action[hidden]{display:none}.duel-action{left:50%;bottom:calc(5vh + env(safe-area-inset-bottom));white-space:nowrap;font-size:clamp(15px,3vmin,22px);position:absolute;transform:translate(-50%)}.duel-action:hover{transform:translate(-50%)translateY(-2px)}.duel-action:active{transform:translate(-50%)translateY(3px)}.duel-action:disabled{opacity:.7;cursor:default}.duel-row>.btn-ghost{flex:1;padding-left:.6em;padding-right:.6em;font-size:clamp(11px,2vmin,14px)}.duel-copy{padding-left:1.2em;padding-right:1.2em;font-size:clamp(12px,2.2vmin,15px)}.duel-bar{z-index:2;gap:6px;display:grid;position:absolute;container-type:inline-size}.duel-bar[hidden]{display:none}.duel-bar.is-row{left:50%;bottom:calc(6px + env(safe-area-inset-bottom));width:min(96vw,480px);transform:translate(-50%)}.duel-bar-top{align-items:stretch;gap:6px;display:flex}.duel-tip{letter-spacing:.07em;min-height:2.9em;color:var(--navy);box-shadow:2px 3px 0 var(--shadow);background:#fbf7eef2;border-radius:10px;flex:1;align-items:center;margin:0;padding:4px 10px;font-size:clamp(8px,4.1cqw,12px);font-weight:700;line-height:1.3;display:flex}.duel-bar.is-row .duel-tip{font-size:clamp(8px,2.3cqw,10.5px)}.duel-bar-pause{background:var(--blue);width:38px;box-shadow:2px 3px 0 var(--shadow);cursor:pointer;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0;display:none}.duel-bar-pause .pause-bar{width:4px;height:13px}.duel-bar.is-row .duel-bar-pause{display:flex}.duel-hand-row .pause-button{display:none}.duel-groups{grid-template-columns:1fr 1fr;gap:10px;display:grid}.duel-bar.is-column .duel-groups{grid-template-columns:1fr;gap:8px}.duel-group{gap:3px;min-width:0;display:grid}.duel-group-label{letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--white);background:var(--navy);border-radius:6px;justify-self:start;margin:0;padding:2px 7px;font-size:clamp(7px,3.3cqw,10px);font-weight:900;overflow:hidden}.duel-bar.is-row .duel-group-label{font-size:clamp(6.5px,1.7cqw,8.5px)}.duel-group.is-trick .duel-group-label{background:var(--terra)}.duel-group-cards{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.duel-card{aspect-ratio:1/.92;min-width:0;font:inherit;color:var(--card);background:var(--white);border:3px solid var(--white);box-shadow:2px 3px 0 var(--shadow);cursor:pointer;border-radius:12px;align-content:center;justify-items:center;gap:2px;padding:3px 1px;transition:transform .1s ease-out,background .1s ease-out;display:grid;position:relative}.duel-card-icon{width:46%;display:block}.duel-card-icon svg{fill:currentColor;width:100%;height:auto;display:block}.duel-card-name{letter-spacing:.04em;color:var(--navy);font-size:clamp(6.5px,3.2cqw,10.5px);font-weight:900;line-height:1}.duel-bar.is-row .duel-card-name{font-size:clamp(6.5px,1.75cqw,9px)}.duel-card:hover:not(:disabled){transform:translateY(-2px)}.duel-card.is-selected{color:var(--white);background:var(--card);border-color:var(--sun);animation:.9s ease-in-out infinite alternate card-up;transform:translateY(-5px)}.duel-card.is-selected .duel-card-name{color:var(--white)}.duel-card:disabled{opacity:.4;box-shadow:none;cursor:default}.duel-card.is-used:after{content:"";background:var(--navy);border-radius:2px;height:3px;position:absolute;top:50%;left:12%;right:12%;transform:rotate(-24deg)}@keyframes card-up{to{transform:translateY(-8px)}}.duel-rules{color:var(--navy);gap:6px;margin:0;padding-left:1.6em;font-size:12px;font-weight:700;line-height:1.5;display:grid}.duel-help-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:44vh;display:grid;overflow-y:auto}.duel-help-card{background:#efe8da;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.duel-help-card .duel-card-icon{width:34px;color:var(--white);background:var(--card);border-radius:9px;flex:none;padding:6px}.duel-help-words{color:#1b2540d9;gap:2px;font-size:10.5px;font-weight:500;line-height:1.4;display:grid}.duel-help-words strong{letter-spacing:.12em;color:var(--navy);font-size:11px;font-weight:900}@media (prefers-reduced-motion:reduce){.duel-card.is-selected{animation:none}}@keyframes screen-in{0%{opacity:0}}@keyframes mark-in{0%{opacity:0;transform:rotate(-9deg)scale(1.5)}}@keyframes result-in{0%{opacity:0;transform:translate(-50%)translateY(16px)}}@keyframes ball-roll{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.screen,.wordmark,.ball-o,.result{animation:none}}
