:root{--color-paper: oklch(99% .004 300);--color-paper-2: oklch(96% .009 300);--color-paper-3: oklch(92% .016 300);--color-ink: oklch(19% .024 300);--color-ink-2: oklch(36% .03 300);--color-muted: oklch(43% .028 300);--color-rule: oklch(83% .022 300);--color-rule-strong: oklch(62% .05 300);--color-accent: oklch(55% .23 300);--color-accent-ink: oklch(98% .008 300);--color-focus: oklch(54% .22 300);--color-success: oklch(46% .13 145);--color-error: oklch(54% .2 25);--color-backdrop: oklch(12% .03 300 / .72);--color-shadow: oklch(22% .04 300 / .14);--color-banner-shade: oklch(19% .024 300 / .18);--color-banner-shade-soft: oklch(19% .024 300 / .04);--color-banner-clear: oklch(19% .024 300 / 0);--color-photo-wash: oklch(22% .04 300 / .14);--color-icon-warm: oklch(81% .11 64);--color-icon-lilac: oklch(88% .07 300);--color-star: oklch(82% .16 80);--color-save-bg: oklch(87.5% 0 0);--color-save-icon: oklch(100% 0 0);--color-tag-boomboom: oklch(70% .22 25);--color-tag-ipssa: oklch(78% .19 145);--color-tag-hand: oklch(76% .16 248);--color-tag-hand-mouth: oklch(76% .18 315);--color-tag-choice: var(--color-accent);--color-tag-value: oklch(80% .14 205);--color-tag-premium: oklch(86% .16 90);--color-nav-kakao: oklch(91.3853% .1908997 101.37166);--color-nav-kakao-ink: oklch(27.62559% .0469289 20.52715);--font-display: "Black Han Sans", "Arial Black", sans-serif;--font-body: "IBM Plex Sans KR", sans-serif;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .7rem;--text-sm: .8rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--text-2xl: 2.441rem;--text-display: clamp(2.75rem, 7vw, 5.25rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--dur-banner-fade: .8s;--text-map-header: 1.125rem;--map-header-height: 3.25rem;--rule-hair: .0625rem;--rule-strong: .125rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-pill: 999rem;--page-gutter: clamp(1rem, 4vw, 3rem);--content-max: 76rem;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:var(--text-base)/1.6 var(--font-body)}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:active{opacity:.7}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.auth-skip{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:var(--z-modal);padding:var(--space-sm);background:var(--color-ink);color:var(--color-paper);transform:translateY(-200%)}.auth-skip:focus{transform:none}.auth-main{width:min(100%,34rem);margin-inline:auto;padding:var(--space-lg);min-height:max(34rem,calc(100svh - 4.5rem - env(safe-area-inset-bottom)));display:flex;flex-direction:column}.auth-identity{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) 0 var(--space-2xl)}.auth-identity>p{margin:0 0 var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);text-align:center}.auth-brand{display:flex;align-items:center;gap:var(--space-xs)}.auth-brand img{display:block;width:3.5rem;height:3.5rem;object-fit:contain}.auth-brand h1{margin:0;font:clamp(2.5rem,8vw,3.5rem)/1.15 var(--font-display);letter-spacing:-.04em;font-style:normal}.auth-brand h1 span{color:var(--color-accent)}.auth-actions{text-align:center;padding-bottom:var(--space-lg)}.auth-callout{position:relative;display:inline-block;margin:0 0 var(--space-lg);padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font-size:var(--text-sm);font-weight:700}.auth-callout:after{content:"";position:absolute;bottom:-.3125rem;left:calc(50% - .25rem);width:.5rem;height:.5rem;background:var(--color-paper);border-right:var(--rule-hair) solid var(--color-accent);border-bottom:var(--rule-hair) solid var(--color-accent);transform:rotate(45deg)}.auth-kakao{width:100%;min-height:3.5rem;padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-xs);border-radius:var(--radius-md);background:var(--color-nav-kakao);color:var(--color-nav-kakao-ink);font-size:var(--text-md);font-weight:700;white-space:nowrap}.auth-kakao svg{width:1.5rem;height:1.5rem;fill:currentColor;flex:0 0 auto}.auth-kakao:hover{color:var(--color-nav-kakao-ink)}.auth-kakao[aria-busy=true]{cursor:wait;opacity:.7}.auth-error{margin:var(--space-md) 0 0;color:var(--color-error);font-size:var(--text-sm)}.auth-support{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.2em}@media(min-width:768px){.auth-main{min-height:max(38rem,100svh);padding-block:var(--space-xl)}.auth-kakao{min-height:4rem}}@media(max-height:650px){.auth-main{min-height:calc(100svh - 4.5rem - env(safe-area-inset-bottom))}.auth-identity{padding-block:var(--space-xl)}.auth-support{margin-top:var(--space-md)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.auth-admin-link{display:flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.2em}.auth-admin-form{text-align:left;display:grid;gap:var(--space-md)}.auth-admin-form h2{margin:0;font-size:var(--text-lg)}.auth-admin-form label{display:grid;gap:var(--space-xs);font-size:var(--text-sm)}.auth-admin-form input{min-width:0;width:100%;min-height:2.75rem;font:inherit;padding:var(--space-sm);color:var(--color-ink);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm)}.auth-admin-form .auth-error{min-height:1.6em;margin:0}.auth-admin-submit{display:grid;place-items:center;min-height:3rem;padding:var(--space-sm);font:inherit;font-weight:700;background:var(--color-paper-3);color:var(--color-accent);border:0;border-radius:var(--radius-sm);cursor:pointer}.auth-admin-submit:disabled{opacity:.5;cursor:wait}.auth-admin-back{display:grid;place-items:center;min-height:2.75rem;color:var(--color-muted);font-size:var(--text-sm)}
