:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#fff;--surface-muted:#f5f6f9;--border:#e3e5ec;--text:#1f2024;--text-muted:#5e626c;--accent:#833fdc;--accent-soft:#f3ecfd;--accent-text:#7337c8;--on-accent:#fff;--success:#1e7a45;--success-soft:#e4f4ea;--warning-text:#8a4a12;--warning-soft:#fff4dc;--danger:#c0262d;--danger-soft:#fdeced}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1c1d21;--surface-muted:#25262b;--border:#36383e;--text:#f4f4f6;--text-muted:#a4a7b0;--accent:#9c5cf2;--accent-soft:#2d2540;--accent-text:#c7a4ff;--success:#74d39f;--success-soft:#1d3527;--warning-text:#f3c27a;--warning-soft:#3b2f1c;--danger:#ff7a73;--danger-soft:#3d2326}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}#app{display:flow-root}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hit{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.hit:disabled{cursor:default}.title{margin:0;font-size:15px;font-weight:600;line-height:21px}.muted{color:var(--text-muted);margin:0;font-size:13px;line-height:18px}hr{background:var(--border);border:0;width:100%;height:1px;margin:0}.win{flex-direction:column;height:100dvh;display:flex}.inline body{background:0 0}.inline .win{border:1px solid var(--border);background:var(--surface);border-radius:20px;height:auto}.inline .scroll,.inline .body{overflow:visible}.inline .bar{border-radius:0 0 20px 20px}.direct body{background:var(--surface-muted)}.direct .win{background:var(--surface);max-width:480px;margin:0 auto}@media (width>=560px) and (height>=640px){.direct .win{border:1px solid var(--border);border-radius:20px;height:calc(100dvh - 48px);margin:24px auto;overflow:hidden}}.head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:14px 16px 14px 20px;display:flex}.avatar{object-fit:cover;background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:10px;flex:none;place-items:center;font-weight:700;display:grid}.titles{flex:1;min-width:0}.name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;line-height:22px;overflow:hidden}.sub{color:var(--text-muted);margin:0;font-size:13px;line-height:18px}.close{background:var(--surface-muted);width:36px;height:36px;color:var(--text);cursor:pointer;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.close svg,.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.close svg{stroke-width:2px}.body{flex:1;min-height:0;padding:20px;overflow-y:auto}.card{background:var(--surface-muted);text-align:center;border-radius:16px;padding:28px 20px}.card h2{margin:0;font-size:16px;font-weight:600}.card p{color:var(--text-muted);margin:6px 0 0}.placeholder{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.button{background:var(--accent);height:48px;color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:12px;margin-top:16px;padding:0 24px;font-weight:600}.skeleton{gap:12px;display:grid}.skeleton span{background:var(--surface-muted);border-radius:12px;height:48px;animation:1.2s ease-in-out infinite alternate pulse}.skeleton span:first-child{width:60%;height:20px}@keyframes pulse{to{opacity:.5}}.foot{color:var(--text-muted);text-align:center;flex:none;padding:12px 20px 16px;font-size:12px;line-height:17px}.foot a{color:inherit;text-decoration:none}.foot a:hover{text-decoration:underline}.foot strong{color:var(--text)}.paid{text-align:center;margin:0;padding:48px 24px;font-size:16px}.steps{border-bottom:1px solid var(--border);flex:none;padding:12px 20px}.steps ol{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:center;gap:6px;display:flex}.steps li+li:before{content:"";background:var(--border);width:14px;height:1.5px}.step-link{color:var(--text-muted);font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:500;line-height:18px;display:flex}button.step-link{cursor:pointer;border-radius:11px}button.step-link:hover .step-name{text-decoration:underline}.dot{border:1.5px solid var(--border);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:600;line-height:1;display:grid}.done .dot,.current .dot{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dot .icon{stroke-width:2.5px;width:14px;height:14px}.current .step-name{color:var(--text);font-weight:600}.steps-caption{display:none}.step{flex-direction:column;flex:1;min-height:0;display:flex}.scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 20px 16px;display:flex;overflow-y:auto}.bar{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;gap:10px;padding:14px 20px 0;display:flex}.bar .foot{padding:0 0 10px}.bar-sum{gap:12px;font-size:15px;font-weight:600;line-height:21px;display:flex}.bar-sum>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bar-sum.center{color:var(--text-muted);justify-content:center;font-size:14px;font-weight:400}.bar-sum.center>span:first-child{flex:0 auto}.bar-price{flex:none}.caption{color:var(--text-muted);text-align:center;font-size:12px;line-height:17px}.btn{background:var(--accent);width:100%;min-height:48px;color:var(--on-accent);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:600;line-height:22px;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn.sm{white-space:nowrap;width:auto;min-height:40px;padding:0 16px;font-size:15px}.btn.secondary[aria-disabled=true]{opacity:.6}.link{color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;line-height:20px;text-decoration:none}.link:hover{text-decoration:underline}.link:disabled{opacity:.5;cursor:default}.notice{background:var(--accent-soft);color:var(--text);border-radius:12px;padding:12px 14px;font-size:14px;line-height:20px}.notice.warn{background:var(--warning-soft);color:var(--warning-text)}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice a{color:inherit;font-weight:600}.stack{flex-direction:column;gap:16px;display:flex}.label{color:var(--text);font-size:13px;font-weight:500;line-height:18px}.label.muted{color:var(--text-muted);margin-bottom:-2px;font-weight:600}.option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex;position:relative}.option.on{border:2px solid var(--accent);background:var(--accent-soft);padding:13px}.option:has(:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.option:has(:disabled){cursor:default}.radio{border:1.5px solid var(--border);background:var(--surface);border-radius:50%;flex:none;width:20px;height:20px;margin-top:.5px}.on .radio{border:6px solid var(--accent)}.copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.copy .title{font-size:15px;font-weight:600;line-height:21px}.copy .text{color:var(--text-muted);font-size:13px;line-height:18px}.aside{flex:none;font-weight:600}.option.service{border-radius:16px;align-items:center;gap:14px;padding:12px}.option.service.on{padding:11px}.option.service .copy{gap:3px}.option.service .title{font-size:16px;line-height:22px}.price{color:var(--accent-text);font-size:14px;font-weight:600;line-height:20px}.photo{object-fit:cover;background:var(--accent-soft);width:72px;height:72px;color:var(--on-accent);border-radius:12px;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.seg{background:var(--surface-muted);border-radius:12px;gap:4px;padding:4px;display:flex}.seg-item{min-width:0;color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:9px;flex:1;padding:9px 8px;font-size:14px;font-weight:500;line-height:20px;position:relative;overflow:hidden}.seg-item.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 1.5px #00000014}:root[data-theme=dark] .seg-item.on{background:var(--border)}.seg-item:has(:focus-visible){outline:3px solid var(--accent);outline-offset:-1px}.row-title,.month{align-items:center;gap:8px;display:flex}.row-title .title,.month .title{flex:1;min-width:0}.arrow{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.arrow:hover:not(:disabled){background:var(--surface-muted)}.arrow:disabled{opacity:.35;cursor:default}.dates{scrollbar-width:none;gap:8px;margin:0 -20px;padding:2px 20px 4px;display:flex;overflow-x:auto}.date{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;width:54px;height:70px;display:flex;position:relative}.date .wd{color:var(--text-muted);font-size:12px;font-weight:500;line-height:17px}.date .dn{font-size:18px;font-weight:600;line-height:25px}.date .dot{background:var(--accent);border:0;width:5px;height:5px}.date.empty{background:var(--surface-muted);border-color:#0000}.date.empty .dn{color:var(--text-muted)}.date.empty .dot{visibility:hidden}.date.on{border-color:var(--accent);background:var(--accent)}.date.on .wd,.date.on .dn{color:var(--on-accent)}.date.on .dot{background:var(--on-accent)}:is(.date:has(:focus-visible),.slot:has(:focus-visible)){outline:3px solid var(--accent);outline-offset:2px}.slots{flex-direction:column;gap:8px;display:flex}.slots .label.muted{color:var(--text);margin:0;font-size:14px;line-height:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.slot{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:54px;display:flex;position:relative}.slot-time{font-size:15px;font-weight:600;line-height:21px}.slot-price{color:var(--text-muted);font-size:12px;line-height:17px}.slot.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.slot.on .slot-price{color:var(--on-accent)}.empty{background:var(--surface-muted);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.empty .skeleton{width:100%}.chosen{background:var(--surface-muted);border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.chosen .icon{width:22px;height:22px;color:var(--accent-text);flex:none}.field{flex-direction:column;gap:6px;display:flex}.input{border:1px solid var(--border);background:var(--surface);width:100%;height:48px;color:var(--text);font:inherit;border-radius:12px;padding:0 14px;font-size:16px}.input:focus{border:2px solid var(--accent);outline:none;padding:0 13px}.input[readonly]{background:var(--surface-muted)}.field.invalid .input{border:2px solid var(--danger);padding:0 13px}.hint{color:var(--text-muted);font-size:12px;line-height:17px}.hint.error,.hint [role=alert]{color:var(--danger)}.hint .link{font-size:12px;line-height:17px}.confirmed{background:var(--surface-muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:48px;padding:10px 14px;font-size:16px;display:flex}.ok{color:var(--success);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.ok .icon{stroke-width:2.5px;width:16px;height:16px}.confirmed .link{margin-left:auto}.code{gap:10px;display:flex;position:relative}.code-input{opacity:0;cursor:text;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.cell{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:0 56px;place-items:center;min-width:0;height:64px;font-size:24px;font-weight:600;line-height:34px;display:grid}.code:focus-within .cell.active{border:2px solid var(--accent)}.code:focus-within .cell.active:empty:after{content:"";background:var(--accent);width:1.5px;height:28px;animation:1s step-end infinite blink}.field.invalid .cell{border-color:var(--danger)}.code-input:disabled~.cell{opacity:.6}@keyframes blink{50%{opacity:0}}.check{grid-template-columns:20px 1fr;gap:4px 10px;font-size:13px;line-height:18px;display:grid}.check input{width:20px;height:20px;accent-color:var(--accent);margin:0}.check a{color:var(--accent-text)}.check .hint{grid-column:2}.legal{color:var(--text-muted);font-size:12px;line-height:17px}.status{color:var(--text-muted);align-items:center;gap:10px;font-size:14px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.summary{border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.summary>.title{margin-bottom:-8px;font-size:16px;line-height:22px}.rows{flex-direction:column;gap:10px;margin:0;font-size:14px;line-height:20px;display:flex}.rows div{gap:12px;display:flex}.rows dt{color:var(--text-muted);flex:1}.rows dd{text-align:right;margin:0;font-weight:500}.prices{flex-direction:column;gap:8px;display:flex}.prices .rows{gap:8px}.prices .rows:last-child{font-size:16px;line-height:22px}.prices .rows:last-child dt{color:var(--text);font-weight:600}.prices .rows:last-child dd{font-weight:700}.rule,.state{background:var(--surface-muted);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-size:13px;line-height:18px;display:flex}.rule .icon{width:18px;height:18px;color:var(--text-muted);flex:none}.state{background:var(--accent-soft);align-items:center;padding:14px}.finale{text-align:center;align-items:center;padding-top:40px}.done-icon{background:var(--success-soft);width:72px;height:72px;color:var(--success);border-radius:50%;place-items:center;display:grid}.done-icon .icon{width:36px;height:36px}.done-title{margin:0;font-size:26px;font-weight:700;line-height:32px}.done-when{color:var(--text-muted);line-height:22px}.finale .summary,.finale .pair,.finale .app{text-align:left;width:100%}.pair{gap:10px;display:flex}.pair .btn{flex:1;min-width:0;padding:0 12px}.app{background:var(--accent-soft);border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.app .icon{width:24px;height:24px;color:var(--accent-text);flex:none}.app div{flex-direction:column;gap:3px;display:flex}.app a{color:var(--accent-text);font-size:14px;font-weight:600;text-decoration:none}.sched{flex-direction:column;gap:16px;padding:24px 24px 8px;display:flex}.sched-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.sched-head .chips{flex:1}.chip{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;line-height:20px}.chip.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.week-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.week-nav .title{white-space:nowrap;font-size:16px;line-height:22px}.sched-day{flex-direction:column;gap:16px;display:flex}.day-title{margin:0;font-size:17px;font-weight:600;line-height:24px}.class{border:1px solid var(--border);border-radius:14px;align-items:center;gap:20px;padding:16px 20px;display:flex}.when{flex-direction:column;flex:none;gap:2px;width:76px;display:flex}.class-time{font-size:18px;font-weight:600;line-height:25px}.when .muted{font-size:12px;line-height:17px}.info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.info .title{font-size:16px;line-height:22px}.class-side{flex:none;align-items:center;gap:20px;display:flex}.seats{background:var(--success-soft);color:var(--success);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;line-height:17px}.seats.low{background:var(--warning-soft);color:var(--warning-text)}.seats.none{background:var(--surface-muted);color:var(--text-muted)}.class-price{white-space:nowrap;font-weight:600}.sched+.foot{padding-top:8px}@media (prefers-reduced-motion:reduce){.skeleton span,.spinner,.code:focus-within .cell.active:empty:after{animation:none}}@media (width<=479px){.head{padding:14px 16px 14px 20px}.steps{padding:12px 16px}.steps ol{gap:6px}.steps li{flex:1}.steps li+li:before{display:none}.step-link{background:var(--border);border-radius:2px;width:100%;height:4px}.done .step-link,.current .step-link{background:var(--accent)}.step-link .dot{display:none}.step-link .step-name{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.steps-caption{margin-top:8px;font-size:13px;font-weight:600;line-height:18px;display:block}.scroll{padding:16px}.dates{margin:0 -16px;padding:2px 16px 4px}.bar{padding:14px 16px 0}.foot-links{display:none}}@media (width<=640px){.sched{padding:16px 16px 4px}.class{flex-wrap:wrap;gap:12px 16px;padding:14px 16px}.when{width:auto}.sched-head .chips{flex-basis:100%}.week-nav{margin-left:0}.class-side{flex-wrap:wrap;flex:100%;gap:8px 12px}.class-side .btn{margin-left:auto}}
