@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;ascent-override:88.4%;descent-override:14.6%;font-weight:100 900;src:url(./epilogue-latin-ext-wght-normal.C9jy1SL9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;ascent-override:88.4%;descent-override:14.6%;font-weight:100 900;src:url(./epilogue-latin-wght-normal.BnupfK5F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Epilogue Field;font-style:normal;font-display:swap;ascent-override:98.4%;descent-override:24.6%;font-weight:100 900;src:url(./epilogue-latin-ext-wght-normal.C9jy1SL9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Field;font-style:normal;font-display:swap;ascent-override:98.4%;descent-override:24.6%;font-weight:100 900;src:url(./epilogue-latin-wght-normal.BnupfK5F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface:#fff;--ink:#152018;--ink-2:#2a372d;--muted:#5a675d;--paper-2:#f3f6f3;--paper-3:#e8eee9;--hover:var(--paper-3);--rule:#c3ccc5;--accent:#2e8a4f;--on-accent:#fff;--tint:#e3f2e7;--tint-2:#d2e9d9;--on:inset 0 0 0 2px var(--accent);--upcoming:#9b51e0;--completed:var(--accent);--up-soft:oklch(94.2% .038 305);--up-soft-2:oklch(90.8% .055 305);--done-soft:oklch(94.2% .042 165);--done-soft-2:oklch(90.8% .06 165);--red:#e5484d;--red-press:#ce2c31;--red-soft:#fce8e8;--red-soft-2:#f9d9da;--note:#fffbeb;--note-edge:#f1e6b8;--edge:inset 0 0 0 1px var(--rule);--edge-hover:inset 0 0 0 1px var(--muted);--outline:0 0 0 1px var(--rule);--sh-raise:0 0 0 1px var(--accent);--line:#aeb9b1;--pri:var(--accent);--pri-hover:#287a45;--pri-press:#236c3d;--font:"Epilogue Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-field:"Epilogue Field", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-title:32px;--fs-body:17px;--r:8px;--glide:.2s;--ease:cubic-bezier(.2, .8, .2, 1);--stripes:var(--paper-3)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--surface);scroll-padding-top:calc(var(--head) + 16px)}body{font-family:var(--font);font-size:var(--fs-body);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.47}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}input{font:inherit;font-family:var(--font-field);color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}ol{list-style:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}html,body{overflow-x:clip}.app{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}main{flex-direction:column;min-width:0;display:flex}.app>main{background:var(--surface)}.wrap{width:100%;max-width:1264px;margin:0 auto;padding:0 32px}:root{--head:0px}.sidebar{background:var(--paper-2);flex-direction:column;gap:24px;height:100dvh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;white-space:nowrap;border-radius:var(--r);align-items:center;gap:8px;height:36px;padding:0 12px;font-weight:700;display:flex}.logo{flex:none;width:22px;height:22px}.nav{flex-direction:column;gap:4px;min-width:0;display:flex}.nav a{border-radius:var(--r);white-space:nowrap;height:40px;color:var(--ink-2);align-items:center;gap:12px;padding:0 12px;font-weight:500;transition:background-color .12s;display:flex}.nav .ic{color:var(--muted)}.nav a:hover{background:var(--hover)}.nav a[aria-current=page]{box-shadow:var(--on);background:var(--tint);color:var(--ink)}.nav a[aria-current=page]:hover{background:var(--tint-2)}.nav a[aria-current=page] .ic{color:var(--accent)}.acct{flex-direction:column;gap:12px;margin-top:auto;display:flex}.acct form{display:flex}.acct .secondary{width:100%;height:40px}.who-row{justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.me{align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.me .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.corner{align-self:flex-end;align-items:center;gap:16px;min-height:34px;margin:16px 32px 0 0;display:flex}.clock{color:var(--ink-2);white-space:nowrap;font-weight:500}.seg{box-shadow:var(--edge);flex:none;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:hidden}.seg>*,.seg form>button{height:34px;color:var(--ink-2);white-space:nowrap;border-radius:0;justify-content:center;align-items:center;padding:0 12px;font-weight:500;transition:background-color .12s;display:inline-flex}.seg>form{padding:0;display:flex}.seg form>button{flex:auto}.seg>*+*{border-left:1px solid var(--rule)}.seg a:hover,.seg button:not(:disabled):hover{background:var(--hover)}.seg :is([aria-current],[aria-pressed=true]){box-shadow:var(--on);background:var(--tint);color:var(--ink)}.seg :is(a[aria-current],button[aria-pressed=true]):hover{background:var(--tint-2)}.seg button:disabled{color:var(--muted);cursor:default}.seg button:focus-visible,.seg a:focus-visible{outline-offset:-2px}.tickets{flex:none;place-items:center;font-weight:500;display:inline-grid}.tickets>*{grid-area:1/1}.tickets .ic{stroke-width:.9px;width:52px;height:52px;color:var(--accent);margin-block:-12px}.tickets .ic .perf{display:none}@media (width<=900px){.app{flex-direction:column;display:flex}.sidebar{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;height:auto;padding:12px 16px 16px;display:grid;position:static;overflow:visible}.brand{height:44px;padding:0}.acct{display:contents}.who-row{grid-area:1/2;justify-content:flex-end;min-width:0;padding:0}.acct>form{grid-area:1/3}.acct .secondary{height:36px}.nav{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.nav a{justify-content:center;padding:0 4px}.nav .ic{display:none}}.tabbar{display:none}@media (width<=600px){.sidebar .nav{display:none}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabbar{z-index:20;padding:0 8px env(safe-area-inset-bottom);background:var(--paper-2);display:block;position:fixed;inset:auto 0 0}.tabbar .tabs{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;height:64px;display:grid}.tabbar :is(.tabs>a,.tabs>button){border-radius:var(--r);height:56px;color:var(--ink-2);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background-color .12s;display:flex}.tabbar .tabs span{line-height:1}.tabbar .others{flex-direction:column;gap:4px;padding:12px 0 4px;display:flex}.tabbar .others a{border-radius:var(--r);height:48px;color:var(--ink-2);align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.tabbar .ic{color:var(--muted)}.tabbar :is(a,button):hover{background:var(--hover)}.tabbar :is(a[aria-current=page],button.here){box-shadow:var(--on);background:var(--tint);color:var(--ink)}.tabbar :is(a[aria-current=page],button.here):hover{background:var(--tint-2)}.tabbar :is(a[aria-current=page],button.here) .ic{color:var(--accent)}}.head{justify-content:space-between;align-items:center;gap:16px;padding-top:16px;padding-bottom:24px;display:flex}.ph .head{flex-direction:column;justify-content:flex-start;align-items:flex-start}h1{font-size:var(--fs-title);letter-spacing:-.03em;overflow-wrap:break-word;min-width:0;font-weight:700;line-height:1.2}.band{flex:auto;padding:0 0 64px}.band.fill{flex-direction:column;display:flex}.band.fill>.wrap{flex-direction:column;flex:auto;display:flex}.grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.secs{flex-direction:column;gap:32px;min-width:0;display:flex}.read.side{top:calc(var(--head) + 24px);position:sticky}.sechead{align-items:center;gap:12px;min-height:36px;margin-bottom:12px;display:flex}.lab{font-size:var(--fs-body);font-weight:600}.lab .now{color:var(--muted);margin-left:8px;font-weight:400}.sechead .mnav{gap:8px;margin-left:auto;display:flex}.card{background:var(--surface);border-radius:var(--r)}.card:not(dialog)>:is(.rows,.list,.tbl){padding:0}.card:not(dialog)>.fields{padding:0 0 20px}.card:not(dialog)>.foot{padding:8px 0 0}.card.months:not(dialog),.card.cal:not(dialog),.card.week:not(dialog){padding:0}.card.stat{background:var(--paper-2)}.foot{border-radius:0 0 var(--r) var(--r);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px 16px;display:flex}.foot .iconbtn{box-shadow:var(--outline)}.foot .error,.foot>form,.foot>.confirm,.foot>a,.foot>button{flex:100%}.foot .confirm>*{flex:1 1 0}.foot :is(.primary,.secondary,.change,.iconbtn){width:100%;height:40px}.error{color:var(--red);font-weight:500}.error.after{margin-top:12px}.change,.primary,.secondary{border-radius:var(--r);cursor:pointer;background:var(--surface);height:36px;color:var(--ink);box-shadow:var(--outline);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;line-height:1;transition:background-color .12s;display:inline-flex}.change{min-width:88px}.change:hover,.secondary:hover{background:var(--hover)}.change:active,.secondary:active{background:var(--tint)}.change.go,.primary{background:var(--pri);color:var(--on-accent);box-shadow:none;font-weight:500}.change.go:hover,.primary:hover{background:var(--pri-hover);box-shadow:none}.change.go:active,.primary:active{background:var(--pri-press)}.danger:hover{background:var(--red-soft);color:var(--red-press);box-shadow:none}.danger:active{background:var(--red-soft-2)}.change.stop{background:var(--red-soft);color:var(--red-press);box-shadow:none;font-weight:600}.change.stop:hover,.change.stop:active{background:var(--red-soft-2)}.change:disabled,.primary:disabled,.secondary:disabled{background:var(--paper-2);color:var(--muted);box-shadow:var(--outline);cursor:default;pointer-events:none}.confirm{align-items:center;gap:8px;display:flex}.confirm form{display:flex}.link{border-radius:4px;font-weight:500;transition:color .12s}.link:hover{color:var(--pri-hover)}.iconbtn{border-radius:var(--r);min-width:36px;height:36px;color:var(--ink);white-space:nowrap;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:500;transition:background-color .12s;display:inline-flex}.iconbtn:hover{background:var(--hover)}.iconbtn:active{background:var(--tint)}.iconbtn.danger:hover{background:var(--red-soft);color:var(--red-press);box-shadow:none}.iconbtn.go{background:var(--pri);color:var(--on-accent);box-shadow:none}.iconbtn.go:hover{background:var(--pri-hover);box-shadow:none}.iconbtn.go:active{background:var(--pri-press)}.iconbtn.stop{background:var(--red-soft);color:var(--red-press);box-shadow:none}.iconbtn.stop:hover,.iconbtn.stop:active{background:var(--red-soft-2)}.iconbtn:disabled{background:var(--paper-2);color:var(--muted);cursor:default;pointer-events:none}.iconbtn.gone{visibility:hidden}.rows{flex-direction:column;gap:8px;padding:16px;display:flex}.row{border-radius:var(--r);align-items:center;gap:16px;min-height:48px;padding:6px 6px 6px 16px;display:flex}.rows>.row{background:var(--paper-2)}.row .k{color:var(--muted);flex:0 0 140px}.side .row .k{flex-basis:112px}.row .v{overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:500}.row>.change,.row>.iconbtn,.row>form,.row>.confirm{margin-left:auto}.rows>.change.add,.rows>form.add>.change{width:100%;height:40px}.v.bad{align-items:center;gap:8px;display:inline-flex}.v.bad:before{content:"";background:var(--red);border-radius:50%;width:8px;height:8px}.mark{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.mark.upcoming{background:var(--upcoming)}.mark.completed{background:var(--completed)}.mark.missed{background:var(--red)}.row .v:has(>.mark){align-items:center;gap:8px;display:flex}.cap{gap:3px;display:inline-flex}.cap i{background:var(--surface);width:9px;height:16px;box-shadow:inset 0 0 0 1px var(--line);border-radius:2px}.cap i.on{background:var(--accent);box-shadow:none}.cap.stretch{flex:auto;min-width:0;height:14px;display:flex}.cap.stretch.many{gap:1px}.cap.stretch i{flex:1 1 0;width:auto;min-width:0;height:auto}.v.places{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card.cal{padding:16px 16px 20px}.cal .sechead{padding-left:8px}.month{grid-template-rows:32px;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:104px;gap:8px;display:grid}.mwd{color:var(--muted);align-self:center;padding-left:12px;font-weight:500}.mwd.on{color:var(--ink)}.ghost{display:block}.blk{border-radius:var(--r);background:var(--paper-2);padding:8px;transition:background-color .12s;position:relative}.blk:hover{background:var(--hover)}.blk.sel{box-shadow:var(--on);background:var(--tint)}.blk.sel:hover{background:var(--tint-2)}.blk .dt{place-items:center;width:28px;height:28px;font-weight:500;display:inline-grid}.blk.past .dt{color:var(--muted)}.blk.today .dt,.dh.today .dt,.chip.today .dt{color:var(--accent);font-weight:700}.dots{gap:4px;display:flex;position:absolute;bottom:12px;left:14px}.wk{--row:52px;grid-template-columns:48px repeat(7,minmax(0,1fr));gap:8px 4px;display:grid}.wk .dh{border-radius:var(--r);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:0;height:44px;font-weight:500;transition:background-color .12s;display:flex}.wk .dh:hover{background:var(--hover)}.wk .dh[aria-current]{box-shadow:var(--on);background:var(--tint)}.wk .dh[aria-current]:hover{background:var(--tint-2)}.wk .dh .wd,.chip .wd{color:var(--muted)}.wk .dh .dt{place-items:center;width:28px;height:28px;display:inline-grid}.hrs,.wk .col{grid-template-rows:repeat(var(--hours), var(--row));row-gap:4px;display:grid}.hrs span{color:var(--muted);padding-top:2px}.wk .col{min-width:0;position:relative}.wk .slot{background:var(--paper-2);border-radius:var(--r)}.wk .bk{z-index:1;left:0;right:0;top:calc(var(--t) * (var(--row) + 4px));height:calc(var(--h) * (var(--row) + 4px) - 4px);border-radius:var(--r);flex-direction:column;min-width:0;padding:4px 6px;line-height:1.3;transition:background-color .12s;display:flex;position:absolute;overflow:hidden}.wk .bk.upcoming{background:var(--up-soft)}.wk .bk.upcoming:hover{background:var(--up-soft-2)}.wk .bk.completed{background:var(--done-soft)}.wk .bk.completed:hover{background:var(--done-soft-2)}.wk .bk.missed{background:var(--paper-3)}.wk .bk .bt{white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:flex}.wk .bk .bn{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chips{display:none}.wk.one{grid-template-columns:48px minmax(0,1fr)}.row.entry{gap:12px}.row.entry .kind,.wk .bk .kind{display:flex}.kind.upcoming{color:var(--upcoming)}.kind.completed{color:var(--completed)}.kind.missed{color:var(--red)}.what{flex:auto;align-items:baseline;gap:12px;min-width:0;display:flex}.what .k,.side .what .k{color:var(--ink);flex:none}.what .k.time{font-weight:500}.what .v{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.what .tag{color:var(--muted);margin-left:8px}a.row{transition:background-color .12s}:has(>.stretch){position:relative}.stretch:after{content:"";border-radius:inherit;position:absolute;inset:0}.stretch:focus-visible{outline:none}.stretch:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r)}:has(>.stretch)>:is(form,button:not(.stretch),.iconbtn){z-index:1;position:relative}.rows>a.row:hover{background:var(--hover)}.rows>a.row:after{content:"";background:var(--muted);flex:none;width:18px;height:18px;margin:0 6px 0 auto;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") 50%/18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") 50%/18px no-repeat}.stepper{flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 24px;display:flex}.stepper li{border-radius:var(--r);height:36px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-weight:500;transition:background-color .12s;display:inline-flex;position:relative}.stepper li.done{color:var(--ink);font-weight:700}.stepper li.now{color:var(--ink);font-weight:600}.stepper li.now:after{content:"";background:var(--accent);border-radius:3px;height:3px;position:absolute;bottom:0;left:8px;right:8px}.stepper li.sep{color:var(--muted);padding:0}.stepper li:has(>.stretch):hover{background:var(--hover)}.tile{background:var(--paper-2);border-radius:var(--r);transition:background-color .12s}.tile .wd{color:var(--muted);font-weight:500}.tbl{flex-direction:column;gap:8px;padding:8px 16px 16px;display:flex}.tr{border-radius:var(--r);align-items:center;column-gap:16px;min-height:48px;padding:0 16px;display:grid}.tr:not(.th){background:var(--paper-2)}.tr.th{min-height:40px;color:var(--muted);font-weight:600}.classes .tr{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,2fr) 48px 176px}.classes .view{justify-self:end}.c-date,.c-name{font-weight:500}.classes .meta{white-space:nowrap;align-items:center;gap:14px;display:flex}.classes .change{justify-self:end}.crow.booked .cap i.on,.crow.waiting .cap i.on{background:repeating-linear-gradient(-45deg, var(--accent) 0 1.5px, var(--surface) 1.5px 4px);box-shadow:inset 0 0 0 1px var(--accent)}.crow.full .c-date,.crow.full .c-time,.crow.full .c-name,.crow.full .price,.crow.full .tag{color:var(--muted)}.strips{flex-direction:column;gap:12px;display:flex}.strip{--ring:inset 0 0 0 1px var(--rule);border-radius:var(--r);background:var(--surface);box-shadow:none;grid-template-columns:200px minmax(0,1fr);min-height:80px;transition:box-shadow .15s;display:grid;position:relative;overflow:hidden}.strip:before{content:"";border-radius:inherit;box-shadow:var(--ring);z-index:1;pointer-events:none;transition:box-shadow .15s;position:absolute;inset:0}.pack{cursor:pointer}.pack:hover{background:var(--hover)}.pack.on{--ring:var(--on);background:var(--tint)}.pack.on:hover{background:var(--tint-2)}.pack:has(.sel:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.strip .sname{flex-direction:column;justify-content:center;padding:16px 0 16px 24px;font-weight:600;display:flex}.strip .sname .k{color:var(--muted);font-weight:400}.pack .sel:focus-visible{outline:none}.pack .sel:after{content:"";z-index:1;position:absolute;inset:0}.stub{background:var(--paper-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 200px;align-items:center;column-gap:16px;padding:12px 20px 12px 32px;display:grid;position:relative}.stub:before,.stub:after{display:none}.stub:before{top:-9px}.stub:after{bottom:-9px}.stub .cell{white-space:nowrap;color:var(--muted)}.stub .cell b{color:var(--ink);font-weight:600}.stub .permonth .big{font-size:var(--fs-title);letter-spacing:-.02em;font-weight:700;line-height:1.1}.stub .save{border-radius:var(--r);background:var(--tint);color:var(--ink);padding:4px 10px;font-weight:600;display:inline-flex}.stub .go{z-index:3;display:flex;position:relative}.stub .go .primary{width:100%;height:40px}.stub .go .st{white-space:nowrap;font-weight:600}.strips+.card{margin-top:12px}.list{border-collapse:separate;border-spacing:0 8px;width:100%}.card>.list{padding:0 16px 8px}.list th{text-align:left;color:var(--muted);white-space:nowrap;padding:8px 16px 0;font-weight:600}.list td{white-space:nowrap;background:var(--paper-2);padding:12px 16px}.list td:first-child{border-radius:var(--r) 0 0 var(--r)}.list td:last-child{border-radius:0 var(--r) var(--r) 0}.list .num{text-align:right}.list .strong{font-weight:500}.list .act{text-align:right}.list td.act{padding-top:6px;padding-bottom:6px}.list td:has(>.pct){padding-top:6px;padding-bottom:6px}.st{align-items:center;gap:8px;display:inline-flex}.st:before{content:"";background:var(--surface);width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--ink);border-radius:50%}.st.active:before{background:var(--ink);box-shadow:none}.st.pending:before{background:var(--surface)}.st.failed:before{background:var(--red);box-shadow:none}.months{padding:16px}.hmonth+.hmonth{margin-top:8px}.hmonth .list{border-spacing:0 8px;margin:-8px 0}.hmonth .list th{color:var(--ink);background:var(--paper-2);padding:12px 16px;font-weight:700}.hmonth .list td.in{background:0 0;padding:0;position:relative}.hmonth .list td.in:before{content:"";background:var(--rule);width:2px;position:absolute;top:-8px;bottom:0;left:24px}.hmonth .list td.in+td,.hmonth .list th:first-child{border-radius:var(--r) 0 0 var(--r)}.hmonth .list th:last-child{border-radius:0 var(--r) var(--r) 0}.hmonth .list td.date,.hmonth .list td.how{color:var(--muted)}.hmonth .list td.num{font-weight:600}@media (width>=601px){.hmonth .list{table-layout:fixed}.hmonth .c-in{width:48px}.hmonth .c-date{width:9em}.hmonth .c-who{width:10em}.hmonth .c-how{width:9em}.hmonth .c-amt{width:7em}.hmonth .c-st{width:8em}}.row.editing .edit{flex:auto;min-width:0}.row.item{gap:12px}.row:has(>.stretch){transition:background-color .12s}.row:has(>.stretch:hover){background:var(--hover)}.roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.roster>.row{background:var(--paper-2)}.badge{color:var(--accent);flex:none;display:inline-flex}.row.item .iconbtn{height:36px}.side .row.editing{flex-wrap:wrap;row-gap:10px}.side .row.editing .confirm{flex:1 0 100%}.side .row.editing .confirm>*{flex:1 1 0}.card.week{padding:16px 20px 20px}.paint{-webkit-user-select:none;user-select:none;grid-template-rows:auto 0;grid-template-columns:60px repeat(7,minmax(0,1fr));grid-auto-rows:28px;gap:0;display:grid}.paint .dh{grid-row:1;grid-column:var(--c);white-space:nowrap;align-self:end;align-items:center;gap:4px;margin-bottom:4px;padding:4px 0;font-weight:500;display:flex}.paint .dh .wd{color:var(--muted)}.card.week>.sechead{padding-left:4px}.paint .dh.past{color:var(--muted)}.paint .doff{border-radius:var(--r);height:32px;color:var(--muted);justify-content:center;align-items:center;gap:4px;margin:-6px 0 -6px auto;padding:0 8px;font-weight:500;display:inline-flex}.paint .doff:hover{color:var(--ink);background:var(--hover)}.paint .doff.on,.paint .doff.on:hover{color:var(--on-accent);background:var(--accent)}.paint .tl{grid-column:1;grid-row:var(--r);color:var(--muted);align-self:center;padding-right:8px;line-height:1}.paint .tl.half{visibility:hidden}.paint :is(.cell,.offt,.bk){outline:1px solid var(--rule);outline-offset:-1px;margin:0 -1px -1px 0}.paint .cell{grid-column:var(--c);grid-row:var(--r);background:var(--surface);touch-action:none;cursor:cell}.paint .cell:hover{background:var(--hover)}.paint .cell.on,.paint .cell.on:hover{background:var(--stripes)}.paint .cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1;position:relative}.paint .offt{grid-column:var(--c);grid-row:var(--r) / var(--end);background:var(--stripes)}.paint .bk{grid-column:var(--c);grid-row:var(--r) / span var(--span);z-index:1;background:var(--up-soft);color:var(--ink);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:6px 8px;font-weight:600;line-height:1.2;transition:filter .12s;display:flex;position:relative;overflow:hidden}.paint .bk:hover{background:var(--up-soft-2)}.paint .bk.done{background:var(--done-soft);color:var(--ink);font-weight:500}.paint .bk.done:hover{background:var(--done-soft-2)}.daytabs{display:none}main.out{min-height:100dvh}.signin{width:100%;max-width:420px;margin:0 auto;padding:96px 16px 64px}.signin h1{align-items:center;gap:12px;margin-bottom:24px;display:flex}.signin .logo{width:36px;height:36px}.fields{flex-direction:column;gap:16px;padding:24px 24px 20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--muted);font-weight:500}.field input,.row.editing .edit input,.pct input{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:40px;box-shadow:none;padding:0 12px}.field input:focus,.row.editing .edit input:focus,.pct input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.field textarea,.row.editing .edit textarea{resize:vertical;min-height:96px;font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:none;padding:10px 12px}.field textarea:focus,.row.editing .edit textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.field .select>.pick span{color:var(--ink)}.row.editing .edit input[aria-invalid=true],.pct input[aria-invalid=true],.field input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 3px #e5484d2e}.row.editing .edit input{width:100%;height:36px;font-weight:500}.row.editing .edit textarea{width:100%;font-weight:500;display:block}.signin>.primary{width:100%;height:40px}.edit.pair{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px;display:grid}.select{width:100%;position:relative}.select>.pick{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);width:100%;height:40px;box-shadow:none;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-weight:500;display:flex}.row.editing .select>.pick{height:36px}.select>.pick:focus-visible,.select>.pick[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.select>.pick span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.select>.pick .chev{color:var(--muted);transition:transform .12s}.select>.pick[aria-expanded=true] .chev{transform:rotate(180deg)}.select>.opts{z-index:20;background:var(--surface);border-radius:var(--r);max-height:264px;box-shadow:var(--outline);min-width:max-content;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.select>.opts li{white-space:nowrap;border-radius:var(--r);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 10px;display:flex}.select>.opts li.active{background:var(--paper-2)}.select>.opts li[aria-selected=true]{box-shadow:var(--on);background:var(--tint);color:var(--ink);font-weight:500}.select>.opts li[aria-selected=true]:is(:hover,.active){background:var(--tint-2)}.select>.opts .tick{color:var(--accent)}@media (width<=600px){.seg>*,.seg form>button,.iconbtn,.change,.primary,.secondary,.foot :is(.primary,.secondary,.change,.iconbtn),.rows>.change.add,.rows>form.add>.change,.row.item .iconbtn{height:44px}.iconbtn{min-width:44px}.roster{grid-template-columns:minmax(0,1fr)}:root{--fs-title:28px;--fs-body:17px}.wrap{padding:0 16px}.corner{margin-right:16px}.head{flex-wrap:wrap;padding-top:20px;padding-bottom:16px}.head .seg{width:100%}.head .seg>*{flex:1 1 0}.band{padding:16px 0 40px}.grid{grid-template-columns:minmax(0,1fr);gap:28px}.read.side{position:static}.side.first{order:-1}.side .row .k{flex-basis:auto}.row{gap:2px 12px;min-height:48px;padding:10px 8px 10px 12px}.row:has(>.k){grid-template-columns:minmax(0,1fr) auto;display:grid}.row>.k{grid-area:1/1}.row>.k+.v{grid-area:2/1}.row>.change,.row>.iconbtn,.row>form,.row>.confirm{grid-area:1/2/span 2;align-self:center;margin:0}.row.entry{padding:12px 8px 12px 12px}.row.editing{grid-template-columns:minmax(0,1fr);row-gap:10px}.row.editing .confirm{grid-area:auto/1}.row.editing .confirm>*{flex:1 1 0}.card.cal{padding:12px 8px 16px}.month{grid-template-rows:32px;grid-auto-rows:52px;gap:2px}.mwd{text-align:center;padding-left:0}.blk{justify-content:center;padding:4px 0 0;display:flex}.dots{justify-content:center;gap:3px;bottom:6px;left:0;right:0}.dots .mark{width:6px;height:6px}.card .chips{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:12px;display:grid}.chip{border-radius:var(--r);flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;height:72px;padding-top:6px;font-weight:500;display:flex;position:relative}.chip .dt{place-items:center;width:26px;height:26px;display:inline-grid}.chip.in{background:var(--paper-2)}.chip:hover{background:var(--hover)}.chip[aria-current]{box-shadow:var(--on);background:var(--tint)}.chip[aria-current]:hover{background:var(--tint-2)}.chip .dots{gap:2px;bottom:6px}.chip .dots .mark{width:5px;height:5px}.wk{--row:48px;grid-template-columns:44px repeat(3,minmax(0,1fr))}.wk>span:first-child,.wk .dh,.wk .away{display:none}.wk.one{grid-template-columns:44px minmax(0,1fr)}.wk .bk{padding:4px}.stepper li{gap:8px}.classes .tr.th{display:none}.classes .tr{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"name name price""date time time""places places act";row-gap:6px;padding:12px}.c-name{grid-area:name}.c-date{color:var(--muted);grid-area:date;font-weight:400}.c-time{color:var(--muted);grid-area:time}.classes .meta{grid-area:places;gap:10px}.classes .price{grid-area:price;justify-self:end}.classes .view{grid-area:act}.cap i{width:8px;height:14px}.strip{grid-template-columns:minmax(0,1fr);min-height:0}.strip .sname{padding:14px 16px}.stub{grid-template-columns:minmax(0,1fr) auto;row-gap:12px;padding:14px 16px}.stub:before,.stub:after{top:-9px;bottom:auto}.stub:after{left:auto;right:-9px}.stub .cell:nth-child(2){justify-self:end}.stub .cell:nth-child(3):empty{display:none}.stub .go{grid-column:1/-1}.stub .go:empty{display:none}.stub .go .primary{height:44px}.list th,.list td{padding-left:8px;padding-right:8px}.list th:first-child,.list td:first-child{padding-left:16px}.list th:last-child,.list td:last-child{padding-right:16px}.list th:nth-child(3):not(.num),.list td:nth-child(3):not(.num){white-space:normal}.months{padding:4px 8px 8px}.foot{padding:14px 16px}.foot :is(.primary,.secondary,.change,.iconbtn){height:44px}.card.week{padding:12px}.daytabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px;display:grid}.daytabs .tile{border-radius:var(--r);height:56px;box-shadow:var(--edge);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;line-height:1.2;display:flex}.daytabs .tile .dn{font-weight:600}.daytabs .tile.has{background:var(--stripes) left bottom / 100% 10px no-repeat, var(--surface)}.daytabs .tile.sel{box-shadow:inset 0 0 0 2px var(--accent)}.daytabs .tile:disabled{cursor:default}.daytabs .tile:disabled .dn{color:var(--muted)}.paint{grid-template-columns:52px minmax(0,1fr);grid-auto-rows:44px}.paint .dh{grid-column:1/-1}.paint .tl.half{visibility:visible}.paint .cell,.paint .bk,.paint .offt{grid-column:2}.paint .cell{touch-action:manipulation}.paint .bk{padding:10px 14px}.paint .away{display:none}.signin{padding-top:56px}}body.carrying,body.carrying *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.handle{border-radius:var(--r);width:24px;height:40px;color:var(--muted);cursor:grab;touch-action:none;flex:none;place-items:center;margin-left:-6px;display:grid}.handle:hover{background:var(--hover);color:var(--ink)}.ex{background:var(--surface);border-radius:var(--r);box-shadow:var(--outline);padding:14px 16px 16px}.ex .bh{align-items:center;gap:12px;display:flex}.ex .th{min-width:32px;height:32px;box-shadow:inset 0 0 0 1.5px var(--ink);border-radius:999px;flex:none;place-items:center;padding:0 6px;font-weight:600;display:grid}.ex .nm{min-width:0;font-weight:600}.rest{border-radius:var(--r);flex:none;align-items:center;gap:4px;height:36px;padding:0 10px;display:flex}.rest .unit,.ex .unit{color:var(--muted)}.ex .sets{gap:2px;margin-top:12px;display:grid}.ex .sr{border-radius:var(--r);grid-template-columns:56px 160px 112px 112px;align-items:center;gap:8px;min-height:44px;padding:4px 8px;display:grid}.ex .sets.time .sr{grid-template-columns:56px 160px 232px}.ex .sr.hd{min-height:28px;color:var(--muted);padding-top:0;padding-bottom:0;font-weight:500}.ex .sr>:nth-child(n+3){text-align:center}.ex .sn{border-radius:var(--r);place-items:center;width:28px;height:28px;font-weight:600;display:grid}.ex .prev{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=600px){.ex{padding:12px}.ex .sr{grid-template-columns:36px minmax(0,1fr) 64px 64px;gap:6px;padding:4px 6px}.ex .sets.time .sr{grid-template-columns:36px minmax(0,1fr) 134px}}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.stat{flex-direction:column;gap:6px;padding:18px 24px;display:flex}.stat .k{color:var(--muted);font-weight:500}.stat .n{font-size:var(--fs-title);letter-spacing:-.02em;font-weight:700;line-height:1.1}
