:root{--la-coral: #ff7a5c;--la-coral-strong: #f4623a;--la-coral-soft: #ffe7dd;--la-blue: #2d5c8f;--la-navy: #1f3a5f;--la-coral-light: #ff9277;--la-ink-on-coral: #1f1f28;--la-coral-text: #a64d39;--la-ink: #2a2a35;--la-muted: #6b6b76;--la-faint: #9a9aa3;--la-line: #ececef;--la-cream: #fff6f0;--la-bg: #ffffff;--la-moss: #6f8a5c;--la-moss-deep: #556c47;--la-moss-wash: #eef3e6;--la-sun: #eeaa3d;--la-sun-deep: #b9791b;--la-sun-wash: #fdf1dc;--la-blue-wash: #eaf0f6;--la-radius-sm: 10px;--la-radius: 16px;--la-radius-lg: 22px;--la-shadow: 0 6px 24px rgba(31, 58, 95, .1);--la-shadow-coral: 0 6px 16px rgba(244, 98, 58, .28);--la-font-display: "Quicksand", system-ui, sans-serif;--la-font-body: "Nunito", system-ui, sans-serif;--teal: var(--la-coral);--teal-600: var(--la-coral-strong);--teal-50: var(--la-coral-soft);--coral: var(--la-blue);--coral-600: var(--la-navy);--bg: var(--la-cream);--surface: var(--la-bg);--ink: var(--la-ink);--ink-soft: var(--la-muted);--muted: var(--la-faint);--line: var(--la-line);--success: #2e9e6b;--warning: #e0a23b;--danger: #d6493f;--radius-sm: var(--la-radius-sm);--radius: var(--la-radius);--radius-lg: var(--la-radius-lg);--shadow-sm: 0 1px 2px rgba(31, 58, 95, .06);--shadow: var(--la-shadow);--shadow-lg: 0 16px 40px rgba(31, 58, 95, .18);--shadow-coral: var(--la-shadow-coral);--font-display: var(--la-font-display);--font-body: var(--la-font-body);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{overflow-x:hidden}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;overscroll-behavior-x:none}h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:1rem}:focus-visible{outline:2px solid var(--la-coral);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:.975rem;white-space:nowrap;transition:transform .06s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--teal);color:var(--la-ink-on-coral);box-shadow:var(--shadow-coral)}.btn-primary:hover{background:var(--teal-600)}.btn-accent{background:var(--teal);color:var(--la-ink-on-coral);box-shadow:var(--shadow-coral)}.btn-accent:hover{background:var(--teal-600)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{background:var(--teal-50);border-color:var(--teal-50)}.btn-secondary{background:var(--surface);color:var(--la-coral-text);border:1.5px solid var(--la-coral-text)}.btn-secondary:hover{background:var(--teal-50)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:.825rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);transition:border-color .15s ease}.field textarea{height:auto;padding:12px 14px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--la-coral-text);box-shadow:0 0 0 3px #ff7a5c40}.combobox__input-container,.combobox__input{caret-color:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;background:transparent!important}.field.field-floating input,.field.field-floating select,.field.field-floating textarea{height:52px}.field.field-floating textarea{height:auto;padding:14px}.field.field-floating input::placeholder,.field.field-floating textarea::placeholder{color:transparent}.field.field-floating label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:.975rem;color:var(--muted);font-weight:500;pointer-events:none;transition:top .15s ease,transform .15s ease,color .15s ease,background .15s ease;transform-origin:left center;white-space:nowrap}.field.field-floating.field-has-icon input,.field.field-floating.field-has-icon select{padding-left:40px}.field.field-floating.field-has-icon label{left:40px}.field.field-floating input:focus~label,.field.field-floating input:not(:placeholder-shown)~label,.field.field-floating textarea:focus~label,.field.field-floating textarea:not(:placeholder-shown)~label,.field.field-floating select~label{top:0;transform:translateY(-50%) scale(.8);font-weight:700;background:var(--surface);padding:0 5px;margin-left:-5px}.field.field-floating.field-has-icon input:focus~label,.field.field-floating.field-has-icon input:not(:placeholder-shown)~label,.field.field-floating.field-has-icon textarea:focus~label,.field.field-floating.field-has-icon textarea:not(:placeholder-shown)~label,.field.field-floating.field-has-icon select~label{left:14px}.field.field-floating input:focus~label,.field.field-floating textarea:focus~label,.field.field-floating select:focus~label{color:var(--la-coral-text)}.field-icon-glyph{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-soft);pointer-events:none}.field.field-invalid input,.field.field-invalid select,.field.field-invalid textarea{border-color:var(--danger);padding-right:38px}.field.field-invalid input:focus,.field.field-invalid select:focus,.field.field-invalid textarea:focus{box-shadow:0 0 0 3px #d6493f33}.field-error-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--danger);pointer-events:none}.field.field-invalid textarea~.field-error-icon{top:16px;transform:none}.field-error-text{color:var(--danger);font-size:.78rem;margin-top:2px}.pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:600}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.la-loading-ring{position:relative;width:52px;height:52px;display:grid;place-items:center;flex-shrink:0}.la-loading-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--la-coral-soft);border-top-color:var(--la-coral);animation:la-loading-spin .9s linear infinite}.la-loading-symbol{width:26px;height:26px;animation:la-loading-pulse 1.6s ease-in-out infinite}@keyframes la-loading-spin{to{transform:rotate(360deg)}}@keyframes la-loading-pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.05);opacity:1}}.toast-in{animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.skeleton{background:var(--line);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.route-connector{transform-origin:top;animation:route-connector-grow .35s ease-out backwards}@keyframes route-connector-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.route-origin-marker{position:relative}.route-origin-marker:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--teal);animation:route-origin-pulse 2.2s ease-out infinite}@keyframes route-origin-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.4);opacity:0}}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.discovery-card{flex:0 0 calc((100% - 12px)/2)}@media(min-width:640px){.discovery-card{flex:0 0 calc((100% - 2 * 16px) / 3)}}@media(min-width:900px){.discovery-card{flex:0 0 calc((100% - 48px)/4)}}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--slider-accent, var(--teal));border:2px solid #fff;box-shadow:0 1px 3px #00000040;cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--slider-accent, var(--teal));border:2px solid #fff;box-shadow:0 1px 3px #00000040;cursor:pointer}
