@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy: #041766;--navy-light: #4b5b9e;--lime: #aadd1a;--lime-dark: #7fa80d;--gray-anthracite: #2b2b33;--gray-light: #f2f3f7;--white: #ffffff;--border: #e4e6ee;--danger: #c62828;--brand-primary: var(--navy);--fs-h1: 2rem;--fs-h2: 1.5rem;--fs-h3: 1.125rem;--fs-body: 1rem;--fs-small: .875rem;--fs-caption: .75rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(4, 23, 102, .06);--shadow-md: 0 12px 28px -16px rgba(4, 23, 102, .28);--tabbar-space: 5.5rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--gray-anthracite);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0;background:var(--white);font-size:var(--fs-body);line-height:1.5}h1,h2,h3{color:var(--navy);margin:0 0 var(--sp-2);letter-spacing:-.015em;line-height:1.25}h1{font-size:1.625rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}h2,h3{font-weight:600}h2{font-size:1.25rem}h3{font-size:var(--fs-h3)}@media (min-width: 900px){h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}}p{line-height:1.5;margin:0 0 var(--sp-3)}a{color:var(--navy-light)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.app-header{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--border)}.app-header-inner{max-width:1180px;margin:0 auto;padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}.brand-link{display:flex;align-items:center;gap:var(--sp-3);min-width:0;text-decoration:none}.header-nav,.header-actions{display:none}.app-content{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-6);display:flex;flex-direction:column}.app-page{flex:1 0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);display:flex;padding:.4rem 0 max(.4rem,env(safe-area-inset-bottom));z-index:20}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem 0;text-decoration:none;color:var(--navy-light);font-size:.72rem;font-weight:500}.bottom-nav a.active{color:var(--navy);font-weight:700}.bottom-nav .dot{width:6px;height:6px;border-radius:50%;background:transparent}.bottom-nav a.active .dot{background:var(--lime)}.center{min-height:100vh;display:grid;place-items:center;padding:1.5rem}@media (min-width: 900px){:root{--tabbar-space: 0rem}.app-header-inner{padding:var(--sp-3) var(--sp-6)}.header-nav{display:flex;align-items:center;gap:var(--sp-1);flex:1;padding-left:var(--sp-6)}.header-nav a{text-decoration:none;color:var(--navy-light);font-weight:600;font-size:var(--fs-small);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm)}.header-nav a{transition:color .15s ease}.header-nav a:hover{color:var(--navy)}.header-nav a.active{color:var(--navy);font-weight:700}.header-actions{display:flex;align-items:center;gap:.6rem}.app-content{padding:var(--sp-6) var(--sp-6) var(--sp-7)}.bottom-nav{display:none}}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.baseline{color:var(--navy-light);font-size:var(--fs-body);margin-bottom:var(--sp-2)}label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-small);font-weight:500;color:var(--gray-anthracite)}input,select{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-body);font-family:inherit;color:var(--gray-anthracite);background:var(--white)}input:focus,select:focus{outline:2px solid var(--navy-light);outline-offset:1px}button{font-family:inherit;cursor:pointer}.btn{background:var(--lime);color:var(--navy);border:none;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-body);transition:background .15s ease}.btn:hover:not(:disabled){background:#9bcc12}.btn:disabled{opacity:.55;cursor:default}.btn-outline{background:var(--white);color:var(--navy);border:1px solid var(--navy);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-body)}.btn-outline:hover{background:var(--gray-light)}.btn-ghost{background:transparent;color:var(--navy-light);border:none;font-weight:600;padding:var(--sp-2);text-decoration:none}.btn-block{width:100%}.btn-danger{background:var(--white);color:var(--danger);border:1px solid var(--danger);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-weight:600;font-size:var(--fs-small)}.btn-sm{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-small);border-radius:var(--r-sm);text-decoration:none}.error{color:var(--danger);font-size:var(--fs-small);margin:0}.chip-row{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-1);margin-bottom:var(--sp-4)}.chip{flex:none;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white);color:var(--navy);font-size:var(--fs-small);font-weight:500;white-space:nowrap}.chip:hover{border-color:var(--navy-light)}.chip.active{background:var(--navy);border-color:var(--navy);color:var(--white)}@media (min-width: 900px){.chip-row{flex-wrap:wrap;overflow-x:visible}}.home-hero{position:relative;overflow:hidden;background:var(--navy);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-5) var(--sp-7);color:var(--white)}.home-hero-content{position:relative;z-index:1}.home-hero h1{color:var(--white);font-size:1.75rem;max-width:20ch;margin-bottom:var(--sp-3)}.home-hero .baseline{color:#fffc;margin-bottom:0}@media (min-width: 900px){.home-hero{padding:var(--sp-7) var(--sp-7) calc(var(--sp-7) + var(--sp-4))}.home-hero h1{font-size:2.5rem}.home-hero .baseline{font-size:var(--fs-h3)}}.hero-filters{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);margin:calc(-1 * var(--sp-6)) var(--sp-3) var(--sp-6);box-shadow:var(--shadow-md)}@media (min-width: 900px){.hero-filters{margin:calc(-1 * var(--sp-6)) var(--sp-6) var(--sp-7);padding:var(--sp-4) var(--sp-5)}}.hero-filters .chip-row{margin-bottom:var(--sp-3)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.filter-row input{flex:1 1 140px;min-width:0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-small);color:var(--navy);background:var(--white)}.filter-row .chip{border-radius:var(--r-sm)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.section-head h2{margin:0}.section-head .count{color:var(--navy-light);font-size:var(--fs-small)}.filter-row input:disabled{opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.terrain-list{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media (min-width: 640px){.terrain-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-5)}}.terrain-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,border-color .18s ease}.terrain-card:hover{border-color:#cfd3e0;box-shadow:var(--shadow-md)}.terrain-card .photo{aspect-ratio:16 / 10;position:relative;overflow:hidden;background:var(--navy);display:grid;place-items:center;color:#ffffffd9}.terrain-card-photo-fallback{opacity:.5}.terrain-card-price{position:absolute;bottom:var(--sp-3);right:var(--sp-3);background:var(--navy);color:var(--white);font-size:var(--fs-small);font-weight:600;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill)}.terrain-card .photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.terrain-card .body{flex:1;padding:var(--sp-4) var(--sp-5)}.muted{color:var(--navy-light);font-size:var(--fs-small)}.sport-tag{display:inline-block;background:var(--gray-light);color:var(--navy-light);font-size:var(--fs-caption);font-weight:600;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill)}.sport-tag--onphoto{background:var(--white);color:var(--navy)}.terrain-card .photo .sport-tag{position:absolute;top:var(--sp-3);left:var(--sp-3)}.terrain-card h3{margin:0 0 var(--sp-2)}.terrain-card .terrain-meta-item{font-size:var(--fs-small);gap:var(--sp-1)}.terrain-meta-item--muted{opacity:.7}.terrain-card .terrain-meta-item svg{width:14px;height:14px}.terrain-card-highlights{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-4)}.terrain-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);color:var(--navy);font-size:var(--fs-small);font-weight:600}.terrain-card-footer svg{transition:transform .15s ease}@media (min-width: 900px){.terrain-card:hover .terrain-card-footer{color:var(--navy)}.terrain-card:hover .terrain-card-footer svg{transform:translate(3px)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.terrain-skeleton{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);background:var(--white)}.terrain-skeleton .photo{aspect-ratio:16 / 10;background:var(--gray-light);animation:skeleton-pulse 1.4s ease-in-out infinite}.terrain-skeleton .body{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.terrain-skeleton .line{height:.75rem;border-radius:var(--r-sm);background:var(--gray-light);animation:skeleton-pulse 1.4s ease-in-out infinite}.terrain-skeleton .line.w-40{width:40%}.terrain-skeleton .line.w-70{width:70%}.terrain-skeleton .line.w-90{width:90%}.empty-state{text-align:center;color:var(--navy-light);padding:var(--sp-7) var(--sp-4);font-size:var(--fs-small)}.empty-state-icon{width:44px;height:44px;margin:0 auto var(--sp-3);border-radius:var(--r-md);background:var(--gray-light);color:var(--navy-light);display:grid;place-items:center}.empty-state .btn-outline{margin-top:1rem}.empty-state a{text-decoration:none}.back-link{display:inline-flex;align-items:center;gap:.2rem;margin:0 0 1rem -.4rem;padding:.35rem .65rem .35rem .4rem;border-radius:8px;color:var(--navy-light);font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s ease,color .15s ease}.back-link:hover{background:var(--white);color:var(--navy)}.detail-grid{display:flex;flex-direction:column}@media (max-width: 899px){.detail-main{display:contents}.terrain-gallery{order:1}.detail-heading{order:2}.detail-panel{order:3;margin-bottom:1.25rem}.detail-info{order:4}}@media (min-width: 900px){.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;align-items:start;gap:2.5rem}}.terrain-gallery{margin-bottom:1.25rem}.detail-photo{height:220px;border-radius:16px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);position:relative;display:grid;place-items:center;color:#ffffffd9;font-weight:600;overflow:hidden;box-shadow:0 20px 36px -24px #04176673}.detail-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.detail-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;letter-spacing:.02em}.detail-photo-placeholder-icon{opacity:.85}.detail-photo-badges{position:absolute;top:.85rem;left:.85rem;right:.85rem;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.detail-photo-badges .sport-tag{font-size:.75rem;padding:.25rem .6rem;border-radius:999px}.photo-count-badge{background:#04176699;color:var(--white);font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}.photo-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding-top:.65rem}.photo-thumbnails button{flex:0 0 76px;height:56px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--white);cursor:pointer;opacity:.7;transition:opacity .15s ease,border-color .15s ease}.photo-thumbnails button:hover{opacity:1}.photo-thumbnails button.active{border-color:var(--brand-primary);opacity:1}.photo-thumbnails img{width:100%;height:100%;object-fit:cover}@media (min-width: 900px){.detail-photo{height:400px;border-radius:18px}.terrain-gallery{margin-bottom:1.75rem}}.detail-heading{margin-bottom:1.5rem}.detail-heading h1{margin-bottom:.45rem}@media (min-width: 900px){.detail-heading h1{font-size:2rem}}.terrain-provider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-3) 0}.terrain-provider-logo{width:40px;height:40px;flex-shrink:0;object-fit:contain;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--white)}.terrain-provider-logo--empty{display:grid;place-items:center;color:var(--navy-light)}.terrain-provider-label{display:block;color:var(--navy-light);font-size:var(--fs-small)}.terrain-provider-name{color:var(--navy)}.terrain-card-provider{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);color:var(--navy-light);font-size:var(--fs-small)}.terrain-card-provider img{width:20px;height:20px;object-fit:contain;border-radius:4px}.detail-description{margin:.9rem 0 0;max-width:65ch;color:var(--gray-anthracite);font-size:.98rem;line-height:1.6}.terrain-meta-row{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}.terrain-meta-item{display:inline-flex;align-items:center;gap:.35rem;color:var(--navy-light);font-size:.9rem;font-weight:500}.terrain-meta-item svg{flex:none;opacity:.85}.info-card{padding:var(--sp-5)}.info-card h2{font-size:var(--fs-h3);margin-bottom:var(--sp-3)}.info-list{display:grid;grid-template-columns:1fr;column-gap:var(--sp-6);margin:0}@media (min-width: 640px){.info-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.info-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--border)}.info-row:first-child{border-top:none}@media (min-width: 640px){.info-row:nth-child(2){border-top:none}}.info-row dt{display:flex;align-items:center;gap:var(--sp-3);min-width:0;color:var(--navy-light);font-size:var(--fs-small);font-weight:500;line-height:1.35}.info-row dd{flex:none;margin:0;color:var(--navy);font-size:var(--fs-body);font-weight:600;text-align:right}.info-row dd:first-letter{text-transform:uppercase}.info-row dd.info-value--muted{color:var(--navy-light);font-weight:500}.info-icon{flex:none;width:32px;height:32px;border-radius:var(--r-sm);background:var(--gray-light);color:var(--lime-dark);display:grid;place-items:center}.info-icon--muted{color:var(--navy-light);opacity:.6}@media (min-width: 900px){.detail-panel{position:sticky;top:5.5rem}}.panel-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--lime);border-radius:16px;padding:1.35rem 1.25rem 1.4rem;box-shadow:0 18px 36px -24px #04176666}@media (min-width: 900px){.panel-card{padding:1.5rem}}.panel-card h2{font-size:1.15rem;margin-bottom:.3rem}.panel-hint{color:var(--navy-light);font-size:.9rem;margin:0}.panel-head{padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--border)}.panel-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem;margin:0}.panel-price .amount{color:var(--navy);font-weight:700;font-size:1rem;letter-spacing:-.01em}.panel-price .unit{color:var(--navy-light);font-size:.82rem}.panel-label{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0 0 .6rem;color:var(--navy-light);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.panel-label-day{color:var(--navy);font-size:.8rem;font-weight:600;letter-spacing:0;text-transform:none}.panel-label-day:first-letter{text-transform:uppercase}.day-strip{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;margin:0 0 1.25rem;padding-bottom:.3rem}.day-chip{flex:0 0 60px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.55rem 0 .6rem;background:var(--white);border:1.5px solid var(--border);border-radius:12px;color:var(--navy);transition:border-color .15s ease,background .15s ease}.day-chip:hover{border-color:var(--navy-light)}.day-chip .dow,.day-chip .month{color:var(--navy-light);font-size:.68rem;font-weight:600;text-transform:capitalize}.day-chip .num{font-size:1.15rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}.day-chip.active{background:var(--navy);border-color:var(--navy);color:var(--white)}.day-chip.active .dow,.day-chip.active .month{color:#ffffffbf}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}@media (min-width: 900px){.time-grid{grid-template-columns:repeat(3,1fr)}}.time-chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.6rem .3rem .55rem;background:var(--white);border:1.5px solid var(--border);border-radius:10px;color:var(--navy);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.time-chip:hover{border-color:var(--navy-light);box-shadow:0 6px 14px -10px #04176666}.time-chip .time{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.time-chip .duration{color:var(--navy);font-size:.72rem;font-weight:600}.time-chip .price{color:var(--navy-light);font-size:.72rem;font-weight:500}.time-chip.selected .duration{color:var(--white)}.time-chip.selected{background:var(--navy);border-color:var(--navy);color:var(--white)}.time-chip.selected .price{color:#ffffffbf}.panel-notice{margin:0 0 1rem;padding:.6rem .75rem;border-radius:10px;background:#fff4d6;color:#6f5800;font-size:.84rem;line-height:1.4}.panel-footnote{margin-top:1.1rem;font-size:.85rem;text-align:center}.panel-summary{margin-top:1.25rem;padding:.9rem 1rem 1rem;border-radius:12px;background:var(--gray-light)}.panel-summary .btn{margin-top:.85rem}.panel-error{margin-top:.75rem}.panel-empty{text-align:center;padding:.75rem 0 .25rem}.panel-empty-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto .75rem;border-radius:12px;background:var(--gray-light);color:var(--navy-light)}.panel-done{text-align:center}.panel-done .panel-hint{margin-bottom:1rem}.panel-ref{font-size:.78rem;margin-bottom:1rem}.panel-pay-recap{margin-bottom:1rem}.panel-pay-recap:first-letter{text-transform:uppercase}.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem 0;font-size:.9rem}.summary-row .label{color:var(--navy-light);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.summary-row .value{font-weight:600;color:var(--navy);letter-spacing:-.01em;text-align:right}.summary-total{margin-top:.3rem;padding-top:.6rem;border-top:1px solid var(--border)}.summary-total .value{font-size:1.15rem;font-weight:700}.sticky-cta{position:sticky;bottom:calc(var(--tabbar-space) - .75rem);padding-top:.75rem;background:var(--white)}.check-badge{width:56px;height:56px;border-radius:14px;background:var(--lime);display:grid;place-items:center;margin:0 auto 1rem}.status-badge{display:inline-block;flex:none;white-space:nowrap;font-size:.68rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.status-pending{background:#fff4d6;color:#8a6d00}.status-confirmed{background:#e6f5cf;color:var(--lime-dark)}.status-cancelled,.status-no_show{background:#fbe4e4;color:var(--danger)}.page-header{margin-bottom:1.5rem}.page-header h1{margin-bottom:.25rem}.page-subtitle{color:var(--navy-light);font-size:.92rem;margin:0}.page-section+.page-section{margin-top:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin-bottom:.85rem}.section-count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--white);border:1px solid var(--border);color:var(--navy-light);font-size:.75rem;font-weight:600}.booking-list{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 900px){.booking-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}}.booking-card-link{display:block;text-decoration:none;color:inherit}.booking-card{display:flex;height:100%;border:1px solid var(--border);border-radius:14px;background:var(--white);overflow:hidden;box-shadow:0 10px 24px -20px #04176659;transition:border-color .15s ease,box-shadow .15s ease}.booking-card-link:hover .booking-card{border-color:var(--navy-light);box-shadow:0 14px 28px -18px #04176666}.booking-card-photo{flex:none;width:96px;position:relative;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);display:grid;place-items:center;color:#ffffffd9}.booking-card-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.booking-card-body{flex:1;min-width:0;display:flex;flex-direction:column;padding:.95rem 1.1rem}.booking-card-body strong{color:var(--navy);font-weight:600;letter-spacing:-.01em}.booking-card-tenant{margin:.1rem 0 0;font-size:.8rem}.booking-card-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.5rem}.booking-card-meta .terrain-meta-item{font-size:.84rem}.booking-card .top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.booking-card .top-row>div{min-width:0}.booking-card .top-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-xs{padding:.35rem .7rem;font-size:.78rem;border-radius:8px}.booking-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.booking-card-actions:empty{display:none}.booking-card-actions .btn{padding:.4rem .8rem;font-size:.8rem;border-radius:8px}.booking-card-unpaid{margin:.55rem 0 0;color:#6f5800;font-size:.78rem;line-height:1.4}.status-unpaid{background:#fff4d6;color:#8a6d00}.payment-loading{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;color:var(--navy-light);font-size:.88rem}.spinner{flex:none;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.payment-note{margin:.75rem 0 0;color:var(--navy-light);font-size:.78rem}.pay-summary{margin:0 0 1.25rem}.pay-back-btn{display:block;margin-top:1rem;text-align:center;text-decoration:none}.empty-state-inline{padding:1.75rem 1rem}.empty-state-inline p{margin-bottom:.9rem}.page-narrow{max-width:480px}.account-header{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.account-header strong{color:var(--navy);font-weight:600}.account-help{color:var(--gray-anthracite);font-size:.92rem;margin-bottom:1rem}.avatar{flex:none;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:1.1rem}.avatar-sm{width:34px;height:34px;font-size:.85rem}.auth-shell{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;overflow-x:hidden;background:var(--white);position:relative}.auth-back-link{position:absolute;top:var(--sp-5);left:var(--sp-5);z-index:2;display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:var(--navy-light);text-decoration:none;font-size:var(--fs-small);font-weight:600;transition:color .15s ease,background .15s ease}.auth-back-link:hover{color:var(--navy);background:var(--gray-light)}.auth-back-link svg{width:16px;height:16px}.auth-hero{flex:1 1 50%;min-width:0;position:relative;overflow:hidden;background:var(--gray-light);display:flex;align-items:center;justify-content:center;padding:clamp(1.75rem,6vw,3.5rem);min-height:clamp(200px,34vh,260px)}@media (min-width: 860px){.auth-hero{min-height:100vh}}#player-login-pattern,#player-register-pattern{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.auth-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.1rem;max-width:360px}.auth-hero-line{color:var(--navy);font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;line-height:1.3;margin:0}.auth-hero-badge{display:flex;align-items:center;gap:.6rem;background:var(--lime);color:var(--navy);border-radius:10px;padding:.6rem .85rem;font-size:.82rem;font-weight:600;line-height:1.35;width:fit-content;max-width:100%}.auth-hero-badge svg{flex:none}.auth-hero-sub{margin:0;color:var(--navy-light);font-size:.85rem;line-height:1.4}.auth-form-panel{position:relative;flex:1 1 50%;min-width:0;background:var(--white);display:flex;align-items:center;justify-content:center;padding:5rem 1.25rem clamp(1.5rem,5vw,2.5rem)}.auth-form-wrap{width:100%;max-width:400px;animation:auth-rise .4s ease both}.auth-card{width:100%;background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #0417660f;padding:clamp(1.5rem,4vw,2.25rem)}.auth-form-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.auth-kicker{display:inline-block;background:var(--gray-light);color:var(--navy-light);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;white-space:nowrap}.auth-heading{margin-bottom:1.35rem}.auth-heading h1{font-size:clamp(1.4rem,4vw,1.75rem);line-height:1.15;margin:0 0 .4rem}.auth-heading p{color:var(--navy-light);font-size:.9rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-fields-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.field-hint{color:var(--navy-light);font-size:.75rem;font-weight:400}.auth-notice{margin:0 0 1rem;padding:.7rem .8rem;border:1px solid #f0dc9c;border-left:3px solid #d9a800;border-radius:6px;background:#fff9e6;color:#6f5800;font-size:.85rem;text-align:center}.auth-notice--info{border-color:var(--border);border-left-color:var(--navy);background:var(--gray-light);color:var(--navy)}.auth-error{margin:0;padding:.7rem .8rem;border:1px solid #f2c4c0;border-left:3px solid var(--danger);border-radius:6px;background:#fff7f6;color:var(--danger);font-size:.85rem;text-align:center}.auth-switch{margin:1.35rem 0 0;color:var(--navy-light);text-align:center;font-size:.9rem}.auth-switch a{color:var(--navy);font-weight:700;text-decoration:none}@keyframes auth-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 860px){.auth-shell{background:var(--white)}.auth-hero{display:none}.auth-form-panel{flex-basis:100%;width:100%;min-height:100vh;min-height:100dvh;padding:4.5rem 1rem 1.5rem}.auth-back-link{top:var(--sp-4);left:var(--sp-3)}}@media (max-width: 380px){.auth-form-panel{padding:4.5rem 1rem 1.5rem}.auth-form-wrap{max-width:100%}.auth-card{padding:1.5rem 1rem;border-radius:10px;border:none;box-shadow:none}.auth-form-header,.auth-heading{margin-bottom:1rem}.auth-fields-row{grid-template-columns:1fr;gap:.6rem}}.legal-page{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem 4rem;line-height:1.65}.legal-page h1{margin-bottom:.25rem}.legal-page h2{margin-top:2rem}.legal-page .legal-updated{color:var(--gray-anthracite);opacity:.65;font-size:.85rem;margin-bottom:2rem}.legal-page .legal-back-link{display:inline-block;margin-bottom:1.5rem;color:var(--navy-light);text-decoration:none}.legal-page .legal-placeholder{color:var(--danger);font-style:italic}.app-footer-legal{border-top:1px solid var(--border);padding:var(--sp-4) var(--sp-4) calc(var(--tabbar-space) + var(--sp-3));font-size:.8rem}.app-footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-5)}.app-footer-legal a{color:var(--gray-anthracite);opacity:.65;text-decoration:underline}.auth-legal-links{margin-top:1rem;font-size:.8rem;text-align:center;color:var(--gray-anthracite);opacity:.75}.auth-legal-links a{color:inherit;text-decoration:underline}.auth-legal-links a+a{margin-left:.75rem}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app-page{animation:fade-up .3s ease-out both}.terrain-card{animation:fade-up .35s ease-out both;animation-delay:calc(var(--i, 0) * 50ms)}.panel-summary,.panel-notice,.auth-notice{animation:fade-up .25s ease-out both}.btn,.btn-outline,.day-chip,.time-chip,.chip{transition-property:background,border-color,color,box-shadow,filter,transform;transition-duration:.15s;transition-timing-function:ease}.btn:active:not(:disabled),.btn-outline:active:not(:disabled),.day-chip:active,.time-chip:active,.chip:active{transform:scale(.97)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.app-crash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;color:var(--navy)}.app-crash h1{margin:0;font-size:1.4rem}.app-crash p{margin:0 0 .5rem;color:var(--navy-light)}.championship-page .page-header .sport-tag{margin-bottom:var(--sp-2)}.standings-card{padding:0;overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.standings-table th,.standings-table td{padding:var(--sp-3) var(--sp-2);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border)}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table th{color:var(--navy-light);font-weight:600}.standings-table .standings-team,.standings-table th:nth-child(2){text-align:left;width:100%}.standings-team{font-weight:600;color:var(--navy)}.standings-points{font-weight:700;color:var(--navy)}.round-card{margin-bottom:var(--sp-4)}.round-card h3{margin:0 0 var(--sp-3);font-size:var(--fs-body)}.match-list{list-style:none;margin:0;padding:0}.match-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--border)}.match-row:first-child{border-top:none}.match-team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--navy)}.match-team--home{text-align:right}.match-score{min-width:4rem;text-align:center;font-weight:700;color:var(--navy)}.match-date{grid-column:1 / -1;text-align:center;font-size:var(--fs-small)}.match-row--cancelled .match-team,.match-row--cancelled .match-score{color:var(--navy-light);text-decoration:line-through}
