@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101211;--panel:#1b1e1b;--raised:#232723;--line:#323830;--text:#f4f6ed;--muted:#a2aa9c;--lime:#d4ff58;--red:#ff9e90;--font:'DM Sans',system-ui,sans-serif;--display:'Barlow Condensed',Impact,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05}h1{font:700 clamp(3rem,9vw,5rem)/.95 var(--display);text-transform:uppercase;letter-spacing:-.02em}h2{font:600 2rem/1.05 var(--display)}h3{font:600 1.5rem/1.1 var(--display)}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--muted)}.lime{color:var(--lime)}.brand-mark{font:800 2rem/1 var(--display);background:var(--lime);color:var(--bg);display:grid;place-items:center;width:45px;height:45px;transform:skew(-5deg);border-radius:6px}.brand{display:flex;gap:12px;align-items:center}.brand-name{font:700 1.625rem/1 var(--display);letter-spacing:.04em}.brand-name small{font:500 .6875rem var(--font);display:block;letter-spacing:.19em;color:var(--muted);margin-top:4px}.shell{max-width:1240px;margin:0 auto;padding:0 38px 100px}.topbar{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:36px}.avatar{background:#2b3126;border:1px solid #46503c;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--lime);font-size:.875rem}.top-right{display:flex;gap:16px;align-items:center}.connection{font-size:.8125rem;color:var(--muted);display:flex;gap:7px;align-items:center}.connection:before{content:'';width:6px;height:6px;border-radius:100%;background:var(--lime)}.connection.offline:before{background:#ffb76b}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:16px}.page-heading .eyebrow{margin-bottom:12px}.date-label{text-align:right;color:var(--muted);font-size:.875rem}.date-label strong{color:var(--text);font-size:1rem;display:block}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.tab{padding:10px 18px;border:1px solid var(--line);border-radius:24px;white-space:nowrap;color:var(--muted);font-size:.875rem;font-weight:600;min-height:44px}.tab.active{background:var(--lime);color:var(--bg);border-color:var(--lime)}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.search{position:relative;max-width:250px}.search input{padding-left:36px;min-height:44px;background:var(--panel);border:1px solid var(--line)}.search svg{position:absolute;left:12px;top:14px;color:var(--muted)}.section-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin:12px 0 16px}.section-label h2{font:600 1.5rem var(--display)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wod-card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;min-height:225px;text-align:left;transition:transform .15s,border-color .15s;width:100%;position:relative;overflow:hidden}.wod-card:hover{transform:translateY(-3px);border-color:#707d57}.wod-card.today{background:linear-gradient(135deg,#2b3321,var(--panel));border-color:#6f8146}.wod-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:8px}.tag{font-size:.75rem;letter-spacing:.075em;text-transform:uppercase;color:var(--lime);font-weight:700;background:#303a20;border-radius:5px;padding:4px 8px}.tag.hyrox{background:#352c24;color:#ffbe7d}.tag.weightlifting{background:#292e41;color:#bdc9ff}.wod-card h3{font-size:1.95rem;margin-bottom:12px}.wod-preview{font-size:.875rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:22px;font-size:.8125rem;color:var(--muted)}.arrow{width:32px;height:32px;border:1px solid #4b5541;border-radius:50%;display:grid;place-items:center;color:var(--lime)}.nav{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;background:#242924ed;backdrop-filter:blur(20px);border:1px solid #434c3d;border-radius:20px;padding:7px;z-index:20;box-shadow:0 8px 40px #0006}.nav button{min-width:132px;display:flex;gap:9px;align-items:center;justify-content:center;padding:12px 16px;color:var(--muted);font-size:.875rem;border-radius:13px}.nav button.active{background:var(--lime);color:var(--bg);font-weight:700}.nav svg{width:19px;height:19px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--bg);font-weight:700;border-radius:10px;padding:14px 20px;min-height:50px;text-decoration:none;border:1px solid transparent}.btn.secondary{background:var(--raised);border-color:var(--line);color:var(--text)}.btn.ghost{background:none;border-color:var(--line);color:var(--muted)}.btn.full{width:100%}.btn.danger{color:var(--red);background:#3b2522}.icon-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.active-banner{background:var(--lime);color:var(--bg);border-radius:12px;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:26px;text-align:left;width:100%}.active-banner p{font-weight:700}.active-banner small{opacity:.75}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.panel+.panel{margin-top:18px}.split{display:grid;grid-template-columns:1fr 1.05fr;gap:24px;align-items:start}.stack{display:flex;flex-direction:column;gap:18px}.block{border-top:1px solid var(--line);padding:20px 0}.block:first-child{border-top:0;padding-top:0}.block:last-child{padding-bottom:0}.block h3{font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:13px}.block pre{font:400 1rem/1.7 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.timer-panel{background:var(--lime);color:var(--bg);border-radius:16px;padding:24px;position:relative}.timer-top{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.12em;font-weight:700}.timer-value{font:600 clamp(4.8rem,12vw,6.5rem)/1.1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:.025em;margin:10px 0}.timer-bottom{display:flex;align-items:center;justify-content:space-between}.timer-bottom button{background:#101211;color:var(--lime);border-radius:8px;padding:10px 19px;min-height:44px;font-size:.875rem;font-weight:700}.timer-bottom small{opacity:.7;max-width:190px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:.8125rem;color:var(--muted)}input,select,textarea{width:100%;background:#111510;border:1px solid #3d4537;border-radius:9px;color:var(--text);padding:12px 13px;min-height:48px;font-size:1rem}textarea{resize:vertical;min-height:78px}input::placeholder,textarea::placeholder{color:#7c8675}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--lime)}.field.wide{grid-column:1/-1}.form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.form-title span{font-size:.8125rem;color:var(--muted)}.log-list{margin-top:20px}.log-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.log-number{font:600 1.375rem var(--display);color:var(--lime);background:#2a3222;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.log-body{flex:1;min-width:0}.log-body strong{font-size:.9375rem}.log-body p{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}.log-delete{font-size:.8125rem;color:var(--muted);padding:10px}.empty{padding:42px 22px;border:1px dashed #3f4836;border-radius:16px;text-align:center;color:var(--muted)}.empty svg{color:var(--lime);width:36px;height:36px;margin-bottom:16px}.empty h2{color:var(--text);margin-bottom:12px}.empty .btn{margin-top:22px}.empty p{max-width:360px;margin:0 auto}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.stat-value{font:600 3.2rem/1 var(--display);margin:15px 0 7px}.stat-value small{font-size:1.25rem;color:var(--muted);margin-left:5px}.chart{height:160px;display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:25px;padding-bottom:25px}.chart-col{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px;flex:1;position:relative}.chart-bar{background:var(--lime);border-radius:5px 5px 0 0;width:100%;max-width:50px;min-height:3px}.chart-col small{font-size:.6875rem;color:var(--muted);white-space:nowrap;position:absolute;bottom:-25px}.chart-col span{font-size:.75rem}.history-item{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:17px 0;border-bottom:1px solid var(--line)}.history-date{border-radius:9px;background:#2a3024;min-width:52px;text-align:center;padding:8px;color:var(--muted);font-size:.6875rem;text-transform:uppercase}.history-date strong{display:block;color:var(--text);font:600 1.75rem/1 var(--display)}.history-body{flex:1;min-width:0}.history-body strong{font-size:.9375rem}.history-body p{color:var(--muted);font-size:.8125rem}.history-score{text-align:right;color:var(--lime);font-weight:600;font-size:.9375rem}.movement{padding:17px 0;border-bottom:1px solid var(--line)}.movement-title{display:flex;justify-content:space-between;gap:15px}.movement-title span{color:var(--lime)}.spark{width:100%;height:60px;margin-top:10px}.login{max-width:1060px;min-height:100dvh;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px;padding:40px}.login-copy h1{font-size:clamp(5rem,10vw,8rem);line-height:.87;margin:50px 0 26px}.login-copy h1 span{color:var(--lime)}.login-copy p{max-width:290px;color:var(--muted)}.login .panel{padding:32px}.login .panel h2{font-size:2.5rem;margin-bottom:14px}.login .panel .field{margin:26px 0 18px}.login .panel .small{margin-top:18px}.login-footer{margin-top:28px;display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.75rem;letter-spacing:.07em}.error{color:var(--red);font-size:.875rem;margin:14px 0}.success{color:var(--lime);font-size:.9375rem}.initial{min-height:80vh;display:grid;place-content:center;justify-items:center;gap:25px;color:var(--muted)}#toast{position:fixed;bottom:115px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:13px 20px;background:var(--text);color:var(--bg);border-radius:12px;font-size:.875rem;z-index:100;max-width:calc(100% - 30px);transition:.2s;box-shadow:0 8px 30px #0005}#toast.show{transform:translate(-50%,0);opacity:1}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:28px;max-width:580px;width:calc(100% - 30px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:24px}.modal-head h2{font-size:2.5rem;margin-top:12px}.modal-actions{margin-top:22px;display:flex;gap:10px}.modal-actions .btn{flex:1}.inline-check{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:.9375rem}.offline-strip{background:#3a2d1e;color:#ffd09b;padding:10px 16px;font-size:.875rem;text-align:center;border-radius:10px;margin-bottom:20px}.footer-note{font-size:.75rem;color:var(--muted);margin-top:20px;text-align:center}.loading{animation:pulse 1.1s infinite alternate}@keyframes pulse{to{opacity:.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:950px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr 1fr;gap:16px}.login{gap:40px}.toolbar{align-items:stretch;flex-direction:column;gap:14px}.search{max-width:none}.stat{padding:16px}.stat-value{font-size:2.6rem}}@media(max-width:640px){.shell{padding:0 20px 115px}.topbar{height:82px;margin-bottom:29px}.brand-name{font-size:1.4rem}.brand-mark{width:39px;height:39px}.top-right{gap:10px}.connection{font-size:.75rem}.page-heading{margin-bottom:24px}.date-label{max-width:120px;font-size:.75rem}.date-label strong{font-size:.8125rem}h1{font-size:3.7rem}.grid{grid-template-columns:1fr;gap:12px}.wod-card{min-height:195px;padding:20px}.wod-meta{margin-bottom:16px}.wod-card h3{font-size:1.9rem}.card-footer{padding-top:17px}.tabs{margin-right:-20px;padding-right:20px}.tab{padding:10px 16px}.nav{bottom:0;left:0;transform:none;width:100%;border-radius:18px 18px 0 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;background:#20251ff5}.nav button{min-width:0;flex:1;flex-direction:column;font-size:.75rem;gap:5px;padding:9px 6px;border-radius:11px}.nav svg{width:21px;height:21px}.split{grid-template-columns:1fr;gap:18px}.session-program{order:2}.session-actions{order:1}.panel{padding:20px}.timer-value{font-size:5.7rem}.timer-panel{padding:22px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-value{font-size:3rem}.login{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:32px 22px;min-height:100dvh;justify-content:center}.login-copy h1{font-size:5.6rem;margin:34px 0 18px}.login-copy p{max-width:none}.login .panel{padding:24px}.login-footer{display:none}.login .panel h2{font-size:2.1rem}.modal-head h2{font-size:2rem}dialog{padding:22px}.section-label{padding-top:17px}.active-banner{padding:14px 16px}.toolbar{margin-bottom:22px}.history-item{gap:11px}.history-score{max-width:80px;font-size:.8125rem}}
@media(max-width:640px){.page-heading:has(.date-label){position:relative}.page-heading:has(.date-label)>div:first-child{width:100%}.page-heading:has(.date-label) .eyebrow{padding-right:104px}.date-label{position:absolute;top:0;right:0;max-width:none;font-size:.75rem}.date-label strong{display:none}.page-heading h1{font-size:3.5rem}.stat .eyebrow{letter-spacing:.07em;display:block;min-height:32px}}
.crew-selector{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px 20px;margin-bottom:24px}.crew-choice{flex:1;min-width:0}.crew-choice label{display:block;margin-bottom:5px;font-size:.65rem;letter-spacing:.16em;color:var(--lime)}.crew-choice select{border:0;background:transparent;padding:0 25px 0 0;min-height:32px;font-weight:600;color:var(--text);text-overflow:ellipsis}.crew-role{flex-shrink:0;font-size:.75rem;color:var(--muted);padding:7px 10px;border:1px solid var(--line);border-radius:20px}.crew-selector-empty>div{display:flex;align-items:center;gap:10px}.crew-selector-empty svg{color:var(--lime);flex-shrink:0}.crew-selector-empty>button{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--lime);min-height:44px}.crew-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}.crew-intro h2{margin:12px 0 18px;font-size:2.6rem;overflow-wrap:anywhere}.crew-intro>p{line-height:1.7}.crew-current-role{display:flex;gap:10px;align-items:center;margin:22px 0;color:var(--lime);font-size:.85rem}.crew-form{display:flex;flex-direction:column;gap:16px;margin-top:22px}.crew-form .form-error:empty{display:none}.crew-member{display:flex;gap:13px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.crew-member:first-child{padding-top:0;border-top:0}.crew-member:last-child{padding-bottom:0}.crew-member-avatar{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#303a20;color:var(--lime);display:grid;place-items:center;font-weight:700}.crew-member>div{min-width:0}.crew-member strong{font-size:.9rem;overflow-wrap:anywhere}.crew-member p,.crew-member-role{display:block;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.crew-member-role{margin-top:4px}.crew-notice{font-size:.875rem;line-height:1.7;color:var(--muted);background:#242a1e;border-left:3px solid #65763e;padding:14px;border-radius:0 8px 8px 0}.crew-link{padding:18px;margin-top:22px;background:#252e1b;border:1px solid #52632d;border-radius:12px;display:flex;flex-direction:column;gap:12px}.crew-link input{font-size:.8rem;white-space:nowrap}.crew-link label{font-size:.75rem}.crew-invitation{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0}.crew-invitation:last-child{padding-bottom:0}.crew-invitation>div{min-width:0}.crew-invitation strong{font-size:.875rem;overflow-wrap:anywhere}.crew-invitation p{font-size:.75rem;color:var(--muted);margin-top:3px}.crew-invitation .btn{padding:10px 12px;font-size:.75rem;min-height:44px}.crew-copy{margin:18px 0;line-height:1.7}.crew-create{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.crew-create h2{margin:12px 0}.crew-create .crew-form{margin-top:0}.account-email{overflow-wrap:anywhere}.account-logout{margin-top:12px}.nav button{min-width:116px}
.crew-member>div{flex:1}.crew-member-remove{color:var(--muted);width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:10px}.crew-member-remove:hover{background:#3b2522;color:var(--red)}
@media(max-width:640px){.crew-selector{padding:14px;gap:10px}.crew-role{font-size:.6875rem;padding:6px 8px}.crew-selector-empty{align-items:flex-start;flex-direction:column;gap:5px}.crew-selector-empty>div{font-size:.875rem}.crew-layout,.crew-create{grid-template-columns:1fr;gap:18px}.crew-intro h2{font-size:2.2rem}.crew-create{margin-top:18px}.nav button{min-width:0;font-size:.6875rem;padding:9px 3px}.brand-name small{font-size:.57rem;letter-spacing:.13em}.crew-link{padding:14px}.crew-invitation{align-items:flex-start}.crew-invitation .btn{flex-shrink:0}.login .panel .crew-notice{margin-top:16px}}
