@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--color-paper: oklch(98.5% .004 250);--color-paper-2: oklch(96.5% .008 250);--color-paper-3: oklch(93.5% .012 250);--color-panel: oklch(99.2% .003 250);--color-ink: oklch(22% .024 258);--color-ink-2: oklch(34% .02 257);--color-neutral: oklch(44% .018 257);--color-muted: oklch(50% .016 257);--color-rule: oklch(88% .012 250);--color-rule-strong: oklch(76% .02 250);--color-accent: oklch(58% .14 190);--color-accent-soft: oklch(94% .035 190);--color-accent-ink: oklch(18% .025 200);--color-focus: oklch(48% .18 256);--color-error: oklch(48% .17 25);--color-error-soft: oklch(95% .03 25);--color-success: oklch(46% .105 162);--color-success-soft: oklch(95% .025 162);--color-warning: oklch(56% .12 76);--color-warning-soft: oklch(95% .032 76);--color-graphite: oklch(24% .022 258);--color-map-base: oklch(93.5% .014 250);--color-map-stroke: oklch(76% .022 250);--color-map-high: oklch(52% .17 256);--color-map-medium: oklch(66% .11 252);--color-map-low: oklch(82% .05 250);--color-data-1: oklch(56% .16 256);--color-data-2: oklch(62% .13 228);--color-data-3: oklch(64% .11 174);--color-data-4: oklch(70% .12 82);--color-data-5: oklch(60% .14 302);--color-data-6: oklch(64% .15 42);--font-display: "Space Grotesk", "Noto Sans KR", ui-sans-serif, sans-serif;--font-body: "Noto Sans KR", ui-sans-serif, sans-serif;--font-mono: ui-monospace, "Cascadia Code", monospace;--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;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-display: clamp(2rem, 2vw + 1rem, 3rem);--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;--rule-hairline: 1px solid var(--color-rule);--rule-strong: 1px solid var(--color-rule-strong);--radius-control: .375rem;--radius-panel: .625rem;--radius-round: 999px;--shadow-panel: 0 1px 2px oklch(22% .024 258 / .04);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}.hallmark-dashboard-route{overflow-x:clip}:root .hallmark-dashboard{min-width:58rem;container-type:inline-size;--color-map-high: oklch(46% .2 256);--color-map-medium: oklch(60% .16 248);--color-map-low: oklch(72% .11 240);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base)}.hallmark-dashboard,.hallmark-dashboard *{box-sizing:border-box}@media (max-width: 63.999rem){.hallmark-dashboard-route{overflow-x:auto}}.dashboard-shell{display:flex;min-width:0;flex-direction:column;gap:var(--space-lg)}.dashboard-header{display:grid;min-width:0;gap:var(--space-md);padding-block:var(--space-sm) var(--space-xs);border-bottom:var(--rule-hairline)}.dashboard-header__title{min-width:0;max-width:18ch;color:var(--color-ink);font-size:1.5rem;font-style:normal;font-weight:700;line-height:2rem;overflow-wrap:anywhere}.dashboard-header__controls{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.dashboard-header__range{width:100%;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.dashboard-refresh,.dashboard-period-trigger,.dashboard-map-control{min-height:2.75rem;white-space:nowrap}.dashboard-refresh,.dashboard-period-trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-hairline);border-radius:var(--radius-control);background:var(--color-panel);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;transition:background-color var(--dur-short) var(--ease-out)}.dashboard-refresh{padding-inline:var(--space-sm)}.dashboard-period-trigger{min-width:7rem;justify-content:space-between;padding-inline:var(--space-sm)}.dashboard-refresh:active,.dashboard-period-trigger:active,.dashboard-map-control:active,.dashboard-calendar-nav:active,.dashboard-period-preset:active{background:var(--color-paper-3)}.dashboard-refresh:focus-visible,.dashboard-period-trigger:focus-visible,.dashboard-map-control:focus-visible,.dashboard-link-row:focus-visible,.dashboard-calendar-nav:focus-visible,.dashboard-period-preset:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.dashboard-refresh:disabled,.dashboard-period-trigger:disabled,.dashboard-map-control:disabled,.dashboard-calendar-nav:disabled,.dashboard-period-preset:disabled{cursor:not-allowed;opacity:.55}.dashboard-panel,.dashboard-kpi-card{border:var(--rule-hairline);border-radius:var(--radius-panel);background:var(--color-panel);box-shadow:var(--shadow-panel)}.dashboard-panel{overflow:clip}.dashboard-panel__header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) var(--space-md) 0}.dashboard-panel__title{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-style:normal;font-weight:700;line-height:1.25}.dashboard-panel__subtitle{max-width:62ch;margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.dashboard-map-panel{min-height:30rem}.dashboard-map-layout{display:grid;min-width:0;grid-template-columns:minmax(0,1fr)}.dashboard-map-stage{position:relative;min-width:0;min-height:22rem}.dashboard-map-heading{position:absolute;z-index:var(--z-raised);inset-block-start:0;inset-inline-start:0;max-width:100%;padding:var(--space-md);pointer-events:none}.dashboard-map-heading h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-style:normal;font-weight:700}.dashboard-map-heading p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.dashboard-map{min-height:22rem}.dashboard-map__canvas{min-height:18rem}.dashboard-map-tooltip{border:var(--rule-hairline);border-radius:var(--radius-control);background:var(--color-panel);color:var(--color-ink-2);box-shadow:var(--shadow-panel);transition:border-color 80ms var(--ease-out),box-shadow 80ms var(--ease-out),transform 80ms var(--ease-out)}.dashboard-map-tooltip[data-market-active]{border-color:color-mix(in srgb,var(--color-focus) 65%,var(--color-rule));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-focus) 18%,transparent),var(--shadow-panel);transform:translateY(-1px) scale(1.01)}.dashboard-map-connector[data-market-active] .dashboard-map-connector__halo{stroke-width:4.5}.dashboard-map-connector[data-market-active] .dashboard-map-connector__line{stroke:var(--color-focus);stroke-width:1.7}.dashboard-map-connector[data-market-active] .dashboard-map-connector__dot{fill:var(--color-focus)}.dashboard-map-controls{position:absolute;z-index:var(--z-raised);inset-inline-end:var(--space-sm);inset-block-end:var(--space-sm);overflow:hidden;border:var(--rule-hairline);border-radius:var(--radius-control);background:var(--color-panel);box-shadow:var(--shadow-panel)}.dashboard-map-control{display:grid;width:2.75rem;min-height:2.75rem;place-items:center;color:var(--color-neutral);transition:background-color var(--dur-short) var(--ease-out)}.dashboard-map-control+.dashboard-map-control{border-top:var(--rule-hairline)}.dashboard-map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md);border-top:var(--rule-hairline);background:var(--color-paper-2);padding:var(--space-xs) var(--space-md);color:var(--color-neutral);font-size:var(--text-xs);font-weight:600}.dashboard-map-legend__label{width:100%;color:var(--color-ink-2)}@media (hover: hover) and (pointer: fine){.dashboard-map-legend [data-market-tier]{cursor:default}.dashboard-map[data-market-tier-hover] [data-market-code],.dashboard-map[data-market-tier-hover] [data-market-tier]{opacity:.28}.dashboard-map[data-market-tier-hover] [data-market-code][data-market-active],.dashboard-map[data-market-tier-hover] [data-market-tier-active]{opacity:1}.dashboard-map .map path[data-market-code]{transform-box:fill-box;transform-origin:center;transition:filter .14s var(--ease-out),transform .14s var(--ease-out)}.dashboard-map .map path[data-market-code][data-market-active]{filter:drop-shadow(0 3px 4px color-mix(in srgb,var(--color-focus) 48%,transparent));transform:scale(1.045)}.dashboard-map .dashboard-map-connector[data-market-active]{filter:drop-shadow(0 2px 2px color-mix(in srgb,var(--color-focus) 32%,transparent))}}.dashboard-market-list{min-width:0;max-height:24rem;overflow-y:auto;overflow-x:clip;border-top:var(--rule-hairline);background:var(--color-paper-2)}.dashboard-market-table,.dashboard-signals-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}.dashboard-market-table thead,.dashboard-signals-table thead{background:var(--color-panel);color:var(--color-neutral);font-size:var(--text-xs);font-weight:700}.dashboard-market-table th,.dashboard-market-table td,.dashboard-signals-table th,.dashboard-signals-table td{border-bottom:var(--rule-hairline)}.dashboard-market-table tbody tr,.dashboard-signals-table tbody tr{background:var(--color-panel)}.dashboard-market-table tbody tr[data-market-active]{background:var(--color-accent-soft)}.dashboard-signals-table tbody tr{transition:background-color var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.dashboard-link-row:active{background:var(--color-accent-soft)}.dashboard-link-row{color:inherit}.dashboard-kpi-grid{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.dashboard-kpi-card{display:flex;min-width:0;min-height:10.5rem;flex-direction:column;padding:var(--space-md)}.dashboard-kpi-card__icon{color:var(--color-accent)}.dashboard-kpi-card__label{color:var(--color-neutral);font-size:var(--text-sm);font-weight:600}.dashboard-kpi-card__value{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.dashboard-kpi-card__meta{color:var(--color-muted);font-size:var(--text-xs)}.dashboard-chart-tooltip{border:var(--rule-hairline);border-radius:var(--radius-control);background:var(--color-panel);box-shadow:var(--shadow-panel)}.dashboard-kpi-card__comparison[data-direction=up]{color:var(--color-success)}.dashboard-kpi-card__comparison[data-direction=down]{color:var(--color-error)}.dashboard-kpi-card__comparison[data-direction=flat],.dashboard-kpi-card__comparison[data-direction=none]{color:var(--color-neutral)}.dashboard-signals-wrap{overflow:clip;padding:var(--space-xs) var(--space-md) var(--space-sm)}.dashboard-insights{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.dashboard-buyer-needs{display:grid;min-width:0;grid-template-columns:minmax(7rem,.55fr) minmax(0,1fr);align-items:center;gap:var(--space-md);padding:var(--space-md)}.dashboard-buyer-needs__chart{min-width:0;height:10rem}.dashboard-buyer-needs__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);padding-block:var(--space-xs);border-bottom:var(--rule-hairline);color:var(--color-ink-2);font-size:var(--text-sm)}.dashboard-buyer-needs__row:last-child{border-bottom:0}.dashboard-buyer-needs__row strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.dashboard-buyer-needs__row[data-active=true]{color:var(--color-ink)}.dashboard-buyer-needs__row[data-dimmed=true]{opacity:.4}.dashboard-judgement{display:grid;gap:var(--space-md);padding:var(--space-lg);background:var(--color-graphite);color:var(--color-paper)}.dashboard-judgement h2{color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-lg);font-style:normal;font-weight:700}.dashboard-judgement p,.dashboard-judgement li{color:var(--color-paper-3);font-size:var(--text-sm);line-height:1.6}.dashboard-judgement ul{display:grid;gap:var(--space-xs)}.dashboard-judgement li{display:flex;gap:var(--space-xs)}.dashboard-judgement li:before{content:"";width:.4rem;height:.4rem;margin-top:.55rem;flex:0 0 auto;border-radius:var(--radius-round);background:var(--color-accent)}.dashboard-foot-line{border-top:var(--rule-hairline);padding-top:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5}:root .dashboard-period-popover{width:min(50rem,calc(100vw - 2rem));max-height:min(80dvh,42rem);overflow-y:auto;container-type:inline-size;border-color:var(--color-rule);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-ink-2)}.dashboard-period-popover__layout{display:grid;grid-template-columns:minmax(0,1fr)}.dashboard-period-presets{border-bottom:var(--rule-hairline)}.dashboard-period-calendar-wrap{position:relative;padding-inline:var(--space-2xs)}.dashboard-period-calendar__months{min-width:0;gap:var(--space-lg)}.dashboard-period-calendar__month{position:relative;min-width:0}.dashboard-period-calendar__month+.dashboard-period-calendar__month:before{position:absolute;inset-block:0;left:calc(0px - var(--space-sm));width:1px;background:var(--color-rule);content:""}.dashboard-calendar-nav{z-index:var(--z-raised);display:grid;width:2.75rem;min-height:2.75rem;place-items:center;border-radius:var(--radius-round);color:var(--color-ink-2);transition:background-color var(--dur-short) var(--ease-out)}.dashboard-calendar-nav--previous,.dashboard-calendar-nav--next{position:absolute;top:0}.dashboard-calendar-nav--previous{left:0}.dashboard-calendar-nav--next{right:0}.dashboard-calendar-nav:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.dashboard-period-preset{min-height:2.75rem;white-space:nowrap}.dashboard-error{border:1px solid var(--color-error);border-radius:var(--radius-control);background:var(--color-error-soft);padding:var(--space-sm) var(--space-md);color:var(--color-error);font-size:var(--text-sm)}.dashboard-loading-card{min-height:10.5rem;border:var(--rule-hairline);border-radius:var(--radius-panel);background:var(--color-panel);padding:var(--space-md)}.dashboard-loading-block{border-radius:var(--radius-control);background:var(--color-paper-3)}@media (hover: hover) and (pointer: fine){.dashboard-refresh:hover,.dashboard-period-trigger:hover,.dashboard-map-control:hover{background:var(--color-paper-2)}.dashboard-calendar-nav:hover,.dashboard-period-preset:hover{background:var(--color-paper-3)}.dashboard-market-table tbody tr:hover,.dashboard-signals-table tbody tr:hover{background:var(--color-accent-soft)}}@container (max-width: 53.999rem){.dashboard-map-connectors,.dashboard-map-tooltip{display:none}}@container (max-width: 33.999rem){.dashboard-kpi-grid{gap:var(--space-xs)}.dashboard-kpi-card,.dashboard-loading-card{min-height:9.5rem;padding:var(--space-sm)}.dashboard-kpi-card__icon{width:1.5rem;height:1.5rem}.dashboard-kpi-card__label{font-size:var(--text-xs)}.dashboard-kpi-card__value{font-size:var(--text-lg)}.dashboard-kpi-card__meta{display:none}.dashboard-buyer-needs{grid-template-columns:minmax(0,1fr)}.dashboard-buyer-needs__chart{height:8rem}.dashboard-market-table thead,.dashboard-signals-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dashboard-market-table,.dashboard-market-table tbody,.dashboard-market-table tr,.dashboard-market-table td,.dashboard-signals-table,.dashboard-signals-table tbody,.dashboard-signals-table tr,.dashboard-signals-table td{display:block;width:100%}.dashboard-market-table tr,.dashboard-signals-table tr{padding:var(--space-sm);border-bottom:var(--rule-hairline)}.dashboard-market-table td,.dashboard-signals-table td{display:grid;grid-template-columns:minmax(5.5rem,.55fr) minmax(0,1fr);gap:var(--space-xs);border:0;padding:var(--space-xs) 0;text-align:start;white-space:normal}.dashboard-market-table td:before,.dashboard-signals-table td:before{content:attr(data-label);color:var(--color-muted);font-size:var(--text-xs);font-weight:600}.dashboard-market-table .dashboard-empty-cell,.dashboard-signals-table .dashboard-empty-cell{display:block;padding:var(--space-xl) var(--space-sm);text-align:center}.dashboard-market-table .dashboard-empty-cell:before,.dashboard-signals-table .dashboard-empty-cell:before{display:none}}@container (min-width: 34rem){.dashboard-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.dashboard-header__controls{justify-content:flex-end}.dashboard-header__range{width:auto;text-align:end}.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-insights{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}}@container (min-width: 36rem){.dashboard-period-popover__layout{grid-template-columns:9rem minmax(0,1fr)}.dashboard-period-presets{border-right:var(--rule-hairline);border-bottom:0}.dashboard-period-calendar-wrap{padding-inline:var(--space-lg)}}@container (min-width: 54rem){.dashboard-map-layout{grid-template-columns:minmax(0,1.55fr) minmax(24rem,.7fr)}.dashboard-map-stage{min-height:30rem}.dashboard-map-heading{max-width:min(70%,32rem)}.dashboard-map{min-height:30rem}.dashboard-map__canvas{min-height:26rem}.dashboard-market-list{max-height:30rem;border-top:0;border-left:var(--rule-hairline)}.dashboard-map-legend__label{width:auto}}@container (min-width: 84rem){.dashboard-kpi-grid[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpi-grid[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-kpi-grid[data-count="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.hallmark-dashboard *,.hallmark-dashboard *:before,.hallmark-dashboard *:after,.dashboard-period-popover,.dashboard-period-popover *,.dashboard-period-popover *:before,.dashboard-period-popover *:after{animation:none!important;transform:none!important;transition:none!important}}
