@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,80..100,400..800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#16322f;--muted:#647b77;--green:#087f73;--green-2:#13a38f;--mint:#dff4ee;--lime:#d9f05b;--paper:#f7fbfa;--line:#d9e6e3;--white:#fff;--shadow:0 22px 70px rgba(20,73,66,.09);--display:"Bricolage Grotesque","Arial Narrow",sans-serif;--body:"DM Sans",system-ui,sans-serif;--data:"DM Sans","Arial Narrow",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(19,163,143,.28);outline-offset:3px}[hidden]{display:none!important}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(430px,.92fr);background:#fff}.login-brand{position:relative;overflow:hidden;color:#fff;background:#087f73;padding:48px clamp(45px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-280px;top:-180px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 190px rgba(255,255,255,.025)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:25px;font-weight:800;letter-spacing:.08em}.brand--light{color:#fff;position:relative;z-index:2}.brand-ball{display:inline-block;width:25px;height:25px;border-radius:50%;background:var(--lime);position:relative;overflow:hidden;flex:none}.brand-ball:before,.brand-ball:after{content:"";position:absolute;width:20px;height:28px;border:1.5px solid var(--green);border-radius:50%}.brand-ball:before{left:-12px;top:-2px}.brand-ball:after{right:-12px;top:-2px}.login-copy{position:relative;z-index:2;margin-top:auto;margin-bottom:auto;max-width:590px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}.eyebrow--green{color:var(--green)}.login-copy h1{font-family:var(--display);font-weight:700;font-size:clamp(44px,5.1vw,76px);line-height:1.18;letter-spacing:-.045em;margin:24px 0 22px}.login-copy h1 em,.court-copy h1 em{font-style:normal;color:var(--lime);position:relative}.login-copy h1 em:after{content:"";position:absolute;height:8px;background:rgba(217,240,91,.27);bottom:4px;left:0;right:0}.login-copy p{font-size:17px;line-height:1.9;color:rgba(255,255,255,.75);max-width:510px}.court-mark{position:absolute;right:-18px;bottom:-55px;width:50%;height:39%;border:1px solid rgba(255,255,255,.22);transform:skewY(-8deg);opacity:.75}.court-line{position:absolute;background:rgba(255,255,255,.22)}.court-line--v{width:1px;height:100%;left:48%}.court-line--h{height:1px;width:100%;top:50%}.ball-shadow{position:absolute;width:35px;height:35px;border-radius:50%;background:var(--lime);top:16%;left:12%;box-shadow:18px 35px 30px rgba(0,0,0,.2)}.match-note{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.22);padding-top:22px;display:flex;align-items:center;gap:22px;font-size:13px}.match-note span{color:rgba(255,255,255,.6)}.match-note strong{font-size:15px}.login-panel{display:grid;place-items:center;padding:50px}.login-card{width:min(100%,450px)}.mobile-brand{display:none}.login-card h2{font-family:var(--display);font-size:36px;margin:14px 0 7px}.muted{color:var(--muted);margin:0 0 34px}.field{display:block;margin:0 0 20px}.field>span:first-child{display:block;font-size:13px;font-weight:700;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 15px;background:#fbfdfc;color:var(--ink);transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);background:#fff}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:62px}.text-icon{position:absolute;right:9px;top:9px;border:0;background:none;color:var(--green);font-size:13px;padding:6px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 24px;font-size:13px}.check{display:flex;gap:8px;align-items:center;color:var(--muted)}.check input{accent-color:var(--green)}.link-button{border:0;background:transparent;color:var(--green);padding:0;font-weight:700}.primary-button{border:0;border-radius:10px;padding:14px 22px;background:var(--green);color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(8,127,115,.16);transition:.2s}.primary-button:hover{background:#056c62;transform:translateY(-1px)}.primary-button--wide{width:100%;display:flex;align-items:center;justify-content:space-between}.signup{text-align:center;color:var(--muted);font-size:13px;margin-top:25px}.signup .link-button{margin-left:6px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);padding:27px 20px 20px;display:flex;flex-direction:column;z-index:20}.sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.sidebar-close{display:none}.player-mini{display:flex;gap:11px;align-items:center;margin:30px 0 22px;padding:14px 10px;background:var(--paper);border-radius:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-weight:800}.player-mini strong,.player-mini span{display:block}.player-mini strong{font-size:14px}.player-mini span{font-size:11px;color:var(--muted);margin-top:3px}.side-nav p{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#9aaba8;margin:20px 10px 8px}.nav-item{border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;color:#58706c;text-align:left;font-size:13px;margin:2px 0;transition:.2s}.nav-item:hover{background:var(--paper);color:var(--ink)}.nav-item.active{background:var(--mint);color:var(--green);font-weight:700}.nav-icon{width:19px;text-align:center;font-size:17px}.nav-badge{margin-left:auto;background:var(--green);color:#fff;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:10px}.sidebar-tip{margin-top:auto;background:var(--ink);color:#fff;padding:17px;border-radius:13px;position:relative;overflow:hidden}.sidebar-tip:after{content:"";width:70px;height:70px;border:1px solid rgba(255,255,255,.1);position:absolute;border-radius:50%;right:-28px;top:-30px}.tip-ball{color:var(--lime);font-size:12px}.sidebar-tip strong{font-size:12px;display:inline;margin-left:5px}.sidebar-tip p{font-size:12px;color:rgba(255,255,255,.65);line-height:1.5;margin:9px 0}.sidebar-tip button{border:0;background:none;color:var(--lime);font-size:11px;padding:0}.logout{border:0;background:none;color:#78908c;text-align:left;padding:18px 11px 0;font-size:12px}.main{min-width:0}.topbar{height:86px;background:rgba(247,251,250,.92);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,58px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(217,230,227,.7)}.top-title span,.top-title strong{display:block}.top-title span{font-size:11px;color:var(--muted);margin-bottom:5px}.top-title strong{font-size:17px}.top-actions{display:flex;gap:10px}.icon-button,.quick-add,.menu-button{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:39px}.icon-button{width:40px;position:relative}.icon-button span{position:absolute;width:6px;height:6px;border-radius:50%;background:#f07867;right:9px;top:7px}.quick-add{padding:0 16px;background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700;font-size:12px}.menu-button{display:none;width:40px}.view{display:none;padding:34px clamp(24px,4vw,58px) 70px;max-width:1500px;margin:0 auto}.view.active{display:block;animation:viewIn .35s ease both}@keyframes viewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.hero-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,.8fr);gap:18px}.court-card{min-height:355px;background:var(--green);color:#fff;border-radius:18px;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;position:relative}.court-copy{padding:42px clamp(30px,4vw,55px);position:relative;z-index:2}.court-copy h1{font-family:var(--display);font-size:clamp(34px,3.5vw,52px);line-height:1.2;letter-spacing:-.04em;margin:17px 0 14px}.court-copy p{font-size:13px;line-height:1.75;color:rgba(255,255,255,.7);max-width:440px}.light-button{margin-top:13px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:700}.light-button span{color:var(--lime);margin-left:16px}.mini-court{position:relative;border-left:1px solid rgba(255,255,255,.24);margin:24px 24px 24px 0;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.025);overflow:hidden}.mini-court:before{content:"";position:absolute;inset:0 0 0 52%;border-left:1px solid rgba(255,255,255,.24)}.court-net{position:absolute;left:0;right:0;top:51%;border-top:2px dashed rgba(255,255,255,.35)}.court-service{position:absolute;left:23%;right:23%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.24);border-right:1px solid rgba(255,255,255,.24)}.court-center{position:absolute;height:1px;background:rgba(255,255,255,.24);left:23%;right:23%;top:25%;box-shadow:0 176px 0 rgba(255,255,255,.24)}.shot-path{position:absolute;width:160px;height:170px;left:21%;bottom:13%;border-top:2px dashed var(--lime);border-radius:50%;transform:rotate(-28deg)}.shot-path i,.shot-path b{position:absolute;border-radius:50%;background:var(--lime)}.shot-path i{width:9px;height:9px;right:-2px;top:-5px;box-shadow:0 0 0 5px rgba(217,240,91,.12)}.shot-path b{width:6px;height:6px;left:0;top:-4px}.court-player,.court-target{position:absolute;font-size:9px;color:rgba(255,255,255,.6)}.court-player{left:15%;bottom:8%}.court-target{right:17%;top:9%}.next-card{border:1px solid var(--line);border-radius:18px;padding:27px;background:#fff}.card-label{display:flex;justify-content:space-between}.card-label span{font-size:13px;font-weight:800}.card-label small{font-size:10px;color:var(--muted)}.focus-ring{width:145px;height:145px;border-radius:50%;border:1px solid var(--line);margin:28px auto 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.focus-ring:before{content:"";position:absolute;inset:-7px;border:7px solid transparent;border-top-color:var(--lime);border-right-color:var(--lime);border-radius:50%;transform:rotate(22deg)}.focus-ring span{font-size:10px;color:var(--muted)}.focus-ring strong{text-align:center;font-family:var(--display);font-size:26px;line-height:1.15;margin-top:5px}.next-card p{font-size:12px;line-height:1.7;color:var(--muted)}.next-card p strong{color:var(--ink)}.micro-progress{height:4px;background:#e8efed;border-radius:4px;margin-top:18px}.micro-progress span{display:block;height:100%;background:var(--green-2);border-radius:4px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:24px 0}.stats-strip>div{padding:0 25px;border-right:1px solid var(--line);position:relative}.stats-strip>div:last-child{border:0}.stats-strip span,.stats-strip strong,.stats-strip em{display:block}.stats-strip span{font-size:11px;color:var(--muted);margin-bottom:8px}.stats-strip strong{font-family:var(--data);font-size:28px;letter-spacing:-.03em}.stats-strip strong small{font-family:var(--body);font-size:10px;font-weight:600;color:var(--muted)}.stats-strip em{font-style:normal;font-size:10px;margin-top:5px}.up{color:var(--green-2)}.spark-stat svg{position:absolute;width:118px;height:40px;right:18px;bottom:9px;color:var(--green-2)}.spark-stat em{position:relative}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h2{font-family:var(--display);font-size:25px;margin:6px 0 0}.result-pill,.done-pill{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:800}.win{background:var(--mint);color:var(--green)}.match-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin:15px 0}.match-meta i{width:3px;height:3px;background:#a9bab7;border-radius:50%}.scoreboard{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0}.score-row{display:grid;grid-template-columns:12px 1fr repeat(3,34px);align-items:center;padding:8px 5px}.score-row strong{font-size:12px}.score-row b{font-family:var(--data);font-size:16px;text-align:center}.serve-dot{width:5px;height:5px;border-radius:50%;background:var(--green-2)}.score-row .set-win{color:var(--green);background:var(--mint);border-radius:4px;padding:5px 0}.match-insight{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:17px 0}.match-insight span{font-size:10px;color:var(--green);font-weight:700}.match-insight p{font-size:11px;line-height:1.65;margin:0;color:var(--muted)}.row-button{width:100%;border:0;background:var(--paper);padding:11px 13px;text-align:left;color:var(--ink);font-size:11px;font-weight:700;border-radius:7px}.row-button span{float:right;color:var(--green)}.more-button{border:0;background:none;letter-spacing:3px;color:var(--muted)}.video-still{height:178px;border-radius:10px;margin-top:17px;background:linear-gradient(155deg,#b9d3ce,#6e9b94);position:relative;overflow:hidden}.video-still:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-43%;height:70%;border:2px solid rgba(255,255,255,.42);transform:perspective(180px) rotateX(36deg)}.player-silhouette{position:absolute;left:56%;top:22%;width:80px;height:120px;z-index:2}.player-silhouette span{position:absolute;display:block;background:#244841}.player-silhouette .head{width:20px;height:20px;border-radius:50%;left:26px}.player-silhouette .body{height:58px;width:20px;left:25px;top:18px;transform:rotate(9deg);border-radius:10px}.player-silhouette .arm{width:56px;height:9px;left:-7px;top:39px;transform:rotate(-28deg);border-radius:8px}.player-silhouette .racket{width:2px;height:60px;left:3px;top:16px;transform:rotate(35deg);background:#e9f4f1}.player-silhouette .racket:after{content:"";position:absolute;width:24px;height:33px;border:2px solid #e9f4f1;border-radius:50%;left:-12px;top:-28px}.pose-line{position:absolute;z-index:3;background:var(--lime);height:2px;transform-origin:left}.pose-line--1{width:85px;left:50%;top:49%;transform:rotate(-25deg)}.pose-line--2{width:70px;left:62%;top:36%;transform:rotate(70deg)}.play-button{position:absolute;left:20px;bottom:18px;width:37px;height:37px;border:0;background:#fff;border-radius:50%;color:var(--green);z-index:4}.frame-time,.frame-tag{position:absolute;z-index:4;font-size:9px;color:#fff}.frame-time{right:12px;bottom:12px;background:rgba(0,0,0,.45);padding:4px 6px;border-radius:4px}.frame-tag{left:15px;top:13px;background:#e66f5e;padding:5px 8px;border-radius:4px}.analysis-summary{display:flex;align-items:center;gap:10px;margin-top:15px}.level-icon{width:29px;height:29px;border-radius:50%;background:#fff0ec;color:#d75f4e;display:grid;place-items:center;font-weight:900}.analysis-summary p{margin:0;flex:1}.analysis-summary p strong,.analysis-summary p span{display:block}.analysis-summary p strong{font-size:11px}.analysis-summary p span{font-size:9px;color:var(--muted);margin-top:3px}.analysis-summary button{border:0;background:none;color:var(--green);font-size:10px;font-weight:700}.progress-section{margin-top:40px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.section-title h2{font-family:var(--display);font-size:29px;margin:7px 0 0}.outline-button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 14px;font-size:11px;color:var(--ink)}.progress-table{background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px 25px}.progress-row{display:grid;grid-template-columns:135px minmax(150px,1fr) 100px 60px;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);font-size:11px}.progress-row:last-child{border:0}.progress-row>span{font-weight:700}.bar{height:7px;background:#e9efed;border-radius:5px;position:relative}.bar i{position:absolute;display:block;height:100%;background:var(--green-2);border-radius:5px}.bar b{position:absolute;width:2px;height:15px;background:#9aaba8;top:-4px}.bar.reverse i{background:#85cbbf}.progress-row strong{font-family:var(--data);font-size:13px}.progress-row em{font-style:normal;color:var(--green);font-weight:800;text-align:right}
.page-intro{padding:18px 0 30px}.page-intro h1{font-family:var(--display);font-size:clamp(35px,4vw,52px);letter-spacing:-.045em;margin:10px 0}.page-intro p{color:var(--muted);font-size:13px}.record-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.form-panel h2,.feeling-panel h2{font-family:var(--display);font-size:27px;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.field select{appearance:none}.score-input-head{display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:18px}.score-input-head h3{font-size:14px}.score-input-head span{font-size:10px;color:var(--muted)}.set-input{display:grid;grid-template-columns:1fr 62px 20px 62px;align-items:center;gap:8px;margin:10px 0;font-size:12px}.set-input input{text-align:center;border:1px solid var(--line);border-radius:8px;padding:10px;width:62px}.set-input i{text-align:center;color:var(--muted)}.feeling-panel>p{font-size:12px;color:var(--muted)}.satisfaction{text-align:center;margin:36px 0 22px}.satisfaction strong{font-family:var(--data);font-size:58px;color:var(--green)}.satisfaction span{color:var(--muted)}.range{width:100%;accent-color:var(--green)}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin:8px 0 30px}.note-field textarea{min-height:115px;resize:vertical;line-height:1.7}.page-intro--row{display:flex;justify-content:space-between;align-items:center}.quota{background:var(--mint);color:var(--green);padding:12px 16px;border-radius:9px;font-size:11px}.quota strong{font-family:var(--data);font-size:18px}.upload-zone{border:1.5px dashed #9ec3bc;border-radius:15px;background:rgba(255,255,255,.6);text-align:center;padding:42px 20px;transition:.2s}.upload-zone.dragging{background:var(--mint);border-color:var(--green);transform:scale(.995)}.upload-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);margin:0 auto 14px;font-size:23px}.upload-zone h2{font-family:var(--display);margin:0 0 7px}.upload-zone p,.upload-zone small{color:var(--muted);font-size:11px}.upload-zone button{border:0;background:none;color:var(--green);font-weight:700}.analysis-demo{margin-top:22px}.done-pill{background:var(--mint);color:var(--green)}.frames{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.frame-card{border:1px solid var(--line);border-radius:11px;padding:10px}.frame-visual{height:180px;border-radius:7px;background:#b9d0cb;position:relative;overflow:hidden}.frame-visual:after{content:"";position:absolute;left:-20%;right:-20%;height:80px;border:2px solid rgba(255,255,255,.5);bottom:-30px;transform:perspective(160px) rotateX(35deg)}.frame-visual--2{background:#9dbbb5}.frame-visual--3{background:#bddfd7}.frame-number{position:absolute;top:8px;left:9px;background:rgba(255,255,255,.85);padding:4px 6px;font:700 10px var(--data);z-index:3}.figure{position:absolute;left:48%;top:24%;width:24px;height:85px;background:#345b54;border-radius:13px 13px 5px 5px;z-index:2;transform:rotate(8deg)}.figure:before{content:"";width:20px;height:20px;border-radius:50%;background:#345b54;position:absolute;top:-18px;left:2px}.figure:after{content:"";width:73px;height:8px;background:#345b54;border-radius:5px;position:absolute;top:24px;left:-28px;transform:rotate(-20deg)}.f2{transform:rotate(16deg);left:52%}.f3{transform:rotate(-2deg);left:45%}.angle{position:absolute;width:70px;height:70px;border-top:2px solid #ef765f;border-radius:50%;left:37%;top:27%;z-index:4}.frame-visual--3 .angle{border-color:var(--lime)}.frame-card>span{display:block;color:var(--green);font-size:9px;margin:10px 2px 5px}.frame-card h3{font-size:13px;margin:0 2px}.frame-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 2px}.frame-card--good{border-color:#a8d7ce;background:#fbfffd}.practice-callout{margin-top:20px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px}.practice-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);font-size:20px}.practice-callout span,.practice-callout strong,.practice-callout p{display:block}.practice-callout span{font-size:9px;color:var(--green)}.practice-callout strong{font-size:13px;margin-top:3px}.practice-callout p{font-size:10px;color:var(--muted);margin:4px 0}.practice-callout button{border:0;background:var(--ink);color:#fff;padding:11px 14px;border-radius:8px;font-size:10px}.placeholder-view{min-height:calc(100vh - 86px);display:none!important;place-items:center}.placeholder-view.active{display:grid!important}.placeholder-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:55px;box-shadow:var(--shadow)}.placeholder-card>span{display:grid;place-items:center;width:60px;height:60px;margin:0 auto;background:var(--mint);border-radius:50%;font-size:25px;color:var(--green)}.placeholder-card h1{font-family:var(--display);font-size:38px;margin:20px 0 8px}.placeholder-card p{color:var(--muted);margin-bottom:25px}.modal{border:0;border-radius:16px;padding:0;box-shadow:0 30px 90px rgba(10,45,41,.25);width:min(90vw,440px)}.modal::backdrop{background:rgba(15,48,44,.48);backdrop-filter:blur(3px)}.modal form{padding:35px;position:relative}.modal h2{font-family:var(--display);font-size:30px;margin:10px 0}.modal p{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:25px}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:24px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);padding:12px 18px;border-radius:9px;background:var(--ink);color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.hero-grid{grid-template-columns:1fr}.next-card{display:grid;grid-template-columns:auto 160px 1fr;align-items:center;gap:20px}.next-card .focus-ring{grid-column:2;grid-row:1/3}.next-card p{grid-column:3}.next-card .micro-progress{grid-column:3}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div:nth-child(-n+2){padding-bottom:20px;border-bottom:1px solid var(--line)}.stats-strip>div:nth-child(n+3){padding-top:20px}.section-grid{grid-template-columns:1fr}.record-layout{grid-template-columns:1fr}.login-page{grid-template-columns:1fr 1fr}.login-brand{padding:40px}.login-copy h1{font-size:48px}.frames{grid-template-columns:1fr 1fr}.frame-card:last-child{grid-column:1/-1}.frame-card:last-child .frame-visual{height:220px}}
@media(max-width:760px){.login-page{display:block;background:linear-gradient(180deg,var(--green) 0 25%,#fff 25%)}.login-brand{display:none}.login-panel{min-height:100vh;padding:30px 22px}.login-card{background:#fff;border-radius:20px;padding:30px 24px;box-shadow:var(--shadow)}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:800;margin-bottom:34px}.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;transform:translateX(-102%);width:270px;transition:.25s;box-shadow:20px 0 60px rgba(14,52,47,.16)}.sidebar.open{transform:none}.sidebar-close{display:block;border:0;background:none;font-size:24px;color:var(--muted)}.menu-button{display:block}.topbar{padding:0 16px;height:72px}.top-title span{display:none}.top-title strong{font-size:14px}.icon-button{display:none}.view{padding:24px 16px 50px}.court-card{grid-template-columns:1fr;min-height:480px}.court-copy{padding:32px 27px}.mini-court{position:absolute;width:44%;height:44%;right:0;bottom:0;margin:0 18px 18px 0}.next-card{display:block}.next-card .focus-ring{margin:26px auto}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip>div{padding:18px!important;border-bottom:1px solid var(--line)}.stats-strip>div:nth-child(2n){border-right:0}.spark-stat svg{display:none}.progress-row{grid-template-columns:1fr 70px 50px;gap:10px}.progress-row .bar{grid-column:1/-1;grid-row:2}.progress-row em{grid-column:3;grid-row:1}.progress-row strong{grid-column:2;grid-row:1}.progress-table{padding:6px 16px}.form-grid{grid-template-columns:1fr}.frames{grid-template-columns:1fr}.frame-card:last-child{grid-column:auto}.practice-callout{grid-template-columns:42px 1fr}.practice-callout button{grid-column:1/-1}.page-intro--row{display:block}.quota{display:inline-block;margin-top:12px}.set-input{grid-template-columns:1fr 54px 15px 54px}.set-input input{width:54px}.section-title{align-items:flex-start}.outline-button{white-space:nowrap}.placeholder-card{padding:40px 22px}.video-still{height:210px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.form-error{min-height:18px;margin:-8px 0 10px;color:#c94f42;font-size:11px;line-height:1.5}.empty-dashboard{min-height:calc(100vh - 165px);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);align-items:center;gap:clamp(35px,7vw,100px);padding:25px clamp(10px,4vw,55px)}.empty-court{height:460px;max-width:470px;border:1px solid #a8ccc5;background:linear-gradient(145deg,#e7f5f1,#f9fcfb);position:relative;transform:perspective(850px) rotateY(8deg);box-shadow:var(--shadow)}.empty-court:before{content:"";position:absolute;inset:0 50% 0 0;border-right:1px solid #a8ccc5}.empty-court:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed #8db7af}.empty-court span{position:absolute;left:22%;right:22%;top:0;bottom:0;border-left:1px solid #a8ccc5;border-right:1px solid #a8ccc5}.empty-court i{position:absolute;left:22%;right:22%;top:25%;height:50%;border-top:1px solid #a8ccc5;border-bottom:1px solid #a8ccc5}.empty-court b{position:absolute;width:23px;height:23px;border-radius:50%;background:var(--lime);left:15%;bottom:14%;box-shadow:0 0 0 8px rgba(217,240,91,.2)}.empty-copy h1{font-family:var(--display);font-size:clamp(42px,5vw,67px);line-height:1.2;letter-spacing:-.05em;margin:15px 0}.empty-copy p{max-width:490px;color:var(--muted);line-height:1.8}.empty-actions{display:flex;gap:10px;margin-top:25px}.user-dashboard{padding-top:22px}.real-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.real-stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.real-stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:9px}.real-stats strong{font:700 36px var(--data)}.real-stats small{color:var(--muted);margin-left:4px}.real-match-list{display:grid;gap:12px}.real-match-card{display:grid;grid-template-columns:1fr auto;gap:16px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px 23px}.real-match-card>div:first-child>span{font-size:10px;color:var(--green)}.real-match-card h3{font-family:var(--display);font-size:22px;margin:6px 0 2px}.real-match-card small{color:var(--muted);font-size:10px}.real-match-card>p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:13px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.real-score{text-align:right}.real-score>*{display:block}.real-score b{display:inline-block;background:#eef2f1;color:var(--muted);border-radius:20px;padding:4px 9px;font-size:10px}.real-score b.won{background:var(--mint);color:var(--green)}.real-score strong{font:700 17px var(--data);margin:7px 0}.real-score span{font-size:10px;color:var(--muted)}.list-empty{text-align:center;padding:65px;background:#fff;border:1px dashed #a8ccc5;border-radius:14px}.list-empty p{color:var(--muted);margin:0 0 18px}.profile-avatar{width:70px;height:70px;font-size:22px}.video-library{margin-top:28px}.video-item{display:grid;grid-template-columns:45px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;margin-top:10px}.video-file-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:12px}.video-item strong,.video-item span{display:block}.video-item strong{font-size:13px}.video-item span,.video-item small{font-size:10px;color:var(--muted);margin-top:4px}.modal form{max-height:90vh;overflow:auto}
@media(max-width:760px){.empty-dashboard{grid-template-columns:1fr;min-height:auto;padding:12px 0}.empty-court{height:260px;width:100%;transform:none}.empty-copy h1{font-size:40px}.empty-actions{flex-direction:column;align-items:stretch}.real-stats{grid-template-columns:1fr}.real-match-card{grid-template-columns:1fr}.real-score{text-align:left}.video-item{grid-template-columns:42px 1fr}.video-item small{grid-column:2}.login-copy{margin-top:auto}.login-card{margin-top:70px}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.choice-field,.emoji-rating{border:0;padding:0;margin:7px 0 22px}.choice-field legend{font-size:13px;font-weight:700;margin-bottom:9px}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;padding:4px;background:var(--paper)}.segmented input,.emoji-rating input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:block;text-align:center;padding:10px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:700}.segmented input:checked+span{background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(20,73,66,.09)}.emoji-rating{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:26px}.emoji-rating span{display:flex;min-height:90px;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:30px;filter:grayscale(.7);transition:.18s}.emoji-rating small{font-size:9px;color:var(--muted);margin-top:7px}.emoji-rating input:checked+span{border-color:var(--green-2);background:var(--mint);filter:none;transform:translateY(-2px);box-shadow:0 8px 20px rgba(8,127,115,.12)}.emoji-rating input:focus-visible+span,.segmented input:focus-visible+span{outline:3px solid rgba(19,163,143,.28);outline-offset:2px}.match-video-field{border-top:1px solid var(--line);padding-top:18px}.match-video-field input{padding:10px}.match-video-field small{display:block;color:var(--muted);font-size:9px;margin-top:7px;line-height:1.5}.real-match-card{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;position:relative}.real-match-card:hover{border-color:#9bc9c0;box-shadow:0 10px 25px rgba(20,73,66,.07);transform:translateY(-1px)}.match-emoji{font-size:24px!important}.card-arrow{position:absolute;right:22px;bottom:17px;color:var(--green);font-size:9px;font-style:normal}.next-match-banner{width:100%;display:grid;grid-template-columns:110px 1fr 1fr auto;align-items:center;gap:18px;margin-top:20px;padding:19px 22px;border:0;border-radius:13px;background:var(--ink);color:#fff;text-align:left}.next-match-banner>span{color:var(--lime);font-size:10px}.next-match-banner strong{font-family:var(--display);font-size:19px}.next-match-banner small{color:rgba(255,255,255,.62)}.next-match-banner b{color:var(--lime);font-size:10px}.schedule-form{margin-bottom:20px}.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-head h2{font-family:var(--display);font-size:26px;margin:0}.calendar-head button{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week span{text-align:center;color:var(--muted);font-size:10px;padding:9px}.calendar-day{min-height:94px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:10px;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day b{font:700 12px var(--data)}.calendar-day.today b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;margin:-6px}.calendar-day em{position:absolute;display:flex;gap:5px;left:10px;bottom:10px}.recorded-dot,.scheduled-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green)}.scheduled-dot{background:#fff;border:2px solid #c2df37}.calendar-day .scheduled-dot{background:var(--lime);border-color:var(--lime)}.calendar-legend{display:flex;gap:22px;justify-content:flex-end;margin-top:17px;color:var(--muted);font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:6px}.goals-layout{display:grid;grid-template-columns:minmax(270px,.65fr) minmax(360px,1.35fr);gap:20px}.goal-form h2{font-family:var(--display);font-size:27px;margin:0 0 24px}.goal-list{display:grid;gap:10px}.goal-item{display:grid;grid-template-columns:35px 1fr 30px;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.goal-item label{width:25px;height:25px}.goal-item label input{position:absolute;opacity:0}.goal-item label span{display:block;width:24px;height:24px;border-radius:50%;border:1px solid #9cb9b3}.goal-item label input:checked+span{background:var(--green);border-color:var(--green);position:relative}.goal-item label input:checked+span:after{content:"✓";color:#fff;position:absolute;inset:0;display:grid;place-items:center;font-size:12px}.goal-item strong,.goal-item small{display:block}.goal-item strong{font-size:13px}.goal-item small{font-size:9px;color:var(--muted);margin-top:5px}.goal-item>button{border:0;background:none;color:#9aaba8;font-size:20px}.goal-item.completed strong{text-decoration:line-through;color:#92a39f}.goal-item.completed{background:#f4f8f7}.match-detail-modal{width:min(92vw,680px)}.match-detail{padding:36px;position:relative}.match-detail h2{font-family:var(--display);font-size:32px;margin:9px 0}.detail-meta{font-size:11px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--line)}.detail-score{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.detail-score span{padding:5px 10px;border-radius:20px;background:var(--mint);color:var(--green);font-size:11px;font-weight:800}.detail-score strong{font:700 25px var(--data)}.detail-feeling{display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-radius:10px;padding:13px 16px}.detail-feeling span{font-size:11px;color:var(--muted)}.detail-feeling strong{font-size:28px}.detail-note{margin-top:15px;color:var(--muted);font-size:11px;line-height:1.7;border-left:2px solid var(--lime);padding-left:12px}.detail-video{margin-top:24px}.detail-video h3{font-size:13px}.detail-video video{width:100%;max-height:340px;background:#10211e;border-radius:10px}.analysis-state{display:flex;gap:12px;align-items:center;margin-top:12px;padding:13px;background:var(--paper);border-radius:9px}.analysis-state i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--lime);font:800 10px var(--body);font-style:normal}.analysis-state strong,.analysis-state span{display:block}.analysis-state strong{font-size:11px}.analysis-state span{font-size:9px;color:var(--muted);margin-top:3px}.detail-no-video{margin-top:20px;text-align:center;padding:25px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px}
@media(max-width:760px){.emoji-rating{grid-template-columns:1fr 1fr}.next-match-banner{grid-template-columns:1fr}.next-match-banner b{display:none}.page-intro--row{display:block}.page-intro--row>.primary-button{margin-top:15px}.calendar-shell{padding:14px}.calendar-day{min-height:58px;padding:7px}.calendar-day em{left:7px;bottom:7px}.calendar-week span{padding:6px}.goals-layout{grid-template-columns:1fr}.match-detail{padding:28px 20px}.card-arrow{position:static;grid-column:1/-1}.real-match-card{padding-bottom:18px}}
.calendar-layout{display:grid;grid-template-columns:minmax(560px,1fr) 290px;gap:18px;align-items:start}.calendar-grid{border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:8px;overflow:hidden}.calendar-day{border-top:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n+6),.calendar-day:nth-child(7n){background:#fbfdfc}.calendar-day.empty{background:#f6faf9}.calendar-day:hover:not(.empty){background:var(--mint)}.calendar-side{background:var(--ink);color:#fff;border-radius:16px;padding:25px;min-height:330px}.calendar-side h2{font-family:var(--display);font-size:24px;margin:7px 0 20px}.upcoming-item{padding:14px 0;border-top:1px solid rgba(255,255,255,.13)}.upcoming-item time,.upcoming-item strong,.upcoming-item span{display:block}.upcoming-item time{font-size:9px;color:var(--lime)}.upcoming-item strong{font-size:12px;margin:6px 0}.upcoming-item span{font-size:9px;color:rgba(255,255,255,.58)}.calendar-empty{font-size:11px;color:rgba(255,255,255,.6);line-height:1.7;border-top:1px solid rgba(255,255,255,.13);padding-top:18px}.schedule-modal form{padding:35px}.schedule-modal h2{font-family:var(--display);font-size:30px;margin:9px 0}.schedule-modal p{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 22px}
@media(max-width:1000px){.calendar-layout{grid-template-columns:1fr}.calendar-side{min-height:auto}}
@media(max-width:760px){.calendar-layout{display:block}.calendar-side{margin-top:15px}.calendar-day{min-height:62px}.calendar-day b{font-size:10px}.calendar-legend{justify-content:flex-start;flex-wrap:wrap}}
.real-match-card{padding-bottom:43px}.real-score .match-emoji{margin-top:10px;margin-bottom:14px}.set-block{border-bottom:1px solid var(--line);padding:6px 0 12px}.set-block:last-of-type{border-bottom:0}.tiebreak-toggle{display:inline-flex;align-items:center;gap:7px;margin-left:calc(100% - 152px);color:var(--green);font-size:10px;cursor:pointer}.tiebreak-toggle input{accent-color:var(--green)}.tiebreak-inputs{grid-template-columns:1fr 62px 20px 62px;align-items:center;gap:8px;margin:10px 0;font-size:11px;color:var(--muted)}.tiebreak-inputs:not([hidden]){display:grid}.tiebreak-inputs input{width:62px;text-align:center;border:1px solid #b8d8d2;background:var(--mint);border-radius:8px;padding:9px}.tiebreak-inputs i{text-align:center;font-style:normal}.score-error{margin-top:15px;padding:14px 16px;background:#fff0ed;border-left:3px solid #d55f50;border-radius:8px}.score-error strong,.score-error span{display:block}.score-error strong{color:#b84539;font-size:13px}.score-error span{color:#795955;font-size:10px;line-height:1.6;margin-top:4px}.trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trend-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px}.trend-head{display:flex;justify-content:space-between;align-items:flex-start}.trend-head span{font-size:9px;color:var(--green);letter-spacing:.12em}.trend-head h2{font-family:var(--display);font-size:23px;margin:6px 0}.trend-head>strong{font:700 30px var(--data);color:var(--green)}.chart{height:270px;display:grid;grid-template-columns:45px 1fr;margin-top:20px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font:9px var(--data);padding:0 8px 27px 0;text-align:right}.chart-plot{display:flex;align-items:stretch;gap:8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(to bottom,transparent 49.5%,var(--line) 50%,transparent 50.5%)}.chart-column{flex:1;min-width:28px;display:grid;grid-template-rows:20px 1fr 25px;text-align:center;position:relative}.chart-value{font:9px var(--data);color:var(--muted)}.chart-track{display:flex;align-items:end;justify-content:center;height:100%}.chart-track i{display:block;width:min(28px,70%);border-radius:5px 5px 0 0;min-height:2px;transition:height .45s ease}.satisfaction-bar{background:#91d3c6}.win-bar{background:var(--green)}.chart-column>span{font-size:9px;color:var(--muted);padding-top:8px}.trend-empty{text-align:center;padding:60px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.calendar-day{appearance:none;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.calendar-day.empty{display:block}.video-item>button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:8px;padding:9px 11px;font-size:10px;font-weight:700}.analysis-state{grid-template-columns:34px 1fr auto}.analysis-state>button{border:0;background:var(--green);color:#fff;padding:9px 12px;border-radius:7px;font-size:9px;font-weight:700}.analysis-modal{width:min(94vw,900px)}.video-analysis{padding:35px;position:relative}.video-analysis h2{font-family:var(--display);font-size:30px;margin:9px 0 20px}.analysis-progress{padding:35px;background:var(--paper);border-radius:10px;text-align:center;color:var(--muted);font-size:12px}.analysis-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.analysis-facts>div{background:var(--paper);border-radius:9px;padding:14px}.analysis-facts span,.analysis-facts strong{display:block}.analysis-facts span{font-size:9px;color:var(--muted)}.analysis-facts strong{font:700 17px var(--data);margin-top:6px}.extracted-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.extracted-frames figure{margin:0;background:var(--ink);border-radius:9px;overflow:hidden}.extracted-frames img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.extracted-frames figcaption{display:flex;justify-content:space-between;padding:8px 10px;color:#fff;font-size:9px}.extracted-frames figcaption b{color:var(--lime)}.analysis-honesty{font-size:9px;line-height:1.65;color:var(--muted);margin:16px 0 0}.day-modal{width:min(94vw,760px)}.day-detail{padding:35px;position:relative}.day-detail h2{font-family:var(--display);font-size:30px;margin:8px 0 22px}.day-section>h3{font-size:11px;color:var(--muted);margin:18px 0 9px}.day-schedule{background:var(--ink);color:#fff;border-radius:10px;padding:15px;margin-top:8px}.day-schedule strong,.day-schedule span{display:block}.day-schedule strong{font-size:12px}.day-schedule span{font-size:9px;color:rgba(255,255,255,.58);margin-top:5px}.day-empty{text-align:center;padding:40px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px}
@media(max-width:900px){.trend-grid{grid-template-columns:1fr}}
@media(max-width:760px){.real-match-card{padding-bottom:20px}.real-score .match-emoji{margin-bottom:8px}.tiebreak-toggle{margin-left:0}.tiebreak-inputs{grid-template-columns:1fr 54px 15px 54px}.tiebreak-inputs input{width:54px}.analysis-facts,.extracted-frames{grid-template-columns:1fr}.analysis-state{grid-template-columns:34px 1fr}.analysis-state>button{grid-column:1/-1}.chart{height:230px}.video-analysis,.day-detail{padding:28px 18px}}
.cancel-edit{width:100%;border:0;background:transparent;color:var(--muted);font-size:11px;padding:13px;margin-top:5px}.back-to-day{border:0;background:var(--mint);color:var(--green);border-radius:7px;padding:8px 10px;font-size:10px;font-weight:700;margin:0 0 18px}.match-detail-actions{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.match-detail-actions button{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px;font-size:11px;font-weight:700;color:var(--green)}.match-detail-actions .danger-button{color:#bd4e43;border-color:#efd0cc;background:#fff9f8}.smart-guide{display:grid;grid-template-columns:auto repeat(5,1fr);align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:14px;padding:20px 23px;margin-bottom:20px}.smart-guide>strong{font-family:var(--display);font-size:21px;color:var(--lime)}.smart-guide>span{font-size:10px;color:rgba(255,255,255,.65)}.smart-guide>span b{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:5px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--lime)}.smart-guide p{grid-column:1/-1;margin:3px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:rgba(255,255,255,.58)}.goal-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.goal-columns>div{min-width:0}.goal-columns h3,.completed-exercises h3{font-family:var(--display);font-size:19px;margin:0 0 10px}.list-empty.compact{padding:25px 12px}.exercise-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(400px,1.35fr);gap:20px}.exercise-form h2{font-family:var(--display);font-size:27px;margin:0 0 24px}.exercise-list{display:grid;gap:10px}.exercise-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px}.exercise-item label{width:24px;height:24px}.exercise-item label input{position:absolute;opacity:0}.exercise-item label span{display:block;width:24px;height:24px;border:1px solid #9cb9b3;border-radius:50%}.exercise-item label input:checked+span{background:var(--green);border-color:var(--green);position:relative}.exercise-item label input:checked+span:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px}.exercise-item strong,.exercise-item small{display:block}.exercise-item strong{font-size:12px;line-height:1.5}.exercise-item small{font-size:9px;color:var(--muted);margin-top:4px}.exercise-item>button{border:0;background:transparent;color:var(--muted);font-size:10px}.exercise-item.completed{background:#f4f8f7}.exercise-item.completed strong{text-decoration:line-through;color:#91a19e}.completed-exercises{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:1050px){.smart-guide{grid-template-columns:repeat(3,1fr)}.smart-guide>strong{grid-column:1/-1}.exercise-layout{grid-template-columns:1fr}.goal-columns{grid-template-columns:1fr}}
@media(max-width:760px){.smart-guide{grid-template-columns:1fr 1fr}.smart-guide>strong{grid-column:1/-1}.goals-layout{display:block}.goal-form{margin-bottom:18px}.match-detail-actions{flex-direction:column}}
.real-stats{grid-template-columns:repeat(4,1fr)}
.example-toggle{width:100%;margin-top:10px;border:1px solid #acd1ca;background:#f7fbfa;color:var(--green);border-radius:9px;padding:11px 14px;font-size:10px;font-weight:800;cursor:pointer}.example-toggle:hover{background:var(--mint);border-color:#8cc3b9}.exercise-examples{margin-top:12px;background:var(--ink);color:#fff;border-radius:13px;padding:18px}.examples-head{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.13)}.examples-head strong{font-family:var(--display);font-size:19px}.examples-head span{color:rgba(255,255,255,.56);font-size:9px}.exercise-examples article{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.11);font-size:11px}.exercise-examples article:last-child{border-bottom:0;padding-bottom:0}.exercise-examples article button{border:1px solid rgba(217,240,91,.42);background:rgba(217,240,91,.1);color:var(--lime);border-radius:7px;padding:7px 12px;font-size:9px;font-weight:800;cursor:pointer}.exercise-examples article button:hover{background:var(--lime);color:var(--ink)}
.confirm-modal{width:min(90vw,440px);padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(8,39,35,.28)}.confirm-modal::backdrop{background:rgba(7,35,31,.55);backdrop-filter:blur(5px)}.confirm-dialog{position:relative;padding:34px 34px 30px;text-align:center}.confirm-mark{width:54px;height:54px;margin:0 auto 17px;display:grid;place-items:center;border-radius:50%;background:#fff0ed;color:#c65346;border:1px solid #f0cec9;font:800 24px var(--display)}.confirm-dialog h2{font-family:var(--display);font-size:28px;line-height:1.2;margin:8px 0 10px}.confirm-dialog p{min-height:38px;margin:0 auto;color:var(--muted);font-size:11px;line-height:1.7;max-width:325px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.confirm-actions button{border-radius:9px;padding:12px;border:1px solid var(--line);font-size:11px;font-weight:800;cursor:pointer}.confirm-actions button:first-child{background:#fff;color:var(--green)}.confirm-actions button:last-child{background:#c65346;border-color:#c65346;color:#fff}.confirm-actions button:first-child:hover{background:var(--paper)}.confirm-actions button:last-child:hover{background:#ad4338}
@media(max-width:1050px){.real-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.real-stats{grid-template-columns:1fr 1fr}.real-stats article{padding:18px}.real-stats strong{font-size:29px}.examples-head{display:block}.examples-head span{display:block;margin-top:5px}.confirm-dialog{padding:29px 22px 24px}}
.match-detail .back-to-day{display:block;margin:0 0 28px}.match-detail>.eyebrow{display:inline-block;margin-bottom:2px}.exercise-title-field>span{font-family:var(--display);font-size:24px;color:var(--ink);margin-bottom:14px}.exercise-form{padding-top:29px}
.motion-layout{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(480px,1.28fr);gap:20px;align-items:start}.motion-upload{position:sticky;top:105px;padding:25px}.motion-step{display:flex;align-items:center;gap:10px;margin:4px 0 12px;color:var(--ink);font-size:11px;font-weight:800}.motion-step b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--lime);font:800 9px var(--data)}.movement-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;padding:0;margin:0 0 25px}.movement-choice input{position:absolute;opacity:0}.movement-choice span{display:block;height:100%;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}.movement-choice strong,.movement-choice small{display:block}.movement-choice strong{font-size:12px}.movement-choice small{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.5}.movement-choice input:checked+span{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}.movement-choice input:focus-visible+span{outline:3px solid rgba(19,163,143,.25);outline-offset:2px}.motion-drop{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #90bdb5;border-radius:13px;background:#f8fcfb;padding:22px;cursor:pointer}.motion-drop input{position:absolute;opacity:0;pointer-events:none}.motion-camera{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--lime);font-size:14px;margin-bottom:11px}.motion-drop strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.motion-drop small{color:var(--muted);font-size:8px;line-height:1.6;margin-top:7px}.motion-drop:hover{background:var(--mint);border-color:var(--green)}#motionPreview{width:100%;max-height:240px;margin-top:12px;border-radius:10px;background:var(--ink)}.motion-upload>.primary-button{margin-top:13px}.motion-upload>.primary-button:disabled{opacity:.55;cursor:wait}.analysis-loading{margin-top:13px;display:grid;grid-template-columns:28px 1fr;gap:2px 10px;padding:13px;border-radius:9px;background:var(--mint)}.analysis-loading[hidden]{display:none}.analysis-loading i{grid-row:1/3;width:26px;height:26px;border:2px solid #a7d9cf;border-top-color:var(--green);border-radius:50%;animation:motion-spin .8s linear infinite}.analysis-loading strong{font-size:10px}.analysis-loading span{color:var(--muted);font-size:8px;line-height:1.5}.analysis-error{margin:10px 0 0;min-height:0}@keyframes motion-spin{to{transform:rotate(360deg)}}.analysis-empty{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #a9cbc5;border-radius:16px;background:rgba(255,255,255,.55);padding:35px}.analysis-empty>span{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-size:25px}.analysis-empty h2{font-family:var(--display);font-size:28px;margin:18px 0 6px}.analysis-empty p{max-width:370px;color:var(--muted);font-size:10px;line-height:1.7}.analysis-report{background:#fff;border:1px solid var(--line);border-radius:16px;padding:27px}.analysis-report header h2{font-family:var(--display);font-size:29px;line-height:1.3;margin:9px 0}.analysis-report header p{color:var(--muted);font-size:9px;line-height:1.7;margin:0}.motion-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.motion-frames figure{margin:0;background:var(--ink);border-radius:10px;overflow:hidden}.motion-frames img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.motion-frames figcaption{display:flex;justify-content:space-between;gap:5px;padding:9px;color:#fff;font-size:8px}.motion-frames figcaption span{color:var(--lime)}.motion-checks{display:grid;gap:9px;margin-top:22px}.motion-check{display:grid;grid-template-columns:39px 1fr;gap:12px;border:1px solid var(--line);border-radius:11px;padding:15px}.motion-check>i{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-weight:900;background:var(--mint);color:var(--green)}.motion-check.warn>i{background:#fff0ed;color:#c65346}.motion-check.unknown>i{background:#eef2f1;color:#758984}.motion-check span{font-size:8px;color:var(--green);font-weight:800}.motion-check.warn span{color:#c65346}.motion-check.unknown span{color:#758984}.motion-check h3{font-size:13px;margin:3px 0}.motion-check b{font:700 9px var(--data);color:var(--muted)}.motion-check p{font-size:9px;line-height:1.6;color:var(--muted);margin:6px 0 0}.analysis-plan-callout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:20px;padding:19px;background:var(--ink);color:#fff;border-radius:11px}.analysis-plan-callout span,.analysis-plan-callout strong,.analysis-plan-callout p{display:block}.analysis-plan-callout span{font-size:8px;color:var(--lime)}.analysis-plan-callout strong{font-size:12px;margin-top:4px}.analysis-plan-callout p{font-size:8px;color:rgba(255,255,255,.58);margin:5px 0 0}.analysis-plan-callout button{border:0;border-radius:8px;background:var(--lime);color:var(--ink);padding:11px 13px;font-size:9px;font-weight:900}.analysis-history{margin-top:20px}.analysis-history h3{font-family:var(--display);font-size:20px}.analysis-history>button{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:14px 16px;text-align:left}.analysis-history>button+button{border-top:0}.analysis-history>button:first-of-type{border-radius:10px 10px 0 0}.analysis-history>button:last-child{border-radius:0 0 10px 10px}.analysis-history>button:only-of-type{border-radius:10px}.analysis-history span{font-size:11px;font-weight:800}.analysis-history strong{font:9px var(--data);color:var(--muted)}.analysis-history i{font-size:8px;color:var(--green);font-style:normal}.plan-review-modal{width:min(92vw,620px)}.plan-review{padding:34px;position:relative}.plan-review h2{font-family:var(--display);font-size:29px;margin:9px 0}.plan-review>p{font-size:10px;color:var(--muted);margin:0 0 19px}.plan-review-list{display:grid;gap:8px;max-height:48vh;overflow:auto}.plan-choice{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.plan-choice--goal{background:var(--mint);border-color:#a8d4cb}.plan-choice input{width:17px;height:17px;accent-color:var(--green);margin-top:4px}.plan-choice span>*{display:block}.plan-choice b{font-size:8px;color:var(--green);margin-bottom:4px}.plan-choice strong{font-size:11px;line-height:1.55}.plan-choice small{font-size:8px;color:var(--muted);margin-top:4px}.plan-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.plan-review-actions>button{border:1px solid var(--line);border-radius:9px;padding:12px;font-size:10px;font-weight:800}.plan-review-actions>button:first-child{background:#fff;color:var(--muted)}
@media(max-width:1050px){.motion-layout{grid-template-columns:1fr}.motion-upload{position:static}.motion-result-column{min-width:0}}
@media(max-width:760px){.movement-choice,.motion-frames{grid-template-columns:1fr}.analysis-report{padding:20px 16px}.analysis-plan-callout{grid-template-columns:1fr}.analysis-plan-callout button{width:100%}.plan-review{padding:29px 19px}.plan-review-actions{grid-template-columns:1fr}.analysis-history>button{grid-template-columns:1fr auto}.analysis-history i{display:none}}
@media(prefers-reduced-motion:reduce){.analysis-loading i{animation:none}}
.player-selection{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.player-selection>p{margin:0 0 13px;color:var(--muted);font-size:9px;line-height:1.6}.player-candidates{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.player-candidate input{position:absolute;opacity:0}.player-candidate>span{display:block;overflow:hidden;border:2px solid transparent;border-radius:10px;background:var(--paper);cursor:pointer}.player-candidate img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.player-candidate strong,.player-candidate small{display:block;padding:0 10px}.player-candidate strong{font-size:10px;padding-top:9px}.player-candidate small{font-size:8px;color:var(--muted);padding-top:3px;padding-bottom:9px}.player-candidate input:checked+span{border-color:var(--green);background:var(--mint);box-shadow:0 8px 22px rgba(8,127,115,.12)}.player-candidate input:focus-visible+span{outline:3px solid rgba(19,163,143,.28);outline-offset:2px}.mistake-frames-title{font-family:var(--display);font-size:19px;margin:24px 0 -10px}.motion-frames figure{position:relative}.motion-frames figure.mistake:before,.motion-frames figure.reference:before{position:absolute;z-index:2;top:8px;left:8px;color:#fff;padding:4px 7px;border-radius:5px;font-size:7px;font-weight:800;letter-spacing:.08em}.motion-frames figure.mistake:before{content:"MOVEMENT FRAME";background:#c65346}.motion-frames figure.reference:before{content:"REFERENCE FRAME";background:var(--green)}
@media(max-width:760px){.player-candidates{grid-template-columns:1fr}}
.motion-layout.has-report{display:block;max-width:1220px;margin:0 auto}.motion-layout.has-report .motion-upload{display:none}.analysis-report--focus{padding:30px}.analysis-report--focus>header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.analysis-report--focus>header>div{max-width:760px}.new-analysis-button{flex:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);padding:10px 13px;font-size:9px;font-weight:800}.error-workbench{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.65fr);gap:16px;margin-top:25px}.error-video{position:relative;min-width:0;background:var(--ink);border-radius:13px;overflow:hidden}.error-video video{display:block;width:100%;height:min(58vw,610px);object-fit:contain;background:#071814}.video-moment-label{position:absolute;left:14px;top:13px;background:rgba(7,24,20,.78);backdrop-filter:blur(7px);color:var(--lime);border-radius:6px;padding:6px 9px;font-size:8px;font-weight:800}.error-checkpoints{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.13)}.error-checkpoint{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center;border:0;background:#102b26;color:#fff;text-align:left;padding:13px;cursor:pointer}.error-checkpoint:hover,.error-checkpoint.active{background:#19433b}.error-checkpoint.active{box-shadow:inset 0 -3px var(--lime)}.error-checkpoint>span{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:var(--lime);font:800 8px var(--data)}.error-checkpoint strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.error-checkpoint small{color:rgba(255,255,255,.55);font:8px var(--data)}.error-explanation{display:flex;flex-direction:column;align-items:flex-start;background:#f7faf9;border:1px solid var(--line);border-radius:13px;padding:25px}.error-number{font:800 9px var(--data);color:#c65346;letter-spacing:.08em}.error-explanation h3{font-family:var(--display);font-size:26px;line-height:1.25;margin:10px 0}.error-explanation>b{font:700 10px var(--data);color:var(--green)}.error-explanation>p{color:var(--muted);font-size:11px;line-height:1.8;margin:13px 0 20px}.open-mistake-image{border:0;background:transparent;color:var(--green);font-size:9px;font-weight:800;padding:0;text-decoration:underline;text-underline-offset:3px}.error-play-actions{width:100%;display:grid;gap:8px;margin-top:auto;padding-top:22px}.error-play-actions button{border:1px solid var(--green);border-radius:8px;background:#fff;color:var(--green);padding:11px;font-size:9px;font-weight:800}.error-play-actions button:first-child{background:var(--green);color:#fff}.good-text{margin-top:20px;border-left:3px solid var(--lime);background:#f8fbf4;border-radius:0 11px 11px 0;padding:20px 23px}.good-text>span{font-size:8px;color:var(--green);font-weight:800;letter-spacing:.12em}.good-text h3{font-family:var(--display);font-size:20px;margin:5px 0 12px}.good-text p{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:15px;margin:7px 0;color:var(--muted);font-size:9px;line-height:1.6}.good-text p b{color:var(--green)}.analysis-unknown{background:#eef2f1;border-radius:8px;padding:12px 14px;color:var(--muted);font-size:8px}.no-errors-found{margin-top:24px;text-align:center;border:1px dashed #a6ccc4;border-radius:12px;padding:45px}.no-errors-found strong{font-family:var(--display);font-size:23px}.no-errors-found p{max-width:500px;margin:8px auto 0;color:var(--muted);font-size:10px;line-height:1.7}.image-lightbox{width:min(94vw,1100px);max-height:92vh;padding:0;border:0;border-radius:14px;background:#071814;color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.45)}.image-lightbox::backdrop{background:rgba(3,18,15,.82);backdrop-filter:blur(7px)}.image-lightbox>button{position:absolute;z-index:3;right:15px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:23px}.image-lightbox img{display:block;width:100%;max-height:82vh;object-fit:contain}.image-lightbox>div{padding:13px 18px;color:var(--lime);font-size:10px}.goal-notice{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:12px;padding:15px 19px;margin-bottom:17px}.goal-notice>span{color:var(--lime);font-size:8px;font-weight:800}.goal-notice>strong{font:800 12px var(--data)}.goal-notice>p{margin:0;color:rgba(255,255,255,.62);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-badge{background:#d36a5c}.field-hint{display:block;min-height:12px;color:var(--green);font-size:8px;margin-top:5px}
@media(max-width:900px){.error-workbench{grid-template-columns:1fr}.error-explanation{min-height:300px}.error-video video{height:min(68vw,520px)}}
@media(max-width:760px){.analysis-report--focus{padding:18px 12px}.analysis-report--focus>header{display:block}.new-analysis-button{margin-top:14px}.error-checkpoints{grid-template-columns:1fr}.error-checkpoint{padding:11px}.good-text p{grid-template-columns:1fr;gap:2px}.goal-notice{grid-template-columns:auto 1fr}.goal-notice>p{grid-column:1/-1}.image-lightbox{width:96vw}.error-video video{height:65vw}}
.goal-badge{background:var(--green)}.english-feedback{width:100%;margin:2px 0 18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.english-feedback>span{display:block;color:var(--green);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.english-feedback h4{font-family:var(--display);font-size:18px;margin:7px 0}.english-feedback>b{display:block;color:var(--ink);font:700 9px var(--data);line-height:1.55}.english-feedback>p{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.65}
.outdated-analysis{margin-top:25px;padding:24px;border:1px solid #efd0cc;border-left:4px solid #c65346;border-radius:10px;background:#fff9f8}.outdated-analysis strong{font-family:var(--display);font-size:20px}.outdated-analysis p{max-width:720px;margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.75}
.coaching-card{width:100%;margin-top:24px;border:1px solid #b8d8d1;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(8,71,64,.07)}.coaching-copy{padding:18px 18px 15px}.coaching-copy>span{display:block;color:var(--green);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.coaching-copy h4{font-family:var(--display);font-size:20px;line-height:1.3;margin:7px 0}.coaching-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.75}.coaching-copy small{display:block;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);color:#718984;font-size:8px;line-height:1.65}.coaching-video-slot{position:relative;width:100%;aspect-ratio:16/9;background:#0b231f;overflow:hidden}.coaching-video-slot iframe{display:block;width:100%;height:100%;border:0}.coaching-play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#0b231f;color:#fff;overflow:hidden}.coaching-play:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,22,18,.08),rgba(5,22,18,.7))}.coaching-play img{display:block;width:100%;height:100%;object-fit:cover;opacity:.86;transition:transform .35s ease,opacity .35s ease}.coaching-play:hover img{transform:scale(1.035);opacity:1}.coaching-play>span{position:absolute;z-index:2;left:50%;bottom:15px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:999px;padding:7px 11px;background:rgba(7,38,32,.88);font-size:8px;font-weight:900;backdrop-filter:blur(8px)}.coaching-play i{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);font-size:8px;font-style:normal}.coaching-note{margin:0;padding:11px 15px;background:#edf7f4;color:#5c7772;font-size:8px;line-height:1.6}.coaching-note:before{content:"i";display:inline-grid;place-items:center;width:15px;height:15px;margin-right:6px;border:1px solid #9fc8c0;border-radius:50%;color:var(--green);font:800 8px var(--display)}
@media(min-width:901px){.error-workbench:has(.coaching-card){grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)}}
@media(max-width:760px){.coaching-copy{padding:17px 15px 14px}.coaching-copy h4{font-size:19px}}
.error-explanation h3{color:#b84e43}.error-explanation>b{color:#b84e43}.error-number{color:#b84e43}.good-text{border-left-color:var(--green);background:#f0f8f5}.good-text>span,.good-text p b{color:var(--green)}
.english-feedback{width:100%;margin:1px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.english-feedback summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;color:var(--green);font-size:9px;font-weight:850;cursor:pointer;list-style:none}.english-feedback summary::-webkit-details-marker{display:none}.english-feedback summary:after{content:"＋";width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-size:13px}.english-feedback[open] summary:after{content:"−"}.english-feedback summary span{margin-left:auto;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em}.english-feedback>div{padding:0 0 15px}.english-feedback h4{font-family:var(--display);font-size:18px;margin:3px 0 7px}.english-feedback b{display:block;color:var(--ink);font:700 9px var(--data);line-height:1.55}.english-feedback p{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.65}
.confidence-status{display:grid;grid-template-columns:minmax(190px,.45fr) 1fr;gap:18px;align-items:center;margin-top:20px;padding:15px 18px;border-radius:10px;border:1px solid}.confidence-status strong{font-size:11px}.confidence-status p{margin:0;font-size:9px;line-height:1.6}.confidence-status.reliable{background:#edf8f4;border-color:#add8ce;color:#087f73}.confidence-status.verify{background:#fff8e7;border-color:#ead499;color:#8a6510}.confidence-status.manual{background:#fff4e8;border-color:#e8c28e;color:#9b5f18}
.manual-contact{margin-top:13px;padding:20px;border:1px solid #e5c28e;border-radius:13px;background:#fffaf2}.manual-contact-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.manual-contact-head span{color:#9b6a1c;font-size:8px;font-weight:900;letter-spacing:.12em}.manual-contact-head h3{font-family:var(--display);font-size:22px;margin:4px 0 0}.manual-contact-head output{font:800 13px var(--data);color:#9b6a1c}.manual-contact video{display:block;width:100%;max-height:520px;border-radius:10px;background:#071814}.manual-contact input[type="range"]{width:100%;margin:16px 0 10px;accent-color:#bd7a18}.manual-contact-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.manual-contact-actions p{margin:0;color:#b84e43;font-size:9px}.manual-contact-actions button{border:0;border-radius:8px;padding:11px 15px;background:#9b681b;color:#fff;font-size:9px;font-weight:850}.manual-contact-actions button:disabled{opacity:.55;cursor:wait}.manual-contact.unavailable strong{font-family:var(--display);font-size:19px}.manual-contact.unavailable p{margin:6px 0 0;color:var(--muted);font-size:9px}
.coaching-video-modal{width:min(95vw,1120px);padding:0;border:0;border-radius:16px;background:#071814;color:#fff;overflow:hidden;box-shadow:0 35px 110px rgba(0,0,0,.5)}.coaching-video-modal::backdrop{background:rgba(3,22,18,.82);backdrop-filter:blur(8px)}.coaching-modal-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 23px;background:#0d3029}.coaching-modal-head span{display:block;color:var(--lime);font-size:8px;font-weight:900;letter-spacing:.12em}.coaching-modal-head h2{font-family:var(--display);font-size:24px;margin:4px 0}.coaching-modal-head p{margin:0;color:rgba(255,255,255,.57);font-size:8px}.coaching-modal-head button{flex:none;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:23px}.coaching-modal-player{width:100%;aspect-ratio:16/9;max-height:calc(92vh - 90px)}.coaching-modal-player iframe{display:block;width:100%;height:100%;border:0}
.confirm-modal{width:min(90vw,460px);border:1px solid #b9d8d2;border-radius:16px;box-shadow:0 28px 85px rgba(8,65,57,.26)}.confirm-modal::backdrop{background:rgba(7,43,37,.57);backdrop-filter:blur(6px)}.confirm-dialog{padding:31px 32px 28px;text-align:left;border-top:5px solid var(--green)}.confirm-dialog>.eyebrow{display:block;margin-bottom:10px}.confirm-dialog h2{margin:0 0 9px;color:var(--ink);font-size:27px}.confirm-dialog p{min-height:0;margin:0;color:var(--muted);font-size:11px;line-height:1.75;max-width:none}.confirm-actions{margin-top:25px}.confirm-actions button{padding:12px;border-radius:9px}.confirm-actions button:first-child{background:#fff;color:var(--green);border-color:#a9d0c8}.confirm-actions button:last-child{background:var(--green);border-color:var(--green);color:#fff}.confirm-actions button:last-child:hover{background:#056c62}.confirm-actions button:first-child:hover{background:var(--mint)}
.analysis-history{margin-top:25px;padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff}.analysis-history-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.analysis-history-head span{font-size:8px;color:var(--green);font-weight:900;letter-spacing:.13em}.analysis-history-head h3{font-family:var(--display);font-size:24px;margin:3px 0 0}.analysis-history-head>strong{font:800 11px var(--data);color:var(--muted)}.analysis-history-list{display:grid;gap:8px}.analysis-history-item{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fbfdfc}.analysis-history-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:0;background:transparent;color:var(--ink);padding:14px 16px;text-align:left}.analysis-history-main:hover{background:var(--mint)}.analysis-history-main span{font-size:11px;font-weight:850}.analysis-history-main strong{font:8px var(--data);color:var(--muted)}.analysis-history-actions{display:flex;align-items:center;padding:0 8px;border-left:1px solid var(--line)}.analysis-history-actions button{border:0;background:transparent;color:var(--green);padding:8px;font-size:8px;font-weight:800}.analysis-history-actions button:last-child{color:#b84e43}.analysis-name-modal{width:min(92vw,480px)}
.analysis-sync-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px;padding:15px 17px;border-radius:14px}.analysis-sync-banner>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:900}.analysis-sync-banner strong,.analysis-sync-banner p{display:block}.analysis-sync-banner strong{font-size:11px}.analysis-sync-banner p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.analysis-sync-banner button{border:0;border-radius:9px;padding:10px 13px;background:var(--green);color:#fff;font-size:9px;font-weight:850}.analysis-sync-banner button:disabled{opacity:.55}.analysis-sync-banner.is-synced{background:#e8f5ef;border:1px solid #b8ddcd}.analysis-sync-banner.is-synced>span{background:var(--green);color:#fff}.analysis-sync-banner.is-local{background:#fff8df;border:1px solid #e8d79c}.analysis-sync-banner.is-local>span{background:#f0d66f;color:var(--ink)}.analysis-sync-state{margin-top:3px;font-size:8px;font-weight:800}.analysis-sync-state.is-synced{color:var(--green)}.analysis-sync-state.is-local{color:#8c7020}
@media(max-width:760px){.confidence-status{grid-template-columns:1fr;gap:5px}.manual-contact{padding:15px}.manual-contact-actions{display:block}.manual-contact-actions button{width:100%;margin-top:10px}.coaching-video-modal{width:96vw}.coaching-modal-head{padding:15px}.coaching-modal-head h2{font-size:19px}.analysis-history{padding:16px 12px}.analysis-history-item{grid-template-columns:1fr}.analysis-history-actions{justify-content:flex-end;border-left:0;border-top:1px solid var(--line)}.analysis-sync-banner{grid-template-columns:auto 1fr}.analysis-sync-banner button{grid-column:1/-1;width:100%}.confirm-dialog{padding:27px 22px 23px}}
.screenshot-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:1px 0 13px}.screenshot-actions button{border:1px solid #dfaaa4;border-radius:8px;background:#fff7f6;color:#a9453b;padding:10px 8px;font-size:8px;font-weight:850}.screenshot-actions button:first-child{background:#b84e43;border-color:#b84e43;color:#fff}.frame-nudges{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:2px 0 13px}.frame-nudges button{border:1px solid #d8bd8f;border-radius:7px;background:#fff;color:#8b611b;padding:8px 11px;font-size:8px;font-weight:800}.frame-nudges span{text-align:center;color:#8c7b5e;font-size:8px}.error-video video{accent-color:#b84e43}
@media(max-width:760px){.screenshot-actions{grid-template-columns:1fr}.frame-nudges{grid-template-columns:1fr 1fr}.frame-nudges span{grid-column:1/-1;grid-row:1}.frame-nudges button{grid-row:2}}
.pending-contact{border-color:#e4c28e;background:#fffbf3}.pending-contact strong{color:#8d631d}.plan-locked{grid-template-columns:1fr;background:#314a45}.plan-locked span{color:#e7ce7c}
.storage-status{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 11px 0;color:#879995;font-size:11px}.storage-status-dot{width:7px;height:7px;border-radius:50%;background:#b8c5c2;box-shadow:0 0 0 4px rgba(184,197,194,.16)}.storage-status.is-connected{color:#3e7b67}.storage-status.is-connected .storage-status-dot{background:#65ad8c;box-shadow:0 0 0 4px rgba(101,173,140,.16)}.storage-status.is-backup{color:#a77832}.storage-status.is-backup .storage-status-dot{background:#d3a653;box-shadow:0 0 0 4px rgba(211,166,83,.16)}.storage-status+.logout{padding-top:12px}

/* AcePoint public landing page */
.login-page.landing-page{--land-green:#073f36;--land-deep:#032e28;--land-cream:#f4f3eb;--land-yellow:#ddf451;--land-sage:#a8bbb5;display:block;min-height:100vh;background:var(--land-cream);color:var(--land-green);overflow:hidden}.landing-page a{color:inherit}.landing-nav{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid rgba(7,63,54,.16);background:rgba(244,243,235,.94);position:relative;z-index:10}.landing-wordmark{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--land-green);text-decoration:none}.landing-wordmark strong{font:750 21px/1 var(--display);letter-spacing:-.04em}.landing-ball{position:relative;display:inline-block;width:21px;height:21px;border-radius:50%;background:var(--land-yellow);overflow:hidden;flex:none}.landing-ball:before,.landing-ball:after{content:"";position:absolute;width:17px;height:23px;border:1.3px solid var(--land-green);border-radius:50%;top:-2px}.landing-ball:before{left:-10px}.landing-ball:after{right:-10px}.landing-nav nav{display:flex;align-items:center;gap:34px}.landing-nav nav a{font-size:13px;font-weight:600;text-decoration:none}.landing-nav nav a:hover{text-decoration:underline;text-underline-offset:5px}.landing-nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px}.landing-signin,.landing-footer button{border:0;background:transparent;color:var(--land-green);font-size:13px;font-weight:700;padding:11px 15px}.landing-try{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--land-green);border-radius:3px;background:var(--land-green);color:#fff;padding:12px 15px;font-size:13px;font-weight:700;box-shadow:none;transition:background .18s,color .18s,transform .18s}.landing-try:hover{background:var(--land-deep);transform:translateY(-1px)}.landing-try span{color:var(--land-yellow)}
.landing-hero{min-height:660px;position:relative;display:flex;align-items:flex-end;padding:80px clamp(22px,7vw,110px) 86px;background:var(--land-green);color:#fff;overflow:hidden}.landing-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.23)}.hero-court-lines{position:absolute;inset:0 0 0 54%;border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2)}.hero-court-lines:before,.hero-court-lines:after,.hero-court-lines i{content:"";position:absolute;background:rgba(255,255,255,.2)}.hero-court-lines:before{left:0;right:0;height:1px;top:50%}.hero-court-lines:after{width:1px;top:0;bottom:0;left:50%}.hero-court-lines i:nth-child(1){top:25%;bottom:25%;left:23%;width:1px}.hero-court-lines i:nth-child(2){top:25%;bottom:25%;right:23%;width:1px}.hero-court-lines i:nth-child(3){height:1px;left:23%;right:23%;top:25%;box-shadow:0 330px 0 rgba(255,255,255,.2)}.landing-hero-copy{position:relative;z-index:2;width:min(790px,72vw)}.landing-kicker{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:#c8d6d2}.landing-kicker:before{content:"";width:34px;height:1px;background:var(--land-yellow)}.landing-hero h1{font:750 clamp(54px,7.6vw,112px)/.91 var(--display);letter-spacing:-.068em;margin:26px 0 30px;max-width:1000px}.landing-hero h1 em{display:inline-block;color:var(--land-yellow);font-style:normal;font-weight:520}.landing-hero-copy>p{max-width:600px;margin:0;color:#d2dfdc;font-size:clamp(16px,1.7vw,21px);line-height:1.65}.landing-actions{display:flex;align-items:center;gap:28px;margin-top:39px}.landing-try--light{background:var(--land-yellow);border-color:var(--land-yellow);color:var(--land-green);min-width:164px}.landing-try--light span{color:var(--land-green)}.landing-try--light:hover{background:#ecfa88;color:var(--land-deep)}.landing-actions>a{display:inline-flex;gap:15px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.34);padding:11px 0}.hero-index{position:absolute;z-index:2;right:clamp(22px,5vw,75px);top:50px;text-align:right}.hero-index span,.hero-index b{display:block}.hero-index span{font:700 9px var(--data);letter-spacing:.2em;color:#9eb6b1}.hero-index b{margin-top:12px;font:650 12px/1.3 var(--display);letter-spacing:.12em;color:#fff}
.product-preview{padding:94px clamp(22px,6vw,92px) 116px;background:var(--land-cream)}.preview-caption{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;max-width:1260px;margin:0 auto 29px}.preview-caption span{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800}.preview-caption p{justify-self:end;max-width:520px;margin:0;color:#526b66;font-size:14px;line-height:1.7}.preview-window{max-width:1260px;margin:0 auto;border:1px solid #9fb4ae;background:#fff;box-shadow:0 28px 80px rgba(3,46,40,.12)}.preview-browser{height:39px;display:flex;align-items:center;gap:6px;padding:0 15px;background:var(--land-green);color:#fff}.preview-browser>span{width:7px;height:7px;border-radius:50%;background:#718e88}.preview-browser>span:first-child{background:var(--land-yellow)}.preview-browser b{margin-left:9px;font:600 8px var(--data);letter-spacing:.1em;color:#aec3be}.preview-app{display:grid;grid-template-columns:190px 1fr;min-height:570px}.preview-sidebar{display:flex;flex-direction:column;padding:25px 17px;background:#fff;border-right:1px solid #d8e2df}.preview-brand{display:flex;align-items:center;gap:8px;margin:0 6px 27px}.preview-brand strong{font:750 16px var(--display)}.preview-brand .landing-ball{width:17px;height:17px}.preview-sidebar small{margin:18px 8px 7px;color:#9aaba7;font-size:7px;font-weight:800;letter-spacing:.14em}.preview-sidebar b{font-size:9px;font-weight:600;color:#667b77;padding:10px 9px;border-radius:5px}.preview-sidebar b.is-active{background:#e2f1ed;color:var(--land-green)}.preview-main{min-width:0;background:#f7faf8}.preview-top{height:62px;display:flex;flex-direction:column;justify-content:center;padding:0 35px;border-bottom:1px solid #dce6e3}.preview-top span{font-size:7px;color:#78908b}.preview-top strong{font-size:11px;margin-top:3px}.preview-intro{padding:31px 35px 20px}.preview-intro span{font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:#087f73;font-weight:800}.preview-intro h2{font:700 27px/1.1 var(--display);letter-spacing:-.04em;margin:9px 0 5px}.preview-intro p{margin:0;color:#71837f;font-size:9px}.preview-form-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:13px;padding:0 35px 34px}.preview-form-grid article{background:#fff;border:1px solid #dbe5e2;padding:24px}.preview-form-grid h3{font:700 17px var(--display);margin:0 0 22px}.preview-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.preview-fields label,.preview-feeling label{display:block;color:#304c47;font-size:7px;font-weight:700}.preview-fields i,.preview-feeling label i{display:block;margin-top:6px;border:1px solid #d9e5e2;border-radius:5px;padding:10px;color:#8b9c98;font-style:normal;font-weight:400}.preview-choice{display:flex;align-items:center;gap:6px;margin-top:22px}.preview-choice span{margin-right:auto;font-size:8px;font-weight:700}.preview-choice b{border:1px solid #b9d4ce;padding:7px 17px;font-size:7px;color:#087f73}.preview-choice b:first-of-type{background:#e4f3ef}.preview-score{display:grid;grid-template-columns:1fr 1.2fr auto 1.2fr;align-items:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #e1e8e6}.preview-score span{font-size:8px;font-weight:800}.preview-score i{border-bottom:1px solid #adc4bf;padding:8px;color:#8b9c98;font-size:7px;font-style:normal}.preview-score em{font-style:normal;color:#93a6a2}.preview-feeling>p{font-size:8px;color:#71837f;margin:-14px 0 18px}.preview-feeling>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:22px}.preview-feeling>div span{display:grid;place-items:center;height:44px;border:1px solid #dce6e3;border-radius:5px;font-size:18px}.preview-feeling>div span.selected{background:#e7f5f1;border-color:#76aa9f}.preview-save{display:flex;justify-content:space-between;margin-top:18px;padding:11px 12px;background:var(--land-green);color:#fff;font-size:8px}.preview-save span{color:var(--land-yellow)}
.landing-process{padding:112px clamp(22px,7vw,110px) 125px;background:#fff}.landing-section-head{display:grid;grid-template-columns:.55fr 1.25fr .75fr;align-items:end;gap:45px;max-width:1260px;margin:0 auto 64px}.landing-section-head>span{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800}.landing-section-head h2{font:720 clamp(38px,4.7vw,65px)/1 var(--display);letter-spacing:-.055em;margin:0}.landing-section-head p{margin:0;color:#607772;font-size:14px;line-height:1.7}.landing-process ol{list-style:none;padding:0;max-width:1260px;margin:0 auto;border-top:1px solid #9fb4ae}.landing-process li{display:grid;grid-template-columns:.55fr 1.25fr .75fr;gap:45px;align-items:start;border-bottom:1px solid #c9d5d2;padding:34px 0}.landing-process li>span{font:650 13px var(--data);color:#718983}.landing-process li div{grid-column:2/4;display:grid;grid-template-columns:1.1fr .9fr;gap:45px}.landing-process h3{font:700 clamp(25px,3vw,40px)/1.08 var(--display);letter-spacing:-.04em;margin:0}.landing-process li p{max-width:460px;margin:0;color:#627873;font-size:14px;line-height:1.75}
.landing-features{padding:112px clamp(22px,7vw,110px) 125px;background:var(--land-green);color:#fff}.landing-section-head--light{align-items:start}.landing-section-head--light h2{grid-column:2/4;color:#fff}.feature-list{max-width:1260px;margin:0 auto;border-top:1px solid rgba(255,255,255,.36)}.feature-list article{display:grid;grid-template-columns:.55fr 1.55fr .45fr;gap:45px;align-items:center;padding:35px 0;border-bottom:1px solid rgba(255,255,255,.22)}.feature-list article>span{color:var(--land-yellow);font:650 11px var(--data)}.feature-list article>div{display:grid;grid-template-columns:.8fr 1fr;align-items:start;gap:42px}.feature-list h3{font:650 clamp(24px,2.8vw,37px)/1.1 var(--display);letter-spacing:-.035em;margin:0}.feature-list p{max-width:510px;margin:0;color:#bdcfcb;font-size:14px;line-height:1.75}.feature-list article>i{font:700 8px var(--data);font-style:normal;letter-spacing:.13em;color:#89a29d;text-align:right}
.landing-final-cta{min-height:560px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 22px;background:var(--land-deep);color:#fff;overflow:hidden}.landing-final-cta>span{position:relative;z-index:2;color:#a9c0bb;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}.landing-final-cta h2{position:relative;z-index:2;font:700 clamp(46px,6vw,82px)/.98 var(--display);letter-spacing:-.06em;margin:22px 0 34px}.landing-final-cta button{position:relative;z-index:2}.cta-court{position:absolute;inset:0 19%;border-left:1px solid rgba(255,255,255,.09);border-right:1px solid rgba(255,255,255,.09)}.cta-court:before,.cta-court:after,.cta-court i{content:"";position:absolute;background:rgba(255,255,255,.09)}.cta-court:before{width:1px;top:0;bottom:0;left:50%}.cta-court:after{height:1px;left:0;right:0;top:50%}.cta-court i:first-child{top:25%;bottom:25%;left:25%;width:1px;box-shadow:calc(50vw - 25vw) 0 0 rgba(255,255,255,.09)}.cta-court i:last-child{left:25%;right:25%;top:25%;height:1px;box-shadow:0 280px 0 rgba(255,255,255,.09)}.landing-footer{min-height:120px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:25px clamp(22px,5vw,76px);background:var(--land-cream);border-top:1px solid rgba(7,63,54,.16)}.landing-footer p{margin:0;color:#60746f;font-size:11px}.landing-footer button{justify-self:end}
.landing-login-modal{width:min(92vw,500px);padding:0;border:0;border-radius:5px;background:#fff;box-shadow:0 40px 120px rgba(2,36,31,.35)}.landing-login-modal::backdrop{background:rgba(3,46,40,.72);backdrop-filter:blur(5px)}.landing-login-modal .login-card{position:relative;width:100%;padding:42px}.landing-login-modal .login-card h2{font-size:35px;letter-spacing:-.04em}.landing-login-close{right:17px;top:14px}.landing-login-modal[open]{animation:landingModalIn .22s ease-out both}@keyframes landingModalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.landing-nav{grid-template-columns:1fr auto}.landing-nav nav{display:none}.landing-hero{min-height:620px;padding-top:110px}.landing-hero-copy{width:90vw}.hero-court-lines{left:62%;opacity:.72}.preview-caption,.landing-section-head{grid-template-columns:1fr}.preview-caption p{justify-self:start}.preview-app{grid-template-columns:145px 1fr}.preview-sidebar{padding:19px 10px}.preview-form-grid{grid-template-columns:1fr}.preview-feeling{display:none}.landing-process li{grid-template-columns:70px 1fr}.landing-process li div{grid-column:2;grid-template-columns:1fr}.feature-list article{grid-template-columns:55px 1fr}.feature-list article>div{grid-template-columns:1fr 1fr}.feature-list article>i{display:none}.landing-footer{grid-template-columns:1fr auto}.landing-footer p{display:none}}
@media(max-width:640px){.landing-nav{height:68px;padding:0 18px}.landing-wordmark strong{font-size:19px}.landing-signin{padding:9px 7px}.landing-nav .landing-try{padding:10px 11px;gap:10px}.landing-hero{min-height:620px;align-items:center;padding:80px 20px 56px}.landing-kicker{max-width:300px;font-size:9px;line-height:1.5}.landing-hero h1{font-size:clamp(49px,15vw,70px);line-height:.94;margin-top:22px}.landing-hero-copy>p{font-size:16px;line-height:1.6}.landing-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:30px}.hero-index{display:none}.hero-court-lines{left:74%;opacity:.45}.product-preview{padding:64px 18px 74px}.preview-caption{margin-bottom:22px}.preview-caption p{font-size:12px}.preview-window{overflow:hidden}.preview-app{display:block;min-height:0;width:800px;transform-origin:top left;transform:scale(.54);margin-bottom:-245px}.preview-sidebar{display:none}.preview-main{width:800px}.landing-process,.landing-features{padding:74px 20px 82px}.landing-section-head{gap:15px;margin-bottom:39px}.landing-section-head h2{font-size:42px}.landing-process li{grid-template-columns:42px 1fr;gap:12px;padding:27px 0}.landing-process li div{gap:12px}.landing-process h3{font-size:28px}.landing-process li p{font-size:13px}.landing-section-head--light h2{grid-column:auto}.feature-list article{grid-template-columns:35px 1fr;gap:10px;padding:27px 0}.feature-list article>div{grid-template-columns:1fr;gap:10px}.feature-list h3{font-size:27px}.feature-list p{font-size:12px}.landing-final-cta{min-height:500px;padding:75px 20px}.landing-final-cta>span{max-width:270px;line-height:1.6}.landing-final-cta h2{font-size:49px}.cta-court{inset:0 5%}.landing-footer{min-height:92px;padding:20px}.landing-login-modal .login-card{padding:38px 22px 27px}.landing-login-modal .login-card h2{font-size:29px}.login-options{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-try,.landing-login-modal[open]{transition:none;animation:none}.landing-try:hover{transform:none}}

/* 2026 product-led landing refinement: the hero behaves like match film, not a generic SaaS banner. */
.landing-hero{min-height:700px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.72fr);align-items:center;gap:clamp(45px,7vw,115px);padding-top:72px;padding-bottom:72px}.landing-hero-copy{width:auto}.landing-hero h1{font-size:clamp(55px,6.25vw,96px);max-width:850px}.landing-hero-copy>p{max-width:590px}.hero-trust{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:42px;color:#a9c2bd;font:650 9px var(--data);letter-spacing:.08em;text-transform:uppercase}.hero-trust span{display:flex;align-items:center;gap:8px}.hero-trust span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--land-yellow);box-shadow:0 0 0 4px rgba(221,244,81,.08)}.hero-film{position:relative;z-index:2;align-self:center;background:#f7f7f1;color:var(--land-green);border:1px solid rgba(255,255,255,.3);box-shadow:0 35px 90px rgba(0,20,17,.32);transform:rotate(1.2deg)}.film-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#e8e9e0;border-bottom:1px solid #c8d0ca;font:750 8px var(--data);letter-spacing:.09em}.film-head b{font-weight:650;color:#6b7d78}.film-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:#0d2925}.film-frames article{position:relative;min-height:230px;overflow:hidden;background:linear-gradient(150deg,#9cb8ad,#54786f);color:#fff}.film-frames article:before{content:"";position:absolute;left:50%;top:19%;width:22px;height:72px;border-radius:15px 15px 5px 5px;background:#173e37;transform:rotate(7deg)}.film-frames article:after{content:"";position:absolute;left:-18%;right:-18%;bottom:-24%;height:58%;border:1px solid rgba(255,255,255,.52);transform:perspective(160px) rotateX(38deg)}.film-frames article i{position:absolute;z-index:2;left:45%;top:37%;width:66px;border-top:2px solid var(--land-yellow);transform:rotate(-24deg);transform-origin:left}.film-frames article span,.film-frames article b{position:absolute;z-index:3;left:10px}.film-frames article span{top:10px;padding:4px 6px;background:rgba(3,46,40,.78);color:var(--land-yellow);font:750 7px var(--data);letter-spacing:.1em}.film-frames article b{bottom:10px;font-size:8px}.film-frames article.is-focus{outline:2px solid var(--land-yellow);outline-offset:-2px}.film-frames article:first-child:before{transform:rotate(-4deg)}.film-frames article:last-child:before{left:44%;transform:rotate(13deg)}.film-readout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 20px;padding:16px 17px 18px}.film-readout span{font:750 9px var(--data);letter-spacing:.08em;text-transform:uppercase}.film-readout strong{font:750 21px var(--display)}.film-readout i{grid-column:1/-1;height:4px;background:#d4ded9;position:relative}.film-readout i:after{content:"";display:block;width:86%;height:100%;background:var(--land-green)}.film-readout p{grid-column:1/-1;margin:5px 0 0;color:#61746f;font-size:9px}.hero-court-lines{left:69%;opacity:.5}
@media(max-width:1050px){.landing-hero{grid-template-columns:1fr;gap:55px;padding-top:90px}.hero-film{width:min(720px,100%);transform:none}.film-frames article{min-height:210px}.hero-court-lines{left:73%}}
@media(max-width:640px){.landing-hero{display:block;min-height:0;padding-top:78px}.hero-film{margin-top:52px}.film-frames article{min-height:145px}.film-frames article:before{height:53px;width:17px}.hero-trust{margin-top:30px;gap:8px 15px}.hero-trust span:last-child{display:none}}

/* AcePoint signed-in product system — court scorebook */
.app-shell{--app-deep:#032e28;--app-green:#073f36;--app-paper:#f4f3eb;--app-white:#fff;--app-yellow:#ddf451;--app-sage:#9fb4ae;grid-template-columns:274px minmax(0,1fr);background:var(--app-paper);color:var(--app-green)}
.app-shell .sidebar{padding:26px 20px 21px;background:var(--app-deep);border:0;color:#fff}.app-shell .sidebar-head{min-height:37px;padding:0 8px 0 6px}.app-shell .app-brand{gap:10px;color:#fff;font:760 21px/1 var(--display);letter-spacing:-.04em}.app-shell .app-brand .brand-ball{width:21px;height:21px;background:var(--app-yellow)}.app-shell .app-wordmark{display:inline}.app-shell .player-mini{margin:28px 0 23px;padding:15px 13px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:rgba(255,255,255,.045)}.app-shell .avatar{border-radius:3px;background:var(--app-yellow);color:var(--app-deep);font:760 14px var(--data)}.app-shell .player-mini strong{color:#fff}.app-shell .player-mini span{color:#8faaa5}.app-shell .side-nav p{margin:23px 12px 8px;color:#6f918a;font:750 9px var(--data);letter-spacing:.17em}.app-shell .nav-item{min-height:43px;margin:2px 0;padding:11px 12px;border-radius:3px;color:#aec3be;font-weight:580}.app-shell .nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.app-shell .nav-item.active{position:relative;background:#e9eee8;color:var(--app-green);font-weight:760}.app-shell .nav-item.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--app-yellow)}.app-shell .nav-icon{width:20px;color:inherit;font:700 14px var(--data)}.app-shell .nav-badge{border-radius:3px;background:#317c6c}.app-shell .goal-badge{background:#317c6c}.app-shell .storage-status{padding:14px 11px 0;color:#809f98}.app-shell .storage-status.is-connected{color:#a9c7bc}.app-shell .logout{color:#90a9a4;padding-left:11px}.app-shell .logout:hover{color:#fff}
.app-shell .main{background:var(--app-paper)}.app-shell .topbar{height:82px;padding:0 clamp(25px,4vw,62px);background:rgba(244,243,235,.94);border-color:#cad5d0;box-shadow:none}.app-shell .top-title span{color:#718781;font:700 9px var(--data);letter-spacing:.13em;text-transform:uppercase}.app-shell .top-title strong{font:680 18px var(--display);letter-spacing:-.025em}.app-shell .quick-add{min-width:132px;border:1px solid var(--app-green);border-radius:3px;background:var(--app-green);color:#fff;padding:0 15px}.app-shell .quick-add span{margin-left:18px;color:var(--app-yellow)}.app-shell .quick-add:hover{background:var(--app-deep)}
.app-shell .view{max-width:1460px;padding:36px clamp(25px,4vw,62px) 84px}.app-shell .view.active{animation:scorebookIn .24s ease-out both}@keyframes scorebookIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.app-shell .page-intro{position:relative;margin:0 0 28px;padding:20px 0 35px;border-bottom:1px solid var(--app-sage)}.app-shell .page-intro:after{content:"";position:absolute;left:0;bottom:-1px;width:92px;height:3px;background:var(--app-green)}.app-shell .page-intro .eyebrow{color:#327c6d;font:760 9px var(--data);letter-spacing:.17em}.app-shell .page-intro h1{max-width:850px;margin:12px 0 10px;font:740 clamp(39px,4.3vw,62px)/.98 var(--display);letter-spacing:-.056em}.app-shell .page-intro p{max-width:690px;margin:0;color:#5f746f;font-size:14px;line-height:1.7}.app-shell .page-intro--row{gap:32px}.app-shell .page-intro--row .primary-button{flex:none}
.app-shell .panel,.app-shell .trend-card,.app-shell .calendar-shell,.app-shell .calendar-side{border:1px solid #cad7d2;border-radius:4px;background:var(--app-white);box-shadow:none}.app-shell .panel{padding:clamp(24px,3vw,38px)}.app-shell .primary-button{border-radius:3px;background:var(--app-green);box-shadow:none}.app-shell .primary-button:hover{background:var(--app-deep)}.app-shell .outline-button{border-color:var(--app-sage);border-radius:3px;background:transparent}.app-shell .outline-button:hover{background:#fff}.app-shell .field>span:first-child{font:710 11px var(--data);letter-spacing:.02em}.app-shell .field input,.app-shell .field textarea,.app-shell .field select{border-color:#cbd8d3;border-radius:3px;background:#fbfbf7}.app-shell .field input:hover,.app-shell .field textarea:hover,.app-shell .field select:hover{border-color:#91aaa4}.app-shell .field input:focus,.app-shell .field textarea:focus,.app-shell .field select:focus{border-color:var(--app-green);box-shadow:0 0 0 3px rgba(7,63,54,.08)}
.app-shell .empty-dashboard{min-height:535px;grid-template-columns:minmax(310px,.75fr) minmax(0,1fr);border:1px solid var(--app-sage);border-radius:4px;background:#fff}.app-shell .empty-court{min-height:535px;border-radius:0;background:var(--app-green)}.app-shell .empty-copy{padding:clamp(35px,6vw,80px)}.app-shell .empty-copy h1{font:740 clamp(42px,5vw,68px)/.98 var(--display);letter-spacing:-.058em}.app-shell .empty-copy p{max-width:520px;font-size:14px;line-height:1.8}.app-shell .section-title{padding-bottom:18px;border-bottom:1px solid var(--app-sage)}.app-shell .section-title h2{font-size:34px;letter-spacing:-.04em}.app-shell .real-stats{gap:0;margin:0 0 28px;border:1px solid #cad7d2;border-top:0;background:#fff}.app-shell .real-stats article{min-height:145px;padding:26px;border-right:1px solid #d4dfdb;background:transparent}.app-shell .real-stats article:last-child{border-right:0}.app-shell .real-stats span{font:700 9px var(--data);letter-spacing:.08em;text-transform:uppercase;color:#6d817d}.app-shell .real-stats strong{margin-top:15px;color:var(--app-green);font:720 40px/1 var(--display);letter-spacing:-.05em}.app-shell .next-match-banner{border-radius:3px;background:var(--app-green);box-shadow:none}.app-shell .real-match-list{gap:10px}.app-shell .real-match-card{grid-template-columns:minmax(220px,1fr) minmax(270px,.8fr) auto;border:1px solid #ccd8d4;border-radius:3px;background:#fff;padding:22px 24px;text-align:left;transition:border-color .16s,transform .16s}.app-shell .real-match-card:hover{border-color:#668e85;transform:translateY(-1px)}.app-shell .real-match-card h3{font:700 25px var(--display);letter-spacing:-.035em}.app-shell .real-match-card>div>span{font:680 9px var(--data);letter-spacing:.05em;text-transform:uppercase}.app-shell .real-score{justify-self:end}.app-shell .real-score b{border-radius:2px}.app-shell .real-match-card>p{grid-column:1/3;margin:7px 0 0;padding-top:13px;border-top:1px solid #e3e9e6}.app-shell .card-arrow{align-self:center;color:#2e7769}
.app-shell .record-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.62fr);gap:18px}.app-shell .form-panel h2,.app-shell .feeling-panel h2{font-size:29px;letter-spacing:-.035em}.app-shell .choice-field{border-top-color:#d3ded9}.app-shell .segmented span{border-radius:2px}.app-shell .set-block{border-radius:3px;background:#f7f7f1}.app-shell .set-input input{border-radius:3px;background:#fff}.app-shell .tiebreak-toggle span{color:#276f62}.app-shell .emoji-rating{gap:7px}.app-shell .emoji-rating span{border-radius:3px}.app-shell .emoji-rating input:checked+span{border-color:var(--app-green);background:#e8f1ed;box-shadow:inset 0 -3px var(--app-green)}.app-shell .score-error{border-radius:3px}
.analysis-capability{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin-top:17px;padding:9px 12px;border:1px solid #c5d1cc;border-radius:3px;background:rgba(255,255,255,.45);color:#5d726d;font:650 10px var(--data)}.analysis-capability i{width:7px;height:7px;flex:none;border-radius:50%;background:#9aaba6}.analysis-capability.is-online{border-color:#a6c7ba;color:#246b5b}.analysis-capability.is-online i{background:#3b9276}.analysis-capability.is-offline{border-color:#dec597;background:#fff9ea;color:#8c641f}.analysis-capability.is-offline i{background:#d29a37}
.app-shell .motion-layout{grid-template-columns:minmax(315px,.38fr) minmax(0,.62fr);gap:18px;align-items:start}.app-shell .motion-upload{position:sticky;top:106px}.app-shell .motion-step b{border-radius:2px;background:var(--app-yellow);color:var(--app-green)}.app-shell .motion-drop{border-color:#91ada6;border-radius:3px;background:#f8f8f2}.app-shell .motion-drop:hover{border-color:var(--app-green);background:#eef3ee}.app-shell .motion-camera{border-radius:3px;background:var(--app-green);color:var(--app-yellow)}.app-shell .motion-upload video{border-radius:3px}.app-shell .player-candidate>span{border-radius:3px}.app-shell .analysis-empty{min-height:410px;border:1px solid #cad7d2;border-radius:4px;background:#fff}.app-shell .analysis-empty>span{color:#2e7769}.app-shell .analysis-report{border-radius:4px}.app-shell .analysis-report>header{padding:34px;border-radius:4px 4px 0 0;background:var(--app-green)}.app-shell .analysis-report>header h2{max-width:820px;font:700 clamp(28px,3vw,43px)/1.08 var(--display);letter-spacing:-.045em}.app-shell .new-analysis-button{border-radius:3px}.app-shell .confidence-status{margin:0;border-radius:0;border-left:0;border-right:0}.app-shell .error-workbench{grid-template-columns:minmax(0,1.22fr) minmax(325px,.78fr);gap:0;border-top:1px solid #cbd7d3;border-bottom:1px solid #cbd7d3}.app-shell .error-video{padding:22px;background:#071f1b}.app-shell .error-video video{width:100%;max-height:620px;border-radius:2px;background:#000}.app-shell .video-moment-label{color:#9db6b0}.app-shell .error-checkpoints{gap:6px}.app-shell .error-checkpoint{border-radius:2px;background:#123630}.app-shell .error-checkpoint.active{border-color:var(--app-yellow);background:#1b463e}.app-shell .error-checkpoint>span{color:var(--app-yellow)}.app-shell .error-explanation{padding:30px;background:#fff}.app-shell .error-explanation h3{font-size:31px;letter-spacing:-.04em}.app-shell .error-explanation>p{font-size:13px;line-height:1.75}.app-shell .screenshot-actions button,.app-shell .error-play-actions button{border-radius:2px}.app-shell .good-text,.app-shell .analysis-plan-callout{margin-left:0;margin-right:0;border-radius:0}.app-shell .analysis-history{margin-top:18px}.app-shell .analysis-history-head{padding-bottom:15px;border-bottom:1px solid var(--app-sage)}.app-shell .analysis-history-item{border-radius:3px}.app-shell .coaching-card{border-radius:3px}
.app-shell .trend-grid{gap:18px}.app-shell .trend-card{padding:30px}.app-shell .trend-head{padding-bottom:20px;border-bottom:1px solid #d5dfdb}.app-shell .trend-head h2{font-size:27px}.app-shell .chart{min-height:290px}.app-shell .trend-empty,.app-shell .list-empty{border:1px dashed #aabdb7;border-radius:3px;background:rgba(255,255,255,.45)}
.app-shell .calendar-layout{grid-template-columns:minmax(560px,1fr) 315px;gap:18px}.app-shell .calendar-shell{padding:28px}.app-shell .calendar-head{padding-bottom:20px;border-bottom:1px solid #d0dcd7}.app-shell .calendar-head h2{font:700 28px var(--display);letter-spacing:-.04em}.app-shell .calendar-head button{border-radius:2px}.app-shell .calendar-week{padding:15px 0 9px;color:#71857f;font:700 9px var(--data);letter-spacing:.1em}.app-shell .calendar-grid{gap:5px}.app-shell .calendar-day{min-height:92px;border-radius:2px;background:#f8f8f3}.app-shell .calendar-day:hover{outline-color:#668e85;background:#fff}.app-shell .calendar-day.today{box-shadow:inset 0 0 0 2px var(--app-green)}.app-shell .calendar-day .recorded-dot{background:#147a67}.app-shell .calendar-side{padding:28px}.app-shell .calendar-side h2{font:700 28px var(--display)}.app-shell .calendar-legend{border-top-color:#d3ddd9}.app-shell .scheduled-item,.app-shell .day-schedule{border-radius:3px}
.app-shell .smart-guide{grid-template-columns:auto repeat(5,1fr);border:1px solid #b9cbc5;border-radius:3px;background:var(--app-green);color:#fff}.app-shell .smart-guide>strong{color:var(--app-yellow)}.app-shell .smart-guide span{color:#d8e3df}.app-shell .smart-guide b{border-radius:2px;background:var(--app-yellow);color:var(--app-green)}.app-shell .smart-guide p{grid-column:1/-1;color:#aec4bf;border-top-color:rgba(255,255,255,.16)}.app-shell .goals-layout{grid-template-columns:340px minmax(0,1fr);gap:18px}.app-shell .goal-form{position:sticky;top:106px}.app-shell .goal-columns{gap:18px}.app-shell .goal-columns>div>h3,.app-shell .completed-exercises h3{padding-bottom:12px;border-bottom:1px solid var(--app-sage);font:700 20px var(--display)}.app-shell .goal-item,.app-shell .exercise-item{border-radius:3px;background:#fff;transition:border-color .15s}.app-shell .goal-item:hover,.app-shell .exercise-item:hover{border-color:#779b92}.app-shell .goal-item label>span,.app-shell .exercise-item label>span{border-radius:2px}.app-shell .goal-notice{border-radius:3px}
.app-shell .exercise-layout{grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.app-shell .exercise-layout>section:first-child{position:sticky;top:106px}.app-shell .exercise-examples{border-radius:3px}.app-shell .example-toggle{border-radius:2px}.app-shell .exercise-item{min-height:72px;padding:15px 17px}.app-shell .exercise-item button,.app-shell .goal-item button{opacity:.64}.app-shell .exercise-item:hover button,.app-shell .goal-item:hover button{opacity:1}
.app-shell .modal::backdrop{background:rgba(3,46,40,.68);backdrop-filter:blur(4px)}.app-shell~.modal,.modal{border-radius:4px}.confirm-modal .confirm-dialog{position:relative;overflow:hidden;border-top:5px solid var(--app-green,#073f36);padding:35px}.confirm-modal .confirm-dialog:after{content:"";position:absolute;right:-35px;top:-40px;width:120px;height:120px;border:1px solid #d5dfda;transform:rotate(45deg)}.confirm-modal .confirm-actions button{border-radius:3px}.confirm-modal #confirmAccept{background:#7c302b}.toast{border-radius:3px;background:var(--app-deep,#032e28)}
@media(max-width:1120px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.app-shell .sidebar{padding-left:14px;padding-right:14px}.app-shell .record-layout{grid-template-columns:1fr}.app-shell .feeling-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.app-shell .feeling-panel .emoji-rating,.app-shell .feeling-panel .note-field,.app-shell .feeling-panel .primary-button,.app-shell .feeling-panel .cancel-edit{grid-column:1/-1}.app-shell .motion-layout{grid-template-columns:1fr}.app-shell .motion-upload{position:static}.app-shell .calendar-layout{grid-template-columns:1fr}.app-shell .calendar-side{display:block}.app-shell .goals-layout,.app-shell .exercise-layout{grid-template-columns:1fr}.app-shell .goal-form,.app-shell .exercise-layout>section:first-child{position:static}.app-shell .real-match-card{grid-template-columns:1fr auto}.app-shell .real-match-card>p{grid-column:1/-1}}
@media(max-width:760px){.app-shell{display:block}.app-shell .sidebar{width:min(88vw,310px);padding:22px 16px}.app-shell .sidebar-head{padding-right:4px}.app-shell .sidebar-close{display:block;border:0;background:transparent;color:#fff;font-size:27px}.app-shell .menu-button{display:grid;place-items:center;border-radius:3px;background:#fff}.app-shell .topbar{height:68px;padding:0 16px;gap:12px}.app-shell .top-title{margin-right:auto}.app-shell .top-title strong{font-size:15px}.app-shell .top-title span{display:none}.app-shell .quick-add{min-width:0;padding:0 12px}.app-shell .quick-add span{display:none}.app-shell .view{padding:22px 16px 65px}.app-shell .page-intro{padding:11px 0 27px;margin-bottom:20px}.app-shell .page-intro h1{font-size:39px}.app-shell .page-intro--row{display:block}.app-shell .page-intro--row .primary-button{margin-top:22px}.app-shell .panel{padding:22px 18px}.app-shell .empty-dashboard{display:block;min-height:0}.app-shell .empty-court{min-height:220px}.app-shell .empty-copy{padding:32px 22px}.app-shell .empty-copy h1{font-size:40px}.app-shell .real-stats{grid-template-columns:1fr 1fr}.app-shell .real-stats article{min-height:125px;border-bottom:1px solid #d4dfdb}.app-shell .real-stats article:nth-child(2){border-right:0}.app-shell .real-stats strong{font-size:34px}.app-shell .real-match-card{display:block;padding:20px}.app-shell .real-score{justify-content:flex-start;margin-top:14px}.app-shell .card-arrow{display:block;margin-top:15px}.app-shell .feeling-panel{display:block}.app-shell .form-grid{grid-template-columns:1fr}.app-shell .set-input{grid-template-columns:1fr 58px 18px 58px}.app-shell .set-input input{width:58px}.app-shell .emoji-rating{grid-template-columns:repeat(2,1fr)}.app-shell .error-workbench{display:block}.app-shell .error-explanation{padding:24px 20px}.app-shell .error-explanation h3{font-size:27px}.app-shell .analysis-report>header{padding:27px 20px}.app-shell .analysis-report>header h2{font-size:30px}.app-shell .calendar-shell{padding:17px 10px}.app-shell .calendar-grid{gap:2px}.app-shell .calendar-day{min-height:67px;padding:6px 4px}.app-shell .calendar-week span{font-size:8px}.app-shell .smart-guide{grid-template-columns:1fr 1fr}.app-shell .smart-guide>strong,.app-shell .smart-guide p{grid-column:1/-1}.app-shell .goal-columns{grid-template-columns:1fr}.analysis-capability{width:100%;align-items:flex-start;line-height:1.45}}
.app-shell .nav-icon{display:none}

/* Landing hero: one strong idea, no decorative product mockup competing with it. */
.login-page.landing-page .landing-hero{min-height:690px;display:flex;align-items:center;padding:100px clamp(22px,7vw,110px) 112px}.login-page.landing-page .landing-hero-copy{width:min(1180px,92vw)}.login-page.landing-page .landing-hero h1{max-width:1180px;font-size:clamp(68px,9.2vw,142px);line-height:.84;letter-spacing:-.075em;margin:30px 0 38px}.login-page.landing-page .landing-hero-copy>p{max-width:660px;font-size:clamp(17px,1.55vw,21px)}.login-page.landing-page .hero-court-lines{left:74%;opacity:.48}.login-page.landing-page .hero-trust{margin-top:54px}.login-page.landing-page .product-preview{padding-top:82px}.login-page.landing-page .preview-caption{border-top:1px solid rgba(7,63,54,.2);padding-top:22px}
@media(max-width:900px){.login-page.landing-page .landing-hero{min-height:640px;padding-top:90px}.login-page.landing-page .landing-hero h1{font-size:clamp(62px,13vw,104px)}}
@media(max-width:640px){.login-page.landing-page .landing-hero{min-height:590px;padding:76px 20px 64px}.login-page.landing-page .landing-hero h1{font-size:clamp(58px,17vw,78px);line-height:.88;margin:24px 0 28px}.login-page.landing-page .hero-trust{margin-top:34px}.login-page.landing-page .product-preview{padding-top:58px}}

/* AcePoint 2026 — calm performance journal */
:root{
  --ink:#173d36;
  --muted:#6d817c;
  --green:#176e5c;
  --green-2:#2e8b74;
  --mint:#e7f1ec;
  --lime:#d8ef72;
  --paper:#f4f7f4;
  --line:#dce6e1;
  --white:#fff;
  --shadow:0 18px 55px rgba(28,69,59,.08);
  --display:"Bricolage Grotesque",sans-serif;
  --body:"Manrope",system-ui,sans-serif;
  --data:"Manrope",system-ui,sans-serif;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
}
body{background:var(--paper);font-family:var(--body);font-size:14px}
button,input,textarea,select{font-family:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid rgba(46,139,116,.34);outline-offset:2px}

/* Public website */
.login-page.landing-page{display:block;background:var(--paper);color:var(--ink)}
.landing-nav{height:76px;padding:0 clamp(20px,5vw,76px);background:rgba(244,247,244,.88);border-color:rgba(23,61,54,.09);backdrop-filter:blur(18px)}
.landing-wordmark{gap:10px;letter-spacing:-.04em}.landing-wordmark strong{font-size:23px}.landing-ball{background:var(--lime)}
.landing-nav nav{gap:32px}.landing-nav nav a,.landing-signin{color:#536b65;font-size:13px;font-weight:650}.landing-nav nav a:hover,.landing-signin:hover{color:var(--green)}
.landing-try,.primary-button,.quick-add{min-height:46px;border-radius:14px;padding:0 19px;background:var(--ink);border:1px solid var(--ink);box-shadow:0 8px 20px rgba(23,61,54,.12);font-weight:750;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.landing-try:hover,.primary-button:hover,.quick-add:hover{transform:translateY(-2px);background:#0e5547;box-shadow:0 13px 28px rgba(23,61,54,.17)}
.landing-try span,.quick-add span{color:var(--lime)}
.login-page.landing-page .landing-hero{min-height:670px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr);gap:clamp(48px,7vw,108px);align-items:center;padding:128px clamp(22px,7vw,110px) 96px;background:linear-gradient(145deg,#f4f7f4 0%,#edf4ef 100%);color:var(--ink);overflow:hidden}
.login-page.landing-page .landing-hero:after{content:"";position:absolute;left:-4%;bottom:-75px;width:54%;height:54%;border:1px solid rgba(23,110,92,.1);border-top-color:transparent;transform:skewX(-9deg);opacity:.7}
.login-page.landing-page .landing-hero-copy{width:auto;max-width:760px;position:relative;z-index:2}
.landing-kicker{color:var(--green);font-size:11px;letter-spacing:.13em;font-weight:800}
.login-page.landing-page .landing-hero h1{max-width:760px;margin:25px 0 25px;font-size:clamp(56px,6.7vw,96px);line-height:.94;letter-spacing:-.065em;color:var(--ink)}
.login-page.landing-page .landing-hero h1 em{color:var(--green)}
.login-page.landing-page .landing-hero-copy>p{max-width:620px;color:#526963;font-size:clamp(16px,1.5vw,20px);line-height:1.7}
.landing-actions{margin-top:34px;gap:15px}.landing-actions>a{min-height:46px;padding:0 6px;color:var(--green);font-size:13px}.landing-actions>a span{margin-left:9px}.landing-try--light{background:var(--ink);border-color:var(--ink);color:#fff}
.hero-trust{margin-top:38px;gap:10px 19px;color:#70847f;font-size:10px;letter-spacing:.025em;text-transform:none}.hero-trust span:before{background:var(--green-2);box-shadow:0 0 0 4px rgba(46,139,116,.08)}
.hero-court-lines{left:auto;right:4%;width:38%;opacity:.23}.hero-court-lines i{border-color:var(--green)}
.hero-journal{position:relative;z-index:3;overflow:hidden;border:1px solid rgba(23,61,54,.11);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 28px 80px rgba(39,77,67,.12);transform:rotate(1deg)}
.hero-journal:before{content:"";position:absolute;right:-80px;top:-85px;width:190px;height:190px;border:1px solid rgba(23,110,92,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(23,110,92,.035)}
.hero-journal-head,.hero-journal-foot{display:flex;align-items:center;justify-content:space-between;padding:20px 22px}.hero-journal-head{border-bottom:1px solid var(--line)}.hero-journal-head span{font-size:12px;font-weight:800}.hero-journal-head b{color:#8a9b96;font-size:9px;letter-spacing:.15em}
.hero-journal ol{list-style:none;margin:0;padding:8px 22px}.hero-journal li{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:21px 0;border-bottom:1px solid #e8eeeb}.hero-journal li:last-child{border-bottom:0}.hero-journal li>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-size:10px;font-weight:800}.hero-journal strong{display:block;font:720 18px/1.2 var(--display);letter-spacing:-.025em}.hero-journal p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.hero-journal-foot{background:#edf4ef}.hero-journal-foot>span{color:#7b8f89;font-size:10px}.hero-journal-foot button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:800}.hero-journal-foot button b{margin-left:9px;color:var(--green)}
.product-preview.landing-proof{padding:100px clamp(22px,7vw,110px) 116px;background:#fff}.landing-proof .preview-caption{padding-top:0;border:0;margin-bottom:34px}.preview-caption span{color:var(--green);font-size:10px}.preview-caption p{color:var(--muted);font-size:14px}
.proof-grid{max-width:1260px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.proof-grid article{min-height:220px;padding:27px;border:1px solid var(--line);border-radius:20px;background:var(--paper);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.proof-grid article:hover{transform:translateY(-3px);border-color:#c2d4cc;box-shadow:0 16px 38px rgba(31,75,64,.07)}.proof-grid .proof-main{grid-row:span 2;min-height:456px;justify-content:center;padding:clamp(30px,4vw,52px);background:var(--ink);color:#fff;border-color:var(--ink);position:relative;overflow:hidden}.proof-main:after{content:"";position:absolute;right:-90px;bottom:-110px;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035)}.proof-kicker{color:var(--lime);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.proof-main h2{position:relative;z-index:1;margin:18px 0 18px;font:720 clamp(38px,4vw,58px)/1.02 var(--display);letter-spacing:-.055em}.proof-main p{position:relative;z-index:1;max-width:520px;margin:0 0 28px;color:#c4d3ce;line-height:1.75}.proof-main .landing-try{position:relative;z-index:1;align-self:flex-start;background:#fff;border-color:#fff;color:var(--ink);box-shadow:none}.proof-number{width:35px;height:35px;display:grid;place-items:center;margin-bottom:auto;border-radius:50%;background:var(--mint);color:var(--green);font-size:10px;font-weight:800}.proof-grid article>strong{font:720 22px var(--display);letter-spacing:-.03em}.proof-grid article>p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.landing-process{padding:108px clamp(22px,7vw,110px) 116px;background:var(--paper)}.landing-section-head{gap:32px;margin-bottom:44px}.landing-section-head>span{color:var(--green)}.landing-section-head h2{font-size:clamp(40px,4.6vw,62px);line-height:1.03}.landing-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border:0}.landing-process li{display:block;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.landing-process li>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:34px;border-radius:50%;background:var(--mint);color:var(--green);font-weight:800}.landing-process li div{display:block}.landing-process h3{font-size:27px}.landing-process li p{margin-top:11px;font-size:13px}
.landing-features{padding:108px clamp(22px,7vw,110px) 116px;background:#e8f0eb;color:var(--ink)}.landing-section-head--light h2{color:var(--ink)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;border:0}.feature-list article{display:block;padding:31px;border:1px solid #d2dfd9;border-radius:20px;background:rgba(255,255,255,.72)}.feature-list article>span{display:block;margin-bottom:34px;color:var(--green)}.feature-list article>div{display:block}.feature-list h3{font-size:29px}.feature-list p{margin-top:11px;color:var(--muted);font-size:13px}.feature-list article>i{display:block;margin-top:25px;color:#81938e;text-align:left}
.landing-final-cta{min-height:470px;margin:24px;border-radius:26px;background:var(--ink)}.landing-final-cta>span{color:#b8c9c4}.landing-final-cta h2{font-size:clamp(44px,5.8vw,74px);line-height:1.02}.landing-final-cta .landing-try{background:var(--lime);border-color:var(--lime);color:var(--ink);box-shadow:none}.cta-court{opacity:.55}.landing-footer{background:var(--paper);border:0}.landing-footer p{font-size:12px}.landing-footer button{color:var(--green);font-weight:750}
.landing-login-modal{border-radius:22px;box-shadow:0 30px 90px rgba(19,58,49,.25)}.landing-login-modal::backdrop,.modal::backdrop{background:rgba(15,45,38,.54);backdrop-filter:blur(8px)}.landing-login-modal .login-card{padding:44px}.landing-login-modal .login-card h2{margin-top:16px;font-size:37px;line-height:1.08}.landing-login-modal .muted{line-height:1.65}.modal-close{width:36px;height:36px;border-radius:50%;background:#eef3f0;color:var(--muted)}

/* Signed-in product shell */
.app-shell{--app-deep:#173d36;--app-green:#176e5c;--app-paper:#f4f7f4;--app-white:#fff;--app-yellow:#d8ef72;--app-sage:#dce6e1;grid-template-columns:258px minmax(0,1fr);background:var(--app-paper);color:var(--ink)}
.app-shell .sidebar{padding:22px 16px 18px;background:#fbfcfb;border-right:1px solid var(--line);color:var(--ink)}.app-shell .sidebar-head{padding:0 8px;min-height:42px}.app-shell .app-brand{color:var(--ink);font-size:22px}.app-shell .app-brand .brand-ball{width:22px;height:22px;background:var(--lime)}
.app-shell .player-mini{margin:24px 0 18px;padding:13px;border:0;border-radius:16px;background:#edf3ef}.app-shell .avatar{border-radius:12px;background:var(--green);color:#fff}.app-shell .player-mini strong{color:var(--ink);font-size:13px}.app-shell .player-mini span{color:var(--muted)}
.app-shell .side-nav p{margin:22px 12px 8px;color:#91a09c;font-size:9px;letter-spacing:.12em}.app-shell .nav-item{min-height:44px;margin:3px 0;padding:11px 12px;border-radius:13px;color:#60736e;font-size:13px;font-weight:600}.app-shell .nav-item:hover{background:#eef3f0;color:var(--green)}.app-shell .nav-item.active{background:#e1eee8;color:var(--green);font-weight:800}.app-shell .nav-item.active:before{display:none}.app-shell .nav-badge,.app-shell .goal-badge{border-radius:999px;background:var(--green);color:#fff}.app-shell .storage-status{margin-top:auto;padding:14px 12px 0;color:#7d918b;font-size:11px}.app-shell .storage-status.is-connected{color:var(--green)}.app-shell .logout{padding:14px 12px 0;color:#70837e;font-size:12px}.app-shell .logout:hover{color:var(--green)}
.app-shell .main{background:var(--app-paper)}.app-shell .topbar{height:78px;padding:0 clamp(22px,4vw,58px);background:rgba(244,247,244,.86);border-color:rgba(23,61,54,.08);box-shadow:none;backdrop-filter:blur(18px)}.app-shell .top-title span{color:#7a8d87;font-size:9px;letter-spacing:.1em}.app-shell .top-title strong{font-size:17px}.app-shell .quick-add{min-width:126px;border-radius:13px;background:var(--ink);border-color:var(--ink)}
.app-shell .view{max-width:1420px;padding:38px clamp(22px,4vw,58px) 86px}.app-shell .view.active{animation:softViewIn .28s ease both}@keyframes softViewIn{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
.app-shell .page-intro{margin:0 0 30px;padding:12px 0 20px;border:0}.app-shell .page-intro:after{display:none}.app-shell .page-intro .eyebrow{color:var(--green);font-size:10px;letter-spacing:.11em}.app-shell .page-intro h1{max-width:880px;margin:13px 0 11px;font-size:clamp(39px,4vw,58px);line-height:1.03;letter-spacing:-.055em}.app-shell .page-intro p{font-size:14px;line-height:1.72}
.app-shell .panel,.app-shell .trend-card,.app-shell .calendar-shell,.app-shell .calendar-side{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 34px rgba(34,74,64,.055)}.app-shell .panel{padding:clamp(24px,3vw,36px)}
.app-shell .primary-button{min-height:46px;border-radius:13px;background:var(--ink);box-shadow:0 8px 20px rgba(23,61,54,.12)}.app-shell .outline-button{min-height:42px;border-color:#cfddd7;border-radius:12px;background:#fff}.app-shell .outline-button:hover{border-color:#adc8bd;background:#f9fbfa}
.app-shell .field{margin-bottom:22px}.app-shell .field>span:first-child{margin-bottom:9px;font-size:12px;letter-spacing:0}.app-shell .field input,.app-shell .field textarea,.app-shell .field select{min-height:48px;border-color:#d8e3de;border-radius:13px;background:#fbfcfb;padding:13px 14px}.app-shell .field textarea{min-height:126px}.app-shell .field input:hover,.app-shell .field textarea:hover,.app-shell .field select:hover{border-color:#b5cbc2}.app-shell .field input:focus,.app-shell .field textarea:focus,.app-shell .field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(23,110,92,.09)}
.app-shell .section-title{margin-bottom:20px;padding-bottom:0;border:0}.app-shell .section-title h2{font-size:34px}.app-shell .real-stats{gap:14px;margin:0 0 24px;border:0;background:transparent}.app-shell .real-stats article{min-height:142px;padding:24px;border:1px solid var(--line)!important;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(34,74,64,.045)}.app-shell .real-stats span{color:#7a8a86;font-size:10px;letter-spacing:.04em}.app-shell .real-stats strong{margin-top:16px;color:var(--ink);font-size:40px}.app-shell .real-stats small{color:#7b8f89}.app-shell .real-match-list{gap:13px}.app-shell .real-match-card{grid-template-columns:minmax(220px,1fr) minmax(270px,.8fr) auto;padding:23px 25px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(34,74,64,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.app-shell .real-match-card:hover{transform:translateY(-2px);border-color:#bdd1c8;box-shadow:0 15px 34px rgba(34,74,64,.08)}.app-shell .real-match-card h3{font-size:25px}.app-shell .real-match-card>div>span{font-size:9px;letter-spacing:.04em}.app-shell .real-score b{border-radius:999px;padding:5px 10px}.app-shell .real-match-card>p{border-color:#e7edea}.app-shell .next-match-banner{margin-top:16px;padding:20px 24px;border-radius:18px;background:#e2eee8;color:var(--ink);box-shadow:none}.app-shell .next-match-banner>span,.app-shell .next-match-banner>b{color:var(--green)}.app-shell .next-match-banner>small{color:#60756f}
.app-shell .empty-dashboard{min-height:520px;grid-template-columns:minmax(290px,.7fr) minmax(0,1fr);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.app-shell .empty-court{min-height:520px;border-radius:21px 0 0 21px;background:#dfeae4}.app-shell .empty-copy{padding:clamp(34px,6vw,76px)}.app-shell .empty-copy h1{font-size:clamp(40px,5vw,64px);line-height:1.02}.app-shell .empty-copy p{font-size:14px}
.app-shell .record-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.62fr);gap:20px}.app-shell .form-panel h2,.app-shell .feeling-panel h2{font-size:28px}.app-shell .choice-field{border-color:#e4ebe8}.app-shell .segmented{padding:4px;border-radius:14px;background:#edf3f0}.app-shell .segmented span{border:0;border-radius:11px}.app-shell .segmented input:checked+span{background:#fff;box-shadow:0 4px 12px rgba(33,73,63,.1)}.app-shell .set-block{margin:12px 0;padding:15px;border-radius:16px;background:#f3f7f5}.app-shell .set-input input{border-color:#d9e4df;border-radius:11px;background:#fff}.app-shell .tiebreak-toggle span{color:var(--green)}.app-shell .emoji-rating{gap:9px}.app-shell .emoji-rating span{min-height:65px;border-radius:14px}.app-shell .emoji-rating input:checked+span{border-color:#8db7a8;background:#e4f0ea;box-shadow:inset 0 -3px var(--green)}.app-shell .score-error{border-radius:13px}
.analysis-capability{margin-top:17px;padding:10px 13px;border-color:#d3dfda;border-radius:999px;background:#fff;color:#61756f;font-size:10px;box-shadow:0 5px 16px rgba(33,73,63,.04)}
.app-shell .motion-layout{grid-template-columns:minmax(320px,.4fr) minmax(0,.6fr);gap:20px}.app-shell .motion-upload{top:102px}.app-shell .motion-step b{border-radius:50%;background:var(--lime);color:var(--ink)}.app-shell .motion-drop{padding:34px 22px;border:1.5px dashed #b2c9c0;border-radius:18px;background:#f8faf9}.app-shell .motion-drop:hover{border-color:var(--green);background:#eef5f1}.app-shell .motion-camera{border-radius:16px;background:var(--ink);color:var(--lime)}.app-shell .motion-upload video{border-radius:16px}.app-shell .player-candidate>span{border-radius:14px}.app-shell .analysis-empty{min-height:410px;border:1px dashed #bfd0ca;border-radius:20px;background:rgba(255,255,255,.65)}.app-shell .analysis-report{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.app-shell .analysis-report>header{padding:34px;border-radius:0;background:#e6f0eb;color:var(--ink)}.app-shell .analysis-report>header h2{font-size:clamp(28px,3vw,42px)}.app-shell .analysis-report>header p{color:#5f746e}.app-shell .new-analysis-button{border-radius:12px;background:#fff;color:var(--green)}.app-shell .confidence-status{margin:18px;border:0;border-radius:14px}.app-shell .error-workbench{margin:0 18px 18px;grid-template-columns:minmax(0,1.15fr) minmax(325px,.85fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:18px}.app-shell .error-video{padding:18px;background:#163c35}.app-shell .error-video video{max-height:620px;border-radius:13px}.app-shell .error-checkpoints{gap:7px}.app-shell .error-checkpoint{border-radius:12px;background:#214b43}.app-shell .error-checkpoint.active{background:#2a5b50}.app-shell .error-explanation{padding:30px;background:#fff}.app-shell .error-explanation h3{font-size:30px}.app-shell .screenshot-actions button,.app-shell .error-play-actions button{border-radius:11px}.app-shell .good-text,.app-shell .analysis-plan-callout{margin:18px;border-radius:16px}.app-shell .analysis-history{margin-top:22px}.app-shell .analysis-history-head{border:0}.app-shell .analysis-history-item,.app-shell .coaching-card{border-radius:16px}
.app-shell .trend-grid{gap:20px}.app-shell .trend-card{padding:30px}.app-shell .trend-head{padding-bottom:19px;border-color:#e6ece9}.app-shell .trend-head h2{font-size:27px}.app-shell .chart{min-height:290px}.app-shell .trend-empty,.app-shell .list-empty{padding:30px;border:1px dashed #bdcec7;border-radius:17px;background:rgba(255,255,255,.58)}
.app-shell .calendar-layout{grid-template-columns:minmax(560px,1fr) 320px;gap:20px}.app-shell .calendar-shell{padding:28px}.app-shell .calendar-head{padding-bottom:19px;border-color:#e6ece9}.app-shell .calendar-head h2{font-size:28px}.app-shell .calendar-head button{width:42px;height:42px;border-radius:12px;background:#f1f5f3}.app-shell .calendar-week{padding:17px 0 10px;color:#7a8c87;font-size:10px}.app-shell .calendar-grid{gap:7px}.app-shell .calendar-day{min-height:92px;padding:10px;border:1px solid transparent;border-radius:13px;background:#f6f8f7}.app-shell .calendar-day:hover{outline:0;border-color:#b8cec5;background:#fff}.app-shell .calendar-day.today{box-shadow:inset 0 0 0 2px var(--green)}.app-shell .calendar-day .recorded-dot{background:var(--green)}.app-shell .calendar-day .scheduled-dot{background:#b7cc80}.app-shell .calendar-side{padding:27px;color:var(--ink)}.app-shell .calendar-side h2{font-size:27px}.app-shell .upcoming-item{border-color:#e3ebe7}.app-shell .upcoming-item time{color:var(--green);font-weight:750}.app-shell .upcoming-item strong{color:var(--ink)}.app-shell .upcoming-item span,.app-shell .calendar-empty{color:var(--muted)}.app-shell .scheduled-item,.app-shell .day-schedule{border-radius:14px}.app-shell .calendar-legend{border-color:#e4ebe8}
.app-shell .smart-guide{grid-template-columns:auto repeat(5,1fr);padding:20px;border:0;border-radius:18px;background:#e2eee8;color:var(--ink)}.app-shell .smart-guide>strong{color:var(--green)}.app-shell .smart-guide span{color:#5f746e}.app-shell .smart-guide b{border-radius:50%;background:#fff;color:var(--green);box-shadow:0 4px 10px rgba(33,73,63,.07)}.app-shell .smart-guide p{color:#647872;border-color:#cbdcd4}.app-shell .goals-layout,.app-shell .exercise-layout{grid-template-columns:350px minmax(0,1fr);gap:20px}.app-shell .goal-form,.app-shell .exercise-layout>section:first-child{top:102px}.app-shell .goal-columns{gap:20px}.app-shell .goal-columns>div>h3,.app-shell .completed-exercises h3{padding-bottom:12px;border-color:#dfe8e4;font-size:20px}.app-shell .goal-item,.app-shell .exercise-item{border-color:var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(34,74,64,.04)}.app-shell .goal-item:hover,.app-shell .exercise-item:hover{border-color:#b8cec5}.app-shell .goal-item label>span,.app-shell .exercise-item label>span{border-radius:8px}.app-shell .goal-notice{border-radius:15px;background:#dfece6;color:var(--ink)}.app-shell .goal-notice>span{color:var(--green)}.app-shell .goal-notice>p{color:#60756f}.app-shell .exercise-examples{border-radius:16px;background:#f0f5f2}.app-shell .example-toggle{min-height:42px;border-radius:11px}.app-shell .exercise-item{min-height:76px;padding:16px 18px}.app-shell .exercise-item strong{font-size:13px}.app-shell .exercise-item button,.app-shell .goal-item button{opacity:.72;font-size:11px}
.app-shell .analysis-history:empty{display:none}
.app-shell .exercise-examples{border:1px solid #cadbd4;background:#e4ece8;color:var(--ink)}
.app-shell .exercise-examples .examples-head{border-bottom-color:#c4d5ce}
.app-shell .exercise-examples .examples-head span{color:#5f746e}
.app-shell .exercise-examples .examples-head button{border:0;background:transparent;color:var(--green);padding:4px 0;font-size:9px;font-weight:800}
.app-shell .exercise-examples .examples-head button:hover{text-decoration:underline;text-underline-offset:3px}
.app-shell .exercise-examples article{border-bottom-color:#c9d8d2;color:#29463f}
.app-shell .exercise-examples article button{border-color:#8fb9aa;background:#d3e5dc;color:#176e5c}
.app-shell .exercise-examples article button:hover{background:var(--green);color:#fff}
.modal{border:0!important;border-radius:22px!important;box-shadow:0 28px 85px rgba(19,58,49,.24)!important}.modal .field input,.modal .field textarea,.modal .field select{border-radius:13px;background:#fbfcfb}.confirm-modal .confirm-dialog{overflow:visible;border:0;padding:34px}.confirm-modal .confirm-dialog:after{display:none}.confirm-modal .confirm-actions{gap:10px}.confirm-modal .confirm-actions button{min-height:44px;border-radius:12px}.confirm-modal #confirmAccept{background:#b6524b}.toast{border-radius:14px;background:var(--ink);box-shadow:0 15px 36px rgba(23,61,54,.2)}
.analysis-loading{border-radius:20px;background:#fff;box-shadow:var(--shadow)}.analysis-loading:before{border-color:#d9e5df;border-top-color:var(--green)}
.analysis-progress{overflow:hidden;width:100%;height:8px;margin-top:15px;border-radius:999px;background:#e4ece8}.analysis-progress b{display:block;width:0;height:100%;border-radius:inherit;background:var(--green);transition:width .24s ease}.analysis-loading>small{display:block;margin-top:8px;color:var(--green);font-size:11px;font-weight:800;text-align:right}.video-local-note{display:block;padding:10px 4px;color:#a7bbb4;font-size:11px}

@media(max-width:1120px){
  .login-page.landing-page .landing-hero{grid-template-columns:1fr;gap:48px}.hero-journal{width:min(700px,100%);transform:none}
  .proof-grid{grid-template-columns:1fr 1fr}.proof-grid .proof-main{grid-row:auto;grid-column:1/-1;min-height:390px}
  .app-shell{grid-template-columns:230px minmax(0,1fr)}.app-shell .record-layout,.app-shell .motion-layout{grid-template-columns:1fr}.app-shell .motion-upload{position:static}.app-shell .calendar-layout,.app-shell .goals-layout,.app-shell .exercise-layout{grid-template-columns:1fr}.app-shell .goal-form,.app-shell .exercise-layout>section:first-child{position:static}
}
@media(max-width:760px){
  .landing-nav{height:68px}.landing-nav nav{display:none}.landing-nav-actions{gap:4px}.landing-signin{padding:8px}.landing-nav .landing-try{min-height:40px;padding:0 12px;border-radius:11px}
  .login-page.landing-page .landing-hero{display:block;min-height:0;padding:105px 20px 68px}.login-page.landing-page .landing-hero h1{font-size:clamp(51px,14vw,70px);line-height:.95;margin:23px 0}.login-page.landing-page .landing-hero-copy>p{font-size:16px}.hero-trust{margin-top:30px}.hero-journal{margin-top:44px;border-radius:20px}.hero-journal li{padding:17px 0}.hero-journal-foot{align-items:flex-start;gap:10px;flex-direction:column}
  .product-preview.landing-proof{padding:74px 20px 82px}.landing-proof .preview-caption{display:block}.landing-proof .preview-caption p{margin-top:11px}.proof-grid{display:block}.proof-grid article{min-height:190px;margin-top:12px}.proof-grid .proof-main{min-height:390px}.proof-main h2{font-size:41px}
  .landing-process,.landing-features{padding:78px 20px 84px}.landing-section-head{display:block;margin-bottom:32px}.landing-section-head h2{margin-top:13px;font-size:41px}.landing-section-head p{margin-top:15px}.landing-process ol,.feature-list{grid-template-columns:1fr}.landing-process li,.feature-list article{padding:25px}.landing-process li>span,.feature-list article>span{margin-bottom:25px}.landing-final-cta{min-height:440px;margin:12px;border-radius:20px}.landing-final-cta h2{font-size:45px}.landing-footer{padding:22px 20px}
  .app-shell{display:block}.app-shell .sidebar{width:min(88vw,310px);padding:20px 15px;box-shadow:18px 0 50px rgba(22,61,52,.16)}.app-shell .sidebar-close{display:block;border:0;background:#eef3f0;color:var(--ink);font-size:22px;border-radius:50%;width:36px;height:36px}.app-shell .menu-button{display:grid;place-items:center;border-radius:12px;background:#fff}.app-shell .topbar{height:68px;padding:0 15px}.app-shell .top-title span{display:none}.app-shell .top-title strong{font-size:14px}.app-shell .quick-add{min-width:0;min-height:40px;padding:0 12px}.app-shell .quick-add span{display:none}.app-shell .view{padding:25px 16px 66px}.app-shell .page-intro{padding:9px 0 13px;margin-bottom:21px}.app-shell .page-intro h1{font-size:38px;line-height:1.05}.app-shell .page-intro--row{display:block}.app-shell .page-intro--row .primary-button{margin-top:20px}.app-shell .panel{padding:22px 18px}.app-shell .section-title{align-items:flex-start;gap:14px}.app-shell .section-title h2{font-size:29px}.app-shell .real-stats{grid-template-columns:1fr 1fr;gap:10px}.app-shell .real-stats article{min-height:126px;padding:18px;border-radius:15px}.app-shell .real-stats strong{font-size:34px}.app-shell .real-match-card{display:block;padding:20px;border-radius:16px}.app-shell .real-score{justify-content:flex-start;margin-top:14px}.app-shell .card-arrow{display:block;margin-top:15px}.app-shell .next-match-banner{display:block;text-align:left}.app-shell .next-match-banner>*{display:block;margin:5px 0}.app-shell .empty-dashboard{display:block;min-height:0}.app-shell .empty-court{min-height:210px;border-radius:21px 21px 0 0}.app-shell .empty-copy{padding:31px 22px}.app-shell .empty-copy h1{font-size:39px}.app-shell .form-grid{grid-template-columns:1fr}.app-shell .set-input{grid-template-columns:1fr 58px 18px 58px}.app-shell .set-input input{width:58px}.app-shell .emoji-rating{grid-template-columns:repeat(2,1fr)}.app-shell .error-workbench{display:block;margin:0 10px 10px}.app-shell .error-explanation{padding:24px 20px}.app-shell .analysis-report>header{padding:25px 20px}.app-shell .good-text,.app-shell .analysis-plan-callout{margin:10px}.app-shell .calendar-shell{padding:17px 10px}.app-shell .calendar-grid{gap:3px}.app-shell .calendar-day{min-height:68px;padding:7px 5px;border-radius:9px}.app-shell .calendar-week span{font-size:8px}.app-shell .smart-guide{grid-template-columns:1fr 1fr}.app-shell .smart-guide>strong,.app-shell .smart-guide p{grid-column:1/-1}.app-shell .goal-columns{grid-template-columns:1fr}.landing-login-modal .login-card{padding:38px 22px 27px}
}
@media(prefers-reduced-motion:reduce){.proof-grid article,.app-shell .view.active,.app-shell .real-match-card{transition:none;animation:none}}
