/* Navigator: Redline Alley's AI guide. Uses the site's tokens (--pit, --chalk, --brass, --line, --display, --body)
   so it follows light and dark themes. Panel on desktop, full screen sheet on phones. */
.nv-launch{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:24px;z-index:57;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:6px 18px 6px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brass) 70%,var(--line));background:var(--brass);color:var(--on-brass);font:600 .92rem/1 var(--body);cursor:pointer;box-shadow:0 10px 30px -12px rgba(16,32,24,.55);transition:transform .18s ease,box-shadow .18s ease}
.nv-launch:hover{transform:translateY(-1px);box-shadow:0 14px 34px -12px rgba(16,32,24,.6)}
.nv-launch:focus-visible{outline:2px solid var(--chalk);outline-offset:3px}
.nv-seal{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--on-brass);color:var(--brass);font:italic 500 1.35rem/1 var(--display);letter-spacing:-.02em;flex:none;position:relative}
.nv-seal::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brass) 45%,transparent)}
.nv-launch .nv-ll{display:grid;gap:3px;text-align:start}
.nv-launch .nv-ll small{font:500 .7rem/1 var(--body);opacity:.82}
.nv-launch[aria-expanded="true"]{opacity:0;pointer-events:none;transform:scale(.9)}
@media (max-width:860px){.nv-launch{padding:6px;min-height:0}.nv-launch .nv-ll{display:none}.nv-seal{width:46px;height:46px;font-size:1.5rem}}
@media print{.nv-launch,.nv-panel{display:none!important}}

.nv-panel{position:fixed;z-index:76;right:max(20px,env(safe-area-inset-right,0px));bottom:20px;width:min(452px,calc(100vw - 40px));height:min(780px,calc(100vh - 40px));height:min(780px,calc(100dvh - 40px));display:flex;flex-direction:column;background:var(--pit);color:var(--chalk);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px -30px rgba(10,20,15,.45),0 2px 6px rgba(10,20,15,.06);overflow:hidden;font-family:var(--body);font-size:.92rem;line-height:1.55}
.nv-panel[hidden]{display:none}
.nv-panel.nv-in{animation:nvIn .22s cubic-bezier(.2,.8,.2,1)}
@keyframes nvIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .nv-panel{inset:0;width:auto;height:auto;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  .nv-panel.nv-in{animation:nvUp .26s cubic-bezier(.2,.8,.2,1)}
}
@keyframes nvUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.nv-panel.nv-in,.nv-launch{animation:none;transition:none}.nv-work i{animation:none!important}}

.nv-head{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--line);background:var(--pit)}
.nv-head .nv-seal{width:36px;height:36px;font-size:1.2rem;background:var(--brass);color:var(--on-brass)}
.nv-head .nv-seal::after{border-color:color-mix(in srgb,var(--on-brass) 40%,transparent)}
.nv-title{flex:1;min-width:0;display:grid;gap:1px}
.nv-title b{font:400 1.32rem/1.1 var(--display);letter-spacing:-.02em}
.nv-title span{font-size:.74rem;color:var(--smoke)}
.nv-hbtn{width:38px;height:38px;border-radius:50%;border:1px solid transparent;background:none;color:var(--smoke);display:grid;place-items:center;cursor:pointer}
.nv-hbtn:hover{background:var(--pit2);color:var(--chalk)}
.nv-hbtn svg{width:18px;height:18px}

.nv-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 8px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}
.nv-log:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--brass)}

/* empty state */
.nv-hello{display:grid;gap:14px;padding:6px 2px 4px}
.nv-hello h2{font:400 clamp(1.7rem,6vw,2.05rem)/1.08 var(--display);letter-spacing:-.035em;margin:0;max-width:16ch}
.nv-hello p{color:var(--smoke);max-width:46ch}
.nv-starters{display:grid;gap:0;border-top:1px solid var(--line);margin-top:4px}
.nv-starter{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:start;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 2px;color:var(--chalk);font:500 .92rem/1.35 var(--body);cursor:pointer}
.nv-starter:hover{color:var(--brass)}
.nv-starter svg{width:16px;height:16px;flex:none;color:var(--dim)}
.nv-starter:hover svg{color:var(--brass)}
.nv-can{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;color:var(--dim)}

