@font-face{font-family:V;src:url(/fonts/Vazirmatn-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:V;src:url(/fonts/Vazirmatn-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:V;src:url(/fonts/Vazirmatn-Bold.ttf) format("truetype");font-weight:700;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;background:#0b0d12;color:#f2f3f7;-webkit-font-smoothing:antialiased}body,button,html,input,textarea{font-family:V,system-ui,sans-serif}#map{width:100%;height:100%;position:absolute;inset:0;z-index:0}.maplibregl-ctrl-top-left{margin:72px 0 0 10px!important}.maplibregl-ctrl button{background:rgba(18,21,28,.92)!important;border:1px solid rgba(255,255,255,.08)!important;width:38px!important;height:38px!important}.maplibregl-ctrl-group{border-radius:12px!important;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.4)!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-popup-content{background:#141821!important;color:#f2f3f7!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:0 8px 32px rgba(0,0,0,.6)!important;font-family:V,system-ui!important;direction:rtl;font-size:13px;min-width:160px}.maplibregl-popup-tip{border-top-color:#141821!important;border-bottom-color:#141821!important}.maplibregl-popup-close-button{color:#8b93a7!important;font-size:16px!important;padding:6px 10px!important;left:0;right:auto!important}.pop-title{font-weight:700;font-size:14px;margin-bottom:2px}.pop-sub{font-size:11px;color:#8b93a7;margin-bottom:10px}.pop-badges{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.pop-badge{font-size:10px;padding:2px 8px;border-radius:99px;color:#fff;font-weight:500}.pop-actions{display:flex;gap:6px}.pop-actions button{flex:1 1;padding:7px 10px;border-radius:9px;border:none;font-size:12px;font-weight:600;cursor:pointer}.pop-from{background:#22c55e22;color:#4ade80;border:1px solid #22c55e44!important}.pop-to{background:#ef444422;color:#f87171;border:1px solid #ef444444!important}.top{position:fixed;top:12px;right:12px;left:12px;z-index:10;display:flex;gap:8px;align-items:center;direction:rtl}.logo{font-weight:700;font-size:15px;background:rgba(18,21,28,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:11px 16px;white-space:nowrap;box-shadow:0 4px 24px rgba(0,0,0,.4)}.logo span{color:#5eead4}.s-wrap{flex:1 1;position:relative;max-width:420px}.s-wrap input{width:100%;padding:11px 40px 11px 14px;background:rgba(18,21,28,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#f2f3f7;font-size:13px;outline:none;box-shadow:0 4px 24px rgba(0,0,0,.4);transition:border-color .2s}.s-wrap input:focus{border-color:rgba(94,234,212,.4)}.s-wrap input::placeholder{color:#69718a}.s-wrap .s-ic{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#69718a;pointer-events:none}.s-drop{position:absolute;top:calc(100% + 6px);right:0;left:0;background:#12151c;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:5px;max-height:300px;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.6);direction:rtl}.s-item{padding:10px 12px;cursor:pointer;border-radius:10px;display:flex;align-items:center;gap:10px}.s-item.hl,.s-item:hover{background:rgba(255,255,255,.06)}.s-item .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.s-item .nm{font-size:13px;font-weight:500;flex:1 1}.s-item .ln{font-size:10px;color:#8b93a7}.fabs{position:fixed;bottom:24px;right:12px;left:12px;z-index:10;justify-content:center;direction:rtl;pointer-events:none}.fab,.fabs{display:flex;gap:8px}.fab{pointer-events:auto;align-items:center;padding:13px 22px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(18,21,28,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#f2f3f7;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.5);transition:transform .15s,background .2s}.fab:active{transform:scale(.96)}.fab.primary{background:#0d9488;border-color:#14b8a6}.fab svg{width:18px;height:18px}.overlay{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s}.overlay.show{opacity:1;pointer-events:auto}.sheet{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#10131a;border-radius:22px 22px 0 0;border-top:1px solid rgba(255,255,255,.09);box-shadow:0 -12px 48px rgba(0,0,0,.6);transform:translateY(105%);transition:transform .38s cubic-bezier(.32,.72,0,1);max-height:82dvh;display:flex;flex-direction:column;direction:rtl}.sheet.show{transform:translateY(0)}.sheet-handle{width:38px;height:4px;border-radius:2px;background:rgba(255,255,255,.18);margin:10px auto 2px;flex-shrink:0}.sheet-header{justify-content:space-between;padding:8px 18px 12px;flex-shrink:0}.sheet-header,.sheet-title{display:flex;align-items:center}.sheet-title{font-weight:700;font-size:16px;gap:8px}.sheet-close{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.07);border:none;color:#8b93a7;font-size:15px;cursor:pointer}.sheet-body{padding:0 18px 28px;overflow-y:auto}@media(min-width:640px){.sheet{left:auto;right:16px;width:420px;border-radius:22px;bottom:16px;max-height:78dvh;border:1px solid rgba(255,255,255,.09)}}.ep{gap:10px;margin-bottom:10px}.ep,.ep .rail{display:flex;align-items:center}.ep .rail{flex-direction:column;align-self:stretch;justify-content:center}.ep-dot{width:11px;height:11px;border-radius:50%}.ep-input{flex:1 1;position:relative}.ep-input input{width:100%;padding:12px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:13px;color:#f2f3f7;font-size:13px;outline:none;transition:border-color .2s}.ep-input input:focus{border-color:rgba(94,234,212,.45)}.ep-input input::placeholder{color:#69718a}.ep-btns{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.chip{padding:8px 13px;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:#c6cbda;font-size:11.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s}.chip:active{transform:scale(.96)}.chip.on{border-color:#14b8a6;color:#5eead4;background:rgba(20,184,166,.12)}.chip svg{width:13px;height:13px}.swap{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:#8b93a7;font-size:15px;flex-shrink:0}.btn,.swap{cursor:pointer}.btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border-radius:13px;border:none;font-size:13.5px;font-weight:700;width:100%;transition:transform .15s,opacity .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:#0d9488;color:#fff}.btn-ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:#f2f3f7}.stats{display:flex;gap:8px;margin:4px 0 16px}.stat{flex:1 1;padding:12px 8px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);text-align:center}.stat b{display:block;font-size:20px;font-weight:700;color:#5eead4}.stat span{font-size:10.5px;color:#8b93a7}.walk{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.15);margin-bottom:10px;font-size:12px;color:#c6cbda}.walk b{color:#f2f3f7}.leg{border-right:3px solid;border-radius:3px;padding-right:14px;margin-bottom:14px;position:relative}.leg-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.leg-badge{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:99px;color:#fff}.leg-dir{font-size:11px;color:#8b93a7}.leg-st{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:12.5px;color:#c6cbda}.leg-st.end{font-weight:700;color:#f2f3f7;font-size:13px}.leg-st .tick{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5;flex-shrink:0}.leg-st.end .tick{width:10px;height:10px;opacity:1}.leg-more{font-size:11px;color:#69718a;padding:3px 16px;cursor:pointer}.transfer{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;background:rgba(245,158,11,.09);border:1px solid rgba(245,158,11,.25);margin-bottom:14px;font-size:12px;color:#fbbf24}.chat{display:flex;flex-direction:column;gap:10px;min-height:200px}.msg{max-width:88%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.9;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-start;background:#0d9488;color:#fff;border-radius:16px 16px 16px 5px}.msg.ai{align-self:flex-end;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:16px 16px 5px 16px}.chat-row{display:flex;gap:8px;margin-top:12px;flex-shrink:0;padding:0 18px 18px}.chat-row input{flex:1 1;padding:12px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:13px;color:#f2f3f7;font-size:13px;outline:none}.chat-row input:focus{border-color:rgba(94,234,212,.45)}.chat-send{width:44px;height:44px;border-radius:13px;background:#0d9488;border:none;color:#fff;cursor:pointer;font-size:16px;flex-shrink:0}.chat-send:disabled{opacity:.4}.typing{display:inline-flex;gap:3px;align-items:center}.typing i{width:5px;height:5px;border-radius:50%;background:#5eead4;animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.place-marker{font-size:22px;line-height:1;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));transition:transform .15s}.place-marker:hover{transform:scale(1.2)}.place-marker.temp,.poi-marker.temp{animation:drop .4s cubic-bezier(.32,.72,0,1)}.place-marker.preview{opacity:.4;cursor:default;filter:drop-shadow(0 0 4px rgba(94,234,212,.5))}.place-marker.preview:hover{transform:none}@keyframes drop{0%{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}.pop-del{background:rgba(255,255,255,.06);color:#8b93a7;border:1px solid rgba(255,255,255,.12)!important;flex:0 0 36px!important}.place-row{gap:6px;margin-bottom:8px}.p-main,.place-row{display:flex;align-items:center}.p-main{flex:1 1;gap:10px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#f2f3f7;cursor:pointer;text-align:right;min-width:0}.p-main:hover{background:rgba(255,255,255,.07)}.p-ic{font-size:17px;flex-shrink:0}.p-nm{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-act,.p-nm{font-weight:600}.p-act{padding:9px 11px;border-radius:11px;border:none;font-size:11.5px;cursor:pointer;flex-shrink:0}.p-act.from{background:#22c55e22;color:#4ade80;border:1px solid #22c55e44}.p-act.to{background:#ef444422;color:#f87171;border:1px solid #ef444444}.p-act.del{background:rgba(255,255,255,.05);color:#8b93a7;border:1px solid rgba(255,255,255,.09)}.sec-title{font-size:12px;font-weight:700;color:#8b93a7;margin:16px 0 10px}.fld{width:100%;padding:12px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:13px;color:#f2f3f7;font-size:13px;outline:none;margin-bottom:8px;transition:border-color .2s}.fld:focus{border-color:rgba(94,234,212,.45)}.fld::placeholder{color:#69718a}.icon-row{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);font-size:17px;cursor:pointer;transition:all .15s}.icon-btn.on{border-color:#14b8a6;background:rgba(20,184,166,.15)}.loc-chip{padding:9px 13px;border-radius:11px;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.3);color:#5eead4;font-size:12px;margin-bottom:10px}.s-item .em{font-size:15px;flex-shrink:0;width:15px;text-align:center}.gpill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:rgba(66,133,244,.12);border:1px solid rgba(66,133,244,.35);color:#8ab4f8;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s;align-self:flex-start}.gpill:hover{background:rgba(66,133,244,.2)}.gpill.wide{display:flex;justify-content:center;margin-bottom:12px;align-self:stretch}.walk.col{flex-direction:column;align-items:stretch;gap:8px}.msg.action{align-self:center;max-width:100%;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.3);color:#5eead4;font-size:12px;padding:8px 14px;border-radius:99px}.poi-block{display:flex;flex-direction:column;gap:6px;align-self:stretch}.poi-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#f2f3f7;cursor:pointer;text-align:right;width:100%;transition:background .15s,transform .15s}.poi-card:hover{background:rgba(255,255,255,.08)}.poi-card:active{transform:scale(.98)}.poi-idx{width:20px;height:20px;border-radius:50%;background:#0d9488;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.poi-ic{font-size:17px;flex-shrink:0}.poi-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.poi-nm{font-size:13px;font-weight:600}.poi-nm,.poi-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poi-sub{font-size:10.5px;color:#8b93a7}.poi-dist{font-size:11px;font-weight:700;color:#5eead4;flex-shrink:0;text-align:left;display:flex;flex-direction:column;gap:1px}.poi-dist i{font-style:normal;font-weight:500;font-size:10px;color:#8b93a7}.poi-marker{position:relative;font-size:20px;line-height:1;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));transition:transform .15s}.poi-marker:hover{transform:scale(1.2)}.poi-n{position:absolute;top:-7px;right:-7px;width:15px;height:15px;border-radius:50%;background:#0d9488;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:1.5px solid #0b0d12}.hint{top:70px;z-index:15;background:rgba(13,148,136,.95);color:#fff;padding:10px 20px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.4)}.hint,.vpn{position:fixed;left:50%;transform:translateX(-50%);direction:rtl}.vpn{top:64px;z-index:14;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:99px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fbbf24;font-size:11.5px;font-weight:500;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.35);animation:vpn-in .35s cubic-bezier(.32,.72,0,1)}.vpn svg{width:13px;height:13px;flex-shrink:0;opacity:.9}.vpn button{background:none;border:none;color:#fbbf24;opacity:.5;cursor:pointer;font-size:14px;line-height:1;padding:0;margin-left:1px}.vpn button:hover{opacity:1}@keyframes vpn-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.imp{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:14;display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:99px;background:rgba(20,184,166,.12);border:1px solid rgba(20,184,166,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#5eead4;font-size:11.5px;font-weight:500;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.35);direction:rtl;animation:vpn-in .35s cubic-bezier(.32,.72,0,1)}.imp svg{width:13px;height:13px;flex-shrink:0;opacity:.9}.imp button{background:rgba(20,184,166,.2);border:1px solid rgba(20,184,166,.45);color:#5eead4;border-radius:99px;padding:3px 11px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}.imp button:hover{background:rgba(20,184,166,.32)}.imp button.ghost{background:none;border-color:rgba(255,255,255,.14);color:#8b93a7}.imp button.ghost:hover{color:#c6cbda}.sheet-actions{display:flex;gap:6px}.sheet-actions .sheet-close{display:flex;align-items:center;justify-content:center}.sheet-actions .sheet-close svg{width:15px;height:15px}.qr-card{justify-content:center;padding:16px;background:#f2f3f7;border-radius:16px}.qr-card,.share-url{display:flex;margin-bottom:12px}.share-url{align-items:center;padding:10px 13px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:11px;color:#8b93a7;direction:ltr;overflow:hidden}.share-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.share-hint{font-size:11.5px;color:#8b93a7;line-height:1.9;margin-bottom:12px;text-align:center}.share-count{font-size:11px;color:#8b93a7;align-self:center;margin-right:auto}.fleet-ctrl{background:rgba(18,21,28,.92)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.4)!important}.fleet-ctrl button{width:38px!important;height:38px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#8b93a7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.fleet-ctrl button+button{border-top:1px solid rgba(255,255,255,.07)!important}.fleet-ctrl button:hover{color:#c6cbda!important;background:rgba(255,255,255,.06)!important}.fleet-ctrl button.fleet-on{color:#5eead4!important;background:rgba(20,184,166,.16)!important}.fleet-ctrl button svg{display:block;width:19px;height:19px;margin:0 auto}