@font-face{font-family:Lilita One;src:url(../fonts/LilitaOne-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Afacad Flux;src:url(../fonts/AfacadFlux.ttf) format("truetype");font-weight:300 900;font-display:swap}:root{--ink: #15224b;--ink-soft: #3b4a7a;--panel: #f3f8ff;--panel-2: #e3eefc;--shadow: #132d80;--blue-1: #379fff;--blue-2: #267de2;--blue-3: #174aab;--blue-4: #a4e9ff;--gold-1: #ffd151;--gold-2: #ffb62f;--gold-3: #b87819;--gold-4: #fff4b0;--green-1: #a5de45;--green-2: #71bd30;--green-3: #407b28;--red-1: #ff6a64;--red-2: #ee464b;--red-3: #ac293d;--cream: #fffaf0;--font-display: "Lilita One", "Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-body: "Afacad Flux", "Segoe UI", system-ui, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#174aab;overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-family:var(--font-body);color:var(--ink)}#app{position:fixed;inset:0}button{font-family:inherit}img{-webkit-user-drag:none;user-drag:none}.ml-screen{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;animation:ml-screen-in .32s ease both}.ml-screen.is-leaving{animation:ml-screen-out .24s ease both;pointer-events:none}@keyframes ml-screen-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}@keyframes ml-screen-out{0%{opacity:1}to{opacity:0}}.ml-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.ml-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(19,45,128,.35) 100%)}.ml-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;padding:0 22px;background:transparent;cursor:pointer;color:#fff;font-family:var(--font-display);letter-spacing:.4px;min-width:120px;overflow:visible;transition:transform .06s ease;touch-action:manipulation}.ml-btn .ml-surface{position:absolute;inset:0;pointer-events:none}.ml-btn .ml-surface svg{display:block;width:100%;height:100%}.ml-btn .ml-label{position:relative;z-index:1;transform:translateY(-3px);text-shadow:0 2px 0 rgba(19,45,128,.35);display:inline-flex;align-items:center;gap:8px}.ml-btn.is-pressed .ml-label{transform:translateY(1px)}.ml-btn-gold .ml-label,.ml-btn-cream .ml-label{color:#5a3a06;text-shadow:0 1px 0 rgba(255,255,255,.5)}.ml-btn:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:16px}.ml-btn:disabled{filter:saturate(.3) brightness(.85);cursor:default}.ml-iconbtn{position:relative;width:52px;height:52px;border-radius:16px;border:0;cursor:pointer;color:#fff;background:linear-gradient(180deg,var(--blue-1),var(--blue-2));box-shadow:0 5px 0 var(--blue-3),0 8px 16px #132d8059;display:grid;place-items:center;overflow:hidden;transition:transform .06s ease,box-shadow .06s ease;touch-action:manipulation}.ml-iconbtn svg{width:28px;height:28px}.ml-iconbtn.is-pressed{transform:translateY(4px);box-shadow:0 1px 0 var(--blue-3),0 4px 8px #132d804d}.ml-iconbtn:focus-visible{outline:3px solid #fff;outline-offset:3px}.ml-panel{position:relative;background:var(--panel);border-radius:22px;padding:18px;box-shadow:0 6px #c7d8f2,0 14px 30px #132d8059;border:3px solid #fff}.ml-panel-dark{background:linear-gradient(180deg,#2f6fd6,#1d55b8);color:#fff;border-color:#6fb2ff;box-shadow:0 6px #123b8a,0 14px 30px #132d8073}.ml-ribbon{display:inline-block;padding:10px 28px;border-radius:14px;color:#fff;font-family:var(--font-display);font-size:22px;letter-spacing:.5px;text-shadow:0 2px 0 rgba(19,45,128,.4);background:linear-gradient(180deg,var(--blue-1),var(--blue-2));box-shadow:0 4px 0 var(--blue-3),0 8px 14px #132d804d}.ml-ribbon-gold{background:linear-gradient(180deg,var(--gold-1),var(--gold-2));box-shadow:0 4px 0 var(--gold-3);color:#5a3a06;text-shadow:0 1px 0 rgba(255,255,255,.5)}.ml-ribbon-green{background:linear-gradient(180deg,var(--green-1),var(--green-2));box-shadow:0 4px 0 var(--green-3)}.ml-title{font-family:var(--font-display);color:#fff;text-shadow:0 3px 0 var(--shadow),0 6px 14px rgba(0,0,0,.35);margin:0}.ml-ripple{position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;pointer-events:none;background:#ffffff8c;animation:ml-ripple .45s ease-out both;z-index:2}@keyframes ml-ripple{to{transform:scale(22);opacity:0}}.ml-toast{position:fixed;left:50%;top:calc(var(--safe-top) + 18px);z-index:1000;transform:translate(-50%,-30px);opacity:0;pointer-events:none;padding:12px 22px;border-radius:999px;color:#fff;font-family:var(--font-display);font-size:19px;background:linear-gradient(180deg,var(--blue-1),var(--blue-2));box-shadow:0 4px 0 var(--blue-3),0 10px 20px #0000004d;text-shadow:0 2px 0 rgba(19,45,128,.4);transition:transform .22s cubic-bezier(.2,1.4,.4,1),opacity .2s;max-width:90vw;text-align:center}.ml-toast.show{opacity:1;transform:translate(-50%)}.ml-toast[data-kind=good]{background:linear-gradient(180deg,var(--green-1),var(--green-2));box-shadow:0 4px 0 var(--green-3),0 10px 20px #0000004d}.ml-toast[data-kind=bad]{background:linear-gradient(180deg,var(--red-1),var(--red-2));box-shadow:0 4px 0 var(--red-3),0 10px 20px #0000004d}.ml-burst{position:fixed;z-index:999;pointer-events:none;width:0;height:0}.ml-burst i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:3px;display:block;animation:ml-burst .8s cubic-bezier(.15,.8,.3,1) both}@keyframes ml-burst{0%{transform:translate(0) scale(1) rotate(0);opacity:1}to{transform:translate(var(--dx),calc(var(--dy) + 60px)) scale(.3) rotate(240deg);opacity:0}}@keyframes ml-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px) rotate(-2deg)}40%{transform:translate(7px) rotate(2deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes ml-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes ml-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ml-shake{animation:ml-shake .38s ease both}.ml-pop{animation:ml-pop .3s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