/* messages */
.nv-msg{display:grid;gap:10px;min-width:0}
.nv-user{justify-self:end;max-width:86%;background:var(--pit2);border:1px solid var(--line);border-radius:16px 16px 4px 16px;padding:9px 13px;white-space:pre-wrap;overflow-wrap:anywhere}
[dir="rtl"] .nv-user{border-radius:16px 16px 16px 4px}
.nv-user img{display:block;max-width:180px;max-height:140px;border-radius:10px;margin-bottom:6px;object-fit:cover}
.nv-bot{display:grid;gap:12px;min-width:0}
.nv-text{overflow-wrap:anywhere}
.nv-text p{margin:0 0 .65em}.nv-text p:last-child{margin-bottom:0}
.nv-text h3,.nv-text h4{font:600 .98rem/1.3 var(--body);letter-spacing:0;margin:.4em 0 .3em}
.nv-text ul,.nv-text ol{margin:.2em 0 .7em;padding-inline-start:1.2em;display:grid;gap:.25em}
.nv-text a{color:var(--brass);text-underline-offset:3px}
.nv-text strong{font-weight:700}
.nv-text code{font-size:.85em;background:var(--pit2);padding:1px 5px;border-radius:4px}
.nv-cursor::after{content:"";display:inline-block;width:.5em;height:1em;vertical-align:-.15em;margin-inline-start:2px;background:var(--brass);opacity:.7;animation:nvBlink 1s steps(2) infinite}
@keyframes nvBlink{50%{opacity:0}}
.nv-work{display:grid;gap:7px;font:italic 400 .95rem/1.3 var(--display);color:var(--smoke)}
.nv-work i{display:block;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--brass),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:nvRoad 1.2s linear infinite;border-radius:2px;opacity:.75}
@keyframes nvRoad{from{background-position:-40% 0}to{background-position:140% 0}}
.nv-tools{display:flex;gap:4px;margin-top:-4px}
.nv-tools button{border:0;background:none;color:var(--dim);font:500 .74rem/1 var(--body);padding:6px 8px;border-radius:999px;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.nv-tools button:hover{background:var(--pit2);color:var(--chalk)}
.nv-tools svg{width:14px;height:14px}
.nv-err{border:1px solid color-mix(in srgb,var(--live) 40%,var(--line));color:var(--live);background:color-mix(in srgb,var(--live) 7%,transparent);border-radius:12px;padding:10px 12px;font-size:.86rem}
.nv-notice{font-size:.8rem;color:var(--smoke);border-inline-start:2px solid var(--brass-deep);padding:2px 0 2px 10px}

/* shared block chrome */
.nv-block{display:grid;gap:8px;min-width:0}
.nv-bh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.nv-bh b{font-weight:600;font-size:.86rem}
.nv-bh span{font-size:.75rem;color:var(--dim)}
.nv-note{font-size:.76rem;color:var(--dim)}
.nv-src{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.74rem}
.nv-src a{color:var(--smoke);text-underline-offset:2px}

/* car cards */
.nv-cars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(208px,232px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-inline:-18px;padding-inline:18px;scrollbar-width:thin}
.nv-cars.nv-one{grid-auto-flow:row;grid-auto-columns:auto;margin:0;padding:0}
.nv-car{scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--pit);text-decoration:none;color:inherit;cursor:pointer;text-align:start;padding:0;font:inherit}
.nv-car:hover{border-color:var(--brass-deep)}
.nv-car:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.nv-ph{aspect-ratio:16/10;background:var(--pit3);position:relative;overflow:hidden}
.nv-ph img{width:100%;height:100%;object-fit:cover;display:block}
.nv-ph .nv-tag{position:absolute;top:8px;inset-inline-start:8px;background:rgba(14,24,21,.78);color:#fff;font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:999px}
.nv-ph svg{width:100%;height:100%;color:var(--dim)}
.nv-cb{display:grid;gap:6px;padding:10px 12px 12px;align-content:start}
.nv-ct{font-weight:700;font-size:.9rem;line-height:1.25}
.nv-cv{font-size:.76rem;color:var(--smoke)}
.nv-cp{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.78rem;color:var(--smoke)}
.nv-cp b{font-size:1rem;color:var(--chalk);font-variant-numeric:tabular-nums}
.nv-why{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:.76rem}
.nv-why li{display:flex;gap:6px;align-items:flex-start}
.nv-why li::before{content:"";flex:none;width:6px;height:6px;margin-top:.45em;border-radius:50%;background:var(--brass)}
.nv-facts{display:flex;flex-wrap:wrap;gap:4px}
.nv-facts span{font-size:.7rem;border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--smoke)}

