:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:oklch(16% .012 50);--color-paper-2:oklch(20% .014 50);--color-paper-3:oklch(24% .016 50);--color-paper-4:oklch(28% .016 50);--color-rule:oklch(33% .014 50);--color-muted:oklch(72% .02 65);--color-ink:oklch(94% .01 80);--color-accent:oklch(78% .14 70);--color-accent-2:oklch(83% .13 75);--color-accent-ink:oklch(21% .04 60);--color-accent-deep:oklch(42% .14 55);--color-focus:oklch(78% .14 70);--color-seal:oklch(73% .155 32);--color-seal-soft:oklch(26% .045 32);--color-scrim:oklch(10% .01 50/.55);--color-bloom:oklch(30% .05 60/.5);--shadow-tint:oklch(7% .01 50/.5);--c-korean:oklch(66% .19 30);--c-chinese:oklch(76% .14 80);--c-japanese:oklch(72% .1 250);--c-western:oklch(72% .13 130);--c-snack:oklch(71% .17 50);--c-cafe:oklch(68% .06 70);--color-pin-ink:oklch(16% .012 50);--font-display:"Do Hyeon", "Pretendard Variable", Pretendard, sans-serif;--font-body:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1.125rem;--text-lg:1.375rem;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--radius-panel:16px;--radius-card:10px;--radius-input:8px;--radius-seal:4px;--radius-pill:999px;--size-control:2.75rem;--sheet-h:46dvh;--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:.11s;--dur-short:.2s;--dur-long:.38s;--z-map-ui:1100;--z-hint:1150;--z-toast:1300}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-paper:oklch(97% .003 120);--color-paper-2:oklch(94.5% .004 140);--color-paper-3:oklch(91.5% .005 150);--color-paper-4:oklch(88.5% .006 160);--color-rule:oklch(84% .008 200);--color-muted:oklch(48% .015 240);--color-ink:oklch(27% .02 250);--color-accent:oklch(54% .13 55);--color-accent-2:oklch(49% .13 55);--color-accent-ink:oklch(97% .008 85);--color-accent-deep:oklch(78% .14 70);--color-focus:oklch(54% .13 55);--color-seal:oklch(48% .165 30);--color-seal-soft:oklch(93% .03 30);--color-scrim:oklch(35% .02 240/.4);--color-bloom:oklch(88% .03 230/.6);--shadow-tint:oklch(35% .02 240/.18)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:clip}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);overscroll-behavior:none;--sheet-offset:var(--sheet-h);--dock-top:calc(max(var(--space-sm), env(safe-area-inset-top)) + var(--size-control) + var(--space-sm));font-weight:380}body.panel-closed{--sheet-offset:var(--space-xl)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.panel-toggle:before,.theme-toggle:before,.toast-action:before{content:"";position:absolute;inset:-8px}.map-shell{inset:0;bottom:var(--sheet-offset);background:var(--color-paper);position:fixed}.map-fallback{padding:var(--space-lg);place-items:center;display:grid}.map-fallback-card{gap:var(--space-sm);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-panel);max-width:24rem;padding:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted);line-height:1.6;display:grid}.map-fallback-card code{font-size:var(--text-xs);color:var(--color-ink);background:var(--color-paper-3);border-radius:var(--radius-seal);padding:var(--space-3xs) var(--space-2xs)}.fallback-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.panel{height:var(--sheet-h);z-index:var(--z-map-ui);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-panel) var(--radius-panel) 0 0;box-shadow:0 -8px 24px var(--shadow-tint);transition:transform var(--dur-long) var(--ease-out);border-bottom:0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.panel.closed{transition:transform calc(var(--dur-long) * .75) var(--ease-in);transform:translateY(100%)}.panel.closed .masthead,.panel.closed .panel-controls,.panel.closed .list{visibility:hidden;transition:visibility 0s var(--dur-long)}.panel-toggle{width:4rem;height:2rem;color:var(--color-muted);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-input) var(--radius-input) 0 0;transition:color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);border-bottom:0;justify-content:center;align-items:center;margin-left:-2rem;display:flex;position:absolute;top:calc(1px - 2rem);left:50%}.panel-toggle:active{background:var(--color-paper-4)}.panel-toggle svg{transition:transform var(--dur-short) var(--ease-in-out);transform:rotate(-90deg)}.panel.closed .panel-toggle svg{transform:rotate(90deg)}.masthead{padding:var(--space-md) var(--space-md) var(--space-sm);background:radial-gradient(140% 130% at 12% -20%, var(--color-bloom), transparent 62%);border-radius:var(--radius-panel) var(--radius-panel) 0 0}.masthead-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.02em;font-size:1.875rem;font-weight:400;line-height:1.1}.wordmark .dot{color:var(--color-accent)}.theme-toggle{width:2rem;height:2rem;color:var(--color-muted);border-radius:var(--radius-pill);transition:color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);flex-shrink:0;place-items:center;display:grid;position:relative}.theme-toggle:active{transform:translateY(1px)}.tagline{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs)}.panel-controls{padding:0 var(--space-md) var(--space-sm)}.search,.field input,.field select,.field textarea{width:100%;font:inherit;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:var(--radius-input);outline-offset:1px;transition:background-color var(--dur-micro) var(--ease-out);outline:2px solid #0000}.search,.field input,.field select{height:var(--size-control);padding:0 var(--space-sm)}.search::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--color-muted)}.search:hover,.field input:hover,.field select:hover,.field textarea:hover{background:var(--color-paper-4)}.search:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-color:var(--color-focus)}.filter-label{font-size:var(--text-2xs);letter-spacing:.08em;color:var(--color-muted);margin:var(--space-sm) 0 var(--space-2xs);font-weight:700}.chips{gap:var(--space-2xs);scrollbar-width:none;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{align-items:center;gap:var(--space-2xs);min-height:2rem;font-size:var(--text-xs);color:var(--color-muted);background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-sm);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);flex-shrink:0;font-weight:600;display:inline-flex}.chip:active{transform:translateY(1px)}.chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.chip .swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.list{padding:var(--space-2xs) var(--space-sm) max(var(--space-sm), env(safe-area-inset-bottom));flex:1;overflow-y:auto}.count{font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums;padding:var(--space-2xs) var(--space-2xs) var(--space-xs)}#cards{gap:var(--space-xs);display:grid}.card{text-align:left;background:var(--color-paper-3);border-radius:var(--radius-card);width:100%;padding:var(--space-sm) var(--space-md);transition:background-color var(--dur-micro) var(--ease-out);border:1px solid #0000;display:block;position:relative}.card:active{transform:translateY(1px)}.card.active{border-color:var(--color-seal);box-shadow:0 0 0 1px var(--color-seal)}.card .name,.pop .name{font-family:var(--font-display);font-weight:400;font-size:var(--text-md);letter-spacing:.01em;padding-right:calc(var(--space-xl) + var(--space-md));overflow-wrap:anywhere;display:block}.card .meta,.pop .meta{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs);display:block}.card .comment,.pop .comment{font-size:var(--text-sm);margin-top:var(--space-xs);overflow-wrap:anywhere;line-height:1.55;display:block}.cat-tag{font-size:var(--text-2xs);color:var(--color-pin-ink);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);vertical-align:1px;font-weight:700;display:inline-block}.empty{gap:var(--space-xs);padding:var(--space-lg) var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);justify-items:start;display:grid}.empty-title{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md)}.btn-ghost{min-height:var(--size-control);padding:var(--space-2xs) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out);font-weight:600}.btn-ghost:hover{background:var(--color-paper-3)}.btn-ghost:active{transform:translateY(1px)}.seal-badge{top:var(--space-sm);right:var(--space-sm);font-family:var(--font-display);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--color-seal);border:2px solid var(--color-seal);border-radius:var(--radius-seal);background:var(--color-seal-soft);padding:var(--space-3xs) var(--space-2xs);text-align:center;pointer-events:none;line-height:1.25;position:absolute;transform:rotate(-4deg)}.seal-badge small{letter-spacing:.22em;font-size:.625rem;display:block}.cta-dock{top:max(var(--space-sm), env(safe-area-inset-top));right:max(var(--space-sm), env(safe-area-inset-right));z-index:var(--z-map-ui);position:fixed}.cta-dock.reveal{animation-delay:60ms}.btn-primary{height:var(--size-control);padding:0 var(--space-lg);font-size:var(--text-sm);color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:0 4px 14px var(--shadow-tint);transition:background-color var(--dur-micro) var(--ease-out), transform .1s var(--ease-out);font-weight:700}.btn-primary:active{transform:translateY(1px)}.btn-primary:focus-visible{outline-color:var(--color-ink)}.btn-primary.armed{background:var(--color-ink);color:var(--color-paper)}.zoom-dock{top:var(--dock-top);right:max(var(--space-sm), env(safe-area-inset-right));z-index:var(--z-map-ui);border:1px solid var(--color-rule);border-radius:var(--radius-input);box-shadow:0 4px 14px var(--shadow-tint);flex-direction:column;display:flex;position:fixed;overflow:hidden}.zoom-dock button{width:2.25rem;height:2.25rem;font-size:var(--text-md);color:var(--color-ink);background:var(--color-paper-2);transition:background-color var(--dur-micro) var(--ease-out);place-items:center;line-height:1;display:grid}.zoom-dock button+button{border-top:1px solid var(--color-rule)}.zoom-dock button:active{background:var(--color-paper-4)}.pick-hint{top:var(--dock-top);z-index:var(--z-hint);text-align:center;background:var(--color-ink);max-width:min(92vw,30rem);color:var(--color-paper);font-size:var(--text-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.pin-anchor{width:30px;height:34px;position:relative}.pin-anchor .pin{position:absolute;top:0;left:0}.pin{border:2px solid var(--color-paper);width:30px;height:30px;box-shadow:0 2px 6px var(--shadow-tint);border-radius:50% 50% 50% 4px;justify-content:center;align-items:center;display:flex;transform:rotate(-45deg)}.pin span{color:var(--color-pin-ink);font-size:var(--text-xs);font-weight:800;transform:rotate(45deg)}.marker-muted{pointer-events:none}.gm-style .gm-style-iw-c{border:1px solid var(--color-rule);background:var(--color-paper-2)!important;border-radius:var(--radius-card)!important;box-shadow:0 10px 28px var(--shadow-tint)!important;padding:var(--space-sm) var(--space-md)!important}.gm-style .gm-style-iw-d{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:0!important;overflow:auto!important}.gm-style .gm-style-iw-tc:after{background:var(--color-paper-2)!important}.pop{padding-right:calc(var(--space-xl) + var(--space-md));font-family:var(--font-body);color:var(--color-ink);font-weight:380;position:relative}.pop .seal-badge{top:var(--space-lg)}.pop-close{width:1.5rem;height:1.5rem;color:var(--color-muted);border-radius:var(--radius-pill);transition:color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);place-items:center;display:grid;position:absolute;top:0;right:0}.pop-close:hover{color:var(--color-ink);background:var(--color-paper-3)}.pop-close:active{transform:translateY(1px)}.pop .del{margin-top:var(--space-xs);padding:var(--space-2xs) 0;font-size:var(--text-xs);color:var(--color-seal);text-underline-offset:2px;transition:color var(--dur-micro) var(--ease-out);text-decoration:underline}.pop .del:hover{color:var(--color-ink)}.pop .del:active{transform:translateY(1px)}dialog{border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-paper-2);width:min(26rem,100vw - 2rem);height:fit-content;max-height:min(85dvh,40rem);color:var(--color-ink);margin:auto;padding:0;position:fixed;inset:0;overflow:auto}dialog::backdrop{background:var(--color-scrim)}dialog[open]{animation:dialog-in var(--dur-long) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}dialog form{padding:var(--space-lg)}dialog h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg)}dialog .sub{font-size:var(--text-xs);color:var(--color-muted);margin:var(--space-2xs) 0 var(--space-md)}.field{margin-bottom:var(--space-sm)}.field label{font-size:var(--text-xs);margin-bottom:var(--space-2xs);font-weight:700;display:block}.field textarea{padding:var(--space-xs) var(--space-sm);resize:vertical;min-height:4.5rem}.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);display:flex}.form-actions .btn-primary{box-shadow:none}.toast{bottom:calc(var(--sheet-offset) + var(--space-sm));z-index:var(--z-toast);align-items:center;gap:var(--space-sm);background:var(--color-ink);max-width:min(92vw,26rem);color:var(--color-paper);font-size:var(--text-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);box-shadow:0 6px 20px var(--shadow-tint);opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-out);font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.toast.show.has-action{pointer-events:auto}.toast-action{color:var(--color-accent-deep);text-underline-offset:2px;padding:var(--space-2xs);white-space:nowrap;flex-shrink:0;font-weight:700;text-decoration:underline;position:relative}.toast-action:active{transform:translateY(1px)}.reveal{opacity:0;animation:reveal var(--dur-long) var(--ease-out) forwards;transform:translateY(8px)}@keyframes reveal{to{opacity:1;transform:none}}@media (width>=48rem){.map-shell{bottom:0;left:calc(22.5rem + 2 * var(--space-md))}body.panel-closed .map-shell{left:0}.panel{left:var(--space-md);top:var(--space-md);bottom:var(--space-md);border-bottom:1px solid var(--color-rule);border-radius:var(--radius-panel);width:22.5rem;height:auto;box-shadow:0 12px 32px var(--shadow-tint);right:auto}.panel.closed{transform:translateX(calc(-100% - var(--space-md)))}.panel-toggle{border:1px solid var(--color-rule);border-radius:0 var(--radius-input) var(--radius-input) 0;border-left:0;width:1.75rem;height:4rem;margin:-2rem 0 0;top:50%;left:auto;right:-1.75rem}.panel-toggle svg{transform:none}.panel.closed .panel-toggle svg{transform:rotate(180deg)}.chips{flex-wrap:wrap;overflow:visible}.cta-dock{top:var(--space-md);right:var(--space-md)}body{--dock-top:calc(var(--space-md) + var(--size-control) + var(--space-sm))}.zoom-dock{right:var(--space-md)}.pick-hint{top:var(--space-md)}.toast{bottom:var(--space-lg)}}@media (hover:hover){.chip:hover{background:var(--color-paper-4);color:var(--color-ink)}.card:hover{background:var(--color-paper-4)}.btn-primary:hover:not(:disabled){background:var(--color-accent-2)}.btn-primary.armed:hover{background:var(--color-ink)}.panel-toggle:hover,.theme-toggle:hover{color:var(--color-ink);background:var(--color-paper-3)}.zoom-dock button:hover{background:var(--color-paper-3)}}@media (pointer:coarse){.chip{min-height:2.75rem;padding:var(--space-xs) var(--space-sm)}.zoom-dock button{width:var(--size-control);height:var(--size-control)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.1s!important;animation-duration:.15s!important;animation-iteration-count:1!important}dialog[open]{animation:none}.reveal{animation:.15s linear forwards reveal-reduced}@keyframes reveal-reduced{to{opacity:1;transform:none}}}
