:root{--bg: #050508;--bg-secondary: #0a0a0f;--surface: rgba(14, 14, 20, .65);--surface-hover: rgba(22, 22, 32, .85);--surface-elevated: rgba(30, 30, 42, .7);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--border-subtle: rgba(255, 255, 255, .04);--text: #f8fafc;--text-secondary: #cbd5e1;--text-dim: #94a3b8;--text-muted: #64748b;--text-ghost: #475569;--accent: #ffffff;--brand: #0ea5e9;--brand-light: #38bdf8;--brand-dim: rgba(14, 165, 233, .15);--brand-glow: rgba(14, 165, 233, .4);--chart-1: #8b5cf6;--chart-2: #ec4899;--overlay-subtle: rgba(255, 255, 255, .03);--overlay-medium: rgba(255, 255, 255, .07);--shadow-color: rgba(0, 0, 0, .6);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6), 0 0 20px var(--brand-dim);--shadow-card: 0 4px 12px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .3);--panel-bg: rgba(10, 10, 15, .6);--panel-border: rgba(255, 255, 255, .06);--map-bg: #030305;--price-up: #ef4444;--price-down: #3b82f6;--price-same: #94a3b8;--price-very-high: #dc2626;--price-high: #ea580c;--price-mid: #f59e0b;--price-low: #10b981;--status-live: #10b981;--status-cached: #f59e0b;--status-unavailable: #ef4444;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Noto Sans KR", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "Cascadia Code", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--text);background:#000;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:var(--brand-dim);color:var(--text)}#app{height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;position:relative;box-shadow:0 4px 20px #0000004d}.app-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand-light),transparent);opacity:.6}.app-header-left{display:flex;align-items:center;gap:12px}.app-logo{height:24px;width:auto;flex-shrink:0}.app-title-divider{width:1px;height:20px;background:var(--border-strong);flex-shrink:0}.app-title{font-size:17px;font-weight:800;color:var(--accent);letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.app-title-logo{height:24px;width:auto;flex-shrink:0;position:relative;top:-2px}.app-title:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#0f8,#0ea5e9,#8b5cf6);box-shadow:0 0 6px #0f86,0 0 12px #0ea5e94d;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%{transform:scale(1);box-shadow:0 0 4px #00ff884d,0 0 8px #0ea5e933;background:radial-gradient(circle,#0f8,#0ea5e9,#8b5cf6)}50%{transform:scale(1.3);box-shadow:0 0 8px #0f89,0 0 16px #0ea5e966,0 0 24px #8b5cf633;background:radial-gradient(circle,#0fa,#38bdf8,#a78bfa)}to{transform:scale(1);box-shadow:0 0 4px #00ff884d,0 0 8px #0ea5e933;background:radial-gradient(circle,#0f8,#0ea5e9,#8b5cf6)}}.app-subtitle{font-size:11px;color:var(--text-dim);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-btn-wrapper{position:relative}.info-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;cursor:pointer;padding:0;opacity:.5;transition:opacity var(--duration-fast)}.info-btn:hover{opacity:1}.info-tooltip{position:absolute;top:calc(100% + 10px);left:0;width:340px;background:#1c1c20b8;backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:22px;z-index:200;box-shadow:0 12px 48px #00000073,0 0 0 1px #ffffff0f inset,0 1px #ffffff14 inset;animation:tooltipFadeIn var(--duration-normal) var(--ease-out)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.info-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.info-tooltip-close{display:none;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffff14;color:var(--text-dim);cursor:pointer;border-radius:50%;transition:all var(--duration-fast)}.info-tooltip-close:hover{background:#ffffff26;color:var(--accent)}.info-tooltip-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--accent)}.info-tooltip-divider{height:1px;background:#ffffff1a;margin-bottom:14px}.info-tooltip-desc-bold{font-size:13px;font-weight:600;color:var(--text);line-height:1.6;margin-bottom:8px}.info-tooltip-desc-dim{font-size:12px;font-weight:400;color:var(--text-muted);line-height:1.6}.app-header-right{display:flex;align-items:center;gap:6px}.header-date{font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.2px}.month-selector{display:flex;align-items:center;gap:2px;background:#0003;border:1px solid var(--border);border-radius:var(--radius-xl);padding:4px 6px;transition:all var(--duration-fast);backdrop-filter:blur(8px)}.month-selector:hover{border-color:var(--brand);box-shadow:0 0 10px var(--brand-dim)}.month-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;padding:2px 8px;line-height:1;border-radius:var(--radius-sm);transition:all var(--duration-fast);user-select:none}.month-btn:hover{background:var(--surface-hover);color:var(--accent);transform:scale(1.05)}.month-btn:active{transform:scale(.95)}.month-display{font-size:13px;font-weight:600;color:var(--text);padding:0 6px;min-width:85px;text-align:center}.search-btn,.theme-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast)}.search-btn:hover,.theme-btn:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-card)}.search-btn:active,.theme-btn:active{transform:translateY(0)}.theme-icon{font-size:16px}.intel-bar{display:flex;align-items:center;gap:12px;padding:8px 24px;background:linear-gradient(90deg,#38bdf81a,#38bdf805);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(56,189,248,.2);font-size:12px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 10px #0003}.intel-bar-label{display:flex;align-items:center;gap:6px;color:var(--brand-light);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1px;flex-shrink:0;white-space:nowrap;animation:none}.intel-bar-label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand-light);box-shadow:0 0 8px var(--brand-glow),0 0 12px var(--brand-light);animation:intel-pulse 2s infinite ease-in-out}@keyframes intel-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.intel-bar-label svg{display:none}.intel-bar-content{color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:intelSlideIn .6s var(--ease-out)}@keyframes intelSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.map-container{flex:1;min-width:300px;position:relative}.ai-insight{position:absolute;bottom:36px;left:16px;right:16px;z-index:10000;display:flex;flex-direction:column;pointer-events:none}.ai-insight-toggle{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 18px;background:#12121eb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:50px;color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;pointer-events:auto;transition:all var(--duration-normal) var(--ease-spring);box-shadow:0 4px 20px #0000004d}.ai-insight-toggle:hover{background:#161626d9;border-color:#0ea5e966;color:var(--text);transform:translateY(-1px);box-shadow:0 6px 24px #0006,0 0 12px #0ea5e926}.ai-insight-toggle-badge{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#0ea5e9,#8b5cf6);color:#fff;font-size:9px;font-weight:800;font-family:var(--font-mono);flex-shrink:0;box-shadow:0 2px 8px #0ea5e966}.ai-insight-toggle-label{letter-spacing:.2px}.ai-insight-toggle-chevron{display:flex;transition:transform var(--duration-normal) var(--ease-spring)}.ai-insight:not(.collapsed) .ai-insight-toggle-chevron{transform:rotate(180deg)}.ai-insight-body{margin-bottom:10px;background:linear-gradient(145deg,#10121e6b,#0c0e1880 50%,#1210206b);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;pointer-events:auto;max-height:350px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;transition:all .5s var(--ease-spring);opacity:1;transform:translateY(0) scale(1);box-shadow:0 8px 32px #00000059,0 0 0 1px #ffffff0d inset,0 1px #ffffff0f inset}.ai-insight.collapsed .ai-insight-body{max-height:0;opacity:0;transform:translateY(20px) scale(.97);border:none;margin-bottom:0;pointer-events:none;box-shadow:none}.ai-insight-header{display:flex;align-items:center;gap:10px;padding:16px 20px 12px}.ai-insight-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,#0ea5e9,#8b5cf6);color:#fff;font-size:11px;font-weight:800;font-family:var(--font-mono);flex-shrink:0;box-shadow:0 3px 12px #0ea5e959}.ai-insight-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.2px}.ai-insight-meta{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.ai-insight-content{padding:4px 20px 20px}.ai-insight-section{margin-bottom:16px}.ai-insight-section:last-child{margin-bottom:0}.ai-insight-section-title{font-size:13px;font-weight:700;color:#f8fafc;margin:0 0 6px;letter-spacing:-.1px;padding-left:10px;border-left:2px solid var(--brand)}.ai-insight-text{font-size:13px;line-height:1.75;color:#cbd5e1e6;margin:0 0 4px;word-break:keep-all}.ai-insight-text:last-child{margin-bottom:0}.ai-insight-loading{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted);padding:12px 0}.ai-insight-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--brand);border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-insight-empty{font-size:13px;color:var(--text-muted);padding:12px 0}.panel-container{display:flex;flex-direction:column;flex-shrink:0;width:55vw;max-width:960px;height:100%;z-index:10;border-left:1px solid var(--border);background:linear-gradient(to right,#050508b3,#0a0a0ff2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}.panel-nav{flex-shrink:0;background:#08080ed9;border-bottom:1px solid var(--border);padding:4px 6px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.panel-nav-row{display:flex;gap:2px;align-items:center;padding:2px;background:#ffffff0a;border-radius:var(--radius-md);border:1px solid var(--border)}.panel-nav-divider{width:1px;height:18px;background:var(--border-strong);flex-shrink:0;margin:0 2px}.panel-nav-item{flex:1;padding:5px 0;font-size:11px;font-weight:500;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;text-align:center;transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-body);line-height:1.2}.panel-nav-item:hover{color:var(--text);background:#ffffff12}.panel-nav-item.active{color:#fff;background:var(--brand);font-weight:600;box-shadow:0 1px 6px #0ea5e94d}.panel-columns-wrapper{display:flex;flex:1;min-height:0;overflow:hidden}.panel-column{flex:1;min-width:0;height:100%;overflow-y:auto;scroll-behavior:smooth;padding:6px;display:flex;flex-direction:column;gap:6px}.panel-column+.panel-column{border-left:1px solid var(--border-subtle)}.panel-col-resizer{width:5px;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:20;transition:background var(--duration-fast)}.panel-col-resizer:hover,.panel-col-resizer.active{background:var(--brand);box-shadow:0 0 8px var(--brand-glow)}.panel-drop-zone{min-height:4px;border-radius:4px;transition:min-height .15s,background .15s}.panel-drop-zone.drag-over{min-height:40px;background:var(--brand-dim);border:1px dashed var(--brand);border-radius:var(--radius-sm)}.panel.dragging{opacity:.4;transform:scale(.97)}.panel .drag-handle{cursor:grab;opacity:.3;transition:opacity var(--duration-fast);padding:2px 4px;margin-right:4px}.panel .drag-handle:active{cursor:grabbing}.panel:hover .drag-handle{opacity:.7}.selected-region-bar{display:flex;align-items:center;padding:8px 20px;background:var(--brand-dim);border-top:1px solid var(--brand);font-size:12px;color:var(--brand-light);font-weight:600;flex-shrink:0;gap:8px;animation:slideUp var(--duration-normal) var(--ease-out)}.selected-region-bar:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand-light);flex-shrink:0}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);animation:panelFadeIn var(--duration-slow) var(--ease-out) both;transition:background var(--duration-normal),transform var(--duration-normal),box-shadow var(--duration-normal);position:relative;overflow:hidden;flex-shrink:0}.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 100%);z-index:0;pointer-events:none}.panel:hover{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--brand)}@keyframes panelFadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel:nth-child(1){animation-delay:0ms}.panel:nth-child(2){animation-delay:60ms}.panel:nth-child(3){animation-delay:.12s}.panel:nth-child(4){animation-delay:.18s}.panel:nth-child(5){animation-delay:.24s}.panel:nth-child(6){animation-delay:.3s}.panel:nth-child(7){animation-delay:.36s}.panel:nth-child(8){animation-delay:.42s}.panel:nth-child(9){animation-delay:.48s}.panel.hidden,.panel.collapsed .panel-content,.panel.collapsed .panel-resize-handle{display:none}.panel.collapsed{min-height:auto}.panel.collapsed .panel-header{border-bottom:none}.panel.collapsed .panel-toggle-btn svg{transform:rotate(-90deg)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle);gap:8px;transition:background var(--duration-fast);cursor:default;position:relative;z-index:1}.panel-header:hover{background:var(--overlay-subtle)}.panel-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.panel-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.panel-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#ffffff0d;color:var(--text-ghost);cursor:pointer;border-radius:50%;transition:all var(--duration-fast);padding:0}.panel-toggle-btn:hover{background:#ffffff1a;color:var(--accent);box-shadow:0 0 8px #ffffff1a}.panel-toggle-btn svg{transition:transform var(--duration-normal) var(--ease-spring)}.panel-title{font-size:14px;font-weight:800;color:var(--accent);letter-spacing:-.3px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.panel-count{font-size:10px;color:var(--accent);background:var(--brand-dim);padding:3px 8px;border-radius:12px;font-weight:700;font-variant-numeric:tabular-nums;border:1px solid var(--brand-glow);box-shadow:inset 0 0 5px #0003}.panel-data-badge{font-size:10px;padding:3px 8px;border-radius:12px;font-weight:700;letter-spacing:.5px;transition:all var(--duration-fast);display:flex;align-items:center;gap:4px;box-shadow:inset 0 0 5px #0003}.panel-data-badge:before{content:"";display:block;width:5px;height:5px;border-radius:50%}.panel-data-badge.live{background:#10b98126;color:var(--status-live);border:1px solid rgba(16,185,129,.3)}.panel-data-badge.live:before{background:var(--status-live);box-shadow:0 0 6px var(--status-live);animation:data-pulse 2s infinite}.panel-data-badge.cached{background:#f59e0b26;color:var(--status-cached);border:1px solid rgba(245,158,11,.3)}.panel-data-badge.cached:before{background:var(--status-cached)}.panel-data-badge.unavailable{background:#ef444426;color:var(--status-unavailable);border:1px solid rgba(239,68,68,.3)}.panel-data-badge.unavailable:before{background:var(--status-unavailable)}@keyframes data-pulse{0%,to{opacity:.5}50%{opacity:1}}.panel-content{padding:0;max-height:600px;overflow-y:auto}.panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;gap:14px}.panel-loading-spinner{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel-loading-text{font-size:12px;color:var(--text-dim);font-weight:500}.error-message{padding:24px 16px;text-align:center;color:var(--status-unavailable);font-size:12px;font-weight:500}.panel-empty{padding:36px 16px;text-align:center;color:var(--text-muted);font-size:12px;line-height:1.6}.panel-resize-handle{height:4px;cursor:ns-resize;background:transparent;transition:background var(--duration-fast);position:relative}.panel-resize-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:3px;border-radius:2px;background:transparent;transition:background var(--duration-fast)}.panel-resize-handle:hover:after,.panel-resize-handle.active:after{background:var(--brand)}.panel-resize-handle:hover,.panel-resize-handle.active{background:var(--border-subtle)}.panel-new-badge{font-size:10px;background:linear-gradient(135deg,var(--price-up),#e11d48);color:#fff;padding:2px 8px;border-radius:10px;font-weight:700;letter-spacing:.2px}.panel-new-badge.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.97)}}.panel-info-wrapper{position:relative;display:inline-flex}.panel-info-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-dim);font-size:10px;width:18px;height:18px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all var(--duration-fast)}.panel-info-btn:hover{background:var(--brand-dim);border-color:var(--brand);color:var(--brand-light)}.panel-info-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-size:11px;color:var(--text-secondary);width:260px;box-shadow:var(--shadow-lg);line-height:1.5;animation:tooltipIn var(--duration-fast) var(--ease-out)}@keyframes tooltipIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.panel-info-tooltip.visible{display:block}.panel.span-2 .panel-content{max-height:900px}.panel.span-3 .panel-content{max-height:1200px}.panel.span-4 .panel-content{max-height:1600px}.tx-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-subtle);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}.tx-stat{display:flex;flex-direction:column;align-items:center;padding:14px 6px;background:#0003;transition:all var(--duration-fast)}.trend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle);border-bottom:1px solid var(--border)}.trend-stat{display:flex;flex-direction:column;align-items:center;padding:10px 6px;background:#0003}.trend-stat-label{font-size:9px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.trend-stat-value{font-size:14px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.trend-chart-wrap{padding:4px 4px 2px}.trend-svg{width:100%;height:auto}.trend-grid{stroke:var(--border-subtle);stroke-width:.5;stroke-dasharray:3 3}.trend-y-label{font-size:8px;fill:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.trend-dot{fill:var(--brand);stroke:var(--surface);stroke-width:1.5;transition:r .15s ease}.trend-dot-last{fill:var(--brand-light);stroke:var(--brand);stroke-width:2;filter:drop-shadow(0 0 4px var(--brand-glow))}.trend-bar{fill:var(--brand);opacity:.1}.trend-month-label{font-size:9px;fill:var(--text-dim);font-family:var(--font-mono)}.trend-price-label{font-size:8.5px;fill:var(--text);font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.trend-count-label{font-size:7px;fill:var(--text-ghost);font-family:var(--font-mono)}.tx-stat:hover{background:#ffffff0d;box-shadow:inset 0 -2px 0 var(--brand)}.tx-stat-label{font-size:10px;color:var(--text-muted);margin-bottom:3px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.tx-stat-value{font-size:14px;font-weight:700;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tx-controls{display:flex;justify-content:flex-end;padding:6px 10px;border-bottom:1px solid var(--border-subtle)}.tx-unit-toggle{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:11px;padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all var(--duration-fast);font-family:var(--font-body)}.tx-unit-toggle:hover{background:var(--brand-dim);border-color:var(--brand);color:var(--brand-light);box-shadow:0 0 8px var(--brand-dim)}.tx-table-wrap{overflow:hidden}.tx-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.tx-table thead th{position:sticky;top:0;background:#0e0e14d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 8px;text-align:left;font-weight:700;font-size:11px;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none;transition:all var(--duration-fast);text-transform:uppercase;letter-spacing:.5px}.tx-table thead th:hover{color:var(--accent);background:#ffffff0d}.tx-table thead th.sortable:after{content:"↕";margin-left:3px;font-size:9px;opacity:.3}.tx-table thead th.sorted-asc:after{content:"↑";opacity:1;color:var(--brand-light)}.tx-table thead th.sorted-desc:after{content:"↓";opacity:1;color:var(--brand-light)}.tx-table-body{width:100%;table-layout:fixed}.tx-table-body td{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.03);height:40px;transition:background var(--duration-fast)}.tx-table-body tr:hover td{background:#ffffff0a;color:var(--text)}.tx-col-name{width:35%}.tx-col-area{width:15%;text-align:right}.tx-col-floor{width:10%;text-align:center}.tx-col-price{width:25%;text-align:right;font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.tx-col-date{width:15%;text-align:center;color:var(--text-dim)!important}.price-up{color:var(--price-up)!important}.price-down{color:var(--price-down)!important}.price-same{color:var(--price-same)!important}.price-very-high{color:var(--price-very-high)!important;font-weight:700!important}.price-high{color:var(--price-high)!important}.price-mid{color:var(--price-mid)!important}.price-low{color:var(--price-low)!important}.tx-scroll,.tx-virtual-spacer{position:relative}.tx-virtual-spacer table{position:absolute;top:0;left:0;width:100%}.tx-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:4px;background:#0000004d;border-bottom:1px solid var(--border-subtle)}.tx-tab{flex:0 1 auto;padding:5px 8px;border:none;background:transparent;color:var(--text-dim);font-size:10.5px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);font-family:var(--font-body);font-weight:600;white-space:nowrap}.tx-tab:hover{color:var(--text);background:#ffffff0d}.tx-tab.active{color:var(--accent);background:#ffffff1a;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a;font-weight:700}.tx-search{display:flex;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border-subtle);gap:8px;position:relative}.tx-search-icon{color:var(--text-muted);flex-shrink:0}.tx-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:12px;font-family:var(--font-body);padding:4px 0}.tx-search-input::placeholder{color:var(--text-ghost)}.tx-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0 4px;line-height:1;transition:color var(--duration-fast)}.tx-search-clear:hover{color:var(--text)}.tx-filter-info{font-size:11px;color:var(--text-dim);margin-right:auto}.tx-table-rent .tx-col-name{width:28%}.tx-table-rent .tx-col-area{width:13%}.tx-table-rent .tx-col-floor{width:8%}.tx-col-deposit{width:20%;text-align:right;font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.tx-col-rent{width:16%;text-align:right;font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--brand-light)}.tx-table-rent .tx-col-date{width:15%}.tx-jeonse-label{color:var(--text-dim);font-size:10px;font-weight:500;font-family:var(--font-body)}tr.tx-jeonse .tx-col-deposit{color:var(--chart-1)!important}.search-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;animation:modalIn var(--duration-normal) var(--ease-out)}@keyframes modalIn{0%{opacity:0}to{opacity:1}}.search-modal-backdrop{position:absolute;inset:0;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.search-modal-content{position:relative;width:580px;max-height:75vh;background:#0f0f14d9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:0 24px 64px #000c,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;overflow:hidden;animation:modalContentIn var(--duration-normal) var(--ease-spring)}@keyframes modalContentIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.search-modal-header{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);gap:10px}.search-input{flex:1;background:#0006;border:1px solid rgba(255,255,255,.1);color:var(--text);font-size:16px;padding:12px 16px;border-radius:var(--radius-md);outline:none;font-family:var(--font-body);transition:all var(--duration-fast)}.search-input:focus{border-color:var(--brand-light);box-shadow:0 0 0 3px var(--brand-dim),0 0 12px var(--brand-glow);background:#0009}.search-input::placeholder{color:var(--text-ghost)}.search-close-btn{background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;padding:4px;line-height:1;border-radius:var(--radius-sm);transition:all var(--duration-fast)}.search-close-btn:hover{color:var(--accent);background:var(--surface-hover)}.search-sido-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 18px;border-bottom:1px solid var(--border)}.sido-tab{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-weight:500;transition:all var(--duration-fast)}.sido-tab:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.sido-tab.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600;box-shadow:0 2px 8px var(--brand-glow)}.search-results{overflow-y:auto;flex:1;padding:8px}.search-result-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text);font-size:13px;font-family:var(--font-body);font-weight:500;transition:all var(--duration-fast)}.search-result-item:hover{background:var(--brand-dim);color:var(--brand-light)}.search-result-code{font-size:11px;color:var(--text-ghost);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.search-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.pm-popup .maplibregl-popup-content{background:#14141ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);padding:12px 16px;font-size:12px;font-family:var(--font-body);box-shadow:0 8px 32px #0009}.pm-popup .maplibregl-popup-tip{border-top-color:var(--surface-elevated)}.init-error{padding:48px;text-align:center;color:var(--text);max-width:480px;margin:20vh auto}.init-error h2{margin-bottom:12px;color:var(--price-up);font-size:18px}.init-error p{color:var(--text-secondary);margin-bottom:16px}.init-error pre{margin-top:16px;padding:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;overflow-x:auto;color:var(--text-dim);font-family:var(--font-mono)}@media(max-width:768px){.info-tooltip-close{display:flex}#app{height:100vh;height:100dvh}.app-header{padding:0 10px;height:46px;gap:6px}.app-header-left{gap:6px;min-width:0;overflow:hidden}.app-logo{height:18px}.app-title-divider{height:14px}.app-title{font-size:13px!important;white-space:nowrap}.app-title:before{width:6px;height:6px}.app-subtitle,.info-btn-wrapper{display:none}.app-header-right{flex-shrink:0;gap:6px}.header-date{font-size:9px!important;white-space:nowrap}.search-btn{width:28px;height:28px}.intel-bar{padding:4px 10px;font-size:10px}.intel-bar-label{font-size:9px;padding:1px 5px}.app-body{flex:1;overflow:hidden;position:relative;min-height:0}.map-container{position:absolute;inset:0;width:100%;height:100%;min-height:unset;flex:none}.maplibregl-ctrl-top-right{display:none!important}.selected-region-bar{position:fixed;bottom:0;left:0;right:0;z-index:16;font-size:10px;padding:4px 10px}.info-tooltip{position:fixed;top:50px;left:10px;right:10px;width:auto}.ai-insight{bottom:44px;left:8px;right:52px;width:auto}.ai-insight-toggle-label,.ai-insight-toggle-chevron{display:none}.ai-insight-toggle{padding:10px;border-radius:14px;gap:0}.ai-insight-toggle-badge{width:24px;height:24px;font-size:10px;border-radius:8px}.ai-insight-body{max-height:220px;border-radius:16px}.ai-insight.collapsed .ai-insight-body{max-height:0}.panel-container{position:absolute;inset:4px 4px 40px auto;width:40px;max-width:unset;height:auto;flex-direction:column;border-left:none;overflow:visible;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;gap:0;z-index:15}.panel-nav{display:none}.panel-columns-wrapper{flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;gap:3px;align-items:flex-end}.panel-columns-wrapper::-webkit-scrollbar{display:none}.panel-column{height:auto;overflow-y:visible;padding:0;gap:2px;display:flex;flex-direction:column}.panel-column+.panel-column{border-left:none;border-top:none}.panel-col-resizer{display:none}.drag-handle,.panel-resize-handle{display:none!important}.panel.dragging{opacity:1!important;transform:none!important}.panel{border-radius:10px;margin:0;transition:all .3s var(--ease-out)}.panel.collapsed{border-radius:10px;background:#0a0a128c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);width:36px;height:36px;overflow:hidden}.panel.collapsed .panel-header{padding:0;min-height:36px;justify-content:center;align-items:center}.panel.collapsed .panel-header-left,.panel.collapsed .panel-header-right,.panel.collapsed .panel-title{display:none}.panel.collapsed:after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--text-dim);opacity:.8;pointer-events:none}.panel.collapsed[data-panel=transactions]:after{content:"⌂"}.panel.collapsed[data-panel=kr-interest-rates]:after{content:"%";font-size:13px;font-weight:700}.panel.collapsed[data-panel=kr-supply]:after{content:"▦"}.panel.collapsed[data-panel=kr-risk]:after{content:"⚑"}.panel.collapsed[data-panel=kr-subscription]:after{content:"✎"}.panel.collapsed[data-panel=kr-auction]:after{content:"⚖"}.panel.collapsed[data-panel=kr-population]:after{content:"⇄"}.panel.collapsed[data-panel=kr-global]:after{content:"◎"}.panel.collapsed[data-panel=price-trend]:after{content:"↗";font-weight:700}.panel.collapsed[data-panel=kr-news]:after{content:"¶"}.panel.collapsed[data-panel=kr-markets]:after{content:"◆"}.panel.collapsed[data-panel=predictions]:after{content:"◇"}.panel.collapsed[data-panel=crypto]:after{content:"₿";font-weight:700}.panel.collapsed[data-panel=btc-etf]:after{content:"Ξ";font-weight:700}.panel.collapsed[data-panel=market-radar]:after{content:"◉"}.panel.collapsed .panel-content{display:none}.panel:not(.collapsed){position:fixed;inset:auto 0 0;z-index:100;width:100%!important;height:55vh!important;max-height:55vh;background:#080810f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.12);border-radius:16px 16px 0 0;overflow-y:auto;animation:slideUp .3s var(--ease-out)}.panel:not(.collapsed) .panel-header{padding:12px 16px;min-height:44px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06)}.panel:not(.collapsed) .panel-header-left,.panel:not(.collapsed) .panel-header-right{display:flex}.panel:not(.collapsed) .panel-title{display:block;font-size:15px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel:before{display:none}.panel-content{font-size:12px}.panel-header{padding:10px 12px;min-height:40px;cursor:pointer;-webkit-tap-highlight-color:transparent}.panel-title{font-size:13px;font-weight:700}.panel-count{font-size:10px}.panel-data-badge{font-size:9px;padding:2px 6px}.panel-toggle-btn{padding:6px;min-width:28px;min-height:28px}.panel-loading{padding:20px 12px}.error-message{padding:12px;font-size:11px}.tx-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px;gap:2px}.tx-tabs::-webkit-scrollbar{display:none}.tx-tab{font-size:11px;padding:6px 10px;flex-shrink:0;border-radius:6px}.tx-tab.active{background:#ffffff1f}.tx-summary{grid-template-columns:repeat(2,1fr);gap:6px;padding:8px 10px}.tx-stat-label{font-size:9px}.tx-stat-value{font-size:13px}.tx-table-wrap{font-size:11px}.tx-scroll{height:280px!important}.tx-search{padding:6px 10px}.tx-search-input{font-size:13px;padding:4px}.tx-col-name{max-width:110px}.tx-col-date{display:none}.tx-col-area,.tx-col-floor{font-size:10px}.tx-controls{padding:4px 10px}.tx-unit-toggle{font-size:10px;padding:3px 8px}.app-header{padding:0 12px;height:46px;gap:6px}.app-title{font-size:15px}.app-subtitle{display:none}.app-header-right{gap:4px}.month-selector{gap:2px}.month-display{font-size:12px;min-width:70px;text-align:center}.month-btn{padding:6px;min-width:30px;min-height:30px}.search-btn,.theme-btn{padding:8px;min-width:34px;min-height:34px}.intel-bar{padding:6px 12px;font-size:11px}.intel-bar-label{font-size:10px}.intel-bar-content{font-size:11px}.selected-region-bar{padding:6px 12px;font-size:12px}.search-modal-content{width:calc(100% - 24px);margin:0 12px;max-height:75vh;border-radius:var(--radius-md)}.search-modal-input{font-size:14px;padding:10px 12px}.search-region-btn{padding:10px 12px;font-size:13px}.kr-market-item{padding:8px 10px}.kr-market-name{font-size:12px}.kr-market-price{font-size:13px}.kr-news-item{padding:8px 10px}.kr-news-title{font-size:12px;line-height:1.4}.kr-news-meta{font-size:10px}.auction-list{padding:6px;gap:6px;max-height:350px}.auction-card{padding:10px 12px}.auction-name{font-size:13px}.auction-address{font-size:11px}.auction-price-value{font-size:13px}.kr-rate-grid{grid-template-columns:1fr;gap:6px}.kr-rate-item{padding:8px 10px}.kr-supply-region,.kr-pop-region{width:48px;font-size:11px}.kr-supply-item,.kr-pop-item{padding:6px 8px}.kr-global-country{width:55px}.kr-sub-name{max-width:100px;font-size:11px}.kr-sub-item{padding:6px 8px}.kr-risk-gauge{transform:scale(.9);transform-origin:center}.crypto-grid{gap:6px}.crypto-item,.pred-market{padding:8px 10px}.radar-signal{padding:6px 8px}}@media(max-width:480px){.app-header{height:40px;padding:0 8px}}.kr-panel-empty{color:var(--text-dim);text-align:center;padding:28px 12px;font-size:11px;line-height:1.6}.kr-insight{margin-top:10px;padding:8px 12px;border-radius:var(--radius-sm);font-size:11px;line-height:1.5;font-weight:500}.kr-insight-bullish{background:#3b82f614;color:#60a5fa;border-left:3px solid #3b82f6;box-shadow:inset 20px 0 20px -20px #3b82f633}.kr-insight-bearish{background:#f43f5e14;color:#fb7185;border-left:3px solid #f43f5e;box-shadow:inset 20px 0 20px -20px #f43f5e33}.kr-market-grid{display:flex;flex-direction:column;gap:6px}.kr-market-section-title{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--text-ghost);margin-bottom:2px;padding:0 4px;font-weight:600}.kr-market-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:var(--radius-sm);transition:all var(--duration-fast);border:1px solid transparent;background:#ffffff05}.kr-market-item:hover{background:#ffffff0d;border-color:#ffffff1a;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.kr-market-item-header{display:flex;justify-content:space-between;align-items:center}.kr-market-name{font-size:11px;color:var(--text-secondary);font-weight:500}.kr-market-item-data{display:flex;justify-content:space-between;align-items:baseline}.kr-market-price{font-size:14px;font-weight:700;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kr-market-change{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.kr-market-change.change-up{color:var(--price-up)}.kr-market-change.change-down{color:var(--price-down)}.sparkline{display:inline-block;vertical-align:middle}.kr-rate-tabs,.kr-news-tabs,.kr-global-tabs{display:flex;gap:4px;padding:4px;background:#0000004d;border-radius:var(--radius-md);margin-bottom:12px;border:1px solid rgba(255,255,255,.05)}.kr-rate-tab,.kr-news-tab,.kr-global-tab{flex:1;padding:6px 8px;border:none;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);font-family:var(--font-body);font-weight:600}.kr-rate-tab:hover,.kr-news-tab:hover,.kr-global-tab:hover{color:var(--text);background:#ffffff0d}.kr-rate-tab.active,.kr-news-tab.active,.kr-global-tab.active{color:var(--accent);background:#ffffff1a;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a;font-weight:700}.kr-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kr-rate-card{padding:12px;background:#ffffff05;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);transition:all var(--duration-fast)}.kr-rate-card:hover{border-color:#ffffff26;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px);background:#ffffff0a}.kr-rate-label{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kr-rate-value{font-size:18px;font-weight:800;color:var(--text);margin:4px 0 2px;font-variant-numeric:tabular-nums}.kr-rate-change{font-size:10px;font-weight:600}.kr-rate-change.rate-down{color:var(--price-down)}.kr-rate-change.rate-up{color:var(--price-up)}.kr-rate-change.rate-flat{color:var(--text-dim)}.kr-rate-date{font-size:9px;color:var(--text-ghost);margin-top:3px}.kr-rate-comparison{padding:4px 0}.kr-rate-table{width:100%;border-collapse:collapse;font-size:11px}.kr-rate-table th{text-align:left;padding:6px 10px;color:var(--text-dim);font-weight:600;font-size:10px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px}.kr-rate-table td{padding:8px 10px;color:var(--text);border-bottom:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;transition:background var(--duration-fast)}.kr-rate-table tr:hover td{background:var(--surface-hover)}.kr-news-scope{display:flex;gap:4px;padding:3px;background:#00000040;border-radius:var(--radius-md);margin-bottom:8px;border:1px solid rgba(255,255,255,.05)}.kr-news-scope-btn{flex:1;padding:5px 10px;border:none;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);font-family:var(--font-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kr-news-scope-btn:hover{color:var(--text);background:#ffffff0d}.kr-news-scope-btn.active{color:var(--brand-light);background:#0ea5e91f;box-shadow:0 1px 6px #0ea5e926;font-weight:700}.kr-news-fallback-btn{margin-top:8px;padding:5px 12px;border:1px solid var(--border);background:transparent;color:var(--brand-light);font-size:11px;cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-body);transition:all var(--duration-fast)}.kr-news-fallback-btn:hover{background:#0ea5e914;border-color:var(--brand)}.kr-news-list{display:flex;flex-direction:column}.kr-news-item{display:block;padding:8px 10px;text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:all var(--duration-fast)}.kr-news-item:hover{background:var(--surface-hover);padding-left:14px}.kr-news-title{font-size:13px;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}.kr-news-meta{display:flex;gap:8px;margin-top:3px;font-size:10px;color:var(--text-dim);font-weight:500}.kr-news-tone.tone-positive{color:#22c55e}.kr-news-tone.tone-negative{color:var(--price-up)}.kr-news-tone.tone-neutral{color:var(--text-dim)}.kr-news-item.kr-news-policy{border-left:3px solid var(--status-cached);background:#fbbf2408}.kr-supply-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:12px;background:#0003;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06)}.kr-supply-total{font-size:12px;color:var(--text-secondary)}.kr-supply-total strong{font-size:15px;color:var(--text);font-weight:700}.kr-supply-signal{font-size:10px;padding:4px 10px;border-radius:var(--radius-sm);font-weight:600}.kr-supply-signal.signal-buyer{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.kr-supply-signal.signal-seller{background:#f43f5e1a;color:#fb7185;border:1px solid rgba(244,63,94,.2)}.kr-supply-signal.signal-neutral{background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.2)}.kr-supply-chart{display:flex;flex-direction:column;gap:4px}.kr-supply-bar-row{display:flex;align-items:center;gap:6px;font-size:10px;padding:2px 0;transition:background var(--duration-fast);border-radius:3px}.kr-supply-bar-row:hover{background:var(--surface-hover)}.kr-supply-region{width:50px;color:var(--text-dim);text-align:right;flex-shrink:0;font-weight:500}.kr-supply-bar-container{flex:1;height:14px;background:var(--surface);border-radius:3px;overflow:hidden;border:1px solid var(--border-subtle)}.kr-supply-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .5s var(--ease-out)}.kr-supply-count{width:50px;text-align:right;color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:500}.kr-supply-mom{width:40px;text-align:right;font-size:9px;flex-shrink:0;font-weight:600}.kr-supply-mom.mom-up{color:var(--price-down)}.kr-supply-mom.mom-down{color:var(--price-up)}.kr-pop-header{font-size:10px;color:var(--text-dim);padding:4px 8px;margin-bottom:6px;font-weight:500}.kr-pop-list{display:flex;flex-direction:column;gap:3px}.kr-pop-row{display:flex;align-items:center;gap:6px;font-size:10px;padding:4px 6px;border-radius:4px;transition:all var(--duration-fast);background:#ffffff05}.kr-pop-row:hover{background:#ffffff0d;box-shadow:0 2px 8px #0003}.kr-pop-region{width:50px;color:var(--text-dim);text-align:right;flex-shrink:0;font-weight:500}.kr-pop-bar-area{flex:1;height:12px;background:var(--surface);border-radius:3px;overflow:hidden;border:1px solid var(--border-subtle)}.kr-pop-bar{height:100%;border-radius:3px;transition:width .5s var(--ease-out)}.kr-pop-bar-positive{background:linear-gradient(90deg,#f43f5e,#fb7185)}.kr-pop-bar-negative{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.kr-pop-net{width:60px;text-align:right;font-size:10px;flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.kr-pop-signal{width:50px;text-align:center;font-size:9px;flex-shrink:0;font-weight:600}.pop-strong-inflow,.pop-inflow{color:var(--price-up)}.pop-strong-outflow,.pop-outflow{color:var(--price-down)}.kr-sub-table{width:100%;border-collapse:collapse;font-size:11px}.kr-sub-table thead th{text-align:left;padding:8px 10px;color:var(--text-dim);font-weight:700;font-size:10px;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.5px;background:#0000004d}.kr-sub-table tbody td{padding:7px 8px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast)}.kr-sub-table tbody tr:hover td{background:var(--surface-hover)}.kr-sub-name{color:var(--text)!important;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.kr-sub-rate{font-weight:700;font-variant-numeric:tabular-nums}.competition-extreme{color:var(--price-up)}.competition-extreme td:nth-child(3){color:var(--price-up);font-weight:800}.competition-high{color:#f97316}.competition-moderate{color:var(--text)}.competition-low{color:var(--text-dim)}.kr-global-chart{display:flex;flex-direction:column;gap:4px;padding:4px 0}.kr-global-bar-row{display:flex;align-items:center;gap:6px;font-size:10px;padding:4px 6px;border-radius:4px;transition:all var(--duration-fast);background:#ffffff05}.kr-global-bar-row:hover{background:#ffffff0d;transform:translate(2px)}.kr-global-bar-row.kr-global-highlight{background:var(--brand-dim);border:1px solid var(--brand-glow);border-radius:var(--radius-sm);box-shadow:inset 0 0 10px #0ea5e91a}.kr-global-country{width:80px;color:var(--text-dim);text-align:right;flex-shrink:0;font-size:10px;font-weight:500}.kr-global-highlight .kr-global-country{color:var(--brand-light);font-weight:700}.kr-global-bar-container{flex:1;height:14px;background:var(--surface);border-radius:3px;overflow:hidden;border:1px solid var(--border-subtle)}.kr-global-bar{height:100%;border-radius:3px;transition:width .5s var(--ease-out)}.kr-global-bar.bar-positive{background:linear-gradient(90deg,#22c55e,#4ade80)}.kr-global-bar.bar-negative{background:linear-gradient(90deg,#ef4444,#f87171)}.kr-global-value{width:50px;text-align:right;color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.risk-strategic-header{margin-bottom:14px}.risk-hero{display:flex;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(135deg,#14141ecc,#0a0a0ff2);backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);transition:all var(--duration-fast);box-shadow:0 12px 32px #0006,inset 0 1px #ffffff0d}.risk-hero:hover{box-shadow:0 16px 40px #00000080,inset 0 1px #ffffff1a;border-color:#fff3;transform:translateY(-2px)}.risk-hero-grade{width:52px;height:52px;border:2.5px solid;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-secondary)}.risk-hero-grade-letter{font-size:28px;font-weight:900;font-family:var(--font-mono);line-height:1}.risk-hero-info{flex:1;min-width:0}.risk-hero-level{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.risk-hero-sublabel{font-size:11px;color:var(--text-dim);margin-top:1px;font-weight:500}.risk-gauge{display:flex;gap:3px;margin-top:8px}.risk-gauge-segment{flex:1;height:4px;border-radius:2px;transition:opacity var(--duration-normal)}.risk-hero-summary{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.risk-summary-chip{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);padding:2px 0}.risk-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kr-risk-grid{display:flex;flex-direction:column;gap:6px}.kr-risk-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff05;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);transition:all var(--duration-fast)}.kr-risk-card:hover{border-color:#ffffff26;box-shadow:0 4px 16px #0000004d;transform:translate(4px);background:#ffffff0d}.kr-risk-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-secondary)}.kr-risk-info{flex:1;min-width:0}.kr-risk-name{font-size:11px;color:var(--text-secondary);font-weight:600}.kr-risk-value{font-size:14px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.kr-risk-desc{font-size:9px;color:var(--text-dim);margin-top:2px;line-height:1.4}.kr-risk-badge{font-size:10px;font-weight:700;flex-shrink:0;padding:3px 10px;border-radius:var(--radius-sm);text-align:center;letter-spacing:.3px}.kr-risk-footer{text-align:right;font-size:9px;color:var(--text-ghost);margin-top:12px;padding:0 4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.pred-tabs{display:flex;gap:4px;padding:4px;background:#0000004d;border-radius:var(--radius-md);margin-bottom:12px;border:1px solid rgba(255,255,255,.05)}.pred-tab{flex:1;padding:6px 8px;border:none;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);font-family:var(--font-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pred-tab:hover{color:var(--text);background:#ffffff0d}.pred-tab.active{color:var(--accent);background:#ffffff1a;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a;font-weight:700}.pred-event-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.pred-event-info{flex:1}.pred-event-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.2px}.pred-event-meta{display:flex;gap:6px;margin-top:3px;font-size:10px;color:var(--text-dim);font-weight:500}.pred-sep{color:var(--text-ghost)}.pred-volume,.pred-liquidity{font-variant-numeric:tabular-nums}.pred-markets{display:flex;flex-direction:column;gap:3px}.pred-market-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);transition:all var(--duration-fast)}.pred-market-row:hover{background:var(--surface-hover)}.pred-rank{width:18px;font-size:10px;font-weight:700;color:var(--text-ghost);text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.pred-market-row:nth-child(-n+3) .pred-rank{color:var(--brand-light)}.pred-market-info{flex:1;min-width:0}.pred-market-name{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.pred-bar-wrap{width:100%;height:6px;background:var(--surface);border-radius:3px;overflow:hidden;border:1px solid var(--border-subtle)}.pred-bar{height:100%;border-radius:3px;transition:width .5s var(--ease-out);min-width:2px}.pred-prob{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0;width:50px;text-align:right;font-family:var(--font-mono)}.pred-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle);font-size:9px;color:var(--text-ghost);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.pred-source{color:var(--brand-light);font-weight:700}.panel[data-panel^=kr-] .panel-content,.panel[data-panel=predictions] .panel-content,.panel[data-panel=crypto] .panel-content,.panel[data-panel=btc-etf] .panel-content,.panel[data-panel=market-radar] .panel-content{padding:10px}.crypto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.crypto-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:10px 12px;transition:all var(--duration-fast)}.crypto-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d;background:#ffffff0d}.crypto-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.crypto-info{display:flex;flex-direction:column;gap:1px}.crypto-symbol{font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.3px;font-family:var(--font-mono)}.crypto-name{font-size:9px;color:var(--text-ghost);font-weight:500}.crypto-spark{flex-shrink:0}.crypto-card-bottom{display:flex;justify-content:space-between;align-items:flex-end}.crypto-price{font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.crypto-changes{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.crypto-change{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.crypto-month-change{font-size:9px;font-weight:500;opacity:.7}.etf-btc-ref{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#f7931a1a,#f7931a05);border:1px solid rgba(247,147,26,.2);border-radius:var(--radius-md);margin-bottom:12px;box-shadow:inset 0 0 10px #f7931a0d}.etf-btc-icon{flex-shrink:0}.etf-btc-info{flex:1;display:flex;flex-direction:column;gap:1px}.etf-btc-label{font-size:9px;color:var(--text-ghost);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.etf-btc-price{font-size:15px;font-weight:800;color:#f7931a;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.etf-btc-change{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.etf-list{display:flex;flex-direction:column;gap:2px}.etf-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;transition:all var(--duration-fast);background:#ffffff05}.etf-row:hover{background:#ffffff0d;box-shadow:0 2px 8px #0003}.etf-row-left{min-width:60px}.etf-ticker{font-size:12px;font-weight:800;color:var(--text);font-family:var(--font-mono)}.etf-issuer{font-size:9px;color:var(--text-ghost);font-weight:500}.etf-spark{flex-shrink:0}.etf-row-right{margin-left:auto;text-align:right}.etf-price{font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.etf-change{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.radar-header{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.radar-visual{width:90px;height:90px;flex-shrink:0}.radar-svg{width:100%;height:100%}.radar-summary{flex:1}.radar-sentiment{font-size:18px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}.radar-counts{display:flex;gap:10px}.radar-count-item{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600}.radar-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.radar-signals{display:flex;flex-direction:column;gap:8px}.radar-category{display:flex;flex-direction:column;gap:2px}.radar-category-title{font-size:9px;font-weight:700;color:var(--text-ghost);text-transform:uppercase;letter-spacing:.8px;padding:4px 0 2px;border-bottom:1px solid var(--border-subtle);margin-bottom:2px}.radar-signal-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;transition:all var(--duration-fast);background:#ffffff05}.radar-signal-row:hover{background:#ffffff0d;box-shadow:0 2px 8px #0003;transform:translate(2px)}.radar-signal-icon{font-size:12px;width:20px;text-align:center;flex-shrink:0}.radar-signal-info{flex:1;display:flex;gap:6px;align-items:baseline;min-width:0}.radar-signal-name{font-size:11px;font-weight:600;color:var(--text);font-family:var(--font-mono)}.radar-signal-value{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.radar-signal-change{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono);width:50px;text-align:right;flex-shrink:0}.radar-signal-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:10px;flex-shrink:0;text-align:center;min-width:30px}.maplibregl-ctrl-group{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-card)!important;overflow:hidden}.maplibregl-ctrl-group button{background:var(--surface)!important;border-color:var(--border-subtle)!important;width:34px!important;height:34px!important}.maplibregl-ctrl-group button:hover{background:var(--surface-hover)!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:var(--map-ctrl-icon-filter, none)}[data-theme=dark] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1)}.map-flash-wrapper{pointer-events:none;overflow:visible}.map-flash-marker{width:28px;height:28px;border-radius:50%;background:#00c8ff80;border:2px solid rgba(0,200,255,.8);pointer-events:none;animation:flash-pulse 3.5s ease-out forwards;box-shadow:0 0 20px #00c8ff99,0 0 40px #00c8ff4d}.maplibregl-marker:has(.map-flash-wrapper){z-index:9999!important;overflow:visible!important;pointer-events:none!important}.map-container .maplibregl-canvas-container~div .maplibregl-marker{z-index:9999}#deck-canvas,.deck-canvas{z-index:1}@keyframes flash-pulse{0%{transform:scale(1);opacity:1}30%{transform:scale(1.8);opacity:.8}60%{transform:scale(2.5);opacity:.5}to{transform:scale(3.5);opacity:0}}.auction-list{display:flex;flex-direction:column;gap:8px;padding:8px;max-height:450px;overflow-y:auto}.auction-card{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;transition:border-color var(--duration-fast)}.auction-card:hover{border-color:var(--accent)}.auction-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.auction-category{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;background:#ffffff0d;border-radius:var(--radius-sm)}.auction-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}.auction-status-active{color:#4ade80;background:#4ade801a}.auction-status-upcoming{color:#60a5fa;background:#60a5fa1a}.auction-status-closed{color:var(--text-muted);background:#ffffff0d}.auction-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auction-address{font-size:11px;color:var(--text-dim);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auction-prices{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.auction-price-row{display:flex;align-items:center;gap:8px}.auction-price-label{font-size:10px;color:var(--text-muted);width:36px;flex-shrink:0}.auction-price-value{font-size:12px;font-weight:600;color:var(--text);font-family:var(--font-mono)}.auction-price-value.price-highlight{color:var(--accent)}.auction-discount{font-size:10px;font-weight:700;color:#f87171;padding:1px 5px;background:#f871711a;border-radius:var(--radius-sm)}.auction-meta{display:flex;gap:10px;flex-wrap:wrap}.auction-meta-item{font-size:10px;color:var(--text-muted)}.app-footer{border-top:1px solid rgba(255,255,255,.05);background:#00000080;padding:6px 12px;font-size:10px;line-height:1.3;letter-spacing:.15px}.app-footer-inner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#ffffff80}.app-footer-logo{height:14px;width:auto;opacity:.55;display:block;transition:opacity .2s ease}.app-footer-logo:hover{opacity:.9}.app-footer-sep{color:#ffffff26;font-size:9px}.app-footer-item{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.app-footer-label{color:#ffffff47;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.app-footer-item a{color:#ffffffa6;text-decoration:none;transition:color .2s ease}.app-footer-item a:hover{color:var(--accent, #48dde0)}.app-footer-copyright-inline{color:#ffffff38;font-size:9.5px;letter-spacing:.2px}.archive-nav{display:inline-flex;align-items:center;gap:4px;margin-right:8px}.archive-nav-link{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:10px;font-weight:700;letter-spacing:1.2px;color:#ffffff8c;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:5px;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif}.archive-nav-link:hover{color:#38bdf8;background:#0ea5e91f;border-color:#0ea5e966;transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e926}.archive-nav-icon{font-size:11px}.archive-nav-label{letter-spacing:1.2px}.archive-nav-divider{width:1px;height:18px;background:#ffffff14;margin:0 4px}@media(max-width:768px){.archive-nav,.archive-nav-divider{display:none}}
