/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#0c1512;--bg-2:#101d18;--surface:#14241e;--line:#26382f;--line-soft:#1e2e27;--ink:#f2efe6;--ink-dim:#a6b6ac;--ink-faint:#6e8278;--amber:#f2b14c;--amber-deep:#e08a2e;--spruce:#5fb8a3;--sky:#7fc2e0;--d-easy:#54b97c;--d-mod:#5ba3d0;--d-hard:#e2823f;--d-expert:#d45d49;--r:16px;--maxw:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{display:block}::selection{background:var(--amber);color:#1a1208}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-size:11px;font-weight:700}.eyebrow,.mono{font-family:var(--font-mono),monospace}.btn{font-family:var(--font-body),sans-serif;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;align-items:center;gap:9px;padding:13px 22px;font-size:15px;font-weight:600;transition:transform .15s,background .2s,border-color .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--amber);color:#1a1206}.btn-primary:hover:not(:disabled){background:#f6be63;transform:translateY(-2px)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{border-color:var(--spruce);color:#fff;transform:translateY(-2px)}.btn-sm{border-radius:10px;padding:9px 15px;font-size:13.5px}.brand{font-family:var(--font-display),sans-serif;letter-spacing:-.01em;align-items:center;gap:11px;font-size:18px;font-weight:800;display:inline-flex}.brand .mark{background:linear-gradient(145deg,var(--amber),var(--amber-deep));color:#1a1206;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 6px 18px -6px #f2b14c99}.brand b{color:var(--amber)}.rw-nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);background:#0c1512b8;position:sticky;top:0}.rw-nav .wrap{justify-content:space-between;height:68px}.nav-links,.rw-nav .wrap{align-items:center;display:flex}.nav-links{gap:30px}.nav-links a{color:var(--ink-dim);font-size:14.5px;font-weight:500;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-cta{align-items:center;gap:12px;display:flex}.nav-burger{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:none}.nav-mobile{background:var(--bg);flex-direction:column;gap:4px;padding:10px 24px 18px;display:none}.nav-mobile,.nav-mobile a{border-bottom:1px solid var(--line-soft)}.nav-mobile a{color:var(--ink-dim);padding:11px 4px;font-weight:500}.nav-mobile.open{display:flex}.hero{padding:70px 0 40px;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none}.hero-bg,.hero-bg svg{position:absolute;inset:0}.hero-bg svg{width:100%;height:100%}.hero-glow{z-index:0;pointer-events:none;background:radial-gradient(circle,#f2b14c24,#0000 60%);width:560px;height:560px;position:absolute;top:-160px;right:-120px}.hero-grid{z-index:2;grid-template-columns:1.05fr .95fr;align-items:center;gap:54px;display:grid;position:relative}.hero-eyebrow{align-items:center;gap:10px;margin-bottom:22px;display:inline-flex}.hero-eyebrow .dot{background:var(--spruce);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #5fb8a32e}.hero h1{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(40px,6.2vw,72px);font-weight:900;line-height:.98}.hero h1 .accent{color:var(--amber)}.hero p.lead{color:var(--ink-dim);max-width:30em;margin-bottom:30px;font-size:clamp(16px,1.7vw,18.5px)}.hero-actions{gap:13px;margin-bottom:34px}.hero-actions,.hero-stats{flex-wrap:wrap;display:flex}.hero-stats{border-top:1px solid var(--line-soft);align-items:center;gap:26px;padding-top:26px}.stat .num{font-family:var(--font-mono),monospace;color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:700}.stat .lbl{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px;position:relative;box-shadow:0 40px 80px -40px #000000b3,inset 0 0 0 1px #ffffff05}.hero-card .map{border:1px solid var(--line-soft);background:radial-gradient(120% 100% at 80% 10%,#16302a 0,#0000 55%),linear-gradient(160deg,#0f2019,#0b1814);border-radius:14px;height:248px;position:relative;overflow:hidden}.hero-card .map svg{width:100%;height:100%;position:absolute;inset:0}.hero-card .pin{font-family:var(--font-mono),monospace;border:1px solid var(--line);color:var(--ink);letter-spacing:.03em;background:#0c1512d9;border-radius:7px;padding:3px 7px;font-size:10px;position:absolute}.hero-card .pin.a{top:64%;left:14%}.hero-card .pin.b{top:24%;right:14%}.hc-meta{justify-content:space-between;align-items:center;padding:13px 8px 6px;display:flex}.hc-title{font-size:15px;font-weight:700}.hc-sub{color:var(--ink-faint);align-items:center;gap:5px;font-size:12px;display:flex}.hc-readout{border:1px solid var(--line-soft);border-radius:11px;margin-top:6px;display:flex;overflow:hidden}.hc-readout div{border-right:1px solid var(--line-soft);flex:1;padding:11px 12px}.hc-readout div:last-child{border-right:none}.hc-readout .k{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.hc-readout .v{font-family:var(--font-mono),monospace;margin-top:3px;font-size:15px;font-weight:700}.hc-readout .v.amber{color:var(--amber)}.sec{padding:78px 0;position:relative}.sec.alt{background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.sec-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.sec-head h2{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin-top:12px;font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.05}.sec-head .link{color:var(--spruce);align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.sec-head .link:hover{color:#7fd3bf}.route-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.rcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.rcard:hover{border-color:#33493e;transform:translateY(-4px)}.rcard .thumb{background:linear-gradient(160deg,#13261f,#0c1a15);height:130px;position:relative;overflow:hidden}.rcard .thumb svg{width:100%;height:100%;position:absolute;inset:0}.diff{font-family:var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c1512d1;border-radius:7px;padding:4px 9px;font-size:10.5px;font-weight:700;position:absolute;top:11px;left:11px}.diff.easy{color:var(--d-easy);border:1px solid var(--d-easy)}.diff.mod{color:var(--d-mod);border:1px solid var(--d-mod)}.diff.hard{color:var(--d-hard);border:1px solid var(--d-hard)}.diff.expert{color:var(--d-expert);border:1px solid var(--d-expert)}.rtype{border:1px solid var(--line);width:30px;height:30px;color:var(--spruce);background:#0c1512d1;border-radius:8px;place-items:center;display:grid;position:absolute;top:11px;right:11px}.rcard .body{flex-direction:column;flex:1;gap:11px;padding:15px 15px 16px;display:flex}.rcard h3{letter-spacing:-.01em;font-size:15.5px;font-weight:700;line-height:1.25}.rcard .loc{color:var(--ink-faint);align-items:center;gap:5px;margin-top:-4px;font-size:12.5px;display:flex}.rcard .stats{font-family:var(--font-mono),monospace;color:var(--ink-dim);gap:14px;margin-top:auto;font-size:12px;display:flex}.rcard .stats b{color:var(--ink);font-weight:700}.rcard .foot{border-top:1px solid var(--line-soft);justify-content:space-between;padding-top:11px}.likes,.rcard .foot{align-items:center;display:flex}.likes{color:var(--ink-dim);gap:6px;font-size:13px}.likes svg{color:var(--amber)}.save{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:9px;place-items:center;transition:all .15s;display:grid}.save:hover{color:var(--amber);border-color:var(--amber)}.mapx{border:1px solid var(--line);background:radial-gradient(140% 120% at 78% 8%,#16302a 0,#0000 50%),linear-gradient(160deg,#0f2019,#0a1611);border-radius:24px;min-height:440px;position:relative;overflow:hidden}.mapx-canvas{position:absolute;inset:0}.mapx-canvas svg{width:100%;height:100%}.mapx-gl{position:absolute;inset:0}.mapx-overlay{z-index:3;pointer-events:none;flex-direction:column;justify-content:space-between;height:440px;padding:22px;display:flex;position:relative}.mapx-overlay .chips,.mapx-overlay .mapx-card{pointer-events:auto}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--ink-dim);background:#0c1512c7;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{color:var(--ink);border-color:#3a5247}.chip.active{background:var(--amber);color:#1a1206;border-color:var(--amber)}.mapx-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);background:#0c1512db;border-radius:16px;align-self:flex-start;max-width:330px;padding:18px 20px}.mapx-card h3{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin-bottom:7px;font-size:21px;font-weight:800}.mapx-card p{color:var(--ink-dim);margin-bottom:15px;font-size:13.5px}.map-pin{z-index:2;position:absolute;transform:translate(-50%,-100%)}.map-pin .glyph{border:2px solid #0c1512e6;border-radius:50% 50% 50% 2px;place-items:center;width:30px;height:30px;display:grid;transform:rotate(45deg);box-shadow:0 6px 14px -4px #0009}.map-pin .glyph svg{transform:rotate(-45deg)}.map-pin.p1{top:42%;left:30%}.map-pin.p1 .glyph{background:var(--amber);color:#1a1206}.map-pin.p2{top:62%;left:58%}.map-pin.p2 .glyph{background:var(--spruce);color:#0c1512}.map-pin.p3{top:30%;left:70%}.map-pin.p3 .glyph{background:var(--sky);color:#0c1512}.evt-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.ecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:16px;padding:18px;transition:transform .2s,border-color .2s;display:flex}.ecard:hover{border-color:#33493e;transform:translateY(-4px)}.edate{text-align:center;border:1px solid var(--line);border-radius:12px;flex:none;width:60px;height:fit-content;overflow:hidden}.edate .m{font-family:var(--font-mono),monospace;letter-spacing:.1em;text-transform:uppercase;background:var(--amber);color:#1a1206;padding:4px 0;font-size:10.5px;font-weight:700}.edate .d{font-family:var(--font-display),sans-serif;padding:8px 0 9px;font-size:24px;font-weight:900;line-height:1}.ecard .e-body{flex:1;min-width:0}.e-tag{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--spruce);font-size:10px;font-weight:700}.ecard h3{letter-spacing:-.01em;margin:5px 0 6px;font-size:16px;font-weight:700}.e-loc{color:var(--ink-faint);gap:5px;margin-bottom:13px;font-size:12.5px}.e-foot,.e-loc{align-items:center;display:flex}.e-foot{justify-content:space-between;gap:10px}.avatars{align-items:center;display:flex}.avatars span{border:2px solid var(--surface);color:#0c1512;width:26px;height:26px;font-size:10px;font-weight:700;font-family:var(--font-mono),monospace;border-radius:50%;place-items:center;margin-left:-8px;display:grid}.avatars span:first-child{margin-left:0}.avatars .more{color:var(--ink-dim);background:#22382f;font-size:9.5px}.e-count{color:var(--ink-faint);margin-left:9px;font-size:12px}.cta-band{border:1px solid var(--line);text-align:center;background:linear-gradient(135deg,#15291f,#0e1d18);border-radius:26px;padding:54px 44px;position:relative;overflow:hidden}.cta-band .contour{opacity:.5;position:absolute;inset:0}.cta-band .contour svg{width:100%;height:100%}.cta-band h2{font-family:var(--font-display),sans-serif;letter-spacing:-.025em;margin-bottom:14px;font-size:clamp(26px,4vw,42px);font-weight:900;line-height:1.02;position:relative}.cta-band p{color:var(--ink-dim);max-width:30em;margin:0 auto 26px;position:relative}.cta-band .actions{flex-wrap:wrap;justify-content:center;gap:13px;display:flex;position:relative}.ft{border-top:1px solid var(--line-soft);margin-top:78px;padding:46px 0 38px}.ft-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;display:grid}.ft-grid p{max-width:26em;margin-top:14px;font-size:14px}.ft-col h4,.ft-grid p{color:var(--ink-faint)}.ft-col h4{text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-size:12px;font-weight:700}.ft-col a{color:var(--ink-dim);padding:5px 0;font-size:14px;transition:all .15s;display:block}.ft-col a:hover{color:var(--ink)}.ft-bottom{border-top:1px solid var(--line-soft);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:38px;padding-top:22px;font-size:13px;display:flex}.auth-shell{place-items:center;min-height:100dvh;padding:40px 20px;display:grid;position:relative;overflow:hidden}.auth-bg{z-index:0;position:absolute;inset:0}.auth-bg svg{width:100%;height:100%}.auth-card{z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:22px;width:100%;max-width:400px;padding:34px 30px;position:relative;box-shadow:0 40px 90px -50px #000c}.auth-title{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;font-size:26px;font-weight:800}.auth-sub{color:var(--ink-dim);margin:6px 0 24px;font-size:14.5px}.auth-form{gap:15px}.auth-form,.field{flex-direction:column;display:flex}.field{gap:7px}.field span{color:var(--ink-dim);font-size:13px;font-weight:500}.field input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.field input:focus{border-color:var(--spruce);outline:none}.field input::placeholder{color:var(--ink-faint)}.field-error{color:#ef8d7c;background:#d45d491a;border:1px solid #d45d494d;border-radius:9px;padding:9px 12px;font-size:13px}.auth-note{color:var(--spruce);background:#5fb8a314;border:1px solid #5fb8a340;border-radius:9px;margin-bottom:18px;padding:11px 13px;font-size:13.5px}.auth-switch{text-align:center;color:var(--ink-dim);margin-top:20px;font-size:14px}.auth-switch a{color:var(--amber);font-weight:600}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(22px)}.reveal.in{opacity:1;transform:none}.hero-route-path{stroke-dasharray:2200;stroke-dashoffset:2200px;animation:draw 2.6s cubic-bezier(.5,0,.1,1) .35s forwards}.hero-card-path{stroke-dasharray:900;stroke-dashoffset:900px;animation:draw 2.2s .6s forwards}@keyframes draw{to{stroke-dashoffset:0}}.drop{opacity:0;animation:drop .5s forwards}@keyframes drop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-card{order:2}.route-grid{grid-template-columns:repeat(2,1fr)}.evt-grid{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width:720px){.nav-cta .btn-ghost,.nav-links{display:none}.nav-burger{display:grid}.sec{padding:58px 0}.sec-head{flex-direction:column;align-items:flex-start;gap:10px}.mapx-card{max-width:none}.ft-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.ft-grid,.route-grid{grid-template-columns:1fr}.hero-stats{gap:18px}.cta-band{padding:40px 22px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-card-path,.hero-route-path{stroke-dashoffset:0}}.harita-page{height:calc(100dvh - 68px)}.explorer{grid-template-columns:400px 1fr;height:100%;min-height:0;display:grid}.explorer .side{border-right:1px solid var(--line-soft);padding:14px;overflow-y:auto}.explorer .filters{border-bottom:1px solid var(--line-soft);z-index:5;gap:16px;padding:12px 14px}.explorer .filters,.fgroup{flex-wrap:wrap;align-items:center;display:flex}.fgroup{gap:7px}.fgroup .lbl{font-family:var(--font-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.chip.active.d-easy{background:var(--d-easy);border-color:var(--d-easy);color:#08130c}.chip.active.d-mod{background:var(--d-mod);border-color:var(--d-mod);color:#08131a}.chip.active.d-hard{background:var(--d-hard);border-color:var(--d-hard);color:#1a0e05}.chip.active.d-expert{background:var(--d-expert);border-color:var(--d-expert);color:#1a0705}.count{font-family:var(--font-mono),monospace;color:var(--ink-dim);margin-left:auto;font-size:12.5px}.count b{color:var(--amber)}.lroute{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;gap:12px;margin-bottom:10px;padding:12px;transition:all .15s;display:flex}.lroute:hover{border-color:#3a5247;transform:translate(2px)}.lroute.sel{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}.lroute .bar{border-radius:4px;flex:none;width:4px}.lroute .info{flex:1;min-width:0}.lroute .top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.lroute h3{letter-spacing:-.01em;font-size:14.5px;font-weight:700;line-height:1.2}.lroute .rtype{border:1px solid var(--line);width:26px;height:26px;color:var(--spruce);background:#1a2c24;border-radius:7px;flex:none;place-items:center;display:grid}.lroute .loc{color:var(--ink-faint);gap:4px;margin-bottom:8px;font-size:12px}.lroute .loc,.lroute .stats{align-items:center;display:flex}.lroute .stats{font-family:var(--font-mono),monospace;color:var(--ink-dim);flex-wrap:wrap;gap:12px;font-size:11.5px}.lroute .stats b{color:var(--ink)}.diff-tag{font-family:var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 7px;font-size:9.5px;font-weight:700}.empty{text-align:center;color:var(--ink-faint);padding:40px 20px;font-size:14px}.map-wrap{min-height:0;position:relative}.harita-page #map,.map-fallback{position:absolute;inset:0}.map-fallback{text-align:center;background:radial-gradient(140% 120% at 78% 8%,#16302a 0,#0000 50%),linear-gradient(160deg,#0f2019,#0a1611);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;display:flex}.map-fallback h3{font-family:var(--font-display),sans-serif;font-size:20px;font-weight:800}.map-fallback p{color:var(--ink-dim);max-width:34ch;font-size:13.5px}.map-fallback code{font-family:var(--font-mono),monospace;color:var(--amber);font-size:12.5px}.mk{cursor:pointer;border:2px solid #0c1512e6;border-radius:50% 50% 50% 2px;place-items:center;width:28px;height:28px;display:grid;transform:rotate(45deg);box-shadow:0 6px 14px -4px #0009}.mk svg{transform:rotate(-45deg)}.mapboxgl-popup-content{border:1px solid var(--line);color:var(--ink);background:var(--surface)!important;border-radius:14px!important;padding:14px 16px!important;box-shadow:0 20px 50px -20px #000000b3!important}.mapboxgl-popup-close-button{color:var(--ink-faint);padding:2px 7px;font-size:18px}.mapboxgl-popup-tip{border-top-color:var(--surface)!important;border-bottom-color:var(--surface)!important}.pop h4{margin-bottom:3px;font-size:15px;font-weight:700}.pop .ploc{color:var(--ink-faint);margin-bottom:9px;font-size:12px}.pop .pstats{font-family:var(--font-mono),monospace;color:var(--ink-dim);gap:12px;font-size:12px;display:flex}.pop .pstats b{color:var(--amber)}@media (max-width:820px){.harita-page{height:auto}.explorer{grid-template-rows:340px auto;grid-template-columns:1fr}.explorer .side{border-right:none;border-top:1px solid var(--line-soft);order:2}.map-wrap{order:1}}.rf-page{padding:46px 0 90px}.rf-head{margin-bottom:26px}.rf-head h1{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin:10px 0 8px;font-size:clamp(26px,4vw,36px);font-weight:800}.rf-head p{color:var(--ink-dim);max-width:46ch;font-size:15px}.rf{gap:22px}.rf,.rf-block{flex-direction:column;display:flex}.rf-block{gap:10px}.rf-label{color:var(--ink-dim);font-size:13px;font-weight:600}.rf .field{gap:7px}.rf textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:11px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.rf textarea:focus{border-color:var(--spruce);outline:none}.rf textarea::placeholder{color:var(--ink-faint)}.gpx-drop,.rf .chips .chip{cursor:pointer}.gpx-drop{border:1.5px dashed var(--line);background:var(--surface);color:var(--ink-dim);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px 20px;transition:all .15s;display:flex}.gpx-drop:hover{border-color:var(--spruce);color:var(--ink)}.gpx-drop svg{color:var(--amber)}.gpx-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px;display:grid}.gpx-stats div{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:12px}.gpx-stats span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);font-size:10.5px;display:block}.gpx-stats b{font-family:var(--font-mono),monospace;margin-top:4px;font-size:15px;display:block}.rf-map{border:1px solid var(--line);border-radius:16px;height:280px;overflow:hidden}.rf-hint{color:var(--ink-faint);font-size:13.5px}em.field-error{color:#ef8d7c;background:0 0;border:none;padding:0;font-size:12.5px;font-style:normal}@media (max-width:560px){.gpx-stats{grid-template-columns:repeat(2,1fr)}}.rfilters{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:14px;margin-bottom:18px;padding:18px;display:flex}.rfilters .fgroup{gap:8px}.il-input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:999px;min-width:160px;padding:8px 14px;font-family:inherit;font-size:13px;transition:border-color .15s}.il-input:focus{border-color:var(--spruce);outline:none}.il-input::placeholder{color:var(--ink-faint)}.chip.clear{color:var(--ink-faint);border-color:var(--line-soft)}.chip.clear:hover{color:#ef8d7c;border-color:#ef8d7c}.route-count{color:var(--ink-dim);margin-bottom:16px;font-size:13px}.detail{padding:30px 0 90px}.detail-wrap{max-width:860px}.detail-back{color:var(--ink-dim);margin-bottom:20px;font-size:14px;display:inline-block}.detail-back:hover{color:var(--ink)}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dh-tags{gap:9px;margin-bottom:12px;display:flex}.dh-tags,.dh-type{align-items:center}.dh-type{color:var(--spruce);border:1px solid var(--line);border-radius:8px;gap:6px;padding:4px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.detail-head h1{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;font-size:clamp(26px,4.5vw,40px);font-weight:800;line-height:1.05}.dh-sub{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.dh-sub span{align-items:center;gap:5px;display:inline-flex}.ls-actions{gap:10px;display:flex}.ls-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-dim);border-radius:12px;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.ls-btn:hover:not(:disabled){color:var(--ink);border-color:#3a5247}.ls-btn:disabled{opacity:.6}.ls-btn.on{color:var(--amber);border-color:var(--amber);background:#f2b14c14}.ls-btn.on svg{fill:var(--amber)}.ls-btn.ls-save.on{color:var(--spruce);border-color:var(--spruce);background:#5fb8a314}.ls-btn.ls-save.on svg{fill:none;stroke:var(--spruce)}.readout{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,1fr);margin-bottom:22px;display:grid;overflow:hidden}.readout div{border-right:1px solid var(--line-soft);padding:14px 16px}.readout div:last-child{border-right:none}.readout span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:10.5px}.readout b{font-family:var(--font-mono),monospace;margin-top:5px;font-size:18px;display:block}.readout b.amber{color:var(--amber)}.detail-map{border:1px solid var(--line);border-radius:18px;height:380px;margin-bottom:20px;overflow:hidden}.detail-map-fallback{border:1px dashed var(--line);height:200px;color:var(--ink-faint);border-radius:18px;place-items:center;margin-bottom:20px;font-size:14px;display:grid}.elev{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:20px;padding:18px}.elev-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.elev-legend{color:var(--ink-faint);gap:16px;font-size:12px;display:flex}.elev-legend b{color:var(--ink)}.elev-svg{width:100%;height:180px;display:block}.elev-axis{color:var(--ink-faint);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.elev-skel{background:linear-gradient(90deg,#14241e,#1a2c24,#14241e) 0 0/200% 100%;border-radius:16px;height:150px;margin-bottom:20px;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.gpx-download{font-family:var(--font-mono),monospace;color:var(--spruce);border:1px solid var(--line);border-radius:10px;margin-bottom:26px;padding:9px 14px;font-size:13px;transition:all .15s;display:inline-block}.gpx-download:hover{border-color:var(--spruce);color:#7fd3bf}.detail-desc{margin-bottom:34px}.detail-desc p{color:var(--ink-dim);white-space:pre-wrap;margin-top:10px;font-size:15.5px;line-height:1.7}.comments{border-top:1px solid var(--line-soft);padding-top:28px}.cm-title{font-family:var(--font-display),sans-serif;letter-spacing:-.01em;margin-bottom:18px;font-size:22px;font-weight:800}.cm-title span{color:var(--ink-faint);font-family:var(--font-mono),monospace;font-size:15px}.cm-form{margin-bottom:26px}.cm-form textarea{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:12px;padding:13px 15px;font-family:inherit;font-size:15px}.cm-form textarea:focus{border-color:var(--spruce);outline:none}.cm-form-foot{justify-content:flex-end;margin-top:10px;display:flex}.cm-signin{color:var(--ink-dim);margin-bottom:24px;font-size:14.5px}.cm-signin a{color:var(--amber);font-weight:600}.cm-list{flex-direction:column;gap:18px;display:flex}.cm-empty{color:var(--ink-faint);font-size:14px}.cm-item{gap:12px;display:flex}.cm-avatar{color:#0c1512;width:36px;height:36px;font-weight:700;font-family:var(--font-mono),monospace;border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.cm-body{flex:1;min-width:0}.cm-meta{align-items:center;gap:9px;margin-bottom:3px;display:flex}.cm-meta b{font-size:14px}.cm-meta time{color:var(--ink-faint);font-size:12px}.cm-body p{color:var(--ink-dim);white-space:pre-wrap;font-size:14.5px;line-height:1.55}@media (max-width:560px){.readout{grid-template-columns:repeat(2,1fr)}.readout div:nth-child(2){border-right:none}.detail-map{height:300px}}.ls-wrap{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.ls-err{color:#ef8d7c;text-align:right;max-width:260px;font-size:12.5px}.save.saved{color:var(--spruce);border-color:var(--spruce);background:#5fb8a31a}.save.saved svg{fill:var(--spruce)}.save:disabled{opacity:.6;cursor:default}.rcard{position:relative}.rcard-link{z-index:1;border-radius:var(--r);position:absolute;inset:0}.rcard .save{z-index:2;position:relative}.rcard-skel{border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(90deg,#14241e,#1b302a,#14241e) 0 0/200% 100%;height:268px;animation:shimmer 1.4s infinite}.profile{padding:40px 0 90px}.pf-head{align-items:center;gap:18px;margin-bottom:26px;display:flex}.pf-avatar{width:72px;height:72px;color:#0c1512;background:linear-gradient(145deg,var(--amber),var(--amber-deep));border-radius:50%;flex:none;place-items:center;font-size:30px;display:grid}.pf-avatar,.pf-id h1{font-family:var(--font-display),sans-serif;font-weight:800}.pf-id h1{letter-spacing:-.02em;font-size:clamp(24px,4vw,34px);line-height:1}.pf-name{color:var(--ink-dim);margin-top:6px;font-size:15px}.pf-meta{color:var(--ink-faint);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13px;display:flex}.pf-stats{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.pf-stats div{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;padding:18px}.pf-stats b{font-family:var(--font-mono),monospace;color:var(--amber);letter-spacing:-.02em;font-size:26px;font-weight:700;display:block}.pf-stats span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-top:5px;font-size:11px;display:block}.rcard-author{z-index:2;color:var(--spruce);margin-top:5px;font-size:12px;font-weight:600;display:inline-block;position:relative}.rcard-author:hover{color:#7fd3bf}.dh-author{color:var(--spruce)}.dh-author:hover{color:#7fd3bf}.pf-cta{align-self:center;margin-left:auto}.welcome-toast{z-index:200;background:var(--surface);border:1px solid var(--amber);border-radius:14px;align-items:flex-start;gap:12px;width:calc(100% - 32px);max-width:380px;padding:14px 16px;animation:wtIn .4s;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 24px 60px -24px #000000b3}.wt-icon{background:var(--amber);color:#1a1206;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.wt-body b{font-size:14.5px;display:block}.wt-body p{color:var(--ink-dim);margin-top:2px;font-size:13px}.wt-close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.wt-close:hover{color:var(--ink)}@keyframes wtIn{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.rf-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.rf-row .field{gap:7px}@media (max-width:560px){.rf-row{grid-template-columns:1fr}}.attendee-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.attendee{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.attendee:hover{border-color:#3a5247}.attendee b{font-size:14px}.attendee .cm-avatar{width:30px;height:30px;font-size:13px}.lb-tabs{gap:9px;margin-bottom:22px;display:flex}.lb-list{flex-direction:column;gap:10px;list-style:none;display:flex}.lb-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;padding:13px 16px;transition:all .15s;display:flex}.lb-row:hover{border-color:#3a5247}.lb-row.top.t1{border-color:var(--amber);background:linear-gradient(90deg,#f2b14c14,var(--surface) 55%)}.lb-row.top.t2{border-color:#8fa5b8}.lb-row.top.t3{border-color:#c08a5c}.lb-rank{text-align:center;width:34px;color:var(--ink-dim);flex:none;font-size:16px;font-weight:700}.lb-user{flex:1;align-items:center;gap:11px;min-width:0;display:flex}.lb-user b{font-size:15px}.lb-user:hover b{color:var(--amber)}.lb-stats{color:var(--ink-dim);flex-wrap:wrap;justify-content:flex-end;gap:16px;font-size:12.5px;display:flex}.lb-stats b{color:var(--ink)}.lb-note{color:var(--ink-faint);margin-top:18px;font-size:12.5px}@media (max-width:560px){.lb-stats{flex-direction:column;align-items:flex-end;gap:2px}}.empty-cta{text-align:center;border:1.5px dashed var(--line);color:var(--ink-dim);border-radius:18px;flex-direction:column;align-items:center;gap:14px;padding:48px 24px;font-size:15px;display:flex}.page-loader{place-items:center;min-height:50vh;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--amber);border-radius:50%;width:34px;height:34px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.nf{place-items:center;min-height:calc(100dvh - 68px);padding:60px 24px;display:grid;position:relative;overflow:hidden}.nf-bg{z-index:0;position:absolute;inset:0}.nf-bg svg{width:100%;height:100%}.nf-body{z-index:1;text-align:center;max-width:480px;position:relative}.nf-body h1{font-family:var(--font-display),sans-serif;letter-spacing:-.025em;margin:12px 0;font-size:clamp(30px,5vw,46px);font-weight:900;line-height:1.02}.nf-body p{color:var(--ink-dim);margin-bottom:24px}.nf-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn:active:not(:disabled){transform:translateY(0)scale(.97)}.chip:active{transform:scale(.96)}.chip:focus-visible,.ls-btn:focus-visible,.save:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.rcard:focus-within{border-color:#3a5247}.photo-drop{min-height:120px;padding:0;overflow:hidden}.photo-drop:not(:has(img)){padding:26px 20px}.photo-preview{object-fit:cover;width:100%;max-height:220px;display:block}.detail-photo{border:1px solid var(--line);border-radius:18px;margin-bottom:20px;overflow:hidden}.detail-photo img{object-fit:cover;width:100%;max-height:340px;display:block}.detail-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.detail-actions .gpx-download{margin-bottom:0}.pf-avatar-img{object-fit:cover;border:2px solid var(--amber);border-radius:50%;flex:none;width:72px;height:72px}.pf-actions{flex-wrap:wrap;align-self:center;gap:10px;margin-left:auto;display:flex}.settings{flex-direction:column;gap:34px;display:flex}.settings-pass{border-top:1px solid var(--line-soft);padding-top:28px}.avatar-row{align-items:center;gap:16px;display:flex}.avatar-preview{object-fit:cover;border:2px solid var(--line);border-radius:50%;width:64px;height:64px}.avatar-preview-letter{width:64px;height:64px;font-size:26px}.form-msg{color:var(--spruce);background:#5fb8a314;border:1px solid #5fb8a340;border-radius:9px;padding:9px 12px;font-size:13.5px}.rf .field input:disabled{opacity:.55;cursor:not-allowed}.legal{padding:56px 0 90px}.legal .wrap{max-width:680px}.legal h1{font-family:var(--font-display),sans-serif;letter-spacing:-.025em;margin:12px 0 6px;font-size:clamp(26px,4.4vw,40px);font-weight:800;line-height:1.05}.legal-updated{font-family:var(--font-mono),monospace;color:var(--ink-faint);margin-bottom:26px;font-size:12px}.legal h2{font-family:var(--font-display),sans-serif;letter-spacing:-.01em;margin:26px 0 8px;font-size:19px;font-weight:700}.legal p{color:var(--ink-dim);font-size:15px;line-height:1.7}.legal a{color:var(--amber);font-weight:600}.legal-note{border-top:1px solid var(--line-soft);margin-top:30px;padding-top:18px;font-size:13.5px}.nav-gear{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-dim);border-radius:10px;place-items:center;transition:all .15s;display:grid}.nav-gear:hover{color:var(--amber);border-color:var(--amber);transform:rotate(20deg)}@media (max-width:720px){.nav-gear{display:none}}.lroute{position:relative}.lroute-actions{flex-direction:row;flex:none;align-self:flex-end;gap:6px;margin-left:4px;display:flex}.lr-btn{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-dim);background:#ffffff05;border-radius:8px;place-items:center;transition:all .15s;display:grid}.lr-btn:hover{color:var(--amber);border-color:var(--amber)}.pop-actions{border-top:1px solid #ffffff14;gap:10px;margin-top:9px;padding-top:8px;display:flex}.pop-actions a{color:var(--amber);font-size:12px;font-weight:700}.pop-actions a:last-child{color:var(--spruce)}.pop-actions a:hover{text-decoration:underline}.count-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.loc-chip{font-weight:700}.loc-chip:disabled{opacity:.6;cursor:wait}.loc-err{color:#ef8d7c;margin-top:6px;font-size:12px}.dist-tag{color:var(--amber);font-weight:700}.user-marker{background:var(--amber);border:3px solid #f2b14c66;border-radius:50%;width:16px;height:16px;animation:locPulse 1.8s infinite}@keyframes locPulse{0%{box-shadow:0 0 #f2b14c73}70%{box-shadow:0 0 0 14px #f2b14c00}to{box-shadow:0 0 #f2b14c00}}.draw-map{cursor:crosshair}.draw-tools{flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;display:flex}.draw-tools .chip:disabled{opacity:.45;cursor:default}.draw-stat{font-family:var(--font-mono),monospace;color:var(--ink-dim);margin-left:auto;font-size:13px}.draw-stat b{color:var(--amber)}.draw-wrap{position:relative}.draw-loc-btn{z-index:2;border:1px solid var(--line);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c1512e0;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;transition:all .15s;position:absolute;top:10px;right:10px}.draw-loc-btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber)}.draw-loc-btn:disabled{opacity:.6;cursor:wait}.draw-loc-err{z-index:2;color:#ef8d7c;background:#0c1512e0;border-radius:8px;max-width:240px;padding:5px 9px;font-size:11.5px;position:absolute;top:46px;right:10px}.owner-actions{align-items:center;margin-left:auto;display:flex}.btn-del{color:#e08874;cursor:pointer;background:0 0;border:1px solid #d45d4973;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.btn-del:hover{color:#d45d49;background:#d45d4912;border-color:#d45d49}.btn-del.solid{color:#fff;background:#d45d49;border-color:#d45d49}.btn-del.solid:hover{background:#c14e3b}.btn-del:disabled{opacity:.6;cursor:wait}.del-confirm{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.cm-del{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:2px 5px;font-size:13px;transition:all .15s}.cm-del:hover{color:#d45d49;background:#d45d491a}.owner-actions{gap:10px}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:26px 0;display:grid}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:7px;padding:20px 18px;transition:all .16s;display:flex}.contact-card:hover{border-color:var(--amber);transform:translateY(-2px)}.contact-card .em{font-size:26px;line-height:1}.contact-card b{color:var(--ink);font-size:15.5px}.contact-card p{color:var(--ink-dim);font-size:13px;line-height:1.55}.rank-chip{gap:6px;margin-top:8px;font-size:12px}.rank-next{color:var(--ink-dim);margin:14px 0 0;font-size:13px}.rank-next b{color:var(--amber)}.lb-rankbadge{margin-left:2px;font-size:14px}.rank-chip{border:1px solid var(--amber);color:var(--amber);letter-spacing:.01em;background:#f2b14c17;border-radius:999px;align-items:center;gap:5px;width:fit-content;margin-top:7px;padding:4px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.pf-badges{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:16px;display:grid}.badge{text-align:center;border:1px dashed var(--line);opacity:.38;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:13px 8px;transition:all .15s;display:flex}.badge.earned{opacity:1;background:var(--surface);border-style:solid}.badge.earned:hover{border-color:var(--amber);transform:translateY(-2px)}.badge .b-emoji{font-size:24px;line-height:1}.badge .b-label{color:var(--ink-dim);letter-spacing:.02em;font-size:11.5px;font-weight:700}.badge.earned .b-label{color:var(--ink)}a.hero-card-link{color:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}a.hero-card-link:hover{border-color:var(--amber);transform:translateY(-4px);box-shadow:0 18px 44px #00000059}.nav-bell{position:relative}.bell-badge{background:var(--amber);color:#10140f;border:2px solid var(--bg);border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:800;display:grid;position:absolute;top:-5px;right:-6px}.notif-list{flex-direction:column;gap:8px;display:flex}.notif{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex;position:relative}.notif:hover{border-color:var(--amber);transform:translateY(-1px)}.notif.unread{background:#f2b14c0d;border-color:#f2b14c66}.n-icon{flex:none;font-size:18px}.n-text{color:var(--ink-dim);font-size:14px;line-height:1.5}.n-text b{color:var(--ink);font-weight:700}.n-time{color:var(--ink-faint);font-size:12px;font-family:var(--font-mono),monospace;flex:none;margin-left:auto}.n-dot{background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px}button.card-like{cursor:pointer;font:inherit;z-index:2;background:0 0;border:none;padding:0;transition:all .15s;position:relative}button.card-like.on,button.card-like:hover{color:var(--amber)}button.card-like.on svg{fill:var(--amber)}button.card-like:disabled{opacity:.7}.conv-avatar{width:38px;height:38px;color:var(--amber);background:#f2b14c26;border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid;overflow:hidden}.conv-avatar img{object-fit:cover;width:100%;height:100%}.notif.conv .n-text{flex-direction:column;gap:2px;min-width:0;display:flex}.conv-preview{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;max-width:340px;font-size:12.5px;overflow:hidden}.conv-badge{margin-left:4px;position:static}.blocked-box{flex-direction:column;gap:10px;margin-top:34px;display:flex}.blocked-row{border:1px solid var(--line);color:var(--ink-dim);border-radius:12px;justify-content:space-between;padding:10px 14px;font-size:14px}.blocked-row,.thread-head{align-items:center;display:flex}.thread-head{flex-wrap:wrap;gap:12px;margin-bottom:14px}.thread-user{color:var(--ink);align-items:center;gap:9px;display:flex}.thread-user .conv-avatar{width:32px;height:32px;font-size:13px}.thread-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.report-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;flex-basis:100%;gap:10px;margin-top:10px;padding:14px;display:flex}.report-ok{color:var(--spruce);font-size:14px;font-weight:600}.chat{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.chat,.chat-scroll{flex-direction:column;display:flex}.chat-scroll{gap:9px;min-height:260px;max-height:56vh;padding:18px;overflow-y:auto}.bubble{border:1px solid var(--line);background:#ffffff0a;border-radius:14px 14px 14px 4px;align-self:flex-start;max-width:78%;padding:9px 13px}.bubble.mine{background:#f2b14c1f;border-color:#f2b14c4d;border-radius:14px 14px 4px;align-self:flex-end}.bubble p{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.5}.bubble time{color:var(--ink-faint);text-align:right;font-size:10.5px;font-family:var(--font-mono),monospace;margin-top:3px;display:block}.chat-input{border-top:1px solid var(--line);gap:9px;padding:12px;display:flex}.chat-input textarea{resize:none;border:1px solid var(--line);color:var(--ink);font:inherit;background:#ffffff08;border-radius:12px;flex:1;padding:10px 13px;font-size:14px}.chat-input textarea:focus{border-color:var(--amber);outline:none}.chat-blocked{border-top:1px solid var(--line);color:var(--ink-faint);text-align:center;padding:14px;font-size:13px}.msg-btn-wrap{flex-direction:column;gap:6px;display:inline-flex}.msg-btn{gap:8px}.msg-btn svg{flex:none}.msg-btn-wrap .field-error{text-align:right;max-width:260px}@media (max-width:720px){.pf-head{flex-wrap:wrap}.pf-id{min-width:0}.pf-id h1{word-break:break-word;font-size:26px}.pf-actions{flex-basis:100%;justify-content:flex-start;margin-top:4px;margin-left:0}.pf-actions .btn{flex:auto;justify-content:center}}.lang-sw{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.lang-sw button{color:var(--ink-faint);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:11.5px;font-weight:800;transition:all .15s}.lang-sw button.on{color:var(--amber);background:#f2b14c24}.lang-sw button:hover:not(.on){color:var(--ink)}@media (max-width:720px){.nav-cta .lang-sw{display:none}}.menu-lang{border-bottom:1px solid var(--line);margin-bottom:8px;padding:4px 0 10px}.complete-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.complete-count{color:var(--ink-faint);font-size:12.5px;font-family:var(--font-mono),monospace}@media (max-width:720px){.pf-stats{grid-template-columns:repeat(2,1fr)}}.pf-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.btn-complete{color:var(--spruce);background:#5fb8a31a;border:1.5px solid #5fb8a38c;font-weight:700}.btn-complete:hover{border-color:var(--spruce);background:#5fb8a32e;transform:translateY(-1px);box-shadow:0 6px 18px #5fb8a326}.btn-complete.on{background:var(--spruce);border-color:var(--spruce);color:#0c1512}.btn-complete.on:hover{filter:brightness(1.06)}.prov-link{color:inherit;border-bottom:1px dotted var(--ink-faint);transition:all .15s}.prov-link:hover{color:var(--amber);border-color:var(--amber)}.ride-page{padding:0}.ride-wrap{z-index:40;background:var(--bg);position:fixed;inset:64px 0 0}.ride-map{position:absolute;inset:0}.ride-top{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1512e0;border-radius:16px;padding:12px 16px;position:absolute;top:14px;left:14px;right:14px}.ride-title{font-size:15px;font-weight:800}.ride-stats{color:var(--ink-dim);gap:18px;margin-top:6px;font-size:13px;display:flex}.ride-stats b{color:var(--amber);font-size:17px}.ride-controls{z-index:5;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:22px;left:14px;right:14px}.ride-big{border-radius:16px;justify-content:center;width:100%;max-width:420px;padding:16px 20px;font-size:16px;font-weight:800}.ride-note{color:var(--ink-faint);background:#0c1512bf;border-radius:999px;padding:4px 12px;font-size:12px}.ride-offroute{z-index:6;color:#fff;background:#d67449f2;border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:700;position:absolute;top:96px;left:50%;transform:translate(-50%)}.ride-dot{background:#4da3ff;border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 8px #4da3ff40}.ride-finish{z-index:10;background:#0c1512e6;place-items:center;display:grid;position:absolute;inset:0}.ride-finish-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;max-width:90vw;padding:40px 48px}.ride-finish-card h2{margin:10px 0 6px}.ride-finish-card p{color:var(--ink-dim);margin-bottom:22px}.ride-fallback{text-align:center;color:var(--ink-dim);padding:80px 20px}.btn-ride{color:var(--amber);background:#f2b14c1a;border:1.5px solid #f2b14c99;font-weight:700}.btn-ride:hover{background:#f2b14c33;transform:translateY(-1px)}.ride-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ride-sens{color:var(--spruce);cursor:pointer;white-space:nowrap;background:#5fb8a31f;border:1px solid #5fb8a366;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.ride-row{gap:10px;width:100%;max-width:420px;display:flex}.ride-row .ride-big{flex:1}.ride-paused{color:var(--amber);font-weight:800}.head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-rec{position:relative}.btn-rec:before{content:"";background:#e0564a;border-radius:50%;flex:none;width:9px;height:9px;margin-right:8px;animation:rec-pulse 1.6s infinite;display:inline-block;box-shadow:0 0 #e0564a80}@keyframes rec-pulse{0%{box-shadow:0 0 #e0564a73}70%{box-shadow:0 0 0 7px #e0564a00}to{box-shadow:0 0 #e0564a00}}a.chip.btn-rec{align-items:center;text-decoration:none;display:inline-flex}.adm-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:28px;display:grid}.adm-stats>div{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;padding:14px 16px}.adm-stats b{font-size:26px;font-family:var(--font-mono),monospace;color:var(--amber);display:block}.adm-stats span{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}.adm-stats .adm-alert b{color:#e0564a}.adm-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;display:grid}.adm-sec{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:6px;padding:18px 20px}.adm-sec h3{margin-bottom:12px;font-size:15px}.adm-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;font-size:13.5px;display:flex}.adm-row:first-of-type{border-top:0}.adm-row a{color:var(--spruce)}.adm-row em{color:var(--ink-faint);font-style:normal}.adm-row time{color:var(--ink-faint);font-size:11.5px;font-family:var(--font-mono),monospace;white-space:nowrap}.adm-report{background:#e0564a0f;border-top:0;border-radius:8px;margin-bottom:6px;padding:8px 10px}.adm-empty{color:var(--ink-faint);font-size:13.5px}.pop-actions .camp-story-btn{cursor:pointer;color:var(--amber);font:inherit;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:700}.pop-actions .camp-story-btn:hover{text-decoration:underline}.join-nudge{width:100%;color:var(--ink-dim);background:#f2b14c0f;border:1px dashed #f2b14c73;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding:12px 16px;font-size:13.5px;display:flex}.gpx-locked{opacity:.92}.gpx-hint{color:var(--amber);margin-left:8px;font-size:11.5px;font-weight:700}.founder-chip{color:var(--amber);background:#f2b14c24;border-color:#f2b14c80}.auth-perks{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0 0 18px;padding:12px 16px;list-style:none}.auth-perks li{color:var(--ink-dim);padding:4px 0;font-size:13px}.auth-perks li:before{content:"✓ ";color:var(--spruce);font-weight:800}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}