:root{--paper:#f3f6f8;--surface:#fff;--ink:#1f2e38;--ink-2:#52656f;--mist:#a5b6c2;--slate:#7894a5;--deep:#36505f;--deep-hover:#2a414e;--line:#d9e1e6;--line-strong:#b9c6ce;--danger:#a3403a;--danger-bg:#f8eceb;--ok:#2f6e50;--ok-bg:#e7f2ec;--notice-bg:#eef3f6;--serif:"Noto Serif TC", "Songti TC", serif;--sans:-apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--r-sm:6px;--r-md:10px;--r-lg:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{background:var(--paper);min-height:100dvh;margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:.01em;margin:0 0 .5em;font-weight:600;line-height:1.3}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75em}a{color:var(--deep)}:focus-visible{outline:2px solid var(--deep);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}.btn{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5em;min-height:44px;padding:0 1.1em;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--slate)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--deep);border-color:var(--deep);color:#fff}.btn-primary:hover{background:var(--deep-hover);border-color:var(--deep-hover)}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger)}.btn-text{min-height:36px;color:var(--deep);background:0 0;border:none;padding:0 .4em}.btn-block{width:100%}.btn-line{color:#fff;background:#06c755;border-color:#06c755}.field{flex-direction:column;gap:.3em;margin-bottom:1rem;display:flex}.field>span{color:var(--ink-2);font-size:.9rem}.input,select.input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:44px;padding:0 .8em}.input:focus{border-color:var(--deep);outline:none;box-shadow:0 0 0 3px #36505f26}.hint{color:var(--ink-2);font-size:.85rem}.alert{border-radius:var(--r-sm);margin-bottom:1rem;padding:.75em 1em;font-size:.95rem}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-ok{background:var(--ok-bg);color:var(--ok)}.alert-info{background:var(--notice-bg);color:var(--ink)}.auth{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{width:100%;max-width:380px}.auth-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:2rem;display:flex}.auth-brand img{border-radius:18px;width:72px;height:72px;margin-bottom:.9rem}.auth-brand h1{margin:0;font-size:1.5rem}.auth-brand p{color:var(--ink-2);margin:.2em 0 0;font-size:.95rem}.divider{color:var(--ink-2);align-items:center;gap:.75em;margin:1.25rem 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.auth-links{justify-content:space-between;margin-top:.75rem;font-size:.95rem;display:flex}.shell{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;align-self:start;gap:4px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:10px;padding:0 8px 18px;text-decoration:none;display:flex}.brand img{border-radius:9px;width:34px;height:34px}.brand b{font-family:var(--serif);font-size:1.05rem;font-weight:600}.nav-link{border-radius:var(--r-sm);min-height:42px;color:var(--ink-2);align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.nav-link:hover{background:var(--paper);color:var(--ink)}.nav-link.active{background:var(--notice-bg);color:var(--ink);font-weight:600}.nav-link svg{flex:none;width:20px;height:20px}.sidebar-foot{border-top:1px solid var(--line);color:var(--ink-2);margin-top:auto;padding:12px 8px 0;font-size:.9rem}.main{width:100%;max-width:980px;padding:32px clamp(16px,4vw,48px) 48px}.topbar,.tabbar{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head h1{margin:0}.page-head p{color:var(--ink-2);margin:.25em 0 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:1.25rem;padding:20px}.panel>h2:first-child,.panel>h3:first-child{margin-top:0}.mode-banner{color:#6b5312;text-align:center;background:#fff6dd;padding:6px 16px;font-size:.85rem}.mode-banner button{font-size:.85rem}.list{margin:0;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 4px;display:flex}.list-row:last-child{border-bottom:none}.list-row .grow{flex:1;min-width:0}.list-row .sub{color:var(--ink-2);font-size:.88rem}a.list-row{color:inherit;text-decoration:none}a.list-row:hover{background:var(--paper)}.tag{background:var(--notice-bg);color:var(--deep);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.8rem;display:inline-block}.tag-muted{background:var(--paper);color:var(--ink-2)}.empty{text-align:center;color:var(--ink-2);padding:28px 8px}.grid-2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack>*+*{margin-top:.75rem}.week{gap:2px;display:grid}.week-day{grid-template-columns:52px 1fr;align-items:center;gap:10px;min-height:40px;display:grid}.week-day>b{color:var(--ink-2);font-size:.92rem;font-weight:500}.staff{background:repeating-linear-gradient(to bottom, transparent 0 6px, var(--line) 6px 7px);background-position:0 3px;background-repeat:repeat-y;background-size:100% 7px;height:34px;position:relative}.staff-bar{background:linear-gradient(to bottom, var(--mist) 0 50%, var(--slate) 50% 100%);border-radius:4px;position:absolute;top:4px;bottom:4px;overflow:hidden}.staff-scale{color:var(--ink-2);grid-template-columns:52px 1fr;gap:10px;font-size:.72rem;display:grid}.staff-scale>div{height:1.2em;position:relative}.staff-scale>div>span{white-space:nowrap;position:absolute;transform:translate(-50%)}.day-editor{border-top:1px solid var(--line);padding:14px 0}.day-editor:first-of-type{border-top:none}.day-editor-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.window-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.window-row select{width:auto;min-width:96px}.preview-starts{flex-wrap:wrap;gap:6px;margin-top:.5rem;display:flex}.slot{font-variant-numeric:tabular-nums;border-radius:var(--r-sm);border:1px solid var(--line-strong);padding:4px 10px;font-size:.92rem}.home-hero{align-items:center;gap:16px;margin-bottom:1.5rem;display:flex}.home-hero h1{margin:0}.home-hero p{color:var(--ink-2);margin:0}.big-actions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:1.25rem;display:grid}.big-action{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);color:inherit;flex-direction:column;gap:4px;padding:18px;text-decoration:none;display:flex}.big-action b{font-size:1.05rem}.big-action span{color:var(--ink-2);font-size:.9rem}.big-action.disabled{opacity:.6}@media (width<=760px){.shell{padding-bottom:calc(64px + env(safe-area-inset-bottom));display:block}.sidebar{display:none}.topbar{z-index:10;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar .brand{padding:0}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--ink-2);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 2px 6px;font-size:.72rem;text-decoration:none;display:flex}.tabbar a.active{color:var(--deep);font-weight:600}.tabbar svg{width:22px;height:22px}.main{padding:20px 16px 32px}.grid-2{grid-template-columns:1fr}.week-day,.staff-scale{grid-template-columns:40px 1fr;gap:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--deep);flex:none;margin:3px 0 0}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:.5rem;display:flex}.panel-head h2{margin:0}.tag-danger{background:var(--danger-bg);color:var(--danger)}.credit-num{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.5rem;line-height:1}.big-action.primary{background:var(--deep);border-color:var(--deep);color:#fff}.big-action.primary span{color:#fffc}.choice-row{flex-wrap:wrap;gap:10px;display:flex}.choice{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:130px;padding:12px 16px;display:flex}.choice.small{min-width:90px;padding:8px 14px}.choice span{color:var(--ink-2);font-size:.88rem}.choice .price{font-family:var(--serif);color:var(--ink);font-size:1.15rem}.choice:hover:not(:disabled){border-color:var(--slate)}.choice.selected{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep);background:var(--notice-bg)}.choice:disabled{opacity:.5;cursor:default}.date-picker{gap:8px;max-height:340px;padding-right:4px;display:grid;overflow-y:auto}.date-week{border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.date-week:last-child{border-bottom:none}.date-chip,.time-chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;font-variant-numeric:tabular-nums}.date-chip{flex-direction:column;align-items:center;width:64px;padding:6px 0;line-height:1.25;display:flex}.date-chip span{color:var(--ink-2);font-size:.8rem}.time-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;display:grid}.time-chip{min-height:44px;font-size:1rem}.date-chip:hover,.time-chip:hover{border-color:var(--slate)}.date-chip.selected,.time-chip.selected{background:var(--deep);border-color:var(--deep);color:#fff}.date-chip.selected span{color:#fffc}.confirm-box{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.confirm-box p{font-weight:600}.done-panel h1{margin-bottom:.4em}.bank-box{border-radius:var(--r-md);background:var(--notice-bg);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.bank-acct{font-family:var(--serif);font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:1.25rem}.booking-line .when{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;width:92px;line-height:1.3;display:flex}.booking-line .when span,.trial-row .when span{color:var(--ink-2);font-size:.88rem}.trial-row .when{flex-direction:column;flex:none;width:92px;line-height:1.3;display:flex}.notice-bar{border-radius:var(--r-md);color:#6b5312;background:#fff6dd;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1.25rem;padding:14px 18px;text-decoration:none;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:-4px 0 16px;display:flex;overflow-x:auto}.tab{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px}.tab.selected{color:var(--ink);border-bottom-color:var(--deep);font-weight:600}@media (width<=760px){.choice{flex:1;min-width:calc(50% - 5px)}.booking-line .when,.trial-row .when{width:78px}}.btn-text.btn-danger{color:var(--danger)}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cal-title{text-align:center;min-width:9em;font-family:var(--serif)}.seg{border:1px solid var(--line-strong);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:none;padding:6px 16px}.seg button.selected{background:var(--deep);color:#fff}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-dow{text-align:center;color:var(--ink-2);padding-bottom:2px;font-size:.8rem}.cal-day{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:2px;min-height:92px;padding:6px;display:flex;position:relative;overflow:hidden}.cal-week .cal-day{min-height:220px}.cal-day.outside{background:var(--paper);color:var(--ink-2)}.cal-day.today .cal-num{color:var(--deep);font-weight:700}.cal-day.selected{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep)}.cal-num{font-variant-numeric:tabular-nums;font-size:.85rem}.cal-item{background:linear-gradient(to right, var(--slate) 0 3px, var(--notice-bg) 3px);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;border-radius:3px;padding:1px 4px;font-size:.75rem;line-height:1.35;overflow:hidden}.cal-item.trial{background:linear-gradient(to right, var(--mist) 0 3px, #f3f6f8 3px)}.cal-item.leave{background:var(--danger-bg);color:var(--danger)}.cal-item.special{color:#8a5a00;background:#fdf3df}.cal-more{color:var(--ink-2);font-size:.72rem}.cal-dot{display:none}.agenda-row .when,[data-testid=agenda] .when{font-variant-numeric:tabular-nums;flex:none;width:96px}.move-form{width:100%;padding:10px 0 2px}.confirm-dialog{border:1px solid var(--danger);background:var(--danger-bg);border-radius:var(--r-md);padding:14px 16px}.confirm-dialog ul{margin:8px 0;padding-left:1.2em}.bell{color:var(--ink-2);padding:4px;display:inline-flex;position:relative}.bell svg{width:24px;height:24px}.nav-link{position:relative}.badge{background:var(--danger);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;line-height:18px;position:absolute;top:0;right:-2px}.nav-link .badge{margin-left:auto;position:static}button.list-row{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.notice-item.unread{background:var(--notice-bg)}.notice-item:hover{background:var(--paper)}@media (width<=760px){.cal-month .cal-day{align-items:center;min-height:52px;padding:4px 2px}.cal-month .cal-item,.cal-month .cal-more{display:none}.cal-month .cal-dot{background:var(--deep);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-top:2px;font-size:.72rem;display:inline-block}.cal-week{grid-template-columns:1fr}.cal-week .cal-dow{display:none}.cal-week .cal-day{min-height:0}.cal-week .cal-item{white-space:normal;font-size:.85rem}}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 6px}.table th{color:var(--ink-2);font-size:.88rem;font-weight:500}.table .num{text-align:right;white-space:nowrap}.table tr.total td{border-bottom:none;font-weight:700}.detail-row>td{background:var(--paper);padding:8px 12px 14px}.detail-row .table td{padding:6px 4px}.stat-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;text-decoration:none;display:flex}a.stat-row.panel{border:1px solid var(--line);padding:16px 20px}.chips{flex-wrap:wrap;gap:6px;display:flex}.month-nav{margin-bottom:6px}.guide{max-width:760px;padding:calc(24px + env(safe-area-inset-top)) 16px 24px;margin:0 auto}.guide-head{align-items:center;gap:14px;margin-bottom:20px;display:flex}.guide-head img{border-radius:14px;width:56px;height:56px}.guide-head h1{margin:0;font-size:1.4rem}.guide-head p{color:var(--ink-2);margin:0}.guide ul,.guide ol{margin:0;padding-left:1.3em}.guide li+li{margin-top:4px}.guide-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guide-col{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.guide-col.current{border-color:var(--deep);background:var(--notice-bg)}.danger-panel{border-color:#e3b8b4}@media (width<=760px){.guide-cols{grid-template-columns:1fr}}input.input[type=date],input.input[type=time]{appearance:none;text-align:left;min-width:0;max-width:100%;line-height:44px;display:block}input.input[type=date]::-webkit-date-and-time-value{text-align:left}.actions input.input[type=date]{flex:0 auto;width:auto}.about{max-width:960px;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.about-bar{padding:calc(14px + env(safe-area-inset-top)) 0 14px;justify-content:space-between;align-items:center;display:flex}.about-brand{font-family:var(--serif);color:var(--ink);align-items:center;gap:10px;font-size:1.1rem;font-weight:600;text-decoration:none;display:flex}.about-brand img{border-radius:8px}.about-kicker{color:var(--slate);letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px;font-size:.85rem}.about-hero{border-bottom:1px solid var(--line);padding:48px 0 56px}.about-hero h1{letter-spacing:.04em;margin:0 0 18px;font-size:clamp(2rem,6vw,3.2rem)}.about-lead{max-width:36em;color:var(--ink-2);margin:0 0 26px;font-size:1.08rem;line-height:1.9}.about-founder,.about-teachers{border-bottom:1px solid var(--line);padding:48px 0}.about-founder h2,.about-teachers h2{margin:0 0 6px;font-size:1.6rem}.about-founder-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:32px;margin-top:8px;display:grid}.about-founder-grid p{line-height:1.9}.about-founder-photo,.about-teacher-photo{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);background:#eceaec;width:100%;height:auto;display:block}.about-teacher-tag{color:var(--slate);margin:0 0 14px}.about-highlights{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.about-highlight{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px}.about-highlight h3{color:var(--deep);margin:0 0 10px}.about-highlight p{color:var(--ink-2);margin:0 0 10px;line-height:1.85}.about-highlight p:last-child{margin-bottom:0}.about-teacher-list{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.about-teacher{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.about-teacher .about-teacher-photo{aspect-ratio:5/4;object-position:center 20%;border-radius:0}.about-teacher-body{padding:18px 20px 20px}.about-teacher-body h3{margin:0 0 4px;font-size:1.3rem}.about-prices{border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.about-price{text-align:center;padding:10px 4px}.about-price+.about-price{border-left:1px solid var(--line)}.about-price-size{color:var(--ink-2);font-size:.85rem}.about-price-total{font-variant-numeric:tabular-nums;margin:2px 0;font-size:1.05rem;font-weight:600}.about-price-each{color:var(--slate);font-variant-numeric:tabular-nums;font-size:.8rem}.about-price-off{color:var(--deep);font-weight:600;display:block}.about-trial{color:var(--ink-2);margin:10px 0 8px;font-size:.9rem}.about-section{border-top:1px solid var(--line)}.about-section summary{cursor:pointer;color:var(--deep);justify-content:space-between;padding:11px 0;font-weight:600;list-style:none;display:flex}.about-section summary::-webkit-details-marker{display:none}.about-section summary:after{content:"+";color:var(--slate);font-weight:400}.about-section[open] summary:after{content:"−"}.about-section ul{color:var(--ink-2);margin:0 0 12px;padding-left:1.2em;line-height:1.8}.about-cta{text-align:center;padding:48px 0 8px}.about-cta h2{margin:0 0 8px;font-size:1.6rem}.about-cta p{color:var(--ink-2)}.about-foot{margin-top:28px;font-size:.9rem}@media (width<=720px){.about-hero{padding:28px 0 40px}.about-founder-grid,.about-highlights,.about-teacher-list{grid-template-columns:1fr}.about-founder-grid{gap:18px}.about-founder-photo{max-width:280px}}.local-time{color:var(--slate);font-variant-numeric:tabular-nums;font-size:.82rem}.local-time.block{margin-top:2px;line-height:1.35;display:block}.booking-line .when .local-time{font-size:.75rem}.time-grid.with-local .time-chip{flex-direction:column;justify-content:center;align-items:center;min-height:52px;padding:4px 2px;line-height:1.2;display:flex}.time-chip-local{color:var(--slate);white-space:nowrap;margin-top:2px;font-size:.7rem}.time-chip.selected .time-chip-local{color:#fffc}.tz-note{margin:-4px 0 10px}.beta-intro ul{margin-top:8px}.beta-step{border-left:3px solid #0000}.beta-step.is-ok{border-left-color:var(--ok)}.beta-step.is-issue{border-left-color:var(--danger)}.beta-step.is-skip{opacity:.75}.beta-step-head{align-items:flex-start;gap:12px;display:flex}.beta-step-head h2{margin:2px 0 0}.beta-num{background:var(--notice-bg);width:30px;height:30px;color:var(--deep);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.is-ok .beta-num{background:var(--ok-bg);color:var(--ok)}.is-issue .beta-num{background:var(--danger-bg);color:var(--danger)}.beta-optional{vertical-align:middle;margin-left:8px;font-size:.75rem}.beta-todo{margin:12px 0 0;line-height:1.7}.beta-expect{background:var(--paper);border-radius:var(--r-sm);color:var(--ink-2);margin:10px 0 0;padding:10px 12px;line-height:1.7}.beta-go{margin-top:6px;padding-left:0}.beta-answer{border-top:1px solid var(--line);gap:10px;margin-top:12px;padding-top:12px;display:grid}.beta-status .choice{text-align:center;min-width:88px}.beta-status .beta-ok.selected{background:var(--ok);border-color:var(--ok);color:#fff}.beta-status .beta-issue.selected{background:var(--danger);border-color:var(--danger);color:#fff}.beta-status .beta-skip.selected{color:#fff}.beta-addnote{justify-self:start}.beta-progress{top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);color:var(--ink-2);align-items:center;gap:12px;margin-bottom:12px;padding:10px 0;font-size:.9rem;display:flex;position:sticky}.beta-bar{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.beta-bar span{background:var(--deep);height:100%;transition:width .3s;display:block}.beta-who{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.beta-issue-tag{background:var(--danger-bg);color:var(--danger);margin-left:8px}.beta-detail{padding:4px 4px 14px 12px}.beta-detail ul{margin:0 0 8px;padding-left:1.1em;line-height:1.8}.beta-detail li.is-issue b{color:var(--danger)}.beta-detail li.is-none{color:var(--ink-2)}.beta-note{white-space:pre-wrap;background:var(--paper);border-radius:var(--r-sm);margin:4px 0;padding:6px 10px;line-height:1.6}.beta-issue-group+.beta-issue-group{margin-top:16px}.beta-issue-group ul{margin:6px 0 0;padding-left:1.1em}.btn-wechat{color:#fff;background:#07c160;border-color:#07c160}.btn-wechat:hover{background:#06ad56;border-color:#06ad56}.wechat-dialog{border-radius:var(--r-lg);background:var(--surface);width:min(360px,100vw - 32px);color:var(--ink);border:0;padding:0}.wechat-dialog::backdrop{background:#141e2680}.wechat-body{text-align:center;justify-items:center;gap:12px;padding:22px 20px 14px;display:grid}.wechat-body h2{margin:0}.wechat-body img{width:240px;max-width:100%;height:240px;image-rendering:pixelated}.wechat-steps{text-align:left;color:var(--ink-2);margin:0;padding-left:1.2em;font-size:.9rem;line-height:1.6}.wechat-id-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.big-action.wechat-action{text-align:left;font:inherit;cursor:pointer}.about-policy{border-top:1px solid var(--line);max-width:760px;margin-top:40px;padding:40px 0 8px}.about-policy h2{margin:0 0 8px;font-size:1.4rem}.about-policy>.hint{margin-bottom:12px;line-height:1.8}.about-policy .about-section:last-child{border-bottom:1px solid var(--line)}.about-policy-eg,.policy-eg{background:var(--surface);border-radius:var(--r-sm);margin-left:-1.2em;padding:8px 12px;font-size:.9rem;list-style:none}.about>.about-foot{text-align:center;padding-bottom:8px}.ledger-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:12px;display:grid}.ledger-summary>div{background:var(--paper);border-radius:var(--r-md);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.ledger-summary b{font-variant-numeric:tabular-nums;font-size:1.15rem}.ledger-warn{color:var(--danger)}.ledger-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 4px;display:flex}.ledger-list li+li{border-top:1px solid var(--line)}.ledger-list li.open{background:var(--paper);border-radius:var(--r-md)}.ledger-date{width:44px;color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none}.ledger-main{flex-direction:column;gap:2px;min-width:0;display:flex}.ledger-main .sub{overflow-wrap:anywhere}.ledger-type{margin-left:8px;font-size:.75rem}.ledger-new{background:var(--ok-bg);color:var(--ok)}.ledger-trial{background:var(--notice-bg);color:var(--deep)}.ledger-amount{font-variant-numeric:tabular-nums;flex:none;font-weight:600}.ledger-edit{gap:10px;padding:4px 12px 14px;display:grid}.ledger-edit-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.choice.small b{white-space:nowrap}.guide .policy-eg{background:var(--paper);border-radius:var(--r-sm);margin-left:-1.2em;padding:8px 12px;font-size:.9rem;list-style:none}.push-on{background:var(--ok-bg);color:var(--ok);margin-right:6px}.push-steps{margin:8px 0;padding-left:1.3em;line-height:1.7}.push-prompt{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px;padding:14px 16px;display:flex}.push-prompt .grow{flex-direction:column;gap:2px;min-width:200px;display:flex}.push-prompt span{color:var(--ink-2);font-size:.9rem}.push-prompt .push-error{color:var(--danger)}.sa-row{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.sa-email{background:var(--paper);border-radius:var(--r-sm);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:8px 10px;font-size:.85rem}.sheet-status{margin:-4px 0 12px}.sheet-ok{color:var(--ok)}.sheet-error{color:var(--danger)}.ledger-good{color:var(--ok)}.makeup-box{background:var(--notice-bg);border-radius:var(--r-md);flex-direction:column;align-items:stretch;gap:6px;margin-top:6px;padding:10px 12px;display:flex}.makeup-skipped{font-size:.85rem}.booking-line{flex-wrap:wrap}.booking-line .makeup-box{flex-basis:100%}.location-info p{margin:0 0 10px;line-height:1.5}.location-info a b{color:var(--ink)}.about-location{border-top:1px solid var(--line);margin-top:40px;padding:40px 0 8px}.about-location h2{margin:0 0 12px;font-size:1.4rem}.about-videos{scroll-snap-type:x mandatory;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:10px;margin-top:16px;padding-bottom:4px;display:grid;overflow-x:auto}.about-video{aspect-ratio:16/9;border-radius:var(--r-md,8px);scroll-snap-align:start;background:#000;position:relative;overflow:hidden}.about-video button{all:unset;cursor:pointer;position:absolute;inset:0}.about-video button:focus-visible{outline:3px solid var(--slate);outline-offset:-3px}.about-video img{object-fit:cover;width:100%;height:100%;display:block}.about-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.about-video-play{background:#000000b3;border-radius:10px;width:56px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-video-play:after{content:"";border:9px solid #0000;border-left:15px solid #fff;border-right-width:0;position:absolute;top:11px;left:22px}.about-video button:hover .about-video-play{background:#e00}@media (width<=760px){.about-videos{grid-auto-columns:78%}}.pick-list{max-height:420px;overflow-y:auto}.check-row{cursor:pointer;gap:12px}.check-row input[type=checkbox]{flex:none;width:20px;height:20px}.message-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:8px;padding:12px 14px}.message-card p{white-space:pre-wrap;margin:6px 0 0}.student-note{white-space:pre-wrap;margin:4px 0 0}
