:root{--apex-bg:#0d0f12;--apex-surface:#141820;--apex-surface-inset:#0a0c10;--apex-border:#252a33;--apex-text:#fbdcd6;--apex-text-muted:#e5beb6;--apex-primary:#ff4d2e;--apex-primary-hover:#ff6a4a;--apex-cyan:#22d3ee;--apex-cyan-dim:#22d3ee26;--apex-radius-card:12px;--apex-max:1200px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{min-height:100vh;font-family:var(--font-body);color:var(--apex-text);background-color:var(--apex-bg);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),linear-gradient(165deg,#ff4d2e08 0%,#0000 42%),linear-gradient(135deg,#0000 60%,#22d3ee05 100%);margin:0;font-size:16px;line-height:1.6}#root{min-height:100vh}.apex-display{font-family:var(--font-display);letter-spacing:-.02em}.apex-tabular{font-variant-numeric:tabular-nums}.apex-btn{font-family:var(--font-display);cursor:pointer;border:none;border-radius:9999px;padding:.6rem 1.25rem;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s}.apex-btn--primary{background:var(--apex-primary);color:#fff}.apex-btn--primary:hover{background:var(--apex-primary-hover);box-shadow:0 0 24px #ff4d2e59}.apex-btn--ghost{color:var(--apex-cyan);border:1px solid var(--apex-border);background:0 0}.apex-btn--ghost:hover{border-color:var(--apex-cyan);background:var(--apex-cyan-dim)}.apex-btn--danger{color:#f87171;background:0 0;border:1px solid #f8717173}.apex-btn--danger:hover:not(:disabled){background:#f871711f;border-color:#f87171}.apex-btn--sm{padding:.4rem .9rem;font-size:13px}.apex-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.apex-card{background:var(--apex-surface);border:1px solid var(--apex-border);border-radius:var(--apex-radius-card);overflow:hidden}.apex-card__head{border-bottom:1px solid var(--apex-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.apex-label-caps{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--apex-text-muted);font-size:11px;font-weight:600}.apex-chip{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:var(--apex-cyan-dim);color:var(--apex-cyan);border:1px solid #22d3ee59;border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:11px;font-weight:600;display:inline-flex}.apex-stripes{position:relative;overflow:hidden}.apex-stripes:before{content:"";opacity:.06;pointer-events:none;background:repeating-linear-gradient(-28deg,#fff 0 2px,#0000 2px 14px);position:absolute;inset:0}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-header{z-index:40;border-bottom:1px solid var(--apex-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0f12d9;position:sticky;top:0}.shell-header__inner{max-width:var(--apex-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto;padding:.85rem 1.5rem;display:flex}.shell-brand{color:var(--apex-text);align-items:center;gap:.75rem;text-decoration:none;display:flex}.shell-logo-mark{width:36px;height:36px;color:var(--apex-primary);flex-shrink:0}.shell-brand__text{flex-direction:column;gap:.1rem;display:flex}.shell-brand__title{letter-spacing:-.03em;font-size:1.15rem;font-weight:700;line-height:1.1}.shell-brand__sub{letter-spacing:.14em;text-transform:uppercase;color:var(--apex-text-muted);font-size:11px;font-weight:500}.shell-nav{flex:1;justify-content:center;align-items:center;gap:.35rem;display:flex}.shell-pill{font-family:var(--font-display);color:var(--apex-text-muted);border:1px solid #0000;border-radius:9999px;padding:.45rem 1rem;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.shell-pill:hover{color:var(--apex-text);background:#ffffff0a}.shell-pill--active{color:#fff;background:#ff4d2e33;border-color:#ff4d2e73}.shell-user{flex-shrink:0}.shell-avatar{background:linear-gradient(135deg, var(--apex-border) 0%, #3a4450 100%);border:1px solid var(--apex-border);border-radius:50%;width:36px;height:36px;display:block}.shell-main{flex:1;width:100%}.shell-footer{border-top:1px solid var(--apex-border);margin-top:auto}.shell-footer__inner{max-width:var(--apex-max);color:var(--apex-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 auto;padding:1.25rem 1.5rem;font-size:13px;display:flex}.shell-footer__links{gap:1.25rem;display:flex}.shell-footer__links span{cursor:default;opacity:.7}.shell-pill--btn{font:inherit;cursor:pointer;background:0 0}.shell-avatar--letter{font-family:var(--font-display);color:var(--apex-text);background:linear-gradient(145deg, #ff4d2e59, var(--apex-border));justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.shell-banner{max-width:var(--apex-max);color:var(--apex-text-muted);border-bottom:1px solid var(--apex-border);background:#ffb4a50f;margin:0 auto;padding:.65rem 1.5rem;font-size:13px}.shell-banner code{font-family:var(--font-display);color:var(--apex-cyan);font-size:.9em}.session-route-fallback{color:var(--apex-text-muted);margin:0;padding:3rem 1.5rem}.coach-md{color:var(--apex-text);font-size:15px;line-height:1.65}.coach-md>:first-child{margin-top:0}.coach-md>:last-child{margin-bottom:0}.coach-md h1,.coach-md h2,.coach-md h3{font-family:var(--font-display);color:var(--apex-text);letter-spacing:-.02em;margin:1.25rem 0 .5rem;font-weight:700}.coach-md h1{font-size:1.25rem}.coach-md h2{font-size:1.1rem}.coach-md h3{font-size:1rem}.coach-md p{margin:.65rem 0}.coach-md ul,.coach-md ol{margin:.5rem 0 .65rem;padding-left:1.35rem}.coach-md li{margin:.25rem 0}.coach-md strong{color:var(--apex-cyan);font-weight:600}.coach-md a{color:var(--apex-cyan);text-underline-offset:2px;text-decoration:underline}.coach-md code{font-family:var(--font-display);background:var(--apex-surface-inset);color:var(--apex-cyan);border-radius:4px;padding:.12em .4em;font-size:.88em}.coach-md pre{border-radius:var(--apex-radius-card);background:var(--apex-surface-inset);border:1px solid var(--apex-border);margin:.75rem 0;padding:.85rem 1rem;overflow-x:auto}.coach-md pre code{color:var(--apex-text);background:0 0;padding:0;font-size:13px}.coach-md blockquote{border-left:3px solid var(--apex-primary);color:var(--apex-text-muted);margin:.75rem 0;padding:.5rem 0 .5rem 1rem}.coach-md hr{border:none;border-top:1px solid var(--apex-border);margin:1rem 0}.coach-md table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:14px}.coach-md th,.coach-md td{border:1px solid var(--apex-border);text-align:left;padding:.4rem .6rem}.coach-md th{background:var(--apex-surface-inset)}.page-shell{padding:3rem 1.5rem 4rem}.page-shell__inner{max-width:28rem;margin:0 auto}.page-shell__inner--wide{max-width:40rem}.page-shell__card{padding:2rem 1.75rem}.page-shell__title{margin:.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.page-shell__lead{color:var(--apex-text-muted);margin:0 0 1.5rem;font-size:15px}.page-shell code{font-family:var(--font-display);background:var(--apex-surface-inset);color:var(--apex-cyan);border-radius:4px;padding:.12em .4em;font-size:.92em}.page-shell__cta{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.page-shell__meta{color:var(--apex-text-muted);font-size:13px;font-family:var(--font-display);margin:0 0 .5rem}.page-shell__title--sm{margin:.35rem 0 1rem;font-size:1.5rem}.page-shell__row{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.coach-page__actions{margin:0 0 1rem}.coach-page__actions .apex-btn--primary{min-width:12rem;padding:.75rem 1.6rem;font-size:16px;box-shadow:0 0 28px #ff4d2e59}.coach-page__alert{border-radius:var(--apex-radius-card);color:var(--apex-text);background:#f871711f;border:1px solid #f8717159;margin:0 0 1rem;padding:.75rem 1rem;font-size:14px}.coach-page__output{border-radius:var(--apex-radius-card);background:var(--apex-surface-inset);border:1px solid var(--apex-border);color:var(--apex-text);max-height:min(60vh,28rem);margin:0 0 1.5rem;padding:1rem 1.1rem;font-size:15px;line-height:1.65;overflow-y:auto}.confirm-del{z-index:2000;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-del__backdrop{cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050608b8;border:none;margin:0;padding:0;position:absolute;inset:0}.confirm-del__dialog{z-index:1;border-radius:var(--apex-radius-card);border:1px solid var(--apex-border);background:var(--apex-surface);width:100%;max-width:26rem;padding:1.5rem 1.35rem 1.35rem;position:relative;box-shadow:0 24px 48px #00000073,0 0 0 1px #f871711f}.confirm-del__title{font-family:var(--font-display);color:var(--apex-text);margin:0 0 .75rem;font-size:1.15rem;font-weight:600}.confirm-del__msg{color:var(--apex-text-muted);margin:0 0 1.35rem;font-size:14px;line-height:1.55}.confirm-del__actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.confirm-del__confirm{color:#f87171;background:0 0;border:1px solid #f871718c}.confirm-del__confirm:hover:not(:disabled){background:#f871711f;border-color:#f87171}.dash{padding-bottom:4rem}.dash-wrap{max-width:var(--apex-max);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.dash-hero{padding:3.5rem 0 2.5rem;position:relative}.dash-kicker{margin:0 0 .75rem}.dash-title{letter-spacing:-.03em;color:var(--apex-text);margin:0 0 1rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1}.dash-lead{max-width:42rem;color:var(--apex-text-muted);margin:0;font-size:1.05rem}.dash-lead code{font-family:var(--font-display);background:var(--apex-surface-inset);color:var(--apex-cyan);border-radius:4px;padding:.1em .35em;font-size:.9em}.dash-section{margin-top:2rem}.dash-upload{background:var(--apex-surface-inset)}.dash-upload__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dash-upload--drag .dash-upload__inner{border-color:#22d3ee8c;box-shadow:inset 0 0 0 1px #22d3ee33}.dash-upload__feedback{margin:0 0 1rem;font-size:14px;line-height:1.4}.dash-upload__feedback--err{color:var(--apex-primary)}.dash-list-error{color:var(--apex-primary);margin:0 1.25rem 1rem;font-size:14px}.dash-upload__inner{text-align:center;border:2px dashed var(--apex-border);border-radius:var(--apex-radius-card);padding:2.5rem 1.5rem;transition:border-color .2s,box-shadow .2s}.dash-upload__inner:hover{border-color:#ff4d2e73;box-shadow:inset 0 0 0 1px #ff4d2e1f}.dash-upload__icon{color:var(--apex-primary);justify-content:center;margin-bottom:1rem;display:flex}.dash-upload__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.dash-upload__hint{color:var(--apex-text-muted);margin:0 0 1.25rem;font-size:14px}.dash-upload__btn{margin-top:.25rem}.dash-table-title{margin:.35rem 0 0;font-size:1.15rem;font-weight:600}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:14px}.dash-table th{text-align:left;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--apex-text-muted);border-bottom:1px solid var(--apex-border);background:#0003;padding:.75rem 1.25rem;font-size:11px;font-weight:600}.dash-table td{border-bottom:1px solid var(--apex-border);vertical-align:middle;padding:1rem 1.25rem}.dash-table tbody tr{transition:background .15s}.dash-table tbody tr:hover{background:#ffffff05}.dash-table__row--best{background:#22d3ee0a}.dash-table__row--best:hover{background:#22d3ee12}.dash-file{margin-right:.5rem;font-weight:500}.dash-session__head{flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;display:flex}.dash-session__title{color:var(--apex-text);min-width:0;font-weight:600;line-height:1.35}.dash-session__filename{color:var(--apex-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:12px;font-weight:400;display:block;overflow:hidden}.dash-table__badge{vertical-align:middle;margin-left:.35rem}.dash-muted{color:var(--apex-text-muted)}.dash-lap{font-family:var(--font-display);color:var(--apex-cyan);font-size:1.1rem;font-weight:700}.dash-lap-unit{color:var(--apex-text-muted);margin-left:.15rem;font-size:12px}.dash-table__row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.dash-table__action{text-align:right;width:6rem}.dash-table--sessions{table-layout:fixed}.dash-table--sessions .dash-table__th-file{width:28%;min-width:10rem}.dash-table--sessions .dash-table__th-narrow{width:9.25rem}.dash-table--sessions .dash-table__th-type{width:10%;min-width:5rem}.dash-table--sessions .dash-table__th-champ{width:16%;min-width:6.5rem}.dash-table--sessions .dash-table__action{width:9.25rem;min-width:8.75rem}.dash-table--sessions th,.dash-table--sessions td{padding:.65rem .75rem}.dash-table__td-file{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}.dash-table__td-clip{text-overflow:ellipsis;white-space:nowrap;max-width:0;color:var(--apex-text-muted);font-size:13px;overflow:hidden}.dash-table__td-nowrap{white-space:nowrap;font-size:13px}.dash-filters{border-bottom:1px solid var(--apex-border);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;padding:0 1.25rem 1rem;display:flex}.dash-filter{flex-direction:column;gap:.35rem;display:flex}.dash-filter__label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--apex-text-muted);font-size:11px;font-weight:600}.dash-filter__input{font-family:var(--font-body);border:1px solid var(--apex-border);background:var(--apex-surface-inset);color:var(--apex-text);border-radius:8px;min-width:11rem;padding:.45rem .65rem;font-size:14px}.dash-filter__input:focus{border-color:var(--apex-cyan);outline:none;box-shadow:0 0 0 1px #22d3ee40}.dash-filter__clear{align-self:flex-end}.dash-filters__hint{color:var(--apex-text-muted);flex:100%;margin:0;font-size:12px;line-height:1.4}.dash-pager{border-top:1px solid var(--apex-border);flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:1rem 1.25rem 1.25rem;display:flex}.dash-pager__meta{color:var(--apex-text);font-size:14px}.dash-pager__range{color:var(--apex-text-muted);font-size:13px}.login-card{max-width:22rem}.login-lead{margin-bottom:1.25rem}.login-mode{background:var(--apex-surface-inset);border:1px solid var(--apex-border);border-radius:9999px;gap:.35rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.login-mode__btn{font-family:var(--font-display);cursor:pointer;color:var(--apex-text-muted);background:0 0;border:none;border-radius:9999px;flex:1;padding:.45rem .75rem;font-size:13px;font-weight:600;transition:background .15s,color .15s}.login-mode__btn--active{color:var(--apex-text);background:#ff4d2e33;box-shadow:inset 0 0 0 1px #ff4d2e59}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-label{letter-spacing:.06em;text-transform:uppercase;color:var(--apex-text-muted);font-size:12px;font-weight:600;font-family:var(--font-display)}.login-input{font-family:var(--font-body);border:1px solid var(--apex-border);background:var(--apex-surface-inset);color:var(--apex-text);border-radius:8px;outline:none;padding:.65rem .85rem;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-input::placeholder{color:var(--apex-text-muted);opacity:.7}.login-input:focus{border-color:#ff4d2e8c;box-shadow:0 0 0 3px #ff4d2e26}.login-error{color:#ffb4ab;margin:0;font-size:14px}.login-hint{color:var(--apex-cyan);margin:0;font-size:14px}.login-submit{justify-content:center;width:100%;margin-top:.25rem}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-footer{color:var(--apex-text-muted);margin:1.5rem 0 0;font-size:13px;line-height:1.5}.login-back{color:var(--apex-cyan);text-decoration:none}.login-back:hover{text-decoration:underline}.auth-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:40vh;padding:2rem 1.5rem;display:flex}.auth-gate__text{max-width:28rem;color:var(--apex-text-muted);margin:0;font-size:15px;line-height:1.5}.auth-gate code{font-family:var(--font-display);background:var(--apex-surface-inset);color:var(--apex-cyan);border-radius:4px;padding:.1em .35em;font-size:.88em}.auth-spinner{border:2px solid var(--apex-border);border-top-color:var(--apex-primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}
