html{color-scheme:dark light}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}:root,[data-theme=dark]{--font-sans: "Inter", system-ui, sans-serif;--color-bg: #0D0F12;--color-surface: #151820;--color-surface-2: #1E2230;--color-border: #2A2E3E;--color-accent: #3B7BF6;--color-accent-dim: rgba(59, 123, 246, .15);--color-success: #22C55E;--color-warning: #F59E0B;--color-danger: #EF4444;--color-purple: #A78BFA;--color-text-1: #F1F3F8;--color-text-2: #8B90A0;--color-text-3: #8B90A0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}[data-theme=light]{--color-bg: #F8F9FB;--color-surface: #FFFFFF;--color-surface-2: #F1F3F7;--color-border: #E2E6EE;--color-accent: #2563EB;--color-accent-dim: rgba(37, 99, 235, .1);--color-success: #16A34A;--color-warning: #92400E;--color-danger: #DC2626;--color-purple: #7C3AED;--color-text-1: #0F1117;--color-text-2: #5A6478;--color-text-3: #626878;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text-1);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease;overflow-x:hidden}@keyframes map-pulse{0%,to{opacity:.8}50%{opacity:.15}}.map-pulse-ring{animation:map-pulse 1.4s ease-in-out infinite;will-change:opacity}.btn-primary{height:44px;padding:0 24px;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s;text-decoration:none}.btn-primary:hover{filter:brightness(1.12)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-secondary{height:44px;padding:0 20px;border-radius:var(--radius-md);background:transparent;color:var(--color-text-2);border:1px solid var(--color-border);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-text-1)}.uploader{border:2px dashed var(--color-border);border-radius:8px;padding:28px 24px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:20px;outline:none}.uploader:hover,.uploader:focus-visible{border-color:var(--color-accent);background:var(--color-accent-dim)}.uploader--dragging{border-color:var(--color-accent);background:var(--color-accent-dim)}.uploader__icon{width:32px;height:32px;color:var(--color-text-3);transition:color .15s ease}.uploader:hover .uploader__icon,.uploader:focus-visible .uploader__icon,.uploader--dragging .uploader__icon{color:var(--color-accent)}.uploader__text{font-size:15px;font-weight:500;color:var(--color-text-2)}.uploader__subtext{font-size:13px;color:var(--color-text-3)}.uploader__file-info{display:flex;align-items:center;gap:8px}.uploader__check{color:var(--color-success);flex-shrink:0;width:18px;height:18px}.uploader__filename{font-size:13px;font-weight:500;color:var(--color-text-1);word-break:break-all;max-width:320px}.uploader__filesize{font-size:11px;color:var(--color-text-3)}@media (min-width: 601px) and (max-width: 900px){.landing-hero{padding-top:56px!important;padding-bottom:48px!important}}@media (max-width: 600px){.landing-hero{padding-top:40px!important;padding-bottom:32px!important}.page-hero{padding-top:32px!important;padding-bottom:24px!important}.upload-drop-zone{padding:28px 20px!important}}.nav-hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;color:var(--color-text-1);border-radius:var(--radius-md);flex-shrink:0}.nav-hamburger:hover{background:var(--color-surface-2)}.nav-drawer{display:none;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column}.nav-drawer.open{display:flex}.nav-drawer a{display:flex;align-items:center;padding:14px 20px;font-size:15px;color:var(--color-text-1);text-decoration:none;border-bottom:1px solid var(--color-border);min-height:48px}.nav-drawer a:hover{background:var(--color-surface-2)}.nav-drawer a.active{color:var(--color-accent);font-weight:500}.nav-drawer-separator{height:1px;background:var(--color-border);margin:4px 0}.explainer-content p{margin:0 0 10px;color:var(--color-text-2)}.explainer-content p:last-child{margin-bottom:0}.explainer-content ul{margin:0 0 10px;padding-left:20px}.explainer-content li{margin-bottom:4px;color:var(--color-text-2)}.explainer-content strong{color:var(--color-text-1);font-weight:600}.explainer-content a{color:var(--color-accent)}@media (max-width: 600px){.nav-hamburger{display:flex}.explainer-card-grid{grid-template-columns:1fr!important}.explainer-svg-col{border-left:none!important;border-top:1px solid var(--color-border);min-height:160px!important}.nav-links{display:none!important}.stats-grid-4{grid-template-columns:repeat(2,1fr)!important}.editor-split{flex-direction:column!important;overflow-y:auto!important}.editor-split-map{flex:none!important;width:100%!important;height:50vh!important;min-height:300px!important}.editor-split-panel{flex:none!important;width:100%!important;border-left:none!important;border-top:1px solid var(--color-border);min-height:300px!important}}.route-map-panel .leaflet-container{height:220px!important}.route-map-panel .map-wrapper{margin-bottom:0;border-radius:0}.adsbygoogle[data-ad-status=unfilled]{display:none!important}@media print{body.print-nutrition *{visibility:hidden}body.print-nutrition .nutrition-print-area,body.print-nutrition .nutrition-print-area *{visibility:visible}body.print-nutrition .nutrition-print-area{position:absolute;top:0;left:0;width:100%;padding:20px}body.print-nutrition{background:#fff!important;color:#000!important}body.print-nutrition .route-map-panel{display:none!important}body.print-nutrition .print-only-header{display:block!important}body.print-nutrition .panel-card__header{display:none!important}@page{margin:15mm;size:A4}}
