/* صندوقچه‌ی چهار بخش — «همسایه» (a/cinema/ketab/mod-box4-neighbor.js). پیشوند کلاس‌ها nb-. بعد از people.css بارگذاری می‌شود.
   صحنه‌ی محله (خانه‌ها، کوچه، درخت)، نوار بزرگ «پیدا کن»، در خانه، دوست‌ها این روزها، شاید بشناسی، دعوت و QR، کوچه‌ها، دنبال‌شده‌ها.
   رنگ‌ها از متغیرهای اپ (--d-*) و رنگ بخش (گل‌بهی)؛ روشن و تیره (data-theme="paper") هر دو. */

.dapp .nb-page,.dapp .nb-big{
  --nb-t:#ee93ae;--nb-ti:#2a1220;--nb-s1:#4a2234;--nb-s2:#2e1522;--nb-h1:#6b3149;--nb-h2:#54263a;
  --nb-wall:#e8d6c8;--nb-pane:#3a1f30;--nb-frame:#c98aa0;--nb-grd:#241020;--nb-grd2:#321628;--nb-lab:#f4dbe3;--nb-dash:rgba(238,147,174,.42);--nb-glow:#ffd48a;
}
:root[data-theme="paper"] .dapp .nb-page,:root[data-theme="paper"] .dapp .nb-big{
  --nb-t:#c25c7e;--nb-ti:#fff;--nb-s1:#fae6ec;--nb-s2:#f3cfda;--nb-h1:#e8a9bb;--nb-h2:#db90a6;
  --nb-wall:#fffaf6;--nb-pane:#f1d4de;--nb-frame:#b0506e;--nb-grd:#c8718c;--nb-grd2:#d887a0;--nb-lab:#fff;--nb-dash:rgba(176,80,110,.45);
}
.dapp .nb-page{--hw:92px;--lab:26px;--ovl:32px;display:flex;flex-direction:column;padding-bottom:24px}
.dapp .nb-big{--hw:136px;--lab:0px}
@media (min-width:900px){.dapp .nb-page{--hw:108px}}
.dapp .nb-page [hidden]{display:none !important}

/* ───────────── صحنه ───────────── */
.dapp .nb-hero{position:relative}
.dapp .nb-scene{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:linear-gradient(180deg,var(--nb-s1),var(--nb-s2));
  min-height:calc(var(--hw) * 1.12 + var(--lab) + var(--ovl) + 62px);max-height:460px;
  transition:max-height .38s var(--d-ease),min-height .38s var(--d-ease),opacity .26s,margin .38s var(--d-ease)}
