@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2)format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2)format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050505;--card-bg:linear-gradient(145deg, #0e0e12f2 0%, #09090be6 50%, #050505d9 100%);--border:#ffffff14;--border-hover:#ffffff29;--text-main:#f1f5f9;--text-muted:#94a3b8;--top-nav-height:64px;--portal-shell-x:clamp(.9rem, 2.4vw, 2.4rem);--portal-shell-y:clamp(.75rem, 1.8vw, 1.5rem);--portal-shell-gap:clamp(.75rem, 1.5vw, 1.25rem);--portal-nav-rail-width-collapsed:56px;--portal-nav-rail-width-expanded:200px;--portal-nav-rail-width:var(--portal-nav-rail-width-collapsed);--portal-sidebar-width:var(--portal-nav-rail-width);--portal-mobile-nav-stack:calc(max(12px, env(safe-area-inset-bottom,0px)) + 4.5rem);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--surface-1:#08080c;--surface-2:#12121a;--surface-border:#ffffff14;--accent-primary:#0ff6;--accent-active:#67e8f91f;--violet:#8a2be299;--cyan:#0ff6;--glow-hover:#8a2be233;--font-ui:"Geist Sans", system-ui, "Segoe UI", Roboto, sans-serif;--font-display:"Rajdhani", var(--font-ui);--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, monospace;--sans:var(--font-ui);--heading:var(--font-display)}.app-loading-shell{background:var(--surface-1);z-index:1;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative}.app-loading-shell__spinner{border:2px solid #ffffff1f;border-top-color:#ffffffb8;border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}html{-webkit-user-select:none;user-select:none}body{background-color:var(--bg);min-width:320px;font-family:var(--font-ui);color:var(--text-main);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#0e0e12 0%,#050505 100%);min-height:100svh;margin:0;overflow-x:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}body:before{content:"";opacity:.03;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;min-height:100svh;position:relative}h1,h2,h3{font-family:var(--heading);color:var(--text-main);font-weight:500}h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(2rem,5vw,4rem)}p{color:var(--text-muted);margin:0;line-height:1.6}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:32px 0;display:grid}.bento-card{background:var(--card-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);cursor:pointer;border-radius:16px;flex-direction:column;gap:12px;padding:32px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.bento-card:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #00000080, 0 0 30px var(--glow-hover);background:linear-gradient(145deg,#101014fa 0%,#0a0a0ceb 52%,#060607e0 100%);transform:translateY(-2px)}.bento-card h2{margin:0;font-size:1.25rem}.glass-panel{border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-2);position:relative;overflow:hidden;box-shadow:0 4px 16px #0000003d}.glass-panel:before{content:"";opacity:.04;mix-blend-mode:overlay;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.credits-page__back{color:#67e8f9;font-size:.9rem;font-weight:600;text-decoration:none}.credits-page__back:hover{text-decoration:underline}.credits-panel{gap:.85rem;padding:clamp(1.25rem,3vw,1.75rem);display:grid}.credits-panel__title{font-family:var(--font-display);color:var(--text-main);margin:0;font-size:1.25rem;font-weight:650}.credits-panel__text{color:#cbd5e1;margin:0;font-size:1rem;line-height:1.6}.credits-panel__link{color:#67e8f9;text-underline-offset:2px;font-weight:600;text-decoration:underline}.credits-panel__link:hover{color:#a5f3fc}.credits-panel__text--subtle{color:#94a3b8;font-size:.9rem}.glass-panel>*{z-index:1;position:relative}.home-trust-panel{gap:1.15rem;padding:clamp(1.15rem,2.6vw,1.6rem);display:grid}.home-trust-panel__intro{gap:.7rem;max-width:920px;display:grid}.home-trust-panel__intro h2{color:#f8fafc;letter-spacing:0;margin:0;font-size:clamp(1.45rem,3vw,2.1rem);font-weight:850}.home-fit-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.home-fit-card{background:#09090bad;border:1px solid #ffffff14;border-radius:14px;gap:.4rem;padding:.95rem;display:grid}.home-fit-card h3{color:#f8fafc;letter-spacing:0;margin:0;font-size:.96rem;font-weight:800}.home-fit-card p,.home-trust-panel__vibe{color:#cbd5e1;font-size:.9rem}.home-trust-panel__vibe{font-style:italic}.home-feature-card-wrap{min-width:0}.home-feature-card{isolation:isolate;transition:transform .25s,border-color .25s,box-shadow .25s}@media (hover:hover) and (pointer:fine){.home-feature-card-wrap:hover .home-feature-card{border-color:var(--border-hover);transform:translateY(-6px)scale(1.01);box-shadow:0 20px 42px #00000080}}.cal-embed-shell{--cal-embed-min-height:650px;min-height:var(--cal-embed-min-height);background:#05050580;border:1px solid #67e8f91f;border-radius:18px;overflow:hidden}.cal-embed-shell--drum-lessons{--cal-embed-min-height:clamp(480px, 64svh, 560px)}.drum-lessons-card-header{grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:stretch;gap:.9rem;display:grid}.drum-lessons-portal-link{color:#e2e8f0;background:#0891b214;border:1px solid #67e8f929;border-radius:14px;align-content:center;gap:.24rem;padding:.85rem;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:grid}.drum-lessons-portal-link:hover{background:#0891b224;border-color:#67e8f952;transform:translateY(-1px)}.drum-lessons-portal-link span{color:#67e8f9e0;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.drum-lessons-portal-link small{color:#94a3b8;font-size:.8rem}.drum-lessons-portal-link strong{color:#f8fafc;font-size:.92rem}.cal-embed-shell cal-inline,.cal-embed-shell .cal-inline-container,.cal-embed-shell iframe.cal-embed,.cal-embed-shell iframe[name=cal-embed\=profile],#drum-lessons-cal-iframe,#portal-booking-cal-iframe{min-height:var(--cal-embed-min-height);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:14px;background:0 0!important;border:0!important;width:100%!important}*{scrollbar-width:thin;scrollbar-color:#94a3b84d #ffffff08}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:8px}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#22d3ee66}select option{color:#f8fafc;background-color:#0f1117}.app-content{flex-direction:column;flex-grow:1;padding:24px;display:flex}.top-nav{z-index:50;-webkit-backdrop-filter:blur(24px);background:#07090eb8;border-bottom:1px solid #ffffff14;width:100%;position:sticky;top:0;box-shadow:0 4px 32px #0000003d}.top-nav--portal{border-bottom-color:var(--surface-border);box-shadow:none;background:#08080ceb}.top-nav--portal .top-nav__content{min-height:52px;padding-block:.45rem}.top-nav--portal .top-nav__breadcrumb{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.top-nav--portal .top-nav__breadcrumb strong{color:var(--text-main);font-weight:600}.top-nav--portal .top-nav__breadcrumb-sep{opacity:.45}.top-nav--portal .top-nav__email{max-width:180px;font-size:.78rem}.top-nav__content{width:100%;min-height:var(--top-nav-height);max-width:none;padding:.7rem var(--portal-shell-x);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:0;display:grid}.top-nav__group{align-items:center;gap:.45rem;min-width:0;display:flex;overflow:hidden}.top-nav__account{justify-self:end;align-items:center;gap:.45rem;display:flex}.top-nav__link,.top-nav__button,.top-nav__icon-link{min-height:38px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;gap:.42rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.top-nav__link{white-space:nowrap;flex-shrink:0;padding:.48rem .75rem}.top-nav__link.is-active,.top-nav__link:hover,.top-nav__button:hover,.top-nav__icon-link:hover{color:#fff;background:#ffffff12}.top-nav__button{cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-shrink:0;padding:.48rem .7rem;font-family:inherit}.top-nav__icon-link{background:#ffffff09;border:1px solid #ffffff17;width:38px;position:relative}.top-nav__icon-button{font:inherit;cursor:pointer;padding:0}.top-nav__inbox{position:relative}.top-nav__inbox-popover{-webkit-backdrop-filter:blur(20px);z-index:70;background:#08090df5;border:1px solid #ffffff1f;border-radius:14px;gap:.65rem;width:min(360px,100vw - 1.5rem);padding:.75rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 40px #00000073}.top-nav__inbox-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.top-nav__inbox-header strong{color:#f8fafc;font-size:.9rem}.top-nav__inbox-header span{color:#94a3b8;font-size:.78rem;font-weight:700}.top-nav__inbox-message{color:#cbd5e1;padding:.25rem 0;font-size:.82rem}.top-nav__inbox-message--error{color:#fca5a5}.top-nav__inbox-list{gap:.45rem;display:grid}.top-nav__inbox-item{background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem;display:flex}.top-nav__inbox-item-content{gap:.2rem;min-width:0;display:grid}.top-nav__inbox-item-content strong{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.top-nav__inbox-item-content span{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.top-nav__inbox-approve{color:#d1fae5;cursor:pointer;background:#10b9811f;border:1px solid #10b98152;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;min-height:30px;padding:.38rem .7rem;font-family:inherit;font-size:.75rem;font-weight:800;display:inline-flex}.top-nav__inbox-approve:disabled{opacity:.65;cursor:not-allowed}.top-nav__inbox-footer{justify-content:flex-end;display:flex}.top-nav__inbox-footer a{color:#67e8f9;font-size:.8rem;font-weight:700;text-decoration:none}.top-nav__inbox-footer a:hover{color:#a5f3fc}.top-nav__badge,.portal-count-badge{color:#f8fafc;background:linear-gradient(135deg,#10b981f2,#0891b2f2);border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 .35rem;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.top-nav__badge{position:absolute;top:-5px;right:-5px}.top-nav__user{border-left:1px solid #ffffff1a;align-items:center;gap:.55rem;min-width:0;padding:0 .65rem;display:inline-flex}.top-nav__avatar{color:#fff;background:linear-gradient(135deg,#5b21b6d9,#0891b2d9);border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:800;display:inline-flex}.top-nav__email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:clamp(120px,18vw,230px);font-size:.82rem;font-weight:600;overflow:hidden}.portal-shell{width:100%;max-width:none;padding:var(--portal-shell-y) var(--portal-shell-x) 2rem;padding-left:calc(var(--portal-nav-rail-width) + var(--portal-shell-gap));box-sizing:border-box;min-height:calc(100svh - var(--top-nav-height));margin:0;display:block}.portal-shell--standard{padding-top:var(--portal-shell-y)}.portal-shell--workspace{padding:0 0 0 var(--portal-nav-rail-width);min-height:0;height:calc(100svh - var(--top-nav-height,64px));max-height:calc(100svh - var(--top-nav-height,64px));box-sizing:border-box;flex-direction:column;margin:0;display:flex;overflow:hidden}.portal-shell--pending{max-width:1120px;padding-left:var(--portal-shell-x);display:block}main:has(.portal-shell--workspace){box-sizing:border-box;flex-direction:column;height:100svh;min-height:0;max-height:100svh;display:flex;overflow:hidden}.app-content:has(.portal-shell--workspace){flex-direction:column;flex:1 1 0;height:auto;min-height:0;padding:0;display:flex;overflow:hidden}body:has(.portal-shell--workspace){overflow:hidden}.portal-main--workspace{flex-direction:column;flex:1 1 0;grid-column:auto;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.portal-main__content--workspace{flex-direction:column;flex:1 1 0;width:100%;max-width:none;height:100%;min-height:0;display:flex}.portal-main--workspace .practice-workspace{flex:1 1 0;height:100%;min-height:0}.portal-shell--workspace .portal-main{padding-bottom:0;padding-right:0}.portal-main{min-width:0;padding-right:var(--practice-rail-offset,0px);padding-bottom:var(--practice-dock-offset,0px);align-content:start;display:block}.portal-main--standard .portal-main__content{gap:.85rem;display:grid}.portal-mobile-nav{display:none}.portal-page{gap:1rem;width:min(100%,1280px);display:grid}.portal-page-header{border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-2);justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(.85rem,2vw,1.1rem);display:flex}.portal-page-header__content{gap:.35rem;min-width:0;display:grid}.portal-eyebrow{color:#67e8f9d9;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.portal-page-title{color:var(--text-main);font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(1.35rem,2.8vw,1.85rem);font-weight:700}.portal-page-description{color:#cbd5e1;max-width:90ch;font-size:.94rem;font-weight:400}.portal-page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.portal-panel{border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-2);min-width:0;padding:clamp(.85rem,1.8vw,1.1rem)}.portal-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.portal-card-grid>*{min-width:0}.portal-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.portal-card{border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-2);gap:.65rem;min-width:0;padding:1rem;display:grid}.portal-card-grid--compact{gap:.65rem}.labs-hub-sections{gap:1.35rem;display:grid}.labs-hub-section{gap:.75rem;display:grid}.labs-hub-section__header{gap:.3rem;display:grid}.labs-hub-section__title{color:var(--text-main);font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}.labs-hub-section__description{color:var(--text-muted);max-width:52rem;margin:0;font-size:.88rem;line-height:1.45}.labs-hub-card__badge{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600}.labs-hub-card__badge--internal{color:#34d399e6}.labs-hub-card__badge--external{color:#67e8f9e0}.portal-action-card{height:100%;color:inherit;grid-template-rows:1fr auto;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}.portal-action-card__body{align-content:start;gap:.55rem;display:grid}.portal-action-card:hover{background:#0f172a59;border-color:#67e8f93d}.portal-card__icon,.portal-metric__icon{border-radius:var(--radius-md);color:#67e8f9;background:#0891b224;border:1px solid #67e8f92e;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.portal-card__title{color:var(--text-main);font-family:var(--font-display);margin:0;font-size:.98rem;font-weight:650}.portal-card__description{color:#94a3b8;font-size:.9rem}.portal-card__meta{color:#e2e8f0;font-size:.9rem;font-weight:800}.portal-metric{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:.8rem;min-width:0;padding:.95rem;display:flex}.portal-metric--button{width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.portal-metric--button:hover{background:#0f172a85;border-color:#67e8f938}.portal-metric--button.is-active{background:linear-gradient(135deg,#5b21b64d,#0891b22e);border-color:#67e8f947;box-shadow:inset 0 0 0 1px #67e8f90f}.portal-metric__value{color:#f8fafc;font-size:1.35rem;font-weight:850;line-height:1;display:block}.portal-metric__label{color:#94a3b8;font-size:.82rem;font-weight:700;display:block}.portal-button,.portal-button-secondary,.portal-button-danger{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:42px;padding:.68rem .9rem;font-family:inherit;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}.portal-button{color:#f8fafc;background:linear-gradient(135deg,#5b21b66b,#0891b23d);border:1px solid #67e8f947}.portal-button-secondary{color:#f8fafc;background:#ffffff0d;border:1px solid #ffffff1f}.portal-button-danger{color:#fecaca;background:#7f1d1d3d;border:1px solid #ef444442}.portal-button:disabled,.portal-button-secondary:disabled,.portal-button-danger:disabled{cursor:not-allowed;opacity:.65}.portal-segmented{flex-wrap:wrap;gap:.45rem;display:flex}.portal-segmented__button{color:#cbd5e1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:.38rem;min-height:38px;padding:.55rem .82rem;font-family:inherit;font-size:.84rem;font-weight:800;display:inline-flex}.portal-segmented__button.is-active{color:#f8fafc;background:linear-gradient(135deg,#5b21b66b,#0891b23d);border-color:#67e8f947}.portal-list{gap:.75rem;display:grid}.portal-list-row{background:#09090bbd;border:1px solid #ffffff14;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.9rem;padding:.95rem;display:flex}.portal-list-row__main{flex:360px;gap:.3rem;min-width:min(100%,260px);display:grid}.portal-list-row__actions{flex-wrap:wrap;flex:260px;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.portal-status-badge{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:.28rem .62rem;font-size:.72rem;font-weight:800;display:inline-flex}.portal-empty{color:#cbd5e1;background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;padding:1rem}.portal-sync-status{color:#94a3b8;font-size:.82rem}.portal-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.85rem;display:flex}.portal-search-field{flex:280px;gap:.4rem;min-width:min(100%,280px);display:grid}.portal-input{box-sizing:border-box;color:#f8fafc;width:100%;min-height:42px;font:inherit;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:.68rem .9rem}.portal-input::placeholder{color:#64748b}.portal-week-group{gap:.65rem;display:grid}.portal-week-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;padding:0 .1rem;display:flex}.portal-week-heading__label{color:#f8fafc;font-size:.92rem;font-weight:850}.portal-week-heading__count{color:#67e8f9;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}.portal-week-list{gap:.65rem;display:grid}.portal-load-more{justify-self:start}.portal-format-badge{color:#a5f3fc;text-transform:uppercase;letter-spacing:.08em;background:#0891b21f;border:1px solid #67e8f92e;border-radius:999px;align-items:center;gap:.32rem;padding:.24rem .5rem;font-size:.7rem;font-weight:850;display:inline-flex}.portal-format-badge--audio,.portal-format-badge--video{color:#ddd6fe;background:#5b21b62e;border-color:#a78bfa38}.portal-format-badge--image{color:#bbf7d0;background:#05966924;border-color:#10b98138}.portal-format-badge--other{color:#cbd5e1;background:#94a3b814;border-color:#94a3b833}.library-resource-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.library-resource-card{flex-direction:column;gap:.85rem;height:100%;min-height:0;padding:1rem;display:flex}.library-resource-card__thumbnail,.library-resource-row__thumbnail{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;position:relative;overflow:hidden}.library-resource-card__thumbnail{aspect-ratio:3/4;flex-shrink:0;width:100%}.library-resource-row__thumbnail{aspect-ratio:3/4;flex-shrink:0;align-self:stretch;width:132px}.library-resource-card__thumbnail-image,.library-resource-row__thumbnail-image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.library-resource-card__thumbnail--placeholder,.library-resource-row__thumbnail--placeholder{color:#64748b;justify-content:center;align-items:center;display:flex}.library-resource-card__body{flex:auto;gap:.45rem;min-height:0;display:grid}.library-resource-card__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.library-resource-card__category{color:#67e8f9e0;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.library-resource-card__title{color:#f8fafc;margin:0}.library-resource-card__description{color:#94a3b8;margin:0;font-size:.88rem}.library-resource-card .library-resource-card__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.library-resource-card__size{color:#64748b;margin:0;font-size:.8rem}.library-resource-card__tags{flex-wrap:wrap;gap:.3rem;display:flex}.library-resource-card__tag{color:#cbd5e1;background:#ffffff1a;border-radius:999px;padding:2px 8px;font-size:.7rem}.library-resource-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.15rem;display:flex}.library-resource-card__actions-primary{flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.library-resource-card__btn{cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:.35rem;padding:.5rem .85rem;font-family:inherit;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.library-resource-card__btn--download{color:#f8fafc;background:#0891b21f;border:1px solid #67e8f93d}.library-resource-card__btn--practice{color:#f8fafc;background:#5b21b638;border:1px solid #8b5cf659}.library-resource-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.library-resource-thumbnail__favorite{z-index:2;-webkit-backdrop-filter:blur(8px);color:#cbd5e1;cursor:pointer;background:#08080cb8;border:1px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;width:2rem;height:2rem;font-family:inherit;transition:border-color .2s,background .2s,color .2s;display:inline-flex;position:absolute;top:.45rem;right:.45rem}.library-resource-thumbnail__favorite:hover{color:#fde68a;border-color:#facc1573}.library-resource-thumbnail__favorite.is-favorited{color:#fde68a;background:#facc152e;border-color:#facc1580}.library-resource-admin-menu{flex-shrink:0;position:relative}.library-resource-admin-menu__trigger{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-family:inherit;display:inline-flex}.library-resource-admin-menu__trigger:hover,.library-resource-admin-menu__trigger.is-open{color:#f8fafc;background:#67e8f91a;border-color:#67e8f947}.library-resource-admin-menu__dropdown{z-index:20;background:#0c0c12fa;border:1px solid #ffffff1f;border-radius:12px;gap:.2rem;min-width:10.5rem;padding:.35rem;display:grid;position:absolute;bottom:calc(100% + .35rem);right:0;box-shadow:0 12px 32px #00000073}.library-resource-admin-menu__item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.45rem;width:100%;padding:.55rem .65rem;font-family:inherit;font-size:.84rem;font-weight:600;display:inline-flex}.library-resource-admin-menu__item:hover:not(:disabled){background:#ffffff0f}.library-resource-admin-menu__item:disabled{opacity:.55;cursor:not-allowed}.library-resource-admin-menu__item--danger{color:#fecaca}.library-resource-admin-menu__item--danger:hover:not(:disabled){background:#7f1d1d59}.library-resource-status-badge--visible{color:#d1fae5;background:#10b98129;border:1px solid #10b9815c}.library-resource-status-badge--draft{color:#d1d5db;background:#94a3b81f;border:1px solid #94a3b838}.library-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.library-view-toggle{background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem;display:inline-flex}.library-view-toggle__button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.library-view-toggle__button.is-active{color:#f8fafc;background:#67e8f91f}.library-resource-list{gap:.75rem;display:grid}.library-resource-row{grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:1rem;padding:1rem;display:grid}.library-resource-row__main{gap:.45rem;min-width:0;display:grid}.library-resource-row__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.library-resource-row__details{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.library-resource-row__footer{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;padding-top:.5rem;display:flex}.library-admin-drawer{z-index:1000;pointer-events:none;position:fixed;inset:0}.library-admin-drawer.is-open{pointer-events:auto}.library-admin-drawer__backdrop{cursor:pointer;opacity:0;background:#08080cb8;border:none;width:100%;height:100%;margin:0;padding:0;transition:opacity .25s;position:absolute;inset:0}.library-admin-drawer.is-open .library-admin-drawer__backdrop{opacity:1}.library-admin-drawer__panel{visibility:hidden;background:linear-gradient(#161620f5,#0c0c12fa);border-radius:16px 0 0 16px;flex-direction:column;gap:1rem;width:min(100%,440px);padding:clamp(1rem,2vw,1.25rem);transition:none;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-12px 0 48px #00000080}.library-admin-drawer.is-open .library-admin-drawer__panel{visibility:visible;transition:transform .3s cubic-bezier(.32,.72,0,1);transform:translate(0,0)}.library-admin-drawer__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.library-admin-drawer__title{color:#f8fafc;margin:.25rem 0 0;font-size:1.2rem}.library-admin-drawer__subtitle{color:#94a3b8;margin:.35rem 0 0;font-size:.88rem}.library-admin-drawer__close{color:#cbd5e1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.library-admin-drawer__body{flex:auto;gap:.75rem;min-height:0;padding-right:.15rem;display:grid;overflow:auto}.library-admin-drawer__field{gap:.35rem;display:grid}.library-admin-drawer__field>span{color:#cbd5e1;font-size:.82rem;font-weight:600}.library-admin-drawer__input{color:#fff;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.library-admin-drawer__textarea{resize:vertical;min-height:84px}.library-admin-drawer__file{color:#cbd5e1}.library-admin-drawer__visibility{flex-wrap:wrap;gap:.5rem;display:flex}.library-admin-drawer__error{color:#fca5a5;font-size:.9rem}.library-admin-drawer__footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.library-thumbnail-picker{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;gap:.75rem;padding:.85rem;display:grid}.library-thumbnail-picker__header{flex-direction:column;gap:.2rem;display:flex}.library-thumbnail-picker__label{color:#cbd5e1;font-size:.82rem;font-weight:600}.library-thumbnail-picker__hint{color:#64748b;font-size:.78rem}.library-thumbnail-picker__current{gap:.35rem;display:grid}.library-thumbnail-picker__current-label{color:#94a3b8;font-size:.78rem}.library-thumbnail-picker__current-image{border:1px solid #ffffff1a;border-radius:8px;width:88px}.library-thumbnail-picker__preview{background:#00000038;border-radius:10px;justify-content:center;padding:.5rem;display:flex}.library-thumbnail-picker__canvas{border-radius:6px;max-width:100%}.library-thumbnail-picker__controls{justify-content:center;align-items:center;gap:.65rem;display:flex}.library-thumbnail-picker__page-indicator{color:#cbd5e1;text-align:center;min-width:7rem;font-size:.85rem}.library-thumbnail-picker__status{color:#94a3b8;margin:0;font-size:.85rem}.library-thumbnail-picker__error{color:#fca5a5;margin:0;font-size:.85rem}.library-admin-drawer__panel--wide{width:min(100%,480px)}@media (width<=720px){.library-resource-row{grid-template-columns:1fr}.library-resource-row__thumbnail{align-self:start;width:min(100%,180px)}}.portal-confirm-modal__overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.portal-confirm-modal{gap:1rem;width:min(100%,540px);padding:clamp(1.15rem,2.4vw,1.45rem);display:grid}.portal-confirm-modal__content{gap:.55rem;display:grid}.portal-confirm-modal__title{color:#f8fafc;letter-spacing:0;margin:0;font-size:1.22rem;font-weight:850}.portal-confirm-modal__description,.portal-confirm-modal__details{color:#cbd5e1;font-size:.94rem}.portal-confirm-modal__details{color:#94a3b8}.portal-confirm-modal__error{color:#fecaca;background:#7f1d1d38;border:1px solid #ef44443d;border-radius:12px;padding:.72rem .85rem;font-size:.88rem}.portal-confirm-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.portal-tool-frame{min-width:0}.portal-tool-workspace{box-sizing:border-box;flex-direction:column;gap:.65rem;height:100%;min-height:0;padding:.75rem;display:flex;overflow:hidden}.portal-tool-workspace__header{border-bottom:1px solid var(--surface-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.35rem;display:flex}.portal-tool-workspace__title{font-family:var(--font-display);color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700}.portal-tool-workspace__description{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.portal-tool-workspace .portal-tool-frame{flex:1;min-height:0;overflow:auto}@media (width>=768px){.portal-main--workspace{flex-direction:column;min-height:0;display:flex;overflow:hidden}.portal-main--workspace .practice-workspace{flex:1;min-height:0;overflow:hidden}}@media (width<=980px){.portal-shell:not(.portal-shell--workspace){padding-left:var(--portal-shell-x);padding-right:var(--portal-shell-x);padding-bottom:calc(var(--portal-mobile-nav-stack) + .75rem + var(--practice-dock-offset,0px))}.portal-shell--workspace{height:calc(100svh - var(--top-nav-height,64px));max-height:calc(100svh - var(--top-nav-height,64px));padding-left:0;padding-right:0;padding-bottom:var(--portal-mobile-nav-stack);box-sizing:border-box}.portal-main--workspace{padding-bottom:0}.portal-mobile-nav{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:55;border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-1);grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;min-height:64px;padding:.42rem;display:grid;position:fixed;box-shadow:0 8px 24px #0006}.portal-mobile-nav__link{border-radius:var(--radius-md);min-width:0;min-height:50px;color:var(--text-muted);border:1px solid #0000;align-content:center;place-items:center;gap:.18rem;font-size:.67rem;font-weight:600;text-decoration:none;display:grid;position:relative}.portal-mobile-nav__link.is-active{color:var(--text-main);background:var(--accent-active);border-color:#67e8f938}.portal-mobile-nav__badge{position:absolute;top:2px;right:14px}}@media (width<=720px){.app-content{padding:16px}.home-feature-card{-webkit-backdrop-filter:none;background:linear-gradient(145deg,#0e0e12fa 0%,#09090bf2 55%,#050506ed 100%)}.home-feature-card:before{display:none}.drum-lessons-card-header{grid-template-columns:1fr}.cal-embed-shell--drum-lessons{--cal-embed-min-height:500px}.top-nav__content{padding:.55rem .85rem}.top-nav__link span,.top-nav__button span,.top-nav__email{display:none}.top-nav__user{border-left:0;padding:0}.top-nav__inbox-popover{right:-.75rem}.portal-page-header{display:grid}.portal-page-actions,.portal-list-row__actions{justify-content:flex-start}}@media (width<=420px){.app-content{padding:12px}.portal-mobile-nav{left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));border-radius:16px}.portal-mobile-nav__link{font-size:.62rem}}
