:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a2d24;background:#e9ede7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app-shell{max-width:640px;min-height:100dvh;margin:auto;background:#f8faf7;box-shadow:0 0 80px #172f2412;padding-bottom:92px}.top{position:sticky;top:0;z-index:3;background:#103b2a;display:flex;color:white;align-items:center;justify-content:space-between;padding:18px 19px;min-height:78px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;background:#285b40;border-radius:12px;width:43px;height:43px;font-size:23px}.brand strong{font-size:18px;letter-spacing:.09em}.brand small{display:block;color:#b6d5bf;font-size:9px;letter-spacing:.22em;margin-top:3px}.iconbtn{background:#ffffff18;color:white;border:1px solid #ffffff25;border-radius:12px;min-width:44px;min-height:44px;font-size:20px}main{padding:21px 17px}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,640px);z-index:5;background:white;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 25px #12331b13;padding:9px 4px max(10px,env(safe-area-inset-bottom));border-top:1px solid #d9e3da}.navbtn{border:0;background:none;color:#63756a;font-weight:650;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;min-height:51px}.navbtn span{font-size:25px;line-height:25px}.navbtn.active{color:#176341}.navbtn.primarynav span{background:#1a6c43;color:white;border-radius:100%;width:41px;height:41px;display:grid;place-items:center;margin-top:-17px;box-shadow:0 3px 10px #105b3530}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.12em;color:#5a7867;text-transform:uppercase;margin:0 0 8px}.heading{font-size:28px;letter-spacing:-.035em;line-height:1.15;margin:0 0 10px;font-weight:800}.muted{color:#67786c}.sub{font-size:14px;line-height:1.55;color:#697b6e;margin:0 0 18px}.card{background:white;border:1px solid #e1e9e0;border-radius:18px;padding:17px;box-shadow:0 3px 13px #14361f08;margin:12px 0}.hero{background:linear-gradient(120deg,#103b2a,#1d7348);color:white;padding:23px;border-radius:19px;position:relative;overflow:hidden}.hero:after{content:'◌';position:absolute;font-size:185px;opacity:.08;right:-20px;top:-52px}.hero .eyebrow{color:#aadbb8}.hero h2{font-size:28px;line-height:1.14;margin:7px 0 10px;position:relative}.hero p{font-size:14px;color:#d8eadc;line-height:1.5;position:relative}.btn{appearance:none;background:#176b44;color:white;border:0;border-radius:12px;min-height:49px;padding:11px 18px;font-weight:800;font-size:14px;cursor:pointer}.btn.secondary{background:#e8f2e9;color:#135c37}.btn.outline{background:white;border:1px solid #cbdccf;color:#17482e}.btn.wide{width:100%;margin-top:10px}.btn.tiny{min-height:34px;padding:7px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.hero .btn{background:#f8e1a6;color:#25442f;position:relative}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:25px;margin-bottom:10px}.sectionhead h3{font-size:18px;letter-spacing:-.02em;margin:0}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:white;border:1px solid #e1e9e0;border-radius:15px;padding:15px 12px}.stat strong{font-size:25px;letter-spacing:-.04em;display:block}.stat small{display:block;color:#617267;font-size:11px;margin-top:5px}.label{display:block;font-size:12px;font-weight:800;margin:13px 0 6px;color:#314639}input,select{border:1px solid #d2dfd5;background:white;min-height:47px;border-radius:11px;padding:12px;color:#1e382a;font:inherit;width:100%}input:focus,select:focus,button:focus-visible{outline:3px solid #e2b551;outline-offset:1px}.pillrow{display:flex;gap:7px;flex-wrap:wrap}.pill{border-radius:10px;border:1px solid #d8e3d7;background:white;color:#3c5946;min-height:44px;padding:9px 13px;font-size:13px;font-weight:750;cursor:pointer}.pill.sel{border-color:#176b44;background:#e4f1e8;color:#115b35}.step{display:flex;align-items:center;justify-content:space-between;gap:12px}.step button{width:48px;height:48px;border-radius:13px;background:#e8f2ea;color:#18593b;font-size:25px;border:0;font-weight:650;flex:none}.step b{font-size:28px;min-width:55px;text-align:center}.progress{height:7px;background:#e3ebe1;border-radius:10px;overflow:hidden}.progress>div{height:100%;background:#268452;border-radius:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:9px}.line{border-top:1px solid #edf0eb;padding-top:12px;margin-top:12px}.chip{display:inline-block;border-radius:99px;background:#e6f1e8;padding:5px 9px;color:#28623d;font-size:11px;font-weight:800}.chip.warn{background:#fff1d3;color:#8b5b11}.leak{border-left:4px solid #c87839;background:#fffaf4}.leak b{color:#86471c}.metricbar{height:9px;background:#e8eee7;border-radius:10px;margin-top:7px}.metricbar div{height:100%;background:#2f8656;border-radius:10px}.roundrow{width:100%;text-align:left;background:white;border:1px solid #e3e9e0;border-radius:13px;display:flex;justify-content:space-between;align-items:center;padding:14px;margin:9px 0;color:inherit;font:inherit}.roundrow strong{font-size:17px}.roundrow small{display:block;color:#718073;margin-top:4px}.small{font-size:12px}.holegrid{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.holegrid button{font-size:12px;border:1px solid #dfe8e0;background:white;border-radius:8px;padding:9px 0;color:#2b4635}.holegrid button.done{background:#dceee1;border-color:#83b796}.holegrid button.current{background:#176b44;color:white}.notice{padding:13px;border-radius:12px;background:#e7f2e9;color:#235a38;font-size:13px;line-height:1.5}.warning{background:#fff2d6;color:#7c5515}.drill{display:flex;gap:12px;align-items:flex-start}.drillnum{border-radius:12px;background:#e5f1e7;color:#176b44;padding:12px;font-weight:900;flex:none}.drill h4{margin:0 0 5px;font-size:15px}.drill p{margin:0 0 6px;color:#627568;font-size:13px;line-height:1.45}.counter{display:flex;align-items:center;gap:13px}.counter button{border:0;background:#e6efe5;color:#135b35;font-size:22px;width:45px;height:45px;border-radius:12px}.counter b{font-size:22px}.empty{text-align:center;padding:30px 15px;color:#657969}.empty .emoji{font-size:38px}.tag{font-size:11px;color:#547961;text-transform:uppercase;font-weight:800;letter-spacing:.08em}#toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:#1d3e2b;color:white;border-radius:12px;padding:12px 18px;display:none;z-index:10;font-size:13px;max-width:90%;text-align:center}.flex{display:flex;gap:9px}.flex>*{flex:1}.hint{font-size:11px;color:#829081;margin-top:7px}.minirow{font-size:13px;margin:11px 0;display:flex;justify-content:space-between}.foot{font-size:12px;color:#789081;line-height:1.5;margin:16px 0} @media(min-width:640px){main{padding:30px}.heading{font-size:31px}}

