@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-sm:0 2px 8px #3745390d;--shadow-md:0 8px 22px #37453912;--shadow-lg:0 16px 40px #3745391a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#f5f1f7;--color-background:#fbf9f5;--color-surface:#fffdf9;--color-surface-strong:#fff;--color-foreground:#2d3b31;--color-muted:#626963;--color-muted-surface:#f1efea;--color-border:#e8e3db;--color-border-strong:#8f968b;--color-primary:#667b62;--color-primary-strong:#425641;--color-primary-soft:#e7efe2;--color-blush:#f1dce0;--color-lavender:#e8e1f1;--color-apricot:#f5e4d3;--color-plum:#66577c;--color-clay:#a06778;--color-success:#3a6a4a;--color-success-soft:#e8f3e9;--color-warning:#8a5320;--color-warning-soft:#f7e9d8;--color-danger:#96403a;--color-danger-soft:#f7e2df;--color-stem:#b8cbb2;--color-leaf:#dbe9d6;--color-leaf-edge:#d3c6df;--color-petal-edge:#dfc4cb;--color-pollen:#e6bca8;--radius-full:999px;--text-md:1rem;--ease-out-soft:cubic-bezier(.22, .8, .35, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--stylesheet-revision:2;--background:var(--color-background);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--foreground:var(--color-foreground);--muted:var(--color-muted);--muted-surface:var(--color-muted-surface);--border:var(--color-border);--primary:var(--color-primary);--primary-strong:var(--color-primary-strong);--primary-soft:var(--color-primary-soft);--blush:var(--color-blush);--lavender:var(--color-lavender);--apricot:var(--color-apricot);--plum:var(--color-plum);--clay:var(--color-clay);--success:var(--color-success);--success-soft:var(--color-success-soft);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--shadow:var(--shadow-md);--radius:var(--radius-lg);--app-canvas:var(--color-canvas);--tap:2.75rem;--page-gutter:1rem;--app-safe-bottom:max(.5rem, env(safe-area-inset-bottom,0px));--mobile-nav-height:calc(4rem + var(--app-safe-bottom));--scrim:#27302957}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#171b18;--color-background:#1b201d;--color-surface:#212824;--color-surface-strong:#2a322d;--color-foreground:#e6ece6;--color-muted:#a3ada4;--color-muted-surface:#262d29;--color-border:#333c36;--color-border-strong:#6f7d72;--color-primary:#8fae88;--color-primary-strong:#c2d9bb;--color-primary-soft:#2a3a2c;--color-blush:#46333a;--color-lavender:#3a3348;--color-apricot:#4a3a2c;--color-plum:#b3a6c9;--color-clay:#d49aab;--color-success:#8fc79c;--color-success-soft:#23352a;--color-warning:#e0aa6a;--color-warning-soft:#3b2f1e;--color-danger:#e5877f;--color-danger-soft:#3d2523;--color-stem:#2f3b32;--color-leaf:#27332a;--color-leaf-edge:#332e3f;--color-petal-edge:#3d2f34;--color-pollen:#453227;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 22px #00000061;--shadow-lg:0 16px 40px #0000007a;--scrim:#00000094}*{box-sizing:border-box}html,body{background-color:var(--app-canvas);background-image:radial-gradient(circle at 88% 3%, var(--lavender), transparent 26rem), radial-gradient(circle at 3% 94%, var(--blush), transparent 30rem);min-height:100%}@supports (color:color-mix(in lab, red, red)){html,body{background-image:radial-gradient(circle at 88% 3%, color-mix(in srgb, var(--lavender) 62%, transparent), transparent 26rem), radial-gradient(circle at 3% 94%, color-mix(in srgb, var(--blush) 48%, transparent), transparent 30rem)}}html,body{background-repeat:no-repeat}html{-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior-x:none}body{color:var(--foreground);font-family:Inter,Geist,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-md);min-height:100svh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-touch-callout:none}a{color:inherit;text-decoration:none}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent)}}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline-offset:2px;border-radius:var(--radius-sm)}.app-overscroll-background{z-index:0;background:var(--app-canvas);pointer-events:none;position:fixed;inset:-100lvh 0}.app-content{z-index:1;min-height:100svh;position:relative}.app-content:has(>.app-frame){height:100dvh;min-height:0;overflow:hidden}body:has(.app-frame){height:100dvh;min-height:0;overflow:hidden}html:has(.app-frame){height:100dvh;min-height:0;overflow:hidden}.app-frame{grid-template-rows:minmax(0, 1fr) var(--mobile-nav-height);grid-template-areas:"content""navigation";height:100dvh;min-height:0;display:grid;overflow:hidden}.app-main-scroll{overscroll-behavior-x:none;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;grid-area:content;min-width:0;min-height:0;overflow:hidden auto}@media (display-mode:standalone){.app-frame{height:100vh}.app-content:has(>.app-frame){height:100vh}body:has(.app-frame){height:100vh}html:has(.app-frame){height:100vh}}.botanical-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.botanical-background svg{opacity:.78;width:100%;height:100%}:root[data-theme=dark] .botanical-background svg{opacity:.32}.botanical-stem{fill:none;stroke:var(--color-stem);stroke-width:3px;stroke-linecap:round}.botanical-leaf{fill:var(--color-leaf);stroke:var(--color-stem);stroke-width:1.5px}.botanical-leaf-alt{fill:var(--lavender);stroke:var(--color-leaf-edge)}.botanical-flower{fill:var(--blush);stroke:var(--color-petal-edge);stroke-width:1.5px;animation:8s ease-in-out infinite flower-breathe}.botanical-flower-alt{fill:var(--apricot);stroke:var(--apricot)}@supports (color:color-mix(in lab, red, red)){.botanical-flower-alt{stroke:color-mix(in srgb, var(--apricot) 70%, var(--color-pollen))}}.botanical-flower-alt{animation-delay:-3s}.botanical-center{fill:var(--color-pollen);stroke:none}.botanical-sprig{transform-box:fill-box;transform-origin:50%;animation:12s ease-in-out infinite botanical-sway}.botanical-sprig-bottom{animation-delay:-6s}.floating-petals{fill:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.floating-petals{fill:color-mix(in srgb, var(--lavender) 80%, var(--blush))}}.floating-petals{opacity:.7;animation:10s ease-in-out infinite petals-float}.mobile-background-bloom{display:none}.safe-top{padding-top:max(1rem, env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(1rem, env(safe-area-inset-bottom))}.page-shell{width:min(100%,72rem);padding:1.25rem var(--page-gutter) 7.25rem;margin:0 auto;animation:.45s ease-out both page-fade}.page-shell.safe-top{padding-top:max(1.25rem, calc(env(safe-area-inset-top) + 1rem))}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.attendance-page-header{grid-template-columns:minmax(0,1fr);row-gap:.6rem;margin-bottom:1rem;display:grid}.attendance-page-title{min-width:0}.attendance-page-title h1{overflow-wrap:anywhere;margin-bottom:.25rem}.attendance-class-actions{flex-wrap:wrap;gap:.375rem}@media (min-width:760px){.attendance-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:.25rem}.attendance-class-actions{flex-wrap:nowrap;justify-content:flex-end}}.attendance-class-meta{font-size:var(--text-base);white-space:nowrap;grid-column:1/-1;margin:0}.eyebrow{color:var(--primary);font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(var(--text-2xl), 7vw, 2.5rem);letter-spacing:-.04em;line-height:1.08;font-weight:var(--font-weight-bold);margin-bottom:.25rem}h2{font-size:var(--text-lg);letter-spacing:-.02em;line-height:1.25;font-weight:var(--font-weight-semibold);margin-bottom:.75rem}.muted{color:var(--muted)}.stack{grid-template-columns:minmax(0,1fr);gap:.75rem;min-width:0;display:grid}.cluster{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.grid-2{gap:1rem;display:grid}.section{margin-top:2rem}.section-title{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.card,.card-flat{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.card,.card-flat{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.card,.card-flat{border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.card{box-shadow:var(--shadow-md)}.decorated-card{isolation:isolate;position:relative;overflow:hidden}.decorated-card>:not(.card-motif){z-index:1;position:relative}.card-motif{z-index:0;width:8.5rem;height:8.5rem;color:var(--primary);opacity:.12;pointer-events:none;transition:opacity .25s,transform .4s;position:absolute;bottom:-2rem;right:-1.25rem;transform:rotate(-7deg)}.card-motif-flower{color:var(--color-clay);transform:rotate(8deg)}.card-motif-lotus{color:var(--color-plum)}.card-motif-flow{color:var(--primary);transform:rotate(-12deg)}.card-motif-sun{color:var(--warning);transform:rotate(8deg)}.card-motif-balance{color:var(--color-plum)}.decorated-card:hover .card-motif{opacity:.16;transform:rotate(-4deg)scale(1.025)}.decorated-card:hover .card-motif-flower,.decorated-card:hover .card-motif-sun{transform:rotate(5deg)scale(1.025)}.class-row .card-motif{opacity:.09;width:8rem;height:8rem;bottom:-2.5rem;right:-1rem}.metric .card-motif{opacity:.08;width:7.5rem;height:7.5rem;bottom:-2.75rem;right:-1.5rem}.finance-hero .card-motif{opacity:.1;width:10rem;height:10rem;bottom:-2.75rem;right:-.75rem}.surface-link{transition:transform .15s,border-color .15s;display:block}.surface-link:active{transform:scale(.985)}.metric-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.metric{flex-direction:column;justify-content:space-between;min-height:6.75rem;display:flex}.metric strong{font-size:var(--text-2xl);letter-spacing:-.04em;font-weight:var(--font-weight-bold)}.finance-hero{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.finance-total{font-size:clamp(var(--text-2xl), 9vw, 2.5rem);letter-spacing:-.05em;line-height:1;font-weight:var(--font-weight-bold);margin-top:.25rem;display:block}.finance-currencies{font-size:var(--text-lg);letter-spacing:-.02em;color:var(--muted);flex-wrap:wrap;gap:.65rem;margin-top:.35rem;display:flex}.finance-outside{font-size:var(--text-md)}.finance-outside strong{color:var(--foreground)}.finance-add-button{white-space:nowrap;flex:none;align-items:center;gap:.35rem;display:inline-flex}.outside-earning-list{border-top:1px solid var(--border);gap:.4rem;margin-top:.35rem;padding-top:.85rem;display:grid}.outside-earning-list>p{font-size:var(--text-sm);margin:0}.outside-earning-row{align-items:center;gap:.6rem;display:flex}.outside-earning-row>span{color:var(--muted)}.outside-earning-row>strong{margin-left:auto}.finance-currency-history{border-top:1px solid var(--border);gap:.35rem;margin-top:1rem;padding-top:1rem;display:grid}.finance-currency-history>p{font-size:var(--text-sm);margin:0 0 .15rem}.finance-currency-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.finance-currency-row>span{color:var(--muted)}.finance-facts{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.finance-facts span{border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-strong);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);padding:.25rem .5rem}.finance-section{margin-top:1.5rem}.finance-breakdown-disclosure{padding:0;overflow:hidden}.finance-breakdown-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:1rem;list-style:none;display:flex}.finance-breakdown-disclosure>summary::-webkit-details-marker{display:none}.finance-breakdown-disclosure>summary>span{gap:.25rem;min-width:0;display:grid}.finance-breakdown-disclosure>summary strong{font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.finance-breakdown-disclosure>summary small{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finance-breakdown-disclosure>summary>svg{color:var(--primary);flex:none;transition:transform .2s}.finance-breakdown-disclosure[open]>summary{border-bottom:1px solid var(--border)}.finance-breakdown-disclosure[open]>summary>svg{transform:rotate(180deg)}.finance-breakdown{padding:0 1rem}.finance-breakdown-row{justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.75rem 0;display:flex}.finance-breakdown-row+.finance-breakdown-row{border-top:1px solid var(--border)}.finance-breakdown-row>div{min-width:0}.finance-breakdown-row>div>strong,.finance-breakdown-row>div>span{display:block}.finance-breakdown-row>div>span{font-size:var(--text-sm);margin-top:.25rem}.finance-breakdown-row>strong{font-size:var(--text-base);font-weight:var(--font-weight-semibold);flex:none}.finance-chart-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.finance-chart-heading h2{margin-bottom:.25rem}.finance-chart-heading .muted{font-size:var(--text-sm)}.finance-legend{color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.finance-legend span{align-items:center;gap:.25rem;display:inline-flex}.finance-legend i{border-radius:var(--radius-full);width:.5rem;height:.5rem}.finance-legend i[data-tone=membership],.finance-chart-segment[data-tone=membership]{background:linear-gradient(180deg, var(--primary), var(--primary-strong))}.finance-legend i[data-tone=one-off],.finance-chart-segment[data-tone=one-off]{background:linear-gradient(180deg, var(--lavender), #66577c)}@supports (color:color-mix(in lab, red, red)){.finance-legend i[data-tone=one-off],.finance-chart-segment[data-tone=one-off]{background:linear-gradient(180deg, var(--lavender), color-mix(in srgb, var(--color-plum) 45%, var(--lavender)))}}.finance-chart{background:linear-gradient(145deg, var(--surface), var(--surface));margin:0;padding:1rem .75rem .75rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.finance-chart{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--primary-soft)), color-mix(in srgb, var(--surface) 88%, var(--lavender)))}}.finance-chart:after{content:"";border-radius:var(--radius-full);background:var(--blush);width:8rem;height:8rem;position:absolute;top:-4rem;right:-3rem}@supports (color:color-mix(in lab, red, red)){.finance-chart:after{background:color-mix(in srgb, var(--blush) 45%, transparent)}}.finance-chart:after{pointer-events:none}.finance-chart-columns{z-index:1;background:repeating-linear-gradient(to top, var(--border) 0 1px, transparent 1px 25%);grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.25rem,2vw,.75rem);height:13rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.finance-chart-columns{background:repeating-linear-gradient(to top, color-mix(in srgb, var(--border) 60%, transparent) 0 1px, transparent 1px 25%)}}.finance-chart-column{text-align:center;grid-template-rows:1.25rem minmax(0,1fr) 1.25rem;align-items:end;min-width:0;height:100%;display:grid}.finance-chart-amount{min-height:1rem;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;align-self:start;line-height:1;overflow:hidden}.finance-chart-track{justify-content:center;align-items:flex-end;height:100%;display:flex}.finance-chart-bar{border-radius:var(--radius-sm) var(--radius-sm) .25rem .25rem;width:min(2.5rem,72%);min-height:.5rem;box-shadow:var(--shadow-md);flex-direction:column-reverse;animation:.55s ease-out both chart-rise;display:flex;overflow:hidden}.finance-chart-segment{flex-basis:0;min-height:2px}.finance-chart-label{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize;align-self:end}.finance-chart-empty{min-height:10rem;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:.75rem;display:grid}.button{min-width:0;min-height:var(--tap);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);border:0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:transform .18s,background .18s,opacity .18s,box-shadow .18s;display:inline-flex}.button:active{transform:scale(.98)}.button:disabled{opacity:.48;cursor:not-allowed}.button-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.button-primary{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border))}}.button-primary{background:linear-gradient(145deg, var(--primary-soft), var(--lavender))}@supports (color:color-mix(in lab, red, red)){.button-primary{background:linear-gradient(145deg, color-mix(in srgb, var(--primary-soft) 88%, var(--surface)), color-mix(in srgb, var(--lavender) 24%, var(--surface)))}}.button-primary{color:var(--primary-strong);box-shadow:var(--shadow-md)}.button-secondary{background:var(--primary-soft);color:var(--primary-strong)}.button-ghost{color:var(--foreground);border:1px solid var(--border);background:0 0}.button-danger{background:var(--danger-soft);color:var(--danger)}.button-full{width:100%}.button-compact{min-height:var(--tap);font-size:var(--text-sm);padding:.5rem .75rem}.icon-button{width:var(--tap);padding:0}.class-add-button>svg{flex:none;width:1.5rem;height:1.5rem}.form-grid{gap:1rem;display:grid}.field-row{gap:.75rem;display:flex}.field-row>.field-wrap{flex:1 1 0;min-width:0}.field-wrap{align-content:start;gap:.25rem;min-width:0;display:grid}.field-label{font-size:var(--text-base);font-weight:var(--font-weight-medium)}.field-hint{color:var(--muted);font-size:var(--text-sm);line-height:1.35}.field{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);width:100%;min-width:0;max-width:100%;height:3rem;min-height:3rem;color:var(--foreground);font-size:var(--text-md);padding:.75rem}textarea.field{resize:vertical;height:auto;min-height:6rem}.field::placeholder{color:var(--muted);opacity:1}.visit-limit-fieldset{border:0;min-width:0;margin:0;padding:0}.visit-limit-fieldset legend{margin-bottom:.5rem}.visit-limit-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.visit-limit-option{cursor:pointer;min-width:0}.visit-limit-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.visit-limit-option>span{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);min-height:4.5rem;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:flex}.visit-limit-option strong{color:var(--foreground);font-size:var(--text-xl);line-height:1;font-weight:var(--font-weight-bold)}.visit-limit-option small{font-size:var(--text-xs)}.visit-limit-option input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong);box-shadow:var(--shadow-md)}.visit-limit-option input:focus-visible+span{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.visit-limit-option input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent)}}.visit-limit-option input:focus-visible+span{outline-offset:2px}.class-type-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.class-type-picker .visit-limit-option>span{gap:.5rem;min-height:5.5rem;overflow:hidden}.class-type-picker .visit-limit-option strong{font-size:var(--text-base);text-align:center}.class-type-picker .visit-limit-option small{text-align:center}.class-type-icon{color:var(--primary);transform-origin:50%;transition:color .2s,filter .2s}.class-type-picker [data-class-kind=flow] .class-type-icon{animation:3.2s ease-in-out infinite class-icon-step}.class-type-picker [data-class-kind=yoga] .class-type-icon{animation:4s ease-in-out infinite class-icon-bloom}.class-type-picker [data-class-kind=tabata] .class-type-icon{color:var(--warning);animation:1.9s ease-in-out infinite class-icon-flame}.class-type-picker [data-class-kind=personal] .class-type-icon{color:var(--color-plum);animation:3.4s ease-in-out infinite class-icon-pulse}.class-type-picker .visit-limit-option:nth-child(2) .class-type-icon{animation-delay:-.8s}.class-type-picker .visit-limit-option:nth-child(3) .class-type-icon{animation-delay:-.45s}.class-type-picker .visit-limit-option:nth-child(4) .class-type-icon{animation-delay:-1.2s}.class-type-picker .visit-limit-option input:checked+span .class-type-icon{color:var(--primary-strong);filter:drop-shadow(0 4px 5px #4256412e);animation-duration:1.45s}.class-date-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:.75rem;display:grid}.class-date-control{min-width:0;display:block;position:relative}.class-date-control>svg{z-index:1;color:var(--primary);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.class-date-control .field{height:3rem;min-height:3rem;font-weight:var(--font-weight-medium);appearance:none;padding:.75rem .75rem .75rem 2.25rem;line-height:1.2;display:block}.class-date-control .field::-webkit-date-and-time-value{text-align:left;min-width:0;margin:0}.class-date-control .field::-webkit-calendar-picker-indicator{opacity:.42;margin:0;padding:0}.class-client-list{max-height:21rem;overflow:auto}.zoom-option{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--surface-strong), var(--lavender));align-items:center;gap:.75rem;min-width:0;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.zoom-option{background:linear-gradient(135deg, var(--surface-strong), color-mix(in srgb, var(--lavender) 35%, var(--surface)))}}.zoom-option{cursor:pointer}.zoom-option>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.zoom-option-icon{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);background:var(--lavender);color:var(--color-plum);flex:none;place-items:center;display:grid}.zoom-option input:checked~.check{border-color:var(--primary);background:var(--primary);color:var(--surface-strong)}.zoom-option:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.zoom-option:has(input:focus-visible){outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.zoom-option:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent)}}.zoom-option:has(input:focus-visible){outline-offset:2px}.zoom-join-button{min-height:var(--tap);flex:none;padding:.5rem .75rem}.zoom-sheet-backdrop{z-index:80;padding-top:env(safe-area-inset-top);background:var(--scrim);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overscroll-behavior:contain;touch-action:none;justify-content:center;align-items:flex-end;animation:.18s ease-out both zoom-backdrop-in;display:flex;position:fixed;inset:0}.zoom-sheet{width:min(100%,34rem);max-height:calc(100svh - max(1rem, env(safe-area-inset-top)));padding:.5rem 1rem max(1rem, env(safe-area-inset-bottom));border:1px solid var(--border);overflow:auto}@supports (color:color-mix(in lab, red, red)){.zoom-sheet{border:1px solid color-mix(in srgb, var(--border) 86%, transparent)}}.zoom-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);border-bottom:0}@supports (color:color-mix(in lab, red, red)){.zoom-sheet{background:color-mix(in srgb, var(--surface) 97%, transparent)}}.zoom-sheet{box-shadow:var(--shadow-lg);overscroll-behavior:contain;touch-action:pan-y;animation:zoom-sheet-in .24s var(--ease-out-soft) both}.zoom-sheet-handle{border-radius:var(--radius-full);background:var(--muted);width:2.5rem;height:.25rem;margin:0 auto .75rem}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-handle{background:color-mix(in srgb, var(--muted) 34%, transparent)}}.zoom-sheet-header{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.25rem 0 .75rem;display:flex}.zoom-sheet-header h2{font-size:var(--text-xl);margin-bottom:.25rem}.zoom-sheet-header p{margin-bottom:0}.zoom-sheet-close{width:var(--tap);min-height:var(--tap);flex:none}.zoom-sheet-actions{gap:.5rem;display:grid}.zoom-sheet-footer{margin-top:.875rem}.zoom-sheet-actions:empty+.zoom-sheet-footer{margin-top:.25rem}.zoom-sheet-action{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);width:100%;min-width:0;color:var(--foreground);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;padding:.75rem;transition:transform .16s,border-color .16s,background .16s,opacity .16s;display:flex}.zoom-sheet-action:active{transform:scale(.985)}.zoom-sheet-action:disabled{opacity:.5;cursor:wait}.zoom-sheet-action-primary{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-action-primary{border-color:color-mix(in srgb, var(--primary) 38%, var(--border))}}.zoom-sheet-action-primary{background:var(--primary-soft)}.zoom-sheet-action-host{border-color:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-action-host{border-color:color-mix(in srgb, var(--lavender) 75%, var(--border))}}.zoom-sheet-action-host{background:linear-gradient(135deg, var(--lavender), var(--primary-soft))}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-action-host{background:linear-gradient(135deg, color-mix(in srgb, var(--lavender) 58%, var(--surface)), color-mix(in srgb, var(--primary-soft) 42%, var(--surface)))}}.zoom-sheet-action-icon{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);background:var(--surface);flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-action-icon{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.zoom-sheet-action-icon{color:var(--primary-strong)}.zoom-sheet-action>span:last-child{gap:.125rem;min-width:0;display:grid}.zoom-sheet-action strong,.zoom-sheet-action small{display:block}.zoom-sheet-action strong{font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.zoom-sheet-action small{color:var(--muted);font-size:var(--text-sm);line-height:1.35}.zoom-sheet-warning{border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm);align-items:flex-start;gap:.5rem;margin:.75rem 0 0;padding:.75rem;line-height:1.4;display:flex}.zoom-sheet-warning>svg{flex:none;margin-top:.125rem}.zoom-sheet-error{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.form-message{border-radius:var(--radius-md);font-size:var(--text-base);padding:.75rem}.form-message[data-ok=true]{background:var(--success-soft);color:var(--success)}.form-message[data-ok=false]{background:var(--danger-soft);color:var(--danger)}.badge{border-radius:var(--radius-full);background:var(--muted-surface);min-height:1.75rem;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:.25rem;padding:.25rem .5rem;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.divider{background:var(--border);height:1px;margin:1rem 0}.empty{text-align:center;padding:2.5rem 1rem}.empty-action{width:min(100%,18rem);margin-top:.5rem}.empty-icon{border-radius:var(--radius-full);background:var(--primary-soft);width:3.5rem;height:3.5rem;color:var(--primary);place-items:center;margin:0 auto 1rem;display:grid}.mobile-nav{z-index:40;width:100%;height:var(--mobile-nav-height);grid-area:navigation;grid-template-columns:repeat(var(--nav-count), minmax(0, 1fr));padding:.5rem .5rem var(--app-safe-bottom);background:var(--surface);grid-auto-rows:1fr;align-items:stretch;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in srgb, var(--surface) 97%, var(--app-canvas))}}.mobile-nav{border-top:1px solid var(--border);isolation:isolate}.nav-item{min-width:0;min-height:0;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;line-height:1.1;display:flex}.nav-item[data-active=true]{color:var(--primary-strong);background:var(--primary-soft);font-weight:var(--font-weight-semibold)}.nav-item[data-pending=true]{color:var(--primary-strong)}.nav-icon{transform-origin:50%;transition:transform .2s,filter .2s}.nav-item[data-active=true] .nav-icon{filter:drop-shadow(0 3px 4px #42564129);animation:2.8s ease-in-out infinite nav-icon-breathe}.nav-item[data-pending=true] .nav-icon{animation:.7s ease-in-out infinite alternate nav-icon-pending}.desktop-sidebar{display:none}.navigation-feedback{z-index:70;background:var(--app-canvas);place-items:center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.navigation-feedback{background:color-mix(in srgb, var(--app-canvas) 38%, transparent)}}.navigation-feedback{cursor:progress;animation:.12s ease-out both feedback-arrive}.navigation-flower-shell{border:1px solid var(--primary);place-items:center;width:4rem;height:4rem;display:grid}@supports (color:color-mix(in lab, red, red)){.navigation-flower-shell{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border))}}.navigation-flower-shell{border-radius:var(--radius-xl);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.navigation-flower-shell{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.navigation-flower-shell{box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navigation-flower{width:3rem;height:3rem;animation:1.6s ease-in-out infinite navigation-flower-float;overflow:visible}.navigation-flower-petal{fill:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.navigation-flower-petal{fill:color-mix(in srgb, var(--lavender) 72%, var(--blush))}}.navigation-flower-petal{stroke:var(--primary)}@supports (color:color-mix(in lab, red, red)){.navigation-flower-petal{stroke:color-mix(in srgb, var(--primary) 34%, var(--lavender))}}.navigation-flower-petal{stroke-width:1.2px;transform-box:fill-box;transform-origin:50%;animation:1.15s ease-in-out infinite navigation-flower-bloom}.navigation-flower>g:nth-child(2) .navigation-flower-petal{animation-delay:-.96s}.navigation-flower>g:nth-child(3) .navigation-flower-petal{animation-delay:-.77s}.navigation-flower>g:nth-child(4) .navigation-flower-petal{animation-delay:-.58s}.navigation-flower>g:nth-child(5) .navigation-flower-petal{animation-delay:-.39s}.navigation-flower>g:nth-child(6) .navigation-flower-petal{animation-delay:-.2s}.navigation-flower-heart{fill:var(--primary);animation:1.15s ease-in-out infinite navigation-flower-heart}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.class-row,.client-row,.tap-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;width:100%;min-height:4.5rem;color:inherit;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.settings-row-chevron{color:var(--muted);flex:none}.settings-row-info{box-shadow:none;background:0 0;border-color:#0000}.settings-row-info .row-title{color:var(--muted);font-weight:var(--font-weight-medium)}.settings-row-info .avatar{color:var(--muted);background:var(--muted-surface)}.settings-row-stack{flex-direction:column;align-items:stretch;gap:0;padding-bottom:.85rem}.settings-row-head{align-items:center;gap:.75rem;min-height:3rem;display:flex}.settings-row-actions{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.settings-row-actions>*{flex:auto;justify-content:center}.segmented{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted-surface);gap:.25rem;width:100%;padding:.25rem;display:flex}.segmented-option{border-radius:var(--radius-sm);min-width:0;min-height:2.25rem;color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);white-space:nowrap;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .4rem;transition:background .15s,color .15s;display:flex}.segmented-option[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-strong)}.membership-request[data-state=pending]{border:1px dashed var(--primary);align-items:center;gap:.75rem;width:100%;min-height:4.5rem;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.membership-request[data-state=pending]{border:1px dashed color-mix(in srgb, var(--primary) 45%, var(--border))}}.membership-request[data-state=pending]{border-radius:var(--radius-md);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.membership-request[data-state=pending]{background:color-mix(in srgb, var(--primary-soft) 45%, var(--surface))}}.membership-request[data-state=pending] .avatar{color:var(--primary);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.membership-request[data-state=pending] .avatar{background:color-mix(in srgb, var(--primary-soft) 70%, var(--surface))}}.home-class-row[data-ongoing=true]{border-color:var(--primary);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.home-class-row[data-ongoing=true]{border-color:color-mix(in srgb, var(--primary) 62%, var(--border))}}.home-class-row[data-ongoing=true]{background:linear-gradient(135deg, var(--primary-soft), var(--lavender))}@supports (color:color-mix(in lab, red, red)){.home-class-row[data-ongoing=true]{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 82%, var(--surface)), color-mix(in srgb, var(--lavender) 28%, var(--surface)))}}.home-class-row[data-ongoing=true]{box-shadow:var(--shadow-md)}.home-class-row[data-ongoing=true] .avatar{color:var(--surface-strong);background:var(--primary);animation:1.8s ease-in-out infinite class-live-pulse}.class-live-label{color:var(--success);font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.25rem;margin-bottom:.25rem;display:flex}.class-live-dot{border-radius:var(--radius-full);background:var(--success);width:.5rem;height:.5rem;box-shadow:0 0 0 .25rem var(--success)}@supports (color:color-mix(in lab, red, red)){.class-live-dot{box-shadow:0 0 0 .25rem color-mix(in srgb, var(--success) 14%, transparent)}}.class-live-dot{animation:1.4s ease-in-out infinite class-live-dot}.trainer-class-row{min-width:0;max-width:100%}.trainer-class-row[data-needs-attendance=true],.home-class-row[data-needs-attendance=true]{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.trainer-class-row[data-needs-attendance=true],.home-class-row[data-needs-attendance=true]{border-color:color-mix(in srgb, var(--warning) 46%, var(--border))}}.trainer-class-row[data-needs-attendance=true],.home-class-row[data-needs-attendance=true]{background:linear-gradient(135deg, var(--warning-soft), var(--surface))}@supports (color:color-mix(in lab, red, red)){.trainer-class-row[data-needs-attendance=true],.home-class-row[data-needs-attendance=true]{background:linear-gradient(135deg, color-mix(in srgb, var(--warning-soft) 72%, var(--surface)), var(--surface))}}.class-attendance-alert{width:fit-content;color:var(--warning);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:.25rem;margin-top:.5rem;display:flex}.class-state-badge{width:fit-content;margin-top:.5rem}.class-list-actions{flex:none;align-items:center;gap:.25rem;display:flex}.row-main{flex:1;min-width:0}.row-title{font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.row-subtitle{color:var(--muted);font-size:var(--text-base);margin-top:.25rem;display:block}.avatar{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-strong);font-weight:var(--font-weight-bold);flex:none;place-items:center;display:grid}.check{border:2px solid var(--color-border-strong);border-radius:var(--radius-full);color:#0000;flex:none;place-items:center;width:1.75rem;height:1.75rem;display:grid}.tap-row[data-selected=true]{border-color:var(--primary);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-selected=true]{background:color-mix(in srgb, var(--primary-soft) 55%, var(--surface))}}.tap-row[data-selected=true] .check,.tap-row[data-present=true] .check{border-color:var(--primary);background:var(--primary);color:var(--surface-strong)}.tap-row[data-present=true]{background:var(--success-soft);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-present=true]{border-color:color-mix(in srgb, var(--success) 32%, var(--border))}}.tap-row[data-absent=true]{background:var(--muted-surface)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-absent=true]{background:color-mix(in srgb, var(--muted-surface) 74%, var(--surface))}}.tap-row[data-absent=true]{border-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-absent=true]{border-color:color-mix(in srgb, var(--muted) 25%, var(--border))}}.tap-row[data-absent=true] .check{border-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-absent=true] .check{border-color:color-mix(in srgb, var(--muted) 60%, transparent)}}.tap-row[data-absent=true] .check{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-absent=true] .check{background:color-mix(in srgb, var(--muted) 14%, transparent)}}.tap-row[data-absent=true] .check{color:var(--muted)}.tap-row[data-cancelled=true]{border-style:dashed}.tap-row[data-problem=true]{background:var(--warning-soft);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.tap-row[data-problem=true]{border-color:color-mix(in srgb, var(--warning) 40%, var(--border))}}.install-app-action{cursor:pointer}.pwa-install-invite{background:linear-gradient(135deg, var(--primary-soft), var(--lavender));align-items:center;gap:1rem;margin-bottom:1rem;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.pwa-install-invite{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 78%, var(--surface)), color-mix(in srgb, var(--lavender) 45%, var(--surface)))}}.pwa-install-invite{animation:.45s ease-out both content-arrive}.pwa-install-invite:after{content:"";border-radius:var(--radius-full);background:var(--blush);width:8rem;height:8rem;position:absolute;bottom:-4.5rem;right:-3rem}@supports (color:color-mix(in lab, red, red)){.pwa-install-invite:after{background:color-mix(in srgb, var(--blush) 58%, transparent)}}.pwa-install-invite>*{z-index:1;position:relative}.pwa-install-invite h2{max-width:27rem;margin-bottom:.25rem;padding-right:3rem}.pwa-install-invite p:last-of-type{font-size:var(--text-base);margin-bottom:0}.pwa-install-invite .button-primary{margin-top:.75rem}.pwa-install-visual{border-radius:var(--radius-lg);background:var(--surface-strong);width:3.5rem;height:3.5rem;color:var(--primary-strong);box-shadow:var(--shadow-md);flex:none;place-items:center;animation:2.8s ease-in-out infinite nav-icon-breathe;display:grid}.pwa-install-dismiss{z-index:2;width:var(--tap);min-height:var(--tap);background:var(--surface);padding:0;position:absolute;top:.5rem;right:.5rem}@supports (color:color-mix(in lab, red, red)){.pwa-install-dismiss{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.notice-rail{margin:0 calc(var(--page-gutter) * -1) 1.25rem;padding:.25rem var(--page-gutter);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:min(88%,30rem);grid-auto-flow:column;gap:.75rem;display:grid;overflow-x:auto}.notice-rail::-webkit-scrollbar{display:none}.notice-rail>*{scroll-snap-align:start}.notice-rail:has(>:only-child){grid-auto-columns:1fr}.notice-banner{border:1px solid var(--lavender);align-items:flex-start;gap:.75rem;margin:0;padding:1rem;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.notice-banner{border:1px solid color-mix(in srgb, var(--lavender) 72%, var(--border))}}.notice-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--lavender), var(--primary-soft))}@supports (color:color-mix(in lab, red, red)){.notice-banner{background:linear-gradient(135deg, color-mix(in srgb, var(--lavender) 50%, var(--surface)), color-mix(in srgb, var(--primary-soft) 68%, var(--surface)))}}.notice-banner{box-shadow:var(--shadow-md);animation:.35s ease-out both content-arrive}.notice-banner:after{content:"";border:1rem solid var(--blush);width:8rem;height:8rem;position:absolute;bottom:-3.5rem;right:-2.5rem}@supports (color:color-mix(in lab, red, red)){.notice-banner:after{border:1rem solid color-mix(in srgb, var(--blush) 45%, transparent)}}.notice-banner:after{border-radius:var(--radius-full)}.notice-banner>*{z-index:1;position:relative}.notice-icon{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);background:var(--surface);flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.notice-icon{background:color-mix(in srgb, var(--surface) 84%, transparent)}}.notice-icon{color:var(--color-plum)}.notice-banner h2{font-size:var(--text-lg);margin:0 3rem .25rem 0}.notice-banner p:not(.eyebrow){color:var(--muted);font-size:var(--text-base);margin:0;line-height:1.45}.notice-dismiss{z-index:2;width:var(--tap);min-height:var(--tap);background:var(--surface);padding:0;position:absolute;top:.5rem;right:.5rem}@supports (color:color-mix(in lab, red, red)){.notice-dismiss{background:color-mix(in srgb, var(--surface) 68%, transparent)}}.notice-banner[data-tone=attention]{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=attention]{border-color:color-mix(in srgb, var(--warning) 34%, var(--border))}}.notice-banner[data-tone=attention]{background:linear-gradient(135deg, var(--warning-soft), var(--blush))}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=attention]{background:linear-gradient(135deg, color-mix(in srgb, var(--warning-soft) 82%, var(--surface)), color-mix(in srgb, var(--blush) 34%, var(--surface)))}}.notice-banner[data-tone=attention]:after{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=attention]:after{border-color:color-mix(in srgb, var(--warning) 18%, transparent)}}.notice-banner[data-tone=attention] .notice-icon{color:var(--warning)}.notice-banner[data-tone=request]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=request]{border-color:color-mix(in srgb, var(--primary) 42%, var(--border))}}.notice-banner[data-tone=request]{background:linear-gradient(135deg, var(--primary-soft), var(--lavender))}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=request]{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 78%, var(--surface)), color-mix(in srgb, var(--lavender) 26%, var(--surface)))}}.notice-banner[data-tone=request] .notice-icon{color:var(--primary)}.notice-actions{margin-top:.7rem}.notice-banner[data-tone=quote]{border-color:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=quote]{border-color:color-mix(in srgb, var(--lavender) 52%, var(--border))}}.notice-banner[data-tone=quote]{background:linear-gradient(135deg, var(--lavender), var(--surface))}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=quote]{background:linear-gradient(135deg, color-mix(in srgb, var(--lavender) 30%, var(--surface)), color-mix(in srgb, var(--surface) 92%, var(--blush)))}}.notice-banner[data-tone=quote] .notice-icon{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.notice-banner[data-tone=quote] .notice-icon{color:color-mix(in srgb, var(--primary) 62%, transparent)}}.notice-banner[data-tone=quote] .row-main>p{font-weight:var(--font-weight-semibold)}.notice-link{color:var(--warning)}.notice-banner-solo{margin-bottom:1.25rem}.notice-list{color:var(--muted);font-size:var(--text-base);margin:0;padding:0;line-height:1.45;list-style:none}.notice-list li+li{margin-top:.375rem}.notice-link{color:var(--primary-strong);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:.25rem;margin-top:.5rem;display:inline-flex}.changelog-list{gap:1rem;display:grid}.changelog-release{position:relative;overflow:hidden}.changelog-release-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.changelog-release-header h2{margin:.5rem 0 .25rem}.changelog-release-header time{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.changelog-version-line{align-items:center;gap:.5rem;display:flex}.changelog-release ul{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.changelog-release li{align-items:flex-start;gap:.5rem;display:flex}.changelog-release li>span{border-radius:var(--radius-full);background:var(--primary-soft);width:1.5rem;height:1.5rem;color:var(--primary-strong);flex:none;place-items:center;display:grid}.changelog-release li p{color:var(--muted);font-size:var(--text-base);margin:0;line-height:1.45}.changelog-current{background:var(--success);color:var(--surface-strong)}.schedule-row .row-subtitle{align-items:center;gap:.125rem;display:flex}.schedule-row[data-booked=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-row[data-booked=true]{border-color:color-mix(in srgb, var(--primary) 42%, var(--border))}}.schedule-row[data-booked=true]{background:linear-gradient(135deg, var(--primary-soft), var(--surface))}@supports (color:color-mix(in lab, red, red)){.schedule-row[data-booked=true]{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 70%, var(--surface)), var(--surface))}}.schedule-row[data-booked=true] .avatar{background:var(--primary);color:var(--surface-strong)}.repeat-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--lavender);gap:.75rem;margin-top:.75rem;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.repeat-details{background:color-mix(in srgb, var(--lavender) 26%, var(--surface))}}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-top:.375rem;display:grid}.weekday-option{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);transition:background .15s,border-color .15s,color .15s}.weekday-option[data-active=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.repeat-summary{font-size:var(--text-sm);margin:0}.segmented{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--muted-surface);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:grid}.segmented-option{border-radius:var(--radius-full);min-height:2.25rem;color:var(--muted);font-size:var(--text-base);font-weight:var(--font-weight-medium);justify-content:center;align-items:center;gap:.375rem;transition:background .2s,color .2s;display:flex}.segmented-option[data-active=true]{background:var(--surface-strong);color:var(--primary-strong);box-shadow:var(--shadow-sm)}.calendar-shell{flex-direction:column;min-height:100%;display:flex}.calendar-shell .class-calendar,.calendar-shell .calendar-skeleton{flex:auto;min-height:22rem}.class-calendar{flex-direction:column;display:flex}.calendar-grid-slot{flex:auto;min-height:0;display:flex;overflow:hidden}.calendar-grid-slot>*{flex:auto;min-height:0}.client-header-actions{align-items:center;gap:.5rem;display:flex}.duplicate-candidate{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.duplicate-candidate>div{gap:.15rem;min-width:0;display:grid}.duplicate-candidate .muted{font-size:var(--text-sm);align-items:center;gap:.3rem;display:flex}.calendar-sheet-facts{gap:.5rem;margin:0;display:grid}.calendar-sheet-facts>span{color:var(--muted);align-items:center;gap:.5rem;display:flex}.calendar-sheet-actions{gap:.5rem;display:grid}.calendar-panel{overscroll-behavior-x:contain;flex:none;min-height:0;display:flex;overflow-x:auto}.calendar-panel>*{flex:auto;min-height:0}.calendar-panel[data-week=before]{order:-1}.calendar-panel[data-week=after]{order:1}.calendar-track{touch-action:pan-y;-webkit-user-select:none;user-select:none;min-height:0;display:flex}.calendar-track>*{flex:auto;min-height:0}.calendar-track[data-fits=false]{touch-action:auto}.calendar-skeleton{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(120deg, var(--surface) 30%, var(--muted-surface) 50%, var(--surface) 70%);background-size:300% 100%;height:26rem;animation:1.4s ease-in-out infinite calendar-skeleton}.calendar-toolbar{align-items:center;gap:.5rem;padding:.5rem .5rem .625rem;display:flex}.calendar-toolbar-nav{gap:.25rem;display:flex}.calendar-range{font-size:var(--text-md);font-weight:var(--font-weight-semibold);text-align:center;flex:1;margin:0}.calendar-today{flex:none}.class-calendar[data-loading=true]{opacity:.6;transition:opacity .2s}.class-calendar{--fc-breezy-background:var(--surface);--fc-breezy-faint:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-faint:color-mix(in srgb, var(--lavender) 22%, transparent)}}.class-calendar{--fc-breezy-muted:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-muted:color-mix(in srgb, var(--lavender) 38%, transparent)}}.class-calendar{--fc-breezy-strong:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-strong:color-mix(in srgb, var(--lavender) 58%, transparent)}}.class-calendar{--fc-breezy-stronger:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-stronger:color-mix(in srgb, var(--primary) 22%, transparent)}}.class-calendar{--fc-breezy-strongest:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-strongest:color-mix(in srgb, var(--primary) 32%, transparent)}}.class-calendar{--fc-breezy-foreground:var(--foreground);--fc-breezy-faint-foreground:var(--muted);--fc-breezy-muted-foreground:var(--muted);--fc-breezy-strong-foreground:var(--foreground);--fc-breezy-border:var(--border);--fc-breezy-muted-border:var(--border)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-muted-border:color-mix(in srgb, var(--border) 60%, transparent)}}.class-calendar{--fc-breezy-strong-border:var(--color-border-strong);--fc-breezy-primary:var(--primary);--fc-breezy-primary-over:var(--primary-strong);--fc-breezy-primary-foreground:var(--surface-strong);--fc-breezy-secondary:var(--surface);--fc-breezy-secondary-over:var(--muted-surface);--fc-breezy-secondary-border:var(--border);--fc-breezy-secondary-foreground:var(--foreground);--fc-breezy-secondary-icon:var(--muted);--fc-breezy-secondary-icon-over:var(--foreground);--fc-breezy-event:var(--primary);--fc-breezy-event-contrast:var(--surface-strong);--fc-breezy-background-event:var(--primary-soft);--fc-breezy-highlight:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-highlight:color-mix(in srgb, var(--primary) 12%, transparent)}}.class-calendar{--fc-breezy-selected:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-selected:color-mix(in srgb, var(--primary) 16%, transparent)}}.class-calendar{--fc-breezy-now:var(--danger);--fc-breezy-popover:var(--surface);--fc-breezy-popover-border:var(--border);--fc-breezy-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-calendar{--fc-breezy-ring-color:color-mix(in srgb, var(--primary) 40%, transparent)}}.class-calendar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.calendar-day-header{flex-direction:column;align-items:center;line-height:1.15;display:flex}.calendar-day-header span{font-size:var(--text-xs);opacity:.75}.calendar-day-header[data-today=true] strong{border-radius:var(--radius-full);background:var(--primary);min-width:1.6rem;min-height:1.6rem;color:var(--surface-strong);place-items:center;display:grid}.class-calendar .calendar-event{border-radius:var(--radius-sm);overflow:hidden}.class-calendar .calendar-event-past{opacity:.55}.class-calendar .calendar-event-attention{outline:2px solid var(--warning);outline-offset:-2px}.class-calendar .calendar-event-booked{outline:2px solid var(--primary);outline-offset:-2px;font-weight:var(--font-weight-semibold)}.class-calendar .calendar-event-ongoing{outline:2px solid var(--success);outline-offset:-2px;font-weight:var(--font-weight-semibold)}.class-calendar .calendar-event-body{height:100%;font-size:var(--text-xs);flex-direction:column;gap:.05rem;padding:.125rem .25rem;line-height:1.25;display:flex;overflow:hidden}.class-calendar .calendar-event-title,.class-calendar .calendar-event-facts{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-calendar .calendar-event-title{font-weight:var(--font-weight-semibold);flex:none;align-items:center;gap:.2rem;display:flex}.class-calendar .calendar-event-mark{flex:none;align-items:center;gap:.2rem;display:flex}.class-calendar .calendar-event-mark small{font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;line-height:1.2;display:none}.class-calendar .calendar-event-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-calendar .calendar-event-meta{opacity:.85;align-items:center;gap:.25rem;min-width:0;display:flex}.sticky-action{z-index:35;left:0;right:0;bottom:calc(var(--mobile-nav-height) + .25rem);background:var(--surface);padding:.75rem 1rem 1rem;position:fixed}@supports (color:color-mix(in lab, red, red)){.sticky-action{background:color-mix(in srgb, var(--surface) 95%, transparent)}}.sticky-action{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sticky-action-inner{gap:.5rem;width:min(100%,42rem);margin:auto;display:grid}.sticky-action-hint{color:var(--warning);font-size:var(--text-sm);text-align:center;text-wrap:balance;margin:0;padding-top:.15rem;line-height:1.35}.attendance-spacer{height:6rem}.attendance-options{grid-auto-columns:1fr;grid-auto-flow:column;gap:.4rem;padding:.25rem .5rem .65rem;display:grid}.attendance-options .button{white-space:normal;gap:.3rem;padding-inline:.5rem}.class-workflow-status{border-radius:var(--radius-full);background:var(--muted-surface);width:fit-content;max-width:100%;color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;line-height:1.25;display:inline-flex}.class-workflow-status>svg{flex:none}.class-workflow-status[data-tone=live]{background:var(--success-soft);color:var(--success);animation:1.8s ease-in-out infinite class-live-pulse}.class-workflow-status[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}.class-workflow-status[data-tone=success]{background:var(--success-soft);color:var(--success)}.class-workflow-status[data-tone=homework]{background:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.class-workflow-status[data-tone=homework]{background:color-mix(in srgb, var(--lavender) 72%, var(--surface))}}.class-workflow-status[data-tone=homework]{color:var(--color-plum)}.class-workflow-detail{gap:.5rem;margin:0 0 1rem;display:grid}.class-workflow-detail>.class-workflow-status{margin-top:0}.class-workflow-trail{min-width:0;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;scrollbar-width:none;align-items:center;gap:.25rem;padding-bottom:.125rem;display:flex;overflow-x:auto}.class-workflow-trail::-webkit-scrollbar{display:none}.class-workflow-trail span{border-radius:var(--radius-full);background:var(--muted-surface);padding:.25rem .5rem}@supports (color:color-mix(in lab, red, red)){.class-workflow-trail span{background:color-mix(in srgb, var(--muted-surface) 78%, transparent)}}.class-workflow-trail span[data-state=done]{background:var(--success-soft);color:var(--success)}.class-workflow-trail span[data-state=current]{background:var(--warning-soft);color:var(--warning);font-weight:var(--font-weight-semibold)}.class-workflow-trail i{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.class-workflow-trail i{color:color-mix(in srgb, var(--muted) 55%, transparent)}}.class-workflow-trail i{font-style:normal}.attendance-finalized-panel{border:1px solid var(--success);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.attendance-finalized-panel{border:1px solid color-mix(in srgb, var(--success) 26%, var(--border))}}.attendance-finalized-panel{border-radius:var(--radius-md);background:var(--success-soft)}@supports (color:color-mix(in lab, red, red)){.attendance-finalized-panel{background:color-mix(in srgb, var(--success-soft) 72%, var(--surface))}}.attendance-finalized-panel .cluster{color:var(--success);gap:.5rem}.attendance-finalized-panel .button{flex:none}.attendance-homework-hint{border-radius:var(--radius-md);background:var(--primary-soft);align-items:center;gap:.5rem;margin:1rem 0 0;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.attendance-homework-hint{background:color-mix(in srgb, var(--primary-soft) 72%, var(--surface))}}.attendance-homework-hint{color:var(--primary-strong);font-size:var(--text-base)}.attendance-start-hint{margin-bottom:1rem}.attendance-toolbar{flex-wrap:nowrap;gap:.25rem;margin-bottom:1rem}.attendance-add-toggle{margin-left:auto}.attendance-add-panel{border:1px solid var(--primary);gap:.75rem;margin:0 0 1rem;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.attendance-add-panel{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}}.attendance-add-panel{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--primary-soft), var(--lavender))}@supports (color:color-mix(in lab, red, red)){.attendance-add-panel{background:linear-gradient(145deg, color-mix(in srgb, var(--primary-soft) 65%, var(--surface)), color-mix(in srgb, var(--lavender) 26%, var(--surface)))}}.attendance-add-panel{box-shadow:var(--shadow-md)}.attendance-add-panel p{margin:.25rem 0 0}.attendance-add-list{gap:.5rem;display:grid}.attendance-add-row{grid-template-columns:var(--tap) minmax(0, 1fr) auto;border:1px solid var(--border);align-items:center;gap:.75rem;width:100%;min-height:3.75rem;padding:.5rem .75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.attendance-add-row{border:1px solid color-mix(in srgb, var(--border) 90%, transparent)}}.attendance-add-row{border-radius:var(--radius-md);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.attendance-add-row{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.attendance-add-row{color:inherit;text-align:left}.attendance-add-row>svg{color:var(--primary)}.attendance-add-row:disabled{opacity:.68}.attendance-add-empty{padding:.25rem 0;margin:0!important}.homework-trainer-card{background:linear-gradient(145deg, var(--surface), var(--surface))}@supports (color:color-mix(in lab, red, red)){.homework-trainer-card{background:linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--primary-soft)), color-mix(in srgb, var(--surface) 91%, var(--lavender)))}}.homework-panel-header{grid-template-columns:var(--tap) minmax(0, 1fr);align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:grid}.homework-panel-header>.homework-icon{grid-area:1/1/span 2}.homework-panel-heading{grid-area:1/2;min-width:0}.homework-panel-heading h2{margin:0}.homework-panel-progress{grid-area:2/2;justify-self:start}.homework-icon{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-strong);flex:none;place-items:center;display:grid}.homework-textarea{line-height:1.5;min-height:7rem!important}.homework-submit{margin-top:.75rem}.homework-submit+.button{margin-top:.5rem}.homework-recording-note{border-radius:var(--radius-md);background:var(--lavender);align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.homework-recording-note{background:color-mix(in srgb, var(--lavender) 65%, var(--surface))}}.homework-recording-note{color:var(--color-plum);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.homework-zoom-manager{border:1px solid var(--lavender);margin-top:1rem;padding:.75rem}@supports (color:color-mix(in lab, red, red)){.homework-zoom-manager{border:1px solid color-mix(in srgb, var(--lavender) 72%, var(--border))}}.homework-zoom-manager{border-radius:var(--radius-md);background:var(--lavender)}@supports (color:color-mix(in lab, red, red)){.homework-zoom-manager{background:color-mix(in srgb, var(--lavender) 28%, var(--surface))}}.homework-recording-row{border-radius:var(--radius-sm);background:var(--surface-strong);grid-template-columns:minmax(0,1fr);align-items:center;gap:.5rem;padding:.5rem .75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.homework-recording-row{background:color-mix(in srgb, var(--surface-strong) 86%, transparent)}}.homework-recording-row{font-size:var(--text-base)}.homework-recording-actions{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.homework-recipient-list{border-top:1px solid var(--border);gap:.5rem;margin-top:1rem;padding-top:1rem;display:grid}.homework-recipient{border-radius:var(--radius-md);background:var(--surface-strong);min-width:0;padding:.75rem}@supports (color:color-mix(in lab, red, red)){.homework-recipient{background:color-mix(in srgb, var(--surface-strong) 86%, transparent)}}.homework-recipient{border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.homework-recipient{border:1px solid color-mix(in srgb, var(--border) 80%, transparent)}}.homework-status{border-radius:var(--radius-full);background:var(--warning-soft);color:var(--warning);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex:none;align-items:center;gap:.25rem;padding:.25rem .5rem;display:inline-flex}.homework-status[data-status=completed]{background:var(--success-soft);color:var(--success)}.homework-response{border-radius:var(--radius-md);background:var(--blush);align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.homework-response{background:color-mix(in srgb, var(--blush) 35%, var(--surface))}}.homework-response{color:var(--foreground);font-size:var(--text-base);white-space:pre-wrap;line-height:1.45}.homework-response>svg{color:var(--color-clay);flex:none;margin-top:.125rem}.homework-done{padding:0;overflow:hidden}.homework-done>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:1rem;list-style:none;display:grid}.homework-done>summary>.cluster{flex-wrap:nowrap;min-width:0}.homework-done>summary>.cluster>div{min-width:0}.homework-done>summary .row-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.homework-done>summary>.homework-status{grid-area:2/1;justify-self:start}.homework-done>summary>.homework-done-chevron{grid-area:1/2}.homework-done>summary::-webkit-details-marker{display:none}.homework-done>summary:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.homework-done>summary:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent)}}.homework-done>summary:focus-visible{outline-offset:-3px}.homework-done-chevron{color:var(--muted);flex:none;transition:transform .2s}.homework-done[open]>summary{border-bottom:1px solid var(--border)}.homework-done[open] .homework-done-chevron{transform:rotate(180deg)}.homework-done-content{padding:0 1rem 1rem}.homework-done-content .homework-body{margin-top:1rem}.homework-card{scroll-margin-top:1rem}.homework-card[data-completed=true]{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.homework-card[data-completed=true]{background:color-mix(in srgb, var(--surface) 91%, var(--success-soft))}}.homework-card[data-focused=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.homework-card[data-focused=true]{border-color:color-mix(in srgb, var(--primary) 65%, var(--border))}}.homework-card[data-focused=true]{box-shadow:0 0 0 4px var(--primary-soft), var(--shadow-md)}@supports (color:color-mix(in lab, red, red)){.homework-card[data-focused=true]{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary-soft) 70%, transparent), var(--shadow-md)}}.homework-body{border-radius:var(--radius-md);background:var(--primary-soft);margin:.75rem 0;padding:.75rem}@supports (color:color-mix(in lab, red, red)){.homework-body{background:color-mix(in srgb, var(--primary-soft) 48%, var(--surface))}}.homework-body{white-space:pre-wrap;line-height:1.55}.homework-recordings{margin-bottom:1rem}.homework-actions{margin-top:1rem}.homework-preview{align-items:center;gap:.75rem;display:flex}.homework-preview-body{color:var(--foreground);font-size:var(--text-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;line-height:1.4;display:-webkit-box;overflow:hidden}.homework-client-summary .section-title{margin-bottom:.5rem}.client-visit-card{padding:0;overflow:hidden}.client-visit-row{align-items:center;gap:.75rem;min-height:4.5rem;padding:.75rem;display:flex}.client-visit-row>.badge{margin-left:auto}.client-visit-homework{border-top:1px solid var(--border)}.client-visit-homework>summary{min-height:var(--tap);cursor:pointer;color:var(--primary-strong);background:var(--primary-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.5rem .75rem;list-style:none;display:grid}@supports (color:color-mix(in lab, red, red)){.client-visit-homework>summary{background:color-mix(in srgb, var(--primary-soft) 52%, transparent)}}.client-visit-homework>summary::-webkit-details-marker{display:none}.client-visit-homework>summary .cluster{font-size:var(--text-base);font-weight:var(--font-weight-semibold);flex-wrap:nowrap;gap:.5rem}.client-visit-homework-state{color:var(--muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.client-visit-homework-chevron{transition:transform .2s}.client-visit-homework[open] .client-visit-homework-chevron{transform:rotate(180deg)}.client-visit-homework-content{background:var(--primary-soft);padding:0 .75rem .75rem}@supports (color:color-mix(in lab, red, red)){.client-visit-homework-content{background:color-mix(in srgb, var(--primary-soft) 22%, transparent)}}.client-visit-homework-content .homework-body{margin-top:0}.membership-card{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--primary), var(--primary-strong));border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.membership-card{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 80%, var(--primary-strong)), var(--primary-strong))}}.membership-card{color:var(--surface-strong);box-shadow:var(--shadow-lg)}.membership-card:after{content:"";background:var(--blush);width:12rem;height:12rem;position:absolute;top:-5rem;right:-4rem}@supports (color:color-mix(in lab, red, red)){.membership-card:after{background:color-mix(in srgb, var(--blush) 12%, transparent)}}.membership-card:after{border-radius:var(--radius-full)}.membership-card>:not(.membership-bloom){z-index:1;position:relative}.membership-card:not([data-state=active]){border-color:var(--border);background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-sm)}.membership-card:not([data-state=active]):after{display:none}.membership-card[data-state=pending],.membership-card[data-state=future]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.membership-card[data-state=pending],.membership-card[data-state=future]{border-color:color-mix(in srgb, var(--primary) 38%, var(--border))}}.membership-card[data-state=pending],.membership-card[data-state=future]{background:linear-gradient(135deg, var(--primary-soft), var(--surface))}@supports (color:color-mix(in lab, red, red)){.membership-card[data-state=pending],.membership-card[data-state=future]{background:linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 52%, var(--surface)), var(--surface))}}.membership-card-main{min-width:0}.membership-card h2{font-size:var(--text-xl);letter-spacing:-.02em;margin:.125rem 0 0}.membership-eyebrow{color:inherit;opacity:.72}.membership-note{font-size:var(--text-base);opacity:.82;margin:.375rem 0 0}.membership-footnote{border-top:1px solid;grid-column:1/-1;margin:0;padding-top:.875rem}@supports (color:color-mix(in lab, red, red)){.membership-footnote{border-top:1px solid color-mix(in srgb, currentColor 18%, transparent)}}.membership-footnote{font-size:var(--text-sm);opacity:.72}.membership-bloom{z-index:1;width:9.5rem;color:var(--apricot);opacity:.28;transform-origin:50% 100%;animation:7s ease-in-out infinite bloom-sway;position:absolute;bottom:-1rem;right:-.5rem}.membership-ring{flex:none;place-items:center;width:5.25rem;height:5.25rem;display:grid;position:relative}.membership-ring svg{fill:none;stroke-width:6px;width:100%;height:100%;transform:rotate(-90deg)}.membership-ring-track{stroke:currentColor}@supports (color:color-mix(in lab, red, red)){.membership-ring-track{stroke:color-mix(in srgb, currentColor 20%, transparent)}}.membership-ring-value{stroke:currentColor;stroke-linecap:round;transition:stroke-dasharray .4s var(--ease-out-soft)}.membership-card[data-state=active] .membership-ring-value{stroke:var(--surface-strong)}.membership-card[data-state=exhausted] .membership-ring-value,.membership-card[data-state=expired] .membership-ring-value{stroke:var(--muted)}@supports (color:color-mix(in lab, red, red)){.membership-card[data-state=exhausted] .membership-ring-value,.membership-card[data-state=expired] .membership-ring-value{stroke:color-mix(in srgb, var(--muted) 60%, transparent)}}.membership-ring-label{justify-items:center;line-height:1;display:grid;position:absolute}.membership-ring-label strong{font-size:var(--text-xl);letter-spacing:-.04em}.membership-ring-label small{font-size:var(--text-xs);opacity:.7;margin-top:.125rem}.login-shell{min-height:100svh;padding:max(2rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));background:radial-gradient(circle at 82% 8%, var(--primary-soft) 0, transparent 35%);align-content:space-between;display:grid}@supports (color:color-mix(in lab, red, red)){.login-shell{background:radial-gradient(circle at 82% 8%, color-mix(in srgb, var(--primary-soft) 70%, transparent) 0, transparent 35%)}}.brand-mark{border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--primary), var(--primary-strong));width:3.5rem;height:3.5rem;color:var(--surface-strong);box-shadow:var(--shadow-md);font-weight:var(--font-weight-bold);letter-spacing:-.05em;place-items:center;display:grid}.soft-icon-mark{border:1px solid var(--primary);place-items:center;width:3.5rem;height:3.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.soft-icon-mark{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border))}}.soft-icon-mark{border-radius:var(--radius-lg);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.soft-icon-mark{background:color-mix(in srgb, var(--primary-soft) 82%, var(--surface))}}.soft-icon-mark{color:var(--primary-strong);box-shadow:var(--shadow-sm)}.login-content{width:min(100%,28rem);margin:4rem auto 2rem;animation:.55s ease-out 60ms both content-arrive}.login-content h1{font-size:clamp(2.5rem,14vw,4.5rem)}.setup-note{border-radius:var(--radius-lg);background:var(--warning-soft);color:var(--warning);padding:1rem}@media (max-width:350px){.class-date-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.trainer-class-row{grid-template-columns:var(--tap) minmax(0, 1fr);align-items:center;gap:.5rem .75rem;display:grid;overflow:hidden}.trainer-class-row>.avatar{grid-area:1/1}.trainer-class-row>.row-main{grid-area:1/2}.trainer-class-row .row-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.trainer-class-row .row-subtitle{line-height:1.35}.trainer-class-row>.class-list-actions{border-top:1px solid var(--border);grid-area:2/1/auto/-1;justify-content:flex-end;padding-top:.125rem}@supports (color:color-mix(in lab, red, red)){.trainer-class-row>.class-list-actions{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent)}}}@media (max-width:759px){body:before{content:"";z-index:45;height:calc(env(safe-area-inset-top,0px) + .75rem);pointer-events:none;background:linear-gradient(to bottom, var(--app-canvas) 0, var(--app-canvas) calc(100% - .75rem), transparent 100%);position:fixed;top:0;left:0;right:0}.botanical-background svg:first-child{opacity:.55}.mobile-background-bloom{width:10rem;color:var(--lavender);display:block;position:absolute;bottom:3.5rem;left:-1.75rem}@supports (color:color-mix(in lab, red, red)){.mobile-background-bloom{color:color-mix(in srgb, var(--lavender) 70%, var(--color-plum))}}.mobile-background-bloom{opacity:.28;transform-origin:50% 100%;animation:9s ease-in-out infinite bloom-sway}.class-row{gap:.5rem;padding:.75rem}.homework-trainer-card .section-title{flex-wrap:wrap;align-items:flex-start}.homework-actions>.button{width:100%}.class-calendar .calendar-event-meta,.class-calendar .calendar-event-name{display:none}.class-calendar .calendar-event-body{justify-content:center;align-items:center}.class-calendar .calendar-event-mark{flex-direction:column;gap:.1rem}.class-calendar .calendar-event-mark small{display:block}.class-calendar .calendar-event-mark svg{width:1.05rem;height:1.05rem}.attendance-toolbar .button{font-size:var(--text-sm);padding-inline:.5rem}.class-client-list{max-height:none;overflow:visible}}@media (min-width:760px){.app-content:has(>.app-frame){height:auto;min-height:100%;overflow:visible}body:has(.app-frame){height:auto;min-height:100%;overflow:visible}html:has(.app-frame){height:auto;min-height:100%;overflow:visible}.app-frame{grid-template:none/15rem minmax(0,1fr);height:auto;min-height:100svh;overflow:visible}.app-main-scroll{grid-area:auto;overflow:visible}.desktop-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:1rem;height:100svh;padding:1.5rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.desktop-sidebar{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.desktop-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.desktop-sidebar .nav-item{min-height:3rem;font-size:var(--text-base);flex-direction:row;justify-content:flex-start;padding:0 .75rem}.mobile-nav{display:none}.page-shell{--page-gutter:2rem;padding:2rem var(--page-gutter) 4rem}.calendar-shell{min-height:calc(100svh - 6rem)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sticky-action{bottom:0;left:15rem}.surface-link:hover,.class-row:hover,.client-row:hover{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.surface-link:hover,.class-row:hover,.client-row:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}}.surface-link:hover,.class-row:hover,.client-row:hover{box-shadow:var(--shadow-md)}.button:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.nav-item:hover .nav-icon{transform:translateY(-1px)rotate(-4deg)}.zoom-sheet-backdrop{align-items:center;padding:1.5rem}.zoom-sheet{border-bottom:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.zoom-sheet{border-bottom:1px solid color-mix(in srgb, var(--border) 86%, transparent)}}.zoom-sheet{border-radius:var(--radius-xl);padding-bottom:1rem}.zoom-sheet-handle{display:none}.zoom-sheet-action:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.zoom-sheet-action:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}}.homework-panel-header{grid-template-columns:var(--tap) minmax(0, 1fr) auto}.homework-panel-header>.homework-icon{grid-row:1}.homework-panel-progress{grid-area:1/3;justify-self:end}.homework-recording-row{grid-template-columns:minmax(0,1fr) auto}}@media (min-width:1000px){.notice-rail{grid-auto-columns:calc(50% - .375rem)}.notice-rail:has(>:nth-child(3)){grid-auto-columns:clamp(20rem,42%,30rem)}}@keyframes content-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-skeleton{0%{background-position:100% 0}to{background-position:0 0}}@keyframes page-fade{0%{opacity:0}to{opacity:1}}@keyframes botanical-sway{0%,to{transform:rotate(-.7deg)translateY(0)}50%{transform:rotate(.9deg)translateY(-5px)}}@keyframes flower-breathe{0%,to{opacity:.82}50%{opacity:1}}@keyframes petals-float{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-9px,-14px)rotate(5deg)}}@keyframes bloom-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes class-icon-step{0%,to{transform:translate(-1px)rotate(-5deg)}45%{transform:translate(2px,-3px)rotate(5deg)}60%{transform:translate(2px,-1px)rotate(2deg)}}@keyframes class-icon-bloom{0%,to{transform:rotate(-5deg)scale(.96)}50%{transform:rotate(6deg)scale(1.08)}}@keyframes class-icon-flame{0%,to{transform:translateY(1px)scaleX(.96)}45%{transform:translateY(-2px)scale(1.06,1.1)rotate(2deg)}70%{transform:translateY(-1px)scale(.99,1.05)rotate(-2deg)}}@keyframes class-icon-pulse{0%,to{opacity:.85;transform:scale(.96)}50%{opacity:1;transform:scale(1.07)}}@keyframes class-live-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 20%, transparent)}50%{box-shadow:0 0 0 .5rem color-mix(in srgb, var(--primary) 0%, transparent)}}@keyframes class-live-dot{0%,to{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}@keyframes nav-icon-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1px)scale(1.08)}}@keyframes nav-icon-pending{0%{transform:translateY(0)scale(1)}to{transform:translateY(-2px)scale(1.08)}}@keyframes navigation-flower-bloom{0%,to{opacity:.58;transform:scale(.78)}50%{opacity:1;transform:scale(1.06)}}@keyframes navigation-flower-heart{0%,to{transform-origin:50%;opacity:.78;transform:scale(.88)}50%{transform-origin:50%;opacity:1;transform:scale(1.08)}}@keyframes navigation-flower-float{0%,to{transform:translateY(1px)rotate(-2deg)}50%{transform:translateY(-2px)rotate(2deg)}}@keyframes feedback-arrive{0%{opacity:0}to{opacity:1}}@keyframes zoom-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-sheet-in{0%{opacity:0;transform:translateY(1.25rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chart-rise{0%{opacity:.25;transform-origin:bottom;transform:scaleY(.2)}to{opacity:1;transform-origin:bottom;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.notification-bell{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-strong);flex:none;place-items:center;transition:transform .15s;display:grid;position:relative}.notification-bell:active{transform:scale(.94)}.notification-bell-count{border:2px solid var(--background);border-radius:var(--radius-full);background:var(--danger);min-width:1.15rem;height:1.15rem;color:var(--surface-strong);font-size:.6875rem;font-weight:var(--font-weight-bold);place-items:center;padding:0 .25rem;line-height:1;display:grid;position:absolute;top:-.15rem;right:-.15rem}.notification-row{position:relative}.notification-row[data-unread=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.notification-row[data-unread=true]{border-color:color-mix(in srgb, var(--primary) 32%, var(--border))}}.notification-row[data-unread=true]:before{content:"";border-radius:var(--radius-full);background:var(--primary);width:.375rem;height:.375rem;margin-top:-.1875rem;position:absolute;top:50%;left:.3rem}.notification-class{font-size:var(--text-sm);margin-top:.125rem}.notification-time{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none}.breathing-stage{flex-direction:column;gap:1rem;display:flex}.breathing-stage-running{text-align:center;align-items:center;gap:1.25rem}.breathing-head{gap:.35rem;display:grid}.page-shell:has(.breathing-stage-running){flex-direction:column;justify-content:center;min-height:100%;padding-bottom:1.25rem;display:flex}.page-shell:has(.breathing-stage-running) .page-header{display:none}.breathing-warning{border-color:var(--warning);align-items:flex-start;gap:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.breathing-warning{border-color:color-mix(in srgb, var(--warning) 34%, var(--border))}}.breathing-warning{background:var(--warning-soft)}@supports (color:color-mix(in lab, red, red)){.breathing-warning{background:color-mix(in srgb, var(--warning-soft) 70%, var(--surface))}}.breathing-warning-icon{color:var(--warning);flex:none}.breathing-warning p{margin:.3rem 0 0}.breathing-setting{flex-direction:column;gap:.7rem;display:flex}.breathing-start{flex-direction:column;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.breathing-start p{text-align:center;margin:0}.breathing-round{color:var(--muted);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;margin:0}.breathing-phase{font-size:var(--text-xl);margin:0}.breathing-hint{align-content:start;gap:.3rem;max-width:21rem;min-height:4.5rem;display:grid}.breathing-hint p{color:var(--muted);font-size:var(--text-md);opacity:.45;margin:0;line-height:1.4;transition:opacity .5s}.breathing-hint p[data-active=true]{color:var(--foreground);opacity:1}.breathing-lotus{width:min(72vw,16rem,34vh);color:var(--primary);cursor:pointer;background:0 0;border:0;gap:.5rem;padding:0;display:grid}.breathing-visual{aspect-ratio:1;width:100%;display:block;position:relative}.breathing-bloom{display:block;position:absolute;inset:0}@keyframes lotus-sway{0%,to{transform:rotate(calc(var(--sway,1deg) * -1)) scaleY(.99)}50%{transform:rotate(var(--sway,1deg)) scaleY(1.01)}}.breathing-bloom .lotus-sway{transform-box:fill-box;transform-origin:50% 100%;animation:lotus-sway var(--sway-dur,9s) var(--sway-delay,0s) ease-in-out infinite}@keyframes lotus-mote{0%{opacity:0;transform:translateY(6px)}25%{opacity:.5}75%{opacity:.35}to{opacity:0;transform:translateY(-16px)}}.breathing-bloom .lotus-motes circle{transform-box:fill-box;opacity:0;animation:lotus-mote var(--mote-dur,15s) var(--mote-delay,0s) linear infinite}@media (prefers-reduced-motion:reduce){.breathing-bloom .lotus-sway,.breathing-bloom .lotus-motes circle{animation:none}}.breathing-mark{width:100%;height:100%;display:block;overflow:visible}.breathing-disc{filter:drop-shadow(0 0 4px var(--primary))}@supports (color:color-mix(in lab, red, red)){.breathing-disc{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--primary) 12%, transparent))}}.lotus-disc-core{stop-color:var(--primary-soft)}.lotus-disc-edge{stop-color:var(--surface)}.breathing-ring-track,.breathing-ring-value,.breathing-ripple{fill:none;stroke-width:2.4px;stroke-linecap:round}.breathing-ripple{stroke:var(--primary);stroke-width:.8px}.breathing-ring-track{stroke:var(--primary)}@supports (color:color-mix(in lab, red, red)){.breathing-ring-track{stroke:color-mix(in srgb, var(--primary) 18%, transparent)}}.breathing-ring-value{stroke:var(--primary)}.breathing-label{min-height:4.6rem;color:var(--foreground);pointer-events:none;align-content:start;justify-items:center;gap:.15rem;display:grid}.breathing-label strong{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:3.25rem;line-height:1}.breathing-label small{color:var(--muted);font-size:var(--text-base)}.breathing-done{text-align:center;justify-items:center;gap:.6rem;display:grid}.breathing-done p{margin:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
