@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{color:#193b2e;font-synthesis:none;--green:#174d36;--lime:#d5ec80;--muted:#758077;--line:#dfe5db;background:#f8f9f4;font-family:DM Sans,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #88aa24}h1,h2,h3{letter-spacing:-.045em;margin:0 0 16px;font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(30px,4vw,48px);line-height:1.13}h2{font-size:24px}h3{font-size:19px}p{line-height:1.65}small{color:var(--muted);line-height:1.5;display:block}.muted{color:var(--muted)}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:22px;height:86px;padding:0 max(24px,50vw - 600px);display:flex}.brand{letter-spacing:.08em;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.brand-light{letter-spacing:.19em;margin-top:3px;font-size:10px;font-weight:500;display:block}.brand-icon{color:var(--green);font-size:43px;line-height:1}.topbar nav{align-self:stretch;gap:32px;display:flex}.topbar nav a{color:#7b837a;align-items:center;gap:8px;font-size:13px;display:flex;position:relative}.topbar nav a.active{color:var(--green);font-weight:700}.topbar nav a.active:after{content:"";background:var(--green);height:3px;position:absolute;bottom:0;left:0;right:0}.header-action{background:var(--green);color:#fff;border-radius:8px;align-items:center;gap:8px;padding:12px 17px;font-size:13px;font-weight:600;display:flex}.setup-banner{color:#67734d;text-align:center;background:#edf2df;padding:8px 20px;font-size:11px}.status-dot{background:#87a242;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}main{max-width:1200px;min-height:75vh;margin:auto;padding:34px 24px 70px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:28px max(24px,50vw - 576px);font-size:11px;display:flex}.footer-brand{color:var(--green);letter-spacing:0}.eyebrow{letter-spacing:.15em;margin-bottom:17px;font-size:10px;font-weight:700;display:block}.primary,.outline,.soft{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:13px;font-weight:600;display:inline-flex}.primary{background:var(--green);color:#fff}.outline{border:1px solid var(--line);color:var(--green);background:0 0}.soft{color:var(--green);background:#eef2e7}.panel,.auth-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:28px}.auth-card{max-width:500px;margin:34px auto}.auth-card h1{font-size:34px}.auth-links{flex-wrap:wrap;gap:16px;margin-top:22px;font-size:12px;text-decoration:underline;display:flex}.notice{overflow-wrap:anywhere;background:#f2f5e9;border:1px solid #d9dfc9;border-radius:8px;margin:12px 0;padding:13px 15px;font-size:13px;line-height:1.6}.notice a{text-decoration:underline}label{margin:16px 0;font-size:13px;font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;color:var(--green);background:#fff;border:1px solid #d7dfd3;border-radius:8px;min-width:0;margin-top:7px;padding:12px 13px}textarea{resize:vertical;min-height:100px}.check{align-items:center;gap:9px;font-weight:400;line-height:1.6;display:flex}.check a{text-decoration:underline}fieldset{border:0;margin:24px 0;padding:0}legend{margin-bottom:12px;font-size:13px;font-weight:600}.choice{border:1px solid var(--line);border-radius:8px;gap:12px;margin:8px 0;padding:14px;display:flex}.choice:has(input:checked){background:#f3f7e8;border-color:#97b065}.choice small{margin-top:4px;font-weight:400}.page-head{justify-content:space-between;align-items:center;gap:20px;margin:22px 0 32px;display:flex}.profile-grid{grid-template-columns:300px 1fr;gap:28px;display:grid}.progress-card{background:#eaf0df;border-radius:16px;align-self:start;padding:30px}.progress-card a{margin-top:20px;font-size:13px;text-decoration:underline;display:block}.progress-card progress{width:100%;accent-color:var(--green)}.avatar{color:#45622c;background:#e8eddc;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.avatar.large{background:#d1dfb5;width:72px;height:72px;margin-bottom:20px;font-size:26px}.row{align-items:center;gap:12px;display:flex}.row.spread{justify-content:space-between}.pill{color:#617647;background:#eff3e8;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600;display:inline-block}.empty{text-align:center;border:1px dashed #ccd6c4;border-radius:12px;padding:45px 20px}.error{color:#a33024}.stack{gap:16px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.form-grid .full{grid-column:1/-1}@media (width<=760px){.topbar{gap:8px;height:68px;padding:0 18px}.topbar nav{z-index:30;border-top:1px solid var(--line);height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fff;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.topbar nav a{flex-direction:column;flex:1;justify-content:center;gap:3px;font-size:10px}.topbar nav a.active:after{inset:0 30% auto}.brand{font-size:11px}.brand-light{font-size:9px}.brand-icon{font-size:34px}.header-action{padding:10px;font-size:11px}.setup-banner{font-size:10px}main{padding:24px 18px 45px}.profile-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head h1{font-size:30px}.form-grid{grid-template-columns:1fr}.panel,.auth-card{padding:23px}.auth-card{margin:15px auto}footer{flex-wrap:wrap;gap:15px;padding:24px 18px 95px}footer span:last-child{display:none}}.hero{color:#fff;background:#174d36;border-radius:19px;grid-template-columns:1fr 1fr;min-height:440px;display:grid;position:relative;overflow:hidden}.hero-content{z-index:2;padding:43px 0 32px 43px;position:relative}.hero-kicker{letter-spacing:.14em;color:#d5e3c9;font-size:9px;font-weight:600}.hero-kicker .status-dot{background:#cce679}.hero h1{letter-spacing:-.055em;margin:23px 0 16px;font-size:clamp(36px,4.4vw,56px);font-weight:750;line-height:1.12}.hero h1 em{color:#d8eb91;font-style:normal}.hero p{color:#c8d7cb;font-size:13px;line-height:1.8}.hero-buttons{align-items:center;gap:25px;margin-top:25px;display:flex}.lime-button{background:var(--lime);color:#23442c;border-radius:7px;align-items:center;gap:30px;padding:14px 19px;font-size:12px;font-weight:700;display:flex}.hero-link{align-items:center;gap:10px;font-size:12px;display:flex}.hero-note{color:#bed0c0;align-items:center;gap:12px;margin-top:26px;font-size:10px;display:flex}.mini-balls{color:#cbe288;letter-spacing:-6px;padding-right:5px;font-size:19px}.court-art{background:radial-gradient(at 30% 70%,#72964a55,#0000 65%);min-width:0;position:relative;overflow:hidden}.court-ground{background:#6b8e65;border:18px solid #547756;width:420px;height:580px;position:absolute;top:20px;left:50px;transform:rotate(-27deg)skewY(6deg);box-shadow:0 0 0 25px #2e5a3b,0 0 0 27px #74906325}.court-line{border:2px solid #d8e4cd99;position:absolute}.court-line.outer{inset:16px}.court-line.singles{inset:16px 58px}.court-line.service{inset:135px 58px}.court-line.center{border-width:0 0 0 2px;top:135px;bottom:135px;left:50%}.court-net{background:repeating-linear-gradient(90deg,#20392a 0 2px,#c7d4b5 2px 5px);border-top:3px solid #edf0d8;height:7px;position:absolute;top:50%;left:-20px;right:-20px;box-shadow:0 10px 12px #193a2f55}.ball{background:#d6e853;border-radius:50%;width:33px;height:33px;position:absolute;box-shadow:4px 6px 8px #14382666}.ball:after{content:"";border:0;border-left:1px solid #f6f8cc;border-right:1px solid #f6f8cc;border-radius:50%;position:absolute;inset:3px 11px}.ball.one{top:366px;left:88px}.ball.two{width:14px;height:14px;top:120px;right:84px}.floating-label{color:#294836;letter-spacing:.12em;background:#f5f7eced;border-radius:6px;padding:9px 13px;font-size:8px;font-weight:700;position:absolute;top:38px;right:28px;transform:rotate(5deg);box-shadow:0 6px 20px #12341e33}.floating-label span{vertical-align:middle;margin-right:7px;font-size:17px}.art-caption{writing-mode:vertical-rl;letter-spacing:.18em;color:#d9e3ce;font-size:8px;position:absolute;bottom:27px;right:27px}.value-strip{border-bottom:1px solid var(--line);justify-content:center;gap:70px;margin-bottom:44px;padding:22px 0;display:flex}.value-strip span{color:#64705f;align-items:center;gap:8px;font-size:11px;display:flex}.value-strip svg{color:#6a8b38}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px;display:flex}.section-title h2{margin-bottom:8px;font-size:30px}.section-title p{margin:0;font-size:12px}.section-title .eyebrow{color:#7f8a6e;margin-bottom:11px}.filters{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.stage-tabs{flex-wrap:wrap;gap:6px;display:flex}.stage-tabs button{color:#747e6b;background:#fff;border:1px solid #e0e5d9;border-radius:7px;padding:10px 14px;font-size:11px}.stage-tabs button.selected{color:#fff;background:#244c36;border-color:#244c36}.location-filter{align-items:center;gap:7px;min-width:130px;margin:0;display:flex}.location-filter select{border-color:var(--line);background:0 0;margin:0;padding:9px;font-size:11px}.games-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.game-card{border:1px solid var(--line);background:#fff;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.game-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #25432812}.game-visual{background:#8fa980;height:154px;position:relative;overflow:hidden}.visual-1{background:#b98268}.visual-2{background:#547e78}.mini-court{border:2px solid #f1efd575;width:270px;height:370px;position:absolute;top:-90px;left:55px;transform:rotate(-25deg)}.mini-court:before{content:"";border:2px solid #f1efd575;position:absolute;inset:0 37px}.mini-court:after{content:"";border-top:3px solid #f1efd599;position:absolute;top:50%;left:0;right:0;box-shadow:0 -82px 0 -1px #f1efd575,0 82px 0 -1px #f1efd575}.game-visual .pill{background:#fffef2eb;font-size:9px;position:absolute;top:13px;left:13px}.game-stage{color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#25412e66;border-radius:4px;padding:5px 8px;font-size:9px;position:absolute;bottom:12px;left:13px}.mini-tennis-ball{background:#d6e879;border-radius:50%;width:27px;height:27px;position:absolute;bottom:42px;right:34px;box-shadow:3px 6px 5px #14382655}.mini-tennis-ball:after{content:"";border-left:1px solid #ffffc2;border-right:1px solid #ffffc2;border-radius:50%;position:absolute;inset:0 9px}.game-body{padding:19px}.game-date{text-transform:uppercase;letter-spacing:.05em;color:#7e856e;font-size:9px;font-weight:700}.game-date>span{margin:0 5px}.game-body h3{letter-spacing:-.025em;min-height:49px;margin:12px 0 15px;font-size:17px;line-height:1.45}.game-meta{color:#7e8575;gap:10px;font-size:11px;display:grid}.game-meta span{align-items:center;gap:7px;display:flex}.game-bottom{border-top:1px solid #ecede5;align-items:center;gap:12px;margin-top:19px;padding-top:17px;font-size:10px;display:flex}.game-bottom>span:first-child{color:#78816d;flex:1;align-items:center;gap:5px;display:flex}.game-bottom>strong{font-size:15px}.game-bottom small{margin-left:3px;font-size:9px;font-weight:400;display:inline}.card-arrow{background:#eff3e7;border-radius:50%;padding:7px;display:flex}.beginner-banner{background:#eaf0df;border:1px solid #dce5cc;border-radius:13px;align-items:center;gap:23px;margin-top:39px;padding:29px;display:flex}.beginner-icon{color:#88a252;font-size:60px}.beginner-banner>div{flex:1}.beginner-banner .eyebrow{color:#7e8b65;margin-bottom:9px;font-size:8px}.beginner-banner h2{margin-bottom:7px;font-size:23px}.beginner-banner p{color:#7a856f;margin:0;font-size:11px}.beginner-banner .primary{padding:12px 16px;font-size:11px}.back-link{color:#74816a;align-items:center;gap:7px;margin:0 0 22px;font-size:12px;display:flex}.detail-grid{grid-template-columns:1.7fr 1fr;gap:25px;display:grid}.detail-title{margin:22px 0;font-size:36px}.booking-panel{align-self:start}.booking-panel .primary,.booking-panel .outline{width:100%;margin-top:13px}.booking-panel .back-link{margin-top:22px}.payment-box{background:#f2f5e9;border-radius:8px;margin:20px 0;padding:17px;font-size:13px}.host-tools{margin-top:25px}.host-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:16px 0;display:flex}.attendance-box{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}@media (width<=960px){.hero-content{padding:34px 0 28px 30px}.hero h1{font-size:43px}.court-ground{left:20px}.value-strip{gap:30px}.games-grid{gap:16px}.game-body{padding:15px}.game-bottom{flex-wrap:wrap}.beginner-banner{gap:18px}}@media (width<=760px){.hero{grid-template-columns:1fr;min-height:590px}.hero-content{padding:30px 25px 25px}.hero h1{font-size:41px}.hero p{font-size:12px}.hero-kicker{font-size:8px}.hero-buttons{gap:23px}.court-art{height:185px}.court-ground{width:370px;height:450px;top:-175px;left:23%;transform:rotate(-58deg)skewY(8deg)}.floating-label{top:30px;right:25px}.art-caption{writing-mode:initial;bottom:15px;right:15px}.value-strip{justify-content:space-between;gap:10px;margin-bottom:28px;padding:19px 0}.value-strip span{gap:4px;max-width:105px;font-size:9px;line-height:1.5}.value-strip svg{flex-shrink:0;width:12px}.section-title h2{font-size:26px}.section-title p{font-size:11px}.section-title .outline{white-space:nowrap;padding:10px;font-size:10px}.filters{flex-wrap:wrap;gap:12px}.stage-tabs{gap:5px}.stage-tabs button{padding:9px 10px;font-size:10px}.location-filter{margin-left:auto}.games-grid{grid-template-columns:1fr}.game-visual{height:175px}.game-body h3{min-height:0;font-size:19px}.game-body{padding:19px}.game-meta{font-size:12px}.game-bottom{font-size:11px}.game-bottom>strong{font-size:17px}.mini-court{width:280px;left:30%}.beginner-banner{flex-wrap:wrap;gap:14px;padding:23px}.beginner-banner>div{flex-basis:70%}.beginner-icon{font-size:43px}.beginner-banner h2{font-size:21px}.beginner-banner .primary{width:100%}.detail-grid{grid-template-columns:1fr}.detail-title{font-size:31px}.host-row,.host-row .row{flex-wrap:wrap}.desktop{display:none}}.feed-layout{grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:28px;display:grid}.feed-aside{align-self:start}.composer textarea{border-color:var(--line);background:#f8f9f4}.photo-label{overflow-wrap:anywhere;cursor:pointer;color:#71825c;align-items:center;gap:6px;max-width:200px;font-size:11px;display:flex}.photo-label input{max-width:180px;font-size:10px}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.post-photo{object-fit:contain;background:#f5f6ef;border-radius:9px;width:100%;max-height:500px;margin:18px 0;display:block}.post-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding-top:16px;font-size:10px;display:flex}.post-footer button{color:#71825c;background:0 0;border:0;font-size:11px;text-decoration:underline}.learn-hero{color:#fff;background:#214f3b;border-radius:17px;margin-bottom:40px;padding:45px;position:relative;overflow:hidden}.learn-hero h1{z-index:1;font-size:42px;position:relative}.learn-hero p{color:#c9d8c6;z-index:1;font-size:13px;position:relative}.learn-hero .lime-button{z-index:1;display:inline-flex;position:relative}.learn-ball{color:#cfdf7d;opacity:.8;font-size:370px;position:absolute;top:-90px;right:30px;transform:rotate(30deg)}.guide-grid{grid-template-columns:repeat(3,1fr);gap:23px;display:grid}.guide{padding:25px}.guide>.eyebrow{margin-top:26px;font-size:8px}.guide>svg{color:#83a14e}.guide h2{min-height:65px;font-size:25px}.guide h4{margin-bottom:7px;font-size:12px}.guide p{color:#77816f;font-size:12px}.cue{background:#eff3e5;border-radius:8px;margin:22px 0;padding:16px;font-size:12px}.cue p{margin-bottom:0}.guide .cue strong{color:#345839}@media (width<=760px){.feed-layout{grid-template-columns:1fr}.feed-aside{order:-1}.feed-aside .progress-card{padding:22px}.feed-aside h2{font-size:22px}.feed-aside h2 br,.feed-aside .panel,.feed-aside .progress-card p,.feed-aside small{display:none}.composer .row{flex-wrap:wrap}.composer .primary{width:100%}.learn-hero{padding:30px 23px}.learn-hero h1{font-size:31px}.learn-ball{opacity:.14;top:-50px;right:-65px}.guide-grid{grid-template-columns:1fr}.guide h2{min-height:0}}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.metric{padding:20px}.metric strong{margin-top:9px;font-size:30px;display:block}.admin-grid{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.admin-grid>.panel{align-self:start}.admin-item{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:20px 0;font-size:12px}.admin-item .row{flex-wrap:wrap}.admin-item p{font-size:13px}.admin-grid h2{margin-top:16px;font-size:22px}.admin-grid h3{font-size:18px}.rules{max-width:850px;margin:auto}.rules h3{margin-top:30px}.rules p{font-size:14px}.rules h1{font-size:38px}@media (width<=760px){.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric small{font-size:10px}.admin-grid{grid-template-columns:1fr}.rules h1{font-size:30px}}.avatar.large.level-2{outline-offset:4px;outline:3px solid #9bb857}.avatar.large.level-3{outline-offset:5px;outline:4px double #b39443;box-shadow:0 0 0 9px #e1e8c9}
