/* Results: AI panel on top, then a map strip, clean results and filters. */
.rs-bar{position:sticky;top:var(--top);z-index:30;padding:12px 0 10px;background:rgba(5,6,5,.84);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--line)}
.rs-bar .tube{max-width:780px}
@media (max-width:759.98px){.rs-bar{position:static}}
.rs-filters{margin-top:10px;min-height:44px}
.rs-bar .rs-filters[hidden]{display:flex!important;visibility:hidden}
.rs-filters .chip{min-height:40px;font-size:.9rem}
.rs{padding-top:18px;min-height:100vh;min-height:100dvh}
.rs-h{min-height:2.5em;font:800 clamp(1.25rem,3.6vw,1.7rem)/1.15 var(--display);letter-spacing:-.01em;outline:none;overflow-wrap:anywhere}
.rs-h .muted{font-weight:500;font-family:var(--sans);font-size:.72em;letter-spacing:0;display:block;margin-bottom:3px}
.rs-meta{margin-top:6px;min-height:1.4em;font-size:.9rem;color:var(--text-3)}
.rs-sub{display:flex;align-items:center;gap:10px;font:700 .78rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-3)}
.rs-sub span:not(.sample){letter-spacing:.15em}

/* states */
.rs-state{max-width:660px;padding:26px 0 70px}
.rs-state__art{position:relative;width:120px;height:86px;margin-bottom:8px}
.rs-state__art i{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(230,255,217,.95),rgba(99,217,54,.34) 45%,rgba(99,217,54,.06) 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.rs-state__art--o i{background:radial-gradient(circle at 32% 28%,rgba(255,236,214,.95),rgba(255,138,36,.34) 45%,rgba(255,138,36,.06) 72%)}
.rs-state__art i:nth-child(1){width:64px;height:64px;left:0;top:18px}
.rs-state__art i:nth-child(2){width:34px;height:34px;left:66px;top:0}
.rs-state__art i:nth-child(3){width:20px;height:20px;left:92px;top:50px}
.anim .rs-state__art i{animation:floaty 5s ease-in-out infinite}
.anim .rs-state__art i:nth-child(2){animation-delay:-1.6s}.anim .rs-state__art i:nth-child(3){animation-delay:-3s}
.rs-state__t{font:800 clamp(1.7rem,5.4vw,2.5rem)/1.06 var(--display);letter-spacing:-.012em;overflow-wrap:anywhere}
.rs-state .lead{margin-top:10px}
.rs-state .chips{margin-top:18px}
.rs-state .rs-sub{margin-top:26px}
.rs-state .rs-sub+.chips{margin-top:10px}
.rs-loading{display:grid;gap:20px;max-width:780px;padding:18px 0 60px}
.rs-loading__ai{display:grid;gap:12px;padding:22px}
.rs-loading__r{display:grid;gap:10px}

/* layout */
.rs-grid{display:grid;gap:22px;margin-top:18px;padding-bottom:30px}
.rs-grid>*{min-width:0}
.aip{order:1}.rs-side{order:2}.mapstrip{order:3}.rs-web{order:4}.rs-rel{order:5}
@media (min-width:1060px){
  .rs-grid{grid-template-columns:minmax(0,1fr) 336px;gap:26px 30px;align-items:start}
  .aip,.mapstrip,.rs-web,.rs-rel{grid-column:1}
  .rs-side{grid-column:2;grid-row:1 / span 6;position:sticky;top:calc(var(--top) + 150px)}
}

/* AI panel */
.aip{padding:18px 18px 20px}
.aip__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.aip__title{display:flex;align-items:center;gap:9px;font:800 1.2rem/1 var(--display);letter-spacing:0}
.aip__by{font-size:.86rem;color:var(--text-3)}
.aip__head .sample{margin-left:auto}
.aip__tabs{margin-top:14px;max-width:100%}
.aip__tabs .tab{padding:0 14px}
.aip__panel{margin-top:16px;outline-offset:6px}
.aip__text{font-size:1.05rem;line-height:1.6;min-height:5.6em}
.aip__lead{font-weight:600;color:#fff}
.aip__pts{display:grid;gap:9px;margin:14px 0;counter-reset:n}
.aip__pts li{position:relative;padding-left:34px;color:var(--text-2)}
.aip__pts li::before{counter-increment:n;content:counter(n);position:absolute;left:0;top:.18em;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(99,217,54,.18);box-shadow:inset 0 0 0 1px rgba(99,217,54,.5);color:var(--green-pale);font:700 .76rem/1 var(--sans)}
.aip__close{color:var(--text-2)}
.caret{display:inline-block;width:8px;height:1.05em;margin-left:3px;vertical-align:-.16em;border-radius:2px;background:var(--green-hi);animation:blink 1s steps(1) infinite}
.aip__foot{position:relative}
.aip__stop{position:absolute;left:0;top:14px;z-index:2}
.aip__after.is-waiting{visibility:hidden;animation:none}
.has-q #rs-empty{display:none!important}
.has-q #rs-loading[hidden]{display:grid!important}
.aip__after{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);animation:rise var(--t-2) var(--ease)}
.aip__label{display:block;font:700 .72rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.aip__src{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.aip__src li{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px 0 6px;border-radius:999px;background:rgba(255,255,255,.06);font-size:.86rem;color:var(--text-2)}
.fav{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:rgba(99,217,54,.2);color:var(--green-pale);font:800 .72rem/1 var(--display);text-transform:uppercase}
.fav--o{background:rgba(255,138,36,.22);color:var(--orange-pale)}
.fav--w{background:rgba(255,255,255,.14);color:#fff}
.aip__acts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.aip__acts .chip,.aip__stop{min-height:40px;font-size:.9rem}
.aip__prompt{padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.4);border:1px solid var(--line);font-size:.95rem;color:var(--text-2)}
.aip__prompt .aip__label{margin-bottom:4px}
.aip__imgs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
@media (min-width:700px){.aip__imgs{grid-template-columns:repeat(4,1fr)}}
.aip__imgs li{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#0b0e0b;border:1px solid var(--line-2)}
.aip__imgs img,.aip__imgs svg{width:100%;height:100%;object-fit:cover;display:block}
.aip__imgs .sample{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.7);color:#e7ece4;border-color:rgba(255,255,255,.4)}
.aip__imgs li.making{border-style:dashed}
.aip__imgs li.making .sk{position:absolute;inset:0;border-radius:0}
.anim .aip__imgs li.made{animation:pop .5s var(--spring) both}
@keyframes pop{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
.aip__fine{margin-top:12px;font-size:.86rem;color:var(--text-3)}
.aip__none{display:grid;gap:8px;justify-items:start;padding:8px 0 4px}
.aip__none .chip{margin-top:6px;white-space:normal;text-align:left;height:auto;padding-block:10px}
.codebox{border-radius:18px;overflow:hidden;background:#060806;border:1px solid var(--line-2)}
.codebox__bar{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;background:rgba(255,255,255,.05);border-bottom:1px solid var(--line)}
.codebox__file{font:500 .86rem/1 var(--mono);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.codebox__copy{margin-left:auto;min-height:36px;font-size:.86rem}
@media (max-width:479.98px){.codebox__bar .pill{display:none}}
.codebox__pre{margin:0;padding:16px;overflow-x:auto;font:400 .86rem/1.65 var(--mono);color:#dfe6dc;-webkit-overflow-scrolling:touch;tab-size:4}
.codebox__pre code{font:inherit;white-space:pre}
.tk{color:var(--orange-hi)}.ts{color:var(--green-pale)}.tf{color:#fff;font-weight:500}.tn{color:var(--orange-pale)}

/* side cards */
.rs-side{display:grid;gap:14px}
.sidecard{display:grid;gap:10px;justify-items:start;padding:20px}
.sidecard h2{font-size:1.3rem;letter-spacing:0}
.sidecard p{color:var(--text-2);font-size:.98rem}
.sidecard .btn{margin-top:4px}
.sidecard--plain{background:none;border:1px dashed var(--line-3);border-radius:var(--r-lg);padding:18px 20px}
.sidecard--plain p{font-size:.9rem;color:var(--text-3)}
.sidecard .chips{margin-top:2px}

/* map strip */
.mapstrip{position:relative}
.mapstrip__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.mapstrip__open{margin-left:auto;min-height:40px;font-size:.9rem}
.mapstrip__map{position:relative;height:190px;border-radius:22px;overflow:hidden;border:1px solid var(--line-2);background:#0b0f0b}
.mapstrip__map svg{position:absolute;inset:0;width:100%;height:100%}
.mapstrip__map::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 60px 10px rgba(0,0,0,.75)}
@media (min-width:700px){.mapstrip__map{height:230px}}
.pin{position:absolute;z-index:2;width:44px;height:44px;margin:-40px 0 0 -22px;display:grid;place-items:center;transition:transform var(--t-2) var(--spring)}
.pin::before{content:"";position:absolute;left:7px;top:5px;width:30px;height:30px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:linear-gradient(135deg,#a6f57e,#4bbd22);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45),0 8px 16px -4px rgba(0,0,0,.8),0 0 18px rgba(99,217,54,.5)}
.pin span{position:relative;top:-4px;font:800 .86rem/1 var(--display);color:var(--green-ink)}
.pin.is-closed::before{background:linear-gradient(135deg,#7d857a,#4a5048);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3),0 8px 16px -4px rgba(0,0,0,.8)}
.pin.is-closed span{color:#fff}
.pin:hover,.pin.is-hot,.pin:focus-visible{transform:scale(1.22);z-index:3}
.pin.is-hot::before{background:linear-gradient(135deg,#ffbd7c,#ee7410);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5),0 8px 16px -4px rgba(0,0,0,.8),0 0 22px rgba(255,138,36,.7)}
.pin.is-hot span{color:var(--orange-ink)}
.anim .pin{animation:pindrop .55s var(--spring) both;animation-delay:calc(var(--i,0)*90ms + 120ms)}
@keyframes pindrop{from{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}
.mapstrip__row{display:flex;gap:12px;margin-top:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
.mapstrip__row::-webkit-scrollbar{display:none}
.place{flex:none;width:min(78vw,262px);scroll-snap-align:start;display:grid;gap:6px;padding:14px 16px 16px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);cursor:pointer;text-align:left;transition:border-color var(--t-1),transform var(--t-2) var(--ease)}
.place:hover,.place.is-hot{border-color:rgba(255,138,36,.7);transform:translateY(-3px)}
.place__top{display:flex;align-items:center;gap:10px}
.place__n{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--green-ink);font:800 .8rem/1 var(--display)}
.place.is-closed .place__n{background:#5a6157;color:#fff}
.place__name{font:800 1.08rem/1.15 var(--display)}
.place__kind{font-size:.88rem;color:var(--text-3)}
.place__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.88rem;color:var(--text-2)}
.place__rate{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--orange-pale)}
.place__rate svg{width:14px;height:14px;fill:var(--orange);stroke:none}
.mapstrip__jump{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.mapstrip__jump .iconbtn{border:1px solid var(--line-2)}
.mapstrip__jump .iconbtn[disabled]{opacity:.35;pointer-events:none}
.mapstrip__empty{padding:14px 0;color:var(--text-3)}
@media (min-width:1060px){.mapstrip__row{margin-inline:0;padding-inline:0;scroll-padding-inline:0}}

/* results */
.rs-list{margin-top:8px}
.res{padding:16px 14px;margin-inline:-14px;border-radius:18px;transition:background var(--t-1)}
.res:hover,.res:focus-within{background:rgba(255,255,255,.045)}
.res+.res{margin-top:2px}
.res__src{display:flex;align-items:center;gap:9px;font-size:.88rem;min-width:0}
.res__site{font-weight:700;color:var(--text);white-space:nowrap}
.res__url{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.res__src .pill{margin-left:auto;flex:none}
.res__t{margin-top:8px;font:700 1.22rem/1.22 var(--display);letter-spacing:0}
.res__t a{color:var(--green-pale);text-decoration:none;border-radius:4px}
.res__t a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.res__s{margin-top:6px;color:var(--text-2);font-size:1rem;line-height:1.52;max-width:68ch}
.anim .res.enter{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0)*55ms)}
.rs-web__none{padding:18px 0;color:var(--text-3)}
.rs-rel .chips{margin-top:12px}