/* comparison */
.nv-tw{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.nv-table{border-collapse:collapse;width:100%;font-size:.8rem;min-width:100%}
.nv-table th,.nv-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.nv-table tr:last-child th,.nv-table tr:last-child td{border-bottom:0}
.nv-table thead th{font-weight:700;background:var(--pit2);min-width:120px}
.nv-table thead a{color:inherit;text-decoration:none}
.nv-table thead a:hover{color:var(--brass)}
.nv-table tbody th{font-weight:500;color:var(--smoke);position:sticky;inset-inline-start:0;background:var(--pit);min-width:104px}
.nv-table td.nv-best{color:var(--brass);font-weight:700}
.nv-table td.nv-best::after{content:" ●";font-size:.6em;vertical-align:.2em}

/* checklist */
.nv-check{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.nv-check li{border-bottom:1px solid var(--line)}
.nv-check li:last-child{border-bottom:0}
.nv-check label{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:9px 12px;cursor:pointer;align-items:start}
.nv-check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--brass)}
.nv-check .nv-ci{display:grid;gap:2px;font-size:.84rem}
.nv-check .nv-ci small{color:var(--dim);font-size:.75rem}
.nv-check .nv-ci em{font-style:normal;font-size:.66rem;font-weight:700;color:var(--brass);margin-inline-end:6px}
.nv-check input:checked+.nv-ci>span{text-decoration:line-through;color:var(--dim)}

/* charts */
.nv-chart svg{display:block;width:100%;height:auto;overflow:visible}
.nv-chart .nv-key{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.72rem;color:var(--smoke)}
.nv-chart .nv-key i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:5px;vertical-align:0}

/* costs */
.nv-total{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--pit2)}
.nv-total span{font-size:.76rem;color:var(--smoke)}
.nv-total b{font:400 1.9rem/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nv-rows{display:grid;gap:7px;margin:0}
.nv-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:.8rem}
.nv-row dt{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.nv-row dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}
.nv-row .nv-bar{grid-column:1/-1;height:3px;background:var(--pit3);border-radius:2px;overflow:hidden}
.nv-row .nv-bar i{display:block;height:100%;background:var(--brass);border-radius:2px}
.nv-t{font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:999px;text-decoration:none;border:1px solid var(--line);color:var(--smoke)}
.nv-t.off{color:var(--brass);border-color:var(--brass-deep)}
.nv-t.chk{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 50%,var(--line))}
.nv-list{margin:0;padding-inline-start:1.1em;display:grid;gap:4px;font-size:.8rem;color:var(--smoke)}

