@font-face{font-family:"Baloo 2 JP";src:url(/play/fonts/baloo2-extrabold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Nunito JP";src:url(/play/fonts/nunito-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
/* A storybook card, like every modal in the game: warm paper, the pals melting into it, navy words, buttons standing on a coloured lip. */
.membership-dialog{box-sizing:border-box;width:min(560px,94vw);max-height:92vh;max-height:92dvh;overflow:auto;border:3px solid #fff;border-radius:30px;background:#fff8ea;color:#1b2152;padding:28px;font:600 16px/1.5 "Nunito JP",system-ui,sans-serif;box-shadow:0 30px 90px #020a24b0}
.membership-dialog::backdrop{background:rgba(9,18,48,.86)}
.membership-art{display:block;width:calc(100% + 56px);height:auto;margin:-28px -28px 0;object-fit:contain;border-radius:27px 27px 0 0}
.membership-art[hidden]{display:none}
.membership-art:not([hidden])~h2{margin-top:16px}
.membership-badge{position:absolute;left:16px;top:12px;z-index:1;width:150px;pointer-events:none}
.membership-badge img{display:block;width:100%;filter:drop-shadow(0 3px 4px #0003)}
.membership-badge span{position:absolute;left:36%;bottom:-8px;padding:6px 12px 4px;border-radius:14px;background:#1b2152;color:#fff;font:800 13px/1 "Baloo 2 JP",system-ui;letter-spacing:.5px;transform:rotate(-5deg)}
.membership-dialog h2{position:relative;margin:0 0 4px;color:#1b2152;font:800 32px/1.15 "Baloo 2 JP",system-ui;text-align:center;text-shadow:0 0 5px #fff8ea,0 0 10px #fff8ea}
.membership-dialog h2::before,.membership-dialog h2::after{content:"";display:inline-block;width:24px;height:24px;margin:0 8px 4px;vertical-align:middle;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%23ffc531' stroke-width='3.6' stroke-linecap='round'%3E%3Cpath d='M20 13H6M19 8.5 10 2.5M19 17.5l-9 6'/%3E%3C/svg%3E") no-repeat center/contain}
.membership-dialog h2::after{transform:scaleX(-1)}
#membership-pitch{margin:0 0 14px;color:#383f6b;text-align:center}
#membership-status{padding:10px 14px;border-radius:14px;background:#e3eefb;color:#1b2152;text-align:center}
.membership-dialog label{display:block;margin:14px 0;color:#1b2152;font:800 15px/1.3 "Baloo 2 JP",system-ui;letter-spacing:.3px}
.membership-dialog select{box-sizing:border-box;width:100%;margin-top:6px;padding:12px 14px;border:2px solid #cce0f7;border-radius:14px;background:#fff;color:#1b2152;font:600 16px "Nunito JP",system-ui,sans-serif}
.membership-dialog .membership-agreement{display:flex;gap:10px;align-items:flex-start;font:600 14px/1.45 "Nunito JP",system-ui,sans-serif;letter-spacing:0}
.membership-agreement input{width:18px;height:18px;margin-top:2px;accent-color:#ff8a2d}
.membership-dialog form>p{color:#383f6b;font-size:13px}
.membership-dialog button{border:2px solid #cce0f7;border-bottom:6px solid #abc9f0;border-radius:18px;padding:11px 18px;background:#fff;color:#1b2152;font:800 18px/1.1 "Baloo 2 JP",system-ui;cursor:pointer}
.membership-dialog button:hover:not(:disabled){background:#f4f9ff}
.membership-dialog button:active:not(:disabled){transform:translateY(3px);border-bottom-width:3px;margin-bottom:3px}
.membership-dialog button:disabled{opacity:.5;cursor:default}
.membership-dialog button[type=submit]{width:100%;border-color:#ffe596;border-bottom-color:#d67c10;background:linear-gradient(#ffde66,#ffab2b);font-size:20px}
.membership-dialog button[type=submit]:hover:not(:disabled){background:linear-gradient(#ffe57f,#ffb846)}
.membership-actions{margin-top:14px}
.membership-actions button{margin:6px 8px 0 0}
.membership-dialog .membership-close{position:absolute;right:16px;top:16px;z-index:2;width:48px;height:53px;padding:0;border:0;border-bottom:5px solid #c7520d;border-radius:14px;background:linear-gradient(#ffa84f,#ff781c);color:#1b2152;font:800 30px/48px "Baloo 2 JP",system-ui}
.membership-dialog .membership-close:hover{background:linear-gradient(#ffb566,#ff8a33)}
.membership-return{padding:16px;background:#fff3ce;color:#152044}
.membership-dialog :focus-visible{outline:3px solid #147bda;outline-offset:3px}
