:root{--bg:#0e1526;--bg-soft:#111a30;--panel:#161f38;--panel-alt:#1c2749;--border:#2b3658;--border-soft:#212c4d;--text:#f1eee4;--text-dim:#97a0be;--text-faint:#5c6690;--gold:#e8a23d;--gold-dim:#8a6a35;--teal:#4fd9c7;--rose:#e8607a;--green:#8bd17c;--bar-accent:#9b7fe8;--bus:#8b9cf5;--walk:#d98c5f;--map-city:#3fb6f0;--map-home:#ff9640;--map-bucket:#e8b84b;--paper:var(--bg);--surface:var(--panel);--ink:var(--text);--muted:var(--text-dim);--line:var(--border-soft);--font-display:"Space Grotesk",Inter,sans-serif;--font-body:Inter,ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--shadow:0 8px 30px #00000059;color:var(--text);background:var(--bg);font-family:var(--font-body)}:root[data-theme=light]{--bg:#f5f0e8;--bg-soft:#ede5d9;--panel:#fffdfa;--panel-alt:#f2ece3;--border:#d8cfc2;--border-soft:#e6ddd1;--text:#17231f;--text-dim:#5f6a64;--text-faint:#8a928c;--gold:#a8690f;--gold-dim:#8b6a32;--teal:#0c7a6d;--rose:#b8324f;--green:#357a2c;--bar-accent:#6d4fc7;--bus:#4356c7;--walk:#b5652f;--paper:var(--bg);--surface:var(--panel);--ink:var(--text);--muted:var(--text-dim);--line:var(--border-soft);--shadow:0 8px 30px #3023121f}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 0,#131c34 0,var(--bg) 46%);min-width:320px;color:var(--text);margin:0}button,input,select,textarea{font:inherit}#root{width:min(1120px,100% - 40px);margin:0 auto}@media (width<=720px){#root{width:calc(100% - 24px)}body{overflow-x:hidden}}.app-shell{min-height:100vh}.app-toast{background:var(--panel-alt);border:1px solid var(--gold-dim);bottom:calc(22px + env(safe-area-inset-bottom));box-shadow:var(--shadow);color:var(--text);z-index:40;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;max-width:min(420px,100vw - 32px);padding:11px 18px;font-size:12.5px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.app-toast.success{background:color-mix(in srgb, var(--green) 16%, var(--panel-alt));border-color:var(--green);color:var(--text);font-weight:600}.app-toast.error{background:color-mix(in srgb, var(--rose) 18%, var(--panel-alt));border-color:var(--rose);color:var(--text);font-weight:600}.app-toast button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.welcome-card{max-width:620px;margin:13vh auto;padding:52px}.welcome-copy,.dashboard-intro>div>p,.panel-copy{color:var(--muted);line-height:1.65}.welcome-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.trailyx-logo{align-items:center;gap:10px;display:inline-flex}.trailyx-logo-mark{flex:none;display:block}.trailyx-logo-wordmark{color:var(--text);font:800 28px/1 var(--font-display);letter-spacing:-.025em;text-transform:none}.trailyx-logo-wordmark span{color:var(--gold)}.brand-claim{color:var(--gold);font:700 10px var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0}.welcome-logo{margin-bottom:10px}.welcome-logo .trailyx-logo-wordmark{font-size:38px}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px 0;display:grid}.wordmark{color:var(--ink);letter-spacing:.16em;font-size:15px;font-weight:800;text-decoration:none}nav{gap:20px;display:flex}nav a{color:var(--muted);font-size:14px;text-decoration:none}nav a.active,nav a:hover{color:var(--ink)}.topbar>:last-child{justify-self:end}.dashboard-intro{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.dashboard-intro h1,.welcome-card h1{letter-spacing:-.05em;margin:8px 0 14px;font-family:Georgia,serif;font-size:clamp(38px,6vw,64px);line-height:1}.dashboard-intro>div>p{max-width:560px}.eyebrow{color:var(--gold);letter-spacing:.12em;margin:0;font-size:11px;font-weight:800}.button{cursor:pointer;font:inherit;border:0;border-radius:999px;padding:12px 18px;font-weight:700}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover:not(:disabled){background:var(--gold)}.button-secondary{border:1px solid var(--line);color:var(--ink);background:0 0}.button:disabled{cursor:default;opacity:.72}.button span{opacity:.7;font-size:10px;font-weight:600;display:block}.year-card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:24px}.year-card{background:linear-gradient(135deg, var(--surface), #f0e8dd);margin-bottom:20px;padding:32px}.year-number{color:var(--ink);letter-spacing:-.08em;margin:20px 0 10px;font-family:Georgia,serif;font-size:clamp(60px,10vw,104px);line-height:.9}.year-number span{color:var(--gold);letter-spacing:0;font-size:.35em}.year-description{color:var(--muted);max-width:520px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:600px;margin-top:28px;display:grid}.kpi-grid div{border-top:1px solid var(--line);padding-top:10px}.kpi-grid strong{color:var(--ink);font-size:22px;display:block}.kpi-grid span{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.panel{min-height:190px;padding:28px}.panel-wide{grid-column:1/-1}.panel-heading{justify-content:space-between;gap:16px;display:flex}h2{color:var(--ink);letter-spacing:-.03em;margin:8px 0 10px;font-family:Georgia,serif;font-size:27px}.status-chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-self:start;padding:6px 9px;font-size:11px}.map-placeholder{height:54px;color:var(--gold);align-items:center;gap:6px;margin:18px 0;display:flex}.map-placeholder i{border-top:1px dashed var(--gold);flex:1;display:block}.map-placeholder span{font-size:22px}.highlight-row{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.highlight-row span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:12px}.connection-row{color:var(--muted);align-items:center;gap:12px;margin-top:24px;font-size:13px;display:flex}.text-button{color:var(--muted);cursor:pointer;font:inherit;text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration:underline}.text-button:hover{color:var(--ink)}@media (width<=720px){.topbar{grid-template-columns:1fr auto;gap:16px}.topbar nav{scrollbar-width:none;grid-column:1/-1;gap:8px;width:100%;padding:2px 0 6px;display:flex;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.topbar nav button{background:var(--paper);border:1px solid var(--line);border-radius:999px;flex:none;padding:9px 13px}.topbar nav button.active{border-color:var(--gold);color:var(--gold)}.dashboard{padding:36px 0 52px}.dashboard-intro{flex-direction:column;align-items:start}.dashboard-grid{grid-template-columns:1fr}.panel-wide{grid-column:auto}.welcome-card{margin:6vh auto;padding:36px 0}}.topbar button{cursor:pointer;background:0 0;border:0;padding:0}.topbar nav button{color:var(--muted);font:inherit;font-size:14px}.topbar nav button.active,.topbar nav button:hover{color:var(--ink)}.topbar-settings-label{align-items:center;gap:6px;display:inline-flex}.notification-dot{background:var(--rose);border:2px solid var(--bg);box-shadow:0 0 0 2px color-mix(in srgb, var(--rose) 24%, transparent);border-radius:50%;width:8px;height:8px;display:block}.homebase-status-dot{border:2px solid var(--panel);vertical-align:middle;background:#43d17c;border-radius:50%;width:9px;height:9px;margin-left:9px;display:inline-block;box-shadow:0 0 0 3px #43d17c38}.homebase-status-dot.error{background:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb, var(--rose) 24%, transparent)}.trip-form-page{max-width:820px;padding:46px 0 72px}.trip-save-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb, var(--panel) 94%, transparent);text-align:center;z-index:80;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.trip-save-overlay strong{font:750 clamp(21px, 4vw, 30px) var(--font-display);margin-top:16px}.trip-save-overlay small{color:var(--text-dim);margin-top:7px;line-height:1.5}.trip-save-spinner{border:3px solid color-mix(in srgb, var(--gold) 24%, var(--line));border-top-color:var(--gold);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite trip-save-spin}@keyframes trip-save-spin{to{transform:rotate(360deg)}}.form-section-hint{color:var(--muted);margin:0 0 14px}.form-section-heading-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.form-section-heading-row h2{margin:0}.add-onward-stage{width:100%;margin:0}.onward-stage-fieldset{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.saved-connection-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.saved-connection-summary>span{gap:3px;display:grid}.saved-connection-summary small{color:var(--muted)}.editing-stops-list{gap:12px;display:grid}.editing-stop-row{grid-template-columns:28px minmax(0,1.4fr) minmax(150px,.8fr) auto;align-items:end;gap:12px;display:grid}.editing-stop-remove{background:color-mix(in srgb, var(--rose) 9%, transparent);border:1px solid color-mix(in srgb, var(--rose) 35%, var(--line));color:var(--rose);cursor:pointer;font:700 13px var(--font-ui);border-radius:10px;align-items:center;gap:5px;min-height:42px;padding:8px 11px;display:inline-flex}.editing-stop-remove:hover{background:color-mix(in srgb, var(--rose) 15%, transparent)}.editing-stop-number{background:var(--panel-alt);color:var(--muted);border-radius:50%;justify-content:center;align-self:center;align-items:center;width:28px;height:28px;display:flex}.place-suggestion-field{position:relative}.place-suggestion-list{background:var(--panel);border:1px solid var(--line);z-index:20;border-radius:12px;max-height:260px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #040a1847}.place-suggestion-list button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:9px 10px;display:grid}.place-suggestion-list button:hover{background:var(--panel-alt)}.place-suggestion-list small{color:var(--muted)}@media (width<=620px){.editing-stop-row{grid-template-columns:28px 1fr}.editing-stop-row>label{grid-column:2}.editing-stop-remove{grid-column:2;justify-self:start}}.trip-detail-page{max-width:1120px;padding:46px 0 72px}.trips-page,.map-page{padding:46px 0 72px}.map-page>h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.map-stage{border:1px solid var(--line);background:linear-gradient(145deg,#dfe9e6,#f6f1e9);border-radius:24px;min-height:330px;padding:22px;position:relative}.map-stage p{color:var(--muted);max-width:410px;position:absolute;bottom:20px;left:22px}.map-legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.map-legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.legend-home{background:var(--gold)}.map-grid-art{justify-content:center;align-items:center;gap:8px;margin-top:90px;display:flex}.map-grid-art b{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:9px 12px;font-size:13px}.map-grid-art i{border-top:2px dashed var(--gold);width:30%;max-width:280px}.map-filter-row{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.map-filter-row button{background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 11px}.map-filter-row button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.route-list{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.route-list h2{margin-top:0}.route-item{border-top:1px solid var(--line);grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.route-item span{color:var(--gold)}.route-item em{color:var(--muted);font-size:12px;font-style:normal}.map-hub{gap:18px;display:grid}.map-hero{border:1px solid var(--line);background:var(--panel);border-radius:24px;overflow:hidden}.map-hero .world-map-wrap{border:0;border-radius:0}.map-summary{border-top:1px solid var(--line);color:var(--muted);gap:18px;padding:13px 18px;font-size:13px;display:flex}.map-summary b{color:var(--ink);margin-right:4px;font-size:17px}.map-controls{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 14px;font-size:13px;display:flex}.map-controls>span{align-items:center;gap:6px;margin-right:4px;display:flex}.map-controls button,.map-switch button{font:inherit;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 11px}.map-controls button.active,.map-switch button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.map-hub-lower{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:18px;display:grid}.map-route-section,.map-side{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:20px}.map-route-section h2,.map-side h2{margin:4px 0}.map-route-list{margin-top:14px}.map-route-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px 0;display:grid}.map-route-row small{color:var(--muted)}.map-mode-dot{background:color-mix(in srgb, var(--gold) 15%, transparent);width:30px;height:30px;color:var(--gold);border-radius:50%;place-items:center;display:grid}.map-switch{gap:6px;margin-bottom:14px;display:flex}.map-list{max-height:388px;overflow:auto}.map-place-row{border-top:1px solid var(--line);grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:12px 0;display:grid}.map-place-row div{gap:3px;display:grid}.map-place-row small,.map-place-row em{color:var(--muted);font-size:11px;font-style:normal}.map-place-pin{color:var(--teal)}.map-empty{color:var(--muted);padding:15px 0;font-size:13px}@media (width<=760px){.world-map-canvas{height:360px}.map-hub-lower{grid-template-columns:1fr}.map-summary{gap:10px;font-size:12px}.map-controls{align-items:flex-start}.map-route-section,.map-side{padding:16px}}.map-side-wide{padding:20px}.map-place-row{appearance:none;border:0;border-top:1px solid var(--line);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;grid-template-columns:38px 1fr auto;width:100%}.map-place-row:hover{background:color-mix(in srgb, var(--gold) 7%, transparent)}.map-place-row>span:nth-child(2){gap:3px;display:grid}.map-city-badge{border-radius:8px;place-items:center;width:30px;height:30px;font-size:19px;display:grid;position:relative;overflow:hidden}.map-city-badge>span{line-height:1}.map-city-badge img{object-fit:contain;background:var(--panel);width:28px;height:28px;position:absolute;inset:1px}.map-country-flag{font-size:24px;line-height:1}.map-city-trips{gap:4px;display:grid}.map-close-selection{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:25px}.map-trip-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr;align-items:center;gap:11px;padding:13px 0;display:grid}.map-trip-row div{gap:3px;display:grid}.map-trip-row small{color:var(--muted);font-size:12px}.map-trip-open{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;width:100%}.map-trip-open:hover{background:color-mix(in srgb, var(--gold) 7%, transparent)}.map-trip-open>b{color:var(--gold);font-size:22px;font-weight:400}@media (width<=760px){.map-side-wide{padding:16px}}.discover-page{padding:46px 0 72px}.discover-page>h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.discover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.discover-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;min-height:210px;padding:24px}.discover-card p:not(.eyebrow){color:var(--muted);line-height:1.6}.level-card{background:linear-gradient(145deg, var(--surface), #f0e8dd)}.level-card>strong{color:var(--ink);margin:20px 0 10px;font:700 44px Georgia,serif;display:block}.level-card small{color:var(--gold);font-size:.4em}.progress-track{background:var(--line);border-radius:99px;height:7px;overflow:hidden}.progress-track i{background:var(--gold);width:8%;height:100%;display:block}.profile-page{padding:46px 0 72px}.profile-page>h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0 22px;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.profile-hero{background:linear-gradient(145deg, var(--surface), #f0e8dd);border:1px solid var(--line);border-radius:20px;align-items:center;gap:18px;margin-bottom:18px;padding:24px;display:flex}.profile-avatar{background:var(--ink);color:var(--paper);border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font:700 28px Georgia,serif;display:flex}.profile-hero h2{margin:0 0 6px}.profile-hero p{color:var(--muted);margin:0}.settings-page{max-width:820px;padding:46px 0 72px}.settings-page>h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.settings-list{gap:10px;display:grid}.settings-list button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:15px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.settings-list button:hover{border-color:var(--gold)}.settings-list span{gap:5px;display:grid}.settings-list small{color:var(--muted)}.settings-list b{color:var(--gold)}.settings-list .settings-unread-badge{background:var(--rose);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.theme-settings{background:var(--surface);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:20px;display:flex}.theme-settings h2{margin:5px 0}.theme-settings p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.theme-choice{gap:6px;display:flex}.theme-choice button{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:8px 12px}.theme-choice button.active{background:var(--gold);border-color:var(--gold);color:#17120a;font-weight:700}.trips-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.trips-heading h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.trips-heading p:not(.eyebrow){color:var(--muted);margin:0}.empty-trips{background:var(--surface);border:1px dashed var(--line);text-align:center;border-radius:18px;padding:32px}.empty-trips p,.trip-load-error p,.loading-copy{color:var(--muted)}.trip-load-error{background:color-mix(in srgb, var(--rose) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--rose) 55%, var(--line));border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin:24px 0;padding:24px;display:flex}.trip-load-error h2,.trip-load-error p{margin:0}.trip-load-error p{margin-top:6px}@media (width<=720px){.trip-load-error{flex-direction:column;align-items:stretch}}.trip-list{gap:12px;display:grid}.trip-list-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:18px;justify-content:space-between;align-items:center;width:100%;padding:22px;display:flex}.trip-list-cover{object-fit:cover;border-radius:12px;width:112px;height:74px}.trip-list-card:hover{border-color:var(--gold);transform:translateY(-1px)}.trip-list-card h2{margin-top:10px}.trip-list-card p{color:var(--muted);margin:0}.arrow{color:var(--gold);font-size:22px}.planned-trips-section,.all-trips-section{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin-top:20px;padding:24px}.active-trips-section{background:color-mix(in srgb, var(--teal) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--teal) 42%, var(--line));border-radius:22px;margin-top:20px;padding:24px}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-title h2{font:700 20px var(--font-display);letter-spacing:0;margin:0}.section-title>span{color:var(--text-faint);font-size:12px}.planned-empty{color:var(--muted);margin:0}.planned-trip-list{gap:10px;display:grid}.planned-trip-card,.previous-trip-card{background:var(--panel-alt);border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;border-radius:16px;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:14px;display:grid}.planned-trip-card:hover,.previous-trip-card:hover,.latest-trip-card:hover{border-color:var(--gold);transform:translateY(-1px)}.planned-trip-card img:not(.city-emblem):not(.country-flag),.previous-trip-card img:not(.city-emblem):not(.country-flag),.trip-thumbnail-placeholder{object-fit:cover;border-radius:12px;width:104px;height:86px}.trip-thumbnail-placeholder{background:linear-gradient(145deg, var(--panel-alt), var(--panel));color:var(--gold);grid-template-columns:1fr 1fr;justify-content:center;align-items:center;padding:10px 7px;display:grid;position:relative;overflow:hidden}.trip-thumbnail-placeholder:before{border-top:1px dashed color-mix(in srgb, var(--gold) 70%, transparent);content:"";position:absolute;top:42px;left:14px;right:14px}.trip-thumbnail-placeholder:after{color:color-mix(in srgb, var(--text) 62%, transparent);content:"TRAILYX";font-family:var(--font-mono);letter-spacing:.15em;text-align:center;font-size:7px;font-weight:800;position:absolute;bottom:7px;left:0;right:0}.trip-thumbnail-placeholder b{color:var(--text);font-family:var(--font-display);text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-size:10px;position:relative;overflow:hidden}.trip-thumbnail-placeholder b:first-child{grid-column:1;align-self:start}.trip-thumbnail-placeholder b:last-child{grid-column:2;align-self:start}.trip-thumbnail-placeholder i{background:var(--panel);border:1px solid var(--line);color:var(--gold);z-index:2;border-radius:50%;grid-area:1/1/auto/-1;justify-content:center;justify-self:center;align-items:center;width:27px;height:27px;display:flex}.trip-thumbnail-placeholder svg{z-index:1;position:relative}.planned-trip-copy>small,.previous-trip-card>div>small{color:var(--text-dim);align-items:center;gap:5px;font-size:11px;display:flex}.planned-trip-copy p,.previous-trip-card p{color:var(--muted);margin:8px 0 0;font-size:12px}.planned-trip-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.planned-countdown{background:color-mix(in srgb, var(--green) 20%, var(--panel));border:1px solid color-mix(in srgb, var(--green) 65%, var(--line));color:var(--green);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:10px;display:inline-flex}.active-trip-card{border-color:color-mix(in srgb, var(--teal) 48%, var(--line))}.active-trip-badge{background:color-mix(in srgb, var(--teal) 20%, var(--panel));border:1px solid color-mix(in srgb, var(--teal) 65%, var(--line));color:var(--teal);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:10px;display:inline-flex}.show-more-planned{border:1px dashed var(--line);color:var(--gold);cursor:pointer;font:700 12px var(--font-display);background:0 0;border-radius:10px;width:100%;margin-top:12px;padding:10px 13px}.show-more-planned:hover{background:color-mix(in srgb, var(--gold) 10%, transparent);border-color:var(--gold)}.trip-card-route{grid-template-columns:minmax(0,1fr) minmax(90px,1.2fr) minmax(0,1fr);align-items:center;gap:12px;margin-top:9px;display:grid}.trip-card-route>div{gap:3px;min-width:0;display:grid}.trip-card-route>div:last-child{text-align:right}.trip-card-route strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.trip-card-route small{color:var(--text-faint);font-size:11px}.trip-card-route .route-country{align-items:center;gap:6px;min-width:0;display:flex}.trip-card-route>div:last-child .route-country{justify-content:flex-end}.trip-card-route .route-country>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trip-card-route .route-country .country-flag{flex:0 0 20px}.planned-trip-card .route-country .country-flag,.latest-trip-card .route-country .country-flag{opacity:1;visibility:visible;display:inline-block}.trip-card-route>i{border-top:1px dashed color-mix(in srgb, var(--gold) 60%, var(--line));justify-content:center;align-items:center;font-style:normal;display:flex}.trip-card-route .transport-icon{background:var(--panel);border:1px solid var(--line);color:var(--gold);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-top:-15px;display:flex}.trip-card-transport-icons{align-items:center;display:inline-flex}.trip-card-transport-icons .trip-transport-icons{gap:0}.trip-card-transport-icons svg{background:var(--panel);border:1px solid var(--line);box-sizing:content-box;color:var(--gold);border-radius:50%;width:18px;height:18px;margin-top:-15px;padding:5px}.trip-card-transport-icons svg+svg{margin-left:-8px}.trip-search{background:var(--paper);border:1px solid var(--line);color:var(--text-faint);border-radius:12px;align-items:center;gap:10px;padding:0 13px;display:flex}.trip-search:focus-within{border-color:var(--gold)}.trip-search input{color:var(--text);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:13px 0}.trips-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:20px;display:grid}.trips-toolbar .trip-sort-row{margin:0}.trip-sort-row{color:var(--muted);align-items:center;gap:10px;margin:18px 0;font-size:12px;display:flex}.trip-sort-row select{background:var(--paper);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:10px;padding:9px 10px}.latest-trip-card{background-color:var(--panel-alt);border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background-position:50%;background-size:cover;border-radius:20px;width:100%;min-height:328px;margin-bottom:18px;padding:18px;display:grid;position:relative;overflow:hidden}.latest-trip-card>.trip-card-route{z-index:1;align-self:end;margin-bottom:98px;position:relative}.latest-trip-card .trip-card-route strong{color:#fffdf8;font:700 26px var(--font-display)}.latest-trip-card .trip-card-route small{color:#e8e3d7}.latest-trip-card .trip-card-route .transport-icon{color:var(--gold);background:#101a38}.latest-date{color:#fffdf8;z-index:1;background:#0d162fcc;border-radius:999px;place-self:start;gap:7px;padding:8px 11px;font-size:12px;display:inline-flex;position:relative}.latest-metrics{background:color-mix(in srgb, var(--panel) 95%, transparent);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.latest-metrics>span{border-right:1px solid var(--line);color:var(--text);text-align:center;place-items:center;gap:4px;min-height:79px;padding:9px;font-size:14px;display:grid}.latest-metrics>span:last-child{border-right:0}.latest-metrics svg{color:var(--gold)}.latest-metrics small{color:var(--text-faint);font-size:10px}.previous-trips-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.previous-trip-card{grid-template-columns:90px minmax(0,1fr) auto}.previous-trip-card img:not(.city-emblem):not(.country-flag),.previous-trip-card .trip-thumbnail-placeholder{width:90px;height:74px}.previous-trip-card .trip-card-route{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);gap:7px}.previous-trip-card .trip-card-route strong{font-size:14px}.previous-trips-grid .previous-trip-card .route-country{min-height:14px}.previous-trips-grid .previous-trip-card .route-country>span:last-child{display:none}.previous-trips-grid .previous-trip-card .route-country .country-flag{flex-basis:20px}.trip-form-page h1,.trip-detail-page h1{color:var(--ink);letter-spacing:-.05em;margin:10px 0 14px;font:700 clamp(38px,6vw,64px)/1 Georgia,serif}.form-intro{color:var(--muted);max-width:600px;margin-bottom:30px;line-height:1.6}.back-button{background:var(--panel-alt);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:700 13px var(--font-display);border-radius:999px;align-items:center;gap:8px;margin:0 0 24px;padding:9px 13px;text-decoration:none;display:inline-flex}.back-button:hover{border-color:var(--gold);color:var(--gold)}.back-button:disabled{cursor:default;opacity:.38}.trip-detail-navigation{justify-content:space-between;align-items:center;gap:12px;display:flex}.trip-detail-navigation>div{gap:8px;display:flex}.detail-nav-mobile-label{display:none}@media (width<=640px){.trip-detail-navigation{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;margin-bottom:14px;display:grid}.trip-detail-navigation>div{display:contents}.trip-detail-navigation .back-button{justify-content:center;min-width:0;margin:0;padding:9px 5px;font-size:11px}.detail-nav-previous{order:1}.detail-nav-back{order:2}.detail-nav-next{order:3}.detail-nav-desktop-label{display:none}.detail-nav-mobile-label{display:inline}}.trip-form{gap:18px;display:grid}.trip-form fieldset{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:0;padding:22px}.trip-form legend{color:var(--ink);padding:0 5px;font:700 20px Georgia,serif}.trip-form fieldset>h2{color:var(--ink);font:700 20px var(--font-display);margin:0 0 22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-place-grid{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.trip-form label,.trip-form .form-control-group{color:var(--muted);gap:7px;font-size:13px;display:grid}.form-wide{grid-column:1/-1}.trip-form label small{color:var(--text-faint);font-size:11px;line-height:1.4}.date-range-input{background:var(--paper);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.date-range-input>span{gap:4px;display:grid}.date-range-input small{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.date-range-input i{color:var(--gold);font-size:18px;font-style:normal}.date-range-input input,.trip-form .date-range-input input{background:0 0;border:0;border-radius:0;padding:0}.date-picker-wrap{position:relative}.date-range-button{background:var(--paper);border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;padding:11px 12px;display:grid}.date-range-button:hover{border-color:var(--gold)}.date-range-button span{gap:4px;display:grid}.date-range-button small{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.date-range-button b{color:var(--text);font-size:13px}.date-range-button i{color:var(--gold);font-size:18px;font-style:normal}.calendar-popover{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:16px;width:min(340px,100%);margin-top:8px;padding:14px;position:absolute;top:100%;left:0}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-heading button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:24px;line-height:1}.calendar-heading strong{color:var(--text);font-family:var(--font-display);font-size:14px}.calendar-period{align-items:center;gap:7px;display:flex}.calendar-period select{appearance:auto;background:var(--paper);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;width:auto;min-height:34px;padding:4px 7px;font-size:13px;font-weight:700}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:var(--text-faint);font-family:var(--font-mono);margin-bottom:5px;font-size:10px}.calendar-days{gap:3px}.calendar-days button{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;height:34px;padding:0}.calendar-days button:hover{background:var(--panel-alt)}.calendar-days button.between{background:color-mix(in srgb, var(--gold) 18%, transparent);border-radius:0}.calendar-days button.start,.calendar-days button.end{background:var(--gold);color:#191304;font-weight:800}.calendar-days button.today:not(.start):not(.end){box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold);font-weight:700}.calendar-popover p{color:var(--text-dim);text-align:center;margin:12px 0 0;font-size:11px}.calendar-apply{display:none}.trip-form input,.trip-form select,.trip-form textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:11px 12px}.place-swap{background:var(--panel-alt);border:1px solid var(--line);color:var(--gold);cursor:pointer;border-radius:50%;align-self:end;width:40px;height:40px;margin:0 -4px 2px;font-size:20px}.place-swap:hover{border-color:var(--gold);transition:transform .22s;transform:rotate(180deg)}.trip-form input:focus,.trip-form select:focus,.trip-form textarea:focus{border-color:var(--gold);outline:2px solid color-mix(in srgb, var(--gold) 22%, transparent)}.trip-form textarea{resize:vertical}.connection-search-trigger{margin-top:18px}.route-calculate{border:1px dashed var(--gold);color:var(--gold);cursor:pointer;font:700 11px var(--font-display);background:0 0;border-radius:9px;align-self:start;margin-top:3px;padding:8px 10px}.route-calculate:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 12%, transparent)}.route-calculate:disabled{cursor:wait;opacity:.65}.route-message{line-height:1.4;color:var(--text-dim)!important;font-size:11px!important}.connection-search{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.connection-search-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.connection-search h3{color:var(--ink);font-family:var(--font-display);margin:5px 0 0}.connection-search>p{color:var(--muted);margin:12px 0 16px;line-height:1.55}.station-query-fields{grid-template-columns:1fr 1fr minmax(130px,.55fr);gap:12px;margin-bottom:16px;display:grid}.station-query-fields label,.station-search-field,.station-search-field label{color:var(--text-dim);gap:6px;font-size:12px;display:grid}.station-query-fields input,.station-search-field input{background:var(--paper);border:1px solid var(--line);color:var(--text);box-sizing:border-box;font:inherit;border-radius:10px;min-height:48px;padding:10px}.via-station-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.via-dwell-field,.second-via-wrap{gap:6px;display:grid}.add-via-station{border:1px dashed var(--line);color:var(--text-dim);cursor:pointer;font:700 12px var(--font-display);text-align:left;background:0 0;border-radius:10px;align-self:start;min-height:48px;margin-top:18px;padding:10px 14px}.add-via-station:hover{border-color:var(--gold);color:var(--gold)}.remove-via-station{justify-self:start;margin-top:0}.station-suggestions{max-height:190px;overflow-y:auto}.selected-station{color:var(--teal);font-size:11px}.station-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.station-columns>div{gap:8px;display:grid}.station-columns strong{color:var(--text-dim);font-size:12px}.station-list,.journey-list{gap:7px;display:grid}.station-list button,.journey-option{background:var(--panel-alt);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:10px;padding:9px 10px}.journey-page-button{border:1px dashed var(--gold);color:var(--gold);cursor:pointer;font:700 12px var(--font-display);letter-spacing:.03em;background:0 0;border-radius:10px;padding:10px}.journey-page-button:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 10%, transparent)}.journey-page-button:disabled{cursor:wait;opacity:.65}.journey-via{font-weight:700;color:var(--gold)!important}.station-list button:hover,.station-list button.active,.journey-option:hover,.journey-option.selected{border-color:var(--gold)}.station-list button.active,.journey-option.selected{background:color-mix(in srgb, var(--gold) 12%, var(--panel-alt))}.connection-search-actions{flex-wrap:wrap;gap:9px;margin:16px 0 10px;display:flex}.connection-search-actions .button{align-self:end;min-height:42px;padding:9px 13px}.flight-route-search{background:color-mix(in srgb, var(--panel-alt) 78%, transparent);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(150px,1fr) minmax(150px,210px) auto;align-items:end;gap:14px;margin:16px 0;padding:14px;display:grid}.flight-route-search>div{gap:4px;display:grid}.flight-route-search small,.connection-search-fallback,.flight-number-search label small{color:var(--text-faint)}.flight-route-search strong{color:var(--text)}.flight-route-search label{color:var(--text-dim);gap:6px;font-size:12px;display:grid}.flight-route-search input{background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:10px;min-height:42px;padding:9px 11px}.connection-search-divider{color:var(--text-faint);text-transform:uppercase;align-items:center;gap:10px;font-size:11px;display:flex}.connection-search-divider:before,.connection-search-divider:after{background:var(--line);content:"";flex:1;height:1px}.flight-number-search label{flex:220px}.connection-search-fallback{margin:8px 0 0!important;font-size:12px!important}.connection-message{color:var(--text-dim);font-size:13px}.journey-list{margin-top:14px}.flight-results-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:430px;padding-right:5px;overflow-y:auto}.flight-results-scroll:focus-visible{outline:2px solid color-mix(in srgb, var(--gold) 55%, transparent);outline-offset:3px;border-radius:10px}.journey-option{gap:5px;display:grid}.journey-option strong{color:var(--text);font-size:14px}.journey-option span,.journey-option small{color:var(--text-dim);font-size:12px}.journey-option .journey-times{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journey-times b{color:var(--gold);font-family:var(--font-mono);font-size:12px}.journey-times i{color:var(--text-faint);font-style:normal}.direction-choice{flex-wrap:wrap;gap:16px;display:flex}.purpose-field{border-top:1px solid var(--line);gap:10px;margin-top:21px;padding-top:19px;display:grid}.purpose-field>span{color:var(--muted);font-size:13px}.purpose-field>span small{color:var(--text-faint)}.purpose-toggle{flex-wrap:wrap;gap:8px;display:flex}.purpose-toggle button{background:var(--panel-alt);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;display:flex}.purpose-toggle button:hover,.purpose-toggle button.active{border-color:var(--gold);color:var(--text)}.purpose-toggle button.active{background:color-mix(in srgb, var(--gold) 13%, var(--panel-alt))}.custom-purpose-label{max-width:360px;margin-top:3px}.direction-choice label{align-items:center;gap:7px;display:flex}.direction-choice input{accent-color:var(--ink);width:auto}.form-actions{justify-content:flex-end;gap:10px;display:flex}.form-message{color:#9b2c20;background:#fff0ee;border-radius:10px;margin:0;padding:12px}.detail-date{color:var(--muted);align-items:center;gap:7px;margin:0 0 20px;display:flex}.trip-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 14px;display:grid}.trip-summary div{background:var(--panel-alt);border:1px solid var(--line);border-radius:14px;gap:7px;padding:15px;display:grid}.trip-summary span{color:var(--text-faint);letter-spacing:.08em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.trip-summary strong{color:var(--text);font-family:var(--font-mono);font-size:16px}.success-banner{color:#215b2f;background:#e6f3e8;border-radius:12px;margin-bottom:18px;padding:13px}.detail-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:22px}.detail-card p{color:var(--muted);line-height:1.6}.trip-hero{background:radial-gradient(circle at 18% 16%, #5091a666, transparent 32%), radial-gradient(circle at 82% 78%, #e1a63e40, transparent 29%), linear-gradient(145deg, var(--panel-alt), var(--bg-soft));border:1px solid var(--line);border-radius:22px;min-height:330px;margin-bottom:18px;padding:28px;position:relative;overflow:hidden}.trip-hero:not(.has-cover):before{color:#ffffff17;content:"TRAILYX";font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(68px,13vw,180px);font-weight:800;position:absolute;top:20%;right:3%;transform:rotate(-7deg)}.trip-hero.has-cover{background-position:50%;background-size:cover}.hero-date-chip{color:#fff;background:#081227bf;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-weight:600;display:flex;position:absolute;top:28px;left:28px}.hero-share{color:#fff;cursor:pointer;background:#081227bd;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:28px;right:28px}.hero-share:hover{background:var(--gold);color:#16120a}.hero-route{grid-template-columns:minmax(120px,1fr) minmax(130px,2fr) minmax(120px,1fr);align-items:end;gap:16px;display:grid;position:absolute;bottom:32px;left:28px;right:28px}.hero-place{color:#fff;gap:3px;display:grid;position:relative}.hero-place.destination{text-align:right}.hero-place strong{font-family:var(--font-display);font-size:clamp(28px,3.4vw,43px);line-height:1}.hero-place span{color:#fffc;font-size:14px}.hero-place .hero-country{align-items:center;gap:8px;margin-top:6px;display:flex}.hero-place.destination .hero-country{justify-content:flex-end}.hero-line{align-items:center;gap:0;padding-bottom:19px;display:flex}.hero-line i{border-top:2px dashed #ffffffb3;flex:1}.hero-transport-icons,.trip-transport-icons{align-items:center;display:inline-flex}.hero-transport-icons{margin:0 7px}.hero-transport-icons .transport-icon+.transport-icon{margin-left:-9px}.trip-transport-icons{gap:4px}.trip-transport-extra{color:#fffdf8;background:#0b152ddb;border:1px solid #ffffff61;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 3px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.transport-icon{color:#c7cef3;background:#0b152ddb;border:1px solid #ffffff61;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.transport-icon.train{color:#70d3d3}.transport-icon.plane{color:#80b9ff}.transport-icon.car{color:#d1b8ff}.transport-icon.bike{color:#79d590}.transport-icon.electric-car,.inline-transport.electric-car{color:#b8e64a}.transport-icon.motorcycle,.inline-transport.motorcycle{color:#ff5fa2}.trip-detail-title{justify-content:space-between;align-items:start;gap:18px;padding:6px 4px 0;display:flex}.trip-detail-title h1{margin-bottom:12px}.inline-transport{align-items:center;gap:5px;display:inline-flex}.inline-transport.train{color:var(--teal)}.inline-transport.plane{color:#77aeff}.inline-transport.car{color:#b69aff}.inline-transport.bike{color:var(--green)}.trip-actions{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.trip-actions-bottom{border-top:1px solid var(--line);justify-content:flex-end;margin-top:28px;padding-top:20px}.trip-actions-bottom .button{align-items:center;gap:7px;display:inline-flex}.button-danger{border:1px solid var(--rose);color:var(--rose);background:0 0}.button-danger:hover{background:color-mix(in srgb, var(--rose) 12%, transparent)}.trip-detail-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.trip-detail-layout .detail-card{margin-top:0}.route-detail-card h2{margin-bottom:18px}.trip-side-card{background:var(--panel-alt);border:1px solid var(--line);border-radius:18px;padding:19px}.trip-side-card section+section{border-top:1px solid var(--line);margin-top:17px;padding-top:17px}.trip-side-route-map .leg-map-snippet{min-height:165px}.trip-side-route-map>.eyebrow{margin-bottom:11px}.trip-side-route-map>small{color:var(--text-faint);margin-top:8px;font-size:9px;line-height:1.4;display:block}.side-fact{color:var(--gold);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin-top:16px;display:grid}.side-fact>span:not(.choice-icon){color:var(--text-faint);gap:3px;min-width:0;font-size:10px;display:grid}.side-fact strong{color:var(--text);font-size:12px;font-weight:600;line-height:1.45}.leg-row{border-top:1px solid var(--line);grid-template-columns:28px 1fr auto auto;align-items:center;gap:12px;padding:14px 0;display:grid}.leg-row span{background:var(--paper);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;height:24px;font-size:12px;display:grid}.leg-row strong{align-items:center;gap:8px;display:flex}.leg-row strong svg{color:var(--gold);flex:none}.leg-row em,.leg-row small{color:var(--muted);font-size:12px;font-style:normal}.leg-detail+.leg-detail{border-top:1px solid var(--line)}.leg-detail .leg-row{border-top:0}.route-direction-heading{color:var(--gold);font:700 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin:18px 0 12px;display:flex}.route-direction-heading:after{background:color-mix(in srgb, var(--gold) 38%, var(--line));content:"";width:100%;height:1px}.route-direction-heading>div{flex:none;gap:4px;display:grid}.route-direction-heading small{color:var(--text-dim);font:500 11px var(--font-display);letter-spacing:0;text-transform:none}.route-direction-heading+.leg-detail{border-top:0}.connection-detail-card{background:var(--panel-alt);border:1px solid var(--line);border-radius:13px;margin:0 0 14px 40px;padding:15px}.leg-enrichment-card{background:var(--panel-alt);border:1px solid var(--line);border-radius:13px;gap:14px;margin:0 0 14px 40px;padding:15px;display:grid}.leg-enrichment-group{gap:13px;display:grid}.leg-enrichment-group+.leg-enrichment-group{border-top:1px solid var(--line);padding-top:14px}.leg-enrichment-group>header span{color:var(--gold);font:800 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.leg-map-block{grid-template-columns:minmax(0,1fr) 190px;gap:13px;display:grid}.leg-map-snippet{border:1px solid var(--line);border-radius:11px;min-height:150px;overflow:hidden}.leg-map-loading{color:var(--text-faint);justify-content:center;align-items:center;font-size:10px;display:flex}.leg-map-block aside{align-content:start;gap:7px;display:grid}.leg-map-block aside>small,.leg-co2>small,.leg-elevation header>span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.leg-map-block aside>span{background:var(--paper);border:1px solid var(--line);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:7px 8px;font-size:10px;display:grid}.leg-map-block aside>span i{background:var(--gold);border-radius:50%;width:6px;height:6px}.leg-map-block aside>span em{color:var(--text-faint);font:9px var(--font-mono)}.leg-map-block aside p{color:var(--text-faint);font-size:10px;line-height:1.4}.leg-weather-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.leg-weather-tile{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:11px 12px}.leg-weather-tile header{justify-content:space-between;align-items:center;display:flex}.leg-weather-tile header small{color:var(--text-faint);text-transform:uppercase;font-size:9px}.leg-weather-tile header b{font:700 10px var(--font-mono)}.leg-weather-tile>div{color:var(--gold);align-items:center;gap:9px;margin:8px 0;display:flex}.leg-weather-tile>div span{display:grid}.leg-weather-tile strong{color:var(--text);font:800 19px var(--font-mono)}.leg-weather-tile strong small{color:var(--text-faint);font-size:10px}.leg-weather-tile em{color:var(--text-dim);font-size:10px;font-style:normal}.leg-weather-tile footer{border-top:1px dashed var(--line);color:var(--text-faint);padding-top:7px;font-size:9px}.leg-weather-tile footer b{color:var(--teal)}.leg-elevation{gap:7px;display:grid}.leg-elevation header{justify-content:space-between;align-items:center;gap:12px;display:flex}.leg-elevation header div{flex-wrap:wrap;gap:12px;display:flex}.leg-elevation header small{color:var(--text-dim);font-size:9px}.leg-elevation header b{color:#8bd17c;font-family:var(--font-mono)}.leg-elevation svg{width:100%;height:62px}.leg-elevation polygon{fill:#8bd17c;opacity:.16}.leg-elevation polyline{fill:none;stroke:#8bd17c;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.leg-co2{gap:7px;display:grid}.leg-co2>div{grid-template-columns:120px 1fr 60px;align-items:center;gap:9px;display:grid}.leg-co2>div>span{color:var(--text-dim);font-size:9px}.leg-co2>div>i{background:var(--paper);border-radius:999px;height:8px;overflow:hidden}.leg-co2>div>i em{border-radius:inherit;height:100%;display:block}.leg-co2>div>b{font:10px var(--font-mono);text-align:right}.leg-co2 p{color:var(--text-faint);margin:1px 0 0;font-size:9px}.leg-route-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.leg-route-facts span{background:var(--paper);border:1px solid var(--line);border-radius:9px;gap:3px;padding:9px 10px;display:grid}.leg-route-facts small,.leg-summary>small,.leg-difficulty small,.leg-character small,.leg-calories small,.leg-condition-tile small{color:var(--text-faint);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.leg-route-facts b{font:700 12px var(--font-mono)}.leg-summary{gap:9px;display:grid}.leg-category-band{background:var(--paper);border:1px solid var(--line);border-radius:999px;height:12px;display:flex;overflow:hidden}.leg-category-band>i{border-right:2px solid var(--panel-alt);min-width:3px;display:block}.leg-category-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;display:grid}.leg-category-cards>span{background:linear-gradient(135deg, color-mix(in srgb, var(--detail-color) 12%, var(--panel)), var(--paper));border:1px solid color-mix(in srgb, var(--detail-color) 44%, var(--line));border-radius:10px;grid-template-columns:42px 1fr;align-items:center;gap:4px 9px;padding:10px;display:grid}.leg-category-cards>span>i{background:color-mix(in srgb, var(--detail-color) 15%, transparent);border:1px solid var(--detail-color);color:var(--detail-color);border-radius:8px;grid-row:1/span 2;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.leg-category-cards em{color:var(--text-dim);font-size:10px;font-style:normal}.leg-category-cards b{color:var(--text);font:800 15px var(--font-mono)}.road-category-cards>span{grid-template-columns:42px minmax(72px,auto) minmax(90px,1fr)}.road-category-symbol{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.7px;width:29px;height:29px}.road-category-trace{fill:none;height:42px;stroke:color-mix(in srgb, var(--detail-color) 78%, var(--text-faint));stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;grid-area:1/3/span 2;width:100%}.road-category-trace circle{fill:var(--detail-color);stroke:none}.road-category-dash{stroke-dasharray:5 6}.leg-surface-bar{background:var(--paper);border:1px solid var(--line);border-radius:10px;height:48px;display:flex;overflow:hidden}.leg-surface-bar>i{border-right:1px solid color-mix(in srgb, var(--text) 28%, transparent);min-width:2px;display:block}.leg-summary-legend{flex-wrap:wrap;gap:9px 18px;display:flex}.leg-summary-legend span{color:var(--text-dim);align-items:center;gap:6px;font-size:10px;display:inline-flex}.leg-summary-legend span>i{background-color:color-mix(in srgb, var(--text) 18%, var(--panel));border:1px solid color-mix(in srgb, var(--text) 45%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bg) 35%, transparent);border-radius:4px;flex:0 0 23px;width:23px;height:23px;display:inline-block}.leg-summary-legend b{color:var(--text);font:800 12px var(--font-mono)}.surface-3{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--text) 32%, transparent) 0 2px, transparent 2px 5px)}.surface-4{background-image:linear-gradient(90deg, transparent 47%, color-mix(in srgb, var(--text) 48%, transparent) 48% 52%, transparent 53%), linear-gradient(transparent 47%, color-mix(in srgb, var(--text) 48%, transparent) 48% 52%, transparent 53%);background-size:16px 16px}.surface-5{background-image:repeating-linear-gradient(90deg, color-mix(in srgb, var(--text) 42%, transparent) 0 1px, transparent 1px 12px)}.surface-8,.surface-9,.surface-10{background-image:radial-gradient(circle, color-mix(in srgb, var(--text) 48%, transparent) 0 1px, transparent 1.5px);background-size:7px 7px}.surface-11,.surface-12,.surface-15,.surface-17{background-image:repeating-linear-gradient(25deg, color-mix(in srgb, var(--text) 38%, transparent) 0 1px, transparent 1px 6px)}.leg-difficulty{grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px;display:grid}.leg-difficulty strong{color:var(--gold);font:700 12px var(--font-mono)}.leg-difficulty span{color:var(--text-faint);text-align:right;font-size:9px}.leg-character{gap:10px;display:flex}.leg-character span{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:3px;min-width:105px;padding:9px;display:grid}.leg-character b{font:800 14px var(--font-mono)}.leg-condition-tile,.leg-calories{background:var(--paper);border:1px solid var(--line);color:var(--gold);border-radius:11px;align-items:center;gap:10px;padding:11px 12px;display:flex}.leg-condition-tile span,.leg-calories span{gap:2px;display:grid}.leg-condition-tile strong,.leg-calories strong{color:var(--text);font:700 12px var(--font-mono)}.leg-condition-tile em,.leg-calories em{color:var(--text-faint);font-size:9px;font-style:normal}.leg-shared-route-note{background:color-mix(in srgb, var(--teal) 8%, var(--paper));border:1px solid color-mix(in srgb, var(--teal) 28%, var(--line));color:var(--text-dim);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 11px;font-size:10px;line-height:1.45;display:flex}.leg-shared-route-note svg{flex:none;margin-top:1px}.leg-shared-route-note b{color:var(--teal)}.leg-country-route{--country-route-0:#5477af;--country-route-1:#9c813f;--country-route-2:#4e8a68;--country-route-3:#8b5f9e;background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:9px;padding:12px;display:grid}.leg-country-route>small{color:var(--text-faint);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.leg-country-band{align-items:center;min-height:27px;padding:0 13px;display:flex}.leg-country-band>span{min-width:3px;height:8px;display:block;position:relative}.leg-country-band>span>i{border-radius:999px;width:100%;height:100%;display:block}.leg-country-band b{background:var(--panel);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:-10px;left:-13px}.leg-country-band .country-flag{object-fit:cover;border-radius:2px;width:16px;height:10px}.leg-country-scale{color:var(--text-faint);font:9px var(--font-mono);height:12px;position:relative}.leg-country-scale span{white-space:nowrap;position:absolute;top:0}.leg-country-scale .start{left:0}.leg-country-scale .crossing{transform:translate(-50%)}.leg-country-scale .end{right:0}.leg-country-route p{color:var(--text-dim);margin:0;font-size:10px;line-height:1.5}.leg-country-route p b{color:var(--text)}.leg-enrichment-card>footer{border-top:1px solid var(--line);color:var(--text-faint);align-items:center;gap:6px;padding-top:9px;font-size:9px;display:flex}@media (width<=720px){.leg-enrichment-card{margin-left:0}.leg-map-block,.leg-weather-grid,.leg-route-facts,.leg-weather-grid,.leg-category-cards{grid-template-columns:1fr}.road-category-cards>span{grid-template-columns:42px minmax(72px,auto) minmax(70px,1fr)}.leg-co2>div{grid-template-columns:105px 1fr 54px}}.connection-detail-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.connection-detail-heading h3{color:var(--text);font-family:var(--font-display);margin:4px 0 0;font-size:18px}.connection-detail-heading .eyebrow,.connection-detail-times small,.connection-stops b{align-items:center;gap:5px;display:flex}.connection-detail-heading>span{color:var(--text-dim);text-align:right;max-width:45%;font-size:11px}.connection-detail-times{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:14px;padding-top:13px;display:grid}.connection-detail-times div{gap:3px;display:grid}.connection-detail-times div:last-child{text-align:right;justify-items:end}.connection-detail-times div:last-child small{justify-content:flex-end}.connection-detail-times small,.connection-detail-times span{color:var(--text-faint);font-size:10px}.connection-detail-times strong{color:var(--gold);font-family:var(--font-mono);font-size:17px}.connection-detail-times>i{color:var(--text-faint);font-style:normal}.connection-stops{border-top:1px solid var(--line);gap:5px;margin:14px 0 0;padding-top:13px;font-size:12px;line-height:1.5;display:grid;color:var(--text-dim)!important}.connection-stops b{color:var(--text);font-size:11px}.flight-detail-card{border-color:color-mix(in srgb, var(--gold) 34%, var(--line))}.flight-detail-card .connection-detail-heading h3{font-size:22px}.flight-city-route{color:var(--text-dim);margin:14px 0 0}.flight-route-line{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:22px 0;display:grid}.flight-route-line>div{gap:4px;display:grid}.flight-route-line>div:last-child{text-align:right}.flight-route-line strong{color:var(--text);font:800 28px var(--font-mono)}.flight-route-line small{color:var(--text-faint);font:12px var(--font-mono)}.flight-route-line i{border-top:2px dashed var(--gold);color:var(--gold);justify-items:center;font-style:normal;display:grid}.flight-route-line i svg{background:var(--panel-alt);border:1px solid color-mix(in srgb, var(--gold) 58%, var(--line));box-shadow:0 0 0 6px var(--panel-alt);border-radius:999px;width:26px;height:26px;margin-top:-14px;padding:7px}.flight-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.flight-meta>span{color:var(--text-dim);font-family:var(--font-mono)}.flight-meta b{background:color-mix(in srgb, var(--teal) 18%, var(--panel));color:var(--teal);font:800 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:7px 10px}.flight-time-panel{background:var(--panel);border-radius:12px;gap:10px;margin:0 0 20px;padding:16px;display:grid}.flight-time-panel div{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;display:grid}.flight-time-values{align-items:center;gap:12px;min-width:0;display:flex}.flight-time-planned,.flight-time-actual{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.flight-board{font-variant-numeric:tabular-nums;text-align:center;vertical-align:middle;min-width:4.6ch;line-height:1;display:inline-block}.flight-time-panel strong{color:var(--text-dim);font-size:13px}.flight-time-planned{color:var(--text-faint);font-family:var(--font-mono)}.flight-board{font-family:var(--font-mono);letter-spacing:.13em;text-shadow:0 1px #000;white-space:nowrap;background:linear-gradient(#31333a 0 47%,#17181d 48% 52%,#292b31 53% 100%);border:1px solid #444750;border-radius:3px;padding:6px 7px 5px;font-size:12px;font-weight:700;line-height:1;display:inline-block;box-shadow:inset 0 1px #ffffff1f,0 1px 2px #0000004d;color:#f4f0e6!important}.flight-number-board{margin-left:4px}.flight-time-planned .flight-board,.flight-time-actual .flight-board{margin-left:5px}.flight-status{background:color-mix(in srgb, var(--teal) 16%, var(--panel));color:var(--teal);font:800 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-self:end;width:fit-content;margin:13px 0 0 auto;padding:6px 9px}.flight-detail-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:13px;padding-top:14px;display:grid}.flight-detail-grid div{gap:3px;display:grid}.flight-detail-grid small{color:var(--text-faint);font-size:10px}.flight-detail-grid strong{color:var(--text);font-size:12px;font-weight:600}.flight-detail-grid div:nth-child(3),.flight-detail-grid div:nth-child(4),.flight-detail-grid div:nth-child(7){display:none}.trip-detail-page:has(.flight-detail-card) .trip-side-card>section:nth-child(2) .side-fact:nth-of-type(3)>span{font-size:0}.trip-detail-page:has(.flight-detail-card) .trip-side-card>section:nth-child(2) .side-fact:nth-of-type(3)>span:before{color:var(--text-faint);content:"Flugdauer";margin-bottom:3px;font-size:10px;font-weight:400;display:block}.trip-detail-page:has(.flight-detail-card) .trip-side-card>section:nth-child(2) .side-fact:nth-of-type(3) strong{font-size:12px}.form-place-grid>label.form-wide:nth-of-type(3){font-size:0}.form-place-grid>label.form-wide:nth-of-type(3):before{content:"Zielland";font-size:12px}.form-place-grid>label.form-wide:nth-of-type(3) input{font-size:14px}.flight-time-actual{margin-top:2px;font-weight:700;display:block;font-size:10px!important}.flight-time-actual.on-time{color:var(--teal)!important}.flight-time-actual.late{color:var(--rose)!important}.flight-refresh{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:11px;width:100%;margin-top:22px;padding:13px}.flight-refresh:hover{border-color:var(--gold);color:var(--gold)}.flight-refresh{display:none}.photo-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.photo-heading h2{margin-bottom:0}.upload-button{cursor:pointer}.upload-button input{display:none}.photo-intro,.photo-message{font-size:12px}.photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:18px;display:grid}.photo-grid figure{background:var(--panel-alt);border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;position:relative;overflow:hidden}.photo-grid figure.cover{border-color:var(--gold)}.photo-preview-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo-grid figcaption{gap:5px;padding:8px;font-size:10px;display:grid}.photo-grid figcaption b{color:var(--gold)}.photo-grid figcaption button{color:var(--text-dim);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.photo-delete-overlay{color:#fff;cursor:pointer;z-index:2;background:#09101cd1;border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:absolute;top:7px;right:7px}.photo-delete-overlay:hover,.photo-delete-overlay:focus-visible{background:color-mix(in srgb, var(--rose) 72%, #111827);outline:none}.photo-lightbox-backdrop{z-index:60;background:#030814e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-lightbox{place-items:center;max-width:min(100%,1100px);max-height:calc(100dvh - 40px);display:grid;position:relative}.photo-lightbox img{object-fit:contain;border-radius:14px;max-width:100%;max-height:calc(100dvh - 40px);display:block;box-shadow:0 24px 80px #00000080}.photo-lightbox-close{color:#fff;cursor:pointer;z-index:1;background:#09101cdb;border:1px solid #ffffff4d;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:28px;line-height:1;display:flex;position:absolute;top:12px;right:12px}.photo-delete-dialog{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:100%;max-width:430px;padding:28px;box-shadow:0 24px 80px #0000007a}.photo-delete-dialog h2{margin:0 0 10px}.photo-delete-dialog p{color:var(--text-dim);margin:0 0 24px}.photo-delete-dialog>div{justify-content:flex-end;gap:10px;display:flex}@media (width<=520px){.photo-lightbox-backdrop{padding:12px}.photo-delete-dialog>div{flex-direction:column-reverse}.photo-delete-dialog .button{width:100%}}@media (width<=720px){.form-grid,.station-columns,.station-query-fields,.via-station-fields,.trip-summary,.trip-detail-layout,.date-range-input{grid-template-columns:1fr}.date-range-input i{display:none}.calendar-popover{width:auto;right:0}.calendar-heading button,.calendar-period select{min-height:42px}.calendar-apply{background:var(--gold);color:#191304;cursor:pointer;font:inherit;border:0;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:44px;margin-top:12px;font-weight:800;display:flex}.calendar-apply:disabled{cursor:default;opacity:.45}.trip-form-page,.trip-detail-page{padding:34px 0 52px}.form-actions{justify-content:stretch}.form-actions button{flex:1}.leg-row{grid-template-columns:28px 1fr}.leg-row em,.leg-row small{grid-column:2}.trip-side-card{order:-1}.trip-detail-title,.photo-heading{flex-direction:column;align-items:stretch}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-intro h1,.welcome-card h1,h2,.map-page>h1,.discover-page>h1,.profile-page>h1,.settings-page>h1,.trips-heading h1,.trip-form-page h1,.trip-detail-page h1,.trip-form legend{font-family:var(--font-display)}.year-card,.level-card,.profile-hero{background:linear-gradient(145deg, var(--panel), var(--panel-alt))}.map-stage{background:linear-gradient(145deg, var(--panel-alt), var(--bg-soft))}.legend-route{background:var(--teal)}.form-message{background:color-mix(in srgb, var(--rose) 18%, var(--panel));color:var(--rose)}.success-banner{background:color-mix(in srgb, var(--green) 16%, var(--panel));color:var(--green)}.year-number,.level-card>strong{font-family:var(--font-mono)}:root[data-theme=light] body{background:radial-gradient(circle at 50% 0, #fffdf8 0, var(--bg) 48%)}:root[data-theme=light] .app-toast.success{color:#174d22;background:#e8f6e9}:root[data-theme=light] .app-toast.error{color:#862139;background:#ffeaee}:root[data-theme=light] .app-toast button{color:inherit}:root[data-theme=light] .map-stage{background:linear-gradient(145deg,#eaf1ec,#fffdfa)}:root[data-theme=light] .map-grid-art b{color:var(--text);background:#fffdfa}:root[data-theme=light] .map-filter-row button.active{background:var(--text);border-color:var(--text);color:#fffdfa}:root[data-theme=light] .calendar-popover{background:#fffdfa;border-color:#c9beaf}:root[data-theme=light] .calendar-days button:hover{background:#f1e9df}:root[data-theme=light] .trip-form input,:root[data-theme=light] .trip-form select,:root[data-theme=light] .trip-form textarea,:root[data-theme=light] .date-range-button,:root[data-theme=light] .station-query-fields input{background:#fffdfa}:root[data-theme=light] .trip-form input:focus,:root[data-theme=light] .trip-form select:focus,:root[data-theme=light] .trip-form textarea:focus{outline-color:color-mix(in srgb, var(--gold) 35%, transparent)}:root[data-theme=light] .purpose-toggle button,:root[data-theme=light] .station-list button,:root[data-theme=light] .journey-option{color:var(--text-dim);background:#fffdfa}:root[data-theme=light] .purpose-toggle button.active,:root[data-theme=light] .station-list button.active,:root[data-theme=light] .journey-option.selected{color:var(--text);background:#f8ecd5}:root[data-theme=light] .trip-hero:not(.has-cover):before{color:#17231f14}:root[data-theme=light] .hero-date-chip,:root[data-theme=light] .hero-share{background:#17231fd1}:root[data-theme=light] .button-secondary:hover,:root[data-theme=light] .settings-list button:hover{background:#fff8ec}.choice-icon{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.choice-icon.teal{background:color-mix(in srgb, var(--teal) 20%, transparent);color:var(--teal)}.choice-icon.blue{color:#77aeff;background:#77aeff33}.choice-icon.purple{color:#b69aff;background:#a98bff33}.choice-icon.gold{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold)}.choice-icon.green{background:color-mix(in srgb, var(--green) 20%, transparent);color:var(--green)}.choice-icon.rose{background:color-mix(in srgb, var(--rose) 20%, transparent);color:var(--rose)}.choice-icon.lime{color:#b8e64a;background:#b8e64a33}.choice-icon.fuchsia{color:#ff5fa2;background:#ff5fa233}.side-fact>svg{width:22px;height:22px;margin-top:1px}.transport-choice{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.transport-choice button{background:var(--panel-alt);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font:inherit;border-radius:12px;justify-content:flex-start;align-items:center;gap:7px;padding:9px 10px;font-size:12px;display:flex}.transport-choice button:hover{border-color:var(--gold);color:var(--text)}.transport-choice button.active{background:color-mix(in srgb, var(--gold) 12%, var(--panel-alt));border-color:var(--gold);color:var(--text);font-weight:700}:root[data-theme=light] .transport-choice button{color:var(--text-dim);background:#fffdfa}:root[data-theme=light] .transport-choice button.active{color:var(--text);background:#f8ecd5}:root[data-theme=light] .choice-icon.blue{color:#225ea9}:root[data-theme=light] .choice-icon.purple{color:#6746bb}@media (width<=520px){.transport-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero-flight-badge{color:#fff;font-family:var(--font-mono);letter-spacing:.05em;background:#081227c7;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:700;display:flex;position:absolute;top:76px;left:28px}.hero-flight-badge svg{color:var(--gold)}.airport-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.airport-picker>div{background:var(--panel-alt);border:1px solid var(--line);border-radius:12px;gap:5px;padding:10px;display:grid}.airport-picker small{color:var(--muted);text-transform:uppercase;font-weight:700}.airport-picker strong{font-size:14px}.airport-picker span{flex-wrap:wrap;gap:6px;display:flex}.airport-picker button{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);background:0 0;border-radius:999px;padding:4px 8px;font-weight:700}.airport-picker button.active{background:color-mix(in srgb, var(--gold) 15%, var(--panel));border-color:var(--gold);color:var(--gold)}@media (width<=520px){.airport-picker{grid-template-columns:1fr}.flight-route-search{grid-template-columns:1fr;align-items:stretch}.flight-route-search .button,.flight-number-search .button{width:100%}}.flight-segment-tabs{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.flight-segment-tabs button{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:9px 14px;font-weight:700}.flight-segment-tabs button.active{background:var(--gold);border-color:var(--gold);color:var(--ink-on-gold)}.flight-segment-tabs button.done:before{content:"✓ "}.flight-segment-results{gap:7px;display:grid}.flight-segment-results h4{color:var(--ink);margin:10px 0 0;font-size:15px}.flight-time-actual{color:var(--text);font-family:var(--font-mono)}.flight-time-difference{font-family:var(--font-mono);border-radius:999px;justify-self:end;padding:5px 10px;font-size:12px}.flight-time-difference.late{background:color-mix(in srgb, var(--rose) 18%, var(--panel));color:var(--rose)}.flight-time-difference.early,.flight-time-difference.on-time{background:color-mix(in srgb, var(--teal) 18%, var(--panel));color:var(--teal)}@media (width<=720px){.flight-time-panel>div{grid-template-columns:1fr;align-items:stretch;gap:8px}.flight-time-values{grid-template-columns:1fr;align-items:stretch;gap:7px;width:100%;display:grid}.flight-time-planned,.flight-time-actual{grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;font-size:10px;display:grid}.flight-time-planned .flight-board,.flight-time-actual .flight-board{margin-left:0}.flight-time-difference{padding:4px 6px;font-size:10px}.flight-time-panel .flight-time-difference{justify-self:start}}.latest-trip-card,.trip-hero.has-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.trip-hero.has-cover{height:220px;min-height:220px}@media (width<=390px){.trip-hero.has-cover{height:300px;min-height:300px}}@media (width>=391px) and (width<=760px){.trip-hero.has-cover{height:min(62vh,390px);min-height:285px}}@media (width>=761px){.trip-hero.has-cover{height:460px;min-height:420px}}.dashboard{padding:42px 0 72px}.dashboard-intro{margin-bottom:26px}.dashboard-intro h1{font-size:clamp(36px,5vw,62px)}.dashboard-year-card{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px 38px;margin-bottom:24px;display:grid}.dashboard-year-card .kpi-grid{grid-column:1/-1;max-width:none;margin-top:0}.dashboard-year-modes{border-left:1px solid var(--line);align-self:center;gap:12px;padding-left:32px;display:grid}.dashboard-year-meta{color:var(--text-dim);margin:0;font-size:13px}.dashboard-year-meta i{color:var(--gold);padding:0 5px;font-style:normal}.dashboard-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.72fr);align-items:start;gap:22px;display:grid}.dashboard-main,.dashboard-side{gap:24px;display:grid}.dashboard-section{gap:12px;display:grid}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-section-heading h2{font:700 18px var(--font-display);margin:0}.dashboard-section-heading>span{color:var(--text-faint);font-size:12px}.dashboard-empty{border:1px dashed var(--line);text-align:center;border-radius:18px;padding:28px}.dashboard-empty p{color:var(--text-dim);margin:0 0 14px}.dashboard-active-card{border-color:color-mix(in srgb, var(--teal) 62%, var(--line))}.dashboard-planned-card{min-height:112px}.dashboard-side-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;gap:13px;padding:18px;display:grid}.dashboard-mode-row{color:var(--text-dim);grid-template-columns:22px 58px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.dashboard-mode-row i{background:var(--line);border-radius:999px;height:3px;overflow:hidden}.dashboard-mode-row i b{background:linear-gradient(90deg, #7653d6, var(--gold));border-radius:inherit;height:100%;display:block}.dashboard-mode-row small{color:var(--text);font:10px var(--font-mono)}.dashboard-highlight-grid{grid-template-columns:1fr;gap:8px;display:grid}.dashboard-highlight-grid span{background:var(--panel-alt);color:var(--text-faint);border-radius:11px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:3px 10px;padding:10px 12px;font-size:10px;display:grid}.dashboard-highlight-grid b{color:var(--text);font:700 14px var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-highlight-grid i{color:var(--gold);grid-row:1/3}.dashboard-highlight-grid small{color:var(--text-faint);font-size:10px}.dashboard-map-preview{background:var(--panel-alt);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;text-align:left;border-radius:18px;width:100%;padding:0;display:grid;overflow:hidden}.dashboard-map-preview:hover{border-color:var(--gold)}.dashboard-map-preview .world-map-canvas{height:260px}.dashboard-map-preview .world-map-hint{display:none}.dashboard-map-preview>span{padding:11px 14px;font-size:11px}.dashboard-map-preview .maplibregl-ctrl-top-right{display:none}@media (width<=900px){.dashboard-year-card{grid-template-columns:1fr}.dashboard-year-modes{border-left:0;border-top:1px solid var(--line);padding-top:22px;padding-left:0}.dashboard-year-card .kpi-grid{grid-column:auto}.dashboard-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.dashboard-side{grid-template-columns:1fr}.dashboard-map-preview .world-map-canvas{height:210px}.dashboard-intro{align-items:start}.dashboard-intro .button{width:100%}}.dashboard-location-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin:-4px 0 24px;padding:17px 20px;display:flex}.dashboard-location-card>div{gap:4px;display:grid}.dashboard-location-card .eyebrow{margin:0}.dashboard-location-card strong{color:var(--text);font-family:var(--font-display)}.dashboard-location-card small{color:var(--text-faint);font-size:12px}.location-suggestion{background:color-mix(in srgb, var(--teal) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--teal) 48%, var(--line));border-radius:18px;justify-content:space-between;align-items:center;gap:22px;margin:0 0 24px;padding:20px;display:flex}.location-suggestion .eyebrow{margin:0 0 5px}.location-suggestion h2{margin:0;font-size:20px}.location-suggestion p{color:var(--text-dim);max-width:620px;margin:6px 0 0;font-size:13px}.location-suggestion>div:last-child{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.dashboard .text-button{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;font:700 12px var(--font-display);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;text-decoration:none;display:inline-flex}.dashboard .text-button:hover{border-color:var(--gold);color:var(--gold)}@media (width<=620px){.dashboard-location-card,.location-suggestion{flex-direction:column;align-items:stretch}.dashboard-location-card .button,.location-suggestion .button{width:100%}.location-suggestion>div:last-child{justify-content:stretch}.location-suggestion .text-button{width:100%}}.brand-lockup{justify-items:start;gap:4px;display:grid}.brand-lockup>span{color:var(--gold);font:700 10px var(--font-display);letter-spacing:.12em;white-space:nowrap}.topbar .brand-lockup .wordmark{cursor:pointer;letter-spacing:0;background:0 0;border:0;padding:0}.topbar .trailyx-logo-wordmark{font-size:24px}@media (width<=720px){.brand-lockup>span{letter-spacing:.08em;font-size:9px}}.trip-audit{border-top:1px solid var(--line);color:var(--text-faint);font:11px var(--font-mono);text-align:right;margin:28px 0 0;padding-top:16px}.trip-reference{color:var(--gold);cursor:copy;font:700 11px var(--font-mono);background:0 0;border:0;padding:0}.trip-reference:hover{text-decoration:underline}.profile-page{gap:22px;padding:42px 0 72px;display:grid}.profile-page>h1{margin:-12px 0 0}.profile-summary{background:linear-gradient(145deg, var(--panel), var(--panel-alt));border:1px solid var(--line);border-radius:24px;grid-template-columns:150px minmax(0,1fr) minmax(250px,.8fr);align-items:center;gap:26px;padding:34px;display:grid}.profile-photo-wrap{justify-self:center;width:118px;height:118px;position:relative}.profile-avatar-image{background:linear-gradient(145deg, var(--gold), var(--teal));border:3px solid var(--gold);color:var(--ink-on-gold);font:800 45px var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:grid;overflow:hidden}.profile-avatar-image img{object-fit:cover;width:100%;height:100%}.profile-level-chip{background:var(--gold);border:3px solid var(--panel);color:var(--ink-on-gold);font:800 18px var(--font-mono);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:-8px;left:-8px}.profile-photo-edit{background:var(--gold);border:3px solid var(--panel);color:var(--ink-on-gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;bottom:-8px;right:-8px}.profile-photo-edit input{display:none}.profile-summary-copy{gap:6px;display:grid}.profile-summary-copy .eyebrow{margin:0}.profile-summary-copy h2{margin:0;font-size:clamp(32px,4vw,52px)}.profile-summary-copy p{color:var(--gold);font:700 18px var(--font-display);margin:0}.profile-summary-copy small{color:var(--text-faint);font-size:13px}.profile-total{border-left:1px solid var(--line);gap:8px;padding-left:28px;display:grid}.profile-total strong{color:var(--text);font:800 clamp(36px, 4vw, 58px) var(--font-mono);letter-spacing:-.06em}.profile-total strong small{color:var(--gold);letter-spacing:0;font-size:.48em}.profile-total span{color:var(--text-dim);font-size:14px}.profile-progress-card{background:var(--panel-alt);border:1px solid var(--line);border-radius:20px;gap:14px;padding:22px 26px;display:grid}.profile-progress-card>div{align-items:center;gap:12px;display:flex}.profile-progress-level{color:#9d7af2;font:800 17px var(--font-mono);border:2px solid #7653d6;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.profile-progress-card>div>span:last-child{gap:3px;display:grid}.profile-progress-card strong{color:var(--text);font-family:var(--font-display)}.profile-progress-card small,.profile-progress-card p{color:var(--text-faint);margin:0;font-size:12px}.profile-progress-card i{background:var(--panel);border-radius:999px;height:8px;display:block;overflow:hidden}.profile-progress-card i b{background:linear-gradient(90deg, #7653d6, var(--gold));border-radius:inherit;height:100%;display:block}.profile-progress-card p{text-align:right}.profile-action-list{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.profile-action-list button{border:0;border-bottom:1px solid var(--line);color:var(--text-faint);cursor:pointer;text-align:left;background:0 0;grid-template-columns:28px 1fr auto;align-items:center;gap:16px;width:100%;padding:21px 24px;display:grid}.profile-action-list button:last-child{border-bottom:0}.profile-action-list button:hover{background:var(--panel-alt)}.profile-action-list button>svg{color:var(--gold)}.profile-action-list span{gap:4px;display:grid}.profile-action-list strong{color:var(--text);font:700 17px var(--font-display)}.profile-action-list small{color:var(--text-faint);font-size:13px}.profile-action-list>b{color:var(--text-faint);font-size:28px;font-weight:400}.settings-group-title{color:var(--gold);font:800 11px var(--font-display);letter-spacing:.12em;margin:24px 0 7px}.settings-group-title:first-child{margin-top:0}@media (width<=760px){.profile-page{padding-top:34px}.profile-summary{text-align:center;grid-template-columns:1fr;padding:28px 20px}.profile-summary-copy{justify-items:center}.profile-total{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.profile-progress-card{padding:20px}.profile-action-list button{padding:18px}.profile-action-list small{line-height:1.35}.profile-total strong{font-size:44px}}.settings-detail{background:var(--surface);border:1px solid var(--line);border-radius:20px;gap:18px;padding:28px;display:grid}.settings-detail .eyebrow,.settings-detail h1{margin:0}.settings-detail>p{color:var(--text-dim);max-width:680px;margin:0;line-height:1.6}.settings-detail>label{color:var(--text);gap:8px;max-width:540px;font-size:13px;font-weight:700;display:grid}.settings-detail input:not([type=checkbox]){background:var(--panel-alt);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:11px;padding:12px}.settings-detail-actions{gap:10px;margin-top:4px;display:flex}.settings-status{background:var(--panel-alt);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:11px;max-width:680px;padding:15px;display:flex}.settings-status.success>b{color:var(--teal);font-size:18px;line-height:1}.settings-status span{gap:4px;display:grid}.settings-status strong{color:var(--text);font-family:var(--font-display)}.settings-status small{color:var(--text-faint);font-size:12px;line-height:1.45}.settings-option{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;max-width:760px;padding:18px 0;display:flex}.settings-option>div{gap:5px;display:grid}.settings-option strong{color:var(--text);font-family:var(--font-display)}.settings-option small{color:var(--text-faint);font-size:12px;line-height:1.4}.settings-option.danger strong{color:var(--rose)}.settings-toggle-list{border-top:1px solid var(--line);max-width:760px;display:grid}.settings-toggle-list label{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;display:flex}.settings-toggle-list span{gap:4px;display:grid}.settings-toggle-list strong{color:var(--text);font-family:var(--font-display)}.settings-toggle-list small{color:var(--text-faint);font-size:12px}.settings-toggle-list input{accent-color:var(--gold);width:20px;height:20px}.release-list,.settings-help{gap:12px;max-width:800px;display:grid}.release-list article,.settings-help article{background:var(--panel-alt);border:1px solid var(--line);border-radius:14px;gap:7px;padding:18px;display:grid}.release-list article.release-new-entry{background:color-mix(in srgb, var(--gold) 8%, var(--panel-alt));border-color:color-mix(in srgb, var(--gold) 72%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 16%, transparent)}.release-list b{color:var(--gold);font:700 11px var(--font-mono);letter-spacing:.06em}.release-list h2{color:var(--text);margin:0;font-size:19px}.release-list p,.settings-help p{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.release-media{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:10px 0 0;overflow:hidden}.release-media img{aspect-ratio:16/7;object-fit:cover;object-position:center;width:100%;display:block}.release-media figcaption{color:var(--text-faint);padding:9px 12px;font-size:11px;line-height:1.45}.release-list.collapsed article:nth-of-type(n+6){display:none}.release-notes-list article:has(>b[data-kind=feature]){display:none}.release-more{margin-top:14px}.settings-help strong{color:var(--text);font-family:var(--font-display)}.help-intro{color:var(--text-dim);max-width:760px;line-height:1.6}.help-jump{flex-wrap:wrap;gap:8px;margin:6px 0 20px;display:flex}.help-jump a{background:var(--panel-alt);border:1px solid var(--line);color:var(--text-dim);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none}.help-manual{gap:34px;max-width:980px;display:grid}.help-chapter{scroll-margin-top:24px}.help-chapter>h2,.help-rule-card>h2{margin:4px 0 12px}.help-chapter>p:not(.eyebrow){color:var(--text-dim);line-height:1.6}.help-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.help-rule-card{background:var(--panel-alt);border:1px solid var(--line);border-radius:16px;padding:20px}.help-rule-card>svg{color:var(--gold)}.help-rule-card h3{margin:10px 0 8px;font-size:18px}.help-rule-card p,.help-rule-card li{color:var(--text-dim);font-size:13px;line-height:1.55}.help-rule-card ul{margin:10px 0 0;padding-left:18px}.help-rule-card-wide{gap:10px;display:grid}.help-rule-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;display:grid}.help-rule-flow span{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;place-items:center;gap:3px;min-height:105px;padding:12px;display:grid}.help-rule-flow span.active{border-color:var(--gold)}.help-rule-flow svg{color:var(--gold)}.help-rule-flow small{color:var(--text-faint)}.help-rule-flow>i{color:var(--gold);font-style:normal}.help-badge-example{background:var(--panel-alt);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin:16px 0;padding:20px;display:grid}.help-badge-medallion{background:color-mix(in srgb, var(--gold) 14%, var(--panel));border:2px solid var(--gold);color:var(--gold);border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;display:flex}.help-badge-example>div:last-child{gap:5px;display:grid}.help-badge-example strong{font:700 20px var(--font-display)}.help-badge-example p{color:var(--text-dim);margin:0}.help-badge-example small{color:var(--text-faint)}.help-badge-example span{background:var(--line);border-radius:999px;height:7px;overflow:hidden}.help-badge-example span i{background:var(--gold);height:100%;display:block}.help-table-wrap{overflow-x:auto}.help-table{border-collapse:collapse;width:100%;min-width:680px}.help-table th,.help-table td{border-bottom:1px solid var(--line);color:var(--text-dim);text-align:left;vertical-align:top;padding:12px 10px;font-size:13px;line-height:1.45}.help-table th,.help-table td:first-child{color:var(--text);font-weight:700}.help-formula{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:8px;margin:16px 0;display:grid}.help-formula span{background:var(--panel-alt);border:1px solid var(--line);text-align:center;border-radius:12px;place-content:center;gap:3px;min-height:80px;padding:14px;display:grid}.help-formula span.total{border-color:var(--gold)}.help-formula b{color:var(--gold);font:700 20px var(--font-display)}.help-formula small{color:var(--text-faint)}.help-formula>i{color:var(--gold);align-self:center;font-style:normal;font-weight:800}.help-example{background:color-mix(in srgb, var(--gold) 8%, var(--panel));border-left:3px solid var(--gold);border-radius:4px 12px 12px 4px;padding:14px 16px}.help-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.help-levels>div{background:var(--panel-alt);border:1px solid var(--line);border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.help-levels b{background:var(--gold);color:var(--panel);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.help-levels span{font-weight:700}.help-levels small{color:var(--text-faint)}.help-maintained-note{border-top:1px solid var(--line);color:var(--text-faint);margin:0;padding-top:18px;font-size:12px;line-height:1.5}@media (width<=720px){.help-rule-grid,.help-levels,.help-rule-flow,.help-formula{grid-template-columns:1fr}.help-rule-flow>i,.help-formula>i{justify-self:center;transform:rotate(90deg)}.help-badge-example{grid-template-columns:1fr}}.settings-about{justify-items:start;min-height:340px}.map-lazy-placeholder{background:var(--panel);border:1px solid var(--line);color:var(--text-faint);border-radius:18px;justify-content:center;align-items:center;min-height:300px;margin-top:20px;display:flex}.map-page-placeholder{min-height:560px}.settings-about>strong{color:var(--gold);font:700 14px var(--font-display);letter-spacing:.1em}.settings-about small{color:var(--text-faint);font-family:var(--font-mono)}.settings-note{border-top:1px solid var(--line);padding-top:16px;font-size:12px!important}.settings-page>.discover-back-button{margin:0 0 14px}.settings-detail-actions .button,.settings-option .button,.settings-status+.button{margin-top:4px}.settings-page .button{min-height:42px}@media (width<=620px){.settings-detail{padding:20px}.settings-option{flex-direction:column;align-items:stretch}.settings-option .button{width:100%}}.discover-page{display:none}.discover-hub{gap:24px;padding:46px 0 72px;display:grid}.discover-hub-heading{margin-bottom:14px}.discover-back-button{background:var(--panel-alt);border:1px solid var(--line);color:var(--ink);border-radius:999px;justify-self:start;align-items:center;gap:8px;margin:0;padding:9px 13px;font-size:13px;text-decoration:none;display:inline-flex}.discover-back-button:hover{border-color:var(--gold);color:var(--gold)}.discover-hub-heading h1{color:var(--ink);font:700 clamp(38px, 6vw, 64px) / 1 var(--font-display);letter-spacing:-.05em;margin:6px 0 12px}.discover-hub-heading p{color:var(--muted);margin:0}.level-hero{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 28px}.level-hero-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.level-hero-top>strong{color:var(--ink);font:700 18px var(--font-mono);white-space:nowrap}.level-hero-top>strong small{color:var(--text-faint);font:inherit}.level-hero-badge{align-items:center;gap:14px;display:flex}.level-hero-badge>b{color:#7653d6;font:700 20px var(--font-mono);border:2px solid #7653d6;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.level-hero-badge span{gap:4px;display:grid}.level-hero-badge strong{color:var(--ink);font:700 19px var(--font-display)}.level-hero-badge small{color:var(--text-faint);font-size:13px}.level-hero>i{background:var(--panel-alt);border-radius:99px;height:8px;margin-top:20px;display:block;overflow:hidden}.level-hero>i b{background:linear-gradient(90deg, #7653d6, var(--gold));height:100%;display:block}.level-hero>p{color:var(--text-faint);text-align:right;margin:10px 0 0;font-size:13px}.discover-achievement-grid{grid-template-columns:1.2fr .8fr;gap:24px;display:grid}.discover-unlock-card,.discover-near-card,.discover-feature{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.discover-unlock-card{align-items:center;gap:20px;display:flex}.discover-near-card{gap:0;padding-top:30px;display:grid}.discover-unlock-card h2,.discover-near-card h2,.discover-feature h2{color:var(--ink);font-family:var(--font-display);margin:5px 0}.discover-unlock-card p,.discover-near-card p,.discover-feature p{color:var(--muted)}.discover-unlock-card>.eyebrow,.discover-near-card>.eyebrow{align-self:start;margin:0 0 8px;position:static}.near-badge-row{border:0;border-bottom:1px solid var(--line);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:16px 0;display:flex}.near-badge-row:hover,.near-badge-row:focus-visible{background:color-mix(in srgb, var(--gold) 7%, transparent);outline:none}.near-badge-row span{gap:4px;min-width:0;display:grid}.near-badge-row strong{color:var(--ink)}.near-badge-row small{color:var(--text-faint)}.badge-medallion{background:var(--panel-alt);border:1px dashed var(--gold);color:var(--text-faint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex;overflow:hidden}.badge-medallion.unlocked{background:color-mix(in srgb, var(--gold) 13%, var(--surface));color:var(--gold)}.badge-original{--paper2:#f3ede0;place-items:center;width:100%;height:100%;display:grid}.badge-original svg{max-width:58px;max-height:58px;display:block}.badge-card:not(.unlocked) .badge-original{filter:grayscale();opacity:.5}.discover-feature-button{cursor:pointer;text-align:left;flex-direction:column;display:flex}.discover-feature-button:hover{border-color:var(--gold)}.discover-hub .text-button{border:1px solid var(--gold);color:var(--gold);font:700 12px var(--font-display);letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin-top:14px;padding:9px 13px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.discover-hub .text-button:hover{background:var(--gold);color:var(--ink)}.discover-feature-button .text-button{margin-top:20px}.card-action{border:1px solid var(--gold);color:var(--gold);cursor:pointer;font:700 12px var(--font-display);letter-spacing:.04em;background:0 0;border-radius:999px;justify-content:center;align-self:flex-end;align-items:center;gap:7px;width:fit-content;margin-top:auto;padding:9px 13px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.card-action:hover{background:var(--gold);color:#151b1b}.discover-near-card>.card-action{justify-self:end;margin-top:16px}.record-preview{gap:22px;display:flex}.record-preview span{color:var(--text-faint);gap:4px;font-size:12px;display:grid}.record-preview b{color:var(--gold);font:700 20px var(--font-mono)}.badge-categories{gap:18px;display:grid}.badge-category{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px}.badge-category-head{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:8px;display:flex}.badge-category-head span{gap:3px;display:grid}.badge-category-head strong{font-family:var(--font-display);font-size:18px}.badge-category-head small{color:var(--text-faint);font-size:12px}.badge-category-head b{color:var(--gold);font-size:24px;font-weight:400}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.badge-card{background:var(--panel-alt);border:1px solid var(--line);opacity:1;border-radius:14px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.badge-card>div{min-width:0}.badge-card:not(.unlocked) h3,.badge-card:not(.unlocked) p,.badge-card:not(.unlocked) small{opacity:.62}.badge-card h3{color:var(--ink);font-family:var(--font-display);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.15}.badge-card p,.badge-card small{color:var(--text-faint);margin:4px 0;font-size:12px}.badge-date{color:var(--teal)!important}.badge-missing{line-height:1.45;display:block;color:var(--teal)!important}.badge-show-more{margin:12px 8px 4px}.insights-page{gap:32px;min-width:0;padding:46px 0 72px;display:grid}.insights-page>.discover-back-button{margin-bottom:8px}.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.insight-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;min-width:0;padding:22px;overflow:hidden}.insight-card>header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.insight-card h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:22px}.insight-card header small{color:var(--text-faint);text-align:right;font-size:12px}.insight-chips{flex-wrap:wrap;gap:7px;margin:-3px 0 14px;display:flex}.insight-chips button{background:var(--panel-alt);border:1px solid var(--line);color:var(--muted);cursor:pointer;font:600 12px var(--font-sans);border-radius:999px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.insight-chips button.active{border-color:var(--gold);color:var(--gold)}.insight-top-list{gap:10px;display:grid}.insight-top-list>div{grid-template-columns:22px minmax(70px,.8fr) minmax(50px,1.4fr) minmax(68px,auto);align-items:center;gap:9px;min-width:0;display:grid}.insight-top-list span{font-size:17px}.country-flag{object-fit:cover;vertical-align:-2px;border-radius:2px;width:20px;height:14px;display:inline-block}.city-emblem{object-fit:contain;vertical-align:middle;width:22px;height:22px;display:inline-block}.city-emblem-wrap{place-items:center;display:inline-grid;position:relative}.city-emblem-wrap .city-emblem{background:0 0}.insight-top-list b{color:var(--ink);font-size:14px}.insight-top-list i{background:var(--panel-alt);border-radius:99px;height:6px;overflow:hidden}.insight-top-list i em{background:linear-gradient(90deg, #7653d6, var(--gold));border-radius:inherit;height:100%;display:block}.insight-top-list small{color:var(--text-faint);text-align:right;overflow-wrap:anywhere;font-size:12px}.ranked-bars{gap:14px;display:grid}.ranked-bar{grid-template-columns:34px minmax(90px,1fr) auto;align-items:center;gap:8px 12px;min-width:0;display:grid}.ranked-bar .rank{border:1px solid var(--line);color:var(--text-faint);font:700 12px var(--font-mono);border-radius:50%;grid-row:1/3;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ranked-bar .rank.top{border-color:color-mix(in srgb, var(--gold) 60%, var(--line));color:var(--gold)}.ranked-bar strong{color:var(--ink);font:700 14px var(--font-display)}.ranked-bar>b{color:var(--text);font:600 12px var(--font-mono);text-align:right}.ranked-bar>i{background:color-mix(in srgb, var(--panel-alt) 75%, var(--bg));border-radius:999px;grid-column:2/4;height:6px;display:block;overflow:hidden}.ranked-bar>i em{background:linear-gradient(90deg, #8f70e8, var(--gold));border-radius:inherit;height:100%;display:block}.mode-donut{border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;margin:8px auto 18px;display:flex}.mode-donut>b{background:var(--surface);color:var(--ink);font:700 18px var(--font-mono);text-align:center;border-radius:50%;place-content:center;align-items:center;width:112px;height:112px;display:grid}.mode-donut small{color:var(--text-faint);font:11px var(--font-sans)}.mode-legend{gap:8px;display:grid}.mode-chart-layout{grid-template-columns:minmax(170px,.75fr) minmax(240px,1.25fr);align-items:center;gap:30px;display:grid}.mode-legend>span{color:var(--muted);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.mode-legend i{border-radius:50%;width:9px;height:9px}.mode-legend b{color:var(--ink);font:12px var(--font-mono)}.insight-record-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.insight-record-grid article{background:var(--panel-alt);border:1px solid var(--line);border-radius:13px;gap:5px;padding:15px;display:grid}.insight-record-grid svg{background:color-mix(in srgb, var(--gold) 10%, var(--panel));box-sizing:content-box;color:var(--gold);border-radius:50%;padding:10px}.insight-record-grid b{color:var(--gold);font:700 20px var(--font-mono)}.insight-record-grid strong{color:var(--ink);font-size:13px}.insight-record-grid small,.purpose-insights small{color:var(--text-faint);font-size:12px}.distance-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.distance-comparison-grid article{background:var(--panel-alt);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:16px;display:grid}.comparison-icon{background:color-mix(in srgb, var(--gold) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--gold) 30%, var(--line));color:var(--gold);border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.comparison-moon{color:#b8c8ee}.comparison-sun{color:#f2ad38}.comparison-mars{color:#df755f}.comparison-mountain{color:#79bda6}.distance-comparison-grid article>div{gap:3px;min-width:0;display:grid}.distance-comparison-grid strong{color:var(--ink);font-size:13px}.distance-comparison-grid b{color:var(--gold);font:700 21px var(--font-mono)}.distance-comparison-grid small{color:var(--text-faint);font-size:10px;line-height:1.35}.distance-comparison-grid article>i{background:color-mix(in srgb, var(--panel) 70%, var(--bg));border-radius:999px;grid-column:1/-1;height:5px;display:block;overflow:hidden}.distance-comparison-grid article>i em{background:linear-gradient(90deg, #40c3cf, var(--gold));border-radius:inherit;min-width:2px;height:100%;display:block}.purpose-insights{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;display:grid}.purpose-insights>span{background:var(--panel-alt);color:var(--gold);border-radius:12px;grid-template-columns:22px 1fr;align-items:center;gap:5px;padding:13px;display:grid}.purpose-insights b{color:var(--ink);font-size:14px}.purpose-insights small{grid-column:2}@media (width<=980px){.insights-grid{grid-template-columns:1fr}}@media (width<=760px){.insight-card{padding:18px}.insight-card>header{flex-direction:column;align-items:start;gap:4px}.insight-card header small{text-align:left}.insight-top-list>div{grid-template-columns:20px minmax(75px,1fr) minmax(32px,1fr) auto}.insight-top-list small{font-size:10px}.mode-donut{width:140px;height:140px}.mode-donut>b{width:96px;height:96px}.level-hero{padding:20px}.level-hero-top{flex-direction:column;align-items:start}.level-hero>p{text-align:left}.discover-achievement-grid{grid-template-columns:1fr}.discover-unlock-card{flex-wrap:wrap;align-items:start}.discover-near-card{padding-top:26px}.badge-grid{grid-template-columns:1fr}}.mode-legend>span{grid-template-columns:10px 24px 1fr auto}.mode-legend svg{color:var(--gold)}.transport-record-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.transport-record-grid article{background:var(--panel-alt);border:1px solid var(--line);border-radius:14px;gap:12px;padding:15px;display:flex}.transport-record-grid>article>.choice-icon{flex:none}.transport-record-grid article>div{gap:3px;display:grid}.transport-record-grid strong{color:var(--ink);font-family:var(--font-display)}.transport-record-grid b{color:var(--gold);font:700 18px var(--font-mono)}.transport-record-grid small,.transport-record-grid em{color:var(--text-faint);font-size:12px;font-style:normal}.co2-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.co2-records>div{background:var(--panel-alt);border-radius:13px;gap:7px;padding:14px;display:grid}.co2-records h3{color:var(--ink);font:700 14px var(--font-display);align-items:center;gap:7px;margin:0 0 3px;display:flex}.co2-records h3 svg{color:var(--gold)}.co2-records span{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:auto 1fr;align-items:baseline;gap:6px;font-size:12px;display:grid}.co2-records span:first-of-type{border-top:0}.co2-records b{color:var(--gold);font:700 13px var(--font-mono)}.co2-records small{color:var(--text-faint);grid-column:2}.co2-trend{border-bottom:1px solid var(--line);align-items:end;gap:12px;height:190px;padding:8px 4px 0;display:flex}.co2-trend>div{flex:1;grid-template-rows:1fr auto auto;place-items:center;gap:5px;min-width:34px;height:100%;display:grid}.co2-trend i{background:linear-gradient(180deg, #7653d6, var(--gold));border-radius:8px 8px 2px 2px;align-self:end;width:100%;max-width:54px;display:block}.co2-trend strong{color:var(--ink);font:700 12px var(--font-mono)}.co2-trend small{color:var(--text-faint);white-space:nowrap;font-size:10px}.co2-line-chart{min-width:0;margin-top:18px}.chart-legend{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.chart-legend span{color:var(--text-dim);align-items:center;gap:8px;display:flex}.chart-legend span i{background:var(--gold);border-radius:50%;width:9px;height:9px}.chart-legend strong{color:var(--text);font:600 12px var(--font-mono)}.co2-line-chart svg{width:100%;display:block;overflow:visible}.chart-axis{stroke:var(--line);stroke-width:2px}.chart-area{fill:color-mix(in srgb, var(--teal) 12%, transparent)}.chart-line{fill:none;stroke:var(--gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.co2-line-chart circle{fill:var(--panel);stroke:var(--gold);stroke-width:4px}.co2-line-chart text{font-family:var(--font-mono);text-anchor:middle}.chart-value{fill:var(--text-dim);font-size:11px}.chart-label{fill:var(--text-faint);font-size:11px}.chart-empty{color:var(--text-faint);padding:32px 0}.discovery-trend{gap:8px;display:grid}.discovery-trend article{background:var(--panel-alt);border-radius:12px;grid-template-columns:58px 1fr 1fr auto;align-items:center;gap:9px;padding:12px;display:grid}.discovery-trend b{color:var(--gold);font:700 15px var(--font-mono)}.discovery-trend span{color:var(--ink);align-items:center;gap:5px;font-size:13px;display:flex}.discovery-trend svg{color:var(--gold)}.discovery-trend small{color:var(--text-faint);font-size:12px}@media (width<=760px){.transport-record-grid,.co2-records{grid-template-columns:1fr}.discovery-trend article{grid-template-columns:45px 1fr;gap:7px}.discovery-trend small{grid-column:2}.co2-trend{gap:7px}.co2-trend small{font-size:9px}.mode-legend>span{grid-template-columns:10px 24px 1fr auto}}.dashboard-map-preview .world-map-wrap{height:260px;min-height:0}@media (width<=620px){.dashboard-map-preview .world-map-wrap{height:210px}}.bucket-list-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;gap:24px;margin-top:20px;padding:28px;display:grid}.bucket-list-card h2{margin:2px 0 7px}.bucket-list-heading{max-width:720px}.bucket-list-heading-row{justify-content:space-between;align-items:end;gap:20px;display:flex}.bucket-list-heading>p:last-child{color:var(--text-dim);margin:0}.bucket-add-action{flex:none}.bucket-empty-state{background:color-mix(in srgb, var(--panel-alt) 68%, transparent);border:1px dashed color-mix(in srgb, var(--rose) 46%, var(--line));border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;display:grid}.bucket-empty-state h3{color:var(--text);font:700 21px var(--font-display);margin:0 0 4px}.bucket-empty-state p{color:var(--text-dim);margin:0}.bucket-composer{background:color-mix(in srgb, var(--panel-alt) 82%, transparent);border:1px solid var(--line);border-radius:18px;order:2;gap:20px;padding:22px;display:grid}.bucket-composer>header{align-items:center;gap:13px;display:flex}.bucket-composer>header div{gap:3px;display:grid}.bucket-composer>header .eyebrow{margin:0}.bucket-composer>header h3{color:var(--text);font:700 21px var(--font-display);margin:0}.bucket-composer>header small{color:var(--text-faint)}.bucket-composer-icon{background:color-mix(in srgb, var(--rose) 18%, transparent);color:var(--rose);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.bucket-composer-close{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:0 0 2px;font-size:18px;display:inline-flex}.bucket-composer-close:hover,.bucket-composer-close:focus-visible{border-color:var(--rose);color:var(--rose);outline:none}.bucket-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.bucket-field,.bucket-longing-control{color:var(--text-dim);gap:7px;font-size:12px;display:grid}.bucket-field>span{color:var(--text-dim);font-weight:700}.bucket-field>span small{color:var(--text-faint);font-weight:400}.bucket-field input{background:var(--panel-alt);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:12px;min-height:46px;padding:12px 14px}.bucket-field input:focus{border-color:var(--gold);outline:2px solid color-mix(in srgb, var(--gold) 18%, transparent)}.bucket-place-field{position:relative}.bucket-place-suggestions{background:var(--panel);border:1px solid var(--line);z-index:20;border-radius:12px;max-height:260px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #040a1847}.bucket-place-suggestions button{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:10px;display:grid}.bucket-place-suggestions button:hover,.bucket-place-suggestions button:focus-visible{background:var(--panel-alt);outline:none}.bucket-place-suggestions small,.bucket-search-status{color:var(--text-faint)}.bucket-place-selection{color:var(--text-dim);align-self:end;margin:0 0 14px;font-size:13px}.bucket-place-selection b{color:var(--gold)}.bucket-place-field.wide,.bucket-note-field,.bucket-longing-control,.bucket-form-action{grid-column:1/-1}.bucket-kind-field{border:0;grid-column:1/-1;margin:0;padding:0}.bucket-kind-field legend{color:var(--text-dim);margin-bottom:8px;font-size:12px;font-weight:700}.bucket-kind{background:var(--panel);border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.bucket-kind button{color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;padding:10px 12px}.bucket-kind button.active{background:var(--gold);color:#151b1b;font-weight:700}.bucket-longing-control{border:0;margin:0;padding:0}.bucket-longing-control legend{color:var(--text-dim);margin-bottom:8px;font-weight:700}.bucket-longing-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.bucket-longing-levels button{background:var(--panel);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;border-radius:12px;place-items:center;gap:3px;min-height:76px;padding:9px 5px;display:grid}.bucket-longing-levels button>span{color:var(--rose);font-size:15px}.bucket-longing-levels button small{color:var(--text-faint);font-weight:650;line-height:1.2}.bucket-longing-levels button:hover,.bucket-longing-levels button:focus-visible{border-color:var(--rose);outline:none}.bucket-longing-levels button.active{background:color-mix(in srgb, var(--rose) 13%, var(--panel));border-color:var(--rose);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rose) 45%, transparent)}.bucket-longing-levels button.active small{color:var(--text)}.bucket-form-action{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:2px;padding-top:18px;display:flex}.bucket-form-action>small{color:var(--text-faint);max-width:440px;line-height:1.45}.bucket-form-action .button{flex:none;justify-content:center;min-height:46px}.bucket-wishes{border-top:1px solid var(--line);margin-top:6px;display:grid}.bucket-wish-columns{order:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.bucket-wish-column{background:color-mix(in srgb, var(--panel-alt) 64%, transparent);border:1px solid var(--line);border-radius:16px;gap:10px;padding:16px;display:grid}.bucket-wish-column>header{justify-content:space-between;align-items:end;display:flex}.bucket-wish-column>header h3{margin:0}.bucket-wish-column>header small{color:var(--text-faint)}.bucket-wish-sort{gap:6px;display:flex}.bucket-wish-sort button{background:var(--panel);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:6px 9px;font-size:10px}.bucket-wish-sort button.active{border-color:var(--gold);color:var(--gold)}.bucket-wish-symbol{justify-content:center;align-items:center;width:36px;height:30px;display:flex}.bucket-wish-symbol .city-emblem,.bucket-wish-symbol .city-emblem-wrap{object-fit:contain;width:30px;max-width:34px;height:28px}.bucket-wish-symbol .country-flag{width:32px;height:21px}.bucket-list-more{border:1px solid var(--line);color:var(--gold);cursor:pointer;background:0 0;border-radius:999px;width:100%;padding:8px 11px;font-size:10px}.bucket-wishes article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;display:grid}.bucket-wishes article>div{gap:3px;display:grid}.bucket-wishes small{color:var(--text-dim);font-size:12px}.bucket-wishes .bucket-wish-remove{background:color-mix(in srgb, var(--panel) 78%, transparent);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0 0 2px;font-size:16px;line-height:1;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.bucket-wishes .bucket-wish-remove:hover,.bucket-wishes .bucket-wish-remove:focus-visible{background:color-mix(in srgb, var(--rose) 14%, var(--panel));border-color:var(--rose);color:var(--rose);outline:none}.bucket-longing{color:var(--rose);letter-spacing:2px;font-size:13px}.bucket-empty{color:var(--text-dim);margin:0;font-size:13px}@media (width<=700px){.bucket-list-card{padding:18px}.bucket-list-heading-row{flex-direction:column;align-items:stretch}.bucket-add-action{width:100%}.bucket-empty-state{text-align:center;grid-template-columns:1fr;align-items:stretch}.bucket-empty-state .bucket-composer-icon{justify-self:center}.bucket-composer{padding:16px}.bucket-form{grid-template-columns:1fr}.bucket-place-field,.bucket-field,.bucket-note-field,.bucket-longing-control,.bucket-form-action{grid-column:1}.bucket-form-action{flex-direction:column;align-items:stretch}.bucket-form-action .button{width:100%}.bucket-wish-columns{grid-template-columns:1fr}}.world-map-wish-marker{cursor:default;background:#b384ff;border-color:#fff4dc;box-shadow:0 0 0 3px #b384ff38,0 1px 5px #00000073}.map-legend-item{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.map-legend-item:before{background:var(--teal);content:"";border:2px solid #fff;border-radius:50%;width:8px;height:8px;display:inline-block}.map-legend-item.wished:before{background:#b384ff}.map-legend-item.visited:before{background:#39bde9}.home-km{color:var(--ink);font-family:var(--font-mono);letter-spacing:-.04em;margin:20px 0 10px;font-size:clamp(44px,10vw,68px);font-weight:700;line-height:.92}.home-km span{color:var(--gold);letter-spacing:0;font-size:.35em}@media (width>=1100px){.home-km{font-size:78px}}.map-wish-pin{color:#b384ff;font-size:25px;line-height:1}.dashboard-map-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-map-meta .map-legend-item{margin-left:4px;font-style:normal}.dashboard-map-meta .map-legend-item:first-of-type{margin-left:auto}.capital,.capital-pin{color:var(--gold)!important}.capital-wish-marker{background:var(--gold);border-color:#fff4dc;box-shadow:0 0 0 3px #ffb33d3d,0 1px 5px #00000073}.dashboard-add-trip{white-space:nowrap;padding:10px 15px;font-size:14px}.discover-unlock-card{min-height:190px;padding:30px}.discover-unlock-card .badge-medallion{width:102px;height:102px}.discover-unlock-card .badge-original svg{max-width:92px;max-height:92px}.discover-unlock-card h2{font-size:clamp(25px,3vw,38px)}.badge-card{border:1px solid var(--line);color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.badge-card:hover{border-color:var(--gold);transform:translateY(-1px)}.badge-modal-backdrop{z-index:30;background:#030814b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.first-login-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;background:#030814d1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.first-login-modal{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--panel-alt) 76%, #071426), var(--panel) 72%);border:1px solid color-mix(in srgb, var(--text-dim) 48%, var(--line));text-align:center;border-radius:18px;width:100%;max-width:940px;padding:clamp(32px,5vw,60px);box-shadow:0 28px 100px #0000008f,inset 0 0 55px #050f2340}.first-login-logo{filter:drop-shadow(0 0 13px color-mix(in srgb, var(--gold) 28%, transparent));justify-content:center;margin-bottom:8px}.first-login-logo .trailyx-logo-wordmark{font-size:clamp(34px,5vw,52px)}.first-login-modal>.brand-claim{color:var(--gold);margin:0 auto 22px;font-size:11px}.first-login-modal h2{font:800 clamp(36px, 5vw, 62px)/1 var(--font-display);letter-spacing:.025em;text-transform:uppercase;margin:0}.first-login-divider{background:var(--gold);width:250px;height:1px;margin:24px auto 25px;display:block;position:relative}.first-login-divider:after{background:var(--panel);border:2px solid var(--gold);content:"";width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.first-login-modal h3{margin:0 0 14px;font:700 clamp(19px,2.4vw,28px)/1.3 Georgia,serif}.first-login-modal>p{color:var(--text-dim);max-width:720px;margin:0 auto;font-size:clamp(14px,1.5vw,18px);line-height:1.65}.first-login-features{grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0;display:grid}.first-login-features span{background:color-mix(in srgb, var(--panel-alt) 75%, transparent);border:1px solid color-mix(in srgb, var(--text-dim) 42%, var(--line));border-radius:15px;place-items:center;gap:7px;min-height:150px;padding:22px 15px;display:grid}.first-login-features svg{color:var(--teal);width:36px;height:36px}.first-login-features b{font:750 20px var(--font-display)}.first-login-features small{color:var(--text-dim);line-height:1.35}.first-login-button{background:var(--gold);color:#0b1427;font:800 17px var(--font-display);min-width:min(370px,100%);padding:17px 26px}.first-login-button:hover{filter:brightness(1.08)}.first-login-name-form{justify-items:center;display:grid}.first-login-name-form>p{color:var(--text-dim);max-width:650px;margin:0 auto;font-size:clamp(14px,1.5vw,18px);line-height:1.65}.first-login-name-form label{text-align:left;gap:8px;width:100%;max-width:440px;margin:30px 0 22px;display:grid}.first-login-name-form label span{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:750}.first-login-name-form input{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:13px;outline:none;width:100%;padding:15px 17px;font-size:18px}.first-login-name-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 14%, transparent)}@media (width<=680px){.first-login-backdrop{align-items:flex-start;padding:14px;overflow:auto}.first-login-modal{margin:auto 0;padding:30px 20px}.first-login-modal h2{font-size:32px}.first-login-divider{width:180px;margin:18px auto}.first-login-features{grid-template-columns:1fr;gap:10px;margin:24px 0}.first-login-features span{text-align:left;grid-template-columns:auto 1fr;justify-items:start;min-height:0}.first-login-features span svg{grid-row:1/3}}.badge-modal{background:var(--panel);border:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:22px;width:min(100%,560px);max-width:560px;max-height:calc(100dvh - 40px);padding:34px;position:relative;overflow-y:auto;box-shadow:0 20px 70px #00000061}.badge-modal>.badge-medallion{width:180px;height:180px;margin-bottom:20px}.badge-modal>.badge-medallion .badge-original svg{max-width:166px;max-height:166px}.badge-modal h2{overflow-wrap:anywhere;margin:5px 0 10px;font-size:clamp(24px,3vw,34px)}.badge-modal>p:not(.eyebrow){color:var(--text-dim);font-size:14px;line-height:1.55}.badge-modal dl{border-top:1px solid var(--line);gap:12px;margin:22px 0 0;padding-top:18px;display:grid}.badge-modal dl div{gap:3px;display:grid}.badge-modal dt{color:var(--text-faint);font-size:12px}.badge-modal dd{color:var(--text);margin:0;font-size:14px;font-weight:700}.badge-modal .badge-modal-missing{background:color-mix(in srgb, var(--rose) 12%, var(--panel-alt));border:1px solid color-mix(in srgb, var(--rose) 42%, var(--line));border-radius:11px;padding:11px 12px}.badge-modal .badge-modal-missing dt,.badge-modal .badge-modal-missing dd{color:var(--rose)}.badge-modal .badge-modal-context{background:color-mix(in srgb, var(--teal) 8%, var(--panel-alt));border-radius:10px;padding:10px 12px}.badge-modal-close{background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);color:var(--text);cursor:pointer;z-index:2;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;margin-left:auto;font-size:28px;line-height:1;display:flex;position:sticky;top:0;box-shadow:0 4px 14px #0003}.badge-modal-close:hover{color:var(--gold)}.discover-unlock-card{grid-template-rows:auto 1fr;grid-template-columns:120px minmax(0,1fr);align-items:center;display:grid}.discover-unlock-card>.eyebrow{grid-column:1/-1}.discover-unlock-card>div{align-self:center;gap:8px;display:grid}.badge-progress{gap:5px;margin-top:7px;display:grid}.badge-progress i{background:var(--line);border-radius:999px;height:5px;display:block;overflow:hidden}.badge-progress i b{background:linear-gradient(90deg, var(--teal), var(--gold));border-radius:inherit;height:100%;display:block}.badge-progress small{color:var(--text-faint);font-size:10px}.near-badge-row .badge-progress{max-width:230px}.badge-card .badge-progress{max-width:220px}.badge-search{background:var(--surface);border:1px solid var(--line);color:var(--text-faint);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.badge-search:focus-within{border-color:var(--gold)}.badge-search input{color:var(--text);font:inherit;background:0 0;border:0;outline:0;width:100%;padding:13px 0}.badge-search input::placeholder{color:var(--text-faint)}.hero-place .country-flag{width:28px;height:20px}.insight-show-more{justify-self:start;margin-top:16px}@media (width<=760px){.mode-chart-layout{grid-template-columns:1fr}.ranked-bar{grid-template-columns:30px minmax(70px,1fr)}.ranked-bar>b{text-align:left;grid-column:2}.ranked-bar>i{grid-column:2}.co2-line-chart{overflow-x:auto}.co2-line-chart svg{min-width:680px}}@media (width<=620px){.discover-unlock-card{grid-template-columns:1fr}.discover-unlock-card>.badge-medallion{justify-self:start}}.dashboard-context-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:-4px 0 24px;display:grid}.dashboard-level-mini{appearance:none;background:var(--panel);border:1px solid var(--line);color:inherit;cursor:pointer;text-align:left;border-radius:18px;align-items:center;gap:12px;width:100%;padding:14px 17px;display:flex}.dashboard-level-mini:hover,.dashboard-context-strip .dashboard-location-card:hover{border-color:var(--gold)}.dashboard-level-mini>span{color:#a894ff;font:700 18px var(--font-mono);border:2px solid #a894ff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:grid}.dashboard-level-mini>div{gap:2px;min-width:0;display:grid}.dashboard-level-mini .eyebrow{margin:0}.dashboard-level-mini strong{font-family:var(--font-display)}.dashboard-level-mini small{color:var(--text-faint);font-size:11px}.dashboard-level-mini>em{color:var(--gold);margin-left:auto;font-size:20px;font-style:normal}.dashboard-level-mini i{background:var(--line);border-radius:999px;width:100%;height:4px;margin-top:5px;display:block;overflow:hidden}.dashboard-level-mini i b{background:linear-gradient(90deg, #a894ff, var(--gold));border-radius:inherit;height:100%;display:block}.dashboard-context-strip .dashboard-location-card{cursor:pointer;margin:0}.dashboard-context-strip .dashboard-location-card .button{padding:9px 13px;font-size:12px}@media (width<=760px){.dashboard-context-strip{grid-template-columns:1fr}}.nav-label-mobile,.topbar nav>button>svg,.topbar-settings-label>svg{display:none}@media (width<=720px){.app-shell{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.topbar{background:var(--bg);border-bottom-color:color-mix(in srgb, var(--line) 70%, transparent);z-index:35;gap:10px;padding:12px 0 10px;position:sticky;top:0}.topbar .brand-lockup{gap:1px}.topbar .trailyx-logo-mark{width:34px;height:34px}.topbar .trailyx-logo-wordmark{font-size:21px}.topbar .brand-claim{display:none}.topbar nav{background:color-mix(in srgb, var(--panel) 96%, transparent);border-top:1px solid var(--line);padding:7px max(5px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));z-index:50;grid-column:auto;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:0;width:auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:visible;box-shadow:0 -10px 32px #03081447}.topbar nav button{color:var(--text-faint);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:48px;padding:5px 2px;font-size:9px;display:flex}.topbar nav button.active{background:color-mix(in srgb, var(--gold) 12%, transparent);color:var(--gold);border-color:#0000}.topbar nav>button>svg,.topbar-settings-label>svg,.nav-label-mobile{display:block}.topbar-settings-label{flex-direction:column;align-items:center;gap:3px;position:relative}.nav-label-full{display:none}.topbar-settings-label .notification-dot{border-color:var(--panel);position:absolute;top:-1px;right:3px}.dashboard,.trips-page,.map-page,.discover-hub,.insights-page,.profile-page,.settings-page,.trip-form-page,.trip-detail-page{padding-top:24px;padding-bottom:30px}.dashboard-intro,.trips-heading,.discover-hub-heading{gap:14px;margin-bottom:22px}.dashboard-intro h1,.trips-heading h1,.discover-hub-heading h1,.settings-page>h1,.profile-page>h1,.trip-form-page h1,.trip-detail-page h1{overflow-wrap:anywhere;font-size:clamp(32px,10vw,44px);line-height:1.02}.dashboard-intro>div>p,.trips-heading p:not(.eyebrow),.discover-hub-heading p,.form-intro{font-size:14px;line-height:1.5}.dashboard-intro .button,.trips-heading .button{width:100%;min-height:44px}.trips-heading{flex-direction:column;align-items:stretch}.year-card,.panel,.dashboard-card,.detail-card,.trip-side-card,.discover-unlock-card,.discover-near-card,.discover-feature,.insight-card,.settings-detail{border-radius:16px}.year-card,.dashboard-year-card,.dashboard-card,.detail-card,.trip-side-card,.discover-unlock-card,.discover-near-card,.discover-feature,.insight-card{padding:16px}.year-number,.home-km{font-size:clamp(48px,17vw,66px)}.dashboard-year-card{gap:18px}.dashboard-year-modes{gap:9px;padding-top:17px}.dashboard-year-card .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-year-card .kpi-grid b{font-size:15px}.dashboard-year-card .kpi-grid span{font-size:9px}.dashboard-context-strip{gap:9px}.planned-trip-card,.previous-trip-card{box-sizing:border-box;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:11px;min-height:112px;padding:12px 34px 12px 12px;position:relative;overflow:hidden}.planned-trip-card img:not(.city-emblem):not(.country-flag),.previous-trip-card img:not(.city-emblem):not(.country-flag),.trip-thumbnail-placeholder{width:48px;height:48px}.planned-trip-card .trip-thumbnail-placeholder,.previous-trip-card .trip-thumbnail-placeholder,.trip-thumbnail-placeholder{box-sizing:border-box;grid-template-columns:1fr;width:48px;height:48px;padding:6px}.trip-thumbnail-placeholder b{display:none}.trip-thumbnail-placeholder:before{top:20px;left:5px;right:5px}.trip-thumbnail-placeholder:after{display:none}.trip-thumbnail-placeholder i{grid-column:1;width:23px;height:23px}.planned-trip-card>:last-child,.previous-trip-card>:last-child{grid-column:auto}.planned-trip-card>div,.previous-trip-card>div{width:100%;min-width:0}.planned-trip-card>.arrow,.previous-trip-card>.arrow{color:var(--gold);font-size:25px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.planned-trip-topline{flex-flow:wrap;align-items:center;gap:5px 8px}.planned-trip-topline>small,.previous-trip-card>div>small{font-variant-numeric:tabular-nums;white-space:normal;line-height:1.35}.planned-trip-copy>small,.previous-trip-card>div>small{line-height:1.35}.trip-card-route{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:5px;margin-top:7px}.trip-card-route strong{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;text-overflow:clip;white-space:normal;font-size:15px;line-height:1.2;overflow:visible}.planned-trip-card .trip-card-route .route-country,.previous-trip-card .trip-card-route .route-country{min-height:14px;margin-top:2px;display:flex}.planned-trip-card .trip-card-route .route-country>span:last-child,.previous-trip-card .trip-card-route .route-country>span:last-child{display:none}.planned-trip-card .trip-card-route .route-country .country-flag,.previous-trip-card .trip-card-route .route-country .country-flag{flex-basis:18px;width:18px;height:12px}.planned-trip-card .trip-card-route>i,.previous-trip-card .trip-card-route>i{border-top-color:color-mix(in srgb, var(--gold) 38%, var(--line))}.planned-trip-card .trip-card-transport-icons svg,.previous-trip-card .trip-card-transport-icons svg{width:14px;height:14px;margin-top:-12px;padding:4px}.planned-trip-copy p,.previous-trip-card p{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);margin-top:9px;padding-top:8px;font-size:11px;line-height:1.4}.active-trips-section,.planned-trips-section,.all-trips-section{background:0 0;border:0;border-radius:0;margin-top:28px;padding:0}.section-title{margin-bottom:12px}.previous-trips-grid{grid-template-columns:1fr;gap:10px}.latest-trip-card{border-radius:16px;min-height:260px;padding:14px}.latest-trip-card>.trip-card-route{margin-bottom:88px}.latest-trip-card .trip-card-route strong{font-size:20px}.latest-metrics>span{padding:10px 5px}.trip-sort-row{flex-direction:column;align-items:stretch}.trips-toolbar{grid-template-columns:1fr;align-items:stretch;margin-top:4px}.trips-toolbar .trip-sort-row{gap:6px}.trip-sort-row select{width:100%;min-height:44px}.trip-form fieldset{border-radius:14px;padding:17px 14px}.form-place-grid{grid-template-columns:1fr}.place-swap{place-self:center;margin:-4px 0;transform:rotate(90deg)}.trip-form input,.trip-form select,.trip-form textarea,.date-range-button{min-height:46px;font-size:16px}.form-actions{flex-direction:column-reverse;gap:9px}.form-actions button{flex:auto;width:100%;min-height:46px}.back-button,.discover-back-button{min-height:42px;margin-bottom:16px}.trip-hero,.trip-hero.has-cover{border-radius:16px;height:285px;min-height:285px;padding:14px}.hero-date-chip{max-width:calc(100% - 72px);padding:7px 10px;font-size:11px;top:14px;left:14px}.hero-share{width:38px;height:38px;top:14px;right:14px}.hero-flight-badge{font-size:11px;top:58px;left:14px}.hero-route{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);gap:7px;bottom:20px;left:14px;right:14px}.hero-place strong{overflow-wrap:anywhere;font-size:clamp(20px,6.4vw,27px)}.hero-place span{font-size:11px}.hero-place .hero-country{gap:5px}.hero-place .hero-country>span:last-child{display:none}.hero-line{padding-bottom:14px}.transport-icon{width:40px;height:40px}.trip-detail-title{padding-left:0;padding-right:0}.trip-detail-title .detail-date{font-size:13px;line-height:1.55}.trip-side-card{order:initial}.route-detail-card h2{font-size:28px}.leg-row strong{align-items:flex-start;font-size:13px;line-height:1.4}.leg-enrichment-card{padding:12px}.connection-detail-card{margin-left:0}.trip-actions-bottom{flex-direction:column;align-items:stretch}.trip-actions-bottom .button{justify-content:center;width:100%;min-height:44px}.discover-hub,.insights-page{gap:16px}.level-hero-top,.near-badge-row{align-items:flex-start}.level-hero-top>strong{white-space:normal}.discover-grid,.insights-grid,.discover-achievement-grid{grid-template-columns:1fr}.discover-feature,.discover-card{min-height:0}.card-action,.discover-hub .text-button{min-height:42px}.badge-modal{scrollbar-gutter:auto;max-height:calc(100dvh - 24px);padding:24px 18px}.settings-page,.trip-form-page{max-width:none}.settings-list button,.profile-action-list button{min-height:58px;padding:15px 16px}.theme-settings,.settings-option{flex-direction:column;align-items:stretch}.theme-choice{grid-template-columns:repeat(3,1fr);display:grid}.theme-choice button{min-height:42px;padding:8px 5px}.settings-detail{padding:18px 15px}.profile-summary{border-radius:16px}.app-toast{bottom:calc(76px + env(safe-area-inset-bottom))}.first-login-modal{border-radius:16px;padding:24px 16px}.first-login-modal h2{font-size:28px}.first-login-modal h3{font-size:18px}}@media (width<=360px){.topbar nav button{font-size:8px}.topbar nav button svg{width:18px;height:18px}.hero-route{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}}
