@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--space-xxxl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--touch:44px;--cta-height:52px;--ease-out:cubic-bezier(.23, 1, .32, 1);--press-ms:.12s;--state-ms:.2s;--color-ms:.15s;--elev-1:0 1px 2px color-mix(in srgb, var(--shadow) 8%, transparent), 0 2px 8px color-mix(in srgb, var(--shadow) 8%, transparent);--elev-2:0 2px 6px color-mix(in srgb, var(--shadow) 12%, transparent), 0 8px 24px color-mix(in srgb, var(--shadow) 14%, transparent);--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-size:15px;line-height:22px}h1,h2,h3,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--brand-accent)}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t-display{letter-spacing:-.3px;font-size:24px;font-weight:700;line-height:30px}.t-metric{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:36px}.t-title{letter-spacing:-.2px;font-size:18px;font-weight:600;line-height:24px}.t-body{font-size:15px;font-weight:400;line-height:22px}.t-body-strong{font-size:15px;font-weight:600;line-height:22px}.t-label{font-size:14px;font-weight:600;line-height:18px}.t-caption{font-size:13px;font-weight:500;line-height:18px}.t-micro{font-size:12px;font-weight:700;line-height:16px}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.pressable{transition:transform var(--press-ms) var(--ease-out), background-color var(--color-ms) ease, border-color var(--color-ms) ease, opacity var(--color-ms) ease}.pressable:active:not(:disabled){transform:scale(.97)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch);padding:0 var(--space-lg);border-radius:var(--radius-md);cursor:pointer;background:var(--sunken);color:var(--text-primary);border:1px solid #0000;font-size:14px;font-weight:600;line-height:18px;text-decoration:none;display:inline-flex}.btn--primary{background:var(--brand);color:var(--text-on-brand)}.btn--primary:hover:not(:disabled){background:var(--brand-deep)}.btn--secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text-primary)}.btn--ghost{color:var(--brand-accent);background:0 0}.btn--danger{background:var(--danger);color:var(--on-fill)}.btn--cta{min-height:var(--cta-height);border-radius:var(--radius-lg);width:100%;box-shadow:var(--elev-1);font-size:16px;line-height:22px}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex-shrink:0}.icon-btn{width:var(--touch);height:var(--touch);border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);color:var(--text-primary);box-shadow:var(--elev-1);cursor:pointer;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-btn--flat{box-shadow:none;background:0 0;border-color:#0000}.chip{min-height:var(--touch);padding:0 var(--space-md);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:18px;display:inline-flex}.chip[aria-pressed=true]{background:var(--brand-ghost);border-color:var(--brand-border);color:var(--brand-accent)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.badge__dot{border-radius:50%;width:8px;height:8px}.badge--info{background:var(--info-surface);color:var(--info-text)}.badge--warning{background:var(--warning-surface);color:var(--warning-text)}.badge--neutral{background:var(--sunken);color:var(--text-secondary)}.card{width:100%;padding:var(--space-lg);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left;box-shadow:var(--elev-1);display:block}button.card,a.card{cursor:pointer;color:inherit;text-decoration:none}button.card:active,a.card:active{background:var(--sunken)}.card--highlighted{border-color:var(--brand-border)}.status-icon{width:40px;height:40px;color:var(--on-fill);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bar{align-items:center;gap:var(--space-sm);display:flex}.bar__track{border-radius:var(--radius-pill);background:var(--sunken);flex:1;height:6px;overflow:hidden}.bar--md .bar__track{height:8px}.bar__fill{border-radius:var(--radius-pill);height:100%;transition:width var(--state-ms) var(--ease-out)}.empty{align-items:center;gap:var(--space-sm);padding:var(--space-xxl) var(--space-lg);text-align:center;flex-direction:column;display:flex}.empty__icon{color:var(--faint)}.notice{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);background:var(--info-surface);color:var(--info-text);align-items:flex-start;display:flex}.notice--warning{background:var(--warning-surface);color:var(--warning-text)}.notice--danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.notice svg{flex-shrink:0;margin-top:1px}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field__label{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:18px}.input{width:100%;min-height:var(--touch);padding:0 var(--space-md);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);font-size:16px}textarea.input{padding:var(--space-md);resize:vertical;min-height:96px}.input:focus-visible{border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-ghost);outline:none}.page{max-width:720px;padding:calc(var(--safe-top) + var(--space-lg)) var(--space-lg) calc(var(--safe-bottom) + var(--space-xxl));gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.page__back{align-items:center;gap:var(--space-xs);min-height:var(--touch);color:var(--brand-accent);align-self:flex-start;font-weight:600;text-decoration:none;display:inline-flex}.prose{gap:var(--space-md);color:var(--text-secondary);flex-direction:column;display:flex}.prose h2{color:var(--text-primary);margin-top:var(--space-md)}.prose ul{padding-left:var(--space-xl);gap:var(--space-xs);flex-direction:column;margin:0;display:flex}.section{gap:var(--space-md);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-md);display:flex}.row--wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.map-screen{background:var(--sunken);height:100%;position:relative;overflow:hidden}.map-canvas{z-index:0;background:var(--sunken);width:100%;height:100%;font-family:var(--font);position:absolute;inset:0}.leaflet-container a{color:var(--brand-accent)}.leaflet-control-attribution{background:var(--glass)!important;color:var(--text-muted)!important;font-size:12px!important;line-height:16px!important}.topbar{z-index:500;top:calc(var(--safe-top) + var(--space-md));left:var(--space-md);right:var(--space-md);gap:var(--space-sm);pointer-events:none;display:flex;position:absolute}.topbar>*{pointer-events:auto}.searchpill{align-items:center;gap:var(--space-sm);min-width:0;min-height:var(--touch);padding:0 var(--space-md);border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);box-shadow:var(--elev-1);color:var(--text-muted);flex:1;display:flex}.searchpill input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:16px}.searchpill input::placeholder{color:var(--text-muted)}.map-controls{z-index:400;right:var(--space-md);gap:var(--space-sm);bottom:calc(var(--sheet-visible,120px) + var(--space-md));transition:bottom var(--state-ms) var(--ease-out);flex-direction:column;display:flex;position:absolute}.pin{background:0 0;border:0}.pin__hit{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.pin__dot{border:3px solid var(--surface);width:28px;height:28px;color:var(--on-fill);box-shadow:var(--elev-1);transition:transform var(--state-ms) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex}.pin--selected .pin__dot{border-color:var(--brand);border-width:4px;transform:scale(1.36)}.pin__label{max-width:180px;padding:2px var(--space-sm);border-radius:var(--radius-md);background:var(--glass);border:1px solid var(--glass-line);color:var(--text-primary);box-shadow:var(--elev-1);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%,-2px)}.pin__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;line-height:16px;overflow:hidden}.pin__detail{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500;line-height:16px}.pin__badge{border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;right:6px}.pin__badge--unverified{background:var(--status-az-kaldi-fill)}.pin__badge--outside{background:var(--danger)}.me-dot{background:var(--brand-accent);border:3px solid var(--surface);width:16px;height:16px;box-shadow:0 0 0 6px var(--brand-ghost);border-radius:50%}.sheet{z-index:600;height:var(--sheet-visible,120px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);box-shadow:var(--elev-2);transition:height var(--state-ms) var(--ease-out);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.sheet--dragging{transition:none}.sheet__handle{touch-action:none;cursor:grab;flex-shrink:0;justify-content:center;align-items:center;height:28px;display:flex}.sheet__handle:before{content:"";background:var(--line-strong);border-radius:2px;width:40px;height:4px}.sheet__head{padding:0 var(--space-md) var(--space-sm);gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.sheet__body{overscroll-behavior:contain;min-height:0;padding:0 var(--space-md) calc(var(--safe-bottom) + var(--space-xl));gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chiprow{margin-top:var(--space-sm);gap:var(--space-sm);padding:2px var(--space-md);margin-inline:calc(var(--space-md) * -1);scrollbar-width:none;display:flex;overflow-x:auto}.chiprow::-webkit-scrollbar{display:none}.chiprow__sep{background:var(--line-strong);flex-shrink:0;width:1px;margin:10px 2px}@media (width>=900px){.sheet{top:var(--space-md);left:var(--space-md);bottom:var(--space-md);border-radius:var(--radius-lg);width:400px;height:auto;right:auto}.sheet--compact{height:auto;max-height:calc(100% - var(--space-xl));bottom:auto}.sheet__handle{display:none}.sheet__head{padding-top:var(--space-md)}.topbar{left:calc(400px + var(--space-xl));right:var(--space-md);max-width:460px}.map-controls{bottom:var(--space-xl)}}.vcard{gap:var(--space-md);flex-direction:column;display:flex}.vcard__row{align-items:center;gap:var(--space-md);display:flex}.vcard__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vcard__figure{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.star-btn{width:var(--touch);height:var(--touch);cursor:pointer;color:var(--faint);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-10px -10px -10px -4px;display:inline-flex}.star-btn[aria-pressed=true]{color:var(--favorite)}.panel{gap:var(--space-md);flex-direction:column;display:flex}.panel__header{align-items:flex-start;gap:var(--space-md);display:flex}.panel__title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.panel__metric{align-items:center;gap:var(--space-md);display:flex}.panel__metric-meta{gap:var(--space-xs);flex-direction:column;align-items:flex-start;min-width:0;display:flex}.panel__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.panel__actions .btn{flex:1}.quick{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.quick__btn{min-height:64px;padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:18px;display:flex}.quick__btn:disabled{opacity:.5;cursor:not-allowed}.quick__dot{border-radius:50%;width:10px;height:10px}.tagrow{gap:var(--space-sm);flex-wrap:wrap;display:flex}.tag{border-radius:var(--radius-pill);background:var(--sunken);color:var(--text-secondary);align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.range{width:100%;accent-color:var(--brand);height:var(--touch)}.comment{padding:var(--space-md);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:2px;display:flex}.comment__actions{gap:var(--space-xs);margin-top:var(--space-xs);display:flex}.link-btn{min-height:32px;padding:0 var(--space-sm);margin-left:calc(var(--space-sm) * -1);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.link-btn:hover{color:var(--text-primary)}.toast{z-index:2000;left:50%;bottom:calc(var(--safe-bottom) + var(--space-xl));max-width:min(92vw,420px);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--hint);color:var(--text-primary);box-shadow:var(--elev-2);animation:toast-in var(--state-ms) var(--ease-out);font-size:14px;font-weight:600;line-height:18px;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal{z-index:1500;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal__card{width:100%;max-width:480px;max-height:92dvh;padding:var(--space-lg) var(--space-lg) calc(var(--safe-bottom) + var(--space-lg));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);gap:var(--space-md);animation:sheet-in var(--state-ms) var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width>=600px){.modal{align-items:center}.modal__card{border-radius:var(--radius-lg)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--sunken), var(--line), var(--sunken));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.vcard-wrap{position:relative}.vcard-wrap .card{padding-right:calc(var(--space-lg) + var(--touch) - var(--space-sm))}.vcard-wrap .star-btn{top:50%;right:var(--space-xs);margin:0;position:absolute;transform:translateY(-50%)}.vcard-wrap .vcard__figure{margin-right:0}.hero{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-lg);background:var(--sunken);width:100%}.gallery{gap:var(--space-sm);scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);scroll-snap-align:start;background:var(--sunken);flex:0 0 72%;max-width:420px}.detail{gap:var(--space-xs);flex-direction:column;display:flex}.detail dt{color:var(--text-muted);font-size:13px;font-weight:600;line-height:18px}.detail dd{margin:0 0 var(--space-sm)}.counter{text-align:right}.tiles--dark{filter:invert()hue-rotate(180deg)brightness(.85)contrast(.9)saturate(.7)}.welcome{padding-top:calc(var(--safe-top) + var(--space-xl))}.welcome__hero{background:var(--brand);width:72px;height:72px;color:var(--text-on-brand);border-radius:50%;justify-content:center;align-self:center;align-items:center;display:flex}.welcome__title,.welcome__lead{text-align:center}.welcome__points,.welcome__rules{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.welcome__point{gap:var(--space-md);align-items:flex-start;display:flex}.welcome__point svg{color:var(--brand-accent);flex-shrink:0;margin-top:2px}.welcome__rules li{padding-left:var(--space-md);border-left:3px solid var(--brand-border)}.topbar{gap:var(--space-sm);flex-direction:column}.topbar__row{gap:var(--space-sm);display:flex}.chip--floating{background:var(--glass);border-color:var(--glass-line);box-shadow:var(--elev-1)}.chip--floating[aria-pressed=true]{background:var(--surface);border-color:var(--brand-border)}.chip__count{border-radius:var(--radius-pill);background:var(--brand-ghost);min-width:20px;color:var(--brand-accent);text-align:center;padding:0 6px;font-size:12px;font-weight:700;line-height:20px}.chiprow--floating{pointer-events:auto;margin:0;padding:2px 0 6px}.sheet__count{text-align:center}.carousel{border-radius:var(--radius-lg);background:var(--sunken);min-height:var(--touch);position:relative;overflow:hidden}.carousel__track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.carousel__track::-webkit-scrollbar{display:none}.carousel__img{aspect-ratio:16/10;object-fit:cover;scroll-snap-align:start;flex:0 0 100%;width:100%}.carousel__status{top:var(--space-md);left:var(--space-md);border-radius:var(--radius-pill);padding:2px 10px;font-weight:700;position:absolute}.carousel__fav{top:var(--space-sm);right:var(--space-sm);position:absolute}.carousel__dots{bottom:var(--space-sm);justify-content:center;gap:6px;display:flex;position:absolute;left:0;right:0}.carousel__dot{background:var(--on-fill);opacity:.5;border-radius:50%;width:6px;height:6px}.carousel__dot--on{opacity:1}.carousel--empty{background:0 0;justify-content:space-between;align-items:center;display:flex;overflow:visible}.carousel--empty .carousel__status,.carousel--empty .carousel__fav{position:static}