/* facts */
.nv-kv{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:0;font-size:.82rem;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.nv-kv dt{color:var(--smoke)}.nv-kv dd{margin:0;font-weight:600}

/* links */
.nv-links{display:grid;gap:0;border-top:1px solid var(--line)}
.nv-link{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font-size:.84rem}
.nv-link:hover b{color:var(--brass)}
.nv-link img{width:72px;height:42px;object-fit:cover;border-radius:6px;background:var(--pit3)}
.nv-link .nv-li{width:28px;height:28px;border-radius:50%;background:var(--pit2);display:grid;place-items:center;color:var(--brass)}
.nv-link .nv-li svg{width:15px;height:15px}
.nv-link span{display:grid;gap:1px;min-width:0}
.nv-link b{font-weight:600;line-height:1.3}
.nv-link small{color:var(--dim);font-size:.72rem}

/* risk */
.nv-risk{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.nv-rh{display:grid;gap:6px;padding:12px 14px}
.nv-rh b{font:400 1.25rem/1.15 var(--display)}
.nv-meter{height:6px;border-radius:3px;background:var(--pit3);overflow:hidden}
.nv-meter i{display:block;height:100%;border-radius:3px}
.nv-risk.high .nv-rh{background:color-mix(in srgb,var(--live) 9%,transparent)}.nv-risk.high .nv-meter i{background:var(--live);width:92%}.nv-risk.high b{color:var(--live)}
.nv-risk.medium .nv-rh{background:color-mix(in srgb,var(--amber) 9%,transparent)}.nv-risk.medium .nv-meter i{background:var(--amber);width:58%}.nv-risk.medium b{color:var(--amber)}
.nv-risk.low .nv-rh{background:color-mix(in srgb,var(--brass) 8%,transparent)}.nv-risk.low .nv-meter i{background:var(--brass);width:18%}
.nv-flags{list-style:none;margin:0;padding:0}
.nv-flags li{display:grid;gap:2px;padding:9px 14px;border-top:1px solid var(--line);font-size:.83rem}
.nv-flags li small{color:var(--smoke)}
.nv-steps{padding:10px 14px 12px;border-top:1px solid var(--line);font-size:.8rem}
.nv-steps ol{margin:4px 0 0;padding-inline-start:1.2em;display:grid;gap:3px;color:var(--smoke)}

/* draft */
.nv-draft{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.nv-dbody{padding:12px 14px;max-height:280px;overflow:auto;font-size:.86rem}
.nv-dbody h3{font:400 1.15rem/1.2 var(--display);margin:.2em 0 .4em}
.nv-dbody h4{font-weight:700;font-size:.9rem;margin:.6em 0 .2em}
.nv-dbody p{margin:0 0 .6em}
.nv-dbody ul,.nv-dbody ol{padding-inline-start:1.2em;margin:.2em 0 .6em}
.nv-dfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px 8px 14px;border-top:1px solid var(--line);background:var(--pit2);font-size:.76rem;color:var(--smoke)}

/* actions */
.nv-acts{display:flex;flex-wrap:wrap;gap:6px}
.nv-act{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--pit);color:var(--chalk);font:600 .8rem/1.2 var(--body);cursor:pointer;text-align:start}
.nv-act:hover{border-color:var(--brass);color:var(--brass)}
.nv-act.nv-primary{background:var(--brass);border-color:var(--brass);color:var(--on-brass)}
.nv-act.nv-primary:hover{filter:brightness(1.06);color:var(--on-brass)}
.nv-act[disabled]{opacity:.6;cursor:default}

/* pros and rentals */
.nv-pros{display:grid;gap:0;border-top:1px solid var(--line)}
.nv-pro{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:.82rem}
.nv-pro .nv-av{width:36px;height:36px;border-radius:50%;background:var(--pit2);display:grid;place-items:center;font-weight:700;color:var(--brass);overflow:hidden}
.nv-pro .nv-av img{width:100%;height:100%;object-fit:cover}
.nv-pro small{color:var(--dim)}

/* photo reading */
.nv-photo{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:4px;font-size:.83rem}
.nv-photo b{font:400 1.08rem/1.25 var(--display)}

/* composer */
.nv-foot{border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--pit);display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.nv-att{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--smoke)}
.nv-att img{width:44px;height:44px;border-radius:8px;object-fit:cover}
.nv-att[hidden]{display:none}
.nv-form{display:flex;align-items:flex-end;gap:6px;border:1px solid var(--line);border-radius:18px;padding:5px;background:var(--pit2);transition:border-color .15s}
.nv-form:focus-within{border-color:var(--brass)}
.nv-panel .nv-form textarea{flex:1;width:auto;min-width:0;min-height:0;height:40px;border:0;border-radius:0;background:none;box-shadow:none;resize:none;padding:9px 6px;max-height:140px;font:400 .95rem/1.4 var(--body);color:var(--chalk);outline:none}
@media (max-width:860px){.nv-panel .nv-form textarea{font-size:16px}}
.nv-form textarea::placeholder{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-ib{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:none;color:var(--smoke);flex:none}
.nv-ib:hover{color:var(--chalk);background:var(--pit3)}
.nv-ib svg{width:19px;height:19px}
.nv-send{background:var(--brass);color:var(--on-brass)}
.nv-send:hover{background:var(--brass);color:var(--on-brass);filter:brightness(1.07)}
.nv-send[disabled]{opacity:.4;cursor:default;filter:none}
.nv-small{font-size:.7rem;color:var(--dim);text-align:center;line-height:1.35}
.nv-small a{color:inherit}
.nv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.nv-lock{overflow:hidden}
@media (max-width:640px){body.nv-lock .tabbar,body.nv-lock .mbar,body.nv-lock .cmpbar{visibility:hidden}}

/* right to left: English data (car names, figures) keeps its own direction inside Persian and Arabic text */
.nv-panel[dir=rtl] :is(.nv-ct,.nv-cv,.nv-cp span,.nv-cp b,.nv-why li,.nv-facts span,.nv-bh b,.nv-bh span,.nv-note,.nv-table td,.nv-table th,.nv-ci span,.nv-ci small,.nv-link b,.nv-link small,.nv-row dt,.nv-row dd,.nv-kv dt,.nv-kv dd,.nv-flags li span,.nv-flags li small,.nv-steps li,.nv-list li,.nv-total span,.nv-total b,.nv-act,.nv-photo span){unicode-bidi:plaintext}
