.welcome{--welcome-accent: var(--color-primary-strong);color:var(--color-text-primary);background:transparent;position:relative;isolation:isolate;--font-family-display: var(--font-family-brand);--font-weight-heading: 650;--line-height-title: 1.16;--line-height-tight: 1.2}.welcome button,.welcome a{touch-action:manipulation}.welcome button:focus-visible,.welcome a:focus-visible{outline:2px solid var(--welcome-accent);outline-offset:5px}.welcome-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;width:100%;height:96px;padding-inline:max(5%,env(safe-area-inset-left));align-items:center;justify-content:space-between;gap:24px}.welcome-header__note{color:var(--color-text-secondary);font-size:12px;letter-spacing:var(--letter-spacing-body)}.welcome-stage{position:relative;display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:center;height:100svh;padding:max(110px,env(safe-area-inset-top)) 5% max(96px,env(safe-area-inset-bottom));overflow:hidden}.welcome-copy{position:relative;z-index:2;padding-left:5.3%}.welcome-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:26px;font-family:var(--font-family-mono);font-size:10px;font-weight:var(--font-weight-medium);letter-spacing:.19em}.welcome-eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--welcome-accent)}.welcome-copy h1{font-size:clamp(48px,min(6.45vw,11svh),108px);line-height:var(--line-height-title);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-display);word-break:keep-all}.welcome-copy h1>span{color:var(--welcome-accent)}.welcome-description{margin-top:25px;color:var(--color-text-secondary);font-size:clamp(12px,1.1vw,16px);font-weight:var(--font-weight-regular);line-height:1.95;letter-spacing:var(--letter-spacing-tight)}.welcome-visual{position:relative;justify-self:center;width:min(114%,calc((100svh - 190px) * 800 / 760));max-width:850px;aspect-ratio:800 / 760}.welcome-scene,.dining-table{display:block;width:100%;height:100%}.dining-table{overflow:visible}.welcome-table-caption{position:absolute;z-index:2;top:6%;right:15%;display:flex;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:11px;letter-spacing:-.03em;transform:rotate(5deg)}.welcome-table-caption__line{width:30px;height:1px;background:var(--welcome-accent)}.welcome-table-caption__spark{margin-left:3px;color:var(--welcome-accent);font-size:29px;line-height:1}.welcome-place-note{position:absolute;bottom:14%;right:6%;display:flex;align-items:center;gap:9px;padding:13px 18px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:5px;box-shadow:var(--shadow-sm);color:var(--welcome-accent);font-size:11px;transform:rotate(-5deg)}.welcome-place-note__dot{width:6px;height:6px;background:var(--welcome-accent);border-radius:50%;box-shadow:0 0 0 3px var(--color-primary-soft)}.welcome-scene-label{position:absolute;bottom:3%;left:44%;display:grid;gap:5px;text-align:center;transform:translate(-50%);white-space:nowrap}.welcome-scene-label>span:first-child{color:var(--color-text-tertiary);font-size:9px;letter-spacing:.12em}.welcome-scene-label>span:last-child{color:var(--color-text-secondary);font-size:11px;letter-spacing:var(--letter-spacing-body)}.table-object{transform-box:fill-box;transform-origin:center;opacity:0;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .5s}.table-object--rice,.table-object--staple{transform:translateY(110px) scale(.8) rotate(8deg);transition-delay:0s}.table-object--soup,.table-object--side{transform:translate(80px,-80px) scale(.85);transition-delay:.12s}.table-object--pork,.table-object--main{transform:translate(-80px,-80px) rotate(-15deg);transition-delay:.24s}.table-object--greens,.table-object--garnish{transform:translate(-100px,40px) rotate(-15deg);transition-delay:.34s}.table-object--napkin{transform:translate(80px,30px) rotate(5deg);transition-delay:.4s}.table-object--spoon{transform:translate(140px,100px) rotate(25deg);transition-delay:.5s}.table-object--chopsticks{transform:translate(180px,90px) rotate(25deg);transition-delay:.6s}.table-object--spoon,.table-object--chopsticks{transition-timing-function:cubic-bezier(.34,1.56,.64,1),ease}.welcome--ready .table-object{opacity:1;transform:translate(0) scale(1) rotate(0)}.table-steam__line{animation:welcome-steam 3s ease-in-out infinite}.table-steam__line:nth-child(2){animation-delay:.8s}.table-steam__line:nth-child(3){animation-delay:1.6s}.welcome-progress{position:fixed;z-index:5;bottom:max(30px,env(safe-area-inset-bottom));left:max(5%,env(safe-area-inset-left));display:flex;align-items:center;gap:12px;color:var(--color-text-tertiary);font-size:10px}.welcome-progress__track{position:relative;display:block;width:58px;height:2px;background:var(--color-border-subtle);overflow:hidden}.welcome-progress__track:after{position:absolute;content:"";inset:0;background:var(--welcome-accent);transform:scaleX(0);transform-origin:left;animation:welcome-progress 2.5s linear forwards}.welcome-surface-skip{position:absolute;z-index:10;inset:0;width:100%;height:100%;padding:0;background:transparent;cursor:pointer}.welcome-surface-skip:focus-visible{outline-offset:-6px}.welcome-skip{position:fixed;z-index:30;bottom:max(20px,env(safe-area-inset-bottom));right:max(5%,env(safe-area-inset-right));display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;transition:color .2s,border-color .2s}.welcome-skip svg{width:17px;height:17px}.welcome-skip:hover{color:var(--welcome-accent);border-color:var(--welcome-accent)}.welcome-exit{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:transparent;visibility:hidden;pointer-events:none}.welcome-exit__words{display:inline-flex;color:var(--welcome-accent);font-size:clamp(34px,6.4vw,78px);font-weight:800;letter-spacing:-.06em;line-height:1}.welcome-exit__char{display:inline-block;opacity:0}.welcome--entering .welcome-exit{visibility:visible;animation:welcome-exit-wash 1s ease both}.welcome--entering .welcome-exit__char{animation:welcome-stamp .42s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--stamp-order) * 55ms + 40ms)}.welcome--entering .welcome-scene{animation:welcome-thud .28s ease-out .16s}.welcome--skipping .welcome-exit{animation:none;background:var(--color-surface)}.welcome--skipping .welcome-exit__char{animation:none;opacity:1}@keyframes welcome-steam{0%,to{opacity:0;transform:translateY(5px)}35%{opacity:.65}80%{opacity:0;transform:translateY(-22px)}}@keyframes welcome-stamp{0%{opacity:0;transform:translateY(-.35em) scale(2.1) rotate(-7deg)}55%{opacity:1;transform:translateY(.04em) scale(.92) rotate(1deg)}to{opacity:1;transform:none}}@keyframes welcome-thud{0%,to{transform:none}40%{transform:translateY(5px) scale(.995)}}@keyframes welcome-exit-wash{0%{background:#fff0}12%,70%{background:#fff9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}to{background:var(--color-surface)}}@keyframes welcome-progress{to{transform:scaleX(1)}}@media(min-width:1700px){.welcome-stage{padding-inline:max(5%,calc((100vw - 1550px)/2))}}@media(max-width:1100px)and (min-width:701px){.welcome-copy{padding-left:0}.welcome-visual{width:min(124%,calc((100svh - 190px) * 800 / 760))}.welcome-table-caption{right:17%}.welcome-place-note{right:10%}}@media(max-width:700px){.welcome-header{height:76px;padding-inline:max(24px,env(safe-area-inset-left))}.welcome-header__note{display:none}.welcome-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:max-content minmax(0,1fr);align-items:start;gap:4px;padding:96px max(24px,env(safe-area-inset-left)) max(88px,calc(env(safe-area-inset-bottom) + 64px))}.welcome-copy{padding:0 8px}.welcome-eyebrow{margin-bottom:14px;gap:7px;font-size:8px;letter-spacing:.17em}.welcome-copy h1{font-size:clamp(34px,min(10.6vw,7.5svh),58px);line-height:1.14}.welcome-description{margin-top:14px;font-size:11px;line-height:1.8}.welcome-visual{align-self:center;width:min(114%,calc((100svh - 410px) * 800 / 760));max-width:480px}.welcome-table-caption{top:6%;right:12%;gap:7px;font-size:8px}.welcome-table-caption__spark{font-size:22px}.welcome-table-caption__line{width:20px}.welcome-place-note{right:6%;bottom:15%;gap:6px;font-size:9px;padding:9px 12px}.welcome-place-note__dot{width:4px;height:4px}.welcome-scene-label{bottom:2%;gap:3px}.welcome-scene-label>span:first-child{font-size:8px}.welcome-scene-label>span:last-child{font-size:9px}.welcome-progress{left:max(24px,env(safe-area-inset-left));bottom:max(37px,calc(env(safe-area-inset-bottom) + 23px));gap:8px;font-size:8px}.welcome-progress__track{width:38px}.welcome-skip{right:max(20px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px));gap:8px;padding-inline:12px;font-size:11px}}@media(max-width:700px)and (max-height:700px){.welcome-header{height:64px}.welcome-stage{padding-top:78px;padding-bottom:max(76px,calc(env(safe-area-inset-bottom) + 56px))}.welcome-eyebrow{margin-bottom:10px}.welcome-copy h1{font-size:clamp(32px,10vw,42px)}.welcome-description{margin-top:10px;font-size:10px}.welcome-visual{width:min(114%,calc((100svh - 360px) * 800 / 760))}}@media(max-width:360px){.welcome-progress>span:last-child{display:none}}@media(min-width:701px)and (max-height:600px){.welcome-header{height:64px}.welcome-stage{padding-block:76px}.welcome-eyebrow{margin-bottom:12px}.welcome-copy h1{font-size:clamp(32px,9svh,52px)}.welcome-description{margin-top:12px;font-size:11px}.welcome-visual{width:min(110%,calc((100svh - 125px) * 800 / 760))}}@media(prefers-reduced-motion:reduce){.welcome *,.welcome *:before,.welcome *:after{animation:none!important;transition:none!important}.welcome .table-object{transform:none!important;opacity:1}.welcome .welcome-exit__char{opacity:1}.welcome .table-steam,.welcome-progress{display:none}}.registration-page{gap:1.5rem}.registration-heading,.registration-toolbar,.registration-actions,.registration-pagination{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.registration-heading h1,.registration-heading h2{overflow-wrap:anywhere}.registration-toolbar{justify-content:flex-start}.registration-toolbar .ui-field{min-width:160px}.registration-list,.registration-section,.registration-list-card{display:grid;gap:1rem;min-width:0}.registration-list{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-status{padding:.4rem .75rem;border-radius:999px;background:var(--color-primary-soft);white-space:nowrap;font-size:.875rem}.registration-status--REJECTED{background:var(--color-warning-soft)}.registration-status--PENDING{background:var(--color-surface-muted)}.registration-facts{display:grid;gap:.8rem;margin:0}.registration-facts dd{margin:0}.registration-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem}.registration-facts dd,.registration-list-card p{overflow-wrap:anywhere}.registration-facts dt{color:var(--color-text-tertiary)}.registration-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.registration-note{white-space:pre-wrap;overflow-wrap:anywhere}.registration-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.registration-gallery img{width:100%;max-height:280px;object-fit:contain;border-radius:1rem;background:var(--color-surface-muted)}.registration-actions{justify-content:flex-start}.registration-confirm{border:2px solid var(--color-primary)}.registration-pagination{justify-content:center}@media(max-width:650px){.registration-list,.registration-columns,.registration-gallery{grid-template-columns:1fr}.registration-facts>div{grid-template-columns:88px minmax(0,1fr);gap:.75rem}}.page-container.login-page{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-9);align-content:start;align-items:start;min-height:calc(100dvh - var(--site-header-height));padding-block:var(--space-8)}.login-page__mark{display:block;width:52px;height:52px;margin-bottom:var(--space-4);object-fit:contain;border-radius:var(--radius-xl)}.login-card{display:grid;gap:var(--space-6);width:min(100%,440px);justify-self:center;border-color:#0000000f;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.login-card__heading{display:grid;gap:var(--space-2)}.login-card__heading h1{font-size:clamp(22px,3vw,27px);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight);word-break:keep-all}.login-card__heading>p:last-child{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.login-benefits{display:grid;gap:var(--space-4);padding:0;margin:0;list-style:none}.login-benefits li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3);align-items:start}.login-benefits__check{display:grid;width:28px;height:28px;color:var(--color-primary-strong);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);place-items:center;background:var(--color-primary-soft);border-radius:50%}.login-benefits li>span:last-child{display:grid;gap:var(--space-1);padding-top:2px}.login-benefits strong{font-size:var(--font-size-body-sm)}.login-benefits small{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.login-card__actions{display:grid;gap:var(--space-3)}.login-kakao-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:var(--space-2);padding:13px 18px;color:var(--color-kakao-text);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);background:var(--color-kakao-brand);border-radius:var(--radius-button);transition:filter var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}.login-kakao-button:hover{filter:brightness(.96);transform:translateY(-1px)}.login-kakao-button:active{transform:translateY(0)}.login-kakao-button__icon{display:grid;width:24px;height:24px;align-items:center;justify-content:center;color:var(--color-kakao-brand);font-size:11px;font-weight:var(--font-weight-extrabold);background:var(--color-kakao-text);border-radius:50%}.login-explore-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-primary-strong);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md)}.login-explore-link:hover{background:var(--color-primary-soft)}.login-card__return-note{padding:var(--space-3) var(--space-4);color:var(--color-primary-strong);font-size:var(--font-size-caption);line-height:var(--line-height-normal);text-align:center;background:var(--color-primary-soft);border-radius:var(--radius-md)}.login-introduction{grid-column:1 / -1;width:100%;padding-top:var(--space-10);border-top:1px solid var(--color-border)}.login-introduction__eyebrow{color:var(--color-primary-strong);font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.15em}.login-introduction>h2{margin-top:var(--space-4);font-size:clamp(28px,3.5vw,42px);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-tighter);line-height:1.4}.login-introduction>h2>span{color:var(--color-primary-strong)}.login-introduction__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7);padding:0;margin:var(--space-8) 0 var(--space-5);list-style:none}.login-introduction__chapter{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:2px solid var(--color-primary);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.login-introduction__chapter>span,.login-introduction__action{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--color-primary-strong)}.login-introduction__features h3{margin-top:var(--space-3);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.login-introduction__description{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed);word-break:keep-all}@media(max-width:767px){.login-introduction{padding-top:var(--space-7)}.login-introduction__features{grid-template-columns:1fr;gap:var(--space-7);margin-top:var(--space-7)}.login-introduction__chapter{margin-bottom:var(--space-4)}.page-container.login-page{grid-template-columns:1fr;gap:clamp(48px,8svh,72px);min-height:calc(100dvh - var(--mobile-header-height));padding-top:clamp(40px,8svh,72px);padding-bottom:max(72px,calc(env(safe-area-inset-bottom) + 48px))}.login-page__mark{width:52px;height:52px;margin-bottom:var(--space-2);border-radius:var(--radius-lg)}.login-card{padding:clamp(24px,6vw,32px);gap:var(--space-7)}}.auth-nickname-form{display:grid;gap:1rem;margin-block:1.5rem}.account-card{width:min(100%,520px);box-shadow:none}.account-links{display:grid}.account-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding-block:12px;border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-body-sm)}.account-links a:after{content:"›";color:var(--color-text-tertiary);font-size:20px}.account-links a:hover{color:var(--color-primary-strong)}.account-admin{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.account-admin summary{width:fit-content;padding-block:10px;cursor:pointer}.account-admin .account-links{padding-top:var(--space-2)}.account-card__footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.account-card__footer>a{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.community-page{display:grid;gap:var(--space-5);padding-block:var(--space-6)}.community-page h1{font-size:var(--font-size-page-title);word-break:keep-all}.community-page h2{font-size:var(--font-size-heading)}.community-page h3{font-size:var(--font-size-body-lg)}.community-page>p{color:var(--color-text-secondary);max-width:65ch}.community-page>a:first-child{width:fit-content;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.community-page>a:first-child:hover{color:var(--color-primary-strong)}.community-page dl{margin:0}.community-card>dl>div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:var(--space-4);padding-block:8px}.community-page dt{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.community-page dd{margin:0;min-width:0}.community-card>dl{padding-block:var(--space-2);border-block:1px solid var(--color-border-subtle)}.community-card>dl:empty,.community-gallery:empty{display:none}.community-card>h3+p{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.community-page:not(.page-container){padding-block:0}.community-page.community-editor{--page-content-max-width: 840px}.community-page form,.community-form,.community-card{display:grid;gap:var(--space-4)}.community-page label{display:grid;gap:var(--space-2);font-weight:var(--font-weight-label);font-size:var(--font-size-body-sm)}.community-page input,.community-page select,.community-page textarea{max-width:100%;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;width:100%;min-height:48px;font-size:16px;line-height:1.5;font-weight:var(--font-weight-regular);transition:border-color var(--duration-normal),box-shadow var(--duration-normal)}.community-page :is(input,select,textarea):focus-visible{border-color:var(--color-primary-strong);box-shadow:var(--shadow-focus)}.community-page .community-checkbox{display:flex;align-items:center;gap:10px;min-height:44px}.community-page .community-checkbox input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--color-primary)}.community-page :is(input,select,textarea):disabled{background:var(--color-surface-muted);color:var(--color-text-disabled)}.community-page textarea{min-height:120px}.community-photo-picker{padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle)}.community-photo-picker input[type=file]{margin-top:4px;padding:10px;font-size:var(--font-size-body-sm);border-style:dashed}.community-photo-picker input::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:8px;background:var(--color-primary-soft);color:var(--color-primary-strong);font:inherit;cursor:pointer}.community-photo-picker input::file-selector-button:hover{background:var(--color-secondary-hover)}.community-page textarea{resize:vertical}.community-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.community-actions a{color:var(--color-primary-strong);font-weight:600}.community-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.community-gallery img{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-md)}.community-value{overflow-wrap:anywhere;white-space:pre-wrap}.community-metric{display:grid;gap:12px;margin-block:0;padding-block:24px;border-bottom:1px solid var(--color-border-subtle)}.community-metric>p{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.community-metric label{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.community-metric progress{width:100%;height:5px;border:0;border-radius:var(--radius-full);overflow:hidden;appearance:none;background:var(--color-surface-muted);accent-color:var(--color-primary-strong)}.community-metric progress::-webkit-progress-bar{background:var(--color-surface-muted);border-radius:var(--radius-full)}.community-metric progress::-webkit-progress-value{background:var(--color-primary-strong);border-radius:var(--radius-full)}.community-metric progress::-moz-progress-bar{background:var(--color-primary-strong);border-radius:var(--radius-full)}.community-page [role=alert]{color:var(--color-danger)}.community-page fieldset{min-width:0;border:0;padding:0;margin:0;display:grid;gap:var(--space-4)}.community-page .my-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.community-page .my-stats h3{word-break:keep-all}.community-page .my-stats strong{display:block;margin-block:10px}@media(max-width:800px){.community-page .my-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.community-page .community-confirm{border-color:var(--color-primary)}@media(max-width:600px){.community-fields{grid-template-columns:1fr}.community-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.community-actions{align-items:stretch}.community-actions button{min-height:44px}}.map-page{position:relative;height:calc(100dvh - var(--site-header-height));min-height:0;overflow:hidden;background:var(--color-background)}.map-stage{--map-filter-panel-width: clamp(320px, 22vw, 330px);position:relative;display:grid;height:100%;min-height:0;grid-template-columns:var(--map-filter-panel-width) minmax(0,1fr);overflow:hidden;background:var(--color-map-background);transition:grid-template-columns var(--duration-slow) var(--easing-standard)}.map-stage--detail-open{grid-template-columns:var(--map-filter-panel-width) minmax(0,1fr) 360px}.map-filter-panel,.restaurant-detail-panel{z-index:4;overflow-y:auto;background:#ffffffdb;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);scrollbar-width:thin}.map-filter-panel{min-width:0;padding:24px 20px 28px;border-right:1px solid var(--color-border);transform:translate(0);transition:opacity var(--duration-normal) var(--easing-standard),transform var(--duration-slow) var(--easing-standard),visibility 0s linear 0s}.map-filter-panel__header,.open-only-row,.section-heading,.map-restaurant-strip__header,.restaurant-detail__heading,.verification-card__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-filter-panel__header{margin-bottom:26px}.map-filter-panel__header h2{display:inline-flex;align-items:center;gap:8px;font-size:17px;letter-spacing:-.04em}.map-filter-panel__icon{width:18px;height:18px;color:var(--color-primary-strong);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.mobile-filter-close{display:none;color:var(--color-text-secondary);font-size:24px;line-height:1}.map-filter-panel__handle{display:none}.filter-section{display:grid;gap:10px;padding-bottom:24px}.filter-section h3{color:var(--color-text-primary);font-size:14px;letter-spacing:-.03em}.filter-option-list{display:flex;flex-wrap:wrap;gap:7px}.filter-option{display:inline-flex;min-height:35px;align-items:center;justify-content:center;padding:7px 12px;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-button);white-space:nowrap;background:#ffffffad;border:1px solid rgba(255,255,255,.86);border-radius:var(--radius-chip);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);transition:color .16s ease,background-color .16s ease,border-color .16s ease}.filter-option:hover{color:var(--color-primary-strong);background:#ffffffe6;border-color:#65ad9d52}.filter-option--active{color:var(--color-primary-strong);background:#e6f5f1d6;border-color:#65ad9d57;box-shadow:inset 0 0 0 1px #65ad9d0f,var(--shadow-xs)}.text-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;padding:0 12px;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-button);white-space:nowrap;background:#ffffffad;border:1px solid rgba(255,255,255,.86);border-radius:var(--radius-button);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.text-button:hover{color:var(--color-primary-strong);background:#ffffffeb;border-color:#65ad9d47;transform:translateY(-1px)}.text-button:active{transform:translateY(0)}.text-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.open-only-row{padding:4px 0 24px;font-size:14px;font-weight:var(--font-weight-semibold)}.switch{position:relative;width:42px;height:24px;padding:3px;background:var(--color-neutral-300);border-radius:var(--radius-chip);transition:background-color .16s ease}.switch--on{background:var(--color-primary)}.switch__thumb{display:block;width:18px;height:18px;background:var(--color-surface);border-radius:50%;box-shadow:0 1px 3px #171a1a2e;transition:transform .16s ease}.switch--on .switch__thumb{transform:translate(18px)}.map-column{position:relative;min-width:0;height:100%;min-height:0;overflow:hidden}.map-category-bar{position:absolute;z-index:3;top:16px;left:50%;display:flex;max-width:calc(100% - 32px);gap:4px;padding:5px;overflow-x:auto;background:#ffffff9e;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transform:translate(-50%);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);scrollbar-width:none}.map-category-bar::-webkit-scrollbar{display:none}.map-category-bar__error{display:inline-flex;flex:0 0 auto;align-items:center;margin:0;padding-inline:10px 2px;color:var(--color-danger);font-size:13px;font-weight:var(--font-weight-medium);white-space:nowrap}.map-category-bar__retry.ui-button{flex:0 0 auto;min-height:36px;padding-inline:12px;font-size:13px;white-space:nowrap}.map-category{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;padding:8px 13px;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-button);white-space:nowrap;background:transparent;border-radius:var(--radius-full)}.map-category.ui-chip{border-color:transparent}.map-category:hover,.map-category--active{color:var(--color-primary-strong);background:#e6f5f1c7;box-shadow:inset 0 0 0 1px #65ad9d1f}.map-category--active{box-shadow:inset 0 0 0 1px #65ad9d47}.map-category.ui-chip--selected{color:var(--color-primary-strong);background:#e6f5f1c7;border-color:#65ad9d2e}.map-surface{position:absolute;inset:0;min-height:0;overflow:hidden;isolation:isolate;background:var(--color-map-background)}.map-surface__canvas{position:absolute;inset:0;width:100%;height:100%;border:0}.map-surface__state{position:absolute;z-index:1;inset:0;display:grid;place-items:center;padding:var(--space-6);background:#effaf7c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-surface__state .state-panel{width:min(100%,360px);box-shadow:var(--shadow-float)}.naver-map-marker{display:grid;width:36px;height:36px;place-items:center;background:var(--map-marker-background);border:3px solid var(--map-marker-border);border-radius:50% 50% 50% 8px;box-shadow:var(--map-marker-shadow);transform:rotate(-45deg);transition:width var(--duration-normal) var(--easing-standard),height var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard)}.naver-map-marker>span{width:11px;height:11px;background:var(--map-marker-foreground);border-radius:50%;transform:rotate(45deg)}.naver-map-marker--selected{width:44px;height:44px;background:var(--map-marker-selected-background);box-shadow:var(--map-marker-selected-shadow)}.naver-map-marker--selected>span{width:13px;height:13px}.naver-map-current-location{display:block;width:18px;height:18px;background:#3189df;border:4px solid var(--color-surface);border-radius:50%;box-shadow:0 0 0 7px #3189df29,0 3px 8px #26557b47}.map-surface__grid{position:absolute;inset:0;overflow:hidden;background:linear-gradient(30deg,transparent 48%,var(--color-map-grid) 49%,transparent 51%) 0 0 / 130px 110px,linear-gradient(-20deg,transparent 48%,var(--color-map-grid) 49%,transparent 51%) 0 0 / 170px 150px,var(--color-map-background)}.map-surface__grid:after{position:absolute;inset:0;content:"";background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.38) 50%,transparent 80%)}.map-surface__road{position:absolute;display:block;background:var(--color-map-road);border:1px solid var(--color-map-road-border);box-shadow:0 0 0 5px #cfece438}.map-surface__road--diagonal{top:46%;left:-10%;width:125%;height:30px;transform:rotate(-17deg)}.map-surface__road--vertical{top:-10%;left:68%;width:26px;height:125%;transform:rotate(13deg)}.map-surface__road--horizontal{top:22%;left:-5%;width:110%;height:18px;transform:rotate(6deg)}.map-surface__park{position:absolute;display:block;background:var(--color-map-park);border:1px solid var(--color-map-park-border);border-radius:42% 58% 54% 46%}.map-surface__park--one{top:12%;left:14%;width:120px;height:155px;transform:rotate(25deg)}.map-surface__park--two{right:9%;bottom:20%;width:160px;height:92px;transform:rotate(-18deg)}.map-surface__labels,.map-surface__markers{position:absolute;inset:0}.map-surface__place{position:absolute;color:#2f7568b8;font-size:13px;font-weight:var(--font-weight-semibold)}.map-surface__place--one{top:32%;left:17%}.map-surface__place--two{top:58%;left:28%}.map-surface__place--three{top:35%;right:19%}.map-marker{position:absolute;top:var(--map-marker-top);left:var(--map-marker-left);display:grid;width:var(--map-marker-size);height:var(--map-marker-height);align-items:center;justify-content:center;color:var(--map-marker-foreground);font-size:18px;background:var(--map-marker-background);border:3px solid var(--map-marker-border);border-radius:50% 50% 50% 8px;box-shadow:var(--map-marker-shadow);transform:translate(-50%,-100%) rotate(-45deg);transition:transform var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard)}.map-marker span{transform:rotate(45deg)}.map-marker:hover,.map-marker--selected{z-index:2;background:var(--map-marker-selected-background);box-shadow:var(--map-marker-selected-shadow);transform:translate(-50%,-100%) rotate(-45deg) scale(1.16)}.map-surface__current-location{position:absolute;top:52%;left:52%;display:grid;width:20px;height:20px;place-items:center;background:#3189df;border:4px solid var(--color-surface);border-radius:50%;box-shadow:0 0 0 14px #3189df21,0 3px 8px #26557b47;transform:translate(-50%,-50%)}.map-surface__controls{position:absolute;z-index:2;right:18px;bottom:calc(var(--restaurant-strip-height, 360px) + 34px);display:block}.map-control-button.ui-icon-button{width:var(--icon-button-size);height:var(--icon-button-size);color:var(--color-primary-strong);background:#fffffffa;border-color:var(--color-border);border-radius:var(--radius-icon-button);box-shadow:var(--shadow-sm)}.map-control-button.ui-icon-button:hover:not(:disabled){background:#fff;color:var(--color-primary-strong);border-color:var(--color-primary)}.map-control-button--location{width:var(--icon-button-size);height:var(--icon-button-size)}.map-control-button--location svg{width:var(--icon-size-lg);height:var(--icon-size-lg);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.map-surface__search-action{position:absolute;z-index:2;top:76px;right:20px}.map-surface__search-action .ui-button{min-height:44px;color:var(--color-primary-strong);font-size:13px;background:#ffffffd1;border-color:#ffffffe0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}.map-surface__search-action .ui-button:hover:not(:disabled){color:var(--color-primary-strong);background:#fffffff5;border-color:#65ad9d47}.map-restaurant-strip{position:absolute;z-index:3;right:18px;bottom:18px;left:18px;display:grid;gap:10px;justify-items:center;padding:14px;overflow:hidden;background:#ffffffd1;border:1px solid rgba(255,255,255,.66);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.map-restaurant-strip__header h2{font-size:17px;letter-spacing:-.04em}.map-restaurant-strip__header{width:min(100%,980px)}.restaurant-card-list{display:flex;gap:12px;width:fit-content;max-width:100%;margin-inline:auto;overflow-x:auto;padding:6px 2px 8px;scrollbar-width:thin}.restaurant-card{display:grid;width:176px;min-width:176px;flex:0 0 176px;min-height:224px;grid-template-rows:96px minmax(0,1fr);padding:0;overflow:hidden;color:var(--color-text-primary);text-align:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 4px 12px #1536300d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.restaurant-card:hover,.restaurant-card--selected{border-color:var(--color-primary);box-shadow:var(--shadow-float);transform:translateY(-2px)}.restaurant-card__visual,.restaurant-detail__visual{display:grid;overflow:hidden;place-items:center;background:linear-gradient(135deg,#d5ebe0,#f6e6c9)}.restaurant-card__visual{height:96px}.restaurant-card__visual span,.restaurant-detail__visual span{filter:drop-shadow(0 5px 3px rgba(91,65,38,.15));font-size:48px}.restaurant-card__visual--sushi,.restaurant-detail__visual--sushi{background:linear-gradient(135deg,#f3ded8,#faefd4)}.restaurant-card__visual--noodle,.restaurant-detail__visual--noodle{background:linear-gradient(135deg,#e6e0c4,#f2cbb0)}.restaurant-card__visual--brunch,.restaurant-detail__visual--brunch{background:linear-gradient(135deg,#eddcc5,#f6f0df)}.restaurant-card__visual--stew,.restaurant-detail__visual--stew{background:linear-gradient(135deg,#edcfb4,#efdca7)}.restaurant-card__content{display:grid;gap:7px;padding:14px}.restaurant-card__content>strong{overflow:hidden;font-size:14px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.restaurant-card__content>span:not(.restaurant-card__rating):not(.restaurant-card__tags){color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.restaurant-card__rating,.restaurant-detail__rating{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.restaurant-card__rating span,.restaurant-detail__rating span{color:#e89916}.restaurant-card__tags,.tag-list{display:flex;flex-wrap:wrap;gap:5px;max-height:53px;overflow:hidden}.restaurant-card__tags span{display:inline-flex;min-height:24px;align-items:center;padding:4px 7px;color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-primary-soft);border:0;border-radius:var(--radius-chip)}.mobile-filter-trigger,.mobile-map-search{display:none}.map-filter-collapse-toggle{position:absolute;z-index:5;top:50%;left:calc(var(--map-filter-panel-width) - 1px);display:none;width:32px;height:52px;align-items:center;justify-content:center;padding:0;color:var(--color-primary-strong);background:#ffffffe6;border:1px solid var(--color-border);border-left:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0;box-shadow:var(--shadow-sm);cursor:pointer;transform:translateY(-50%);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);transition:left var(--duration-slow) var(--easing-standard),color var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard)}.map-filter-collapse-toggle:hover:not(:disabled){color:var(--color-primary-strong);background:var(--color-surface)}.map-filter-collapse-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform var(--duration-slow) var(--easing-standard)}.map-filter-collapse-toggle--collapsed{left:0}.map-filter-collapse-toggle--collapsed svg{transform:rotate(180deg)}.map-list-sheet__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:12px;max-height:min(52vh,460px);padding:6px 2px 8px;overflow-y:auto}.map-list-sheet__grid .restaurant-card{width:100%;min-width:0}.restaurant-detail-panel{position:relative;padding:54px 20px 22px;border-left:1px solid var(--color-border)}.restaurant-detail-panel__handle{display:none}.restaurant-detail-panel__close{position:absolute;top:14px;right:16px;color:var(--color-text-secondary);background:transparent}.restaurant-detail-panel__close:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-background)}.restaurant-detail{display:grid;gap:14px}.restaurant-detail__visual{height:142px;border-radius:13px}.restaurant-detail__visual span{font-size:74px}.restaurant-detail__heading{align-items:flex-start;padding-top:2px}.restaurant-detail__heading h2{margin-top:3px;font-size:22px;letter-spacing:-.06em}.restaurant-detail__save{color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-icon-button)}.restaurant-detail__save:hover:not(:disabled){color:var(--color-primary-strong);border-color:var(--color-primary)}.restaurant-detail__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--color-text-secondary);font-size:13px}.restaurant-detail__meta>span:not(:first-child):before{padding-inline-end:8px;color:var(--color-text-tertiary);content:"·"}.tag-list{flex-wrap:wrap}.restaurant-detail__facts{display:grid;gap:13px;padding:3px 0 4px}.restaurant-detail__facts>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;font-size:13px}.restaurant-detail__facts dt{color:var(--color-text-secondary)}.restaurant-detail__facts dd{display:flex;min-width:0;flex-wrap:wrap;gap:5px;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.restaurant-detail__facts dd span{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.restaurant-detail__facts .is-open:before,.restaurant-detail__facts .is-closed:before{align-self:center;width:7px;height:7px;margin-inline-end:2px;content:"";border-radius:50%}.restaurant-detail__facts .is-open:before{background:var(--color-success)}.restaurant-detail__facts .is-closed:before{background:var(--color-text-tertiary)}.verification-card{display:grid;gap:14px;padding:16px;border:1px solid var(--color-border);border-radius:14px}.verification-card__heading h3,.short-review h3{font-size:16px;letter-spacing:-.04em}.verification-card__heading>span{display:grid;width:24px;height:24px;color:var(--color-success);font-size:14px;place-items:center;background:var(--color-success-soft);border-radius:50%}.verification-card ul{display:grid;gap:10px}.verification-card li{display:flex;gap:9px;align-items:center;color:var(--color-text-secondary);font-size:var(--font-size-caption)}.verification-card li>span:first-child{color:var(--color-primary-strong)}.short-review{display:grid;gap:10px;padding-top:3px}.section-heading--detail{align-items:baseline}.short-review>p{color:var(--color-text-primary);font-size:13px;line-height:1.6}.short-review>span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.restaurant-detail__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:3px}.restaurant-detail-panel__empty{display:grid;gap:10px;padding-top:60px}.restaurant-detail-panel__empty h2{font-size:20px;letter-spacing:-.05em}.restaurant-detail-panel__empty p:last-child{color:var(--color-text-secondary);font-size:14px}@media(min-width:768px){.map-filter-collapse-toggle{display:grid}.map-stage--filter-hidden .map-filter-panel{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-24px);transition:opacity var(--duration-fast) var(--easing-standard),transform var(--duration-slow) var(--easing-standard),visibility 0s linear var(--duration-slow)}}@media(min-width:1200px){.map-restaurant-strip{right:auto;left:50%;width:calc(100vw - var(--map-filter-panel-width) - 396px);transform:translate(-50%)}.map-stage--filter-hidden{grid-template-columns:0 minmax(0,1fr)}.map-stage--filter-hidden.map-stage--detail-open{grid-template-columns:0 minmax(0,1fr) 360px}}@media(max-width:1199px)and (min-width:768px){.map-stage{--map-filter-panel-width: 276px;grid-template-columns:var(--map-filter-panel-width) minmax(0,1fr)}.map-stage--filter-hidden{grid-template-columns:0 minmax(0,1fr)}.map-restaurant-strip{right:auto;left:50%;width:calc(100vw - var(--map-filter-panel-width) - 36px);transform:translate(-50%)}.restaurant-detail-panel{position:absolute;z-index:6;top:16px;right:16px;bottom:16px;width:min(360px,calc(100% - 32px));border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-float)}}@media(max-width:767px){.map-page{height:calc(100dvh - var(--mobile-header-height));min-height:0}.mobile-map-search{position:absolute;z-index:7;top:12px;right:12px;left:12px;display:flex;height:var(--control-height-md);min-height:var(--control-height-md);align-items:center;padding:0 var(--space-1) 0 var(--control-padding-inline-md);background:#ffffffd6;border:1px solid rgba(255,255,255,.68);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.mobile-map-search input{width:100%;min-width:0;height:100%;min-height:0;flex:1;padding:0;color:var(--color-text-primary);background:transparent;border:0;outline:0}.mobile-map-search .ui-input:focus{border:0;box-shadow:none}.mobile-map-search .mobile-map-search__input-field{display:flex;width:100%;min-width:0;flex:1}.mobile-map-search input::placeholder{color:var(--color-text-tertiary)}.mobile-map-search button{display:grid;width:var(--icon-button-size);height:var(--icon-button-size);flex:0 0 var(--icon-button-size);color:var(--color-primary-strong);place-items:center;background:transparent;border-radius:50%}.mobile-map-search button:hover{background:var(--color-primary-soft)}.map-stage{display:block;height:100%;min-height:0}.map-stage--detail-open .map-restaurant-strip,.map-stage--filter-open .map-restaurant-strip{display:none}.map-filter-panel{position:absolute;z-index:11;inset:auto 12px 10px;display:none;max-height:min(70vh,620px);padding:20px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sheet);box-shadow:var(--shadow-float);transform:translateY(var(--map-filter-drag-offset, 0px));transition:transform var(--duration-slow) var(--easing-standard)}.map-filter-panel--open{display:block}.map-filter-panel--dragging{transition:none}.map-filter-panel__handle{position:absolute;top:10px;left:50%;display:block;width:42px;height:5px;background:var(--color-border-strong);border-radius:var(--radius-full);cursor:grab;touch-action:none;transform:translate(-50%)}.map-filter-panel__handle:active{cursor:grabbing}.map-filter-panel__header{margin-bottom:20px}.mobile-filter-close{display:inline-flex;min-width:32px;min-height:32px;align-items:center;justify-content:center;order:3;margin-inline-start:0;border-radius:50%}.map-filter-panel__header .text-button{order:2;margin-inline-start:auto}.map-column{height:100%;min-height:0}.map-category-bar{top:72px;left:50%;width:fit-content;max-width:calc(100% - 24px);justify-content:safe center;transform:translate(-50%)}.map-category{min-height:36px;padding-inline:11px}.map-surface__search-action{top:128px;right:12px}.map-surface__search-action .ui-button{min-height:38px;padding-inline:12px;font-size:var(--font-size-caption)}.map-surface__controls{right:12px;bottom:calc(var(--restaurant-strip-height, 360px) + 28px)}.map-restaurant-strip{right:12px;bottom:12px;left:12px;padding:14px}.map-restaurant-strip__header{align-items:baseline}.map-restaurant-strip__header h2{font-size:16px}.restaurant-card{width:164px;min-width:164px;flex-basis:164px;min-height:216px}.restaurant-card__visual{height:92px}.restaurant-card__visual span{font-size:44px}.restaurant-detail-panel{position:fixed;z-index:10;right:10px;bottom:10px;left:10px;display:block;max-height:min(70vh,620px);padding:48px 16px 18px;border:1px solid var(--color-border);border-radius:var(--radius-sheet);box-shadow:0 -12px 40px #1536302e;transform:translateY(var(--restaurant-detail-drag-offset, 0px));transition:transform var(--duration-slow) var(--easing-standard)}.restaurant-detail-panel--dragging{transition:none}.restaurant-detail-panel__handle{position:absolute;top:12px;left:50%;display:block;width:42px;height:5px;background:var(--color-border-strong);border-radius:var(--radius-full);cursor:grab;touch-action:none;transform:translate(-50%)}.restaurant-detail-panel__close{top:7px;right:10px}.restaurant-detail__visual{height:112px}.restaurant-detail__visual span{font-size:58px}.mobile-filter-trigger{position:absolute;z-index:7;top:128px;left:12px;display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:8px 12px;color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-button);background:#ffffffc7;border:1px solid rgba(255,255,255,.88);border-radius:var(--radius-button);box-shadow:var(--shadow-float)}.mobile-filter-trigger__icon{width:17px;height:17px;color:var(--color-primary-strong);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}}@media(prefers-reduced-motion:reduce){.map-stage,.map-filter-panel,.map-filter-collapse-toggle,.filter-option,.switch__thumb,.map-marker,.restaurant-card{transition:none}}.restaurant-card__visual img,.restaurant-detail__visual img{width:100%;height:100%;object-fit:cover}.restaurant-card__address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-api-note{color:var(--color-text-muted, #69756f);font-size:.8125rem;line-height:1.7;padding:.75rem}.restaurant-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;font-size:.8125rem}.restaurant-sort{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem}.restaurant-sort select{font:inherit;padding:.25rem;border:1px solid #d8dfdb;border-radius:.375rem;background:#fff;color:inherit}.restaurant-photo-empty{display:grid;place-items:center;padding:1rem;color:var(--color-text-tertiary);font-size:.8125rem!important;filter:none!important}@media(max-width:767px){.map-page .map-surface__state{inset:174px 0 auto;padding:0 24px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.map-page .map-surface__state .state-panel{gap:8px;padding:12px}}.my-page__topbar,.my-page__section-heading,.my-profile-card__heading,.my-account-card__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.my-page__back{width:fit-content;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.my-page__back:hover{color:var(--color-primary-strong)}.my-page__eyebrow{color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.my-page__intro{display:grid;gap:var(--space-2);padding:var(--space-2) 0}.my-page.community-page{gap:var(--space-7)}.my-identity{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);padding-block:var(--space-6);border-block:1px solid var(--color-border-subtle)}.my-identity h2{margin-top:var(--space-2);font-size:var(--font-size-section)}.my-identity__actions{display:flex;flex-wrap:wrap;gap:var(--space-5)}.my-identity__actions a{padding-block:10px;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.my-identity__actions a:hover{color:var(--color-primary-strong)}.my-page__section-title{font-size:var(--font-size-heading)}.my-activity-stat{min-width:0;background:var(--color-neutral-50);border-color:transparent}.my-activity-stat h3{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium)}.my-page .my-stats .my-activity-stat strong{margin-block:16px 24px;font-size:30px;font-weight:550;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.my-activity-stat__link{color:var(--color-primary-strong);font-size:var(--font-size-caption)}.my-activity-stat__link a{display:inline-flex;min-height:32px;align-items:center}.my-shortcuts{display:grid;gap:var(--space-4);margin-top:var(--space-2)}.my-shortcuts h2{font-size:var(--font-size-heading)}.my-shortcuts__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-7)}.my-shortcuts__links a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:64px;border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-body)}.my-shortcuts__links span{color:var(--color-text-tertiary)}.my-shortcuts__links a:hover{color:var(--color-primary-strong)}@media(max-width:600px){.my-shortcuts__links{grid-template-columns:1fr}.my-activity-stat.ui-card--padding-lg{padding:var(--space-5)}.my-identity{align-items:flex-start;flex-direction:column;gap:var(--space-3)}}.my-page__intro h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-title)}.my-page__intro>p:last-child{color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed)}.my-profile-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface));border-color:transparent;box-shadow:var(--shadow-sm)}.my-profile-card__identity{display:flex;gap:var(--space-4);align-items:center;min-width:0}.my-profile-card__avatar{display:grid;width:64px;height:64px;flex:0 0 auto;place-items:center;color:var(--color-surface);font-size:var(--font-size-title);font-weight:var(--font-weight-extrabold);background:var(--color-primary-strong);border:4px solid var(--color-surface);border-radius:50%;box-shadow:var(--shadow-xs)}.my-profile-card__heading{justify-content:flex-start}.my-profile-card__heading h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-profile-card__identity p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.my-page__section{display:grid;gap:var(--space-4)}.my-page__section-heading h2,.my-account-card h2,.my-page__guide h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-page__section-heading .layout-section-header__description{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.my-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.my-stat-card{display:grid;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.my-stat-card__label{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.my-stat-card strong{color:var(--color-primary-strong);font-size:clamp(26px,4vw,32px);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.my-stat-card__unit{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);letter-spacing:0}.my-page__content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-5);align-items:start}.my-page__activity-menu,.my-page__guide,.my-account-card{display:grid;gap:var(--space-4)}.my-activity-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.my-activity-link{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);color:var(--color-text-primary);border:1px solid transparent;border-radius:var(--radius-lg);transition:background-color var(--duration-normal) var(--easing-standard),border-color var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}.my-activity-link:hover{background:var(--color-primary-soft);border-color:var(--color-brand-200);transform:translateY(-1px)}.my-activity-link__icon{display:grid;width:44px;height:44px;place-items:center;color:var(--color-primary-strong);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);background:var(--color-primary-soft);border-radius:var(--radius-md)}.my-activity-link__content{display:grid;gap:var(--space-1);min-width:0}.my-activity-link__content strong{font-size:var(--font-size-body)}.my-activity-link__content span{overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);text-overflow:ellipsis;white-space:nowrap}.my-activity-link__count{color:var(--color-primary-strong);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);white-space:nowrap}.my-activity-link__arrow{color:var(--color-text-tertiary);font-size:var(--font-size-body-lg)}.my-page__guide{background:var(--color-surface-muted);border-color:transparent}.my-page__guide>p:not(.eyebrow){color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.my-page__guide-list{display:grid;gap:var(--space-3);margin:0;padding:0;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-relaxed);list-style:none}.my-page__guide-list li{position:relative;padding-left:var(--space-4)}.my-page__guide-list li:before{position:absolute;top:.65em;left:0;width:5px;height:5px;content:"";background:var(--color-primary);border-radius:50%}.my-account-card{gap:var(--space-5)}.my-account-card__heading{align-items:flex-start}.my-account-card__heading>div{display:grid;gap:var(--space-1)}.my-account-card__heading p{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.my-account-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.my-account-card__delete{color:var(--color-danger)}.my-account-card__delete:hover{color:var(--color-danger-700);background:var(--color-danger-soft)}.my-page__announcement{padding:var(--space-3) var(--space-4);color:var(--color-primary-strong);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed);background:var(--color-primary-soft);border-radius:var(--radius-md)}.my-page__dialog-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--space-5);background:var(--color-overlay)}.my-page__dialog{display:grid;width:min(100%,420px);gap:var(--space-4);box-shadow:var(--shadow-float)}.my-page__dialog h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-page__dialog p{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.my-page__dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.my-page__dialog-actions .ui-button{min-width:100px}@media(max-width:820px){.my-page__content-grid{grid-template-columns:1fr}}@media(max-width:560px){.my-profile-card{align-items:flex-start;flex-direction:column}.my-profile-card>.ui-button{width:100%}.my-stats{gap:var(--space-2)}.my-stat-card{padding:var(--space-3)}.my-stat-card strong{font-size:24px}.my-activity-link{grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2)}.my-activity-link__icon{width:40px;height:40px}.my-activity-link__count{display:none}.my-account-card__actions{display:grid}.my-account-card__actions .ui-button{width:100%}.my-page__dialog-actions{display:grid}.my-page__dialog-actions .ui-button{width:100%}}.my-favorites-page__topbar,.my-favorites-toolbar,.my-favorite-card__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.my-favorites-page__back{width:fit-content;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.my-favorites-page__back:hover{color:var(--color-primary-strong)}.my-favorites-page__eyebrow{color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.my-favorites-page__intro{display:grid;gap:var(--space-2);padding:var(--space-2) 0}.my-favorites-page__intro h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-title)}.my-favorites-page__intro>p:last-child{color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed)}.my-favorites-summary{display:flex;align-items:center;gap:var(--space-3);background:var(--color-primary-soft);border-color:transparent}.my-favorites-summary__icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;color:var(--color-primary-strong);font-size:var(--font-size-title);background:var(--color-surface);border-radius:var(--radius-lg)}.my-favorites-summary__copy{display:grid;flex:1;gap:var(--space-1);min-width:0}.my-favorites-summary__copy strong{font-size:var(--font-size-body-lg)}.my-favorites-summary__copy p{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.my-favorites-toolbar{align-items:flex-end}.my-favorites-toolbar .layout-section-header__content{display:flex;gap:var(--space-2);align-items:baseline}.my-favorites-toolbar h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-favorites-toolbar .layout-section-header__description{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.my-favorites-sort{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.my-favorites-sort>span{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.my-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.my-favorite-card{display:grid;overflow:hidden;box-shadow:var(--shadow-xs)}.my-favorite-card__visual{position:relative;display:grid;min-height:150px;place-items:center;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface-muted))}.my-favorite-card__visual img{width:100%;height:180px;object-fit:cover}.my-favorites-pagination,.my-favorites-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.my-favorites-confirm h2,.my-favorites-confirm p{flex-basis:100%}.my-favorite-card__visual--sushi{background:linear-gradient(135deg,var(--color-danger-soft),var(--color-warning-soft))}.my-favorite-card__visual--noodle{background:linear-gradient(135deg,var(--color-warning-soft),var(--color-primary-soft))}.my-favorite-card__visual--brunch{background:linear-gradient(135deg,var(--color-warning-soft),var(--color-surface-muted))}.my-favorite-card__visual--stew{background:linear-gradient(135deg,var(--color-danger-soft),var(--color-warning-soft))}.my-favorite-card__visual>span:first-child{filter:drop-shadow(0 8px 5px rgba(91,65,38,.15));font-size:72px}.my-favorite-card__saved-mark{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;width:36px;height:36px;place-items:center;color:var(--color-primary-strong);font-size:var(--font-size-body-lg);background:#ffffffe6;border-radius:50%;box-shadow:var(--shadow-xs)}.my-favorite-card__content{display:grid;gap:var(--space-3);padding:var(--space-5)}.my-favorite-card__heading{justify-content:flex-start}.my-favorite-card__heading>span{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.my-favorite-card h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-favorite-card__address{overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);text-overflow:ellipsis;white-space:nowrap}.my-favorite-card__meta{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.my-favorite-card__meta span{color:var(--color-warning);font-weight:var(--font-weight-bold)}.my-favorite-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.my-favorite-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.my-favorite-card__actions .ui-button:first-child{grid-column:1 / -1}.my-favorite-card__actions .ui-button{width:100%}.my-favorite-card__unsave{color:var(--color-danger)}.my-favorite-card__unsave:hover{color:var(--color-danger-700);background:var(--color-danger-soft)}.my-favorites-empty{display:grid;justify-items:start;gap:var(--space-3);text-align:left}.my-favorites-empty__icon{display:grid;width:48px;height:48px;place-items:center;color:var(--color-primary-strong);font-size:var(--font-size-title);background:var(--color-primary-soft);border-radius:50%}.my-favorites-empty h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-favorites-empty p{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.my-favorites-page__announcement{padding:var(--space-3) var(--space-4);color:var(--color-primary-strong);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed);background:var(--color-primary-soft);border-radius:var(--radius-md)}.my-favorites-page__dialog-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:var(--space-5);background:var(--color-overlay)}.my-favorites-page__dialog{display:grid;width:min(100%,440px);gap:var(--space-4);box-shadow:var(--shadow-float)}.my-favorites-page__dialog h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.my-favorites-page__dialog-restaurant{padding:var(--space-3);color:var(--color-primary-strong);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);background:var(--color-primary-soft);border-radius:var(--radius-md)}.my-favorites-page__dialog>p:not(.eyebrow):not(.my-favorites-page__dialog-restaurant){color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.my-favorites-page__dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.my-favorites-page__dialog-actions .ui-button{min-width:100px}@media(max-width:820px){.my-favorites-grid{grid-template-columns:1fr}}@media(max-width:560px){.my-favorites-summary{align-items:flex-start;flex-wrap:wrap}.my-favorites-summary__copy{flex:1 1 calc(100% - 68px)}.my-favorites-summary>.ui-button{width:100%}.my-favorites-toolbar{align-items:flex-start;flex-direction:column}.my-favorites-sort{width:100%}.my-favorites-sort .ui-chip{flex:1}.my-favorite-card__visual{min-height:130px}.my-favorites-page__dialog-actions{display:grid}.my-favorites-page__dialog-actions .ui-button{width:100%}}.report-page__intro{display:grid;max-width:680px;gap:var(--space-3)}.report-page__intro h1{word-break:keep-all;text-wrap:balance;font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-title)}.report-page__intro>p:last-child{max-width:580px;color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed)}.report-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}.report-form__main{display:grid;gap:var(--space-5);min-width:0}.report-form__card{display:grid;gap:var(--space-6)}.report-section__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.report-section__step{margin-bottom:var(--space-2);color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide)}.report-section__heading h2{font-size:var(--font-size-section);letter-spacing:var(--letter-spacing-tighter)}.report-required-note{color:var(--color-text-tertiary);font-size:var(--font-size-caption);white-space:nowrap}.report-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4)}.report-field-grid>:last-child{grid-column:1 / -1}.report-address-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.report-address-control__button{min-width:92px;margin-bottom:1px}.report-location-status{padding:6px 9px;color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;background:var(--color-primary-soft);border-radius:var(--radius-chip)}.report-location-preview{display:grid;gap:var(--space-3);padding-top:var(--space-2)}.report-location-preview__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.report-location-preview__heading h3{margin-top:3px;font-size:var(--font-size-body-lg);letter-spacing:var(--letter-spacing-tight)}.report-location-map{position:relative;display:block;width:100%;height:238px;overflow:hidden;background:linear-gradient(30deg,transparent 48%,rgba(177,205,197,.58) 49%,transparent 51%) 0 0 / 132px 104px,linear-gradient(-20deg,transparent 48%,rgba(177,205,197,.5) 49%,transparent 51%) 0 0 / 168px 144px,#edf6f2;border:1px solid var(--color-border);border-radius:var(--radius-md)}.report-location-map--naver{background:var(--color-map-background)}.report-location-map__state{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:var(--space-4);color:var(--color-text-secondary);text-align:center;background:#edf6f2c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-location-map__state>span{display:block;margin-top:var(--space-2);font-size:var(--font-size-caption)}.report-location-marker{position:absolute;top:var(--report-pin-top);left:var(--report-pin-left);z-index:2;display:grid;width:34px;height:34px;color:var(--color-surface);font-size:12px;place-items:center;background:var(--color-primary-strong);border:3px solid var(--color-surface);border-radius:50% 50% 50% 8px;box-shadow:var(--shadow-float);transform:translate(-50%,-100%) rotate(-45deg)}.report-location-marker>span{transform:rotate(45deg)}.report-location-marker--selected{background:var(--color-primary-strong);transform:translate(-50%,-100%) rotate(-45deg) scale(1.14)}.report-location-results{display:grid;gap:var(--space-2)}.report-location-results li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-background);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.report-location-results li>div{display:grid;min-width:0;gap:3px}.report-location-results li strong,.report-location-results li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-location-results li strong{font-size:var(--font-size-body-sm)}.report-location-results li span{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.report-map-picker{display:grid;gap:var(--space-3)}.report-map-picker__canvas{position:relative;display:block;width:100%;height:238px;overflow:hidden;text-align:start;cursor:default;background:linear-gradient(30deg,transparent 48%,rgba(177,205,197,.58) 49%,transparent 51%) 0 0 / 132px 104px,linear-gradient(-20deg,transparent 48%,rgba(177,205,197,.5) 49%,transparent 51%) 0 0 / 168px 144px,#edf6f2;border:1px solid var(--color-border);border-radius:var(--radius-card)}.report-map-picker__canvas--active{cursor:crosshair;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.report-map-picker__road,.report-map-picker__park{position:absolute;display:block;pointer-events:none}.report-map-picker__road{background:#ffffffd6;border:1px solid rgba(207,236,228,.92);box-shadow:0 0 0 5px #cfece433}.report-map-picker__road--diagonal{top:48%;left:-10%;width:124%;height:24px;transform:rotate(-14deg)}.report-map-picker__road--horizontal{top:25%;left:-6%;width:112%;height:16px;transform:rotate(7deg)}.report-map-picker__road--vertical{top:-12%;left:67%;width:22px;height:126%;transform:rotate(12deg)}.report-map-picker__park{background:#cce7d1c2;border:1px solid rgba(165,204,177,.7);border-radius:42% 58% 54% 46%}.report-map-picker__park--one{top:10%;left:13%;width:94px;height:112px;transform:rotate(24deg)}.report-map-picker__park--two{right:9%;bottom:14%;width:122px;height:68px;transform:rotate(-18deg)}.report-map-picker__label{position:absolute;z-index:1;color:#2f7568b3;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);pointer-events:none}.report-map-picker__label--one{top:27%;left:22%}.report-map-picker__label--two{right:19%;bottom:25%}.report-map-picker__pin{position:absolute;top:var(--report-pin-top);left:var(--report-pin-left);z-index:2;display:grid;width:38px;height:38px;color:var(--color-surface);font-size:20px;place-items:center;background:var(--color-primary-strong);border:3px solid var(--color-surface);border-radius:50% 50% 50% 8px;box-shadow:var(--shadow-float);transform:translate(-50%,-100%) rotate(-45deg);pointer-events:none}.report-map-picker__pin>span{transform:rotate(45deg)}.report-map-picker__empty{position:absolute;top:50%;left:50%;padding:8px 11px;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);background:#ffffffe0;border:1px solid rgba(228,233,231,.9);border-radius:var(--radius-chip);box-shadow:var(--shadow-xs);transform:translate(-50%,-50%);pointer-events:none}.report-map-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.report-map-picker__footer p{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.report-photo-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-4);background:var(--color-background);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.report-photo-field>div{display:grid;gap:var(--space-1)}.report-photo-field>div>span{color:var(--color-text-primary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.report-photo-field>div>p{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.report-photo-list{display:grid;grid-column:1 / -1;gap:var(--space-2)}.report-photo-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 10px;color:var(--color-text-secondary);font-size:var(--font-size-caption);background:var(--color-surface);border-radius:var(--radius-sm)}.report-photo-list li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-photo-list li button{flex:0 0 auto;color:var(--color-danger);font-size:var(--font-size-caption)}.report-address-sheet{display:grid;gap:var(--space-5)}.report-address-results ul{display:grid;gap:var(--space-2)}.report-address-results li button{display:grid;width:100%;gap:var(--space-1);padding:var(--space-3);text-align:start;background:var(--color-background);border:1px solid transparent;border-radius:var(--radius-md)}.report-address-results li button:hover,.report-address-results li button:focus-visible{border-color:var(--color-primary)}.report-address-results li strong{color:var(--color-text-primary);font-size:var(--font-size-body-sm)}.report-address-results li span,.report-address-results__empty{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.report-address-results__empty{padding:var(--space-4);text-align:center;background:var(--color-background);border-radius:var(--radius-md)}.report-option-group{display:grid;gap:var(--space-3);min-width:0;padding:0;border:0}.report-option-group+.report-option-group{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.report-option-group legend,.report-textarea-field>span{color:var(--color-text-primary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.report-field-hint{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.report-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.report-chip-list .ui-chip{min-height:40px}.report-field-error{color:var(--color-danger);font-size:var(--font-size-caption)}.report-textarea-list{display:grid;gap:var(--space-5)}.report-menu-price-field{display:grid;gap:var(--space-3)}.report-menu-price-field__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.report-menu-price-field__heading>div{display:grid;gap:var(--space-1)}.report-menu-price-field__heading>div>span{color:var(--color-text-primary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.report-menu-price-field__heading>div>p{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.report-menu-price-list{display:grid;gap:var(--space-2)}.report-menu-price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.report-textarea-field{display:grid;gap:var(--space-2)}.report-textarea{width:100%;min-height:92px;padding:11px 12px;color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-normal);resize:vertical;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);outline:0;transition:border-color var(--duration-normal) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard)}.report-textarea::placeholder{color:var(--color-text-tertiary)}.report-textarea:hover{border-color:var(--color-border-strong)}.report-textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.report-form__actions{display:flex;flex-direction:column;gap:1rem;min-height:72px;align-items:center;justify-content:center}.report-form__actions .ui-button{width:min(100%,280px)}.report-complete{display:grid;min-height:58vh;place-items:center}.report-complete__card{display:grid;max-width:520px;gap:var(--space-4);justify-items:center;text-align:center}.report-complete__icon{display:grid;width:64px;height:64px;color:var(--color-surface);font-size:32px;font-weight:var(--font-weight-bold);place-items:center;background:var(--color-primary-strong);border-radius:22px}.report-complete__card h1{font-size:var(--font-size-title);letter-spacing:var(--letter-spacing-tighter)}.report-complete__card>p:not(.eyebrow){color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}@media(max-width:640px){.report-page__intro h1{font-size:30px}.report-page__intro>p:last-child{font-size:var(--font-size-body)}.report-form__card{gap:var(--space-5);padding:var(--space-5)}.report-field-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.report-field-grid>:last-child{grid-column:auto}.report-form__actions{min-height:64px}.report-form__actions .ui-button{width:100%}.report-menu-price-row{grid-template-columns:minmax(0,1fr)}}.report-form-fields{border:0;padding:0;margin:0;min-width:0}.report-request-id{overflow-wrap:anywhere;font-size:.875rem}.report-hours-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.75rem;align-items:end}.report-menu-price-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}@media(max-width:600px){.report-hours-row{grid-template-columns:repeat(2,minmax(0,1fr))}.report-menu-price-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.report-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.restaurant-detail-page__topbar,.restaurant-detail-card__heading,.restaurant-detail-hero__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.restaurant-detail-page__back{width:fit-content;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.restaurant-detail-page__back:hover{color:var(--color-primary-strong)}.restaurant-detail-page__save{min-height:36px}.restaurant-detail-hero{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);overflow:hidden;box-shadow:var(--shadow-card)}.restaurant-detail-hero__visual{display:grid;min-height:340px;place-items:center;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface-muted))}.restaurant-detail-hero__visual--sushi{background:linear-gradient(135deg,var(--color-danger-soft),var(--color-warning-soft))}.restaurant-detail-hero__visual--noodle{background:linear-gradient(135deg,var(--color-warning-soft),var(--color-primary-soft))}.restaurant-detail-hero__visual--brunch{background:linear-gradient(135deg,var(--color-warning-soft),var(--color-surface-muted))}.restaurant-detail-hero__visual--stew{background:linear-gradient(135deg,var(--color-danger-soft),var(--color-warning-soft))}.restaurant-detail-hero__visual span{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.restaurant-detail-hero__content{display:grid;align-content:center;gap:var(--space-3);padding:var(--space-7)}.restaurant-detail-hero__eyebrow{align-items:center}.restaurant-detail-hero__content h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-title)}.restaurant-detail-hero__meta,.restaurant-detail-hero__address{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.restaurant-detail-hero__rating{color:var(--color-warning);font-weight:var(--font-weight-bold)}.restaurant-detail-hero__address{align-items:flex-start;margin-top:var(--space-2);line-height:var(--line-height-relaxed)}.restaurant-detail-hero__address span{color:var(--color-primary-strong);font-size:var(--font-size-body-lg);line-height:var(--line-height-normal)}.restaurant-detail-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3)}.restaurant-detail-page__content,.restaurant-detail-card{display:grid;gap:var(--space-5)}.restaurant-detail-card h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.restaurant-detail-card__verified{color:var(--color-success);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);white-space:nowrap}.restaurant-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.restaurant-fact{display:grid;min-height:104px;align-content:start;gap:var(--space-2);padding:var(--space-4);color:var(--color-text-secondary);background:var(--color-surface-muted);border:1px solid transparent;border-radius:var(--radius-lg)}.restaurant-fact__icon{display:grid;width:30px;height:30px;place-items:center;color:var(--color-primary-strong);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);background:var(--color-primary-soft);border-radius:var(--radius-md)}.restaurant-fact>span:not(.restaurant-fact__icon){font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.restaurant-fact strong{color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-normal)}.restaurant-fact--positive{background:var(--color-success-soft);border-color:transparent}.restaurant-fact--positive .restaurant-fact__icon,.restaurant-fact--positive strong{color:var(--color-success)}.restaurant-fact--positive .restaurant-fact__icon{background:var(--color-surface)}.restaurant-fact--negative{background:var(--color-surface-muted)}.restaurant-fact--negative strong{color:var(--color-text-tertiary)}.restaurant-fact--neutral strong{color:var(--color-primary-strong)}.restaurant-detail-card__note{padding:var(--space-3) var(--space-4);color:var(--color-primary-strong);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed);background:var(--color-primary-soft);border-radius:var(--radius-md)}.restaurant-verification{display:flex;gap:var(--space-3);align-items:center;padding-top:var(--space-1)}.restaurant-verification__icon{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;color:var(--color-success);font-weight:var(--font-weight-bold);background:var(--color-success-soft);border-radius:50%}.restaurant-verification div{display:grid;gap:var(--space-1)}.restaurant-verification strong{font-size:var(--font-size-body-sm)}.restaurant-verification span:not(.restaurant-verification__icon){color:var(--color-text-secondary);font-size:var(--font-size-caption)}.restaurant-detail-page__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.restaurant-menu-list,.restaurant-review-metrics{display:grid;gap:var(--space-3)}.restaurant-menu-list{margin:0;padding:0;list-style:none}.restaurant-menu-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.restaurant-menu-list li:last-child{padding-bottom:0;border-bottom:0}.restaurant-menu-list li>div{display:grid;gap:var(--space-1);min-width:0}.restaurant-menu-list strong{font-size:var(--font-size-body)}.restaurant-menu-list span,.restaurant-detail-card__caption{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-relaxed)}.restaurant-menu-list li>strong{color:var(--color-text-primary);white-space:nowrap}.restaurant-detail-card__caption{margin-top:calc(var(--space-2) * -1)}.restaurant-review-overall{color:var(--color-warning);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);white-space:nowrap}.restaurant-review-metric{display:grid;gap:var(--space-1)}.restaurant-review-metric__heading{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.restaurant-review-metric__heading strong{color:var(--color-text-primary)}.restaurant-review-metric__bar{height:8px;overflow:hidden;background:var(--color-surface-muted);border-radius:var(--radius-full)}.restaurant-review-metric__bar span{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.restaurant-review-metric small{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.restaurant-review-quote{display:grid;gap:var(--space-2);padding:var(--space-4);margin:0;background:var(--color-background);border-radius:var(--radius-lg)}.restaurant-review-quote p{color:var(--color-text-primary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.restaurant-review-quote cite{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-style:normal}.restaurant-location-card{gap:var(--space-4)}.restaurant-location-map{position:relative;min-height:240px;overflow:hidden;background:linear-gradient(30deg,transparent 48%,var(--color-border) 49%,transparent 51%) 0 0 / 120px 100px,linear-gradient(-20deg,transparent 48%,var(--color-border) 49%,transparent 51%) 0 0 / 160px 140px,var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.restaurant-location-map__road{position:absolute;display:block;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 0 0 5px #c8cfcd4d}.restaurant-location-map__road--diagonal{top:48%;left:-10%;width:125%;height:30px;transform:rotate(-16deg)}.restaurant-location-map__road--horizontal{top:20%;left:-5%;width:110%;height:18px;transform:rotate(6deg)}.restaurant-location-map__place{position:absolute;top:28%;left:8%;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.restaurant-location-map__marker{position:absolute;top:var(--detail-marker-top);left:var(--detail-marker-left);display:grid;width:var(--map-marker-size);height:var(--map-marker-height);place-items:center;color:var(--map-marker-foreground);font-size:var(--font-size-body-lg);background:var(--map-marker-selected-background);border:3px solid var(--map-marker-border);border-radius:50% 50% 50% 8px;box-shadow:var(--map-marker-selected-shadow);transform:translate(-50%,-100%) rotate(-45deg)}.restaurant-location-map__marker>span{transform:rotate(45deg)}.restaurant-location-card__address{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-style:normal;line-height:var(--line-height-relaxed)}.restaurant-detail-page__secondary-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.restaurant-detail-page--empty{max-width:560px}@media(max-width:767px){.restaurant-detail-hero{grid-template-columns:1fr}.restaurant-detail-hero__visual{min-height:180px}.restaurant-detail-hero__visual span{font-size:var(--font-size-body-sm)}.restaurant-detail-hero__content{padding:var(--space-5)}.restaurant-detail-page__columns{grid-template-columns:1fr}.restaurant-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-detail-card{padding:var(--space-5)}.restaurant-location-map{min-height:210px}.restaurant-detail-page__secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.restaurant-detail-page__topbar{align-items:flex-start}.restaurant-detail-hero__actions,.restaurant-detail-page__secondary-actions{display:grid;grid-template-columns:1fr}.restaurant-detail-hero__actions .ui-button,.restaurant-detail-page__secondary-actions .ui-button{width:100%}}.restaurant-detail-hero__visual img{width:100%;height:100%;max-height:420px;object-fit:cover}.restaurant-photo-gallery{display:flex;gap:1rem;overflow-x:auto}.restaurant-photo-gallery>*{width:min(80vw,320px);height:220px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface-muted)}.restaurant-business-hours{display:grid;gap:.75rem}.restaurant-business-hours>div{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.restaurant-location-map--live{background:var(--color-surface-muted);min-height:320px}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--color-background)}body,h1,h2,h3,p,ul,fieldset{margin:0}button,input,select,textarea{font:inherit;letter-spacing:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}:root{--color-brand-50: #f0fbf8;--color-brand-100: #e6faf6;--color-brand-200: #b9f0e6;--color-brand-500: #14b8a6;--color-brand-600: #2dc9b7;--color-brand-650: #0fa897;--color-brand-700: #0f766e;--color-brand-900: #022c28;--color-neutral-0: #ffffff;--color-neutral-50: #f5f5f7;--color-neutral-100: #f0f0f2;--color-neutral-200: #e2e2e7;--color-neutral-300: #c8cfcd;--color-neutral-400: #aeb9b5;--color-neutral-500: #8a9290;--color-neutral-600: #6b7472;--color-neutral-700: #5f6765;--color-neutral-900: #1d1d1f;--color-success-100: #e8f6ee;--color-success-600: #23855a;--color-warning-100: #fff3dc;--color-warning-600: #b87516;--color-danger-100: #fff0f0;--color-danger-600: #c84444;--color-danger-700: #a93434;--color-info-100: #edf4fc;--color-info-600: #3b6fa8;--color-kakao-brand: #fee500;--color-kakao-text: #191919;--color-primary: var(--color-brand-500);--color-primary-hover: var(--color-brand-600);--color-primary-pressed: var(--color-brand-650);--color-primary-soft: var(--color-brand-100);--color-primary-strong: var(--color-brand-700);--color-primary-solid-hover: var(--color-brand-600);--color-on-primary: var(--color-brand-900);--color-secondary-hover: var(--color-brand-200);--color-secondary-pressed: var(--color-brand-100);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-700);--color-text-tertiary: var(--color-neutral-600);--color-text-inverse: var(--color-neutral-0);--color-text-disabled: var(--color-neutral-500);--color-surface-hover: var(--color-neutral-50);--color-surface-pressed: var(--color-brand-50);--color-border: var(--color-neutral-200);--color-border-subtle: var(--color-neutral-100);--color-border-strong: var(--color-neutral-400);--color-border-selected: var(--color-primary);--color-border-error: var(--color-danger-600);--color-background: var(--color-neutral-50);--color-surface: var(--color-neutral-0);--color-surface-muted: var(--color-neutral-100);--color-disabled: var(--color-text-disabled);--color-success: var(--color-success-600);--color-success-soft: var(--color-success-100);--color-warning: var(--color-warning-600);--color-warning-soft: var(--color-warning-100);--color-danger: var(--color-danger-600);--color-danger-hover: var(--color-danger-700);--color-danger-pressed: var(--color-danger-700);--color-danger-soft: var(--color-danger-100);--color-info: var(--color-info-600);--color-info-soft: var(--color-info-100);--color-focus-ring: rgba(15, 118, 110, .45);--color-error-focus-ring: rgba(200, 68, 68, .16);--color-overlay: rgba(23, 26, 26, .42);--color-map-background: var(--color-brand-50);--color-map-grid: var(--color-brand-100);--color-map-road: var(--color-surface);--color-map-road-border: var(--color-brand-200);--color-map-park: var(--color-success-soft);--color-map-park-border: var(--color-brand-200);--font-family-brand: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif;--font-family-display: var(--font-family);--font-family-mono: "SFMono-Regular", Consolas, monospace;--font-size-brand: 23px;--font-size-brand-mobile: 20px;--font-weight-brand: 750;--letter-spacing-brand: -.065em;--font-size-page-title: clamp(28px, 3.3vw, 38px);--font-size-display: 28px;--font-size-title: 24px;--font-size-heading: 20px;--font-size-section: 18px;--font-size-body-lg: 16px;--font-size-body: 15px;--font-size-body-sm: 14px;--font-size-caption: 13px;--font-size-overline: 12px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--font-weight-extrabold: 700;--font-weight-heading: 600;--font-weight-button: 600;--font-weight-label: 500;--font-size-button: var(--font-size-body-sm);--font-size-label: var(--font-size-body-sm);--font-size-badge: var(--font-size-caption);--line-height-button: var(--line-height-tight);--line-height-label: 1.5;--line-height-title: 1.3;--line-height-tight: 1.35;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--letter-spacing-body: -.015em;--letter-spacing-display: -.075em;--letter-spacing-tight: -.035em;--letter-spacing-tighter: -.035em;--letter-spacing-wide: .12em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 56px;--space-11: 64px;--space-12: 80px;--radius-none: 0;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 999px;--radius-chip: var(--radius-full);--radius-button: var(--radius-full);--radius-input: var(--radius-md);--radius-card: 20px;--radius-sheet: var(--radius-2xl);--radius-badge: var(--radius-full);--radius-icon-button: var(--radius-full);--shadow-none: none;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .06);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .06);--shadow-md: 0 10px 30px rgba(0, 0, 0, .1);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .09);--shadow-focus: 0 0 0 3px rgba(47, 117, 104, .12);--shadow-card: 0 2px 12px rgba(29, 29, 31, .035);--shadow-float: var(--shadow-md);--shadow-overlay: var(--shadow-lg);--control-height-sm: 40px;--control-height-md: 44px;--control-height-lg: 52px;--control-padding-inline-sm: var(--space-3);--control-padding-inline-md: var(--space-4);--control-padding-inline-lg: var(--space-5);--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--icon-button-size: 44px;--chip-height-sm: 28px;--chip-height-md: 36px;--badge-height-sm: 24px;--badge-height-md: 28px;--duration-fast: .12s;--duration-normal: .16s;--duration-slow: .24s;--easing-standard: ease;--z-base: 0;--z-sticky: 10;--z-dropdown: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--content-max-width: 1440px;--site-header-height: 60px;--mobile-header-height: 56px;--layout-page-padding-inline: var(--space-4);--layout-page-padding-block-start: var(--space-7);--layout-page-padding-block-end: var(--space-12);--layout-page-gap: var(--space-6);--layout-section-content-gap: var(--space-4);--map-marker-size: 36px;--map-marker-height: 42px;--map-marker-background: var(--color-primary-strong);--map-marker-selected-background: var(--color-primary-strong);--map-marker-foreground: var(--color-surface);--map-marker-border: rgba(255, 255, 255, .96);--map-marker-shadow: 0 5px 12px rgba(47, 117, 104, .22);--map-marker-selected-shadow: 0 8px 18px rgba(47, 117, 104, .28);--font-display: var(--font-size-display);--font-title: var(--font-size-title);--font-heading: var(--font-size-heading);--font-section: var(--font-size-section);--font-body: var(--font-size-body);--font-small: var(--font-size-body-sm);--font-caption: var(--font-size-caption)}.site-header__input-field,.ui-field.site-header__input-field,.mobile-map-search__input-field{display:flex;flex:1 1 auto;width:100%;min-width:0;align-items:center}.ui-button{display:inline-flex;min-height:var(--control-height-md);align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--control-padding-inline-md);font-size:var(--font-size-button);font-weight:var(--font-weight-button);letter-spacing:var(--letter-spacing-body);line-height:var(--line-height-button);border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-normal) var(--easing-standard),border-color var(--duration-normal) var(--easing-standard),color var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button--sm{min-height:var(--control-height-sm);padding-inline:var(--control-padding-inline-sm);font-size:var(--font-size-caption)}.ui-button--lg{min-height:var(--control-height-lg);padding-inline:var(--control-padding-inline-lg);font-size:var(--font-size-body-lg)}.ui-button--primary{color:var(--color-on-primary);background:var(--color-primary)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-solid-hover)}.ui-button--primary:active:not(:disabled){background:var(--color-primary-pressed)}.ui-button--secondary{color:var(--color-primary-strong);background:var(--color-primary-soft)}.ui-button--secondary:hover:not(:disabled){background:var(--color-secondary-hover)}.ui-button--secondary:active:not(:disabled){background:var(--color-secondary-pressed)}.ui-button--outline{color:var(--color-text-primary);background:var(--color-surface);border-color:var(--color-border)}.ui-button--outline:hover:not(:disabled){color:var(--color-primary-strong);border-color:var(--color-primary)}.ui-button--outline:active:not(:disabled){background:var(--color-surface-pressed)}.ui-button--ghost{color:var(--color-text-secondary);background:transparent}.ui-button--ghost:hover:not(:disabled){color:var(--color-primary-strong);background:var(--color-surface-hover)}.ui-button--ghost:active:not(:disabled){background:var(--color-surface-pressed)}.ui-button--danger{color:var(--color-surface);background:var(--color-danger)}.ui-button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.ui-button--danger:active:not(:disabled){background:var(--color-danger-pressed)}.ui-button--full{width:100%}.ui-button:disabled{color:var(--color-text-disabled);background:var(--color-surface-muted);border-color:var(--color-border);transform:none;cursor:not-allowed}.ui-button[aria-busy=true]{cursor:wait}.ui-button__spinner,.state-panel__spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}.ui-button__label--loading{opacity:.72}.ui-field{display:grid;gap:var(--space-2)}.ui-field__label{color:var(--color-text-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.ui-input,.ui-textarea,.ui-select{width:100%;min-height:var(--control-height-md);padding:0 var(--control-padding-inline-md);color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-normal);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);outline:0;transition:border-color var(--duration-normal) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard)}.ui-textarea{min-height:120px;padding-block:var(--space-3);resize:vertical}.ui-select{appearance:none;padding-right:calc(var(--control-padding-inline-md) + var(--icon-size-sm));background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-tertiary)}.ui-input:hover:not(:disabled):not(:read-only),.ui-textarea:hover:not(:disabled):not(:read-only),.ui-select:hover:not(:disabled){border-color:var(--color-border-strong)}.ui-input:focus,.ui-textarea:focus,.ui-select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.ui-input:disabled,.ui-textarea:disabled,.ui-select:disabled{color:var(--color-text-disabled);background:var(--color-surface-muted);cursor:not-allowed}.ui-input:read-only,.ui-textarea:read-only{background:var(--color-surface-muted)}.ui-input--error,.ui-textarea--error,.ui-select--error{border-color:var(--color-border-error)}.ui-input--error:focus,.ui-textarea--error:focus,.ui-select--error:focus{border-color:var(--color-border-error);box-shadow:0 0 0 3px var(--color-error-focus-ring)}.ui-input:focus-visible,.ui-textarea:focus-visible,.ui-select:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ui-field__message{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.ui-field__message--error{color:var(--color-danger)}.ui-chip{display:inline-flex;min-height:var(--chip-height-md);align-items:center;justify-content:center;padding:0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-chip);transition:border-color var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard),color var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}button.ui-chip{cursor:pointer}button.ui-chip:hover:not(:disabled){color:var(--color-primary-strong);border-color:var(--color-primary)}.ui-chip--sm{min-height:var(--chip-height-sm);padding-inline:var(--space-2);font-size:var(--font-size-caption)}.ui-chip--selected{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-border-selected)}button.ui-chip:active:not(:disabled){background:var(--color-surface-pressed);transform:translateY(0)}button.ui-chip.ui-chip--selected:active:not(:disabled){background:var(--color-primary-pressed)}button.ui-chip:disabled{color:var(--color-text-disabled);background:var(--color-surface-muted);border-color:var(--color-border);cursor:not-allowed}.ui-chip:focus-visible,.ui-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ui-badge{display:inline-flex;min-height:var(--badge-height-md);align-items:center;justify-content:center;padding:0 var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-badge);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap;background:var(--color-surface-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-badge)}.ui-badge--sm{min-height:var(--badge-height-sm);font-size:var(--font-size-overline)}.ui-badge--primary{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:transparent}.ui-badge--success{color:var(--color-success);background:var(--color-success-soft);border-color:transparent}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:transparent}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:transparent}.ui-badge--info{color:var(--color-info);background:var(--color-info-soft);border-color:transparent}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.ui-card--outlined{background:transparent}.ui-card--elevated{border-color:var(--color-border-subtle);box-shadow:var(--shadow-card)}.ui-card--interactive{transition:border-color var(--duration-normal) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}.ui-card--interactive:hover{border-color:var(--color-border-selected);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ui-card--interactive:active{background:var(--color-surface-pressed);transform:translateY(0)}.ui-card--selected{border-color:var(--color-border-selected);box-shadow:var(--shadow-focus)}.ui-card--padding-none{padding:var(--space-0)}.ui-card--padding-sm{padding:var(--space-3)}.ui-card--padding-md{padding:var(--space-4)}.ui-card--padding-lg{padding:var(--space-6)}.ui-icon-button{display:grid;width:var(--icon-button-size);min-width:var(--icon-button-size);height:var(--icon-button-size);align-items:center;justify-content:center;color:var(--color-text-secondary);padding:0;font-size:var(--icon-size-lg);background:transparent;border:1px solid transparent;border-radius:var(--radius-icon-button);cursor:pointer;transition:background-color var(--duration-normal) var(--easing-standard),color var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-standard)}.ui-icon-button--sm{width:var(--control-height-sm);min-width:var(--control-height-sm);height:var(--control-height-sm);font-size:var(--icon-size-md)}.ui-icon-button--lg{width:var(--control-height-lg);min-width:var(--control-height-lg);height:var(--control-height-lg)}.ui-icon-button:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-hover)}.ui-icon-button:active:not(:disabled){background:var(--color-surface-pressed);transform:translateY(0)}.ui-icon-button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-icon-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ui-sheet-backdrop{position:fixed;z-index:var(--z-overlay);inset:0;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);background:var(--color-overlay)}.ui-bottom-sheet{width:min(100%,560px);max-height:min(720px,calc(100vh - var(--space-8)));overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-sheet) var(--radius-sheet) var(--radius-xl) var(--radius-xl);box-shadow:var(--shadow-overlay)}.ui-bottom-sheet__handle{width:40px;height:4px;margin:var(--space-3) auto var(--space-1);background:var(--color-border-strong);border-radius:var(--radius-full)}.ui-bottom-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5) var(--space-4)}.ui-bottom-sheet__header h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tighter)}.ui-bottom-sheet__header p{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.ui-bottom-sheet__body{padding:0 var(--space-5) var(--space-5)}.ui-bottom-sheet__footer{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--color-border)}.state-panel,.empty-state{display:grid;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-secondary);text-align:center;background:var(--color-background);border-radius:var(--radius-card)}.state-panel h3,.empty-state h3{color:var(--color-text-primary);font-size:var(--font-size-body-lg);letter-spacing:var(--letter-spacing-tight)}.state-panel p,.empty-state p{font-size:var(--font-size-body-sm)}.state-panel__spinner{margin:0 auto var(--space-2);color:var(--color-primary-strong)}.state-panel__icon,.empty-state__icon{display:grid;width:32px;height:32px;align-items:center;justify-content:center;margin:0 auto var(--space-2);color:var(--color-primary-strong);font-size:22px;font-weight:var(--font-weight-bold);background:var(--color-primary-soft);border-radius:50%}.state-panel--error .state-panel__icon{color:var(--color-danger);background:var(--color-danger-soft)}.state-panel__action,.empty-state__action{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-2)}@keyframes ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-button,.ui-input,.ui-textarea,.ui-select,.ui-chip,.ui-card--interactive,.ui-icon-button{transition:none}.ui-button__spinner,.state-panel__spinner{animation-duration:1.4s}}@media(max-width:767px){.ui-sheet-backdrop{padding:0}.ui-bottom-sheet{width:100%;max-height:calc(100vh - var(--space-4));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}}html{color:var(--color-text-primary);font-family:var(--font-family);font-size:16px;font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-body);line-height:var(--line-height-normal);text-rendering:optimizeLegibility}body{min-width:320px;min-height:100vh;background:var(--color-surface)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight);word-break:keep-all;overflow-wrap:anywhere}strong,b{font-weight:var(--font-weight-bold)}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{color:var(--color-disabled);cursor:not-allowed}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;color:var(--color-surface);background:var(--color-primary-strong);border-radius:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell--map{height:100dvh;min-height:0;overflow:hidden}.site-header{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--site-header-height);min-height:var(--site-header-height);padding:0 28px;gap:var(--space-4);margin:0 auto;background:#ffffffd1;border-bottom:1px solid rgba(0,0,0,.08);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.brand{display:inline-flex;flex:0 0 auto;gap:9px;align-items:center;font-size:var(--font-size-brand);font-weight:var(--font-weight-brand);letter-spacing:var(--letter-spacing-brand);font-family:var(--font-family-brand)}.brand__mark{width:34px;height:34px;flex:0 0 34px;object-fit:contain;border-radius:10px}.site-nav{display:flex;flex:0 0 auto;gap:12px;align-items:center}.site-nav__link{min-width:56px;padding:9px 8px;color:var(--color-text-secondary);font-size:14px;text-align:center;border-radius:10px}.site-nav__link:hover,.site-nav__report:hover{color:var(--color-primary-strong);background:transparent}.site-nav__map--active{color:var(--color-primary-strong);background:var(--color-primary-soft)}.site-nav__login{min-height:42px;padding-inline:18px;font-weight:var(--font-weight-button)}.site-nav__login--active{background:var(--color-primary-hover)}.site-header__search{display:flex;flex:1 1 auto;width:min(64vw,920px);min-width:0;max-width:920px;height:var(--control-height-md);min-height:var(--control-height-md);align-items:center;padding:0 var(--space-1) 0 var(--control-padding-inline-md);margin-inline:auto;background:var(--color-background);border:1px solid transparent;border-radius:var(--radius-full)}.site-header__search:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.site-header__search input{width:auto;min-width:0;height:100%;min-height:0;flex:1;padding:0;color:var(--color-text-primary);background:transparent;border:0;outline:0}.site-header__search input,.mobile-map-search input{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.site-header__search .ui-input:focus{border:0;box-shadow:none}.site-header__search input::placeholder{color:var(--color-text-tertiary)}.site-header__search button{display:grid;width:var(--icon-button-size);height:var(--icon-button-size);flex:0 0 var(--icon-button-size);color:var(--color-primary-strong);place-items:center;background:transparent;border-radius:50%}.site-header__search button svg,.mobile-map-search button svg{width:var(--icon-size-md);height:var(--icon-size-md);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.site-header__search button:hover{color:var(--color-primary-strong);background:var(--color-primary-soft)}.app-main{flex:1;width:100%;margin:0 auto}.app-main--map{min-height:0;overflow:hidden}.text-link{color:var(--color-primary-strong);font-weight:var(--font-weight-button);text-decoration:underline;text-underline-offset:3px}.eyebrow{color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:.055em;text-transform:uppercase}.placeholder-page{align-content:center;min-height:420px}.placeholder-page h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-title)}.placeholder-page>p:not(.eyebrow){color:var(--color-text-secondary)}.placeholder-page__note{padding:16px;color:var(--color-primary-strong)!important;background:var(--color-primary-soft);border-radius:14px}@media(min-width:768px){.site-header{padding-inline:32px}}@media(max-width:767px){.site-header{height:var(--mobile-header-height);min-height:var(--mobile-header-height);padding-inline:16px}.brand{font-size:var(--font-size-brand-mobile)}.site-header__search,.site-nav__report{display:none}.site-nav{gap:2px}.site-nav__map,.site-nav__report{display:inline-flex;min-width:auto;padding-inline:6px;min-height:44px;font-size:13px}.site-nav__login{min-height:44px;padding-inline:12px;font-size:13px}}.page-container{--page-content-max-width: 1080px;display:grid;align-content:start;gap:var(--layout-page-gap);width:min(100%,var(--page-content-max-width));min-height:100%;padding:var(--layout-page-padding-block-start) max(var(--layout-page-padding-inline),env(safe-area-inset-right)) calc(var(--layout-page-padding-block-end) + env(safe-area-inset-bottom)) max(var(--layout-page-padding-inline),env(safe-area-inset-left));margin:0 auto}.page-container--wide{--page-content-max-width: 1160px}.page-container--compact{--page-content-max-width: 640px}.layout-section{display:grid;gap:var(--layout-section-content-gap);min-width:0}.layout-section--sm{--layout-section-content-gap: var(--space-3)}.layout-section--md{--layout-section-content-gap: var(--space-4)}.layout-section--lg{--layout-section-content-gap: var(--space-6)}.layout-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);min-width:0}.layout-section-header__content{display:grid;min-width:0;gap:var(--space-1)}.layout-section-header__content h2{color:var(--color-text-primary);font-size:var(--font-size-section);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.layout-section-header__eyebrow{color:var(--color-primary-strong);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.layout-section-header__description{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-normal)}.layout-section-header__action{display:inline-flex;flex:0 0 auto;align-items:center}.layout-stack{display:flex;flex-direction:column}.layout-stack--sm{gap:var(--space-2)}.layout-stack--md{gap:var(--space-4)}.layout-stack--lg{gap:var(--space-6)}.layout-row{display:flex}.layout-row--gap-sm{gap:var(--space-2)}.layout-row--gap-md{gap:var(--space-4)}.layout-row--gap-lg{gap:var(--space-6)}.layout-row--justify-start{justify-content:flex-start}.layout-row--justify-between{justify-content:space-between}.layout-row--justify-end{justify-content:flex-end}.layout-row--justify-center{justify-content:center}.layout-row--align-start{align-items:flex-start}.layout-row--align-center{align-items:center}.layout-row--align-end{align-items:flex-end}.layout-row--align-stretch{align-items:stretch}.layout-row--wrap{flex-wrap:wrap}@media(max-width:767px){.page-container{--layout-page-gap: var(--space-5);padding-top:var(--space-5)}.layout-section-header{align-items:flex-start}.layout-section-header__action{align-self:center}}@media(max-width:480px){.layout-section-header{flex-direction:column;gap:var(--space-2)}.layout-section-header__action{align-self:flex-start}}
