:root{--bp-small: 768px;--bp-medium: 1024px;--bp-large: 1280px;--bp-xlarge: 1600px;--col-width-time: 60px;--col-width-sep-heading: 4px;--col-width-room: 1fr;--col-width-sep-room: 2px;--col-width-sep-day: 6px;--col-width-sep-day-thick: 12px;--row-height-head-day: 40px;--row-height-sep-head: 2px;--row-height-head-room: 25px;--row-height-sep-room: 2px;--row-height-hour: 100px;--row-height-sep-hour: 2px;--font-size-header-day: 1.2rem;--font-size-header-room: .9rem;--font-size-header-time: .9rem;--font-size-card: .7rem;--font-size-card-name: .8rem;--bg-color-main: #f8f2ee;--bg-color-header: #e9d4ed;--bg-color-cell-empty: #655b67;--border-color: #0e0d0d;--color-pole: #dabee5;--color-pole-tricks: #c9cfef;--color-heels: #f2e5f4;--color-hammock: #fedce3;--color-lyra: #f9efe2;--color-special: #492738;--color-practice: #dde1e6;--color-cleaning: #ccfbf1;--color-other: #e7aec9;--show-time-scale: 1;--font-main: Helvetica, Arial, Verdana, sans-serif}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--t-brand: #d6407f;--t-date: #b4306e;--t-ink: #3a2730;--t-dark: #2a121e;--t-muted: #846875;--t-meta: #7a5e6c;--t-line: #ecdfe6;--t-women: #be2c6c;--t-blue: #2a63f2;--t-green: #12873c;--t-spots: #1f9e52;--t-left: #be2f26;--t-left-bg: #fbe7e4;--t-page: #fdf6f9;--t-band: #f8eef4;--t-band: color-mix(in srgb, var(--t-brand) 4%, var(--t-page));--trials-max-width: 620px;--trials-gap: 12px}[data-discipline]{--tile: #6f5f6b;--tint: color-mix(in srgb, var(--tile) 12%, #fff)}[data-discipline=Pole]{--tile: #7a4fc0}[data-discipline=Hammock]{--tile: #dc2679}[data-discipline=Lyra]{--tile: #927117}[data-discipline=Reggaetón]{--tile: #c2410c}[data-discipline=Flexibility]{--tile: #268282}[data-discipline=Chair]{--tile: #556274}[data-discipline=Aerial]{--tile: #3a6ea5}*{box-sizing:border-box}html,body{margin:0;background:var(--t-page)}.t-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.trials-app :focus-visible{outline:3px solid var(--t-blue);outline-offset:2px;border-radius:6px}.trials-app{position:relative;max-width:var(--trials-max-width);margin:0 auto;padding:0 12px 40px;background:var(--t-page);color:var(--t-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.trials-app--desktop{max-width:1200px}.dt{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--tile);color:#fff;flex:0 0 auto}.dt__letter{font-family:var(--font-display);font-weight:800;line-height:1}.dt__glyph{display:block;flex-shrink:0}.dt--sm{width:66px;height:56px;border-radius:14px;gap:5px}.dt--sm .dt__letter{font-size:1.35rem}.dt--sm .dt__glyph{width:26px;height:26px}.dt--lg{width:100%;height:100%;border-radius:0;gap:10px;background:transparent}.dt--lg .dt__letter{font-size:2.6rem}.dt--lg .dt__glyph{width:46px;height:46px}.timetable-grid{display:grid;background-color:var(--bg-color-main);border:var(--container-border-width, 5px) solid var(--bg-color-header);border-radius:var(--container-border-radius, 5px);overflow:auto;-webkit-overflow-scrolling:touch;min-height:0;min-width:var(--table-min-width, 0);width:100%;max-width:100%;box-sizing:border-box}.tg-item{display:flex;align-items:center;justify-content:center}.tg-header-day{background-color:var(--bg-color-header);border:1px solid var(--border-color);border-radius:var(--header-border-radius, 5px);font-weight:700;font-size:var(--font-size-header-day);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-header-day__date{margin-left:.12em;font-weight:600;font-size:.85em;opacity:.62}.tg-header-room{background-color:var(--bg-color-header);border:1px solid var(--border-color);border-radius:var(--header-border-radius, 5px);font-size:var(--font-size-header-room)}.tg-header-time{background-color:var(--bg-color-header);border:1px solid #ccc;border-radius:var(--header-border-radius, 5px);font-size:var(--font-size-header-time);font-weight:700}.tg-sep-vertical{background-color:#d3d3d3;height:100%;width:100%}.tg-sep-vertical--thick{background-color:#555}.tg-unplaced-marker{background-color:#f9a825;width:100%;height:100%;z-index:1}.tg-sep-horizontal{background-color:#d3d3d3;width:100%}.tg-collapsed-row{display:flex;align-items:center;width:100%;overflow:hidden;opacity:.5}.tg-inactive-cell{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 8px);border-radius:2px}.tg-class-placeholder{border:1px solid var(--border-color);border-radius:var(--card-radius, 9px);padding:4px 6px;font-size:var(--font-size-card);overflow:hidden;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;background-color:var(--bg-color-header)}.tg-class-placeholder[data-discipline=Pole]{background-color:var(--color-pole)}.tg-class-placeholder[data-discipline="Pole Tricks"]{background-color:var(--color-pole-tricks)}.tg-class-placeholder[data-discipline=Heels]{background-color:var(--color-heels)}.tg-class-placeholder[data-discipline=Hammock]{background-color:var(--color-hammock)}.tg-class-placeholder[data-discipline=Lyra]{background-color:var(--color-lyra)}.tg-class-placeholder[data-discipline=Special]{background-color:var(--color-special)}.tg-class-placeholder[data-discipline=Other]{background-color:var(--color-other)}.tg-class-name{font-weight:700;font-size:var(--font-size-card-name);line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0}.tg-class-time{font-size:.7rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-height:900px){:root{--row-height-hour: 70px}}@media(max-height:750px){:root{--row-height-hour: 55px}}@media(max-height:620px){:root{--row-height-hour: 44px}}.tg-drop-cell{z-index:5;border-radius:var(--card-radius, 9px);border:2px dashed transparent;box-sizing:border-box}.tg-drop-cell--active{border-color:#64748b;background:#dde1e673}.tsv-split{display:flex;gap:8px;min-width:1350px;width:100%;flex:1;min-height:0;transition:opacity .2s}.tsv-split>[role=grid]:first-child{flex:5}.tsv-split>[role=grid]:last-child{flex:2}.tsv-split--loading{opacity:.45;pointer-events:none}.tsv-empty{margin:8px 4px 12px;padding:10px 14px;border-radius:8px;background:#9e5c9e1a;color:#4a354a;border:1px solid rgba(158,92,158,.22);line-height:1.4}.capacity-ribbon{position:absolute;right:-24px;width:70px;text-align:center;color:#fff;font-weight:800;pointer-events:none;transform:rotate(-45deg);box-shadow:0 1px 2px #0000002e;z-index:3}.capacity-ribbon--full{bottom:6px;background:#4a2c6b;font-size:6.5px;letter-spacing:.8px;padding:1px 0}.capacity-ribbon--nearly{bottom:5px;background:#f06a1f;font-size:6px;letter-spacing:.6px;padding:1px 0;box-shadow:0 1px 2px #00000026}.cdm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}.cdm-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s ease,visibility 0s linear 0s}.cdm-card{position:relative;background:var(--bg-color-main, #f8f2ee);border:2px solid var(--border-color, #0e0d0d);border-radius:10px;overflow:clip;width:100%;max-width:400px;max-height:90dvh;display:flex;flex-direction:column;opacity:0;transform:scale(.55);transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1);font-family:var(--font-main, Helvetica, Arial, sans-serif)}.cdm-backdrop.is-open .cdm-card{opacity:1;transform:scale(1)}.cdm-hero{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 48px 24px;gap:4px;background-color:var(--bg-color-header, #e9d4ed)}[data-discipline=Pole] .cdm-hero{background-color:var(--color-pole)}[data-discipline="Pole Tricks"] .cdm-hero{background-color:var(--color-pole-tricks)}[data-discipline=Heels] .cdm-hero{background-color:var(--color-heels)}[data-discipline=Hammock] .cdm-hero{background-color:var(--color-hammock)}[data-discipline=Lyra] .cdm-hero{background-color:var(--color-lyra)}[data-discipline=Special] .cdm-hero{background-color:var(--color-special);color:#fff}[data-discipline=Special] .cdm-title{color:#fff}[data-discipline=Special] .cdm-teacher{color:#ffffffd9}[data-discipline=Special] .cdm-meta{color:#ffffffb3}[data-discipline=Special] .cdm-close{color:#fff}[data-discipline=Other] .cdm-hero{background-color:var(--color-other)}.cdm-title{margin:0;font-size:1.5rem;font-weight:800;line-height:1.2;color:var(--border-color, #0e0d0d)}.cdm-teacher{margin:0;font-size:1.1rem;font-weight:600;color:#000000bf}.cdm-meta{margin:0;font-size:.95rem;font-weight:500;color:#000000a6;font-variant-numeric:tabular-nums}.cdm-close{position:absolute;top:10px;right:12px;background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;color:var(--border-color, #0e0d0d);opacity:.5}.cdm-close:hover{opacity:1}.cdm-body{background:var(--bg-color-main, #f8f2ee);padding:16px 20px 20px;overflow-y:auto;max-height:55dvh;display:flex;flex-direction:column;gap:14px}.cdm-field-row{display:flex;gap:16px}.cdm-field-row .cdm-field{flex:1;min-width:0}.cdm-field{display:flex;flex-direction:column;gap:3px}.cdm-field__label{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#999}.cdm-field__value{font-size:.88rem;color:var(--border-color, #0e0d0d);line-height:1.45;white-space:pre-line;word-break:break-word}.cdm-spotify-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#1db954;width:14px;height:14px;opacity:.75;flex-shrink:0}.cdm-spotify-btn:hover{opacity:1}.cdm-spotify-btn svg{width:100%;height:100%}.cdm-spotify-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#00000073;display:flex;align-items:flex-end;border-radius:10px;overflow:hidden}.cdm-spotify-panel{width:100%;background:#121212;color:#fff;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;max-height:75%;animation:cdm-spotify-slide-up .22s cubic-bezier(.22,1,.36,1)}@keyframes cdm-spotify-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cdm-spotify-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.cdm-spotify-title{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#1db954}.cdm-spotify-icon{width:16px;height:16px;flex-shrink:0}.cdm-spotify-close{position:static;color:#ffffff80;font-size:1.4rem;line-height:1}.cdm-spotify-close:hover{color:#fff;opacity:1}.cdm-spotify-list{overflow-y:auto;padding:10px 0;display:flex;flex-direction:column;gap:2px}.cdm-spotify-song{display:flex;align-items:center;gap:12px;padding:8px 16px}.cdm-spotify-song:hover{background:#ffffff0d}.cdm-spotify-art{width:48px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0;background:#282828}.cdm-spotify-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cdm-spotify-track{font-size:.88rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-spotify-artist{font-size:.78rem;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-spotify-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#1db954;flex-shrink:0;opacity:.7;transition:opacity .15s}.cdm-spotify-link:hover{opacity:1}.cdm-spotify-link svg{width:22px;height:22px}.cdm-admin{border-top:1px dashed rgba(0,0,0,.15)}.cdm-admin__heading{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.5;margin:0 0 8px}@media(max-width:520px){.cdm-backdrop{padding:16px;align-items:center}.cdm-card{max-width:100%;max-height:88dvh}.cdm-hero{padding:20px 40px 16px}.cdm-body{max-height:45dvh}}.settings-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.settings-panel-backdrop.is-open{opacity:1;visibility:visible}.settings-panel{position:fixed;top:0;right:0;width:min(360px,100vw - 24px);max-height:100vh;background:var(--bg-color-main, #f8f2ee);border-left:1px solid var(--border-color, #0e0d0d);box-shadow:-4px 0 20px #0000001f;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;font-family:var(--font-main)}.settings-panel-backdrop.is-open .settings-panel{transform:translate(0)}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #0e0d0d);background:var(--bg-color-header, #e9d4ed);flex-shrink:0}.settings-panel__title{font-weight:700;font-size:1rem;color:#2a1a2e;margin:0}.settings-panel__close{padding:6px 10px;border:1px solid rgba(0,0,0,.2);border-radius:6px;background:#fff;cursor:pointer;font-size:.85rem;color:#333}.settings-panel__close:hover{background:#f5f0f0}.settings-panel__body{overflow-y:auto;padding:12px 16px 24px;flex:1;min-height:0}.settings-section{margin-bottom:20px}.settings-section:last-child{margin-bottom:0}.settings-section__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b4f6b;margin:0 0 10px;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.08)}.settings-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.settings-row:last-child{margin-bottom:0}.settings-row__label{flex:0 0 100px;font-size:.8rem;color:#333}.settings-row__control{flex:1;min-width:0}.settings-panel input[type=checkbox]{width:18px;height:18px;cursor:pointer}.settings-panel input[type=range]{width:100%;height:6px;accent-color:#9e5c9e}.settings-panel input[type=color]{width:36px;height:28px;padding:2px;border:1px solid rgba(0,0,0,.2);border-radius:4px;cursor:pointer;background:#fff}.settings-row--stacked{flex-direction:column;align-items:stretch}.settings-row--stacked .settings-row__label{flex:none}.settings-discipline-grid{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.settings-discipline-grid .settings-row__label{flex:none}.settings-panel__reset{margin-top:16px;padding:10px 16px;border:1px solid #c62828;border-radius:8px;background:#fff;color:#c62828;font-size:.9rem;font-weight:600;cursor:pointer}.settings-panel__reset:hover{background:#ffebee}.settings-value{font-size:.75rem;color:#888;font-variant-numeric:tabular-nums;min-width:3em}.week-toggle{display:flex;align-items:center;gap:6px;padding:8px 4px}.week-toggle__btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 18px;border:2px solid var(--bg-color-header);border-radius:20px;background:transparent;cursor:pointer;font-family:var(--font-main);transition:background .15s,border-color .15s,color .15s;line-height:1.2}.week-toggle__btn:hover:not(:disabled){border-color:#b07db0;background:#9e5c9e14}.week-toggle__btn--active{background:var(--bg-color-header);border-color:#b07db0}.week-toggle__btn:disabled{opacity:.6;cursor:default}.week-toggle__label{font-weight:700;font-size:.85rem;color:#2a1a2e}.week-toggle__dates{font-size:.72rem;color:#6b4f6b;white-space:nowrap}.week-toggle__term-nav{display:flex;align-items:center;gap:0;border:2px solid var(--bg-color-header);border-radius:20px;padding:2px}.week-toggle__nav-btn{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;padding:4px 8px;color:#2a1a2e;opacity:.7;font-family:inherit}.week-toggle__nav-btn:hover:not(:disabled){opacity:1}.week-toggle__nav-btn:disabled{opacity:.2;cursor:default}.week-toggle__term-label{font-weight:700;font-size:.85rem;color:#2a1a2e;min-width:110px;text-align:center;white-space:nowrap}.week-toggle__source{display:flex;gap:2px;margin-left:4px;border:1px solid rgba(158,92,158,.25);border-radius:8px;padding:2px;background:#9e5c9e0a}.week-toggle__source-btn{padding:5px 10px;border:none;border-radius:6px;background:transparent;font-size:.68rem;font-weight:600;color:#6b4f6b;cursor:pointer;font-family:var(--font-main);white-space:nowrap}.week-toggle__source-btn:hover{background:#9e5c9e1a;color:#2a1a2e}.week-toggle__source-btn--active{background:#9e5c9e38;color:#2a1a2e}.week-toggle__spinner{display:inline-block;width:16px;height:16px;border:2px solid #cbb5d0;border-top-color:#9e5c9e;border-radius:50%;animation:wt-spin .7s linear infinite;margin-left:6px;flex-shrink:0}@keyframes wt-spin{to{transform:rotate(360deg)}}.week-toggle__sheet-tools{display:flex;align-items:center;gap:4px;margin-left:4px;flex-shrink:0}.week-toggle__sheet-link{padding:5px 9px;border:1px solid rgba(158,92,158,.3);border-radius:6px;background:#9e5c9e0f;font-size:.68rem;font-weight:600;color:#6b4f6b;text-decoration:none;white-space:nowrap;font-family:var(--font-main);transition:background .15s,border-color .15s,color .15s}.week-toggle__sheet-link:hover{background:#9e5c9e24;border-color:#9e5c9e80;color:#2a1a2e}.week-toggle__extract-btn{padding:5px 10px;border:1px solid rgba(158,92,158,.3);border-radius:6px;background:#9e5c9e0f;font-size:.68rem;font-weight:600;color:#6b4f6b;cursor:pointer;white-space:nowrap;font-family:var(--font-main);transition:background .15s,border-color .15s,color .15s}.week-toggle__extract-btn:hover:not(:disabled){background:#9e5c9e24;border-color:#9e5c9e80;color:#2a1a2e}.week-toggle__extract-btn:disabled{opacity:.7;cursor:default}.week-toggle__extract-btn--running{border-color:#9e5c9e66;background:#9e5c9e1a}.week-toggle__extract-btn--ok{border-color:#28a74566;background:#28a7451a;color:#1a7a30}.week-toggle__extract-btn--error{border-color:#dc354566;background:#dc354514;color:#b02030}.week-toggle__extract-msg{font-size:.62rem;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-toggle__extract-msg--ok{color:#1a7a30}.week-toggle__extract-msg--error{color:#b02030}.week-toggle__info{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;cursor:default;-webkit-user-select:none;user-select:none}.week-toggle__settings-btn{padding:4px 8px;border:1px solid rgba(158,92,158,.25);border-radius:6px;background:#9e5c9e0f;color:#6b4f6b;font-size:1rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.week-toggle__settings-btn:hover{background:#9e5c9e1f;border-color:#9e5c9e66;color:#2a1a2e}.week-toggle__settings-btn[aria-pressed=true]{background:#9e5c9e33;border-color:#9e5c9e;color:#2a1a2e}.week-toggle__bp{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:#b09ab0;background:#9e5c9e14;border:1px solid rgba(158,92,158,.18);border-radius:4px;padding:2px 6px;white-space:nowrap;line-height:1.3}.week-toggle__font{font-weight:400;font-size:.6rem;color:#c0a8c0;font-variant-numeric:tabular-nums}.week-toggle__vp,.week-toggle__version{font-size:.6rem;color:#c0a8c0;letter-spacing:.03em;white-space:nowrap;padding:0 2px;line-height:1.3}@media(max-width:768px){.week-toggle{padding:6px 2px}.week-toggle__btn{padding:6px 14px}}.fvh-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:90px 16px 16px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}.fvh-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s ease,visibility 0s linear 0s}.fvh-card{pointer-events:none;position:relative;background:var(--bg-color-main, #f8f2ee);border:2px solid var(--border-color, #0e0d0d);border-radius:10px;overflow:hidden;width:100%;max-width:400px;display:flex;flex-direction:column;opacity:0;transform:scale(.55);transform-origin:top center;transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1);font-family:var(--font-main, Helvetica, Arial, sans-serif)}.fvh-card button{pointer-events:auto}.fvh-backdrop.is-open .fvh-card{opacity:1;transform:scale(1)}.fvh-close{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;padding:10px 14px;color:var(--border-color, #0e0d0d);opacity:.5;z-index:2}.fvh-close:hover{opacity:1}.fvh-hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 24px 22px;gap:8px;background-color:var(--color-pole, #dabee5);color:#2b1d35}.fvh-hero__wave{font-size:2.4rem;line-height:1;display:inline-block;transform-origin:70% 80%;animation:fvh-wave 1.5s ease-in-out .24s}@keyframes fvh-wave{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(6deg)}}.fvh-hero__title{margin:0;font-size:1.5rem;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:#2b1d35}.fvh-body{background:var(--bg-color-main, #f8f2ee);padding:20px 24px 22px;display:flex;flex-direction:column;align-items:center;gap:14px}.fvh-tip{margin:0;font-size:.95rem;font-weight:500;line-height:1.45;color:var(--border-color, #0e0d0d);text-align:center}.fvh-cta{width:100%;padding:12px 24px;border:2px solid var(--border-color, #0e0d0d);border-radius:30px;background:var(--border-color, #0e0d0d);color:#fff;font-size:.95rem;font-weight:700;font-family:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;margin-top:4px;transition:transform 80ms ease,opacity .12s ease}.fvh-cta:hover{opacity:.88}.fvh-cta:active{transform:translateY(1px)}.fvh-cta:focus-visible{outline:2px solid var(--border-color, #0e0d0d);outline-offset:3px}.fvh-foot{margin:0;font-size:.7rem;color:#00000073;font-style:italic}@media(max-width:480px){.fvh-backdrop{padding:48px 12px 12px}.fvh-hero{padding:22px 18px 18px}.fvh-hero__wave{font-size:2rem}.fvh-hero__title{font-size:1.25rem}.fvh-body{padding:16px 20px 18px}.fvh-tip{font-size:.9rem}}.booking-class-card{position:relative;border:var(--card-border-width, 1px) solid var(--card-border-color, var(--border-color));border-radius:var(--card-radius, 9px);box-sizing:border-box;width:100%;height:100%;overflow:hidden;cursor:pointer;background-color:var(--bg-color-header);transition:transform 80ms ease,box-shadow 80ms ease,opacity .2s ease}.booking-class-card[data-discipline=Pole]{background-color:var(--color-pole)}.booking-class-card[data-discipline="Pole Tricks"]{background-color:var(--color-pole-tricks)}.booking-class-card[data-discipline=Heels]{background-color:var(--color-heels)}.booking-class-card[data-discipline=Hammock]{background-color:var(--color-hammock)}.booking-class-card[data-discipline=Lyra]{background-color:var(--color-lyra)}.booking-class-card[data-discipline=Special]{background-color:var(--color-special);color:#fff}.booking-class-card[data-discipline=Other]{background-color:var(--color-other)}@media(hover:hover){.booking-class-card:hover{transform:scale(1.025);box-shadow:0 3px 10px #0000002e;z-index:1}.booking-class-card:hover:after{content:"›";position:absolute;top:2px;right:6px;font-size:1.1rem;line-height:1;font-weight:700;color:#00000073;pointer-events:none;animation:booking-card-chev-in .12s ease-out}.booking-class-card[data-discipline=Special]:hover:after{color:#ffffffb3}}@keyframes booking-card-chev-in{0%{opacity:0;transform:translate(-2px)}to{opacity:1;transform:translate(0)}}.booking-class-card:focus-visible{outline:2px solid var(--border-color);outline-offset:2px;z-index:1}@media(hover:hover){.booking-class-card--highlighted{outline:var(--highlight-border-width, 5px) solid var(--highlight-border-color, #e53935);outline-offset:-1px;transform:scale(var(--highlight-scale, 1.04));box-shadow:0 4px 16px #e5393566;z-index:2;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.booking-class-card--highlighted:hover{transform:scale(1.06)}.booking-class-card--dimmed{opacity:var(--dim-opacity, .35)}}.booking-class-card__overlap-badge{position:absolute;top:1px;right:1px;background-color:#0000008c;color:#fff;font-size:.55rem;font-weight:700;line-height:1;padding:2px 4px;border-radius:4px;pointer-events:none;z-index:2;white-space:nowrap}.booking-class-card__container{transition:opacity var(--card-fade-duration, .7s) ease-in-out;container-type:size;container-name:bookingcard;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px 0;padding:3px 0;height:100%;box-sizing:border-box;overflow:hidden;text-align:center}.booking-class-card__name{font-weight:700;font-size:min(clamp(.52rem,.72rem + 3.2cqi,1.55rem),clamp(.52rem,.12rem + 17cqb,1.55rem));line-height:1.1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-width:0;width:100%}.booking-class-card__teacher,.booking-class-card__time{font-size:min(clamp(.46rem,.58rem + 2.6cqi,1.2rem),clamp(.46rem,.06rem + 14cqb,1.2rem));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%}.booking-class-card__teacher{color:#000000bf}.booking-class-card__time{font-variant-numeric:tabular-nums}@container bookingcard (max-width: 69px){.booking-class-card__name{font-size:10.5px}.booking-class-card__teacher,.booking-class-card__time{font-size:9.5px;line-height:1.15}}.sheet-class-card{position:relative;border:var(--card-border-width, 1px) solid var(--card-border-color, var(--border-color));border-radius:var(--card-radius, 9px);box-sizing:border-box;width:100%;height:100%;overflow:hidden;cursor:pointer;background-color:var(--bg-color-header);transition:transform 80ms ease,box-shadow 80ms ease,opacity .2s ease}.sheet-class-card[data-discipline=Pole]{background-color:var(--color-pole)}.sheet-class-card[data-discipline="Pole Tricks"]{background-color:var(--color-pole-tricks)}.sheet-class-card[data-discipline=Heels]{background-color:var(--color-heels)}.sheet-class-card[data-discipline=Hammock]{background-color:var(--color-hammock)}.sheet-class-card[data-discipline=Lyra]{background-color:var(--color-lyra)}.sheet-class-card[data-discipline=Special]{background-color:var(--color-special);color:#fff}.sheet-class-card[data-discipline=Other]{background-color:var(--color-other)}@media(hover:hover){.sheet-class-card:hover{transform:scale(1.025);box-shadow:0 3px 10px #0000002e;z-index:1}}.sheet-class-card:focus-visible{outline:2px solid var(--border-color);outline-offset:2px;z-index:1}@media(hover:hover){.sheet-class-card--highlighted{outline:var(--highlight-border-width, 5px) solid var(--highlight-border-color, #e53935);outline-offset:-1px;transform:scale(var(--highlight-scale, 1.04));box-shadow:0 4px 16px #e5393566;z-index:2;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.sheet-class-card--highlighted:hover{transform:scale(1.06)}.sheet-class-card--dimmed{opacity:var(--dim-opacity, .35)}}.sheet-class-card__overlap-badge{position:absolute;top:3px;right:4px;background-color:#0000008c;color:#fff;font-size:.55rem;font-weight:700;line-height:1;padding:2px 4px;border-radius:4px;pointer-events:none;z-index:2;white-space:nowrap}.sheet-class-card__container{transition:opacity var(--card-fade-duration, .7s) ease-in-out;container-type:size;container-name:sheetcard;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px 0;padding:5px 4px;height:100%;box-sizing:border-box;overflow:hidden;text-align:center}.sheet-class-card__name{font-weight:700;font-size:min(clamp(.52rem,.72rem + 3.2cqi,1.55rem),clamp(.52rem,.12rem + 17cqb,1.55rem));line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;width:100%}.sheet-class-card__teacher,.sheet-class-card__time{font-size:min(clamp(.46rem,.58rem + 2.6cqi,1.2rem),clamp(.46rem,.06rem + 14cqb,1.2rem));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%}.sheet-class-card__teacher{color:#000000bf}.sheet-class-card[data-discipline=Special] .sheet-class-card__teacher{color:#ffffffd9}.sheet-class-card__time{font-variant-numeric:tabular-nums}@container sheetcard (max-width: 69px){.sheet-class-card__container{padding:3px 5px;gap:1px 0}}@container sheetcard (min-width: 140px){.sheet-class-card__container{padding:7px 11px;gap:3px 0}.sheet-class-card__name{-webkit-line-clamp:3;line-height:1.3}}.class-card{position:relative;border:var(--card-border-width, 1px) solid var(--card-border-color, var(--border-color));border-radius:var(--card-radius, 9px);box-sizing:border-box;width:100%;height:100%;overflow:hidden;cursor:pointer;background-color:var(--bg-color-header);transition:transform 80ms ease,box-shadow 80ms ease,opacity .2s ease}.class-card[data-discipline=Pole]{background-color:var(--color-pole)}.class-card[data-discipline="Pole Tricks"]{background-color:var(--color-pole-tricks)}.class-card[data-discipline=Heels]{background-color:var(--color-heels)}.class-card[data-discipline=Hammock]{background-color:var(--color-hammock)}.class-card[data-discipline=Lyra]{background-color:var(--color-lyra)}.class-card[data-discipline=Special]{background-color:var(--color-special);color:#fff}.class-card[data-discipline=Other]{background-color:var(--color-other)}.class-card:hover{transform:scale(1.025);box-shadow:0 3px 10px #0000002e;z-index:1}.class-card:focus-visible{outline:2px solid var(--border-color);outline-offset:2px;z-index:1}.class-card--highlighted{outline:var(--highlight-border-width, 5px) solid var(--highlight-border-color, #e53935);outline-offset:-1px;transform:scale(var(--highlight-scale, 1.04));box-shadow:0 4px 16px #e5393566;z-index:2;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.class-card--highlighted:hover{transform:scale(1.06)}.class-card--dimmed{opacity:var(--dim-opacity, .35)}.class-card__overlap-badge{position:absolute;top:1px;right:1px;background-color:#0000008c;color:#fff;font-size:.55rem;font-weight:700;line-height:1;padding:2px 4px;border-radius:4px;pointer-events:none;z-index:2;white-space:nowrap}.class-card__container{transition:opacity var(--card-fade-duration, .7s) ease-in-out;container-type:size;container-name:card;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px 0;padding:5px 7px;height:100%;box-sizing:border-box;overflow:hidden;text-align:center}.class-card__name{font-weight:700;font-size:min(clamp(.52rem,.72rem + 3.2cqi,1.55rem),clamp(.52rem,.12rem + 17cqb,1.55rem));line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;width:100%}.class-card__teacher,.class-card__time,.class-card__attendance{font-size:min(clamp(.46rem,.58rem + 2.6cqi,1.2rem),clamp(.46rem,.06rem + 14cqb,1.2rem));line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%}.class-card__teacher{color:#000000bf}.class-card[data-discipline=Special] .class-card__teacher{color:#ffffffd9}.class-card__attendance[data-full=true]{background-color:var(--attendance-full-color, #2e7d32);color:#fff;border-radius:3px;padding:0 4px;font-weight:600}.class-card__attendance[data-low=true]{background-color:var(--attendance-low-color, #c62828);color:#fff;border-radius:3px;padding:0 4px;font-weight:600}.class-card__fill-series{display:flex;gap:2px;justify-content:center;flex-wrap:nowrap;width:100%;overflow:hidden}.class-card__fill-item{font-size:.5rem;line-height:1;white-space:nowrap;color:#00000080;font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,sans-serif}@container card (max-height: 45px){.class-card__fill-series{display:none}}@container card (max-width: 69px){.class-card__container{padding:2px 4px}}@container card (max-width: 69px) and (min-height: 70px){.class-card__container{padding:4px 5px;gap:1px 0}}@container card (max-width: 69px) and (max-height: 69px){.class-card__container{padding:1px 3px;gap:0}.class-card__name{-webkit-line-clamp:1}}@container card (max-width: 119px){.class-card__container{padding:3px 5px;gap:0}}@container card (max-width: 119px) and (max-height: 50px){.class-card__container{padding:1px 4px;gap:0}.class-card__name{-webkit-line-clamp:1;font-size:min(clamp(.42rem,.55rem + 2.5cqi,1rem),clamp(.42rem,.08rem + 22cqb,1rem))}.class-card__teacher,.class-card__time,.class-card__attendance{font-size:min(clamp(.38rem,.45rem + 2cqi,.85rem),clamp(.38rem,.04rem + 18cqb,.85rem));line-height:1.1}}@container card (min-width: 140px){.class-card__container{padding:6px 10px;gap:3px 0}.class-card__name{-webkit-line-clamp:3;line-height:1.3}.class-card__teacher,.class-card__time,.class-card__attendance{line-height:1.25}}:root{--sv-row-height: 62px;--sv-collapsed-height: 14px;--sv-time-col: 28px;--sv-panel-gap: 20px;--sv-panel-radius: 10px}.scroll-view{width:100%;overflow:hidden}.sv-indicators{display:flex;justify-content:center;gap:6px;padding:8px 0}.sv-dot{width:7px;height:7px;border-radius:50%;background:#c0b8b4;transition:background .2s ease,transform .2s ease}.sv-dot--active{background:#5a4e56;transform:scale(1.35)}.sv-panels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative;scrollbar-width:none;-ms-overflow-style:none}.sv-panels::-webkit-scrollbar{display:none}.sv-day-panel{flex:0 0 calc(100% - var(--sv-panel-gap));scroll-snap-align:start;background:var(--bg-color-main, #f8f2ee);border-radius:var(--sv-panel-radius);overflow:hidden;border:1px solid var(--border-color, #0e0d0d);box-shadow:-3px 0 8px #00000014,-1px 0 3px #0000000a;will-change:transform}.sv-day-panel.is-stuck{filter:brightness(.95)}.sv-day-header{display:flex;align-items:center;justify-content:space-between;padding:6px;font-weight:700;font-size:.95rem;text-align:center;background:var(--bg-color-header, #e9d4ed);border-bottom:1px solid var(--border-color, #0e0d0d);letter-spacing:.02em}.sv-nav-btn{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;padding:0 6px;color:inherit;opacity:.7;font-family:inherit;touch-action:manipulation}.sv-nav-btn:disabled{opacity:.15;cursor:default}.sv-room-headers{display:grid;background:var(--bg-color-header, #e9d4ed);border-bottom:1px solid var(--border-color, #0e0d0d)}.sv-room-header{text-align:center;padding:5px 2px;font-size:.65rem;font-weight:600;color:#333;border-left:1px solid rgba(0,0,0,.1)}.sv-room-header:first-child,.sv-room-header--time{border-left:none}.sv-hour-grid{display:grid}.sv-time-label{display:flex;align-items:flex-start;justify-content:center;padding-top:3px;font-size:.5rem;font-weight:700;color:#888;border-top:1px solid rgba(0,0,0,.06);background:var(--bg-color-main, #f8f2ee)}.sv-collapsed-row{display:flex;align-items:center;justify-content:center;background:#ece6e2;border-top:1px solid rgba(0,0,0,.06)}.sv-hour-grid>.class-card{margin:1px;border-top:1px solid rgba(0,0,0,.06);min-height:0;height:auto;align-self:stretch}@media(orientation:landscape)and (max-height:500px){:root{--sv-row-height: 52px}.sv-day-header{padding:6px 8px;font-size:.85rem}.sv-room-header{padding:3px 2px;font-size:.6rem}}.app-timetable{transition:opacity .2s}.app-timetable--loading{opacity:.45;pointer-events:none}.timetable-split{display:flex;gap:8px;min-width:1350px;width:100%}.timetable-split>.timetable-grid:first-child{flex:5}.timetable-split>.timetable-grid:last-child{flex:2}.app-error{margin:16px 4px;padding:12px 16px;border-radius:8px;background:#fde8e8;color:#7a1a1a;font-size:.9rem;border:1px solid #f5c0c0}.app-empty-hint{margin:8px 4px 12px;padding:10px 14px;border-radius:8px;background:#9e5c9e1a;color:#4a354a;font-size:.82rem;border:1px solid rgba(158,92,158,.22);line-height:1.4}.bo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:var(--bo-top, 90px) 16px 16px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}.bo-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s ease,visibility 0s linear 0s}.bo-card{position:relative;background:var(--bg-color-main, #f8f2ee);border:2px solid var(--border-color, #0e0d0d);border-radius:10px;overflow:hidden;width:100%;max-width:400px;max-height:90dvh;display:flex;flex-direction:column;opacity:0;transform:scale(.55);transform-origin:top center;transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1);font-family:var(--font-main, Helvetica, Arial, sans-serif)}.bo-backdrop.is-open .bo-card{opacity:1;transform:scale(1)}.bo-hero{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 0 24px;gap:4px;background-color:var(--bg-color-header, #e9d4ed);touch-action:none;overflow:hidden}.bo-chevron{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:#00000059;padding:8px 4px;transition:color .15s ease}.bo-chevron:hover{color:#000000b3}.bo-chevron--left{left:4px}.bo-chevron--right{right:4px}.bo-hero-track{display:flex;width:100%;transition:transform .3s ease}.bo-hero-panel{flex:0 0 100%;min-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0 48px;box-sizing:border-box}[data-discipline=Pole] .bo-hero{background-color:var(--color-pole)}[data-discipline="Pole Tricks"] .bo-hero{background-color:var(--color-pole-tricks)}[data-discipline=Heels] .bo-hero{background-color:var(--color-heels)}[data-discipline=Hammock] .bo-hero{background-color:var(--color-hammock)}[data-discipline=Lyra] .bo-hero{background-color:var(--color-lyra)}[data-discipline=Special] .bo-hero{background-color:var(--color-special);color:#fff}[data-discipline=Other] .bo-hero{background-color:var(--color-other)}.bo-title{margin:0;font-size:1.5rem;font-weight:800;line-height:1.2;color:var(--border-color, #0e0d0d)}.bo-teacher{margin:0;font-size:1.1rem;font-weight:600;color:#000000bf}.bo-meta{margin:0;font-size:.95rem;font-weight:500;color:#000000a6;font-variant-numeric:tabular-nums}.bo-close{position:absolute;top:0;right:0;width:56px;height:52px;display:flex;align-items:flex-start;justify-content:flex-end;padding:8px 12px;box-sizing:border-box;background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--border-color, #0e0d0d);opacity:.5;z-index:3}.bo-close:hover{opacity:1}.bo-meta-section{padding:16px 24px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid rgba(0,0,0,.08)}.bo-field-row{display:flex;gap:16px}.bo-field-row>.bo-field{flex:1;min-width:0}.bo-field{display:flex;flex-direction:column;gap:2px}.bo-field__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#555}.bo-field__value{font-size:.9rem;font-weight:500;color:var(--border-color, #0e0d0d);white-space:pre-line;line-height:1.4}.bo-scroll{overflow-y:auto;min-height:0;flex:1}.bo-body{background:var(--bg-color-main, #f8f2ee);padding:20px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.bo-availability{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.bo-availability__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#555}.bo-availability__value{font-size:1rem;font-weight:600;color:var(--border-color, #0e0d0d)}.bo-availability__value--full,.bo-availability__value--urgent{color:#c62828}.bo-availability__value--fast{color:#b45309}.bo-book-btn{width:100%;padding:14px 24px;border:none;border-radius:30px;background:#cba4d6;color:#1a1a1a;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s ease,transform 80ms ease}.bo-book-btn:hover:not(:disabled){background:#b07ec4;transform:scale(1.02)}.bo-book-btn--disabled{background:#bbb;cursor:not-allowed}.bo-book-btn--full{background:#999;color:#f5f5f5;cursor:not-allowed;opacity:.85}.bo-book-btn--probing{background:#bbb;cursor:wait;opacity:.7;display:flex;align-items:center;justify-content:center;gap:8px}.bo-book-btn--degraded{background:#cba4d6;color:#1a1a1a;border:none;cursor:pointer}.bo-book-btn--degraded:hover{background:#fef3c7}.bo-book-btn--whatsapp{background:#25d366;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.bo-book-btn--whatsapp:hover{background:#1ebe5d;color:#fff}.bo-whatsapp-wrap{display:flex;flex-direction:column;gap:8px}.bo-book-btn--secondary{background:transparent;color:#14532d;border:2px solid #128c7e;font-weight:600}.bo-book-btn--secondary:hover{background:#128c7e14;color:#14532d}.bo-whatsapp-note{font-size:12px;color:#666;text-align:center;margin:0;line-height:1.4}.bo-whatsapp-note--above{font-size:13px;color:#3a3a3a;margin-bottom:2px}.bo-whatsapp-note__link{color:#0f6e5f;text-decoration:underline;cursor:pointer}@keyframes bo-spin{to{transform:rotate(360deg)}}.bo-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:bo-spin .7s linear infinite;flex-shrink:0}.bo-placeholder-note{margin:0;font-size:.75rem;color:#aaa;font-style:italic}.bo-pills{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 0 0;margin:0}.bo-pills::-webkit-scrollbar{display:none}.bo-pill{flex-shrink:0;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:0;padding:3px 10px;border:1px solid rgba(0,0,0,.2);border-radius:12px;background:#ffffff26;cursor:pointer;transition:background .15s ease;font-family:inherit}.bo-pill:hover{background:#fff6}.bo-pill--active{background:#fff;border-color:#0000004d;box-shadow:0 1px 3px #0000001a}.bo-pill--active:hover{background:#fff}.bo-pill-teacher{font-size:.58rem;font-weight:700;color:#000000bf;white-space:nowrap}.bo-pill-time{font-size:.52rem;font-weight:500;color:#00000080;white-space:nowrap;font-variant-numeric:tabular-nums}.bo-song-list{display:flex;flex-direction:column;gap:10px;margin-top:2px}.bo-song-grid{display:grid;grid-template-columns:48px auto 1fr 1px 18%;grid-template-rows:auto auto;gap:0 8px;align-items:center}.bo-song-art{grid-column:1;grid-row:1 / 3;width:48px;height:48px;border-radius:4px;object-fit:cover;align-self:center}.bo-song-art--placeholder{background:#b07ec426}.bo-song-title{grid-column:2;grid-row:1;font-size:.88rem;font-weight:600;color:var(--border-color, #0e0d0d);align-self:end;overflow:hidden;text-overflow:ellipsis}.bo-song-artist{grid-column:2;grid-row:2;font-size:.78rem;color:#999;font-style:italic;align-self:start}.bo-play-btn{grid-column:3;grid-row:1 / 3;width:45px;height:45px;padding:0;border:none;border-radius:50%;background:transparent;color:#6b4f7a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s ease;justify-self:end;align-self:center}.bo-play-btn:hover{opacity:.8}.bo-play-btn--search{color:#aaa;text-decoration:none}.bo-song-sep{grid-column:4;grid-row:1 / 3;width:1px;align-self:stretch;background:#0e0d0d1f}.bo-song-choreo{grid-column:5;grid-row:1 / 3;font-size:.72rem;color:#888;white-space:nowrap;align-self:center}.bo-spotify-embed{position:relative;display:block;margin-top:8px;height:80px;overflow:hidden}.bo-spotify-embed iframe{border:none;display:block;width:100%!important;height:80px}.bo-spotify-close{position:absolute;top:4px;right:0;width:32px;height:32px;background:#3a2a45;border:none;border-radius:0 8px;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;z-index:10}.bo-spotify-close:hover{background:#2a1a35}@media(max-width:520px){.bo-backdrop{padding:var(--bo-top, 16px) 16px 16px}.bo-card{max-width:100%;max-height:88dvh}.bo-hero{padding:20px 0 16px}.bo-hero-panel{padding:0 40px}}.bo-version{text-align:center;font-size:.55rem;color:#0000002e;margin:6px 0 0;letter-spacing:.04em}.cl-container{width:100%;max-width:1500px;margin:0 auto;padding:16px 0 32px;font-family:var(--font-main, Helvetica, Arial, sans-serif);box-sizing:border-box;background:var(--bg-color-main, #f8f2ee)}html:not(.mad-follows-content) .cl-container{min-height:100vh}.cl-header-row{display:grid;grid-template-columns:5em 1px minmax(0,600px) 1px 3.6em;gap:0 5px;padding:6px 10px;border-bottom:1px solid rgba(14,13,13,.12)}.cl-header-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#5e3f5e}.cl-header-songs{grid-column:3}.cl-header-choreo{grid-column:5}.cl-header-schedule,.cl-header-prereq{display:none}.cl-header-schedule-hint{font-size:.55rem;font-weight:400;text-transform:none;letter-spacing:0;color:#7a5a7a}.cl-loading,.cl-error{display:flex;align-items:center;justify-content:center;min-height:200px;font-family:var(--font-main, Helvetica, Arial, sans-serif)}.cl-loading{color:#7a5a7a;font-size:.9rem;gap:10px}.cl-error{color:#c62828;font-size:.9rem;padding:24px;text-align:center}@keyframes cl-spin{to{transform:rotate(360deg)}}.cl-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(176,154,176,.3);border-top-color:#b07ec4;border-radius:50%;animation:cl-spin .7s linear infinite;flex-shrink:0}.cl-row{position:relative;background:var(--bg-color-main, #f8f2ee);border-bottom:1px solid rgba(14,13,13,.08);cursor:pointer;transition:background-color .15s ease}.cl-row:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000000d;pointer-events:none}.cl-row:hover .cl-expand-indicator{opacity:1;transform:scale(1.15);color:var(--text-color, #2a1d33)}.cl-expand-indicator{transition:opacity .12s ease,transform .12s ease,color .12s ease}.cl-row[data-discipline=Pole]{background-color:var(--color-pole)}.cl-row[data-discipline="Pole Tricks"]{background-color:var(--color-pole-tricks)}.cl-row[data-discipline=Heels]{background-color:var(--color-heels)}.cl-row[data-discipline=Hammock]{background-color:var(--color-hammock)}.cl-row[data-discipline=Lyra]{background-color:var(--color-lyra)}.cl-row[data-discipline=Special]{background-color:var(--color-special)}.cl-row[data-discipline=Other]{background-color:var(--color-other)}.cl-row[data-discipline=Special] .cl-name,.cl-row[data-discipline=Special] .cl-choreo,.cl-row[data-discipline=Special] .cl-header-label{color:#f0e0f0}.cl-row--expanded .cl-row-compact{display:none}.cl-row-compact{display:grid;grid-template-columns:5em 1px minmax(0,600px) 1px 3.6em;align-items:center;gap:0 5px;padding:8px 10px;min-height:36px}.cl-separator{width:1px;align-self:stretch;background:#0e0d0d1f}.cl-name{font-size:.78rem;font-weight:700;color:var(--border-color, #0e0d0d);line-height:1.3;padding-top:2px}.cl-songs{display:flex;flex-direction:column;gap:2px;min-width:0}.cl-song-line{display:flex;align-items:center;gap:5px;min-height:24px}.cl-album-art{flex-shrink:0;width:24px;height:24px;border-radius:3px;object-fit:cover}.cl-album-art--placeholder{display:inline-block;background:#b07ec426}.cl-album-art-placeholder{display:inline-block;flex-shrink:0;width:24px;height:24px}.cl-prefix{flex-shrink:0;font-size:.6rem;font-weight:700;color:#5e3f5e;white-space:nowrap}.cl-no-songs{font-size:.75rem;font-style:italic;color:#555;padding-top:2px}.cl-song-title{font-size:.82rem;font-weight:600;color:var(--border-color, #0e0d0d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cl-song-artist{display:none;font-size:.78rem;color:#666;font-style:italic;white-space:nowrap;flex-shrink:0}.cl-compact-schedule,.cl-separator--schedule,.cl-compact-prereq,.cl-separator--prereq{display:none}.cl-compact-pill{font-size:.6rem;font-weight:700;color:#4a3357;background:linear-gradient(180deg,#ffffffb3,#dac6e680);border:1px solid rgba(74,51,87,.5);border-radius:6px;padding:4px 8px;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:inherit;cursor:pointer;box-shadow:0 1px #00000014,inset 0 1px #ffffff73;transition:background .12s ease,transform 80ms ease,box-shadow 80ms ease}.cl-compact-pill:hover{background:linear-gradient(180deg,#fff,#d9bfe7);transform:translateY(-1px);box-shadow:0 2px 6px #4a335738,inset 0 1px #fff9}.cl-compact-pill:active{transform:translateY(0);box-shadow:0 1px #0000001a}.cl-compact-pill:focus-visible{outline:2px solid #6b4f7a;outline-offset:1px}.cl-compact-pill--full,.cl-day-pill--full{background:#3b2a52;color:#fff;border-color:#3b2a52;letter-spacing:.04em;font-weight:700}.cl-compact-pill--full:hover,.cl-day-pill--full:hover{background:#3b2a52;opacity:.92}.cl-compact-pill--nearly,.cl-day-pill--nearly{border-color:#f06a1f;animation:cl-pill-nearly-pulse 1.6s ease-in-out infinite}@keyframes cl-pill-nearly-pulse{0%,to{border-color:#f06a1f;box-shadow:0 0 #f06a1f00}50%{border-color:#f06a1f;box-shadow:0 0 0 3px #f06a1f59}}@media(prefers-reduced-motion:reduce){.cl-compact-pill--nearly,.cl-day-pill--nearly{animation:none;box-shadow:0 0 0 2px #f06a1f73}}@media(min-width:650px){.cl-song-artist{display:block}}@media(min-width:800px){.cl-header-row,.cl-row-compact{grid-template-columns:5.5em 1px minmax(0,600px) 1px 8em 1px 3.6em}.cl-header-choreo{grid-column:7}.cl-header-schedule{display:block;grid-column:5}.cl-compact-schedule{display:block;align-self:center}.cl-compact-pills-view{display:flex;flex-wrap:wrap;gap:3px}.cl-compact-pills-view .cl-compact-pill{width:calc(50% - 2px);text-align:center}.cl-compact-grid-view{display:none}.cl-separator--schedule{display:block}}@media(min-width:950px){.cl-header-label{font-size:.68rem}.cl-name{font-size:.88rem}.cl-song-title{font-size:.92rem}.cl-song-artist{font-size:.86rem}.cl-choreo{font-size:.82rem}.cl-prefix{font-size:.68rem}.cl-no-songs{font-size:.84rem}.cl-expanded-name{font-size:1.3rem}.cl-expanded-song-title{font-size:1rem}.cl-expanded-song-artist{font-size:.88rem}.cl-expanded-song-choreo{font-size:.82rem}.cl-prereq{font-size:.88rem}.cl-day-label{font-size:.68rem}.cl-day-pill{font-size:.76rem}.cl-header-row,.cl-row-compact{grid-template-columns:5.5em 1px minmax(0,600px) 1px 20em 1px 4em}.cl-compact-pills-view{display:none}.cl-compact-grid-view{display:grid;grid-template-columns:repeat(7,1fr);gap:0 4px;width:100%}.cl-compact-day-col{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.cl-compact-day-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5e3f5e}.cl-compact-grid-view .cl-compact-pill{width:auto;font-size:.58rem;padding:2px 4px;text-align:center}}.cl-spotify-embed{position:relative;display:block}.cl-spotify-close{position:absolute;top:4px;right:0;width:32px;height:32px;background:#3a2a45;border:none;border-radius:0 8px;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;z-index:10}.cl-spotify-close:hover{background:#2a1a35}.cl-spotify-embed--expanded{width:100%;margin-top:6px}.cl-spotify-embed--expanded iframe{width:100%}.cl-spotify-embed iframe{border:none;display:block;width:100%!important;height:80px}.cl-play-btn{flex-shrink:0;margin-left:auto;width:24px;height:24px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;padding:0;cursor:pointer;transition:opacity .15s ease;color:#fff}.cl-play-btn--active{background:transparent;color:#6b4f7a}.cl-play-btn--active:hover{opacity:.8}.cl-play-btn--disabled{background:#ccc;cursor:default;opacity:.5}.cl-choreo{font-size:.72rem;color:#555;word-break:break-word;align-self:center}@keyframes cl-pulse{0%,to{opacity:.9}50%{opacity:.25}}.cl-expand-indicator{position:absolute;top:2px;right:0;font-size:1rem;color:#b07ec4;animation:cl-pulse 3s ease-in-out infinite;-webkit-user-select:none;user-select:none;pointer-events:none;line-height:1}.cl-expanded-header{position:relative;margin-bottom:12px}.cl-expanded-header .cl-expanded-name{margin:0}.cl-expanded-header .cl-expand-indicator{top:-14px;right:-8px}.cl-expanded{border-top:1px solid rgba(14,13,13,.06);padding:16px 10px 18px;background:#e9d4ed1f}.cl-expanded-name{font-size:1.15rem;font-weight:800;color:var(--border-color, #0e0d0d);margin:0}.cl-expanded-songs{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.cl-expanded-song{display:grid;grid-template-columns:48px auto 1fr 1px 12%;grid-template-rows:auto auto;gap:0 8px;align-items:center}.cl-expanded-album-art{grid-column:1;grid-row:1 / 3;width:48px;height:48px;border-radius:4px;object-fit:cover;align-self:center}.cl-expanded-album-art--placeholder{display:inline-block;background:#b07ec426}.cl-expanded-song-title{grid-column:2;grid-row:1;font-size:.88rem;font-weight:600;color:var(--border-color, #0e0d0d);align-self:end}.cl-expanded-song-artist{grid-column:2;grid-row:2;font-size:.78rem;color:#666;font-style:italic;align-self:start}.cl-play-btn--expanded{grid-column:3;grid-row:1 / 3;width:42px;height:42px;font-size:10px;padding:0;align-self:center;justify-self:end;background:transparent;color:#6b4f7a}.cl-play-btn--expanded:hover{opacity:.85}.cl-play-btn--expanded.cl-play-btn--disabled{background:transparent;opacity:.3}.cl-expanded-song-sep{grid-column:4;grid-row:1 / 3;width:1px;align-self:stretch;background:#0e0d0d1f}.cl-expanded-song-choreo{grid-column:5;grid-row:1 / 3;font-size:.72rem;color:#555;white-space:nowrap;align-self:center}.cl-prereq{font-size:.78rem;color:#6b4f7a;margin-bottom:14px}.cl-prereq-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#5e3f5e;margin-right:6px}.cl-book-hint{font-size:.65rem;font-style:italic;color:#5e3f5e;margin:0 0 4px;text-align:center}.cl-day-grid{cursor:pointer;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border:1px solid rgba(176,126,196,.35);border-radius:8px;padding:10px 6px;background:#b07ec40a}.cl-day-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.cl-day-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5e3f5e}.cl-day-pill{font-size:.68rem;font-weight:600;color:#6b4f7a;background:#b07ec42e;border:1px solid rgba(107,79,122,.35);border-radius:8px;padding:4px 8px;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer;font-family:inherit;transition:background .15s ease}.cl-day-pill:hover{background:#b07ec459}@media(max-width:374px){.cl-container{padding:6px 0 20px}.cl-row-compact{gap:0 5px;padding:6px}.cl-name{font-size:.72rem}.cl-song-title{font-size:.7rem}.cl-choreo{font-size:.65rem}.cl-expanded{padding:10px 10px 12px}.cl-day-grid{gap:2px}.cl-day-pill{font-size:.55rem;padding:2px 4px}}@media(max-width:600px){.cl-container{padding:8px 0 24px}.cl-expanded{padding:12px 12px 14px}}@media(min-width:1200px){.cl-header-row,.cl-row-compact{grid-template-columns:5.5em 1px minmax(0,600px) 1px 20em 1px clamp(5.5em,calc(35.2vw - 334.4px),22em) 1px 4em}.cl-header-prereq{display:block;grid-column:7}.cl-header-choreo{grid-column:9}.cl-compact-prereq{display:block;font-size:.78rem;font-style:italic;color:#555;align-self:center;min-width:0}.cl-separator--prereq{display:block}}.ft-strip{position:sticky;top:0;z-index:5;display:flex;gap:10px;overflow-x:auto;padding:12px 2px;margin:0 -2px;background:var(--t-page);scrollbar-width:none}.ft-strip::-webkit-scrollbar{display:none}.ft-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--t-line);background:#fff;border-radius:999px;padding:9px 18px;font-family:var(--font-body);font-size:.98rem;font-weight:700;color:var(--t-ink);cursor:pointer;white-space:nowrap;min-height:44px;transition:border-color .14s ease,background .14s ease,color .14s ease}.ft-tab:hover{border-color:color-mix(in srgb,var(--tile, var(--t-brand)) 55%,#fff)}.ft-dot{width:10px;height:10px;border-radius:50%;background:var(--tile, var(--t-muted));flex:0 0 auto}.ft-tab--active{background:var(--t-dark);color:#fff;border-color:transparent}.ft-tab--active[data-discipline]{background:var(--tile)}.ft-tab--active .ft-dot{background:#fff}.tc-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;border-radius:18px;padding:12px 16px 12px 12px;background:var(--tint, #f4f4f4);color:var(--t-ink);cursor:pointer;font-family:var(--font-body);transition:transform .14s ease,box-shadow .14s ease}.tc-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #3a27301a}.tc-card:active{transform:translateY(0)}.tc-card--passed{opacity:.5;filter:grayscale(1);cursor:default}.tc-card--passed:hover{transform:none;box-shadow:none}.tc-body{min-width:0;flex:1}.tc-name{display:block;margin:0;font-family:var(--font-display);font-weight:700;font-size:1.25rem;line-height:1.15;color:var(--t-ink)}.tc-meta{margin:4px 0 0;font-size:.95rem;color:var(--t-meta)}.tc-flag{float:right;margin:1px 0 4px 8px;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.tc-flag--left{color:var(--t-left);background:var(--t-left-bg)}.tc-flag--full{color:var(--t-meta);background:#fff}.tc-badge{display:inline-block;margin-left:8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:6px;vertical-align:middle;font-family:var(--font-body);white-space:nowrap}.tc-badge--women{background:var(--t-women);color:#fff}@media(max-width:374px){.tc-card{gap:10px;padding:10px 12px 10px 10px}.tc-card .dt--sm{width:54px;height:48px}.tc-card .dt--sm .dt__letter{font-size:1.15rem}.tc-card .dt--sm .dt__glyph{width:22px;height:22px}.tc-name{font-size:1.12rem}.tc-meta{font-size:.88rem}}.ml-view{display:flex;flex-direction:column}.ml-head{padding:14px 2px 6px}.ml-head__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px}.ml-wordmark{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.9rem;letter-spacing:-.02em;line-height:1}.ml-wordmark__accent{color:var(--t-brand)}.ml-wordmark__tail{color:var(--t-ink)}.ml-promo{flex:0 0 auto;align-self:center;background:var(--t-dark);color:#fff;border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:700;white-space:nowrap}.ml-head__sub{margin:8px 0 0;font-size:1rem;color:var(--t-meta)}.ml-status{text-align:center;color:var(--t-meta);padding:32px 0}.ml-status--error{color:var(--t-left)}.ml-status__msg{margin:0}.ml-status--empty{display:flex;flex-direction:column;align-items:center}.ml-showall{margin-top:14px;min-height:44px;padding:10px 28px;border:1.5px solid var(--t-line);border-radius:999px;background:#fff;color:var(--t-ink);font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer;transition:border-color .14s ease}.ml-showall:hover{border-color:color-mix(in srgb,var(--t-brand) 55%,#fff)}.ml-status__wa{margin-top:12px;color:#0f7a36;font-size:.92rem;font-weight:600;text-decoration:underline;text-underline-offset:2px}.ml-retry{margin-top:12px;min-height:44px;padding:10px 28px;border:1.5px solid var(--t-left);border-radius:999px;background:#fff;color:var(--t-left);font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer}.ml-retry:hover{background:var(--t-left-bg)}.ml-more{display:block;margin:24px auto 0;min-height:44px;padding:11px 30px;border:1.5px solid var(--t-line);border-radius:999px;background:#fff;color:var(--t-ink);font-family:var(--font-body);font-size:.98rem;font-weight:700;cursor:pointer;transition:border-color .14s ease}.ml-more:hover{border-color:color-mix(in srgb,var(--t-brand) 55%,#fff)}.ml-skel__rail{display:block;width:44px;height:64px;border-radius:12px;margin-top:6px}.ml-skel__card{display:block;height:88px;border-radius:18px}.ml-skel__rail,.ml-skel__card{background:linear-gradient(100deg,#f6ebf1 35%,#fdf4f8,#f6ebf1 65%);background-size:200% 100%;animation:ml-shimmer 1.3s linear infinite}@keyframes ml-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.ml-skel__rail,.ml-skel__card{animation:none;background:#f6ebf1}}.ml-day{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start;margin-inline:-12px;padding:16px 12px}.ml-day[data-alt="1"]{background:var(--t-band)}.ml-view>.ml-day:first-of-type{margin-top:12px}.ml-rail{display:flex;flex-direction:column;align-items:flex-start;padding-top:6px;line-height:1}.ml-rail__wd{font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--t-muted)}.ml-rail__num{font-family:var(--font-display);font-weight:800;font-size:2.1rem;color:var(--t-date);margin:2px 0}.ml-rail__mon{font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--t-muted)}.ml-cards{display:flex;flex-direction:column;gap:var(--trials-gap, 12px);min-width:0}@media(max-width:374px){.ml-day{grid-template-columns:48px 1fr;gap:8px}.ml-rail__num{font-size:1.8rem}}.dc-view{display:flex;flex-direction:column;font-family:var(--font-body)}.dc-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 2px 18px}.dc-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:2rem;letter-spacing:-.02em;color:var(--t-ink)}.dc-subtitle{margin:6px 0 0;font-size:1rem;color:var(--t-meta)}.dc-tabs{display:flex;flex-wrap:wrap;gap:10px}.dc-tab{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--t-line);background:#fff;border-radius:999px;padding:9px 18px;font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--t-ink);cursor:pointer;white-space:nowrap;min-height:44px;transition:border-color .14s ease,background .14s ease,color .14s ease}.dc-tab:hover{border-color:color-mix(in srgb,var(--tile, var(--t-brand)) 55%,#fff)}.dc-dot{width:10px;height:10px;border-radius:50%;background:var(--tile, var(--t-muted));flex:0 0 auto}.dc-tab--locked{background:var(--t-dark);color:#fff;border-color:transparent}.dc-tab--locked[data-discipline]{background:var(--tile)}.dc-tab--locked .dc-dot{background:#fff}.dc-grid{display:flex;flex-direction:column;gap:10px}.dc-headrow,.dc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.dc-headrow{position:sticky;top:0;z-index:4;background:var(--t-page);padding-top:4px}.dc-colhead{text-align:left;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--t-muted);padding:0 6px 6px}.dc-cell{min-width:0;min-height:140px;overflow:hidden;border:1.5px solid var(--t-line);border-radius:18px;background:#fff;padding:12px 12px 14px;display:flex;flex-direction:column;gap:8px}.dc-cell--past{background:#faeef4;border-color:transparent}.dc-cell--today{border-color:var(--t-brand);box-shadow:0 0 0 1px var(--t-brand)}.dc-date{font-size:.82rem;font-weight:700;color:var(--t-muted)}.dc-cell--today .dc-date{color:var(--t-date)}.dc-cell--past .dc-date{color:#7d6270}.dc-week--none{margin:0;padding:14px 16px;text-align:center;border:1.5px dashed var(--t-line);border-radius:14px;color:var(--t-muted);font-size:.9rem;font-weight:600}.dc-cell--skel{border-color:transparent;min-height:160px}.dc-skel{display:block;border-radius:10px;background:linear-gradient(100deg,#f6ebf1 35%,#fdf4f8,#f6ebf1 65%);background-size:200% 100%;animation:dc-shimmer 1.3s linear infinite}.dc-skel--date{width:34px;height:14px}.dc-skel--pill{height:46px;border-radius:14px}@keyframes dc-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.dc-skel{animation:none;background:#f6ebf1}}.dc-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;max-width:100%;text-align:left;cursor:pointer;border:0;background:var(--tile);color:#fff;border-radius:14px;padding:10px 12px;transition:transform .26s ease,box-shadow .26s ease,opacity .3s ease,filter .3s ease}.dc-pill:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2a121e38}.dc-pill__text{display:flex;flex-direction:column;gap:2px;min-width:0}.dc-pill__name{display:flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-display);font-weight:800;font-size:.95rem;line-height:1.1}.dc-pill__nametext{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-pill__women{flex:0 0 auto;font-family:var(--font-body);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:6px;background:#fff;color:var(--tile)}.dc-pill--full .dc-pill__women{background:var(--tile);color:#fff}.dc-pill__meta{display:flex;flex-wrap:wrap;column-gap:4px;font-size:.8rem;line-height:1.15;min-width:0}.dc-pill__time{white-space:nowrap}.dc-pill__status{white-space:nowrap;font-weight:700}.dc-pill--full{background:#fff;color:var(--tile);box-shadow:inset 0 0 0 1.5px var(--tile)}.dc-pill--full:hover{box-shadow:inset 0 0 0 1.5px var(--tile),0 4px 14px #2a121e38}.dc-pill--full.dc-pill--hi{box-shadow:inset 0 0 0 1.5px var(--tile),0 5px 16px #2a121e3d}.dc-pill--hi{transform:scale(1.02);box-shadow:0 5px 16px #2a121e3d;position:relative;z-index:1}.dc-pill--hi:hover{transform:scale(1.02) translateY(-1px)}.dc-pill--dim{opacity:.28;filter:grayscale(.6)}.dc-pill--dim:hover{transform:none;box-shadow:none}.dc-pill--dim:focus-visible{opacity:1;filter:none}.dc-pill--past{opacity:.4;filter:grayscale(.7);cursor:default}.dc-pill--past:hover{transform:none;box-shadow:none}.dc-status{text-align:center;color:var(--t-meta);padding:32px 0}.dc-status--error{color:var(--t-left)}.dc-status__msg{margin:0}.dc-retry{margin-top:12px;min-height:44px;padding:10px 28px;border:1.5px solid var(--t-left);border-radius:999px;background:#fff;color:var(--t-left);font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer}.dc-retry:hover{background:var(--t-left-bg)}.to-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#2a121e80}.to-card{position:absolute;left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:460px;max-height:88vh;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:26px;box-shadow:0 24px 60px #2a121e66;font-family:var(--font-body);color:var(--t-ink)}.to-card:focus{outline:none}@media(prefers-reduced-motion:no-preference){.to-backdrop.is-open{animation:to-fade .16s ease-out}.to-backdrop.is-open .to-card{animation:to-rise .16s ease-out}}@keyframes to-fade{0%{opacity:0}}@keyframes to-rise{0%{opacity:0;transform:translate(-50%) translateY(8px)}}.to-hero{display:grid;grid-template-columns:38% 1fr;align-items:stretch;color:#fff}.to-hero__badge{background:color-mix(in srgb,var(--tile) 78%,#fff);display:flex;align-items:center;justify-content:center;min-height:150px;padding:12px}.to-hero__meta{position:relative;background:var(--tile);padding:26px 22px 22px}.to-close{position:absolute;right:14px;top:14px;z-index:2;border:0;background:#ffffff47;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1rem;cursor:pointer;line-height:1}.to-close:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%}.to-close:hover{background:#ffffff6b}.to-backdrop .to-close:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 8px #2a121ea6;border-radius:50%}.to-title{margin:0;padding-right:34px;font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1.08;letter-spacing:-.01em}.to-badge{display:inline-block;margin-left:8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:#2a121e59;vertical-align:middle;font-family:var(--font-body)}.to-teacher{margin:10px 0 0;font-size:1rem;opacity:.95}.to-when{margin:4px 0 0;font-weight:700}.to-bookingpanel{padding:18px 22px 0}.to-spots{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--t-spots)}.to-spots--full{color:var(--t-meta)}.to-blurb{margin:10px 0 0;font-size:1.08rem;line-height:1.45;color:var(--t-ink)}.to-cta{display:flex;flex-direction:column;gap:10px;padding:16px 22px 0}.to-cta--low{padding-top:22px}.to-cta--low+.to-actions{padding-top:12px}.to-fields{margin:18px 22px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 20px}.to-field--wide{grid-column:1 / -1}.to-attirerule{display:block;margin-top:4px}.to-field dt{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--t-muted)}.to-field dd{margin:4px 0 0;font-size:1rem;line-height:1.35;color:var(--t-ink)}@media(max-width:480px){.to-fields{grid-template-columns:1fr;gap:10px}}.to-otherdates{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;margin:16px 0 0;padding:0 28px 0 22px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent)}.to-otherdates::-webkit-scrollbar{display:none}@media(min-width:480px){.to-otherdates{flex-wrap:wrap;overflow-x:visible;padding-right:22px;-webkit-mask-image:none;mask-image:none}}.to-otherdates__label{flex:0 0 auto;font-size:.84rem;font-weight:700;color:var(--t-muted)}.to-datechip{flex:0 0 auto;min-height:44px;border:1.5px solid var(--t-line);background:#fff;border-radius:999px;padding:8px 14px;font-family:var(--font-body);font-size:.9rem;font-weight:700;color:var(--t-ink);cursor:pointer;white-space:nowrap;transition:border-color .14s ease,background .14s ease}.to-datechip:hover{border-color:color-mix(in srgb,var(--tile, var(--t-brand)) 55%,#fff);background:var(--tint, #faf3f6)}.to-actions{display:flex;flex-direction:column;gap:10px;padding:16px 22px 26px}.to-book{width:100%;background:var(--t-blue);color:#fff;border:0;border-radius:16px;padding:17px;font-family:var(--font-display);font-weight:800;font-size:1.15rem;cursor:pointer;transition:filter .14s ease}.to-book:hover{filter:brightness(1.06)}.to-secondrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;justify-content:space-between}.to-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--t-green);color:#fff;border:0;border-radius:14px;padding:13px 18px;font-family:var(--font-display);font-weight:800;font-size:.95rem;cursor:pointer;line-height:1.1;white-space:nowrap}.to-whatsapp:hover{filter:brightness(1.05)}.to-whatsapp--primary{width:100%;padding:17px;font-size:1.05rem;border-radius:16px;white-space:normal}.to-wa-note{margin:0;font-size:.84rem;line-height:1.35;color:var(--t-muted)}.to-wa-note--revealed{padding-left:2px}.to-wa-group{display:inline-flex;align-items:center;gap:6px;min-width:0}.to-info{display:inline-flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--t-line);background:#fff;color:var(--t-muted);font-family:var(--font-display);font-weight:800;font-size:.9rem;line-height:1;font-style:italic;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.to-info:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.to-info:hover{border-color:var(--t-muted);color:var(--t-ink)}.to-info.is-open{background:var(--t-green);border-color:var(--t-green);color:#fff}.to-locpill{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:1.5px solid var(--t-line);color:var(--t-muted);background:#fff;border-radius:999px;padding:8px 16px;font-family:var(--font-display);font-weight:700;font-size:.92rem;text-decoration:none;white-space:nowrap;min-width:0}.to-locpill:hover{border-color:var(--t-muted);color:var(--t-ink)}.to-datechip__women{font-size:.78em;font-weight:600;color:var(--t-women);white-space:nowrap}.to-locpill__room{opacity:.75;font-weight:600}.to-book-note{margin:8px 0 0;text-align:center;font-size:.82rem;line-height:1.35;color:var(--t-meta)}.dev-badge{position:absolute;top:4px;right:6px;z-index:5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;padding:3px 5px;border-radius:4px;color:color-mix(in srgb,var(--t-ink) 55%,transparent);background:color-mix(in srgb,var(--t-page) 80%,transparent);pointer-events:none;-webkit-user-select:none;user-select:none}.dev-badge--cart{left:6px;right:auto;font-size:11px;font-weight:700;color:#fff;background:#b4237a}
