/* ============================================================
   Estate 01 — سایت عمومی (RTL, mobile-first)
   زبان بصری: کاغذ کرم + خطوط نقشه‌ی معماری + برنج؛ بخش‌های تیره برای تضاد.
   ============================================================ */
@font-face{font-family:'Vazirmatn';src:url(../fonts/vazirmatn.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{
  --a:#b6873a;--a2:#e2bd7b;--ink:#1a1305;--deep:#16181d;--paper:#f5f1e8;
  --bg:var(--paper);--bg2:#ece6d9;--card:#fffdf8;--tx:#14171c;--tx2:#2c313a;--mut:#6c675c;--dim:#9a9486;
  --line:rgba(20,23,28,.12);--line2:rgba(20,23,28,.24);--ok:#2b8a60;--bad:#c2402f;--warn:#c58a1c;--info:#2c6ca6;
  --r:16px;--r2:24px;--e:cubic-bezier(.22,.8,.24,1);--sh:0 1px 0 rgba(20,23,28,.04),0 14px 34px -18px rgba(20,23,28,.28);--sh2:0 24px 60px -24px rgba(20,23,28,.4);
  --w:1240px;--hh:76px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{font-family:'Vazirmatn',system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.8;font-size:15.5px;-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}
img,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none}
::selection{background:var(--a);color:#fff}
:focus-visible{outline:2px solid var(--a);outline-offset:3px;border-radius:8px}
.ic{width:1.2em;height:1.2em;flex:none}
.wrap{width:min(var(--w),100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;inset-inline-start:0;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
[hidden]{display:none!important}
.mut{color:var(--mut)}.num{font-feature-settings:"tnum"}
body.lock{overflow:hidden}

/* ---------- loader / progress ---------- */
.loader{position:fixed;inset:0;z-index:300;background:var(--paper);display:grid;place-items:center;transition:opacity .6s var(--e),visibility .6s}
.loader.done{opacity:0;visibility:hidden}
.ld-in{display:grid;justify-items:center;gap:14px}
.ld-in b{font-size:19px;letter-spacing:.02em}
.ld-mark{width:64px;height:64px;color:var(--a)}
.ld-mark svg{width:100%;height:100%;stroke-dasharray:140;stroke-dashoffset:140;animation:ldraw 1.1s var(--e) forwards}
.ld-in i{display:block;width:120px;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.ld-in i::after{content:"";position:absolute;inset:0;background:var(--a);transform:translateX(100%);animation:ldbar 1s var(--e) .1s forwards}
@keyframes ldraw{to{stroke-dashoffset:0}}@keyframes ldbar{to{transform:translateX(0)}}
.progress{position:fixed;inset-block-start:0;inset-inline:0;height:3px;z-index:120;pointer-events:none}
.progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--a2),var(--a));transform-origin:right;transform:scaleX(0)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:99px;font-weight:700;font-size:14.5px;border:1px solid transparent;transition:transform .25s var(--e),background .25s,color .25s,border-color .25s,box-shadow .25s;white-space:nowrap;position:relative;isolation:isolate}
.btn.primary{background:var(--tx);color:var(--paper)}
.btn.primary:hover{background:var(--a);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -12px var(--a)}
.btn.brass{background:var(--a);color:#fff}
.btn.brass:hover{background:var(--tx);transform:translateY(-2px)}
.btn.ghost{border-color:var(--line2);background:transparent}
.btn.ghost:hover{border-color:var(--tx);background:var(--tx);color:var(--paper)}
.btn.light{background:#fff;color:#14171c}.btn.light:hover{background:var(--a2)}
.btn.sm{min-height:38px;padding:0 15px;font-size:13.5px}.btn.lg{min-height:54px;padding:0 30px;font-size:16px}
.btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.ib{width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid var(--line2);transition:.25s var(--e);position:relative}
.ib:hover{background:var(--tx);color:var(--paper);border-color:var(--tx)}
.ib.on{background:var(--a);border-color:var(--a);color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-bottom:1px solid var(--line2);padding-bottom:2px;transition:.25s}
.link-arrow:hover{color:var(--a);border-color:var(--a);gap:13px}

/* ---------- forms ---------- */
.fld{display:grid;gap:7px;margin-bottom:14px;position:relative}
.fld>span{font-size:13.5px;font-weight:600;color:var(--tx2)}
.fld .req{color:var(--bad);margin-inline-start:4px}
.fld input,.fld select,.fld textarea,.inp{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--card);transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:96px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus,.inp:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 18%,transparent)}
.fld input.bad,.fld select.bad,.fld textarea.bad{border-color:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 14%,transparent)}
.fld .err{font-size:12.5px;color:var(--bad);min-height:0}
.frow{display:grid;gap:14px}
@media(min-width:620px){.frow.c2{grid-template-columns:1fr 1fr}.frow.c3{grid-template-columns:repeat(3,1fr)}}
.chk{display:flex;gap:10px;align-items:center;font-size:14px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--a)}
.form-msg{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:14px}
.form-msg.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.form-msg.err{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.dark .fld input,.dark .fld select,.dark .fld textarea,.dark .inp{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff}
.dark .fld>span{color:rgba(255,255,255,.8)}
.dark .fld select option{color:#111}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 15px;border-radius:99px;border:1px solid var(--line2);font-size:13.5px;font-weight:600;transition:.2s;background:transparent;cursor:pointer}
.pill:hover{border-color:var(--tx)}
.pill.on,input:checked+.pill{background:var(--tx);color:var(--paper);border-color:var(--tx)}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill:has(input:checked){background:var(--tx);color:var(--paper);border-color:var(--tx)}
.pill:has(input:focus-visible){outline:2px solid var(--a);outline-offset:2px}

/* ---------- topbar ---------- */
.topbar{background:var(--deep);color:#fff;font-size:13.5px;position:relative;z-index:90}
.topbar-in{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 44px;text-align:center;min-height:40px}
.topbar a{text-decoration:underline;text-underline-offset:3px;color:var(--a2);font-weight:700}
.topbar .tb-x{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.7)}

/* ---------- header ---------- */
.hdr{position:sticky;top:12px;z-index:100;margin-top:12px;pointer-events:none}
.hdr-in{pointer-events:auto;display:flex;align-items:center;gap:8px;min-height:62px;padding:8px 10px 8px 14px;border-radius:99px;background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--line);box-shadow:var(--sh);transition:.4s var(--e)}
.hdr.stuck .hdr-in{box-shadow:var(--sh2);min-height:56px}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;white-space:nowrap}
.logo .lg-m{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--tx);color:var(--a2);flex:none;overflow:hidden}
.logo .lg-m img{width:100%;height:100%;object-fit:cover}
.logo small{display:block;font-size:11px;font-weight:500;color:var(--mut);margin-top:-5px;letter-spacing:.04em}
.nav{display:none;margin-inline:auto;gap:2px}
.nav a{padding:8px 15px;border-radius:99px;font-weight:600;font-size:14.5px;color:var(--tx2);transition:.2s}
.nav a:hover,.nav a.on{background:var(--bg2);color:var(--tx)}
.hdr-act{display:flex;align-items:center;gap:6px;margin-inline-start:auto}
.hdr-act .ib{border-color:transparent;background:transparent}
.hdr-act .ib:hover{background:var(--bg2);color:var(--tx);border-color:transparent}
.cnt{position:absolute;top:-2px;inset-inline-start:-2px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--a);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1}
.cnt:empty,.cnt[data-n="0"]{display:none}
.hdr-phone{display:none}
@media(min-width:1040px){.nav{display:flex}.hdr-phone{display:inline-flex}.menu-btn{display:none!important}}
.drawer{position:fixed;inset:0;z-index:210;visibility:hidden}
.drawer.open{visibility:visible}
.drawer .d-bg{position:absolute;inset:0;background:rgba(10,12,16,.55);backdrop-filter:blur(4px);opacity:0;transition:.4s}
.drawer.open .d-bg{opacity:1}
.drawer .d-box{position:absolute;inset-block:0;inset-inline-end:0;width:min(380px,92vw);background:var(--card);padding:22px;display:flex;flex-direction:column;gap:6px;transform:translateX(100%);transition:transform .5s var(--e);overflow:auto}
html[dir=rtl] .drawer .d-box{transform:translateX(100%)}
.drawer.open .d-box{transform:none}
.d-box a.dl{padding:13px 8px;border-bottom:1px solid var(--line);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:space-between}
.d-box .d-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}