.dapp .nb-sky{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0;overflow:hidden}
.dapp .nb-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff1c4;opacity:.8;animation:nb-tw 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}
.dapp .nb-orb{position:absolute;top:14px;left:20px;width:40px;height:40px;filter:drop-shadow(0 0 10px rgba(255,214,140,.55))}
.dapp .nb-orb svg{display:block;width:100%;height:100%;overflow:visible}
.dapp .nb-orb .o1{fill:#ffd98a}.dapp .nb-orb .o2{fill:none;stroke:#ffd98a;stroke-width:2.4;stroke-linecap:round;opacity:.8}
.dapp .nb-scene[data-tod="night"] .nb-orb .o1{fill:#f8e8b4}
.dapp .nb-cl{position:absolute;height:13px;border-radius:99px;background:color-mix(in srgb,#fff 20%,transparent);animation:nb-drift 80s linear infinite}
.dapp .nb-cl.c1{top:34px;width:74px;left:-90px}
.dapp .nb-cl.c2{top:66px;width:48px;left:-90px;animation-duration:110s;animation-delay:-48s;opacity:.7}
.dapp .nb-hillw{position:absolute;left:0;right:0;bottom:calc(var(--lab) + var(--ovl));height:96px;z-index:0;display:block}
.dapp .nb-hills{display:block;width:100%;height:100%}
.dapp .nb-hills .h1{fill:var(--nb-h1)}.dapp .nb-hills .h2{fill:var(--nb-h2)}
.dapp .nb-ground{position:absolute;left:0;right:0;bottom:0;height:calc(var(--lab) + var(--ovl) + 7px);z-index:1;
  background:linear-gradient(var(--nb-grd2),var(--nb-grd));border-top:2px solid color-mix(in srgb,var(--nb-t) 26%,transparent)}
.dapp .nb-street-r{position:relative;z-index:2;display:flex;align-items:flex-end;gap:2px;padding:64px 16px var(--ovl);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
.dapp .nb-street-r::-webkit-scrollbar{display:none}

/* خانه */
.dapp .nb-house{position:relative;flex:none;width:var(--hw);display:flex;flex-direction:column;align-items:center;padding:0;margin:0;background:none;border:0;color:inherit;font:inherit;
  text-align:center;-webkit-tap-highlight-color:transparent;animation:nb-in .6s var(--d-ease) backwards;animation-delay:calc(var(--i,0) * 55ms)}
.dapp button.nb-house{cursor:pointer;transition:transform .22s var(--d-spring)}
.dapp button.nb-house:hover{transform:translateY(-3px)}
.dapp button.nb-house:active{transform:scale(.96)}
.dapp .nb-house:focus-visible{outline:2px solid var(--nb-t);outline-offset:3px;border-radius:14px}
.dapp .nb-hb{display:block;width:var(--hw);height:calc(var(--hw) * 1.12);pointer-events:none}
.dapp .nb-hb svg{display:block;width:100%;height:100%;overflow:visible}
.dapp .nb-hb .sh{fill:rgba(0,0,0,.3)}
.dapp .nb-hb .wl{fill:var(--nb-wall)}
.dapp .nb-hb .rf{fill:var(--hc,#e3b062)}
.dapp .nb-hb .rf2{fill:#000;opacity:.17}
.dapp .nb-hb .ch{fill:color-mix(in srgb,var(--hc,#e3b062) 55%,#5a3a30)}
.dapp .nb-hb .at{fill:var(--nb-frame);opacity:.7}
.dapp .nb-hb .fr{fill:var(--nb-pane);stroke:var(--nb-frame);stroke-width:3}
.dapp .nb-hb .dr{fill:color-mix(in srgb,var(--hc,#e3b062) 50%,#4a3228)}
.dapp .nb-hb .kb{fill:#ffe9b0}
.dapp .nb-win{position:absolute;left:calc(var(--hw) * .22);top:calc(var(--hw) * .57);width:calc(var(--hw) * .4);height:calc(var(--hw) * .4);border-radius:50%;
  display:grid;place-items:center;pointer-events:none;transition:box-shadow .4s,filter .4s}
.dapp .nb-win .av-g{width:100% !important;height:100% !important;overflow:hidden}
.dapp .nb-win .av-g img{width:100%;height:100%;object-fit:cover}
.dapp .nb-win::after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;border-radius:50%;pointer-events:none;background:rgba(18,8,18,.34)}
.dapp .nb-house.is-lit .nb-win::after,.dapp .nb-house.is-me .nb-win::after{background:radial-gradient(circle at 50% 38%,transparent 52%,rgba(255,196,100,.3))}
.dapp .nb-house:not(.is-lit):not(.is-me) .nb-win{filter:saturate(.55) brightness(.82)}
.dapp .nb-house.is-lit .nb-win,.dapp .nb-house.is-me .nb-win{box-shadow:0 0 0 2px var(--nb-glow),0 0 16px 5px rgba(255,208,120,.5)}
.dapp .nb-house.is-lit .nb-hb .fr,.dapp .nb-house.is-me .nb-hb .fr{stroke:#e8b25a}
.dapp .nb-house.is-live .nb-win::before{content:'';position:absolute;left:-5px;right:-5px;top:-5px;bottom:-5px;border-radius:50%;border:2px solid var(--nb-glow);animation:nb-pulse 2.2s ease-out infinite;pointer-events:none}
.dapp .nb-hn{display:block;max-width:calc(var(--hw) + 10px);height:var(--lab);line-height:var(--lab);margin-top:-1px;font-size:12.5px;font-weight:600;color:var(--nb-lab);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dapp .nb-house.is-me .nb-hn{color:var(--nb-glow);font-weight:700}
:root[data-theme="paper"] .dapp .nb-house.is-me .nb-hn{color:#fff}
.dapp .nb-smoke{position:absolute;top:calc(var(--hw) * .17);width:0;height:0;pointer-events:none}
.dapp .nb-smoke i{position:absolute;left:-4px;bottom:0;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);opacity:0;animation:nb-smoke 3.4s ease-out infinite}
.dapp .nb-smoke i:nth-child(2){animation-delay:1.1s}.dapp .nb-smoke i:nth-child(3){animation-delay:2.2s}

/* خانه‌ی خاموش و «+» */
.dapp .nb-house.is-empty .nb-hb .wl,.dapp .nb-house.is-empty .nb-hb .rf,.dapp .nb-house.is-empty .nb-hb .ch,.dapp .nb-house.is-empty .nb-hb .dr{fill:transparent;stroke:var(--nb-dash);stroke-width:1.4;stroke-dasharray:4 3}
.dapp .nb-house.is-empty .nb-hb .rf2,.dapp .nb-house.is-empty .nb-hb .sh,.dapp .nb-house.is-empty .nb-hb .kb,.dapp .nb-house.is-empty .nb-hb .at{display:none}
.dapp .nb-house.is-empty .nb-hb .fr{fill:rgba(0,0,0,.18);stroke:var(--nb-dash);stroke-width:1.4}
.dapp .nb-house.is-empty .nb-win::after{display:none}
.dapp .nb-house.is-plus .nb-win{color:var(--nb-t);background:color-mix(in srgb,var(--nb-t) 14%,transparent);border:1.5px dashed var(--nb-t);animation:nb-bob 2.6s ease-in-out infinite}
.dapp .nb-house.is-plus .nb-win .ic{width:55%;height:55%}
.dapp .nb-house.is-plus .nb-hb .wl{stroke:var(--nb-t)}
.dapp .nb-hn.is-cta{position:absolute;top:-10px;left:50%;transform:translateX(-50%);height:auto;line-height:1.4;padding:6px 12px;border-radius:12px;max-width:none;
  background:var(--d-surf);color:var(--d-ink);box-shadow:0 8px 18px -10px rgba(0,0,0,.6);font-size:12.5px;animation:nb-bobx 3s ease-in-out infinite;pointer-events:none}
.dapp .nb-hn.is-cta::after{content:'';position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;transform:rotate(45deg);background:var(--d-surf)}
.dapp .nb-house.is-wait{animation:nb-wait 1.5s ease-in-out infinite;animation-delay:calc(var(--i,0) * 120ms);pointer-events:none}
.dapp .nb-house.is-pop{animation:nb-pop .8s var(--d-spring) backwards}

/* درخت، سرو و چراغ */
.dapp .nb-deco{flex:none;align-self:flex-end;margin-bottom:calc(var(--lab) + 3px);width:calc(var(--hw) * .42);animation:nb-in .6s var(--d-ease) backwards;animation-delay:calc(var(--i,0) * 55ms)}
.dapp .nb-deco svg{display:block;width:100%;height:auto}
.dapp .nb-deco.is-lamp{width:calc(var(--hw) * .24)}
.dapp .nb-deco .tk{fill:#6c4b3b}
.dapp .nb-deco .tc{fill:color-mix(in srgb,var(--d-ok) 48%,var(--nb-s2))}.dapp .nb-deco .tc2{fill:color-mix(in srgb,var(--d-ok) 62%,var(--nb-s2))}
.dapp .nb-deco .lp{fill:#3a2634}.dapp .nb-deco .lb{fill:#ffd98a;filter:drop-shadow(0 0 6px #ffd98a);animation:nb-lamp 4s ease-in-out infinite}
.dapp .nb-err{align-self:center;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 24px 6px;color:var(--nb-lab);text-align:center}
.dapp .nb-err p{margin:0;font-size:14px}

/* وقت جست‌وجو: صحنه جمع می‌شود تا نتیجه جا داشته باشد */
.dapp .nb-page.is-finding .nb-scene{max-height:0;min-height:0;opacity:0;margin-bottom:0}
.dapp .nb-page.is-finding .nb-find{margin-top:0}
.dapp .nb-page.is-finding .nb-col{display:none}

/* ───────────── پیدا کن ───────────── */
.dapp .nb-find{position:relative;z-index:3;display:flex;align-items:center;gap:10px;height:60px;margin:calc(var(--ovl) * -1) 14px 0;padding:0 16px;border-radius:20px;
  background:var(--d-surf);border:1.5px solid var(--d-line2);box-shadow:0 16px 30px -16px rgba(0,0,0,.6),var(--d-shadow);
  transition:margin .38s var(--d-ease),border-color .2s,box-shadow .25s}
.dapp .nb-find:focus-within{border-color:var(--nb-t);box-shadow:0 0 0 4px color-mix(in srgb,var(--nb-t) 22%,transparent),0 16px 30px -16px rgba(0,0,0,.6)}
.dapp .nb-find-ic{flex:none;display:grid;place-items:center;width:28px;color:var(--nb-t)}
.dapp .nb-find-ic .ic{width:24px;height:24px}
.dapp .nb-q{flex:1;min-width:0;height:100%;padding:0;background:none;border:0;outline:0;box-shadow:none;font:inherit;font-size:17px;color:var(--d-ink);-webkit-appearance:none;appearance:none}
.dapp .nb-q::placeholder{color:var(--d-faint);opacity:1;transition:opacity .22s}
.dapp .nb-q.is-ph::placeholder{opacity:0}
.dapp .nb-q::-webkit-search-cancel-button,.dapp .nb-q::-webkit-search-decoration{display:none;-webkit-appearance:none}
.dapp .nb-find-x{flex:none;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;border:0;background:var(--d-surf3);color:var(--d-ink2);cursor:pointer}
.dapp .nb-find-x .ic{width:16px;height:16px}

.dapp .nb-res{margin-top:14px;padding:6px 16px;background:var(--d-surf);border:1px solid var(--d-line);border-radius:var(--d-r);box-shadow:var(--d-shadow)}
.dapp .nb-hint{padding:22px 8px;text-align:center;color:var(--d-sub);font-size:14px}
.dapp .nb-hint.is-wait{animation:nb-wait 1.3s ease-in-out infinite}
.dapp .nb-none{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px 16px;text-align:center}
.dapp .nb-none-g{display:block;width:74px;height:83px;opacity:.9;--hc:var(--nb-t)}
.dapp .nb-none-g svg{display:block;width:100%;height:100%}
.dapp .nb-none-g .wl{fill:transparent;stroke:var(--nb-dash);stroke-width:1.4;stroke-dasharray:4 3}
.dapp .nb-none-g .rf,.dapp .nb-none-g .ch,.dapp .nb-none-g .dr{fill:transparent;stroke:var(--nb-dash);stroke-width:1.4;stroke-dasharray:4 3}
.dapp .nb-none-g .rf2,.dapp .nb-none-g .sh,.dapp .nb-none-g .kb{display:none}
.dapp .nb-none-g .fr{fill:rgba(0,0,0,.14);stroke:var(--nb-dash);stroke-width:1.4}
.dapp .nb-none b{font-size:15px;font-weight:600}
.dapp .nb-none p{margin:0;font-size:13.5px;line-height:1.9;color:var(--d-sub)}
.dapp .nb-none .dbtn{margin-top:6px}

/* ───────────── بخش‌ها ───────────── */
.dapp .nb-cols,.dapp .nb-col{display:contents}
.dapp .nb-sec{margin-top:14px;padding:14px 16px 12px;background:var(--d-surf);border:1px solid var(--d-line);border-radius:var(--d-r);box-shadow:var(--d-shadow)}
.dapp .nb-door{order:1}.dapp .nb-now{order:2}.dapp .nb-sugs{order:3}.dapp .nb-invc{order:4}.dapp .nb-streets{order:5}.dapp .nb-feed{order:6}
.dapp .nb-h{display:flex;align-items:center;gap:10px;margin-bottom:4px;min-height:32px}
.dapp .nb-h h2{flex:1;margin:0;font-size:16px;font-weight:600}
.dapp .nb-h-i{display:grid;place-items:center;color:var(--nb-t)}
.dapp .nb-h-i .ic{width:20px;height:20px}
.dapp .nb-h .nb-ib{width:34px;height:34px}

/* دکمه‌ها */
.dapp .nb-fb{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;border-radius:12px;border:1px solid var(--d-line2);
  background:var(--d-surf2);color:var(--d-ink);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .15s var(--d-spring),background .2s}
.dapp .nb-fb:active{transform:scale(.93)}
.dapp .nb-fb:disabled{opacity:.55;cursor:default}
.dapp .nb-fb .ic{width:19px;height:19px}
.dapp .nb-fb.is-none{background:var(--nb-t);color:var(--nb-ti);border-color:transparent}
.dapp .nb-fb.is-friend .ic{color:var(--d-bad)}
.dapp .nb-fb.is-ic{width:40px;padding:0;border-radius:50%}
.dapp .nb-fb.sm{width:100%}
.dapp .nb-ib{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--d-line2);background:var(--d-surf2);color:var(--d-ink2);
  cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--d-spring)}
.dapp .nb-ib:active{transform:scale(.9)}
.dapp .nb-ib .ic{width:19px;height:19px}
.dapp .nb-ib.is-ok{background:var(--d-ok);border-color:transparent;color:#fff}

/* کارت یک آدم */
.dapp .nb-pc{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .25s,transform .25s}
.dapp .nb-pc + .nb-pc{border-top:1px solid var(--d-line)}
.dapp .nb-pc.is-gone{opacity:0;transform:translateX(24px)}
.dapp .nb-pc-t{display:flex;flex-direction:column;flex:1;min-width:0;text-align:right}
.dapp .nb-pc-t b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dapp .nb-pc-t small{display:flex;align-items:center;gap:6px;color:var(--d-sub);font-size:12.5px;white-space:nowrap;overflow:hidden}
.dapp .nb-pc-u{overflow:hidden;text-overflow:ellipsis}
.dapp .nb-pc-b{padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--nb-t) 15%,transparent);color:var(--nb-t);font-size:11.5px}
.dapp .nb-lock{display:inline-grid}.dapp .nb-lock .ic{width:13px;height:13px}
.dapp .nb-ans{display:flex;gap:8px;flex:none}
.dapp .nb-pc-l,.dapp .nb-res-l{display:flex;flex-direction:column}

/* در خانه */
.dapp .nb-door{border-color:color-mix(in srgb,var(--nb-t) 38%,var(--d-line));background:linear-gradient(180deg,color-mix(in srgb,var(--nb-t) 13%,var(--d-surf)),var(--d-surf) 62%)}
.dapp .nb-door-g{display:grid;place-items:center;transform-origin:50% 100%}
.dapp .nb-door.is-knock .nb-door-g{animation:nb-knock 4s ease-in-out infinite}
.dapp .nb-sent{margin-top:6px;padding-top:6px;border-top:1px dashed var(--d-line2)}
.dapp .nb-sent-h{display:block;margin:4px 0 0;color:var(--d-sub);font-size:12px}

/* دوست‌ها این روزها */
.dapp .nb-nr-l{display:flex;flex-direction:column}
.dapp .nb-nr{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;background:none;border:0;color:inherit;font:inherit;text-align:right;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dapp .nb-nr + .nb-nr{border-top:1px solid var(--d-line)}
.dapp .nb-nr:active{opacity:.7}
.dapp .nb-nr-a{position:relative;flex:none;display:inline-flex}
.dapp .nb-nr-t{flex:1;min-width:0;font-size:14.5px;line-height:1.85;color:var(--d-ink2)}
.dapp .nb-nr-t b{color:var(--d-ink);font-weight:600}
.dapp .nb-live{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:50%;background:var(--nb-glow);border:2.5px solid var(--d-surf);animation:nb-pulse2 2s ease-in-out infinite}
.dapp .nb-cv{flex:none;position:relative;display:grid;place-items:center;width:30px;height:42px;border-radius:6px;overflow:hidden;background:var(--d-surf3);color:#fff;box-shadow:0 4px 10px -6px rgba(0,0,0,.6)}
.dapp .nb-cv img{width:100%;height:100%;object-fit:cover;display:block}
.dapp .nb-cv.gen{background:linear-gradient(160deg,hsl(var(--h,330) 38% 44%),hsl(calc(var(--h,330) + 30) 36% 30%))}
.dapp .nb-cv .ic{width:15px;height:15px;opacity:.9}

/* شاید بشناسی */
.dapp .nb-sg-l{display:flex;gap:10px;overflow-x:auto;margin:8px -16px 0;padding:2px 16px 8px;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dapp .nb-sg-l::-webkit-scrollbar{display:none}
.dapp .nb-sg{flex:0 0 148px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px 12px;border-radius:18px;background:var(--d-surf2);border:1px solid var(--d-line);scroll-snap-align:start}
.dapp .nb-sg-p{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:center}
.dapp .nb-sg-p b{max-width:100%;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dapp .nb-sg-p small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em;font-size:12px;line-height:1.45;color:var(--d-sub)}
.dapp .nb-sg .av-g{box-shadow:0 0 0 3px var(--d-surf2),0 0 0 5px color-mix(in srgb,var(--avc,#e3b062) 55%,transparent)}

/* دعوت */
.dapp .nb-inv{display:flex;align-items:center;gap:14px;margin-top:6px}
.dapp .nb-inv-t{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.dapp .nb-inv-a{display:flex;align-items:center;gap:10px;margin-top:12px}
.dapp .nb-inv-a .dbtn{flex:1}
.dapp .nb-qr-b{flex:none;width:92px;height:92px;padding:0;border:0;border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;box-shadow:0 8px 18px -10px rgba(0,0,0,.6);transition:transform .2s var(--d-spring)}
.dapp .nb-qr-b:active{transform:scale(.95)}
.dapp .nb-qr{display:block;width:100%;height:100%}
.dapp .nb-qr svg{display:block;width:100%;height:100%}
.dapp .nb-warn{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--d-acc) 12%,transparent);font-size:13px}
.dapp .nb-lnk{padding:0;background:none;border:0;color:var(--d-acc);font:inherit;font-weight:600;cursor:pointer}
.dapp .nb-big{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:4px 0 6px}
.dapp .nb-big-top{display:flex;justify-content:center;margin-bottom:-2px}
.dapp .nb-big .nb-house{animation:none}
.dapp .nb-big-n{font-size:18px;font-weight:700;margin-top:2px}
.dapp .nb-big-u{color:var(--d-sub);font-size:14px}
.dapp .nb-qr.big{width:208px;height:208px;margin-top:10px;border-radius:16px;overflow:hidden;box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
.dapp .nb-big-p{margin:6px 0 2px;font-size:13px;color:var(--d-sub)}
.dapp .nb-big .nb-inv-a{width:100%;max-width:340px;margin-top:14px}

/* کوچه‌ها */
.dapp .nb-st-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 12px;margin-top:8px}
.dapp .nb-st-h{display:block;margin:14px 0 0;color:var(--d-sub);font-size:12px}
.dapp .nb-street{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:right;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dapp .nb-street:active .nb-plate{transform:scale(.97)}
.dapp .nb-plate{--wc:#fff;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:52px;padding:8px 18px;border-radius:10px;
  background:#2b5fa6;color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px #2b5fa6,0 10px 18px -12px rgba(0,0,0,.7);transition:transform .15s var(--d-spring)}
.dapp .nb-plate::before,.dapp .nb-plate::after{content:'';position:absolute;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:rgba(255,255,255,.75)}
.dapp .nb-plate::before{left:7px}.dapp .nb-plate::after{right:7px}
.dapp .nb-plate .wfb{position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1;border-radius:inherit}
.dapp .nb-plate-t{font-size:14.5px;font-weight:700;text-align:center;line-height:1.55}
.dapp .nb-plate.is-ghost{background:transparent;color:var(--d-sub);border:2px dashed var(--d-line2);box-shadow:none}
.dapp .nb-street-b{font-size:13px;color:var(--d-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dapp .nb-street small{color:var(--d-sub);font-size:12px}
.dapp .nb-st-e{display:flex;align-items:center;gap:12px;width:100%;margin-top:8px;padding:0;background:none;border:0;color:var(--d-sub);cursor:pointer}
.dapp .nb-st-e .nb-plate{flex:1}

/* دنبال‌شده‌ها */
.dapp .nb-fd-l{display:flex;flex-direction:column}
.dapp .nb-fd{display:flex;align-items:center;gap:10px;width:100%;padding:8px 0;background:none;border:0;color:inherit;font:inherit;text-align:right;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dapp .nb-fd + .nb-fd{border-top:1px solid var(--d-line)}
.dapp .nb-fd-a{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:hsl(var(--h,330) 42% 42%);color:#fff;font-size:14px;font-weight:700}
.dapp .nb-fd-t{flex:1;min-width:0;font-size:13.5px;line-height:1.8;color:var(--d-ink2)}
.dapp .nb-fd-t b{color:var(--d-ink);font-weight:600}
.dapp .nb-fd small{flex:none;color:var(--d-faint);font-size:11.5px}

/* همه‌ی همسایه‌ها (برگه) */
.dapp .nb-all-s + .nb-all-s{margin-top:10px}
.dapp .nb-all-h{display:block;margin:6px 0 0;color:var(--d-sub);font-size:12px}

/* ───────────── چیدمان ───────────── */
@media (min-width:900px){
  .dapp .nb-page{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:0 18px;align-items:start;max-width:1080px;margin:0 auto}
  .dapp .nb-hero,.dapp .nb-res{grid-column:1 / -1}
  .dapp .nb-col{display:flex;flex-direction:column;min-width:0}
  .dapp .nb-col > *{order:0}
  .dapp .nb-find{margin-inline:auto;max-width:640px;height:64px}
  .dapp .nb-street-r{padding-inline:28px;justify-content:flex-start}
  .dapp .nb-sg-l{flex-wrap:wrap;overflow:visible;margin:8px 0 0;padding:0}
  .dapp .nb-sg{flex:1 1 140px;max-width:190px}
  .dapp .nb-res{max-width:640px;margin-inline:auto;width:100%}
}

/* ───────────── حرکت ───────────── */
@keyframes nb-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes nb-pop{0%{opacity:0;transform:scale(.55) translateY(14px)}60%{opacity:1;transform:scale(1.08)}100%{transform:none}}
@keyframes nb-tw{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.95;transform:scale(1.25)}}
@keyframes nb-drift{from{left:-90px}to{left:105%}}
@keyframes nb-pulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@keyframes nb-pulse2{0%,100%{box-shadow:0 0 0 0 rgba(255,212,138,.55)}50%{box-shadow:0 0 0 5px rgba(255,212,138,0)}}
@keyframes nb-smoke{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:.55}100%{opacity:0;transform:translate(6px,-34px) scale(1.7)}}
@keyframes nb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes nb-bobx{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-3px)}}
@keyframes nb-wait{0%,100%{opacity:.4}50%{opacity:.8}}
@keyframes nb-lamp{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes nb-knock{0%,62%,100%{transform:rotate(0)}66%{transform:rotate(-9deg)}70%{transform:rotate(7deg)}74%{transform:rotate(-6deg)}78%{transform:rotate(4deg)}82%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){
  .dapp .nb-page *,.dapp .nb-big *{animation:none !important;transition:none !important}
  .dapp .nb-house,.dapp .nb-deco{opacity:1;transform:none}
}
.dapp .nb-plate.is-done{background:#27507f;border-color:color-mix(in srgb,#fff 70%,var(--d-ok))}
.dapp .nb-plate-t .ic{width:15px;height:15px;margin-inline-end:6px;vertical-align:-2px;color:#9be0b4}

/* «همه‌ی همسایه‌ها» و پیکان‌های صحنه */
.dapp .nb-all-b{position:absolute;z-index:4;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--nb-lab) 24%,transparent);background:color-mix(in srgb,#000 22%,transparent);color:var(--nb-lab);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  -webkit-tap-highlight-color:transparent;transition:transform .15s var(--d-spring)}
.dapp .nb-all-b:active{transform:scale(.9)}
.dapp .nb-all-b .ic{width:19px;height:19px}
.dapp .nb-arr{display:none;position:absolute;z-index:4;top:calc(50% - 22px);width:42px;height:42px;padding:0;place-items:center;border-radius:50%;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--nb-lab) 28%,transparent);background:color-mix(in srgb,#000 30%,transparent);color:var(--nb-lab);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dapp .nb-arr.is-l{left:10px}.dapp .nb-arr.is-r{right:10px;transform:scaleX(-1)}
@media (min-width:900px) and (hover:hover){.dapp .nb-page .nb-arr:not([hidden]){display:grid}}
:root[data-theme="paper"] .dapp .nb-orb{filter:drop-shadow(0 0 8px rgba(244,182,64,.5))}
:root[data-theme="paper"] .dapp .nb-orb .o1,:root[data-theme="paper"] .dapp .nb-scene[data-tod="night"] .nb-orb .o1{fill:#f2b244}
:root[data-theme="paper"] .dapp .nb-orb .o2{stroke:#f2b244}
.dapp .nb-hn.is-cta{width:max-content;max-width:none;white-space:pre-line;overflow:visible;text-overflow:clip;text-align:center;top:-22px}
.dapp .nb-house.no-in:not(.is-pop),.dapp .nb-deco.no-in{animation:none}
:root[data-theme="paper"] .dapp .nb-big{--nb-wall:#efdfd3;--nb-pane:#f6e3ea}

.dapp .nb-cv-k{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:rgba(20,10,20,.72);color:#fff}
.dapp .nb-cv-k .ic{width:9px;height:9px}

/* اثر مشترک زیر هر پیشنهاد، و نوع اثر کوچه */
.dapp .nb-sg-w{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:2px}
.dapp .nb-sg-cv{display:flex;gap:6px;justify-content:center}
.dapp .nb-sg-cv .nb-cv{width:26px;height:36px;border-radius:5px}
.dapp .nb-sg-w small{min-height:0;font-size:11.5px;line-height:1.6;color:var(--d-ink2)}
.dapp .nb-street-b{display:flex;align-items:center;gap:6px}
.dapp .nb-street-b .ic{width:14px;height:14px;flex:none;color:var(--nb-t)}
.dapp .nb-fd .nb-cv{width:26px;height:36px}

/* ───────────── مهمان‌های دم در (a/cinema/ketab/mod-box4-neighbor-guests.js) ───────────── */
.dapp .nb-gs{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:420px;margin:10px auto 4px}
.dapp .nb-gs-card{--gc:#e3b062;position:relative;width:100%;overflow:hidden;border-radius:26px;background:var(--d-surf2);border:1px solid var(--d-line);box-shadow:var(--d-shadow);
  touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;transition:transform .32s var(--d-ease),opacity .32s;outline:none}
.dapp .nb-gs-card:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--nb-t) 50%,transparent)}
.dapp .nb-gs-card.is-drag{transition:none;cursor:grabbing}
.dapp .nb-gs-card.is-out-l{transform:translateX(-125%) rotate(-9deg);opacity:0}
.dapp .nb-gs-card.is-out-r{transform:translateX(125%) rotate(9deg);opacity:0}
.dapp .nb-gs-card.is-in{animation:nb-gs-in .6s var(--d-ease) backwards}
.dapp .nb-gs-art{position:relative;height:218px;overflow:hidden;background:linear-gradient(180deg,var(--nb-s1),var(--nb-s2) 62%,var(--nb-h2));pointer-events:none}
.dapp .nb-gs-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff1c4;opacity:.7;animation:nb-tw 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}
.dapp .nb-gs-sky i:nth-child(1){left:12%;top:14%}.dapp .nb-gs-sky i:nth-child(2){left:30%;top:8%}.dapp .nb-gs-sky i:nth-child(3){left:72%;top:12%}
.dapp .nb-gs-sky i:nth-child(4){left:88%;top:26%}.dapp .nb-gs-sky i:nth-child(5){left:20%;top:36%}.dapp .nb-gs-sky i:nth-child(6){left:60%;top:6%}.dapp .nb-gs-sky i:nth-child(7){left:92%;top:8%}
.dapp .nb-gs-house{position:absolute;left:50%;bottom:-2px;width:min(92%,310px);transform:translateX(-50%)}
.dapp .nb-gs-house svg{display:block;width:100%;height:auto;overflow:visible}
.dapp .nb-gs-door{position:absolute;left:50%;top:78%;transform:translate(-50%,-50%);display:grid;place-items:center;transition:transform .5s var(--d-spring)}
.dapp .nb-gs-door .av-g{box-shadow:0 0 0 3px rgba(255,240,200,.95),0 0 26px 8px rgba(255,190,100,.55)}
.dapp .nb-gs-card.is-in .nb-gs-door{animation:nb-gs-step .8s var(--d-spring) .15s backwards}
.dapp .nb-gs-card.is-welcome .nb-gs-door{transform:translate(-50%,-50%) scale(1.14)}
.dapp .nb-gs-card.is-welcome .gs-dl{filter:brightness(1.2) saturate(1.2)}
.dapp .nb-gs-house .gs-sh{fill:rgba(0,0,0,.35)}
.dapp .nb-gs-house .gs-rf{fill:var(--gc)}.dapp .nb-gs-house .gs-rf2{fill:#000;opacity:.17}
.dapp .nb-gs-house .gs-rl{fill:none;stroke:rgba(255,255,255,.2);stroke-width:2;stroke-linecap:round}
.dapp .nb-gs-house .gs-ch{fill:color-mix(in srgb,var(--gc) 55%,#5a3a30)}
.dapp .nb-gs-house .gs-wl{fill:var(--nb-wall)}
.dapp .nb-gs-house .gs-tl{fill:color-mix(in srgb,var(--gc) 62%,#fff);opacity:.55}
.dapp .nb-gs-house .gs-bd{fill:none;stroke:color-mix(in srgb,var(--gc) 55%,#000);stroke-width:1.6}
.dapp .nb-gs-house .gs-wf{fill:none;stroke:color-mix(in srgb,var(--gc) 50%,#6a4a3a);stroke-width:3.2}
.dapp .nb-gs-house .gs-wg{fill:#ffd98a;animation:nb-gs-fl 3.6s ease-in-out infinite}
.dapp .nb-gs-house .gs-wc{fill:none;stroke:color-mix(in srgb,var(--gc) 50%,#6a4a3a);stroke-width:1.6}
.dapp .nb-gs-house .gs-df{fill:color-mix(in srgb,var(--gc) 55%,#4a3228)}
.dapp .nb-gs-house .gs-mt{fill:color-mix(in srgb,var(--gc) 45%,#3a2a24)}
.dapp .nb-gs-house .gs-lan{transform-origin:212px 62px;animation:nb-gs-sw 4.2s ease-in-out infinite}
.dapp .nb-gs-house .gs-lr{fill:none;stroke:#6a4a3a;stroke-width:1.6}.dapp .nb-gs-house .gs-lb{fill:#4a3428}
.dapp .nb-gs-house .gs-lg{fill:#ffd98a;filter:drop-shadow(0 0 5px #ffd98a)}
.dapp .nb-gs-house .gs-pt{fill:#a5603f}.dapp .nb-gs-house .gs-lf{fill:#6aa87c}
.dapp .nb-gs-say{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px 4px;text-align:center}
.dapp .nb-gs-who{display:flex;flex-direction:column;align-items:center;gap:1px;padding:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.dapp .nb-gs-who b{font-size:18px;font-weight:700}
.dapp .nb-gs-who small{color:var(--d-sub);font-size:12.5px}
.dapp .nb-gs-w{margin:0;font-size:15px;line-height:1.95;color:var(--d-ink)}
.dapp .nb-gs-y{margin:0;font-size:13px;line-height:1.8;color:var(--d-sub)}
.dapp .nb-gs-cv{display:flex;gap:8px;justify-content:center}
.dapp .nb-gs-cv .nb-cv{width:32px;height:44px}
.dapp .nb-gs-wel{margin:6px 20px 0;text-align:center;font-size:16px;font-weight:700;color:var(--nb-t)}
.dapp .nb-gs-act{display:flex;align-items:center;gap:10px;padding:12px 20px 20px}
.dapp .nb-gs-act .nb-fb{flex:1;height:44px;border-radius:14px}
.dapp .nb-gs-later{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 16px;border-radius:14px;background:none;border:1px solid var(--d-line2);color:var(--d-sub);font:inherit;font-size:13.5px;cursor:pointer}
.dapp .nb-gs-later .ic{width:16px;height:16px}
.dapp .nb-gs-card.is-welcome .nb-gs-act{opacity:.45;pointer-events:none}
.dapp .nb-gs-q{display:flex;gap:6px;justify-content:center;align-items:flex-end;min-height:34px}
.dapp .nb-gs-m{--gc:#e3b062;width:26px;height:26px;padding:0;background:none;border:0;opacity:.5;cursor:pointer;transition:transform .3s var(--d-spring),opacity .3s}
.dapp .nb-gs-m svg{display:block;width:100%;height:100%}
.dapp .nb-gs-m .mr{fill:var(--gc)}.dapp .nb-gs-m .mw{fill:var(--nb-wall)}.dapp .nb-gs-m .mk{fill:#6a4a3a}
.dapp .nb-gs-m.is-cur{opacity:1;transform:scale(1.28) translateY(-2px)}
.dapp .nb-gs-m.is-cur .mk{fill:#ffd98a;filter:drop-shadow(0 0 4px #ffb457)}
.dapp .nb-gs-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px 20px;border-radius:26px;border:1.5px dashed var(--d-line2);width:100%;text-align:center}
.dapp .nb-gs-ce{width:84px;height:77px}.dapp .nb-gs-ce svg{display:block;width:100%;height:100%}
.dapp .nb-gs-ce .ce{fill:none;stroke:var(--nb-dash);stroke-width:2;stroke-dasharray:5 4;stroke-linejoin:round}.dapp .nb-gs-ce .cd{fill:var(--nb-t)}
.dapp .nb-gs-empty b{font-size:15px}.dapp .nb-gs-empty p{margin:0;font-size:13px;color:var(--d-sub)}
.dapp .nb-gs-again{margin-top:6px;padding:0;background:none;border:0;color:var(--nb-t);font:inherit;font-weight:600;cursor:pointer}
@keyframes nb-gs-in{from{opacity:0;transform:translateX(36px) scale(.96)}to{opacity:1;transform:none}}
@keyframes nb-gs-step{from{opacity:0;transform:translate(-50%,-30%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes nb-gs-sw{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes nb-gs-fl{0%,100%{opacity:1}45%{opacity:.78}60%{opacity:.95}}

/* ───────────── کارت دعوت (a/cinema/ketab/mod-box4-neighbor-invite.js) ───────────── */
.dapp .nb-iv{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:6px}
.dapp .nb-iv-pv{display:block;width:min(100%,300px);min-height:370px;padding:0;border:0;border-radius:22px;overflow:hidden;background:#2a1424;cursor:pointer;
  box-shadow:0 22px 40px -20px rgba(0,0,0,.75);transition:transform .25s var(--d-spring);-webkit-tap-highlight-color:transparent}
.dapp .nb-iv-pv:active{transform:scale(.98)}
.dapp .nb-iv-pv.is-wait{animation:nb-wait 1.4s ease-in-out infinite}
.dapp .nb-iv-cv{display:block;width:100%;height:auto}
.dapp .nb-iv-a{display:flex;align-items:center;gap:10px;width:100%;max-width:300px}
.dapp .nb-iv-send{flex:1;text-decoration:none}
.dapp .nb-iv-sheet{display:flex;flex-direction:column;align-items:center;gap:14px}
.dapp .nb-iv-seg{align-self:center}
.dapp .nb-iv-st{width:100%;display:flex;justify-content:center}
.dapp .nb-iv-st.is-wait{min-height:340px;border-radius:18px;background:var(--d-surf2);animation:nb-wait 1.4s ease-in-out infinite}
.dapp .nb-iv-st .nb-iv-cv{width:auto;max-width:100%;max-height:58vh;border-radius:18px;box-shadow:0 20px 40px -22px rgba(0,0,0,.7)}
.dapp .nb-iv-sh .sheet-foot .nb-iv-a{max-width:none}
@media (prefers-reduced-motion:reduce){.dapp .nb-gs *,.dapp .nb-iv *{animation:none !important;transition:none !important}}
