/* Membership rehearsal uses the existing artwork and a quiet cream/moss palette. */
.membership-open{border:1px solid #d6d9ca;border-radius:12px;background:#f3f3e9;color:#526047;padding:9px 12px;font-size:11px;cursor:pointer;white-space:nowrap}
.masthead{flex-wrap:wrap;gap:12px}.masthead .eyebrow{margin-left:auto}
body.compact .membership-open{display:none}
.membership-dialog{width:min(570px,calc(100% - 28px));max-height:calc(100% - 32px);overflow:auto;border:1px solid #d9d8c9;border-radius:24px;background:#fbf8f0;color:#403d34;padding:23px;box-shadow:0 20px 90px #2a271d30}
.membership-dialog::backdrop{background:#28281f70;backdrop-filter:blur(4px)}
.membership-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.membership-top .eyebrow{font-size:8px;color:#657351;letter-spacing:1.2px}.membership-top button{font-size:11px;color:#596448}
.membership-disclosure{font-size:10px;line-height:1.5;color:#737464;margin:8px 0 16px;padding-bottom:13px;border-bottom:1px solid #e2e2d4}
.membership-content h2{font-size:29px;line-height:1.12;letter-spacing:-1px;margin:8px 0 12px;font-weight:850;outline:none;color:#444e38}
.membership-content h3{font-size:14px;margin:17px 0 9px}.membership-content p{font-size:12px;line-height:1.6;color:#6b6d5e;margin:8px 0 14px}.membership-content .eyebrow{color:#6b7957;font-size:8px;letter-spacing:1.2px}
.membership-hero{display:grid;grid-template-columns:1fr 116px;align-items:center;gap:12px;padding:18px 19px;border-radius:17px;background:#e8ecdd url('assets/boba-club/cafe-pattern.svg');background-size:160px;margin-bottom:17px}.membership-hero img{height:160px;width:110px;object-fit:contain}.membership-hero h2{font-size:32px}.membership-hero p{margin-bottom:0;color:#5d6950}
.membership-features{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px;list-style:none;padding:0;margin:14px 0 19px;font-size:11px;color:#5f6853}.membership-features li::before{content:'✓';margin-right:8px;color:#78895f}
.membership-plans{border:0;padding:0;margin:17px 0}.membership-plans legend{font-size:11px;font-weight:650;margin-bottom:10px}.membership-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.membership-plan{position:relative;cursor:pointer}.membership-plan input{position:absolute;opacity:0;width:1px;height:1px;top:12px;left:12px}.membership-plan>span{display:grid;gap:7px;padding:14px;border:1px solid #d8dacb;border-radius:13px;background:#fffdf7;min-height:113px}.membership-plan input:checked+span{border-color:#788a61;box-shadow:inset 0 0 0 1px #788a61;background:#edf0e3}.membership-plan input:focus-visible+span{outline:3px solid #75845c;outline-offset:3px}.membership-plan strong{font-size:13px}.membership-price{font-size:23px;font-weight:800;letter-spacing:-.7px}.membership-price small{font-size:10px;font-weight:500;letter-spacing:0}.membership-plan small{font-size:10px;color:#737763}
.membership-dialog .primary{background:#536345;color:#fffdf5;font-size:12px;padding:14px 17px}.membership-dialog .primary:hover{background:#425337}.membership-dialog .secondary{background:#fffdf7;border-color:#d4d9c7;color:#536345;font-size:12px;padding:13px 16px}.membership-dialog .text-button{font-size:11px;color:#626f50}.membership-dialog button:focus-visible{outline:3px solid #788a61;outline-offset:3px}.membership-dialog button:disabled{opacity:.6;cursor:default}
.membership-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}.membership-actions>.primary{flex:1}.membership-content .membership-fine{font-size:10px;line-height:1.6;margin:10px 0;color:#777a6b}.membership-content .membership-badge{display:inline-block;background:#e9eddf;border:1px solid #d4dcc4;color:#5e704c;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:650;margin:0 0 6px}
.membership-summary{margin:16px 0;border:1px solid #dcded0;border-radius:14px;background:#fffdf7;padding:3px 15px}.membership-summary>div{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:12px 0;border-bottom:1px solid #e6e7dc}.membership-summary>div:last-child{border:0}.membership-summary dt{font-size:11px;color:#757868}.membership-summary dd{font-size:12px;font-weight:650;text-align:right;margin:0}.membership-summary .total dd{font-size:22px}
.membership-profile{display:flex;gap:12px;align-items:center;padding:12px 14px;background:#eef0e5;border-radius:12px;margin:15px 0}.membership-profile>span{background:#dce3cc;border-radius:50%;padding:10px;font-size:15px}.membership-profile strong{display:block;font-size:12px}.membership-profile small{display:block;margin-top:4px;font-size:10px;color:#767b68}
.membership-result{padding:12px 14px;background:#eef0e5;border:1px solid #d9e0cb;border-radius:12px;color:#57664a;font-size:11px;line-height:1.6;margin:12px 0}.membership-result.error{background:#f4e8d7;border-color:#e3cfb6;color:#795c39}
.membership-controls{border-top:1px solid #e2e2d4;padding-top:13px;margin-top:18px;color:#7c806f;font-size:10px}.membership-controls summary{cursor:pointer}.membership-controls>div{display:flex;flex-wrap:wrap;gap:13px;margin-top:10px}.membership-controls button{font-size:10px!important;padding:3px 0}.membership-controls p{font-size:10px!important}
.membership-shop-art{display:flex;gap:18px;align-items:center;background:#e8ecdd;border-radius:16px;padding:18px;margin:15px 0}.membership-shop-art img{width:105px;height:151px;object-fit:contain}.membership-shop-art strong{display:block;font-size:19px}.membership-shop-art p{font-size:11px}.membership-shop-art small{font-size:9px;color:#7d826d}
.membership-closet{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.membership-closet>img{width:62px;height:78px;object-fit:contain;background:#eeeee3;padding:7px;border-radius:10px}
@media(max-width:420px){.membership-dialog{padding:17px}.membership-hero{grid-template-columns:1fr 92px;padding:16px 14px;gap:6px}.membership-hero img{width:92px;height:138px}.membership-hero h2{font-size:27px}.membership-features{grid-template-columns:1fr}.membership-plan>span{padding:11px}.membership-plan small{font-size:9px}.membership-price{font-size:21px}.membership-actions>.primary{flex-basis:100%}.membership-open{font-size:10px;padding:8px}.membership-shop-art{padding:13px;gap:12px}}

.membership-closet .membership-cappy.character{position:relative;width:76px;height:100px;margin:0;background:#eeeee3;border-radius:10px;flex:none;transform:none}.membership-closet .ground{display:none}.membership-closet .master-stage{height:90%;top:5%}.membership-closet img{padding:0;background:none;border-radius:0}.membership-closet .master-image,.membership-closet .badge-art{width:100%;height:100%;object-fit:fill}.membership-closet .scene-portrait{object-fit:contain}.membership-closet .master-pin{height:auto}
