:root{--kge-yellow:#E6B40A;--kge-green:#22C55E;--kge-forest:#1F7A45;--kge-leaf:#5BB06A;--kge-pink:#EC74C8;--kge-red:#F2402A;--kge-orange:#F07B3F;--kge-blue:#3D2BFF;--kge-sky:#1E7FD6;--kge-teal:#4AA8C0;--kge-beige:#E8D3C8;--kge-magenta:#F0389A;--kge-ink:#111111;--kge-gray:#8E8E93;--kge-background:#F0F5FC;--kge-surface:#FFFFFF;--kge-textPrimary:#1A1D24;--kge-textSecondary:#5B6472;--kge-accent:#CD473C;--kge-danger:#CD473C;--kge-separator:#D9E3F0;--kge-routeMe:#1A1D24;--kge-routeGuide:#98A3B3;--kge-textTertiary:#98A3B3;--kge-fill:#E3EBF6;--kge-location:#1E6EFA;--kge-onAccent:#FFFFFF;--kge-kakao:#FEE500;--kge-onKakao:#000000D9;--kge-apple:#000000;--kge-onApple:#FFFFFF;--kge-viewerBackground:#000000;--kge-onViewer:#FFFFFF;--kge-surfaceTint:#E6EEF9;--kge-tile:#CD473C;--kge-shadow:#284678;--kge-radius-sm:8px;--kge-radius-tile:7px;--kge-radius-md:12px;--kge-radius-lg:20px;--kge-radius-card:26px;--kge-radius-xl:32px;--kge-radius-pill:999px;--kge-radius-bubble:18px;--kge-space-xs:4px;--kge-space-sm:8px;--kge-space-md:12px;--kge-space-lg:16px;--kge-space-page:16px;--kge-space-xl:24px;--kge-space-xxl:32px;--kge-rowMinHeight:44px;--kge-iconTile:24px;--kge-avatarRow:44px;--kge-tabBarHeight:68px;--kge-chatAvatar:36px;--kge-chatBubbleMax:264px;--kge-chatPhoto:200px;--kge-chatPhotoMaxWidth:240px;--kge-chatPhotoMaxHeight:320px;--kge-avatarCard:64px;--kge-avatarHero:112px;--kge-illustration:120px;--kge-illustrationHero:168px;--kge-buttonHeight:50px;--kge-buttonSmall:32px;--kge-mapButton:44px;--kge-photoThumb:88px;--kge-textMaxWidth:300px;--kge-ratio-detailMap:0.75;--kge-font-display:30px;--kge-font-pageTitle:24px;--kge-font-largeTitle:34px;--kge-font-title:28px;--kge-font-title2:22px;--kge-font-title3:20px;--kge-font-headline:17px;--kge-font-body:17px;--kge-font-callout:16px;--kge-font-subheadline:15px;--kge-font-footnote:13px;--kge-font-caption:12px;--kge-font-caption2:11px;--kge-effect-surfaceOpacity:0.82;--kge-effect-surfaceBlur:18px;--kge-effect-shadowOpacity:0.12;--kge-effect-shadowRadius:14px;--kge-glass-blur:18px;--kge-font-family-display:"Jalnan2"}@media (prefers-color-scheme:dark){:root{--kge-background:#141A24;--kge-surface:#1C2430;--kge-textPrimary:#F2F5FA;--kge-textSecondary:#A7B2C2;--kge-accent:#E05C50;--kge-danger:#E05C50;--kge-separator:#33405A;--kge-routeMe:#F2F5FA;--kge-routeGuide:#6B788A;--kge-textTertiary:#6B788A;--kge-fill:#263040;--kge-location:#4C8DFF;--kge-onAccent:#FFFFFF;--kge-kakao:#FEE500;--kge-onKakao:#000000D9;--kge-apple:#FFFFFF;--kge-onApple:#000000;--kge-viewerBackground:#000000;--kge-onViewer:#FFFFFF;--kge-surfaceTint:#223040;--kge-tile:#E05C50;--kge-shadow:#000000}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--kge-background);color:var(--kge-textPrimary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Apple SD Gothic Neo,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:var(--kge-font-body);line-height:1.35;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;word-break:keep-all;overflow-wrap:anywhere}button{font:inherit;cursor:pointer;border:0;background:none;padding:0;text-align:inherit}a,button{color:inherit}a{text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3,strong{text-wrap:balance}p{text-wrap:pretty}img{max-width:100%}.footnote,.secondary{color:var(--kge-textSecondary)}.footnote{font-size:var(--kge-font-footnote);line-height:1.4}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{max-width:480px;margin:0 auto;min-height:100dvh;position:relative}.app__content{padding-bottom:calc(var(--kge-tabBarHeight) + 32px + env(safe-area-inset-bottom));min-height:100dvh}.app__content.is-bare{padding-bottom:env(safe-area-inset-bottom)}.beta-ribbon{position:fixed;top:calc(6px + env(safe-area-inset-top));right:max(12px,calc(50% - 228px));z-index:50;font-size:var(--kge-font-caption2);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--kge-yellow);color:var(--kge-ink);pointer-events:none}.app:has(.nav-bar) .beta-ribbon{display:none}.page{padding:calc(12px + env(safe-area-inset-top)) var(--kge-space-page) var(--kge-space-xl);display:flex;flex-direction:column;gap:var(--kge-space-xl)}.large-title{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--kge-space-md);padding:0 4px;margin-bottom:calc(var(--kge-space-sm) * -1)}.large-title__subtitle{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary);padding:0 4px;margin-top:calc(var(--kge-space-md) * -1)}.large-title h1{font-size:var(--kge-font-largeTitle);font-weight:700;letter-spacing:-.02em;line-height:1.15}.onboarding__head{display:flex;flex-direction:column;gap:var(--kge-space-sm);padding:0 4px}.onboarding__head .large-title__subtitle{margin-top:0;padding:0}.onboarding__title{font-size:var(--kge-font-title2);font-weight:700;letter-spacing:-.01em}.page.has-nav{padding-top:calc(56px + env(safe-area-inset-top) + var(--kge-space-sm))}.nav-bar{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:30;width:min(480px,100%);height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--kge-space-sm) 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:var(--kge-space-sm);gap:var(--kge-space-sm);border-radius:0!important;border-width:0 0 .5px!important}.nav-bar__back{display:inline-flex;align-items:center;gap:2px;color:var(--kge-accent);font-size:var(--kge-font-body);height:44px;padding-right:var(--kge-space-sm);justify-self:start;white-space:nowrap}.nav-bar__chevron{display:inline-flex;transform:scaleX(-1)}.nav-bar__title{font-size:var(--kge-font-headline);font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.nav-bar__trailing{justify-self:end;display:inline-flex;align-items:center}.glass-ui .glass{background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.06) 45%,rgba(255,255,255,0) 70%),rgba(255,255,255,.7);backdrop-filter:blur(var(--kge-glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--kge-glass-blur)) saturate(180%);border:.5px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.06),0 10px 30px rgba(0,0,0,.1)}.classic-ui .glass{background:var(--kge-surface);border:.5px solid color-mix(in srgb,var(--kge-separator) 50%,transparent);box-shadow:0 1px 3px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.06)}@media (prefers-color-scheme:dark){.glass-ui .glass{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02) 45%,rgba(255,255,255,0) 70%),rgba(255,255,255,.7);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.4)}.classic-ui .glass{box-shadow:none;border-color:var(--kge-separator)}}.glass-ui a.glass,.glass-ui button.glass{transition:transform .18s cubic-bezier(.2,.9,.3,1.3)}.glass-ui a.glass:active,.glass-ui button.glass:active{transform:scale(.94)}.card{background:var(--kge-surface);border-radius:var(--kge-radius-card);padding:var(--kge-space-lg)}.group{display:flex;flex-direction:column;gap:6px}.group__header{font-weight:400}.group__footer,.group__header{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary);padding:0 var(--kge-space-lg)}.group__footer{line-height:1.4}.group__body{background:var(--kge-surface);border-radius:var(--kge-radius-card);overflow:hidden}.row{display:flex;align-items:center;gap:var(--kge-space-md);width:100%;min-height:var(--kge-rowMinHeight);padding-left:var(--kge-space-lg);position:relative;text-align:left}.row.is-tall{min-height:calc(var(--kge-avatarRow) + 20px)}.row.is-interactive:active{background:var(--kge-fill)}.row.is-dimmed .row__leading,.row.is-dimmed .row__text{opacity:.45}.row__leading{display:inline-flex;flex-shrink:0}.row__main{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--kge-space-sm);padding:11px var(--kge-space-lg) 11px 0;min-height:inherit}.row+.row .row__main{box-shadow:inset 0 .5px 0 var(--kge-separator)}.row__text{flex:1 1;flex-direction:column;gap:2px}.row__text,.row__title{min-width:0;display:flex}.row__title{font-size:var(--kge-font-body);align-items:center;gap:6px}.row__title>strong{font-size:var(--kge-font-headline);font-weight:600}.row__subtitle,.row__title>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__subtitle{display:block;font-size:var(--kge-font-subheadline)}.row__subtitle,.row__trailing{color:var(--kge-textSecondary)}.row__trailing{display:inline-flex;align-items:center;gap:var(--kge-space-sm);font-size:var(--kge-font-body);flex-shrink:0}.row__chevron{display:inline-flex;color:var(--kge-textTertiary)}.row__check{display:inline-flex;color:var(--kge-accent)}.row-line{display:flex;align-items:center;gap:var(--kge-space-sm);width:100%;min-width:0}.row-line>:first-child{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-line__end{flex-shrink:0;font-size:var(--kge-font-footnote);font-weight:400;color:var(--kge-textTertiary)}.row-actions{display:inline-flex;align-items:center;gap:var(--kge-space-sm)}.icon-tile{width:var(--kge-iconTile);height:var(--kge-iconTile);border-radius:var(--kge-radius-tile)}.count-badge,.icon-tile{display:inline-flex;align-items:center;justify-content:center;color:#fff}.count-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--kge-danger);font-size:var(--kge-font-caption2);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag{font-size:var(--kge-font-caption2);font-weight:600;padding:2px 7px;border-radius:6px;background:var(--kge-fill);color:var(--kge-textSecondary);white-space:nowrap}.tag.is-accent{color:var(--kge-accent);background:color-mix(in srgb,var(--kge-accent) 12%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--kge-space-sm);height:var(--kge-buttonHeight);padding:0 var(--kge-space-xl);border-radius:999px;font-size:var(--kge-font-headline);font-weight:600;width:100%;white-space:nowrap}.btn.is-primary{background:var(--kge-accent);color:var(--kge-onAccent)}.btn.is-gray,.btn.is-secondary{background:var(--kge-fill);color:var(--kge-textPrimary)}.btn.is-plain{background:transparent}.btn.is-danger-text{color:var(--kge-danger)}.btn.is-tinted{background:color-mix(in srgb,var(--kge-accent) 12%,transparent);color:var(--kge-accent)}.btn.is-kakao{background:var(--kge-kakao);color:var(--kge-onKakao)}.btn.is-apple{background:var(--kge-apple);color:var(--kge-onApple)}.btn.is-small{height:var(--kge-buttonSmall);padding:0 14px;font-size:var(--kge-font-subheadline);width:auto;position:relative}.btn.is-small:after{content:"";position:absolute;inset:-6px -2px}.btn.is-icon{width:var(--kge-buttonSmall);padding:0}.btn:active{opacity:.7}.btn:disabled{opacity:.4;cursor:default}.nav-button{color:var(--kge-accent);font-size:var(--kge-font-body);font-weight:400;min-height:44px}.circle-button{position:relative;width:var(--kge-mapButton);height:var(--kge-mapButton);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--kge-textPrimary)}.circle-button .count-badge{position:absolute;top:-4px;right:-4px}.circle-button.is-following{color:var(--kge-location)}.kakao-mark{width:18px;height:18px;background:var(--kge-onKakao);border-radius:50% 50% 50% 50%/45% 45% 55% 55%;display:inline-block}.switch{width:51px;height:31px;border-radius:999px;background:var(--kge-fill);position:relative;transition:background .2s;flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);transition:transform .2s}.switch.is-on{background:var(--kge-accent)}.switch.is-on:after{transform:translateX(20px)}.switch:disabled{opacity:.4;cursor:default}.row-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;color:var(--kge-textSecondary);text-align:right;padding-right:18px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-size:5px 5px;background-position:right 4px top 45%,right 0 top 45%;background-repeat:no-repeat}.row-input,.row-select{border:0;font:inherit;font-size:var(--kge-font-body)}.row-input{width:100%;background:transparent;color:var(--kge-textPrimary);outline:none;padding:0}.row-input::placeholder{color:var(--kge-textTertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--kge-space-md);padding:var(--kge-space-xxl) 0;text-align:center}.empty-state__title{font-size:var(--kge-font-headline);font-weight:600;margin-top:var(--kge-space-xs)}.empty-state__message{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary);max-width:var(--kge-textMaxWidth)}.empty-state__message,.empty-state__title+.empty-state__message{margin-top:calc(var(--kge-space-sm) * -1)}.loading{display:flex;justify-content:center;padding:var(--kge-space-xxl) 0}.loading.is-full{min-height:100dvh;align-items:center}.loading__spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--kge-fill);border-top-color:var(--kge-textSecondary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:90;max-width:calc(min(480px, 100%) - 2 * var(--kge-space-page));padding:var(--kge-space-md) var(--kge-space-lg);border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:600;text-align:center;animation:toast-in .25s ease-out}@keyframes toast-in{0%{transform:translate(-50%,-12px);opacity:0}to{transform:translate(-50%);opacity:1}}.hero-page{min-height:calc(100dvh - env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;gap:var(--kge-space-xxl);padding:calc(var(--kge-space-xxl) + env(safe-area-inset-top)) var(--kge-space-xl) var(--kge-space-lg)}.app__content:not(.is-bare) .hero-page{min-height:calc(100dvh - var(--kge-tabBarHeight) - 32px - env(safe-area-inset-bottom))}.hero-page__hero{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--kge-space-md);text-align:center}.hero-page__hero h1{font-size:var(--kge-font-title2);font-weight:700;letter-spacing:-.02em;margin-top:var(--kge-space-sm)}.hero-page__hero p{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary);max-width:var(--kge-textMaxWidth)}.hero-page__actions{display:flex;flex-direction:column;gap:var(--kge-space-md);text-align:center}.error-text{font-size:var(--kge-font-footnote);text-align:center}.danger-text,.error-text{color:var(--kge-danger)}.accent-text{color:var(--kge-accent)}.tabbar{position:fixed;left:50%;transform:translateX(-50%);z-index:40;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(min(480px, 100%) - 24px);height:var(--kge-tabBarHeight);display:grid;grid-template-columns:repeat(5,1fr);padding:4px}.tabbar,.tabbar__item{align-items:center;border-radius:999px}.tabbar__item{height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:var(--kge-font-caption2);font-weight:600;color:var(--kge-textPrimary)}.tabbar__item.is-active{color:var(--kge-accent);background:var(--kge-fill)}.glass-ui .tabbar__item.is-active{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.15)),var(--kge-fill);box-shadow:inset 0 .5px 0 rgba(255,255,255,.8),0 1px 3px rgba(0,0,0,.06)}@media (prefers-color-scheme:dark){.glass-ui .tabbar__item.is-active{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04)),var(--kge-fill);box-shadow:inset 0 .5px 0 rgba(255,255,255,.18)}}.tabbar__item{transition:background-color .2s,transform .18s cubic-bezier(.2,.9,.3,1.3)}.tabbar__item:active{transform:scale(.94)}.tabbar__icon{position:relative;display:inline-flex}.tabbar__icon .count-badge{position:absolute;top:-5px;right:-11px}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:88dvh;overflow-y:auto;background:var(--kge-background);border-radius:var(--kge-radius-card) var(--kge-radius-card) 0 0;padding:6px var(--kge-space-page) calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--kge-space-xl);animation:sheet-up .32s cubic-bezier(.2,.9,.3,1)}.sheet.is-expanded{height:88dvh;transition:height .32s cubic-bezier(.2,.9,.3,1)}.photo-preview__image{width:100%;max-height:64dvh;object-fit:contain;border-radius:var(--kge-radius-card);background:var(--kge-fill)}@keyframes sheet-up{0%{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}.sheet__grabber{width:36px;height:5px;border-radius:3px;background:var(--kge-textTertiary);opacity:.6;margin:0 auto}.sheet__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:calc(var(--kge-space-sm) * -1)}.sheet__header h2{font-size:var(--kge-font-headline);font-weight:600;text-align:center}.sheet__header .nav-button{justify-self:end}.sheet__header .nav-button.is-back{justify-self:start}.sheet-backdrop.is-center{align-items:center;padding:var(--kge-space-page)}.notice{width:100%;max-width:340px;padding:var(--kge-space-xl);border-radius:var(--kge-radius-card);display:flex;flex-direction:column;gap:var(--kge-space-lg);background:var(--kge-surface)}.notice p{font-size:var(--kge-font-body);text-align:center}.tile-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--kge-space-md);gap:var(--kge-space-md)}.tile-button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:var(--kge-radius-lg);background:var(--kge-surface);font-size:var(--kge-font-subheadline);font-weight:600;text-align:left}.blob-dog{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:visible}.blob-dog,.blob-dog__body{position:relative;flex-shrink:0}.blob-dog__body{transform-origin:center}.blob-dog__gaze{inset:0;transition:transform .22s cubic-bezier(.25,1.2,.5,1)}.blob-dog__gaze,.blob-dog__layer{position:absolute;pointer-events:none}.blob-dog__layer{max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blob-dog__layer.is-eyesClosed{opacity:0}.blob-dog.is-animated .blob-dog__body{animation:blob-breath var(--breath) ease-in-out infinite}.blob-dog.is-poked .blob-dog__body{animation:blob-poke .6s cubic-bezier(.3,1.6,.5,1)}.blob-dog.is-animated .blob-dog__layer{animation:blob-float var(--period) linear var(--delay) infinite}.blob-dog.is-animated .blob-dog__layer.is-eyesOpen{animation:blob-float var(--period) linear var(--delay) infinite,blob-eyes-open var(--blink) steps(1) var(--blink-delay) infinite}.blob-dog.is-animated .blob-dog__layer.is-eyesClosed{animation:blob-float var(--period) linear var(--delay) infinite,blob-eyes-closed var(--blink) steps(1) var(--blink-delay) infinite}@keyframes blob-breath{0%,to{transform:scale(1)}50%{transform:scale(var(--breath-scale))}}@keyframes blob-poke{0%{transform:scale(.86)}to{transform:scale(1)}}@keyframes blob-float{0%{transform:translate(var(--amp))}25%{transform:translateY(var(--amp))}50%{transform:translate(calc(var(--amp) * -1))}75%{transform:translateY(calc(var(--amp) * -1))}to{transform:translate(var(--amp))}}@keyframes blob-eyes-open{0%{opacity:1}97%{opacity:0}to{opacity:1}}@keyframes blob-eyes-closed{0%{opacity:0}97%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.blob-dog *,.loading__spinner,.sheet,.toast{animation:none!important}}.walk{position:relative;min-height:100dvh}.walk__map{position:fixed;inset:0;max-width:480px;margin:0 auto;justify-content:center;font-size:var(--kge-font-footnote);color:var(--kge-textSecondary);background:var(--kge-background);text-align:center;padding:var(--kge-space-xl)}.walk__map,.walk__top{display:flex;align-items:center}.walk__top{position:relative;z-index:1;pointer-events:none;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) calc(var(--kge-space-page) + 4px) 0}.walk__top button{pointer-events:auto}.walk__top:before{content:"";position:fixed;inset:0 0 auto 0;height:140px;max-width:480px;margin:0 auto;z-index:-1;background:linear-gradient(var(--kge-background),transparent)}.walk__top h1{font-size:var(--kge-font-largeTitle);font-weight:700;letter-spacing:-.02em}.walk__buttons{gap:10px;align-self:flex-start}.walk__buttons,.walk__card{display:flex;flex-direction:column}.walk__card{position:fixed;left:50%;transform:translateX(-50%);z-index:1;width:calc(min(480px, 100%) - 2 * var(--kge-space-page));bottom:calc(var(--kge-tabBarHeight) + 22px + env(safe-area-inset-bottom));padding:var(--kge-space-lg);border-radius:var(--kge-radius-card);gap:var(--kge-space-lg)}.walk__card.is-compact{padding:var(--kge-space-md) var(--kge-space-lg)}.place-bar{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--kge-space-sm);padding:var(--kge-space-sm) var(--kge-space-page) 0;pointer-events:none}.place-bar>*{pointer-events:auto}.place-bar__chips{display:flex;gap:var(--kge-space-sm);align-self:stretch;overflow-x:auto;scrollbar-width:none;padding:16px var(--kge-space-page) 32px;margin:-16px calc(var(--kge-space-page) * -1) -32px;pointer-events:none}.place-bar__chips>*{pointer-events:auto}.place-bar__chips::-webkit-scrollbar{display:none}.place-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--kge-space-xs);height:36px;padding:0 var(--kge-space-md);border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:600;color:var(--kge-textPrimary);white-space:nowrap}.place-chip.is-icon{width:36px;padding:0;justify-content:center}.place-chip__back{display:inline-flex;transform:rotate(180deg)}.place-chip.is-on{color:#fff}.place-chip.is-on.is-light{color:var(--kge-ink)}.place-status{position:absolute;left:50%;translate:-50% 0;bottom:calc(100% + var(--kge-space-md));max-width:calc(100% - 2 * (var(--kge-mapButton) + var(--kge-space-sm)));display:inline-flex;align-items:center;justify-content:center;gap:var(--kge-space-xs);height:var(--kge-mapButton);padding:0 var(--kge-space-lg);border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:500;color:var(--kge-textSecondary);white-space:nowrap;pointer-events:none}.place-status.is-button{font-weight:600;color:var(--kge-textPrimary);pointer-events:auto;cursor:pointer}.place-status__spinner{width:14px;height:14px;border-width:2px}.place-pin{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}.place-pin__dot{width:30px;height:30px;border-radius:50%;background:var(--pin-color);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);display:grid;place-items:center}.place-pin.is-selected .place-pin__dot{width:40px;height:40px}.place-pin__icon{width:13px;height:13px;background:#fff;-webkit-mask:var(--pin-icon) center /contain no-repeat;mask:var(--pin-icon) center /contain no-repeat}.place-pin.is-selected .place-pin__icon{width:17px;height:17px}.place-pin.is-light .place-pin__icon{background:var(--kge-ink)}.place-pin__label{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;color:var(--kge-textPrimary);text-shadow:0 0 3px var(--kge-background),0 0 3px var(--kge-background);display:none}.place-pin.is-selected .place-pin__label,.walk__map.is-near .place-pin__label{display:block}.place-card{display:flex;flex-direction:column;gap:var(--kge-space-md)}.place-card__badge{display:inline-flex;vertical-align:-2px;margin-left:var(--kge-space-xs);padding:0;border:0;background:none;cursor:pointer}.place-card__badge.is-verified{cursor:default}.place-card__owner-note{display:flex;flex-direction:column;gap:2px;padding:var(--kge-space-sm) var(--kge-space-md);border-radius:var(--kge-radius-md);background:var(--kge-fill);font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.place-card__owner-note strong{color:var(--kge-textPrimary);font-size:var(--kge-font-subheadline)}.place-card__head{display:flex;align-items:flex-start;gap:var(--kge-space-md)}.place-card__icon{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff}.place-card__icon.is-light{color:var(--kge-ink)}.place-card__title{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.place-card__title strong{font-size:var(--kge-font-headline);font-weight:600}.place-card__title span{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.place-card__close{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--kge-fill);color:var(--kge-textSecondary)}.place-card__address{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary)}.place-card__chips{display:flex;flex-wrap:wrap;gap:var(--kge-space-xs)}.place-card__chips span{padding:4px var(--kge-space-sm);border-radius:999px;background:var(--kge-fill);font-size:var(--kge-font-caption);font-weight:600}.place-card__note{font-size:var(--kge-font-caption);color:var(--kge-textTertiary)}.place-card__actions{display:flex;gap:var(--kge-space-sm)}.place-card__actions .btn{flex:1 1}.place-card__reports{display:flex;flex-wrap:wrap;gap:var(--kge-space-sm);align-items:center}.place-card__reports strong{flex-basis:100%;font-size:var(--kge-font-subheadline)}.walk__card{touch-action:none;transition:transform .25s cubic-bezier(.2,.9,.3,1)}.walk__card.is-dragging{transition:none}.walk__card.is-handle{background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;padding:0;align-items:center;pointer-events:none}.walk__card.is-handle .walk__locate,.walk__handle{pointer-events:auto}.walk__handle{display:inline-flex;align-items:center;gap:var(--kge-space-xs);height:var(--kge-mapButton);padding:0 var(--kge-space-lg);border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:600;color:var(--kge-textPrimary);animation:walk-handle-in .25s ease}@keyframes walk-handle-in{0%{opacity:0}to{opacity:1}}.walk__stats{display:flex;align-items:center;gap:var(--kge-space-lg)}.walk__stat{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.walk__stat+.walk__stat{padding-left:var(--kge-space-lg);border-left:.5px solid var(--kge-separator)}.walk__stat span{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.walk__bar-stats strong,.walk__stat strong{font-size:var(--kge-font-title2);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.walk__hint{margin-top:calc(var(--kge-space-sm) * -1);text-align:center;font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.walk__locate{position:absolute;right:0;bottom:calc(100% + var(--kge-space-md));display:flex;flex-direction:column;gap:var(--kge-space-sm)}.walk__bar{display:flex;align-items:center;gap:var(--kge-space-md)}.walk__bar-stats{flex:1 0 auto;display:flex;flex-direction:column}.walk__bar-stats span{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.walk__bar .hold-stop{width:auto;flex:0 1 150px;min-width:0;padding-inline:var(--kge-space-sm);font-size:var(--kge-font-subheadline)}.walk__bar .hold-stop__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.btn.circle-btn{width:var(--kge-buttonHeight);flex:0 0 var(--kge-buttonHeight);padding:0;border-radius:50%}.hold-stop{position:relative;overflow:hidden;background:color-mix(in srgb,var(--kge-danger) 55%,transparent);color:#fff;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.hold-stop__fill{position:absolute;inset:0;width:0;background:var(--kge-danger)}.hold-stop.is-holding .hold-stop__fill{width:100%;transition:width 1s linear}.hold-stop__label{position:relative;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.map-me{position:relative;width:60px;height:60px;pointer-events:none}.map-me__dot{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--kge-location);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.map-me__heading{position:absolute;inset:0;border-radius:50%;opacity:0;transition:opacity .3s,transform .3s;background:conic-gradient(from -35deg,color-mix(in srgb,var(--kge-location) 55%,transparent) 0deg 70deg,transparent 70deg);-webkit-mask:radial-gradient(circle,#000 0 15%,transparent 70%);mask:radial-gradient(circle,#000 0 15%,transparent 70%)}.map-photo-pin{display:block;width:18px;height:18px;border-radius:50%;background:var(--kge-accent);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.map-photo-pin.is-friend{width:14px;height:14px;background:var(--kge-textSecondary);border-width:2px;cursor:pointer}.route-map{position:relative;overflow:hidden;background:var(--kge-fill)}.walk-summary{position:fixed;inset:0;z-index:70;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:var(--kge-background)}.walk-summary__body{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--kge-space-lg);padding:calc(env(safe-area-inset-top) + var(--kge-space-lg)) var(--kge-space-page) var(--kge-space-lg)}.walk-summary__head{display:flex;align-items:center;gap:var(--kge-space-md)}.walk-summary__head h1{font-size:var(--kge-font-title2);font-weight:700}.walk-summary__actions{display:flex;flex-direction:column;gap:var(--kge-space-xs);padding:var(--kge-space-sm) var(--kge-space-page) calc(var(--kge-space-sm) + env(safe-area-inset-bottom))}.walk-summary__hint{margin:0;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.walk-stats{display:flex;align-items:center;gap:var(--kge-space-lg)}.section-title{font-size:var(--kge-font-headline);font-weight:600}.walk-photos{flex-direction:column}.walk-photos,.walk-photos__row{display:flex;gap:var(--kge-space-sm)}.walk-photos__row{overflow-x:auto;scrollbar-width:none}.walk-photos__row img{width:var(--kge-photoThumb);height:var(--kge-photoThumb);object-fit:cover;border-radius:var(--kge-radius-md);flex-shrink:0}.walk-detail__map{width:100%;aspect-ratio:1/var(--kge-ratio-detailMap);border-radius:var(--kge-radius-card);flex-shrink:0}.route-preview{position:relative;overflow:hidden;background:var(--kge-surface);cursor:pointer}.route-preview svg{position:absolute;inset:0;display:block}.route-preview__line{fill:none;stroke:var(--kge-routeMe);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.route-preview__start{fill:var(--kge-surface);stroke:var(--kge-routeMe);stroke-width:3}.route-preview__end{fill:var(--kge-routeMe)}.route-preview__photo{fill:var(--kge-location)}.route-preview .route-map{position:absolute;inset:0;background:transparent;pointer-events:none}.route-preview__button{position:absolute;z-index:1;right:var(--kge-space-md);top:var(--kge-space-md);padding:var(--kge-space-sm) var(--kge-space-md);border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 4px rgba(0,0,0,.12);color:var(--kge-textPrimary);font-size:var(--kge-font-footnote);font-weight:600}.route-preview__map{flex:1 1;min-height:0;margin:0 calc(var(--kge-space-page) * -1)}.history-total{padding:var(--kge-space-lg);display:flex;flex-direction:column;gap:var(--kge-space-sm)}.history-total>strong{font-size:var(--kge-font-subheadline);font-weight:600}.qr-panel{display:flex;flex-direction:column;align-items:center;gap:var(--kge-space-md)}.qr-panel img,.qr-panel__placeholder{width:220px;height:220px;border-radius:var(--kge-radius-md);background:#fff;padding:10px}.qr-panel__actions{display:flex;gap:var(--kge-space-sm)}.missing-card{display:flex;align-items:center;gap:var(--kge-space-md);padding:var(--kge-space-md) var(--kge-space-lg) var(--kge-space-md) var(--kge-space-md);border-radius:var(--kge-radius-lg);background:color-mix(in srgb,var(--kge-danger) 10%,var(--kge-surface));text-align:left}.missing-card strong{flex:1 1;font-size:var(--kge-font-headline);font-weight:600}.missing-card .row__chevron{color:var(--kge-danger)}.segmented{display:flex;gap:var(--kge-space-sm);overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--kge-space-page) * -1);padding:0 var(--kge-space-page)}.segmented::-webkit-scrollbar{display:none}.chip{height:34px;padding:0 14px;border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:500;background:var(--kge-surface);white-space:nowrap;flex-shrink:0}.chip.is-active{background:var(--kge-textPrimary);color:var(--kge-background)}.segmented.is-fill{margin:0;padding:0}.segmented.is-fill .chip{flex:1 1}.row-date{border:0;background:transparent;font:inherit;font-size:var(--kge-font-body);color:var(--kge-textPrimary)}.post{display:flex;align-items:flex-start;gap:var(--kge-space-md);padding:14px var(--kge-space-lg);text-align:left}.post__main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.post__thumb{width:var(--kge-avatarCard);height:var(--kge-avatarCard);border-radius:var(--kge-radius-md);object-fit:cover;flex-shrink:0;background:var(--kge-fill)}.post.is-found{opacity:.6}a.post:active{background:var(--kge-fill)}.post__more{border-radius:0;font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary)}.post+.post,.post__more{box-shadow:inset 0 .5px 0 var(--kge-separator)}.post__category{display:inline-flex;align-items:center;gap:var(--kge-space-xs);font-size:var(--kge-font-caption);font-weight:600;color:var(--kge-textSecondary)}.post__category.is-missing{color:var(--kge-danger)}.post__title{font-size:var(--kge-font-headline);font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post__meta{display:flex;align-items:center;gap:6px;font-size:var(--kge-font-footnote);color:var(--kge-textSecondary);margin-top:2px}.post__meta .spacer{flex:1 1}.post__count{display:inline-flex;align-items:center;gap:3px;margin-left:var(--kge-space-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--kge-space-xl) var(--kge-space-lg);text-align:center}.profile-hero strong{font-size:var(--kge-font-title2);font-weight:700;margin-top:var(--kge-space-xs)}.plan-chip{font-size:var(--kge-font-caption);font-weight:700;padding:3px 10px;border-radius:999px;background:var(--kge-fill);color:var(--kge-textSecondary)}.plan-chip.is-pro{background:var(--kge-yellow);color:var(--kge-ink)}.chat{display:flex;flex-direction:column;min-height:100dvh}.chat__list{flex:1 1;display:flex;flex-direction:column;padding:calc(56px + env(safe-area-inset-top)) var(--kge-space-page) var(--kge-space-md)}.chat__more{align-self:center;margin-bottom:var(--kge-space-sm)}.chat__day{display:flex;justify-content:center;margin:var(--kge-space-lg) 0 var(--kge-space-xs)}.chat__day span{padding:var(--kge-space-xs) var(--kge-space-md);border-radius:999px;background:var(--kge-fill);color:var(--kge-textSecondary);font-size:var(--kge-font-caption)}.chat__row{display:flex;align-items:flex-start;gap:var(--kge-space-sm);margin-top:2px}.chat__row.is-group-start{margin-top:var(--kge-space-md)}.chat__row.is-mine{justify-content:flex-end}.chat__avatar{width:var(--kge-chatAvatar);flex-shrink:0}.chat__stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--kge-space-xs);min-width:0}.chat__row.is-mine .chat__stack{align-items:flex-end}.chat__name{font-size:var(--kge-font-caption);color:var(--kge-textSecondary)}.chat__profile-button{display:block;padding:0;text-align:left;cursor:pointer}.chat__title-button{display:inline-flex;align-items:center;gap:var(--kge-space-sm);max-width:220px;font:inherit;color:inherit}.chat__title-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__line{display:flex;align-items:flex-end;gap:var(--kge-space-xs)}.chat__row.is-mine .chat__line{flex-direction:row-reverse}.chat__bubble{max-width:var(--kge-chatBubbleMax);padding:var(--kge-space-sm) var(--kge-space-md);border-radius:var(--kge-radius-bubble);background:var(--kge-surface);color:var(--kge-textPrimary);white-space:pre-wrap}.chat__row.is-mine .chat__bubble{background:var(--kge-accent);color:var(--kge-onAccent)}.chat__photo{display:block;width:auto;height:auto;max-width:min(var(--kge-chatPhotoMaxWidth),100%);max-height:var(--kge-chatPhotoMaxHeight);border-radius:var(--kge-radius-md);background:var(--kge-fill)}.chat__row.is-outgoing .chat__bubble{opacity:.6}.chat__row.is-outgoing.is-failed .chat__bubble{opacity:1}.chat__photo-wrap.is-sending{position:relative}.chat__photo-progress{position:absolute;inset:0;display:grid;place-items:center;border-radius:var(--kge-radius-md);background:rgba(0,0,0,.35)}.chat__sending{width:12px;height:12px;border-width:2px}.chat__failed{display:inline-flex;align-items:center;gap:var(--kge-space-xs);font-size:var(--kge-font-footnote)}.chat__failed-button{display:inline-flex;padding:0;border:0;background:none;color:var(--kge-danger);cursor:pointer}.chat__link{color:inherit;text-decoration:underline;word-break:break-all}.chat__new-below{position:fixed;left:50%;translate:-50% 0;bottom:calc(96px + env(safe-area-inset-bottom));z-index:6;display:inline-flex;align-items:center;gap:var(--kge-space-xs);height:36px;padding:0 var(--kge-space-md);border:0;border-radius:999px;font-size:var(--kge-font-footnote);font-weight:600;color:var(--kge-textPrimary);cursor:pointer}.chat__new-below img,.chat__new-below svg{transform:rotate(180deg)}.chat__bubble.is-deleted{background:none!important;color:var(--kge-textSecondary)!important;font-style:italic;box-shadow:inset 0 0 0 1px var(--kge-separator)}.chat__read-marker{display:flex;align-items:center;gap:var(--kge-space-sm);margin:var(--kge-space-lg) 0 0;color:var(--kge-accent);font-size:var(--kge-font-caption);font-weight:600}.chat__read-marker:after,.chat__read-marker:before{content:"";flex:1 1;height:1px;background:color-mix(in srgb,var(--kge-accent) 40%,transparent)}.chat__quote{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:var(--kge-chatBubbleMax);padding:var(--kge-space-xs) var(--kge-space-sm);border:0;border-radius:var(--kge-radius-md);background:var(--kge-fill);color:var(--kge-textSecondary);font-size:var(--kge-font-caption);text-align:left;cursor:pointer}.chat__quote span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat__actions{display:inline-flex;flex-wrap:wrap;gap:var(--kge-space-xs);margin-top:var(--kge-space-xs)}.chat__reply-bar{display:flex;align-items:center;gap:var(--kge-space-sm);padding:0 0 var(--kge-space-sm);color:var(--kge-accent)}.chat__reply-bar span{flex:1 1;min-width:0;display:flex;flex-direction:column;color:var(--kge-textPrimary);font-size:var(--kge-font-caption)}.chat__reply-bar small{color:var(--kge-textSecondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__group{display:inline-block;position:relative}.chat__group img{width:100%;height:100%;object-fit:cover;display:block}.chat__group img.is-hidden{filter:blur(24px)}.chat__group.is-pair{display:inline-flex;gap:3px;width:var(--kge-chatPhotoMaxWidth);max-width:100%}.chat__group-tile{flex:1 1;aspect-ratio:5/7;padding:0;border:0;border-radius:var(--kge-radius-md);overflow:hidden;background:var(--kge-fill);cursor:pointer}.chat__group.is-stack{width:var(--kge-chatPhotoMaxWidth);max-width:100%;aspect-ratio:1;touch-action:pan-y}.chat__group-back,.chat__group-top{position:absolute;inset:7%;padding:0;border:0;border-radius:var(--kge-radius-md);overflow:hidden;background:var(--kge-fill)}.chat__group-top{cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}.chat__group-back.is-1{transform:translateX(6px) rotate(4deg);opacity:.9}.chat__group-back.is-2{transform:translateX(-6px) rotate(-4deg);opacity:.9}.chat__group-count{position:absolute;right:10%;bottom:10%;padding:2px 6px;border-radius:999px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.chat__group-cover{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:var(--kge-font-caption);font-weight:600;pointer-events:none}.chat__group-nav{position:absolute;top:50%;translate:0 -50%;width:28px;height:28px;border:0;border-radius:999px;background:rgba(0,0,0,.35);color:#fff;cursor:pointer}.chat__group-nav.is-prev{left:2px}.chat__group-nav.is-next{right:2px}.chat__group-empty{display:block;width:100%;height:100%;background:var(--kge-fill)}.chat__link-card{display:flex;flex-direction:column;width:var(--kge-chatBubbleMax);max-width:100%;margin-top:var(--kge-space-xs);border-radius:var(--kge-radius-md);overflow:hidden;background:var(--kge-surface);box-shadow:inset 0 0 0 1px var(--kge-separator);color:var(--kge-textPrimary);text-decoration:none}.chat__link-card img{width:100%;aspect-ratio:1.9;object-fit:cover}.chat__link-card span{display:flex;flex-direction:column;gap:2px;padding:var(--kge-space-sm)}.chat__link-card strong{font-size:var(--kge-font-subheadline);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat__link-card small{color:var(--kge-textSecondary);font-size:var(--kge-font-caption)}span.chat__photo{width:var(--kge-chatPhoto);height:var(--kge-chatPhoto)}span.chat__photo.is-expired{display:flex;align-items:center;justify-content:center;padding:var(--kge-space-md);text-align:center;font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.chat__photo-wrap{display:inline-flex;align-items:flex-end;gap:var(--kge-space-xs)}.chat__photo-button{position:relative;display:block;padding:0;border-radius:var(--kge-radius-md);overflow:hidden}.chat__photo-button.is-hidden .chat__photo{filter:blur(24px)}.chat__photo-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--kge-space-sm);color:var(--kge-onViewer);font-size:var(--kge-font-caption);text-align:center}.chat__photo-cover strong{font-size:var(--kge-font-subheadline)}.chat__photo-report{font-size:var(--kge-font-caption);color:var(--kge-textSecondary)}.photo-viewer__bar{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + var(--kge-space-md));display:flex;justify-content:space-between;padding:0 var(--kge-space-page)}.photo-viewer__bar button{color:var(--kge-onViewer);font-size:var(--kge-font-body);min-height:44px}.sheet-backdrop.is-top{z-index:90}.photo-viewer{position:fixed;inset:0;z-index:80;background:var(--kge-viewerBackground);display:flex;align-items:center;justify-content:center}.photo-viewer img{max-width:100%;max-height:100%;object-fit:contain;touch-action:pinch-zoom}.photo-viewer__close{right:var(--kge-space-page);font-size:var(--kge-font-body)}.photo-viewer__close,.photo-viewer__title{position:absolute;top:calc(env(safe-area-inset-top) + var(--kge-space-md));color:var(--kge-onViewer);min-height:44px;z-index:1}.photo-viewer__title{left:var(--kge-space-page);font-size:var(--kge-font-subheadline);font-weight:600;display:flex;align-items:center}.chat__meta{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;line-height:1.25}.chat__row.is-mine .chat__meta{align-items:flex-end}.chat__unread{font-weight:700;color:var(--kge-accent)}.chat__time,.chat__unread{font-size:var(--kge-font-caption2)}.chat__time{color:var(--kge-textTertiary);white-space:nowrap}.chat__sniff{align-self:center;display:inline-flex;align-items:center;gap:4px;margin:var(--kge-space-md) 0 0;padding:6px 12px;border-radius:999px;background:var(--kge-fill);color:var(--kge-textSecondary);font-size:var(--kge-font-footnote)}.chat__footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;padding:var(--kge-space-sm) var(--kge-space-page) calc(var(--kge-space-sm) + env(safe-area-inset-bottom));border-radius:0!important}.chat__input{display:flex;align-items:flex-end;gap:var(--kge-space-sm)}.chat__icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--kge-textSecondary);cursor:pointer;flex-shrink:0}.chat__field{flex:1 1;min-height:36px;max-height:120px;padding:var(--kge-space-sm) 14px;border:none;border-radius:var(--kge-radius-bubble);background:var(--kge-surface);color:var(--kge-textPrimary);font:inherit;resize:none;field-sizing:content}.chat__send{display:inline-flex;color:var(--kge-accent);flex-shrink:0}.chat__send:disabled{opacity:.35}.chat__closed{padding:var(--kge-space-sm) 0;text-align:center;font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.chat__request{display:flex;flex-direction:column;gap:var(--kge-space-md);text-align:center}.chat__request-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--kge-space-md);gap:var(--kge-space-md)}.chat__sheet{gap:var(--kge-space-sm)}.chat__sheet,.post-detail{display:flex;flex-direction:column}.post-detail{min-height:100dvh}.post-detail__body{flex:1 1;display:flex;flex-direction:column;gap:var(--kge-space-lg);padding:calc(56px + env(safe-area-inset-top) + var(--kge-space-sm)) var(--kge-space-page) var(--kge-space-xl)}.post-detail__header{display:flex;flex-direction:column;gap:var(--kge-space-md)}.post-detail__header h1{font-size:var(--kge-font-title2);font-weight:700;line-height:1.3}.post-detail__author{display:flex;align-items:center;gap:var(--kge-space-sm)}.post-detail__author div{display:flex;flex-direction:column}.post-detail__author strong{font-size:var(--kge-font-subheadline)}.post-detail__photos{display:flex;gap:var(--kge-space-sm);overflow-x:auto;scrollbar-width:none}.post-detail__photo-placeholder,.post-detail__photos img{width:var(--kge-chatBubbleMax);height:var(--kge-chatBubbleMax);object-fit:cover;border-radius:var(--kge-radius-md);flex-shrink:0;background:var(--kge-fill)}.post-detail__photos.is-single .post-detail__photo-placeholder,.post-detail__photos.is-single img{width:100%}.post-detail__missing{display:flex;flex-direction:column;gap:var(--kge-space-sm)}.info-list{margin:0;background:var(--kge-surface);border-radius:var(--kge-radius-card);overflow:hidden}.info-list div{display:flex;justify-content:space-between;gap:var(--kge-space-md);padding:var(--kge-space-md) var(--kge-space-lg);font-size:var(--kge-font-subheadline)}.info-list div+div{box-shadow:inset 0 .5px 0 var(--kge-separator)}.info-list dt{color:var(--kge-textSecondary)}.info-list dd{margin:0;text-align:right}.post-detail__text{white-space:pre-wrap}.post-detail__actions{display:flex;align-items:center;gap:var(--kge-space-lg);font-size:var(--kge-font-subheadline)}.post-detail__actions>*{display:inline-flex;align-items:center;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.post-detail__like{color:var(--kge-textSecondary)}.post-detail__like.is-liked{color:var(--kge-danger)}.comments{display:flex;flex-direction:column;gap:var(--kge-space-md);padding-top:var(--kge-space-lg);box-shadow:inset 0 .5px 0 var(--kge-separator)}.comment{display:flex;align-items:flex-start;gap:var(--kge-space-sm)}.comment.is-reply{padding-left:calc(var(--kge-chatAvatar) + var(--kge-space-sm))}.comment__main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--kge-font-subheadline)}.comment__head{display:flex;align-items:baseline;gap:var(--kge-space-xs)}.comment__time{font-size:var(--kge-font-footnote);color:var(--kge-textTertiary)}.comment__actions{display:flex;gap:var(--kge-space-md);margin-top:2px}.comment__actions button{font-weight:600}.comment__actions button,.reply-to{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.reply-to{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--kge-space-xs)}.row-textarea,.tip-field{width:100%;border:0;outline:none;resize:none;font:inherit;color:var(--kge-textPrimary);background:transparent}.tip-field{padding:var(--kge-space-md);border-radius:var(--kge-radius-md);background:var(--kge-surface)}.row-textarea::placeholder,.tip-field::placeholder{color:var(--kge-textTertiary)}.nav-button.is-strong{font-weight:600}.nav-button:disabled{opacity:.35}.compose-photos{padding:0 var(--kge-space-lg) var(--kge-space-md)}.nowrap{white-space:nowrap}.row-select[type=datetime-local]{font-size:var(--kge-font-subheadline);max-width:200px;min-width:0;padding-right:0;background-image:none}.location-picker{gap:var(--kge-space-md)}.location-picker__map{height:56dvh;border-radius:var(--kge-radius-md)}.location-picker__map .loading{position:absolute;inset:0;align-items:center}.location-picker__pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);color:var(--kge-danger);pointer-events:none;display:flex}.location-picker__hint{text-align:center}.chat__post{width:var(--kge-chatBubbleMax);display:flex;flex-direction:column;gap:var(--kge-space-xs);padding:var(--kge-space-md);border-radius:var(--kge-radius-bubble);background:var(--kge-surface);border:1px solid var(--kge-separator);color:var(--kge-textPrimary);text-decoration:none}.chat__post-label{display:flex;align-items:center;gap:4px;font-size:var(--kge-font-caption);font-weight:600;color:var(--kge-textSecondary)}.chat__post-title{font-size:var(--kge-font-headline);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat__post-open{margin-top:var(--kge-space-xs);font-size:var(--kge-font-footnote);font-weight:600;color:var(--kge-accent)}.row__open{position:absolute;inset:0;border:0;background:none;padding:0;cursor:pointer}.row.has-open .row__trailing{position:relative;z-index:1}.button-row{display:flex;gap:var(--kge-space-md)}.button-row>.btn{flex:1 1}.sniff-banner{position:fixed;top:calc(env(safe-area-inset-top) + var(--kge-space-sm));left:50%;transform:translateX(-50%);z-index:70;width:calc(100% - var(--kge-space-page) * 2);max-width:448px;display:flex;align-items:center;gap:var(--kge-space-md);padding:var(--kge-space-md);border-radius:var(--kge-radius-lg);animation:sheet-up .32s cubic-bezier(.2,.9,.3,1)}.sniff-banner strong{flex:1 1;min-width:0;font-size:var(--kge-font-subheadline);font-weight:600}.sniff-banner__close{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.chat__friends-only{display:flex;flex-direction:column;align-items:center;gap:var(--kge-space-sm)}.routine-distance{display:flex;align-items:baseline;gap:4px;font-size:var(--kge-font-headline);color:var(--kge-textSecondary)}.routine-distance strong{font-size:var(--kge-font-title2);font-weight:700;color:var(--kge-textPrimary)}.walk__guide{background:var(--kge-fill);align-self:flex-start;display:inline-flex;align-items:center;gap:var(--kge-space-sm);padding:var(--kge-space-sm) var(--kge-space-md);border-radius:999px;font-size:var(--kge-font-subheadline);font-weight:600;max-width:100%}.walk__guide span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walk__paused span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.walk__guide button{border:0;background:none;color:var(--kge-textSecondary);font:inherit;font-size:var(--kge-font-footnote);font-weight:400;cursor:pointer}.radar-block{display:flex;flex-direction:column;align-items:center;gap:var(--kge-space-md);text-align:center}.radar-block>strong{font-size:var(--kge-font-headline);font-weight:600}.radar{position:relative;width:var(--kge-textMaxWidth);height:var(--kge-textMaxWidth);max-width:100%}.radar__dot,.radar__me,.radar__pulse,.radar__ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.radar__ring{border:1px solid var(--kge-separator);border-radius:50%}.radar__ring.is-1{width:33%;height:33%}.radar__ring.is-2{width:66%;height:66%}.radar__pulse,.radar__ring.is-3{width:100%;height:100%}.radar__pulse{border-radius:50%;background:var(--kge-accent);opacity:0;animation:radar-pulse 2.4s ease-out infinite}@keyframes radar-pulse{0%{transform:translate(-50%,-50%) scale(.15);opacity:.08}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.radar__dot{display:flex;flex-direction:column;align-items:center;gap:2px;width:72px;border:0;background:none;padding:0;cursor:pointer;transition:transform .3s}.radar__dot span{max-width:100%;padding:0 6px;border-radius:999px;background:var(--kge-surface);font-size:var(--kge-font-caption2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar__dot.is-selected span{background:var(--kge-fill)}.radar__picked{width:100%;border-radius:var(--kge-radius-lg);background:var(--kge-surface);overflow:hidden}@media (prefers-reduced-motion:reduce){.radar__pulse{animation:none}}.link-button{padding:0;border:none;background:none;color:var(--kge-accent);font:inherit;font-weight:600;cursor:pointer}.chat__caution{display:flex;align-items:flex-start;gap:var(--kge-space-sm);margin-top:var(--kge-space-md);padding:var(--kge-space-md);border-radius:var(--kge-radius-md);background:var(--kge-fill);color:var(--kge-textSecondary);font-size:var(--kge-font-footnote)}.chat__caution p{margin:0 0 var(--kge-space-xs)}.chat__window{display:flex;align-items:center;gap:var(--kge-space-md);padding-bottom:var(--kge-space-sm)}.chat__window>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat__window strong{font-size:var(--kge-font-footnote);color:var(--kge-textPrimary)}.chat__window span{font-size:var(--kge-font-caption);color:var(--kge-textSecondary)}.sniff-card{width:100%;flex-direction:column;padding:var(--kge-space-md);border-radius:var(--kge-radius-lg);background:var(--kge-surface);text-align:left}.sniff-card,.sniff-card__head{display:flex;gap:var(--kge-space-md)}.sniff-card__head{align-items:center}.sniff-card__head>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.sniff-card__head span{font-size:var(--kge-font-subheadline);color:var(--kge-textSecondary)}.sniff-card__dog{display:flex;align-items:center;gap:var(--kge-space-md)}.sniff-card__dog>div{display:flex;flex-direction:column;gap:2px}.sniff-card__dog span{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.sniff-card__actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--kge-space-sm)}.sniff-card__privacy{margin:0;font-size:var(--kge-font-caption);color:var(--kge-textTertiary)}.qr-scan{display:flex;flex-direction:column;gap:var(--kge-space-md)}.qr-scan video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--kge-radius-md);background:var(--kge-fill)}@media (max-width:359px){.walk__bar{gap:var(--kge-space-sm)}.walk__bar .hold-stop{font-size:var(--kge-font-footnote)}}.only-me{display:flex;flex-direction:column;gap:var(--kge-space-xs)}.only-me__row{display:flex;align-items:center;justify-content:space-between;gap:var(--kge-space-md)}.only-me .footnote{margin:0;color:var(--kge-textSecondary)}.terms-page{padding:var(--kge-space-lg) var(--kge-space-page) var(--kge-space-xxl);max-width:760px;margin:0 auto}.markdown{display:flex;flex-direction:column;gap:var(--kge-space-sm);font-size:var(--kge-font-subheadline);line-height:1.6;color:var(--kge-textPrimary)}.markdown h1{font-size:var(--kge-font-title2);margin:0 0 var(--kge-space-sm)}.markdown h2{font-size:var(--kge-font-headline);margin:var(--kge-space-lg) 0 0}.markdown h3{font-size:var(--kge-font-subheadline);margin:var(--kge-space-md) 0 0}.markdown ol,.markdown p,.markdown ul{margin:0}.markdown ol,.markdown ul{padding-left:1.4em;display:flex;flex-direction:column;gap:var(--kge-space-xs)}.markdown blockquote{margin:0;padding:var(--kge-space-sm) var(--kge-space-md);background:var(--kge-fill);border-radius:var(--kge-radius-md);color:var(--kge-textSecondary)}.markdown a{color:var(--kge-accent)}.md-table{overflow-x:auto}.md-table table{border-collapse:collapse;width:100%;font-size:var(--kge-font-footnote)}.md-table td,.md-table th{border-bottom:1px solid var(--kge-separator);padding:var(--kge-space-xs) var(--kge-space-sm);text-align:left;vertical-align:top}.md-table th{color:var(--kge-textSecondary);font-weight:600}.plan-table{width:100%;border-collapse:collapse;font-size:var(--kge-font-subheadline)}.plan-table td,.plan-table th{padding:var(--kge-space-xs) var(--kge-space-sm);text-align:left}.plan-table th{font-size:var(--kge-font-footnote);color:var(--kge-textSecondary)}.plan-table td:not(:first-child):not(:nth-child(2)),.plan-table th{font-weight:600}.plan-table td:nth-child(2){color:var(--kge-textSecondary)}.group__text{margin:0;padding:var(--kge-space-md) var(--kge-space-lg);font-size:var(--kge-font-subheadline);line-height:1.5}.plan-table{margin:var(--kge-space-sm) 0}.plan-links{text-align:center}.plan-links a{color:var(--kge-accent)}.plan-table td,.plan-table th{word-break:keep-all;overflow-wrap:normal;padding:var(--kge-space-xs) 6px}.plan-table td:first-child{font-size:var(--kge-font-footnote)}.footnote.plan-links a{color:var(--kge-accent)}.consent-row{display:flex;flex-direction:column;gap:2px;padding:var(--kge-space-xs) 0}.consent-row a{color:var(--kge-accent)}.settings-business{white-space:pre-line}.admin__empty{text-align:center;padding:var(--kge-space-xl) var(--kge-space-page)}.admin__card{margin:0 var(--kge-space-page) var(--kge-space-md);padding:var(--kge-space-lg);flex-direction:column}.admin__card,.admin__meta{display:flex;gap:var(--kge-space-sm)}.admin__meta{flex-wrap:wrap;align-items:center}.admin__tag{font-size:var(--kge-font-footnote);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--kge-fill)}.admin__tag.is-urgent{background:var(--kge-danger);color:var(--kge-onAccent)}.admin__preview{margin:0;white-space:pre-wrap;font-size:var(--kge-font-subheadline)}.admin__photo{max-width:100%;max-height:320px;object-fit:contain;border-radius:var(--kge-radius-md);align-self:flex-start}.admin__actions{display:flex;flex-wrap:wrap;gap:var(--kge-space-sm)}.admin__reason{background:var(--kge-fill);border-radius:var(--kge-radius-md);padding:var(--kge-space-sm) var(--kge-space-md)}.admin__mfa{display:flex;flex-direction:column;align-items:center;gap:var(--kge-space-md);padding:var(--kge-space-lg)}.account-delete__body{white-space:pre-line}.walk__title-button{pointer-events:auto;text-align:left;color:inherit;background:none;border:0;padding:0;font:inherit}.walk__title-button:disabled{cursor:default}.weather__temps{display:flex;gap:var(--kge-space-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weather__temps>span{display:grid;justify-items:end;min-width:52px}.weather__temps small{font-size:var(--kge-font-caption2);color:var(--kge-textSecondary)}.weather__asphalt.is-hot b{color:var(--kge-danger)}.weather__asphalt.is-cold b{color:var(--kge-location)}.notify-menu__title{text-align:center;font-size:var(--kge-font-footnote)}