@font-face{font-family:PPM;src:local('SF Pro Display'),local('Helvetica Neue')}*{box-sizing:border-box}body{margin:0;font-family:PPM,system-ui,sans-serif;color:#35223f;min-height:100vh;background:radial-gradient(ellipse at 9% 28%,#ffdcad 0,transparent 53%),radial-gradient(ellipse at 98% 26%,#ceb4ed 0,transparent 55%),linear-gradient(135deg,#faede1,#edccdc 65%,#d3bfed);background-attachment:fixed}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6048af;outline-offset:4px}header{max-width:1200px;margin:auto;padding:38px 38px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand img{width:46px;height:46px}.brand strong{font-size:28px;letter-spacing:-1px}.age,.badge{border:1px solid #fff9;background:#fff3;border-radius:30px;padding:6px 11px;font-size:12px}select{padding:10px 14px;border:1px solid #fff9;background:#fff4;color:inherit;border-radius:30px}main{max-width:1124px;margin:36px auto 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;padding:0 22px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:#72577e}h1{font-size:clamp(42px,5.2vw,67px);line-height:1.02;letter-spacing:-3px;max-width:530px;margin:22px 0}p{line-height:1.6}.lead{color:#715d75;font-size:18px;max-width:410px}.steps{display:flex;gap:30px;margin:50px 0 35px}.steps span{font-size:11px;color:#80678c;border-bottom:1px solid #9c7aa33b;display:block;padding-bottom:12px}.steps p{font-size:13px;font-weight:600}.privacy{font-size:12px;color:#79677e;max-width:380px}.card{padding:32px;border:1px solid #fffe;border-radius:30px;background:linear-gradient(135deg,#ffffff70,#fff2);box-shadow:inset 0 2px 3px #fff,0 22px 65px #633c7b18;backdrop-filter:blur(20px)}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#776080}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.12em}h2{font-size:28px;letter-spacing:-.7px;margin-bottom:5px}.muted{color:#806987;font-size:13px;margin-top:0}.platform{display:flex;gap:15px;align-items:center;margin:28px 0;background:#fff3;border:1px solid #fff7;border-radius:18px;padding:15px}.platform img{width:45px;height:45px}.platform p{margin:2px 0 0;color:#7b6682;font-size:12px}.detail{display:flex;justify-content:space-between;font-size:13px;margin:18px 0;color:#7a6580}.detail strong{color:#3e2c49}.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #fff9;margin-top:23px;padding-top:22px;font-size:14px}.total strong{font-size:35px;letter-spacing:-1px}.age-confirm{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;margin:25px 0 18px;color:#715a79}.age-confirm input{accent-color:#7754a6;margin-top:2px}button{border:0;border-radius:18px;padding:15px 20px;color:white;background:#7855a8;width:100%;font-weight:600;font-size:14px}button:disabled{background:#a88bbc;color:#fff;cursor:not-allowed;opacity:.75}.payment-note{text-align:center;font-size:12px;color:#775c80;margin:13px 0 4px}.small{font-size:10px;color:#806c86;line-height:1.6;text-align:center}footer{max-width:1124px;padding:25px 22px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7e6a84;border-top:1px solid #fff7}dialog{border:1px solid white;border-radius:30px;padding:35px;max-width:440px;width:90vw;background:#f5e7ee;color:#35223f;box-shadow:0 20px 80px #3c215540;text-align:center}dialog::backdrop{background:#3c284b70;backdrop-filter:blur(14px)}dialog .large{display:block;width:max-content;margin:10px auto}dialog p{font-size:14px;color:#745e7d}dialog .secondary{margin-top:10px;background:#fff7;color:#75548c}dialog .small{font-size:10px}@media(max-width:800px){header{padding:25px}main{grid-template-columns:1fr;gap:25px;margin-top:18px;max-width:520px}.intro h1{font-size:48px}.steps{margin:26px 0 10px}.privacy{display:none}.card{padding:25px}footer{flex-direction:column;margin:0 25px}.lead{font-size:16px}}

@media(max-width:480px){.brand{gap:7px}.brand strong{font-size:21px}.brand img{width:35px;height:35px}header{padding:22px 16px;gap:12px}}
[hidden]{display:none!important}.admin-main{align-items:start;gap:45px}.admin-main h1{font-size:52px}.admin-main label{display:block;font-size:12px;margin:18px 0 8px}.admin-main input,.admin-main form select{width:100%;padding:12px;border:1px solid #fff9;border-radius:12px;background:#fff5;color:#35223f}.admin-main form button{margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.notice{font-size:13px;line-height:1.6;color:#785f82}.session-list{grid-column:1/-1}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.list-heading button{width:auto;background:#fff5;color:#7855a8}.session-item{padding:18px 0;border-top:1px solid #fff8;display:flex;gap:15px;align-items:center;justify-content:space-between}.session-item p{margin:5px 0;color:#785f82;font-size:13px}.session-item a{color:#60418b;font-size:13px}.session-item button{width:auto;font-size:12px;padding:10px 14px}.session-item .link-actions{display:flex;gap:15px;align-items:center}#status{font-size:13px;color:#6d2670}@media(max-width:650px){.session-item{align-items:flex-start;flex-direction:column}.admin-main h1{font-size:42px}.form-grid{grid-template-columns:1fr}}

.admin-nav{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}.admin-nav button{width:auto;flex:1;background:#fff6;color:#60418b;border:1px solid #fff9}.admin-nav button[aria-pressed=true]{background:#7855a8;color:white}.admin-nav #logout{flex:0 0 auto}.admin-panel{grid-column:1/-1;max-width:760px;width:100%;justify-self:center}.admin-panel a{color:#60418b}.admin-main:has(.admin-nav:not([hidden])){grid-template-columns:1fr;gap:22px}.admin-main:has(.admin-nav:not([hidden]))>section:first-child h1{max-width:none}.admin-main:has(.admin-nav:not([hidden])) .lead{max-width:none}#durationPicker{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0;font-size:13px}#pricingNotice,#pricingState{font-size:13px;color:#715a79}@media(max-width:480px){.admin-nav #logout{flex-basis:100%}}
