*{box-sizing:border-box}body{color:#111827;background:#f4f6f8;margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.hero{height:100dvh;position:relative;overflow:hidden}.map-shell{z-index:0;position:absolute;inset:0}.map-panel{filter:saturate(.75)contrast(1.15);width:100%;height:100%}.nav{z-index:5;justify-content:space-between;padding:18px 24px;display:flex;position:absolute;top:0;left:0;right:0}.logo{font-size:20px;font-weight:800}.card{z-index:5;background:#fff;border-radius:18px;width:min(440px,100% - 64px);padding:26px;position:absolute;top:90px;left:32px;box-shadow:0 15px 45px #0002}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;padding-top:30px;display:flex}.card h1{margin:0 0 8px;font-size:32px}.collapse-toggle{z-index:1;color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:-24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0002}.collapse-toggle:hover{background:#f9fafb}.collapse-toggle:focus-visible{outline-offset:2px;outline:3px solid #2563eb}.collapse-arrow{width:22px;height:22px}.card-collapsed .collapse-arrow{animation:1.4s ease-in-out infinite expand-arrow-hint}.card:not(.card-collapsed) .collapse-arrow{animation:1.4s ease-in-out infinite collapse-arrow-hint}@keyframes expand-arrow-hint{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes collapse-arrow-hint{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.collapse-arrow{animation:none}}.card-content{min-height:0}.card-collapsed{padding-bottom:18px}.card-collapsed .card-content{display:none}.muted{color:#6b7280}.input{border:1px solid #d1d5db;border-radius:10px;width:100%;margin:8px 0;padding:13px}.buttons{gap:10px;margin-top:10px;display:flex}.radius-field{margin-top:8px;font-size:14px;font-weight:700;display:block}.radius-field .input{display:block}.btn{cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:700;display:inline-block}button.btn:disabled{opacity:.5;cursor:not-allowed}.primary{color:#fff;background:#111827}.secondary{background:#e5e7eb}.page{min-height:100vh;padding:40px 20px}.form{background:#fff;border-radius:18px;max-width:650px;margin:auto;padding:28px;box-shadow:0 8px 30px #0001}.form label{margin-top:15px;font-weight:700;display:block}.form button{margin-top:12px}.requirements-page{max-width:1400px;margin:0 auto;display:block}.requirements-list{max-width:none;display:none}.requirements-map-panel{width:100%;max-width:none;min-height:70vh;margin:0;padding:0;overflow:hidden}.back-to-search{margin:12px 12px 0}.requirements-map-shell{border-radius:14px;height:70vh;min-height:500px;margin-top:12px;position:relative;overflow:hidden}.requirements-map-shell .map-panel{width:100%;height:100%;min-height:500px}.route-info-window{color:#111827;width:280px;max-width:calc(100vw - 80px);padding:4px;font-family:Arial,sans-serif;font-size:13px;line-height:1.45}.route-info-scroller{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;width:100%;overflow:auto hidden}.route-info-scroller::-webkit-scrollbar{display:none}.route-info-table{border-collapse:collapse;width:max-content}.route-info-table tr+tr{border-top:1px solid #e5e7eb}.route-info-table th,.route-info-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-right:1px solid #e5e7eb;padding:7px 10px}.route-info-table th{color:#6b7280;letter-spacing:.04em;text-transform:uppercase;width:92px;font-size:11px;font-weight:700}.route-info-table td.route-info-value{min-width:140px;font-weight:600}.route-info-message span{color:#374151;font-weight:400}.hero .requirements-map-shell{border-radius:0;height:auto;min-height:0;margin:0;position:absolute;inset:0}.hero .requirements-map-shell .map-panel{min-height:0}@media (max-width:640px){.hero{min-height:100dvh}.nav{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;align-items:center}.logo{font-size:16px}.nav .btn{padding:10px 12px}.card{width:100%;max-height:72dvh;padding:20px 20px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;top:auto;bottom:0;left:0;overflow:visible}.card-content{max-height:calc(72dvh - 130px);overflow-y:auto}.card-header{align-items:center}.card h1{margin:0;font-size:25px}.card p{margin:6px 0 10px}.card .input{font-size:16px}.buttons{flex-wrap:wrap}.buttons .btn{text-align:center;flex:130px;padding:12px 10px}.card-collapsed{padding:14px 20px calc(14px + env(safe-area-inset-bottom))}}
