:root{color:#e8e8e4;background:#11110f;font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;cursor:pointer}.public-shell,.product-shell{min-height:100vh;display:flex;flex-direction:column}.public-shell .page,.product-shell>.page{flex:1}.public-header,.product-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem;border-bottom:1px solid #2a2a26}.brand{font-weight:700;letter-spacing:.04em;text-decoration:none}.nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav a,.nav-button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:none;opacity:.8}.nav a.active,.nav-button.active{opacity:1;border-bottom:2px solid #7dffb3}.page{max-width:960px;margin:0 auto;padding:2.5rem 1.4rem 4rem}.hero h1{font-size:2.4rem;margin:0 0 .6rem}.prose h2{margin:2rem 0 .6rem;font-size:1.25rem}.prose h3{margin:1.2rem 0 .4rem;font-size:1.05rem}.prose p{margin:0 0 .85rem}.public-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.2rem;padding:1rem 1.4rem 1.3rem;border-top:1px solid #2a2a26}.footer-nav{display:flex;flex-wrap:wrap;gap:1rem}.footer-nav a{text-decoration:none;opacity:.8}.footer-nav a.active{opacity:1}.contact-form{display:grid;gap:.85rem;max-width:32rem;margin:1.2rem 0 0}.contact-form label{display:grid;gap:.35rem}.contact-form input,.contact-form textarea{font:inherit;color:inherit;background:#11110f;border:1px solid #4a4a44;border-radius:8px;padding:.55rem .7rem}.contact-form textarea{resize:vertical;min-height:8rem}.muted{color:#b4b4aa}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.auth-form{display:grid;gap:.85rem;max-width:22rem;margin:1.2rem 0 0}.auth-form label{display:grid;gap:.35rem}.auth-form input{font:inherit;color:inherit;background:#11110f;border:1px solid #4a4a44;border-radius:8px;padding:.55rem .7rem}.auth-divider{display:flex;align-items:center;gap:.75rem;max-width:22rem;margin:1.1rem 0 0;color:#b4b4aa;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#2f2f2a}.button.google{width:100%;gap:.55rem;background:#fff;color:#1f1f1f}.button{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.1rem;border:0;border-radius:999px;background:#7dffb3;color:#11110f;font-weight:650;text-decoration:none}.button.secondary{background:transparent;color:#e8e8e4;border:1px solid #4a4a44}.button:disabled{opacity:.45;cursor:default}.stub{padding:2rem 1.4rem}.workout-page{flex:1;display:flex;flex-direction:column;min-height:0}.workout-stage{position:relative;flex:1;min-height:16rem;background:#000;overflow:hidden}.workout-stage video,.workout-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.session-chip{position:absolute;top:.75rem;z-index:2;display:grid;gap:.35rem;min-width:7.5rem;padding:.45rem;border-radius:12px;background:#11110fb8;border:1px solid rgba(255,255,255,.12)}.session-chip.left{left:.75rem}.session-chip.right{right:.75rem;text-align:right}.chip-actions{display:flex;gap:.35rem}.chip-action{min-height:44px;min-width:44px;padding:.35rem .7rem}.chip-stats{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;padding:0 .2rem;font-variant-numeric:tabular-nums}.chip-stats strong{font-size:1.35rem}.target-chip-button{display:grid;gap:.12rem;width:100%;min-height:44px;padding:.4rem .55rem;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#ffffff14;color:inherit;font:inherit;text-align:right}.target-chip-button:not(:disabled):hover{border-color:#7dffb3;background:#7dffb31f}.target-chip-button:disabled{opacity:.85;cursor:default}.target-chip-kicker{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.target-chip-value{font-size:1.05rem;font-weight:650}.target-chip-hint{font-size:.75rem;opacity:.78}.target-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:3;width:min(18rem,calc(100vw - 2rem));max-height:min(24rem,70vh);overflow:auto;padding:.75rem;border-radius:12px;background:#1a1a16;border:1px solid #2f2f2a}.target-popover .target-picker{margin-bottom:0}.stage-camera{position:absolute;top:.75rem;left:50%;z-index:2;transform:translate(-50%)}.stage-camera select{font:inherit;color:inherit;background:#11110fb8;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.3rem .5rem;max-width:10rem}.athlete-prompt{position:absolute;bottom:1.2rem;left:50%;z-index:2;transform:translate(-50%);display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;min-height:2.8rem;max-width:min(34rem,calc(100% - 2rem));padding:.6rem 1rem;border-radius:12px;background:#11110fd1;text-align:center;font-size:1rem;font-weight:550;line-height:1.35}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sheet-backdrop{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;padding:4.2rem 1rem 1rem;background:#00000080}.sheet{display:grid;gap:.85rem;align-content:start;width:min(22rem,100%);height:fit-content;padding:1rem 1.1rem 1.2rem;border-radius:12px;background:#1a1a16;border:1px solid #2f2f2a}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.sheet-head h2{margin:0;font-size:1.05rem}.card{background:#1a1a16;border:1px solid #2f2f2a;border-radius:12px;padding:1rem}.ok{color:#7dffb3}.bad{color:#ffb4a8}.error-banner{padding:1rem 1.4rem;background:#3a1d18}.info-banner{padding:1rem 1.4rem;background:#1a2a22}.history-list{list-style:none;padding:0;margin:1rem 0 0}.history-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #2a2a26}.history-row-end{display:flex;align-items:center;gap:.7rem}.button.small{padding:.35rem .75rem;font-size:.85rem}.target-picker{display:grid;gap:.45rem;margin-bottom:.8rem}.target-picker label{display:grid;gap:.3rem}.target-picker select,.custom-fields input{font:inherit;color:inherit;background:#11110f;border:1px solid #4a4a44;border-radius:8px;padding:.45rem .6rem}.custom-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.custom-fields input{width:5.5rem}.today-line{margin:0 0 .7rem;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;color:#b4b4aa}.mute-row{display:flex;align-items:center;gap:.5rem;font-size:.92rem}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.metric{display:grid;gap:.25rem}.metric strong{font-size:1.6rem}.section-title{margin:0 0 .7rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#b4b4aa}.chart-card{overflow-x:auto}.chart{display:flex;align-items:flex-end;gap:.45rem;min-height:140px}.chart-col{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:2rem;font-size:.72rem;color:#b4b4aa}.chart-bar{width:1.1rem;border-radius:4px 4px 0 0;background:#7dffb3}.workout-group{margin-top:1rem}.workout-block header{display:flex;justify-content:space-between;gap:1rem;margin:.4rem 0 0}.workout-block+.workout-block{margin-top:.8rem}@media(max-width:840px){.stats-row{grid-template-columns:1fr}.history-list li{flex-direction:column}.session-chip.right{max-width:46%}}.compete-page h1{margin-bottom:.4rem}.compete-lobby{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}.compete-player{display:grid;gap:.35rem}.compete-player strong{font-size:1.25rem}@media(max-width:640px){.compete-lobby{grid-template-columns:1fr}}.product-shell>.compete-play{max-width:none;width:100%;margin:0;padding:0;flex:1;display:flex;flex-direction:column;min-height:0}.compete-match{flex:1}.compete-scorebar{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #2a2a26}.compete-scorebar>div{display:grid;gap:.1rem}.compete-scorebar>div:last-child{text-align:right}.compete-scorebar strong{font-size:1.05rem}.compete-scorebar span:last-child{font-size:1.4rem;font-weight:700}.compete-clock{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.compete-match-actions{display:flex;justify-content:center;gap:.8rem;padding:.75rem 1rem 1rem}.compete-play-error{padding:0 1rem 1rem}.compete-opponent-tile{position:absolute;top:.75rem;right:.75rem;z-index:3;width:min(28vw,11rem);aspect-ratio:3 / 4;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#11110f}.workout-stage .compete-opponent-tile .compete-opponent{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}.compete-opponent-wait{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:.4rem;text-align:center;font-size:.85rem;background:#11110fb8}.compete-cue{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;margin:0;padding:1rem;pointer-events:none;text-align:center;font-size:clamp(2rem,8vw,3.4rem);font-weight:800;letter-spacing:.04em;text-shadow:0 2px 16px #000}.compete-cue-count{font-size:clamp(5rem,22vw,9rem)}