.distanceinput{display:flex;align-items:center;gap:10px;position:relative}.distanceinput input{font-size:20px;font-weight:750;padding-right:52px}.distanceinput span{position:absolute;right:17px;color:#547961;font-size:14px;font-weight:800;pointer-events:none}.distanceinput input:invalid{border-color:#a34b2b;background:#fff7f3}

.shotcard{background:#fff;border:1px solid #d6e4d7;border-left:4px solid #1a704b;border-radius:16px;padding:15px;margin:13px 0;box-shadow:0 2px 12px #1836210a}.shotcard .flex>div{min-width:0;flex:1}.shotcard .flex{margin-top:6px}.shotcard input,.shotcard select{min-width:0}.shotcard .distanceinput input{padding-right:42px}.shotcard .distanceinput span{right:10px}.shotcard .row strong{font-size:17px}@media(max-width:390px){.shotcard{padding:10px}.shotcard .flex{gap:6px}.shotcard .label{font-size:11px}}

/* Public account welcome */
body.auth-screen .bottom,body.auth-screen #settingsBtn{display:none!important}
.auth-wrap{max-width:490px;margin:10px auto 40px}
.auth-hero{text-align:center;padding:28px 8px 13px}
.auth-icon{font-size:40px}.auth-hero h1{font-size:34px;line-height:1.14;margin:12px 0}.auth-hero p{line-height:1.5}.auth-card{padding:25px!important}
.auth-card h2{margin:2px 0 8px;font-size:23px}.auth-card input{width:100%}.auth-card .btn{margin-top:13px}.auth-card .hint{margin-top:18px;line-height:1.5;overflow-wrap:anywhere}.auth-note{font-size:12px;opacity:.7;text-align:center;line-height:1.5;margin:18px}

/* I Hit It Fat — golfer-first branding */
.brand strong{letter-spacing:.035em;font-size:20px}.brand small{letter-spacing:.13em;font-size:10px}.auth-hero h1{font-size:38px;letter-spacing:-.04em}.hero .btn.outline{background:transparent;border:1px solid #c5dfce;color:white}.hero .btn{margin-top:5px}.hero .btn.outline:hover{background:#ffffff20}@media(max-width:390px){.hero .btn.outline{margin-left:0!important;display:block;margin-top:9px}}

/* v1.4 password entry: visible controls, comfortably tappable on phones */
.password-row{display:flex;align-items:stretch;gap:8px}.password-row input{flex:1;min-width:0}.password-toggle{flex:0 0 75px;border-radius:11px;border:1px solid #cbdccf;background:#eef5ef;color:#17482e;font-weight:800;cursor:pointer;min-height:47px}.password-toggle:focus-visible{outline:3px solid #e2b551;outline-offset:1px}

.top-actions{display:flex;gap:8px;align-items:center}.logoutbtn{background:#ffffff18;border:1px solid #ffffff40;color:white;border-radius:10px;min-height:44px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}body.auth-screen #headerLogout{display:none!important}@media(max-width:390px){.top{padding:12px 10px}.brand strong{font-size:15px}.brand small{font-size:8px}.logoutbtn{padding:6px 8px}}

/* Home-screen installation */
.top-actions{display:flex;align-items:center;gap:7px}
.installbtn{border:1px solid #b7e5bf;border-radius:10px;background:#e6f4d8;color:#163d27;padding:9px 11px;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}
.installbtn:focus-visible,.install-panel button:focus-visible{outline:3px solid #ffba42;outline-offset:3px}
.install-overlay[hidden],.install-action[hidden]{display:none!important}
.install-overlay{position:fixed;inset:0;z-index:100;background:#0a1c16a8;display:grid;place-items:center;padding:16px}
.install-panel{position:relative;width:min(420px,100%);background:#fff;color:#193d2b;border-radius:18px;padding:25px 22px;box-shadow:0 12px 45px #0005}
.install-panel h2{margin:0 28px 9px 0;font-size:23px}.install-panel p{line-height:1.45}.install-panel #installDirections{line-height:1.55;padding:12px 0 18px}
.install-close{position:absolute;top:8px;right:13px;border:0;background:transparent;color:#243e32;font-size:30px;cursor:pointer}
.install-action,.install-secondary{display:block;width:100%;border:0;border-radius:10px;padding:13px;font-weight:750;cursor:pointer}
.install-action{background:#103b2a;color:#fff;margin-bottom:8px}.install-secondary{background:#e8efe8;color:#21452e}
@media(max-width:390px){.top{padding:12px 10px}.brand-mark{width:34px;height:34px}.brand strong{font-size:12px}.brand small{font-size:8px}.installbtn{padding:8px 7px;font-size:11px}}
