@font-face{font-family:'Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/fredoka-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fredoka-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Lilita One';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lilita-one-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nunito-latin-400-italic.woff2) format('woff2')}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:#EEF7FF;color:#14254F;font-family:'Nunito',Arial,sans-serif;font-size:17px;line-height:1.45;-webkit-tap-highlight-color:transparent}
a{color:#14254F}
.g-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(12px,3vw,28px);background:#fff;border-bottom:4px solid #14254F}
.g-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:17px;text-decoration:none}
.g-back svg{flex:none}
.g-title{margin:0;font-family:'Lilita One','Fredoka',sans-serif;font-weight:400;font-size:clamp(20px,3.4vw,30px);text-transform:uppercase;color:#D62839;text-align:right;line-height:1.05}
.g-wrap{max-width:980px;margin:0 auto;padding:16px clamp(12px,3vw,28px) 40px}
.g-help{margin:0 0 12px;font-weight:700;font-size:17px}
.g-stage{position:relative;background:#fff;border:4px solid #14254F;border-radius:20px;box-shadow:0 6px 0 #14254F;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.g-stage canvas{display:block;width:100%;height:100%;touch-action:none}
.g-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border:3px solid #14254F;border-radius:999px;background:#fff;color:#14254F;font-family:'Fredoka',sans-serif;font-weight:600;font-size:18px;cursor:pointer;box-shadow:0 4px 0 #14254F;text-decoration:none}
.g-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #14254F}
.g-btn.red{background:#D62839;color:#fff}
.g-btn.yel{background:#FFD43B}
.g-btn.on{background:#FFD43B}
.g-btn[disabled]{opacity:.45;cursor:default}
.g-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#14254F;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px}
.g-spacer{flex:1}
.g-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.g-toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);max-width:88%;text-align:center;padding:8px 18px;border-radius:999px;background:#14254F;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;font-size:18px;pointer-events:none;opacity:0;transition:opacity .25s;z-index:5}
.g-toast.show{opacity:1}
/* end card */
.g-end{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(20,37,79,.55)}
.g-end.show{display:flex}
.g-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:4px solid #14254F;border-radius:24px;box-shadow:0 8px 0 #14254F;padding:24px clamp(18px,4vw,30px) 26px;text-align:center;animation:g-pop .45s cubic-bezier(.2,.9,.3,1.25)}
@keyframes g-pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.g-card h2{margin:0;font-family:'Lilita One','Fredoka',sans-serif;font-weight:400;font-size:clamp(28px,6vw,40px);line-height:1.05;text-transform:uppercase;color:#D62839}
.g-card .g-msg{margin:8px 0 0;font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px}
.g-book{display:flex;align-items:center;gap:18px;margin:20px 0 0;padding:16px;border-radius:18px;background:#EEF7FF;border:3px solid #14254F;text-align:left}
.g-book img{flex:none;width:96px;aspect-ratio:510/660;object-fit:cover;border:3px solid #fff;border-radius:8px;box-shadow:0 0 0 3px #14254F,4px 5px 0 2px #14254F;transform:rotate(-3deg);background:#fff}
.g-book p{margin:0}
.g-book .t{font-family:'Fredoka',sans-serif;font-weight:600;font-size:20px;line-height:1.2}
.g-book .b{margin-top:6px;font-size:15px}
.g-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.g-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:#14254F;cursor:pointer}
.g-small{margin:14px 0 0;font-size:14px}
.g-conf{position:fixed;top:-20px;width:12px;height:14px;z-index:60;pointer-events:none;animation:g-fall linear forwards}
@keyframes g-fall{to{transform:translateY(110vh) rotate(720deg)}}
@media (max-width:520px){.g-book{flex-direction:column;text-align:center}.g-btn{font-size:17px;padding:0 18px}}
@media (prefers-reduced-motion:reduce){.g-card{animation:none}.g-conf{display:none}}
.g-card h2{padding:0 34px}
.pick{display:flex;gap:10px;margin:0 0 14px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.pick::-webkit-scrollbar{display:none}
.pick .g-btn{flex:none;flex-direction:column;gap:0;min-height:58px;padding:4px 18px;line-height:1.15}
.pick small{display:block;font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;opacity:.8}
