/* GRD performance palette. Dark brand surfaces, quiet training surfaces. */
:root{--bg:#eff1f1;--ink:#151819;--muted:#586165;--line:#d7ddde;--green:#c2f743;--dark:#101415;--radius:14px;--accent:#c2f743;--accent-ink:#263b06;--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-family:Inter,'Segoe UI',Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:#111}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #668f15;outline-offset:4px}.demo{background:#080b0c;color:#b5bec0;border-bottom:1px solid #293031;letter-spacing:.025em}.demo b{background:var(--accent);color:#172006;border-radius:3px}.eyebrow{font-weight:750;letter-spacing:.16em}h1,h2,h3{color:inherit}h1{font-weight:850;letter-spacing:-.045em}.btn{border-radius:7px;min-height:44px;padding:12px 19px;letter-spacing:.01em;transition:transform .22s var(--ease),background .22s,box-shadow .22s,border-color .22s}.btn .icon{transition:transform .25s var(--ease)}.btn.lime{background:var(--accent);color:#152000}.btn.light{background:#e7eddf;color:#283d10}.btn.outline{border-color:#cbd2d3;background:transparent}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed}.landing{background:#111617;color:#f6f8f7}.landing header{max-width:none;padding:24px max(5%,calc((100vw - 1200px)/2));background:#101415;border-bottom:1px solid #303637}.wordmark{color:#f4f7f4;letter-spacing:-.08em;font-weight:950}.wordmark span{color:var(--accent);letter-spacing:.2em}.landing header .btn{background:var(--accent);color:#142002}.landing nav>a{color:#cbd0d0;position:relative}.landing nav>a:after{content:'';position:absolute;height:2px;background:var(--accent);left:0;right:0;bottom:-6px;transform:scaleX(0);transform-origin:left;transition:transform .25s}.landing-hero{background:#101415;padding:84px max(5%,calc((100vw - 1200px)/2)) 32px;isolation:isolate}.landing-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 60%,#c2f7430b 60%,#c2f74303 79%,transparent 79%),radial-gradient(ellipse at 90% 10%,#bce84212,transparent 56%)}.landing-hero:after{content:'';position:absolute;right:7%;top:80px;height:230px;width:2px;background:linear-gradient(transparent,#c2f74365,transparent);transform:rotate(24deg);pointer-events:none}.landing-hero .eyebrow{color:var(--accent);font-size:12px;letter-spacing:.23em;display:flex;align-items:center;gap:14px}.landing-hero .eyebrow:before{content:'';width:30px;height:3px;background:var(--accent);flex-shrink:0}.landing-hero h1{font-family:'Arial Narrow','Impact','Helvetica Neue',Arial,sans-serif;font-size:clamp(3.8rem,8.3vw,7.3rem);font-weight:950;font-style:italic;line-height:1.03;letter-spacing:-.055em;max-width:1030px;margin:30px 0;padding-right:.08em}.landing-hero h1 span{color:var(--accent)}.landing-hero p{color:#b7c1c2;font-size:18px;line-height:1.8}.landing-actions{gap:14px;margin-top:34px}.landing-actions .btn{min-height:52px;padding:14px 24px}.landing-actions .outline{border-color:#566163;color:#f6f8f7}.hero-bottom-line{margin-top:70px;padding:24px 0 0;border-color:#344041;color:#a3afb1;font-size:12px;letter-spacing:.09em}.landing-content{max-width:1260px;padding:85px 30px 65px}.landing-content>.eyebrow{color:var(--accent)}.landing-content h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:850;letter-spacing:-.045em}.principles{gap:24px;margin-top:46px}.principle{border:1px solid #354041;border-radius:4px;background:#181f20;padding:28px;position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .3s,background .3s}.principle:before{content:'';position:absolute;top:0;left:0;width:52px;height:3px;background:var(--accent);transition:width .45s var(--ease)}.principle .number{color:var(--accent);font-size:12px;letter-spacing:.1em}.principle h3{font-size:25px;letter-spacing:-.03em;margin:34px 0 14px}.principle p{font-size:16px;line-height:1.8;color:#b5bfc0}.coach-feature{background:#edf0ed;color:#171c19;padding:48px;border-radius:4px;gap:50px;border-left:5px solid var(--accent);margin-top:76px}.coach-feature p{color:#53605a}.coach-identity img{border:3px solid white;outline:1px solid #b6c0b8;transition:filter .35s,transform .35s var(--ease)}.coach-feature a{font-weight:650;text-underline-offset:6px;text-decoration-color:#72875e}.demo-entry{background:var(--accent);color:#122000;border-radius:4px;margin-top:32px;padding:44px;position:relative}.demo-entry .eyebrow{color:#354719!important}.demo-entry h2{font-size:32px}.demo-entry p{color:#354719;line-height:1.7}.demo-entry .btn.lime{background:#142002;color:#e2ffb1}.demo-entry .btn.outline{color:#142002;border-color:#648821}.landing-footer{max-width:1200px;color:#a5b1b1;border-color:#344041;font-size:13px;padding-bottom:36px}
/* Athlete and coach workspaces */
aside{background:#121819;border-color:#263132;color:#f6f8f7;padding-top:28px}.brand-mark{background:var(--accent);color:#172300;border-radius:6px;font-style:italic}.brand small{color:#a9b7b8}.brand strong{letter-spacing:.04em}.side-label{color:#9dacad}.nav-btn{color:#b2bfc0;border-radius:7px;transition:background .2s,color .2s,transform .2s}.nav-btn.active{color:#152000;background:var(--accent)}.side-note{background:#1b2425;border-color:#354345;color:#aebbbb;border-radius:9px}.side-note strong{color:#f1f6ef}.side-note .icon{color:var(--accent)}aside .return-site{color:#a9b7b8;text-underline-offset:5px}aside .coach{border-color:#344345}aside .coach small{color:#a9b7b8}aside .avatar{background:#304037;color:#d8f59e}.topbar{background:#fff;border-color:#dae1e1}.switch{background:#eef1ed;border-radius:8px}.switch button{border-radius:5px;color:#54615b}.switch button.active{background:#172119;color:#ddf3b9}.card{border-color:#d8dfe0;box-shadow:0 4px 18px #17232704}.card-head h2{font-weight:750}.page-head .eyebrow{color:#536543}.hero{border-radius:12px;border-left:4px solid var(--accent);background:linear-gradient(115deg,#131d19,#222e23);padding:30px 34px}.hero .eyebrow{color:var(--accent)}.hero h2{font-weight:800}.hero .big-num{color:var(--accent)}.stat{border-color:#d7dfe0;border-radius:12px;box-shadow:0 4px 18px #17232704}.stat-num{font-variant-numeric:tabular-nums;font-weight:850}.stat-icon{color:#3f6222;background:#edf5e2;border-radius:9px}.badge{border-radius:4px;background:#eaf3dd;color:#3a5424}.badge.neutral{background:#edf1f0;color:#50625b}.badge.amber{background:#fff0d0;color:#765309}.file-icon{background:#edf3e6;color:#3f6325;border-color:#d9e4ce}.card-foot{background:#edf3e6;color:#425a32}.link-btn{color:#3f5c24}.progress{background:#e5ebe5;height:8px;border-radius:3px}.progress>div{background:linear-gradient(90deg,#658d20,var(--accent));transform-origin:left;animation:grd-progress .6s var(--ease) both}.metric{border-radius:9px;background:#f0f4ed;border:1px solid #e0e7d9}.metric b{font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.06em;color:#223019}.metric span{color:#53624a}.session-card{border-radius:9px;border-color:#d5ddda;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}.session-card.completed{background:#f3f9e9;border-left:4px solid #709c26}.session-card.completed .badge{background:#dcecba;color:#324c0c}.session-card.partial{border-left-color:#b78223;background:#fffcf4}.session-card.rest{background:#f0f3f3;border-style:dashed;color:#52615e}.session-card.rest .badge{background:#e1e9e7;color:#475d56}.session-top h3{font-weight:750}.session-top small{color:#5d6c66}.session-detail{border-color:#d9e4d1;animation:grd-detail .3s var(--ease) both}.block-row{border-color:#e3e9e1}.session-detail select,.session-detail textarea,.field input,.field select,.field textarea,.week-nav input{border-color:#cbd5ce;transition:border-color .2s,box-shadow .2s}.session-detail select:focus,.session-detail textarea:focus,.field input:focus,.field select:focus,.field textarea:focus,.week-nav input:focus{border-color:#668f2b;box-shadow:0 0 0 3px #b9e57630;outline:none}.modal-backdrop{background:#09110dcc;backdrop-filter:blur(5px);animation:grd-fade .18s ease-out}.modal{border-radius:14px;box-shadow:0 24px 100px #0005;animation:grd-dialog .28s var(--ease)}.modal-head h2{font-weight:800}.toast{background:#172419!important;color:#effbdc!important;border-left:4px solid var(--accent);box-shadow:0 8px 30px #1113;animation:grd-detail .3s var(--ease)}th{background:#eff3ed;color:#526448}td{border-color:#e5ebe1}.agenda-row,.history-row{border-color:#dbe3d6}.footer{color:#5a675e}
/* Motion is finite and functional: entrance, reveal, hover and completion. */
.landing-hero .eyebrow{animation:grd-enter .65s var(--ease) both}.landing-hero h1{animation:grd-enter .85s .08s var(--ease) both}.landing-hero p{animation:grd-enter .85s .16s var(--ease) both}.landing-hero .landing-actions{animation:grd-enter .85s .23s var(--ease) both}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:none}.session-card.just-completed{animation:grd-completed .65s var(--ease)}
@keyframes grd-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes grd-fade{from{opacity:0}to{opacity:1}}@keyframes grd-detail{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes grd-dialog{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes grd-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes grd-completed{0%{box-shadow:0 0 0 0 #9dcc4c70}45%{box-shadow:0 0 0 6px #9dcc4c20}100%{box-shadow:0 0 0 0 #9dcc4c00}}
@media(hover:hover){.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #14200818}.btn.lime:hover:not(:disabled){background:#d1ff62}.btn:hover .icon:last-child{transform:translateX(3px)}.btn.outline:hover:not(:disabled){border-color:#75934f;background:#a5ce3920}.landing nav>a:hover:after{transform:scaleX(1)}.principle:hover{transform:translateY(-5px);border-color:#778f42;background:#1d2725}.principle:hover:before{width:100%}.coach-feature:hover .coach-identity img{filter:grayscale(0);transform:scale(1.04)}.nav-btn:not(.active):hover{background:#283432;color:white}.session-card:hover{border-color:#9caf96}.demo-entry .btn.lime:hover{background:#283b0e}}
@media(max-width:1100px){.landing-hero h1{font-size:clamp(3.4rem,8.7vw,6.3rem)}.principle{padding:24px}.demo-entry{flex-wrap:wrap}.landing-hero:after{display:none}}
@media(max-width:800px){.landing header{padding:20px}.landing-hero{padding:50px 23px 25px}.landing-hero h1{font-size:clamp(2.8rem,9.1vw,5rem);letter-spacing:-.045em;line-height:1.08}.landing-hero .eyebrow{font-size:12px;letter-spacing:.1em;gap:9px}.landing-hero .eyebrow:before{width:18px}.landing-hero p{font-size:16px}.hero-bottom-line{margin-top:42px;font-size:12px;gap:9px}.landing-content{padding:52px 22px}.principles{gap:16px;margin-top:30px}.principle h3{margin-top:22px}.coach-feature{padding:26px;gap:18px;margin-top:42px}.demo-entry{padding:28px;margin-top:24px}.landing-actions{gap:10px}.landing-actions .btn{padding:12px 16px}.landing-footer{margin:0 22px;padding:25px 0;line-height:1.8}.layout aside{padding:18px}.brand{min-width:0}.topbar{gap:10px}.card-head{padding:20px 16px}.week-nav{gap:8px}.week-nav input{max-width:180px}.session-top{gap:8px}.session-top .badge{white-space:normal;text-align:right;flex-shrink:0;max-width:115px}.session-top h3{overflow-wrap:anywhere}.client-select span{font-size:12px}.page-head .btn{white-space:normal}.page-head{flex-wrap:wrap}.metric b{font-size:27px}.metric span{font-size:13px}.landing header .btn{font-size:13px;padding:10px 12px}.wordmark{font-size:27px}.wordmark span{font-size:11px;margin-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}.btn:hover,.principle:hover,.coach-feature:hover .coach-identity img{transform:none}}
