:root{color-scheme:light;--bg:#f3efe6;--bg-strong:#ece3d8;--ink:#1e1c1a;--ink-soft:#4a4340;--accent:#ff7a59;--accent-2:#3a7d7c;--accent-3:#f5b24a;--card:hsla(0,0%,100%,.75);--line:rgba(28,26,24,.12);--shadow:0 24px 60px rgba(40,34,30,.15);--background:var(--bg);--foreground:var(--ink);--muted:rgba(28,26,24,.06);--muted-foreground:var(--ink-soft);--card-foreground:var(--ink);--popover:hsla(0,0%,100%,.96);--popover-foreground:var(--ink);--primary:var(--accent);--primary-foreground:#1d120d;--secondary:rgba(58,125,124,.14);--secondary-foreground:#234645;--destructive:#e0504e;--destructive-foreground:#fff;--border:rgba(28,26,24,.18);--input:rgba(28,26,24,.2);--ring:rgba(255,122,89,.35);--radius:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-display),"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 20%,#ffe8c7 0,rgba(255,232,199,0) 45%),radial-gradient(circle at 90% 10%,#cbe7e2 0,rgba(203,231,226,0) 50%),linear-gradient(120deg,var(--bg) 0,var(--bg-strong) 100%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.25}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{padding:28px 40px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-title{display:flex;flex-direction:column;gap:8px}.app-title h1{font-size:clamp(1.8rem,2.6vw,2.8rem);margin:0;letter-spacing:-.02em}.app-title p{margin:0;color:var(--ink-soft);font-size:.95rem;max-width:520px}.app-actions{display:flex;gap:10px;flex-wrap:wrap}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;font-size:.9rem;font-weight:600;padding:10px 16px;cursor:pointer;color:var(--foreground);background:transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.ui-button[data-variant=default]{background:linear-gradient(120deg,var(--primary),var(--accent-3));color:var(--primary-foreground);border-color:transparent;box-shadow:0 12px 28px rgba(255,122,89,.28)}.ui-button[data-variant=outline]{border-color:var(--border);background:hsla(0,0%,100%,.75)}.ui-button[data-variant=secondary]{border-color:transparent;background:var(--secondary);color:var(--secondary-foreground)}.ui-button[data-variant=ghost]{border-color:transparent;background:transparent;color:var(--foreground)}.ui-button:hover{transform:translateY(-1px);border-color:rgba(28,26,24,.28)}.ui-button:active{transform:translateY(0)}.app-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);grid-gap:24px;gap:24px;padding:28px 32px 40px;flex:1 1}.sidebar{display:flex;flex-direction:column;gap:18px}.ui-card{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:floatIn .6s ease both}.ui-card-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ui-card-title{margin:0;font-size:1.08rem}.ui-card-description{margin:0;color:var(--muted-foreground);font-size:.85rem}.ui-card-content{display:flex;flex-direction:column;gap:12px;font-size:.9rem;color:var(--foreground)}.ui-card+.ui-card{animation-delay:.08s}.status-grid{display:grid;grid-gap:10px;gap:10px}.status-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#b3b3b3}.status-dot.ok{background:#37a370}.status-dot.warn{background:#e29f2a}.status-dot.down{background:#e0504e}.ui-field{position:relative;display:flex;flex-direction:column;gap:8px}.ui-label{font-weight:600;font-size:.85rem}.ui-input,.ui-label{color:var(--foreground)}.ui-input{border-radius:12px;border:1px solid var(--input);padding:10px 12px;font-size:.95rem;font-family:var(--font-display),sans-serif;background:hsla(0,0%,100%,.95)}.ui-input:focus{outline:2px solid var(--ring);border-color:rgba(255,122,89,.5)}.ui-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--popover);border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 32px rgba(35,30,26,.2);max-height:240px;overflow:auto;z-index:10}.ui-command-item{width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;border-radius:10px;display:flex;flex-direction:column;gap:4px;cursor:pointer;font-family:var(--font-display),sans-serif}.ui-command-item:hover{background:rgba(255,122,89,.12)}.option-label{font-size:.95rem}.option-hint{font-size:.8rem;color:var(--muted-foreground)}.ui-field-footer{margin:0;font-size:.78rem;color:var(--muted-foreground)}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.78rem;border:1px solid transparent;background:rgba(28,26,24,.08)}.ui-badge[data-variant=success]{background:rgba(55,163,112,.15);border-color:rgba(55,163,112,.4);color:#2b6b4c}.ui-badge[data-variant=warning]{background:rgba(226,159,42,.18);border-color:rgba(226,159,42,.5);color:#8d5a12}.ui-badge[data-variant=destructive]{background:rgba(224,80,78,.16);border-color:rgba(224,80,78,.5);color:#8b2a28}.ui-badge[data-variant=outline]{border-color:var(--border);background:transparent}.ui-muted{color:var(--muted-foreground);font-size:.85rem}.cta{margin-top:6px;width:100%}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.route-summary{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:12px;background:var(--secondary);border:1px solid rgba(58,125,124,.3);margin-top:10px;font-size:.9rem}.route-steps{max-height:140px;overflow:auto;font-size:.85rem;color:var(--ink-soft)}.map-shell{position:relative;border-radius:calc(var(--radius) + 8px);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:#fef9f3;min-height:520px}.map{inset:0}.map,.map-info{position:absolute}.map-info{bottom:16px;left:16px;padding:10px 12px;font-size:.82rem;border:1px solid var(--border);box-shadow:0 12px 28px rgba(20,18,16,.16)}.maplibregl-ctrl-attrib{opacity:.55;font-size:.7rem;background:hsla(0,0%,100%,.75);border-radius:10px;padding:2px 6px}.maplibregl-ctrl-attrib:hover{opacity:.9}.marker{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 6px 14px rgba(20,18,16,.25)}.marker-search{background:var(--accent-2)}.marker-from{background:var(--accent)}.marker-to{background:#2f4858}.marker-reverse{background:var(--accent-3)}.mono{font-family:var(--font-mono),"Courier New",monospace}.footer{padding:0 32px 24px;color:var(--ink-soft);font-size:.85rem}@keyframes floatIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:960px){.app-header{padding:20px 20px 0;flex-direction:column;align-items:flex-start}.app-grid{grid-template-columns:1fr;padding:20px}.map-shell{min-height:420px}.inline-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}