@tailwind base;@custom-variant dark (&:is(.dark *));@tailwind components;@tailwind utilities;@layer base{:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96%;--secondary-foreground: 222.2 84% 4.9%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96%;--accent-foreground: 222.2 84% 4.9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}}:root{font-family:Plus Jakarta Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius: .625rem;--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;padding:0;width:100%;height:100%;height:100dvh;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;touch-action:manipulation}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@theme inline{ --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes pegman-drag-float{0%,to{transform:translateY(0) rotate(var(--pegman-rotate, 0deg)) scale(1.02)}50%{transform:translateY(-5px) rotate(calc(var(--pegman-rotate, 0deg) * 1.08)) scale(1.06)}}@keyframes pegman-idle-breathe{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-.6px) rotate(0) scale(1.02)}}@keyframes pegman-drop-squat{0%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(1.5px) rotate(0) scale(.94,.9)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes pegman-drop-pulse{0%{box-shadow:0 0 #f59e0b59}to{box-shadow:0 0 0 14px #f59e0b00}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.enhanced-button{position:relative;overflow:hidden;transition:all .2s ease-in-out}.enhanced-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.enhanced-button:hover:before{left:100%}.enhanced-button:active{transform:scale(.98)}.enhanced-card{transition:all .3s ease-in-out}.enhanced-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.map-container{position:relative;overflow:hidden}.map-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(59,130,246,.1) 0%,rgba(16,185,129,.1) 100%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.map-container:hover:before{opacity:1}.search-container{position:relative}.search-container .search-input{transition:all .3s ease}.search-container .search-input:focus{transform:scale(1.02);box-shadow:0 0 0 4px #3b82f61a}.sidebar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:transparent}.sidebar-item{transition:all .2s ease;border-radius:8px;margin:4px 0}.sidebar-item:hover{background:rgba(59,130,246,.1);transform:translate(4px)}.sidebar-item.active{background:rgba(59,130,246,.2);border-left:4px solid #3b82f6}.chart-container{position:relative;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;padding:16px;box-shadow:inset 0 2px 4px #0000000f}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(59,130,246,.05) 50%,transparent 70%);border-radius:12px;pointer-events:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0px;height:0px;background:transparent}:root{--card-bg: #ffffff;--card-border: #e5e7eb;--card-text: #111827;--muted-text: #6b7280;--panel-bg: #0d0f14;--panel-bg-elev: #11141b;--panel-border: #1f2230;--panel-border-strong: #2a2e3e;--panel-shadow: 0 1px 0 rgba(255, 255, 255, .04), 0 8px 24px rgba(0, 0, 0, .32);--text-primary: #e6e8ee;--text-secondary: #9ba3b4;--text-muted: #6b7280;--accent: #8b5cf6;--accent-soft: rgba(139, 92, 246, .12);--accent-border: rgba(139, 92, 246, .32);--accent-text: #c4b5fd;--success: #22c55e;--success-soft: rgba(34, 197, 94, .12);--success-border: rgba(34, 197, 94, .32);--hover-bg: rgba(255, 255, 255, .04);--active-bg: rgba(255, 255, 255, .06);--divider: rgba(255, 255, 255, .06);--radius-card: 10px;--radius-button: 8px;--radius-input: 6px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--duration-fast: .12s;--duration-normal: .18s;--easing: cubic-bezier(.4, 0, .2, 1)}.lin-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-card);box-shadow:var(--panel-shadow);color:var(--text-primary)}.lin-panel-elev{background:var(--panel-bg-elev);border:1px solid var(--panel-border);border-radius:var(--radius-card);color:var(--text-primary)}.lin-button{background:transparent;border:1px solid transparent;border-radius:var(--radius-button);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:-.01em;transition:background-color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing)}.lin-button:hover{background:var(--hover-bg)}.lin-button:active{background:var(--active-bg)}.lin-button[data-active=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.lin-divider{height:1px;background:var(--divider);margin:var(--space-1) var(--space-2)}.lin-pill{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-pill);color:var(--text-primary);box-shadow:var(--panel-shadow)}.fence-calc-scroll{scrollbar-width:thin;scrollbar-color:#2a2e3e transparent}.fence-calc-scroll::-webkit-scrollbar{width:8px;height:8px}.fence-calc-scroll::-webkit-scrollbar-track{background:transparent}.fence-calc-scroll::-webkit-scrollbar-thumb{background:#2a2e3e;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.fence-calc-scroll::-webkit-scrollbar-thumb:hover{background:#3a3f52;background-clip:padding-box;border:2px solid transparent}@keyframes searchDropdownEnter{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.search-dropdown-enter{animation:searchDropdownEnter .18s cubic-bezier(.16,1,.3,1);transform-origin:top center;will-change:transform,opacity}.search-suggestion-row{position:relative}.search-suggestion-row .search-suggestion-enter-hint{position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:0;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#9ba3b4;background:#11141b;border:1px solid #1f2230;border-radius:4px;padding:1px 5px;pointer-events:none;transition:opacity .12s cubic-bezier(.4,0,.2,1)}.search-suggestion-row[data-active=true] .search-suggestion-enter-hint,.search-suggestion-row:hover .search-suggestion-enter-hint{opacity:1}.pegman-button .pegman-figure-wrapper{transform-origin:50% 80%;transform:rotate(var(--pegman-rotate, 0deg));transition:transform .16s ease;will-change:transform}.pegman-state-idle{animation:pegman-idle-breathe 2s ease-in-out infinite}.pegman-button:hover .pegman-figure-wrapper{transform:translateY(-1px) rotate(var(--pegman-rotate, 0deg))}.pegman-button.is-dragging{box-shadow:0 0 0 1px #f59e0b40,0 10px 24px #f59e0b38}.pegman-button.is-dragging .pegman-figure-wrapper{transition:transform 90ms linear;transform:translateY(-1px) rotate(var(--pegman-rotate, 0deg)) scale(1.08)}.pegman-button.is-dropping .pegman-figure-wrapper,.pegman-state-dropping{animation:pegman-drop-squat .22s cubic-bezier(.16,1,.3,1)}.pegman-svg{overflow:visible;filter:drop-shadow(0 2px 4px rgba(0,0,0,.32))}.pegman-character{transform-box:fill-box;transform-origin:50% 78%}.pegman-arm,.pegman-leg,.pegman-head,.pegman-torso,.pegman-shadow{transform-box:fill-box;transform-origin:center;transition:transform .14s ease,opacity .14s ease,rx .14s ease,ry .14s ease}.pegman-state-idle .pegman-arm-left{transform:rotate(8deg) translate(-.15px)}.pegman-state-idle .pegman-arm-right{transform:rotate(-8deg) translate(.15px)}.pegman-state-idle .pegman-leg-left{transform:rotate(2deg)}.pegman-state-idle .pegman-leg-right{transform:rotate(-2deg)}.pegman-state-dragging .pegman-character{transform:translateY(-.2px)}.pegman-state-dragging .pegman-arm-left{transform:rotate(22deg) translate(-.6px,.4px)}.pegman-state-dragging .pegman-arm-right{transform:rotate(-22deg) translate(.6px,.4px)}.pegman-state-dragging .pegman-leg-left{transform:rotate(14deg) translate(-.2px,.5px)}.pegman-state-dragging .pegman-leg-right{transform:rotate(-14deg) translate(.2px,.5px)}.pegman-state-dragging .pegman-shadow{transform:scaleX(.82);opacity:.7}.pegman-state-dropping .pegman-character{transform:translateY(.4px) scaleY(.95)}.pegman-state-dropping .pegman-head{transform:translateY(.3px)}.pegman-state-dropping .pegman-arm-left{transform:rotate(34deg) translate(-.5px,.6px)}.pegman-state-dropping .pegman-arm-right{transform:rotate(-34deg) translate(.5px,.6px)}.pegman-state-dropping .pegman-leg-left{transform:rotate(18deg) translate(-.3px,.8px) scaleY(.9)}.pegman-state-dropping .pegman-leg-right{transform:rotate(-18deg) translate(.3px,.8px) scaleY(.9)}.pegman-state-dropping .pegman-shadow{transform:scaleX(1.15);opacity:.9}.pegman-drag-preview{filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));animation:pegman-drop-pulse .9s ease-out infinite}.pegman-drag-preview .pegman-svg{transform-origin:50% 78%;animation:pegman-drag-float .9s ease-in-out infinite}@media (max-width: 768px){.enhanced-button{min-height:44px}.enhanced-card{margin:8px}.sidebar-container{width:100vw;height:100vh}.chart-container{padding:12px}}@media (prefers-color-scheme: dark){.enhanced-card{background:#1f2937;color:#f9fafb}.sidebar-container{background:rgba(31,41,55,.95);border-right-color:#ffffff1a}.chart-container{background:linear-gradient(135deg,#1f2937 0%,#111827 100%)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.enhanced-button:focus-visible,.enhanced-card:focus-visible,.search-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.enhanced-button{border:2px solid currentColor}.enhanced-card{border:2px solid #000}}
