*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.bottom-20{bottom:5rem}.left-4{left:1rem}.right-4{right:1rem}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-auto{height:auto}.h-full{height:100%}.min-h-0{min-height:0}.min-h-\[520px\]{min-height:520px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-40{width:10rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[88px\]{min-width:88px}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-x-auto{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--th-elevated-border\)\]{border-color:var(--th-elevated-border)}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-\[var\(--th-app-bg\)\]{background-color:var(--th-app-bg)}.bg-\[var\(--th-elevated-surface\)\]{background-color:var(--th-elevated-surface)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[radial-gradient\(circle_at_top\,_\#f8fafc_0\%\,_\#eef2f7_45\%\,_\#e2e8f0_100\%\)\]{background-image:radial-gradient(circle at top,#f8fafc 0%,#eef2f7 45%,#e2e8f0 100%)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[15px\]{padding:15px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pr-4{padding-right:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-\[var\(--th-text\)\]{color:var(--th-text)}.text-\[var\(--th-text-muted\)\]{color:var(--th-text-muted)}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 20px 50px #0f172a14;--tw-shadow-colored:0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}body{color:var(--th-text);background:var(--th-app-bg);font-family:var(--th-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.mapboxgl-popup{z-index:10}.mapboxgl-popup-content{background:var(--th-surface,#fff);border:1px solid var(--th-border,#e5e7eb);font-family:var(--th-font-sans);border-radius:12px;padding:10px 10px 15px;animation:.15s ease-out popupFadeIn;box-shadow:0 4px 20px #00000026,0 2px 8px #0000001a}.th-map-popup .mapboxgl-popup-content{border-radius:14px;padding:0;overflow:hidden;box-shadow:0 8px 30px #0000002e,0 4px 12px #0000001a}.th-map-popup .mapboxgl-popup-close-button{width:24px;height:24px;color:var(--th-text-muted,#6b7280);background:var(--th-surface,#fff);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex;top:8px;right:8px;box-shadow:0 1px 4px #0000001a}.th-map-popup .mapboxgl-popup-close-button:hover{color:var(--th-text,#1f2937);background:var(--th-muted-surface,#f3f4f6)}.th-map-popup-hover .mapboxgl-popup-content{border-radius:8px;padding:8px 12px;animation:.1s ease-out popupFadeIn;box-shadow:0 2px 12px #0000001f,0 1px 4px #00000014}.mapboxgl-popup-tip{border-width:8px}.th-map-popup .mapboxgl-popup-tip{border-width:10px}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .mapboxgl-popup-content{background:var(--th-surface,#1f2937);border-color:var(--th-border,#374151);box-shadow:0 4px 20px #0006,0 2px 8px #0000004d}[data-theme=dark] .th-map-popup .mapboxgl-popup-close-button{background:var(--th-elevated-surface,#374151);color:var(--th-text-muted,#9ca3af)}[data-theme=dark] .th-map-popup .mapboxgl-popup-close-button:hover{background:var(--th-interactive-bg-hover,#4b5563);color:var(--th-text,#f3f4f6)}.placeholder\:text-\[var\(--th-text-muted\)\]::placeholder{color:var(--th-text-muted)}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-\[var\(--th-focus\)\]:focus{border-color:var(--th-focus)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[var\(--th-focus-ring\)\]:focus{--tw-ring-color:var(--th-focus-ring)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-slate-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[rgba\(148\,163\,184\,0\.08\)\]:disabled{background-color:#94a3b814}.disabled\:text-\[var\(--th-text-muted\)\]:disabled{color:var(--th-text-muted)}@media (min-width:640px){.sm\:bottom-24{bottom:6rem}.sm\:left-auto{left:auto}.sm\:w-\[380px\]{width:380px}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}}
:root{--th-base-primary:#0f172a;--th-base-accent:#2563eb;--th-base-accent-hover:#1d4ed8;--th-base-white:#fff;--th-base-warning:#f59e0b;--th-base-danger:#e11d48;--th-base-bg-dark:#0a0a0a;--th-base-bg-light:#f6f7f8;--th-base-muted:#64748be6;--th-base-muted-strong:#64748bcc;--th-primary:var(--th-base-primary);--th-accent:var(--th-base-accent);--th-accent-hover:var(--th-base-accent-hover);--th-on-accent:var(--th-base-white);--th-link:var(--th-accent);--th-link-hover:var(--th-accent-hover);--th-warning:var(--th-base-warning);--th-danger:var(--th-base-danger);--th-bg-dark:var(--th-base-bg-dark);--th-bg-light:var(--th-base-bg-light);--th-text:var(--th-base-primary);--th-text-muted:#64748b;--th-muted:var(--th-base-muted);--th-muted-strong:var(--th-base-muted-strong);--th-on-primary:var(--th-base-white);--th-surface:var(--th-base-white);--th-muted-surface:#f1f5f9;--th-border:#e2e8f0;--th-glass-bg:#ffffffb8;--th-glass-border:#94a3b859;--th-glass-blur:14px;--th-glass-highlight:linear-gradient(180deg,#ffffffb8 0%,#ffffff2e 48%,#fff0 100%);--th-shadow-glow:0 0 18px #137fec66;--th-shadow-elev:0 24px 60px #02061773;--th-shadow-sm:0 1px 2px #0f172a0f;--th-shadow-md:0 18px 40px #0f172a33;--th-shadow-lg:0 30px 60px #0f172a40;--th-radius-pill:9999px;--th-radius-md:10px;--th-radius-lg:12px;--th-radius-xl:16px;--th-radius-2xl:24px;--th-radius-3xl:24px;--th-radius-full:9999px;--th-space-1-5:6px;--th-space-2:8px;--th-space-3:12px;--th-space-4:16px;--th-space-5:20px;--th-space-6:24px;--th-space-8:32px;--th-space-10:40px;--th-space-12:48px;--th-space-16:64px;--th-space-20:80px;--th-space-24:96px;--th-text-xs:12px;--th-text-sm:14px;--th-text-md:16px;--th-text-lg:18px;--th-text-xl:20px;--th-text-2xl:24px;--th-text-3xl:30px;--th-text-4xl:36px;--th-text-5xl:48px;--th-text-6xl:60px;--th-text-7xl:72px;--th-text-h1:var(--th-text-5xl);--th-text-h2:var(--th-text-3xl);--th-text-h3:var(--th-text-2xl);--th-text-body:var(--th-text-md);--th-text-caption:var(--th-text-sm);--th-text-overline:var(--th-text-xs);--th-leading-h1:1.05;--th-leading-h2:1.15;--th-leading-h3:1.2;--th-leading-body:1.5;--th-text-weight-strong:700;--th-tracking-overline:.18em;--th-text-title-sm:var(--th-text-lg);--th-text-title-md:var(--th-text-xl);--th-text-title-lg:var(--th-text-2xl);--th-leading-title:1.25;--th-font-display:var(--font-display);--th-font-sans:var(--font-sans);--th-header-height:80px;--th-stepper-rail-start:#94a3b8d9;--th-stepper-rail-end:#e2e8f0a6;--th-stepper-halo:#0f172a24;--th-stepper-rail-width:2px;--th-stepper-dot-size-stop:12px;--th-stepper-dot-size-leg:9px;--th-stepper-dot-ring-width:2px;--th-stepper-dot-top-detailed:16px;--th-stepper-dot-top-compact:13px;--th-planner-bg:radial-gradient(circle at top,#f8fafc 0%,#eef2f7 45%,#e2e8f0 100%);--th-app-bg:var(--th-planner-bg);--th-topbar-bg:#ffffffbf;--th-topbar-blur:14px;--th-interactive-bg:#0f172a0f;--th-interactive-bg-hover:#0f172a1a;--th-nav-active-bg:#0f172a1a;--th-brand-gradient:linear-gradient(135deg,#38bdf8f2,#3b82f6f2);--th-brand-mark-text:#020617eb;--th-brand-mark-shadow:0 14px 40px #0206172e;--th-hero-bg:linear-gradient(180deg,#38bdf814 0%,transparent 55%),#f1f5f9d9;--th-hero-border:var(--th-border);--th-hero-radial-gradient:radial-gradient(circle at 50% 50%,#137fec2e 0%,#0a0a0a00 72%);--th-chip-bg:#f1f5f9b3;--th-chip-border:#e2e8f0e6;--th-chip-text:var(--th-text-muted);--th-chip-strong-bg:#0f172aeb;--th-chip-strong-border:#0f172a8c;--th-chip-strong-text:#fffffffa;--th-chip-warning-bg:#fbbf2438;--th-chip-warning-border:#fbbf2459;--th-chip-warning-text:#92400e;--th-overlay:#0f172a66;--th-tooltip-bg:var(--th-base-primary);--th-tooltip-text:var(--th-base-white);--th-focus:var(--th-base-primary);--th-focus-ring:var(--th-focus);--th-overlay-backdrop:var(--th-overlay);--th-elevated-surface:var(--th-surface);--th-elevated-border:var(--th-border);--th-elevated-shadow:var(--th-shadow-lg);--th-input-bg:var(--th-elevated-surface);--th-input-border:var(--th-elevated-border);--th-tooltip-fg:var(--th-tooltip-text);--th-tooltip-shadow:var(--th-shadow-md);--th-tabs-bg:var(--th-surface);--th-tabs-border:var(--th-border);--th-tabs-indicator:var(--th-text);--th-surface-elevated:#0f172a59;--th-surface-elevated-hover:#0f172a8c;--th-surface-elevated-strong:#0f172abf;--th-surface-overlay:#0206178c;--th-surface-row:#0f172a6b;--th-surface-glass-subtle:#f8fafc14;--th-surface-bg-subtle:#02061714;--th-border-glass:#ffffff14;--th-border-subtle:#ffffff1a;--th-border-muted:#94a3b833;--th-border-faint:#94a3b81f;--th-border-info:#38bdf88c;--th-border-dashed:#94a3b859;--th-text-on-dark:#f8fafcfa;--th-text-on-dark-secondary:#e2e8f0eb;--th-text-muted-medium:#94a3b8d1;--th-text-muted-soft:#94a3b899;--th-text-placeholder:#94a3b8d9;--th-muted-dot:#94a3b873;--th-interactive-bg-subtle:#ffffff0d;--th-interactive-bg-elevated-hover:#0f172a80;--th-overlay-gradient-start:#020617d9;--th-overlay-gradient-end:#02061733;--th-error-bg:#f43f5e24;--th-error-text:#fecacaf2;--th-success-bg:#22c55e24;--th-success-text:#86efacf2;--th-info-bg:#38bdf81f;--th-warning-text:#fde68af2;--th-feedback-error-bg:#fff1f2;--th-feedback-error-border:#fecdd3;--th-feedback-error-text:#be123c;--th-feedback-warning-bg:#fffbeb;--th-feedback-warning-border:#fcd34d;--th-feedback-warning-text:#b45309;--th-feedback-info-bg:#e0f2fe;--th-feedback-info-border:#bae6fd;--th-feedback-success-bg:#f0fdf4;--th-feedback-success-text:#16a34a;--th-surface-subtle:#f8fafc;--th-text-strong:#1e293b;--th-z-overlay:50;--th-z-dialog:60;--th-z-tooltip:70;--th-badge-radius:var(--th-radius-pill);--th-badge-font-size:var(--th-text-xs);--th-badge-padding-x:10px;--th-badge-padding-y:4px;--th-badge-letter-spacing:.12em;--th-badge-font-weight:600;--th-badge-default-bg:#f1f5f9;--th-badge-default-fg:#334155;--th-badge-default-border:#e2e8f0;--th-badge-info-bg:#137fec1f;--th-badge-info-fg:#1d4ed8;--th-badge-info-border:#137fec33;--th-badge-success-bg:#16a34a24;--th-badge-success-fg:var(--th-base-success-hover);--th-badge-success-border:#16a34a38;--th-badge-warning-bg:#f59e0b2e;--th-badge-warning-fg:#b45309;--th-badge-warning-border:#f59e0b42;--th-tone-default-bg:#94a3b8;--th-tone-default-border:#94a3b88c;--th-tone-info-bg:#38bdf8;--th-tone-info-border:#38bdf8a6;--th-tone-success-bg:#22c55e;--th-tone-success-border:#22c55ea6;--th-tone-warning-bg:#f59e0b;--th-tone-warning-border:#f59e0bb3;--th-button-gap:var(--th-space-2);--th-button-focus:var(--th-focus);--th-button-disabled-opacity:.6;--th-base-success:#16a34a;--th-base-success-hover:#15803d;--th-base-success-active:#166534;--th-button-primary-bg:var(--th-base-success);--th-button-primary-bg-hover:var(--th-base-success-hover);--th-button-primary-bg-active:var(--th-base-success-active);--th-button-primary-text:var(--th-base-white);--th-button-primary-border:transparent;--th-button-primary-shadow:var(--th-shadow-sm);--th-button-secondary-bg:#f1f5f9;--th-button-secondary-bg-hover:#e2e8f0;--th-button-secondary-bg-active:#cbd5e1;--th-button-secondary-text:#1e293b;--th-button-secondary-border:transparent;--th-button-secondary-shadow:none;--th-button-outline-bg:#fff;--th-button-outline-bg-hover:#f8fafc;--th-button-outline-text:#1e293b;--th-button-outline-border:#e2e8f0;--th-button-outline-shadow:none;--th-button-ghost-bg:transparent;--th-button-ghost-bg-hover:#f1f5f9;--th-button-ghost-text:#475569;--th-button-ghost-border:transparent;--th-button-ghost-shadow:none;--th-button-danger-bg:#e11d48;--th-button-danger-bg-hover:#be123c;--th-button-danger-bg-active:#9f1239;--th-button-danger-text:var(--th-base-white);--th-button-danger-border:transparent;--th-button-danger-shadow:var(--th-shadow-sm);--th-button-font-sm:var(--th-text-xs);--th-button-font-md:var(--th-text-sm);--th-button-font-lg:var(--th-text-sm);--th-button-pad-x-sm:12px;--th-button-pad-y-sm:6px;--th-button-pad-x-md:16px;--th-button-pad-y-md:8px;--th-button-pad-x-lg:20px;--th-button-pad-y-lg:10px;--th-cat-attraction:#2563eb;--th-cat-restaurant:#dc2626;--th-cat-activity:#059669;--th-cat-accommodation:#f59e0b;--th-cat-shopping:#c026d3;--th-cat-nature:#22c55e;--th-cat-culture:#8b5cf6;--th-cat-entertainment:#06b6d4;--th-cat-transport:#64748b;--th-map-cluster-bg:#0f172a;--th-map-cluster-stroke:#fff;--th-map-cluster-text:#fff;--th-map-marker-stroke:#fff;--th-map-marker-text:#fff;--th-map-marker-hovered-stroke:#94a3b8d9;--th-map-marker-selected-stroke:#e2e8f0f2;--th-map-marker-user-stroke:#facc15e6;--th-map-marker-shadow:0 6px 14px #0f1f1c38,0 0 0 2px #ffffffb3;--th-map-marker-user-glow:#facc154d;--th-map-marker-inactive-opacity:.45;--th-map-cluster-count-text:#1e40af;--th-map-cluster-count-halo:#fffffff2;--th-map-origin-border:#16a34a;--th-map-origin-bg:#22c55e;--th-map-origin-ring-bg:#dcfce7;--th-map-origin-icon:#fff;--th-map-lodging-border:#d97706;--th-map-lodging-bg:var(--th-base-white);--th-map-lodging-ring-bg:#fffbeb;--th-map-lodging-text:#b45309;--th-map-airport-border:#6366f1;--th-map-airport-bg:var(--th-base-white);--th-map-airport-ring-bg:#eef2ff;--th-map-airport-text:#4338ca;--th-map-popup-text-muted:#475569;--th-map-route-line:#0ea5e9;--th-map-route-shadow:#0f172a42;--th-map-route-casing:#fff;--th-map-route-arrow:#fff;--th-map-route-walking:#22c55e;--th-map-route-cycling:#f59e0b;--th-map-route-driving:#2563eb;--th-map-route-transit:#db2777;--th-map-action-bg:var(--th-glass-bg);--th-map-action-border:var(--th-glass-border);--th-map-action-text:var(--th-text)}
.th-theme-app{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.th-theme-app[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--th-surface:#0a0a0a;--th-muted-surface:#0f172a8c;--th-border:#94a3b838;--th-glass-bg:#0f172a94;--th-glass-border:#94a3b842;--th-glass-blur:18px;--th-glass-highlight:linear-gradient(180deg,#ffffff1c 0%,#ffffff0a 52%,#fff0 100%);--th-text:#f8fafcf5;--th-text-muted:#94a3b8eb;--th-muted:#94a3b8e6;--th-muted-strong:#94a3b8cc;--th-accent:#3b82f6;--th-accent-hover:#2563eb;--th-on-accent:#fff;--th-link:var(--th-accent);--th-link-hover:var(--th-accent-hover);--th-warning:#fbbf24;--th-danger:#f43f5e;--th-stepper-rail-start:#94a3b873;--th-stepper-rail-end:#94a3b82e;--th-stepper-halo:#94a3b82e;--th-topbar-bg:#02061740;--th-interactive-bg:#0f172a8c;--th-interactive-bg-hover:#0f172abf;--th-nav-active-bg:#0f172ab8;--th-brand-mark-shadow:0 14px 40px #02061759;--th-hero-bg:linear-gradient(180deg,#38bdf829 0%,#02061700 55%),#0f172a85;--th-hero-border:#94a3b838;--th-planner-bg:radial-gradient(circle at top,#1e293beb 0%,#020617f5 54%,#020617 100%);--th-app-bg:var(--th-planner-bg);--th-chip-bg:#0f172a8c;--th-chip-border:#94a3b838;--th-chip-text:#e2e8f0eb;--th-chip-strong-bg:#e2e8f0eb;--th-chip-strong-border:#e2e8f02e;--th-chip-strong-text:#0f172afa;--th-chip-warning-bg:#fbbf2429;--th-chip-warning-border:#fbbf2438;--th-chip-warning-text:#fde68af2;--th-overlay:#0206179e;--th-tooltip-bg:#020617fa;--th-tooltip-text:#f8fafcfa;--th-shadow-sm:0 1px 2px #0206173d;--th-shadow-md:0 18px 40px #02061785;--th-shadow-lg:0 30px 60px #020617a6;--th-focus:#f8fafceb;--th-focus-ring:#f8fafceb;--th-overlay-backdrop:#020617b3;--th-elevated-surface:#0f172aeb;--th-elevated-border:#94a3b838;--th-elevated-shadow:var(--th-shadow-lg);--th-tooltip-fg:#f8fafcfa;--th-tooltip-shadow:var(--th-shadow-md);--th-tabs-bg:#0f172a8c;--th-tabs-border:#94a3b838;--th-tabs-indicator:#0f172aeb;--th-badge-default-bg:#94a3b824;--th-badge-default-fg:#f8fafceb;--th-badge-default-border:#94a3b83d;--th-badge-info-bg:#38bdf82e;--th-badge-info-fg:#7dd3fcf2;--th-badge-info-border:#38bdf84d;--th-badge-success-bg:#22c55e2e;--th-badge-success-fg:#86efacf2;--th-badge-success-border:#22c55e4d;--th-badge-warning-bg:#fbbf242e;--th-badge-warning-fg:#fde68af2;--th-badge-warning-border:#fbbf244d;--th-tone-default-bg:#94a3b8e6;--th-tone-default-border:#94a3b899;--th-tone-info-bg:#38bdf8f2;--th-tone-info-border:#38bdf8a6;--th-tone-success-bg:#22c55ef2;--th-tone-success-border:#22c55ea6;--th-tone-warning-bg:#fbbf24f2;--th-tone-warning-border:#fbbf24b3;--th-button-focus:#f8fafcdb;--th-button-primary-bg:#22c55e;--th-button-primary-bg-hover:#16a34a;--th-button-primary-bg-active:#15803d;--th-button-primary-text:#0b1410;--th-button-secondary-bg:#0f172ab3;--th-button-secondary-bg-hover:#0f172ae0;--th-button-secondary-bg-active:#1e293be6;--th-button-secondary-text:#f8fafceb;--th-button-secondary-border:#94a3b838;--th-button-outline-bg:transparent;--th-button-outline-bg-hover:#0f172a8c;--th-button-outline-text:#f8fafceb;--th-button-outline-border:#94a3b847;--th-button-ghost-bg:transparent;--th-button-ghost-bg-hover:#0f172a8c;--th-button-ghost-text:#e2e8f0e6;--th-button-danger-bg:#f43f5e;--th-button-danger-bg-hover:#e11d48;--th-button-danger-bg-active:#be123c;--th-button-danger-text:#0b1410;--th-surface-elevated:#0f172a73;--th-surface-elevated-hover:#0f172aa6;--th-surface-elevated-strong:#0f172ad9;--th-surface-overlay:#020617a6;--th-surface-row:#0f172a85;--th-surface-glass-subtle:#f8fafc0f;--th-surface-bg-subtle:#0206171f;--th-border-glass:#ffffff0f;--th-border-subtle:#ffffff14;--th-border-muted:#94a3b82e;--th-border-faint:#94a3b81a;--th-border-info:#38bdf88c;--th-border-dashed:#94a3b84d;--th-text-on-dark:#f8fafcfa;--th-text-on-dark-secondary:#e2e8f0eb;--th-text-muted-medium:#94a3b8d1;--th-text-muted-soft:#94a3b88c;--th-text-placeholder:#94a3b8cc;--th-muted-dot:#94a3b866;--th-interactive-bg-subtle:#ffffff0a;--th-interactive-bg-elevated-hover:#0f172a99;--th-overlay-gradient-start:#020617e6;--th-overlay-gradient-end:#02061740;--th-error-bg:#f43f5e29;--th-error-text:#fecacaf2;--th-success-bg:#22c55e29;--th-success-text:#86efacf2;--th-info-bg:#38bdf824;--th-warning-text:#fde68af2;--th-feedback-error-bg:#f43f5e29;--th-feedback-error-border:#f43f5e4d;--th-feedback-error-text:#fecacaf2;--th-feedback-warning-bg:#fbbf2424;--th-feedback-warning-border:#fbbf244d;--th-feedback-warning-text:#fde68af2;--th-feedback-info-bg:#38bdf824;--th-feedback-info-border:#38bdf859;--th-feedback-success-bg:#22c55e24;--th-feedback-success-text:#86efacf2;--th-surface-subtle:#0f172a6b;--th-text-strong:#f8fafcf5;--th-cat-attraction:#60a5fa;--th-cat-restaurant:#fb7185;--th-cat-activity:#2dd4bf;--th-cat-accommodation:#fbbf24;--th-cat-shopping:#f472b6;--th-cat-nature:#4ade80;--th-cat-culture:#c084fc;--th-cat-entertainment:#22d3ee;--th-cat-transport:#e2e8f0;--th-map-cluster-bg:#1e293beb;--th-map-cluster-stroke:#f8fafca6;--th-map-cluster-text:#f8fafcf2;--th-map-marker-stroke:#f8fafcf2;--th-map-marker-text:#fff;--th-map-marker-hovered-stroke:#fff;--th-map-marker-selected-stroke:#fff;--th-map-marker-shadow:0 6px 14px #02061780,0 0 0 2px #f8fafc40;--th-map-marker-user-glow:#facc1559;--th-map-cluster-count-text:#93c5fd;--th-map-cluster-count-halo:#0f172ad9;--th-map-origin-bg:#16a34a;--th-map-origin-ring-bg:#22c55e40;--th-map-origin-border:#22c55e;--th-map-lodging-bg:#0f172ad9;--th-map-lodging-ring-bg:#d977062e;--th-map-lodging-text:#fbbf24;--th-map-airport-bg:#0f172ad9;--th-map-airport-ring-bg:#6366f12e;--th-map-airport-text:#a5b4fc;--th-map-popup-text-muted:#94a3b8eb;--th-map-route-line:#38bdf8;--th-map-route-shadow:#0206171a;--th-map-route-casing:#fff;--th-map-route-arrow:#fff;--th-map-route-walking:#4ade80;--th-map-route-cycling:#fbbf24;--th-map-route-driving:#60a5fa;--th-map-route-transit:#f472b6;--th-planner-start-bg:#111827;--th-planner-start-card:#1f2937;--th-planner-start-card-hover:#374151;--th-planner-start-primary:#3b82f6;--th-planner-start-primary-hover:#2563eb;--th-planner-start-primary-active:#1d4ed8;--th-planner-start-primary-text:#fff;--th-planner-start-primary-glow:#3b82f666;--th-planner-start-primary-glow-hover:#3b82f699;--th-planner-start-primary-subtle:#3b82f633;--th-planner-start-border:#ffffff1a;--th-planner-start-border-subtle:#ffffff0d;--th-planner-start-text:#fff;--th-planner-start-text-secondary:#d1d5db;--th-planner-start-text-label:#e5e7eb;--th-planner-start-text-muted:#9ca3af;--th-planner-start-text-dim:#6b7280;--th-planner-start-text-placeholder:#4b5563;--th-planner-start-error:#fda4af;--th-planner-start-tip-bg:#11182780}.th-theme-landing{--th-primary:#137fec;--th-bg-dark:#0a0a0a;--th-bg-light:#f6f7f8;--th-text:#f8fafc;--th-text-muted:#94a3b8eb;--th-muted:#94a3b8e6;--th-muted-strong:#94a3b8cc;--th-glass-bg:#ffffff08;--th-glass-border:#ffffff1f;--th-glass-blur:12px;--th-glass-highlight:linear-gradient(180deg,#ffffff1f 0%,#ffffff0a 48%,#fff0 100%);--th-radius-3xl:28px;--th-shadow-glow:0 0 18px #137fec66;--th-shadow-elev:0 24px 60px #02061773;--th-shadow-sm:0 10px 30px #0206174d;--th-hero-radial-gradient:radial-gradient(circle at 50% 50%,#137fec2e 0%,#0a0a0a00 72%);--th-surface:#0f0f0fe6;--th-border:#ffffff1f}