/* ---------- mobile dock ---------- */
.dock{position:fixed;inset-inline:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:95;display:flex;align-items:center;justify-content:space-around;height:62px;border-radius:99px;background:color-mix(in srgb,var(--deep) 92%,transparent);backdrop-filter:blur(16px);color:#fff;box-shadow:var(--sh2);padding:0 8px}
.dock a{display:grid;place-items:center;gap:0;width:54px;font-size:10.5px;color:rgba(255,255,255,.72);position:relative;line-height:1.3}
.dock a .ic{width:22px;height:22px}
.dock a.on{color:var(--a2)}
.dock .call{width:50px;height:50px;border-radius:50%;background:var(--a);color:#fff;margin-top:-26px;box-shadow:0 12px 24px -8px var(--a);display:grid;place-items:center}
@media(min-width:900px){.dock{display:none}}
@media(max-width:899px){body{padding-bottom:88px}.hdr-in{padding-inline:8px}.logo small{display:none}.hdr-phone{display:none}}

/* ---------- section scaffolding ---------- */
.sec{padding:clamp(64px,9vw,120px) 0;position:relative;counter-increment:sec}
.sec.tight{padding:clamp(44px,6vw,80px) 0}
.sec.dark{--bg:var(--deep);--card:#1e2128;--tx:#f4f0e7;--tx2:#d9d4c7;--mut:#a39d8f;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.26);background:var(--deep);color:var(--tx)}
.sec.alt{background:var(--bg2)}
body.home main{counter-reset:sec}
.sec-head{display:grid;gap:10px;margin-bottom:clamp(28px,4vw,52px);max-width:760px}
.sh-idx{display:flex;align-items:center;gap:14px;color:var(--a);font-weight:800;font-size:13px}
.sh-idx b{font-size:46px;line-height:1;color:transparent;-webkit-text-stroke:1.4px var(--a);font-weight:900}
.sh-idx b::before{content:counter(sec,persian)}
.sh-idx i{flex:0 0 74px;height:1px;background:var(--a);position:relative}
.sh-idx i::before,.sh-idx i::after{content:"";position:absolute;top:-4px;width:1px;height:9px;background:var(--a)}
.sh-idx i::before{right:0}.sh-idx i::after{left:0}
.sh-idx span{font-size:13px;letter-spacing:.02em;color:var(--mut);font-weight:600}
.sec-head h2{font-size:clamp(28px,4.4vw,52px);line-height:1.25;font-weight:900;letter-spacing:-.01em}
.sec-head .sub{color:var(--mut);font-size:clamp(15px,1.6vw,18px);max-width:560px}
.sec-head.row{max-width:none;grid-template-columns:1fr auto;align-items:end}
.sec-head.row>div{display:grid;gap:10px}
@media(max-width:700px){.sec-head.row{grid-template-columns:1fr}}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--e),transform .9s var(--e);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rv-x{opacity:0;transform:translateX(-48px) scale(.96);transition:opacity 1s var(--e),transform 1.1s var(--e);transition-delay:var(--d,0s)}
.js .rv-x.in{opacity:1;transform:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em}
.split .w>span{display:inline-block;transform:translateY(110%);transition:transform .9s var(--e);transition-delay:calc(var(--i)*55ms)}
.js .split.in .w>span{transform:none}
html:not(.js) .split .w>span{transform:none}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .rv,.js .rv-x{opacity:1;transform:none;clip-path:none}.split .w>span{transform:none}}

/* ---------- property card ---------- */
.pc{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;transition:transform .5s var(--e),box-shadow .5s var(--e),border-color .3s;isolation:isolate}
.pc:hover{transform:translateY(-6px);box-shadow:var(--sh2);border-color:transparent}
.pc.hl{box-shadow:0 0 0 3px var(--a),var(--sh2);transform:translateY(-4px)}
.pc-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg2);display:block}
.pc-img .pimg,.pc-img img,.pc-img svg{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.pc-img .pimg.art-wrap{display:block}
.pc:hover .pc-img .pimg{transform:scale(1.07)}
.pc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 38%,transparent 62%,rgba(0,0,0,.45));pointer-events:none}
.pc-tags{position:absolute;top:12px;inset-inline-start:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.tg{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:99px;font-size:12px;font-weight:800;background:rgba(255,255,255,.92);color:#14171c;backdrop-filter:blur(6px)}
.tg.deal{background:var(--tx);color:var(--paper)}
.tg.new{background:var(--a);color:#fff}
.tg.drop{background:var(--ok);color:#fff}
.tg.hot{background:var(--bad);color:#fff}
.tg.st{background:#14171c;color:#fff}
.pc-act{position:absolute;top:10px;inset-inline-end:10px;display:flex;gap:6px;z-index:2}
.pc-act button{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:#14171c;display:grid;place-items:center;transition:.25s var(--e);backdrop-filter:blur(6px)}
.pc-act button:hover{transform:scale(1.12);background:#fff}
.pc-act button.on{background:var(--a);color:#fff}
.pc-act button.on .ic{fill:currentColor}
.pc-price{position:absolute;bottom:12px;inset-inline-start:14px;z-index:2;color:#fff;font-weight:900;font-size:19px;text-shadow:0 2px 12px rgba(0,0,0,.45);line-height:1.35}
.pc-price small{display:block;font-size:12px;font-weight:600;opacity:.9}
.pc-body{padding:16px 18px 18px;display:grid;gap:10px;flex:1}
.pc-title{font-weight:800;font-size:16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-title a::after{content:"";position:absolute;inset:0;z-index:1}
.pc-loc{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:13px}
.pc-spec{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--tx2);padding-top:10px;border-top:1px dashed var(--line2)}
.pc-spec span{display:inline-flex;align-items:center;gap:6px}
.pc-spec .ic{color:var(--a)}
.pc-foot{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--mut)}
.pc-old{text-decoration:line-through;color:var(--dim)}
.pc-act button,.pc a.stretch{position:relative;z-index:3}
.pc.compact .pc-img{aspect-ratio:16/10}
.pc-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr))}
.pc-chk{position:absolute;bottom:12px;inset-inline-end:12px;z-index:3}
.cmp-btn{height:34px;padding:0 12px;border-radius:99px;background:rgba(255,255,255,.92);color:#14171c;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.cmp-btn.on{background:var(--a);color:#fff}
.skel{background:linear-gradient(90deg,var(--bg2) 20%,color-mix(in srgb,var(--bg2) 60%,#fff) 50%,var(--bg2) 80%);background-size:200% 100%;animation:sk 1.3s infinite linear;border-radius:var(--r)}
@keyframes sk{to{background-position:-200% 0}}
.empty{display:grid;place-items:center;text-align:center;gap:10px;padding:54px 20px;color:var(--mut);border:1px dashed var(--line2);border-radius:var(--r2)}
.empty .ic{width:44px;height:44px;color:var(--a)}
.empty b{color:var(--tx);font-size:17px}

/* ---------- toast / modal ---------- */
.toasts{position:fixed;inset-inline:0;bottom:96px;z-index:260;display:grid;justify-items:center;gap:8px;pointer-events:none}
@media(min-width:900px){.toasts{bottom:28px}}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:99px;background:var(--deep);color:#fff;box-shadow:var(--sh2);font-size:14px;font-weight:600;animation:tin .5s var(--e);max-width:92vw}
.toast.err{background:var(--bad)}.toast.ok .ic{color:var(--a2)}
.toast.out{animation:tout .4s var(--e) forwards}
@keyframes tin{from{opacity:0;transform:translateY(20px) scale(.96)}}@keyframes tout{to{opacity:0;transform:translateY(10px)}}
.modal{position:fixed;inset:0;z-index:240;display:none;place-items:center;padding:16px}
.modal.open{display:grid}
.modal .m-bg{position:absolute;inset:0;background:rgba(10,12,16,.6);backdrop-filter:blur(5px);animation:fade .3s}
.modal .m-box{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--card);border-radius:var(--r2);padding:26px;box-shadow:var(--sh2);animation:pop .5s var(--e)}
.modal .m-box.wide{width:min(860px,100%)}
.modal .m-x{position:absolute;top:14px;inset-inline-end:14px}
.modal h3{font-size:20px;font-weight:900;margin-bottom:6px;padding-inline-end:46px}
@keyframes fade{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.97)}}
@media(max-width:620px){.modal{align-items:end;padding:0}.modal .m-box{border-radius:24px 24px 0 0;max-height:90vh;animation:sheet .5s var(--e)}}
@keyframes sheet{from{transform:translateY(100%)}}

/* ---------- footer ---------- */
.ftr{background:var(--deep);color:#e9e4d7;padding:80px 0 34px;margin-top:0;position:relative;overflow:hidden}
.ftr .giant{font-size:clamp(70px,16vw,230px);font-weight:900;line-height:.9;color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.14);white-space:nowrap;margin-bottom:46px;text-align:center;user-select:none}
.ftr-grid{display:grid;gap:34px;grid-template-columns:1fr}
@media(min-width:800px){.ftr-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.ftr h4{font-size:14px;color:var(--a2);margin-bottom:14px;font-weight:800;letter-spacing:.04em}
.ftr li{margin-bottom:8px}.ftr a:hover{color:var(--a2)}
.ftr p{color:#b8b2a3;font-size:14px}
.ftr .soc{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.ftr .soc a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}
.ftr .soc a:hover{background:var(--a);border-color:var(--a);color:#fff}
.ftr-bot{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:#948e80}
.ftr-note{font-size:12.5px;color:#8a8475;margin-top:10px;max-width:520px}

/* ---------- tilt/magnetic ---------- */
.tilt{transform-style:preserve-3d;transition:transform .5s var(--e)}
[data-mag]{transition:transform .35s var(--e)}

/* ---------- assistant floating ---------- */
.as-fab{position:fixed;inset-inline-start:18px;bottom:92px;z-index:96;width:56px;height:56px;border-radius:50%;background:var(--tx);color:var(--a2);display:grid;place-items:center;box-shadow:var(--sh2);transition:.4s var(--e)}
.as-fab:hover{transform:scale(1.08) rotate(-6deg);background:var(--a);color:#fff}
.as-fab .ic{width:26px;height:26px}
.as-fab::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--a);opacity:.5;animation:ring 2.6s infinite}
@keyframes ring{0%{transform:scale(.85);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media(min-width:900px){.as-fab{bottom:24px}}
.as-panel{position:fixed;inset-inline-start:16px;bottom:96px;z-index:230;width:min(420px,calc(100vw - 32px));height:min(620px,76vh);background:var(--card);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh2);display:none;flex-direction:column;overflow:hidden}
@media(min-width:900px){.as-panel{bottom:92px}}
.as-panel.open{display:flex;animation:pop .5s var(--e)}
.as-h{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--deep);color:#fff}
.as-h b{flex:1}.as-h small{display:block;color:#b9b3a4;font-weight:400;font-size:12px}
.as-h .ib{border-color:rgba(255,255,255,.3);color:#fff;width:36px;height:36px}
.as-log{flex:1;overflow:auto;padding:16px;display:grid;gap:12px;align-content:start;background:var(--bg)}
.as-m{max-width:92%;padding:11px 15px;border-radius:18px;font-size:14.5px;line-height:1.8;white-space:pre-line}
.as-m.bot{background:var(--card);border:1px solid var(--line);border-end-start-radius:4px;justify-self:start}
.as-m.me{background:var(--tx);color:var(--paper);border-end-end-radius:4px;justify-self:end}
.as-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.as-chips span{font-size:12px;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,var(--a) 16%,transparent);font-weight:700;color:var(--tx)}
.as-cards{display:grid;gap:8px;margin-top:6px}
.as-mini{display:grid;grid-template-columns:76px 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:13px;transition:.2s}
.as-mini:hover{border-color:var(--a)}
.as-mini .pimg{width:76px;height:100%;min-height:68px;object-fit:cover}
.as-mini .pimg svg{width:100%;height:100%;object-fit:cover}
.as-mini div{padding:8px 4px;display:grid;gap:2px}
.as-mini b{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.as-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.as-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--card)}
.as-in input{flex:1;min-height:46px;border:1px solid var(--line2);border-radius:99px;padding:0 18px;background:var(--bg)}
.as-in input:focus{outline:none;border-color:var(--a)}
.as-ex{display:flex;gap:6px;overflow:auto;padding:0 12px 10px;background:var(--card)}
.as-ex button{flex:none;font-size:12px;padding:6px 12px;border-radius:99px;border:1px solid var(--line2)}
.as-ex button:hover{background:var(--tx);color:var(--paper)}
.typing i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mut);margin:0 2px;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}

/* ---------- stars, misc ---------- */
.stars{display:inline-flex;gap:2px;color:var(--line2)}.stars i{display:inline-flex}.stars i.on{color:var(--a)}.stars .ic{width:15px;height:15px;fill:currentColor}
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mut);flex-wrap:wrap;margin-bottom:18px}
.crumbs a:hover{color:var(--a)}
.page-h{padding:clamp(34px,5vw,60px) 0 18px}
.page-h h1{font-size:clamp(28px,4.4vw,48px);font-weight:900;line-height:1.3}
.page-h p{color:var(--mut);margin-top:8px;max-width:640px}
.prose{max-width:760px;font-size:16.5px;line-height:2.05}
.prose h2,.prose h3{margin:28px 0 10px;font-weight:900}.prose h3{font-size:20px}
.prose p{margin-bottom:14px}.prose ul,.prose ol{margin:0 0 16px;padding-inline-start:22px;list-style:disc}.prose ol{list-style:decimal}
.prose img{border-radius:var(--r);margin:16px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:22px}
.kv{display:grid;gap:0}
.kv>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line2);font-size:14.5px}
.kv>div:last-child{border:0}.kv span{color:var(--mut)}.kv b{font-weight:700;text-align:end}
.art-note{position:absolute;bottom:10px;inset-inline-end:10px;z-index:2;font-size:11px;padding:3px 9px;border-radius:99px;background:rgba(20,23,28,.72);color:#fff}
.sw-btn{display:inline-flex;align-items:center;gap:8px}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;background:var(--bg2)}
.badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.badge.bad{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad)}.badge.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:#8a5d0a}
