/* Greenfield kit: one system, two identities. Self-hosted fonts only. */
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Vazirmatn";font-weight:400;font-display:swap;src:url(fonts/vazirmatn-arabic-400-normal.woff2) format("woff2")}
@font-face{font-family:"Vazirmatn";font-weight:500;font-display:swap;src:url(fonts/vazirmatn-arabic-500-normal.woff2) format("woff2")}
@font-face{font-family:"Vazirmatn";font-weight:600;font-display:swap;src:url(fonts/vazirmatn-arabic-600-normal.woff2) format("woff2")}
@font-face{font-family:"Vazirmatn";font-weight:700;font-display:swap;src:url(fonts/vazirmatn-arabic-700-normal.woff2) format("woff2")}
@font-face{font-family:"Vazirmatn";font-weight:800;font-display:swap;src:url(fonts/vazirmatn-arabic-800-normal.woff2) format("woff2")}
@font-face{font-family:"Estedad";font-weight:400;font-display:swap;src:url(fonts/estedad-arabic-400-normal.woff2) format("woff2")}
@font-face{font-family:"Estedad";font-weight:500;font-display:swap;src:url(fonts/estedad-arabic-500-normal.woff2) format("woff2")}
@font-face{font-family:"Estedad";font-weight:600;font-display:swap;src:url(fonts/estedad-arabic-600-normal.woff2) format("woff2")}
@font-face{font-family:"Estedad";font-weight:700;font-display:swap;src:url(fonts/estedad-arabic-700-normal.woff2) format("woff2")}
@font-face{font-family:"Estedad";font-weight:800;font-display:swap;src:url(fonts/estedad-arabic-800-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans Devanagari";font-weight:400;font-display:swap;src:url(fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans Hebrew";font-weight:400;font-display:swap;src:url(fonts/noto-sans-hebrew-hebrew-400-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-weight:400;font-display:swap;src:url(fonts/noto-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-04FF}

/* ---------- Tokens ---------- */
:root{
  --paper:#FFFFFF; --ink:#0A0A0A; --ink-2:#3F3F3D; --ink-3:#62625E; --line:#E4E4E0; --line-2:#CBCBC6;
  --surface:#F5F5F2; --surface-2:#ECECE7; --scrim:rgba(10,10,10,.42);
  --scene:#0D0E11; --scene-ink:#F4F4F0; --scene-line:rgba(244,244,240,.30); --scene-line-2:rgba(244,244,240,.12);
  --r:5px; --r-lg:10px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --t-xs:12px; --t-sm:14px; --t-md:16px; --t-lg:18px; --t-xl:22px; --t-2xl:28px; --t-3xl:36px; --t-4xl:48px; --t-5xl:64px;
  --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;
  --font-head:var(--font);
  --track-label:.08em; --label-case:uppercase;
  --hd:56px; --rail:72px; --maxw:1240px; --gutter:32px;
  --shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px -8px rgba(0,0,0,.18);
  --shadow-lg:0 24px 64px -16px rgba(0,0,0,.35);
  --focus:0 0 0 2px var(--paper),0 0 0 4px var(--acc);
  color-scheme:light;
}
[data-net=kco]{ --acc:#A3221B; --acc-2:#26326E; --acc-3:#B47A1C; --acc-tint:#F8EAE7; --acc2-tint:#E8EAF4; --on-acc:#FFFFFF; }
[data-net=idcdc]{ --acc:#1C3F94; --acc-2:#0A6B67; --acc-3:#E0A21B; --acc-tint:#E7EDF9; --acc2-tint:#E1F2F0; --on-acc:#FFFFFF; }
:root[data-theme=dark]{
  --paper:#0B0B0C; --ink:#F3F3EF; --ink-2:#C9C9C3; --ink-3:#A2A29C; --line:#26262A; --line-2:#3A3A40;
  --surface:#141416; --surface-2:#1D1D21; --scrim:rgba(0,0,0,.6); --scene:#08090B;
  --shadow:0 1px 0 rgba(255,255,255,.03),0 10px 30px -10px rgba(0,0,0,.8); color-scheme:dark;
}
:root[data-theme=dark][data-net=kco]{ --acc:#FF8E7E; --acc-2:#AEB9FF; --acc-3:#E3A94A; --acc-tint:rgba(255,142,126,.13); --acc2-tint:rgba(174,185,255,.12); --on-acc:#0B0B0C; }
:root[data-theme=dark][data-net=idcdc]{ --acc:#97B1FF; --acc-2:#58D5CA; --acc-3:#F2B843; --acc-tint:rgba(151,177,255,.13); --acc2-tint:rgba(88,213,202,.12); --on-acc:#0B0B0C; }
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --paper:#0B0B0C; --ink:#F3F3EF; --ink-2:#C9C9C3; --ink-3:#A2A29C; --line:#26262A; --line-2:#3A3A40;
    --surface:#141416; --surface-2:#1D1D21; --scrim:rgba(0,0,0,.6); --scene:#08090B;
    --shadow:0 1px 0 rgba(255,255,255,.03),0 10px 30px -10px rgba(0,0,0,.8); color-scheme:dark;
  }
  :root:not([data-theme=light])[data-net=kco]{ --acc:#FF8E7E; --acc-2:#AEB9FF; --acc-3:#E3A94A; --acc-tint:rgba(255,142,126,.13); --acc2-tint:rgba(174,185,255,.12); --on-acc:#0B0B0C; }
  :root:not([data-theme=light])[data-net=idcdc]{ --acc:#97B1FF; --acc-2:#58D5CA; --acc-3:#F2B843; --acc-tint:rgba(151,177,255,.13); --acc2-tint:rgba(88,213,202,.12); --on-acc:#0B0B0C; }
}
/* Arabic script: own family, no tracking, no case transforms, taller line */
:root:lang(fa){ --font:"Vazirmatn",system-ui,sans-serif; --font-mono:"Vazirmatn",sans-serif; --track-label:0; --label-case:none; }
:root:lang(ckb){ --font:"Estedad","Vazirmatn",system-ui,sans-serif; --font-mono:"Estedad",sans-serif; --track-label:0; --label-case:none; }
:lang(fa),:lang(ckb),:lang(ar){ letter-spacing:0 !important; text-transform:none !important; }
[lang=hi]{font-family:"Noto Sans Devanagari",var(--font)} [lang=he]{font-family:"Noto Sans Hebrew",var(--font)} [lang=ru]{font-family:"Noto Sans",var(--font)}
[lang=fa] [lang=en],[lang=ckb] [lang=en]{font-family:"IBM Plex Sans",sans-serif}
.ltr{direction:ltr;unicode-bidi:isolate} bdi{unicode-bidi:isolate}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-md)/1.55 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:lang(fa) body,:lang(ckb) body{line-height:1.8}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0} ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:8px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:var(--r)}
.skip:focus{top:8px}
.ico{width:20px;height:20px;flex:none;stroke-width:1.75}
.ico-sm{width:16px;height:16px} .ico-lg{width:24px;height:24px}
[dir=rtl] .flip{transform:scaleX(-1)}
.num{font-variant-numeric:tabular-nums}

/* ---------- Type roles ---------- */
.lbl{font:500 var(--t-xs)/1.3 var(--font-mono);letter-spacing:var(--track-label);text-transform:var(--label-case);color:var(--ink-3)}
:lang(fa) .lbl,:lang(ckb) .lbl{font-family:var(--font);font-size:13px;font-weight:600}
.h1{font:700 var(--t-3xl)/1.12 var(--font-head);letter-spacing:-.02em}
.h2{font:650 var(--t-xl)/1.25 var(--font-head);font-weight:600;letter-spacing:-.01em}
.h3{font:600 var(--t-lg)/1.3 var(--font-head)}
.lede{font-size:var(--t-lg);color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-3)} .small{font-size:var(--t-sm)} .xs{font-size:var(--t-xs)}
:lang(fa) .h1,:lang(ckb) .h1,:lang(fa) .h2,:lang(ckb) .h2{letter-spacing:0;line-height:1.45}

/* ---------- App shell ---------- */
.app{min-height:100vh;display:grid;grid-template-columns:var(--rail) minmax(0,1fr);grid-template-rows:var(--hd) 1fr auto;grid-template-areas:"hd hd" "rail main" "ft ft"}
.app.no-rail{grid-template-columns:minmax(0,1fr);grid-template-areas:"hd" "main" "ft"}
.railwrap{grid-area:rail;border-inline-end:1px solid var(--line);background:var(--paper)}
.hd{grid-area:hd;position:sticky;top:0;z-index:40}
.rail{position:sticky;top:var(--hd);height:calc(100vh - var(--hd));align-self:start}
.main{grid-area:main;min-width:0}
.ft{grid-area:ft}
.page{max-width:calc(var(--maxw) + var(--gutter)*2);margin-inline:auto;padding:var(--s6) var(--gutter) var(--s8)}

/* Header: one row, icons first */
.bar{height:var(--hd);display:flex;align-items:center;gap:var(--s2);padding-inline:var(--s3) var(--s4);background:var(--paper);border-bottom:1px solid var(--line);position:relative}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:6px 8px;border-radius:var(--r);min-width:0}
.brand .mark{flex:none}
.brand b{font:700 17px/1 var(--font);letter-spacing:.01em}
.brand small{display:block;font:400 12px/1.2 var(--font-mono);color:var(--ink-3);margin-top:3px}
:lang(fa) .brand small,:lang(ckb) .brand small{font-family:"IBM Plex Mono",monospace}
.scope{display:flex;align-items:center;gap:6px;height:36px;padding-inline:10px 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:var(--t-sm);margin-inline-start:var(--s3);white-space:nowrap;min-width:0}
.scope .sep{color:var(--ink-3)} .scope b{font-weight:600} .scope .ico{color:var(--acc)}
.scope:hover{border-color:var(--line-2)}
.bar .sp{flex:1}
.tools{display:flex;align-items:center;gap:2px}
.ib{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r);color:var(--ink);transition:background .15s}
.ib:hover,.ib[aria-expanded=true]{background:var(--surface-2)}
.ib .badge{position:absolute;top:7px;inset-inline-end:7px;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 2px var(--paper)}
.ib-lang{width:auto;padding-inline:9px;gap:6px;display:inline-flex;align-items:center}
.ib-lang .code{font:500 12px/1 var(--font-mono);letter-spacing:.04em;border:1px solid var(--line-2);padding:3px 5px;border-radius:3px}
.av{width:32px;height:32px;display:grid;place-items:center;font:600 13px/1 var(--font);background:var(--acc-2);color:var(--paper);flex:none}
[data-net=kco] .av{clip-path:polygon(25% 0,75% 0,75% 12.5%,87.5% 12.5%,87.5% 25%,100% 25%,100% 75%,87.5% 75%,87.5% 87.5%,75% 87.5%,75% 100%,25% 100%,25% 87.5%,12.5% 87.5%,12.5% 75%,0 75%,0 25%,12.5% 25%,12.5% 12.5%,25% 12.5%)}
[data-net=idcdc] .av{clip-path:polygon(29.3% 0,70.7% 0,100% 29.3%,100% 70.7%,70.7% 100%,29.3% 100%,0 70.7%,0 29.3%)}
.av-lg{width:96px;height:96px;font-size:32px}
.av-md{width:44px;height:44px;font-size:16px}
.av-ph{background:var(--surface-2);color:var(--ink-2)}
.ib-av{width:44px}
.vr{width:1px;height:24px;background:var(--line);margin-inline:6px}

/* Buttons: 5px radius always */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding-inline:16px;border-radius:var(--r);font:600 var(--t-sm)/1 var(--font);text-decoration:none;border:1px solid transparent;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ink);color:var(--paper)} .btn-primary:hover{background:var(--ink-2)}
.btn-line{border-color:var(--line-2);background:var(--paper)} .btn-line:hover{border-color:var(--ink)}
.btn-acc{background:var(--acc);color:var(--on-acc)}
.btn-ghost{color:var(--ink)} .btn-ghost:hover{background:var(--surface-2)}
.btn-sm{height:32px;padding-inline:12px;font-size:13px}
.btn-lg{height:48px;padding-inline:22px;font-size:var(--t-md)}
.btn-block{width:100%}
.on-scene .btn-line{background:transparent;color:var(--scene-ink);border-color:rgba(255,255,255,.4)}
.on-scene .btn-primary{background:var(--scene-ink);color:var(--scene)}

/* Tooltips: hover and focus, in the page language */
[data-tip]{position:relative}
[data-tip]::after{content:attr(data-tip);position:absolute;z-index:60;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .12s,transform .12s;
  background:var(--ink);color:var(--paper);font:500 12px/1.3 var(--font);padding:6px 9px;border-radius:var(--r);white-space:nowrap;
  top:calc(100% + 8px);inset-inline-start:50%;translate:-50% 0}
[dir=rtl] [data-tip]::after{translate:50% 0}
[data-tip]::before{content:"";position:absolute;z-index:61;opacity:0;pointer-events:none;top:calc(100% + 4px);inset-inline-start:50%;translate:-50% 0;border:4px solid transparent;border-bottom-color:var(--ink);border-top:0;transition:opacity .12s}
[dir=rtl] [data-tip]::before{translate:50% 0}
[data-tip]:hover::after,[data-tip]:focus-visible::after,[data-tip].tip-show::after{opacity:1;transform:none}
[data-tip]:hover::before,[data-tip]:focus-visible::before,[data-tip].tip-show::before{opacity:1}
[data-tip-pos=end]::after{top:50%;inset-inline-start:calc(100% + 10px);translate:0 -50%}
[dir=rtl] [data-tip-pos=end]::after{translate:0 -50%}
[data-tip-pos=end]::before{top:50%;inset-inline-start:calc(100% + 6px);translate:0 -50%;border:4px solid transparent;border-inline-end-color:var(--ink)}
[dir=rtl] [data-tip-pos=end]::before{translate:0 -50%}
[data-tip-pos=edge]::after{inset-inline-start:auto;inset-inline-end:0;translate:0 0}
[data-tip-pos=edge]::before{inset-inline-start:auto;inset-inline-end:16px;translate:0 0}
.tip-off::after,.tip-off::before{display:none}

/* Popovers and menus */
.pop{position:absolute;top:calc(100% + 6px);z-index:50;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:none;min-width:260px}
.pop[data-open]{display:block}
.pop-end{inset-inline-end:12px} .pop-start{inset-inline-start:12px}
.pop-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pop-f{padding:10px 14px;border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-3)}
.menu{padding:6px}
.mi{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r);text-decoration:none;font-size:var(--t-sm);text-align:start}
.mi:hover,.mi:focus-visible,.mi.hl{background:var(--surface-2)}
.mi .ico{color:var(--ink-2)} .mi .end{margin-inline-start:auto;color:var(--ink-3);font-size:var(--t-xs)}
.mi[aria-checked=true]{font-weight:600}
.mi[aria-checked=true] .chk{color:var(--acc)}
.mi .chk{margin-inline-start:auto;visibility:hidden} .mi[aria-checked=true] .chk{visibility:visible}
.msep{height:1px;background:var(--line);margin:6px 4px}
.langs{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:6px;max-height:420px;overflow:auto}
.langs .mi{padding:7px 10px}
.langs .code{font:500 11px/1 "IBM Plex Mono",monospace;color:var(--ink-3);border:1px solid var(--line);padding:2px 4px;border-radius:3px;margin-inline-start:auto}
.langs .mi[aria-checked=true] .code{border-color:var(--acc);color:var(--acc)}
.pop-lang{width:440px} .pop-acct{width:280px} .pop-notif{width:340px} .pop-scope{width:360px}
.acct-h{display:flex;gap:12px;align-items:center;padding:14px}
.acct-h b{display:block;font-size:var(--t-sm)} .acct-h span{font-size:var(--t-xs);color:var(--ink-3)}
.find{display:flex;align-items:center;gap:8px;height:40px;padding-inline:12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper)}
.find input{border:0;outline:0;background:transparent;width:100%;min-width:0}
.find:focus-within{box-shadow:var(--focus)}

/* Command palette search */
.palette{position:absolute;z-index:55;top:calc(100% + 6px);inset-inline:0;margin-inline:auto;width:min(680px,calc(100% - 24px));background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:none}
.palette[data-open]{display:block}
.palette .find{border:0;border-bottom:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;height:56px;font-size:var(--t-lg)}
.palette .find:focus-within{box-shadow:none}
.pal-filters{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pal-sec{padding:8px 6px}
.pal-sec>.lbl{padding:6px 10px 4px;display:block}
.pal-f{display:flex;gap:14px;padding:10px 14px;border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-3)}
kbd{font:500 11px/1 "IBM Plex Mono",monospace;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:3px;padding:2px 5px;color:var(--ink-2);background:var(--surface)}

/* Platform rail */
.rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 0;background:var(--paper);z-index:30}
.rail .ri{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r);color:var(--ink-2)}
.rail .ri:hover{background:var(--surface-2);color:var(--ink)}
.rail .ri .tile-shape{position:absolute;inset:3px;width:42px;height:42px;opacity:0}
.rail .ri .tile-shape polygon{fill:var(--acc-tint);stroke:var(--acc);stroke-width:1.25}
.rail .ri[aria-current=page]{color:var(--acc)}
.rail .ri[aria-current=page] .tile-shape{opacity:1}
.rail .ri[aria-current=page]::marker{content:none}
.rail .ri[aria-current=page] .ico{position:relative}
.rail .ri .ico{position:relative;width:20px;height:20px}
.rail .rsep{width:28px;height:1px;background:var(--line);margin:6px 0}
.rail .rsp{flex:1}
.rail .ind{position:absolute;inset-inline-start:-12px;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--acc)}
[dir=rtl] .rail .ind{border-radius:3px 0 0 3px}

/* Phone tab bar */
.tabbar{display:none}
@media (max-width:760px){
  :root{--hd:56px;--gutter:16px}
  .app{grid-template-columns:minmax(0,1fr);grid-template-areas:"hd" "main" "ft";padding-bottom:64px}
  .railwrap{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:45;bottom:0;inset-inline:0;height:64px;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;text-decoration:none;color:var(--ink-3)}
  .tabbar a[aria-current=page]{color:var(--ink);font-weight:600}
  .tabbar a[aria-current=page] .ico{color:var(--acc)}
  .bar{padding-inline:6px 6px;gap:2px}
  .brand small,.hide-sm{display:none!important}
  .brand{padding:6px}
  .scope{margin-inline-start:2px;max-width:150px;overflow:hidden;height:34px;padding-inline:8px 6px}
  .scope .crumbs{overflow:hidden;text-overflow:ellipsis}
  .ib{width:38px}
  .pop,.palette{position:absolute;inset-inline:8px;width:auto;min-width:0;max-width:none}
  .langs{grid-template-columns:1fr 1fr}
  .page{padding-top:var(--s5)}
}
@media (min-width:761px){.show-sm{display:none!important}}

/* ---------- Building blocks ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding-inline:10px;border:1px solid var(--line);border-radius:var(--r);font-size:13px;background:var(--paper);white-space:nowrap;text-decoration:none}
.chip .ico{width:14px;height:14px}
a.chip:hover,button.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true],.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding-inline:7px;border-radius:3px;font:500 11.5px/1 var(--font-mono);letter-spacing:.02em;white-space:nowrap;border:1px solid currentColor}
:lang(fa) .tag,:lang(ckb) .tag{font:600 12px/1 var(--font);height:24px}
.tag::before{content:"";width:6px;height:6px;border-radius:1px;background:currentColor;flex:none}
[data-net=idcdc] .tag::before{border-radius:50%}
.t-forming{color:var(--acc-2)} .t-proposed{color:var(--ink-2)} .t-outlined{color:var(--acc)} .t-planned{color:var(--ink-3)}
.t-verified{color:var(--acc-2)} .t-secondary{color:var(--ink-2)} .t-toverify{color:var(--acc)} .t-prep{color:var(--ink-3)}
.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.panel-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.panel-h .h3{font-size:var(--t-md)} .panel-h .end{margin-inline-start:auto}
.panel-b{padding:18px}
.sunk{background:var(--surface);border-color:transparent}
.sec{margin-top:var(--s7)}
.sec-h{display:flex;align-items:end;gap:12px;margin-bottom:var(--s4)}
.sec-h .end{margin-inline-start:auto}
.blt{width:10px;height:10px;flex:none;fill:var(--acc)}
.rows>li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rows>li:last-child{border-bottom:0}
.rows a{text-decoration:none} .rows a:hover{text-decoration:underline}
.rows .end{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.ic-box{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r);background:var(--surface);color:var(--ink-2);flex:none}
.g{display:grid;gap:var(--s5)}
.g-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.s-3{grid-column:span 3}.s-4{grid-column:span 4}.s-5{grid-column:span 5}.s-6{grid-column:span 6}.s-7{grid-column:span 7}.s-8{grid-column:span 8}.s-9{grid-column:span 9}.s-12{grid-column:span 12}
@media (max-width:1100px){.s-3{grid-column:span 6}.s-4{grid-column:span 6}.s-5{grid-column:span 12}.s-7{grid-column:span 12}.s-8{grid-column:span 12}.s-9{grid-column:span 12}}
@media (max-width:760px){.g-12>*{grid-column:span 12!important}.g{gap:var(--s4)}}
.more{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-sm);font-weight:600;text-decoration:none;color:var(--ink)}
.more:hover{text-decoration:underline}
.crumbs-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--ink-3);margin-bottom:var(--s3)}
.crumbs-nav a{color:var(--ink-2);text-decoration:none} .crumbs-nav a:hover{text-decoration:underline}
.crumbs-nav .ico{width:14px;height:14px}

/* Masthead: title, one line, actions. Never an essay. */
.mast{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s5);align-items:end;padding-bottom:var(--s5);border-bottom:1px solid var(--line)}
.mast .k{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mast .lede{margin-top:10px}
.mast .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}
.mast .acts{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:760px){.mast{grid-template-columns:1fr}.h1{font-size:28px}}

/* Dimension figures: number, dimension line, measure */
.dims{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s6)}
.dimf{min-width:120px}
.dimf b{display:block;font:600 var(--t-3xl)/1 var(--font);letter-spacing:-.02em}
:lang(fa) .dimf b,:lang(ckb) .dimf b{font-weight:700;letter-spacing:0}
.dimf .dl{position:relative;height:10px;margin:8px 0 6px;border-bottom:1px solid var(--ink-3)}
.dimf .dl::before,.dimf .dl::after{content:"";position:absolute;bottom:-5px;width:1px;height:10px;background:var(--ink-3)}
.dimf .dl::before{inset-inline-start:0}.dimf .dl::after{inset-inline-end:0}
.dimf span{display:block;font-size:13px;color:var(--ink-2)}
.dimf small{display:block;font:400 11px/1.4 var(--font-mono);color:var(--ink-3);margin-top:2px}
:lang(fa) .dimf small,:lang(ckb) .dimf small{font-family:var(--font);font-size:12px}

/* Scene (CAD) stage */
.stage{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--scene);color:var(--scene-ink);isolation:isolate}
.stage .cad{position:absolute;inset:0;width:100%;height:100%}
.cad .mesh{fill:none;stroke:var(--scene-line);stroke-width:.8}
.cad .cont{fill:var(--acc-3)}
.cad .obj{stroke:var(--scene-ink);stroke-width:1.1;fill:none}
.cad .obj-top{fill:rgba(255,255,255,.10)} .cad .obj-side{fill:rgba(255,255,255,.04)} .cad .obj-front{fill:rgba(255,255,255,.07)}
.cad .acc{stroke:var(--sc-acc);stroke-width:2;fill:none}
.cad .acc2{stroke:var(--sc-acc2);fill:none;stroke-width:1.2}
.cad .acc3{stroke:var(--acc-3);stroke-width:2.2}
.cad .warp{stroke:var(--scene-ink);stroke-width:.6;opacity:.7}
.cad .weft{stroke:var(--sc-acc);stroke-width:3}
.cad .tile{fill:none;stroke:var(--scene-line);stroke-width:.8}
.cad .pool{fill:rgba(88,213,202,.10);stroke:var(--sc-acc2);stroke-width:1.2}
.cad .wave{stroke:var(--sc-acc2);stroke-width:.7;opacity:.6}
.cad .gdot{fill:var(--scene-line-2)}
.cad .gizmo line{stroke-width:1.5} .cad .ax-x{stroke:#FF8E7E}.cad .ax-y{stroke:#58D5CA}.cad .ax-z{stroke:#97B1FF}
.cad .gizmo text,.cad .dim text,.cad .callout text{font:500 11px "IBM Plex Mono",monospace;fill:var(--scene-ink)}
.cad .dim line{stroke:var(--scene-ink);stroke-width:.8;opacity:.8} .cad .dim .ext{opacity:.4}
.cad .tickm{stroke:var(--scene-ink);stroke-width:1.2}
.cad .dimbg{fill:var(--scene);stroke:var(--scene-line)}
.cad .callout circle{fill:var(--sc-acc)} .cad .callout polyline{fill:none;stroke:var(--scene-ink);stroke-width:.9}
.cad .callout rect{fill:var(--scene);stroke:var(--sc-acc)} .cad .callout text{fill:var(--scene-ink);font-weight:600}
[data-net=kco]{--sc-acc:#FF8E7E;--sc-acc2:#AEB9FF} [data-net=idcdc]{--sc-acc:#F2B843;--sc-acc2:#58D5CA}
.stage .slot{position:absolute;top:14px;inset-inline-start:14px;display:flex;gap:8px;align-items:center;font:500 11px/1 "IBM Plex Mono",monospace;color:var(--scene-ink);background:rgba(0,0,0,.45);border:1px solid var(--scene-line);padding:6px 8px;border-radius:var(--r);backdrop-filter:blur(4px)}
:lang(fa) .stage .slot,:lang(ckb) .stage .slot{font-family:var(--font);font-size:12px}
.stage .cap{position:absolute;inset-inline:0;bottom:0;padding:var(--s6);background:linear-gradient(0deg,rgba(8,9,11,.92) 10%,rgba(8,9,11,0));}
.stage .cap .h1{font-size:var(--t-4xl);max-width:16ch;color:var(--scene-ink)}
.stage .cap p{color:#D9D9D3;max-width:52ch;margin-top:10px;font-size:var(--t-lg)}
.stage .cap .acts{display:flex;gap:10px;margin-top:var(--s5);flex-wrap:wrap}
.stage .cap .lbl{color:#C9C9C3}
@media (max-width:760px){.stage .cap{padding:var(--s4)}.stage .cap .h1{font-size:30px}.stage .cap p{font-size:var(--t-md)}}

/* Light-on-paper CAD plans (site plan, org diagram, wheel) */
.plan{width:100%;height:auto}
.plan .grat{stroke:var(--line);stroke-width:1}
.plan .link{stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 3}
.plan .adm rect{fill:var(--paper);stroke:var(--ink-3);stroke-width:1}
.plan .adm.has rect{fill:var(--ink-3)}
.plan .city circle{fill:var(--acc-tint);stroke:var(--acc);stroke-width:1.25}
.plan .city .core{fill:var(--acc);stroke:none}
.plan .city.hl circle:first-child{fill:var(--acc);}
.plan .city.hl .core{fill:var(--paper)}
.plan .city text{font:600 12px var(--font);fill:var(--ink)}
.plan .scalebar line{stroke:var(--ink-3)}
.org{width:100%;height:auto}
.org .blk{fill:var(--paper);stroke:var(--ink);stroke-width:1.25}
.org .blk.top{fill:var(--ink)}
.org .top + .bl,.org .bl.inv{fill:var(--paper)}
.org .bl{font:600 14px var(--font);fill:var(--ink)} .org .bl.sm{font-size:12px}
.org .bs{font:400 11px var(--font-mono);fill:var(--ink-3)}
.org .conn{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:4 3}
.wheel{width:100%;height:auto;max-width:440px;margin-inline:auto}
.wheel .ring{fill:none;stroke:var(--ink);stroke-width:1.25} .wheel .ring2{fill:var(--surface);stroke:var(--line)}
.wheel .tickl{stroke:var(--line-2)} .wheel .mon{font:500 11px var(--font);fill:var(--ink-2)}
.wheel .wd circle{stroke:var(--paper);stroke-width:2} .wheel .wd line{stroke:var(--ink-3)}
.wheel .wn{font:700 64px var(--font);fill:var(--ink)}
.k-festival circle,.kd-festival{fill:var(--acc);background:var(--acc)} .k-remembrance circle,.kd-remembrance{fill:var(--ink-2);background:var(--ink-2)}
.k-religious circle,.kd-religious{fill:var(--acc-2);background:var(--acc-2)} .k-civic circle,.kd-civic{fill:var(--acc-3);background:var(--acc-3)} .k-cultural circle,.kd-cultural{fill:var(--acc-3);background:var(--acc-3)}
.kd{display:inline-block;width:10px;height:10px;border-radius:2px}

/* Platform tiles (no paragraphs: glyph, name, one number) */
.pts{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.pt{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 16px 16px;text-decoration:none;border-inline-end:1px solid var(--line);min-height:150px;transition:background .15s}
.pt:last-child{border-inline-end:0}
.pt:hover{background:var(--surface)}
.pt .gl{position:relative;width:48px;height:48px;display:grid;place-items:center;color:var(--acc)}
.pt .gl .tile-shape{position:absolute;inset:0;width:48px;height:48px}
.pt .gl .tile-shape polygon{fill:var(--acc-tint);stroke:var(--acc);stroke-width:1.1}
.pt .gl .ico{position:relative}
.pt b{font-weight:600;font-size:15px;line-height:1.25}
.pt .m{font-size:12.5px;color:var(--ink-3);margin-top:auto}
.pt .info{position:absolute;top:10px;inset-inline-end:10px;color:var(--ink-3)}
@media (max-width:1280px){.pts{grid-template-columns:repeat(4,minmax(0,1fr))}.pt:nth-child(4n){border-inline-end:0}.pt:nth-child(-n+4){border-bottom:1px solid var(--line)}}
@media (max-width:760px){.pts{grid-template-columns:repeat(2,minmax(0,1fr))}.pt{min-height:128px;padding:14px;border-bottom:1px solid var(--line)}.pt:nth-child(2n){border-inline-end:0}.pt:nth-child(4n){border-inline-end:0}.pt:nth-child(odd){border-inline-end:1px solid var(--line)}.pt:nth-last-child(-n+2){border-bottom:0}}

/* Now strip */
.now{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--s4)}
.now .live{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px}
.now .live::before{content:"";width:8px;height:8px;background:var(--acc);border-radius:1px}
[data-net=idcdc] .now .live::before{border-radius:50%}

/* Home board */
.board{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:var(--s5)}
@media (max-width:1100px){.board{grid-template-columns:1fr 1fr}.board>:first-child{grid-column:span 2}}
@media (max-width:760px){.board{grid-template-columns:1fr}.board>:first-child{grid-column:auto}}
.places{display:flex;flex-wrap:wrap;gap:6px}
.place{display:inline-flex;align-items:center;gap:8px;height:34px;padding-inline:8px 10px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-size:13.5px;background:var(--paper)}
.place:hover{border-color:var(--ink)}
.place .iso{font:500 10.5px/1 "IBM Plex Mono",monospace;color:var(--ink-3);border-inline-end:1px solid var(--line);padding-inline-end:7px}
.place .n{font-size:12px;color:var(--acc);font-weight:600}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);padding:2px;gap:2px;background:var(--surface)}
.seg button,.seg a{height:30px;padding-inline:12px;border-radius:3px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.seg [aria-pressed=true],.seg [aria-selected=true]{background:var(--paper);box-shadow:0 1px 2px rgba(0,0,0,.12);font-weight:600}
.log>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.log>li:last-child{border-bottom:0}
.log .t{font-size:14.5px;font-weight:500;line-height:1.4}
.log .s{font-size:12px;color:var(--ink-3);margin-top:2px}
.dblock{width:52px;flex:none;text-align:center;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dblock .mo{display:block;font:600 10.5px/1 var(--font);padding:5px 2px;background:var(--ink);color:var(--paper);letter-spacing:.04em}
:lang(fa) .dblock .mo,:lang(ckb) .dblock .mo{font-size:10px;letter-spacing:0;padding:4px 2px}
.dblock .dy{display:block;font:600 20px/1 var(--font);padding:7px 0 6px}
.dblock.var .dy{font-size:14px;padding:10px 0}
.days>li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.days>li:last-child{border-bottom:0}
.days b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.days .s{font-size:12px;color:var(--ink-3)}
.commit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.commit li{display:flex;gap:12px;align-items:flex-start;padding:16px 16px 16px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.45}
[dir=rtl] .commit li{padding:16px 0 16px 16px}
.commit .ico{color:var(--acc);margin-top:2px}
@media (max-width:900px){.commit{grid-template-columns:1fr}}
.callout-safe{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r-lg);background:var(--acc2-tint);color:var(--ink)}
.callout-safe .ico{color:var(--acc-2)}
.note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface);font-size:14.5px}
.note .ico{color:var(--ink-2);margin-top:2px}
.note.acc{background:var(--acc-tint)} .note.acc .ico{color:var(--acc)}

/* Details / progressive disclosure */
details.dis{border-top:1px solid var(--line)}
details.dis:last-of-type{border-bottom:1px solid var(--line)}
details.dis>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 4px;cursor:pointer;font-weight:600}
details.dis>summary::-webkit-details-marker{display:none}
details.dis>summary .chev{margin-inline-start:auto;transition:transform .2s;color:var(--ink-3)}
details.dis[open]>summary .chev{transform:rotate(180deg)}
details.dis .db{padding:0 4px 16px 0;color:var(--ink-2);font-size:15px}
[dir=rtl] details.dis .db{padding:0 0 16px 4px}
details.dis .n{font:500 12px/1 "IBM Plex Mono",monospace;color:var(--ink-3);width:22px}
:lang(fa) details.dis .n,:lang(ckb) details.dis .n{font-family:var(--font);font-size:14px}

/* Tabs */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:var(--s5);overflow-x:auto;scrollbar-width:none}
.tabs a{display:inline-flex;align-items:center;gap:8px;height:46px;padding-inline:12px;text-decoration:none;font-size:14.5px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a[aria-current=page]{color:var(--ink);font-weight:600;border-bottom-color:var(--acc)}
.tabs a .c{font-size:12px;color:var(--ink-3)}

/* Facts list (GOV.UK summary list) */
.facts{display:grid;grid-template-columns:auto minmax(0,1fr)}
.facts dt,.facts dd{padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.facts dt{color:var(--ink-3);padding-inline-end:20px}
.facts dd{font-weight:500}
.facts>:nth-last-child(-n+2){border-bottom:0}

/* Figure cards with provenance */
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
@media (max-width:1000px){.figs{grid-template-columns:1fr}}
.fig{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:8px}
.fig .v{font:600 var(--t-xl)/1.25 var(--font)}
.fig .ms{font-size:13.5px;color:var(--ink-2)}
.fig .src{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-3)}
.fig .src a{color:var(--ink-2)}

/* Course and catalogue */
.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:var(--s4);overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.course{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;text-decoration:none;min-height:172px;background:var(--paper);transition:border-color .15s}
.course:hover{border-color:var(--ink)}
.course .top{display:flex;justify-content:space-between;align-items:center}
.course b{font-size:16px;font-weight:600;line-height:1.3}
.course .meta{display:flex;gap:12px;font-size:12.5px;color:var(--ink-3);margin-top:auto}
.course .meta span{display:inline-flex;gap:5px;align-items:center}
.lvl{display:inline-grid;place-items:center;min-width:28px;height:24px;padding-inline:6px;border-radius:3px;background:var(--ink);color:var(--paper);font:600 11.5px/1 "IBM Plex Mono",monospace}
.side{position:sticky;top:calc(var(--hd) + 24px)}
.with-side{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--s6)}
.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s6)}
@media (max-width:1100px){.with-side,.with-aside{grid-template-columns:1fr}.side{position:static}}
.subnav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r);text-decoration:none;font-size:14px;color:var(--ink-2)}
.subnav a:hover{background:var(--surface-2)}
.subnav a[aria-current=page]{background:var(--surface-2);color:var(--ink);font-weight:600}
.subnav a .c{margin-inline-start:auto;font-size:12px;color:var(--ink-3)}
.fac>li{display:grid;grid-template-columns:minmax(0,1fr) 140px 90px;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.fac .bar-m{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.fac .bar-m i{display:block;height:100%;background:var(--acc)}
@media (max-width:760px){.fac>li{grid-template-columns:1fr 80px}.fac .bar-m{display:none}}
.flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.flow .st{display:inline-flex;align-items:center;height:30px;padding-inline:10px;border:1px solid var(--line);border-radius:var(--r);font-size:13px;background:var(--paper)}
.flow .st.cap{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.flow .ar{color:var(--ink-3)}
.checks li{display:flex;gap:10px;padding:8px 0;font-size:15px}
.checks .ico{color:var(--acc-2);margin-top:3px}
.keyrow{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.keyrow>div{flex:1 1 140px;padding:14px 16px;border-inline-end:1px solid var(--line)}
.keyrow>div:last-child{border-inline-end:0}
.keyrow .lbl{display:block;margin-bottom:6px}
.keyrow b{font-size:16px;font-weight:600}
@media (max-width:760px){.keyrow>div{flex-basis:50%;border-bottom:1px solid var(--line)}}

/* Stepper */
.steps{display:flex;gap:0;counter-reset:s}
.steps li{flex:1;position:relative;padding-top:22px;font-size:13px;color:var(--ink-3)}
.steps li::before{content:"";position:absolute;top:6px;inset-inline:0;height:2px;background:var(--line)}
.steps li::after{content:"";position:absolute;top:0;inset-inline-start:0;width:14px;height:14px;border-radius:3px;background:var(--paper);border:2px solid var(--line-2)}
[data-net=idcdc] .steps li::after{border-radius:50%}
.steps li.done{color:var(--ink)} .steps li.done::before{background:var(--acc)} .steps li.done::after{background:var(--acc);border-color:var(--acc)}
.steps li.cur{color:var(--ink);font-weight:600} .steps li.cur::after{border-color:var(--acc);background:var(--paper);box-shadow:0 0 0 3px var(--acc-tint)}

/* Forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:14px;font-weight:600}
.field .hint{font-size:12.5px;color:var(--ink-3)}
.input{height:44px;padding-inline:12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper)}
.input:focus{outline:none;box-shadow:var(--focus);border-color:var(--ink)}
textarea.input{height:auto;padding:12px;min-height:84px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;padding:10px 0;font-size:14.5px;line-height:1.45}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--acc);flex:none}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.switch:last-child{border-bottom:0}
.sw{width:40px;height:24px;border-radius:12px;background:var(--line-2);position:relative;flex:none}
.sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:var(--paper);transition:inset-inline-start .15s}
.sw[aria-checked=true]{background:var(--acc-2)} .sw[aria-checked=true]::after{inset-inline-start:19px}
.or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:13px;margin:16px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}

/* Feed (community) */
.space{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;min-height:720px}
.space>*{min-width:0}
.space .chan{border-inline-end:1px solid var(--line);background:var(--surface);padding:14px 8px}
.space .chan a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r);text-decoration:none;font-size:14px;color:var(--ink-2)}
.space .chan a[aria-current=page]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.space .chan .c{margin-inline-start:auto;font-size:11px;background:var(--acc);color:var(--on-acc);border-radius:3px;padding:1px 5px;font-weight:600}
.space .feed{padding:0}
.space .about{border-inline-start:1px solid var(--line);padding:18px}
@media (max-width:1100px){.space{grid-template-columns:200px minmax(0,1fr)}.space .about{display:none}}
@media (max-width:760px){.space{grid-template-columns:1fr;border:0;border-radius:0;margin-inline:calc(var(--gutter)*-1)}.space .chan{display:flex;overflow-x:auto;padding:8px;border-inline-end:0;border-bottom:1px solid var(--line)}.space .chan .lbl{display:none}.space .chan a{white-space:nowrap}}
.composer{display:flex;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.composer .box{flex:1;border:1px solid var(--line-2);border-radius:var(--r);padding:10px 12px;color:var(--ink-3);font-size:14.5px;min-height:44px}
.composer .tb{display:flex;gap:2px;margin-top:8px;align-items:center}
.postx{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px;border-bottom:1px solid var(--line)}
.postx .who{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
.postx .who b{font-weight:600}
.postx .who .t{color:var(--ink-3);font-size:12.5px}
.postx .body{margin-top:6px;font-size:15px;line-height:1.55}
.postx .acts{display:flex;gap:4px;margin-top:10px;margin-inline-start:-8px}
.postx .acts .btn{height:30px;padding-inline:8px;color:var(--ink-3);font-weight:500}
.attach{display:flex;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);font-size:13.5px}
.pinned{background:var(--acc-tint)}

/* Profile */
.prof{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s6)}
@media (max-width:1000px){.prof{grid-template-columns:1fr}}
.prof-h{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cover{height:150px;border-radius:var(--r-lg);margin-bottom:-48px;position:relative;overflow:hidden}
.cover .cad{width:100%;height:100%}
.prof-h .av-lg{box-shadow:0 0 0 4px var(--paper);position:relative}
.langchips{display:flex;flex-wrap:wrap;gap:6px}

/* Auth */
.auth{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:var(--s7);align-items:start}
@media (max-width:1000px){.auth{grid-template-columns:1fr}}
.auth .card{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.passkey{display:flex;align-items:center;gap:10px}

/* Calendar */
.cal{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:var(--s7);align-items:start}
@media (max-width:1100px){.cal{grid-template-columns:1fr}}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--ink-2);justify-content:center;margin-top:12px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.agenda .mh{position:sticky;top:var(--hd);background:var(--paper);padding:14px 0 8px;border-bottom:1px solid var(--ink);display:flex;align-items:baseline;gap:10px;z-index:2}
.agenda .mh b{font-size:var(--t-lg)}
.agenda .ev{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.agenda .ev b{font-weight:600;font-size:15.5px}
.agenda .ev .nat{font-size:13.5px;color:var(--ink-3);margin-inline-start:6px}
.agenda .ev p{font-size:14px;color:var(--ink-2);margin-top:3px}
.agenda .ev .tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
@media (max-width:760px){.agenda .ev{grid-template-columns:52px minmax(0,1fr)}.agenda .ev .end{grid-column:2}}

/* Charter */
.organs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:start}
@media (max-width:1000px){.organs{grid-template-columns:1fr}}
.states{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.states .st{display:inline-flex;align-items:center;gap:8px;height:36px;padding-inline:12px;border-radius:var(--r);border:1px solid var(--line-2);font-weight:600;font-size:14px}
.states .st:first-child{border-color:var(--acc);color:var(--acc);background:var(--acc-tint)}
.classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.classes>div{padding:16px;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line)}
.classes b{display:block;font-size:15px;margin-bottom:4px}
.classes p{font-size:13.5px;color:var(--ink-2)}
.vchip{display:inline-flex;align-items:center;gap:8px;height:32px;padding-inline:10px;border:1px solid var(--ink);border-radius:var(--r);font:500 13px/1 "IBM Plex Mono",monospace}

/* Footer */
.ftr{border-top:1px solid var(--line);background:var(--surface);padding:var(--s6) var(--gutter) var(--s5)}
.ftr .in{max-width:var(--maxw);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:var(--s6)}
.ftr .pos{font-size:14px;color:var(--ink-2);margin-top:12px;max-width:40ch}
.ftr h2{font:600 13px/1 var(--font);margin-bottom:12px}
.ftr li a{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;text-decoration:none;color:var(--ink-2)}
.ftr li a:hover{color:var(--ink);text-decoration:underline}
.ftr .ico{width:16px;height:16px}
.ftr .base{max-width:var(--maxw);margin:var(--s6) auto 0;padding-top:var(--s4);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:12.5px;color:var(--ink-3)}
.ftr .base .sp{flex:1}
@media (max-width:900px){.ftr .in{grid-template-columns:1fr 1fr}.ftr .in>:first-child{grid-column:span 2}}

/* Kit specimens */
.spec{margin-top:var(--s6)}
.spec>.lbl{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.spec-f{position:relative;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface)}
.spec-f .bar{border-radius:var(--r-lg) var(--r-lg) 0 0}
.spec-f .room{height:var(--room,40px)}
.themes3{display:flex;gap:var(--s6);flex-wrap:wrap;padding:28px 20px 52px}
.themes3 .ib{border:1px solid var(--line)}
.railspec{display:flex;gap:var(--s6);align-items:flex-start;padding:20px}
.railspec .rail{position:relative;top:auto;height:auto;border:1px solid var(--line);border-radius:var(--r-lg)}
.phone{width:390px;max-width:100%;border:1px solid var(--line-2);border-radius:22px;overflow:hidden;background:var(--paper);position:relative;height:720px}
.phone .tabbar{display:grid;position:absolute;grid-template-columns:repeat(5,1fr);bottom:0;inset-inline:0;height:64px;background:var(--paper);border-top:1px solid var(--line)}
.phone .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;text-decoration:none;color:var(--ink-3)}
.phone .tabbar a[aria-current=page]{color:var(--ink);font-weight:600}
.phone .tabbar a[aria-current=page] .ico{color:var(--acc)}
.phone .bar{padding-inline:6px}
.phone .brand small{display:none}
.phone .scope{max-width:150px}
.sheet{position:absolute;inset-inline:0;bottom:64px;background:var(--paper);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px -12px rgba(0,0,0,.35);padding:8px 16px 16px;border-top:1px solid var(--line)}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:4px auto 12px}
.sheet .sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.sheet .sgrid a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;text-decoration:none;font-size:11.5px;text-align:center;border-radius:var(--r)}
.sheet .sgrid .gl{position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--acc)}
.sheet .sgrid .gl .tile-shape{position:absolute;inset:0;width:44px;height:44px}
.sheet .sgrid .gl .tile-shape polygon{fill:var(--acc-tint);stroke:var(--acc);stroke-width:1}
.sheet .sgrid .gl .ico{position:relative}
.phones{display:flex;gap:var(--s5);flex-wrap:wrap}
.phone{container:ph/inline-size}
@container ph (max-width:500px){
  .bar{padding-inline:6px;gap:2px}
  .brand small,.hide-sm{display:none!important}
  .show-sm{display:inline-grid!important}
  .scope{margin-inline-start:2px;max-width:150px;overflow:hidden;height:34px;padding-inline:8px 6px}
  .ib{width:38px}
  .pop,.palette{inset-inline:8px;width:auto;min-width:0;max-width:none}
  .langs{grid-template-columns:1fr 1fr}
}
.phone .scrim{position:absolute;inset:0;background:var(--scrim)}

/* ---------- Story: full-page immersive environment ---------- */
.story-body{background:var(--scene);color:var(--scene-ink);overflow-x:hidden}
.story-body .bar{background:rgba(8,9,11,.72);border-bottom-color:rgba(255,255,255,.08);color:var(--scene-ink);backdrop-filter:blur(10px)}
.story-body .bar .ib{color:var(--scene-ink)} .story-body .bar .ib:hover{background:rgba(255,255,255,.08)}
.story-body .bar .brand small{color:#A9A9A3} .story-body .scope{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--scene-ink)}
.story-body .bar .ib-lang .code{border-color:rgba(255,255,255,.3)}
.story-body .btn-primary{background:var(--scene-ink);color:var(--scene)}
.story{position:relative}
.world{position:fixed;inset:0;top:0;z-index:0}
.world .cad{width:100%;height:100%}
.world::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,transparent 40%,rgba(8,9,11,.65) 100%);pointer-events:none}
.chap{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;padding:var(--hd) 0 0}
.titlecard{width:100%;min-height:100vh;display:grid;place-items:center;text-align:center;background:rgba(8,9,11,.82);backdrop-filter:blur(2px);padding:var(--s8) var(--s5)}
.titlecard .n{font:500 13px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;color:var(--sc-acc);text-transform:uppercase}
:lang(fa) .titlecard .n,:lang(ckb) .titlecard .n{font-family:var(--font);font-size:15px;letter-spacing:0}
.titlecard h1,.titlecard h2{font:700 72px/1.05 var(--font);letter-spacing:-.03em;margin:18px auto 14px;max-width:14ch;color:var(--scene-ink)}
:lang(fa) .titlecard h1,:lang(ckb) .titlecard h1,:lang(fa) .titlecard h2,:lang(ckb) .titlecard h2{letter-spacing:0;line-height:1.35}
.titlecard p{color:#CFCFC9;font-size:var(--t-lg);max-width:46ch;margin-inline:auto}
.titlecard .rule{width:120px;height:9px;margin:26px auto 0;border-bottom:1px solid var(--scene-line);position:relative}
.titlecard .rule::before,.titlecard .rule::after{content:"";position:absolute;bottom:-5px;width:1px;height:10px;background:var(--scene-line)}
.titlecard .rule::before{left:0}.titlecard .rule::after{right:0}
.explainer{width:min(400px,calc(100% - 32px));margin-inline-start:calc(var(--s7) + 64px);background:rgba(250,250,247,.96);color:#0A0A0A;border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-lg);position:relative}
:root[data-theme=dark] .explainer{background:rgba(20,20,22,.94);color:var(--scene-ink);border:1px solid rgba(255,255,255,.1)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .explainer{background:rgba(20,20,22,.94);color:var(--scene-ink);border:1px solid rgba(255,255,255,.1)}}
.explainer .k{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.explainer .k .pin{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:3px;background:var(--sc-acc);color:#0A0A0A;font:700 12px/1 "IBM Plex Mono",monospace}
.explainer h3{font:600 20px/1.3 var(--font)}
.explainer p{font-size:15px;margin-top:8px;opacity:.85}
.explainer .acts{display:flex;gap:6px;margin-top:14px}
.explainer .btn-line{background:transparent;color:inherit}
.chap.end-side .explainer{margin-inline-start:auto;margin-inline-end:calc(var(--s7) + 300px)}
.dock{position:fixed;z-index:20;top:50%;translate:0 -50%;inset-inline-start:16px;display:flex;flex-direction:column;gap:2px;padding:6px;background:rgba(20,20,22,.86);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);backdrop-filter:blur(10px)}
.dock .ib{color:var(--scene-ink);width:40px;height:40px}
.dock .ib:hover,.dock .ib[aria-pressed=true]{background:rgba(255,255,255,.12)}
.dock .ib[aria-pressed=true]{color:var(--sc-acc)}
.dock .dsep{height:1px;background:rgba(255,255,255,.12);margin:4px 6px}
.dock [data-tip]::after{background:var(--scene-ink);color:var(--scene)}
.dock [data-tip-pos=end]::before{border-inline-end-color:var(--scene-ink)}
.inspector{position:fixed;z-index:20;top:calc(var(--hd) + 16px);inset-inline-end:16px;width:280px;background:rgba(20,20,22,.9);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);backdrop-filter:blur(10px);color:var(--scene-ink);font-size:13px}
.inspector .ih{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.inspector .ih b{font-size:13px} .inspector .ih .ib{width:28px;height:28px;margin-inline-start:auto;color:var(--scene-ink)}
.inspector dl{display:grid;grid-template-columns:auto minmax(0,1fr);padding:4px 12px 8px}
.inspector dt,.inspector dd{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.inspector dt{color:#A9A9A3;padding-inline-end:12px}
.inspector dd{text-align:end;font-family:"IBM Plex Mono",monospace;font-size:12px}
:lang(fa) .inspector dd,:lang(ckb) .inspector dd{font-family:var(--font);font-size:13px}
.inspector .sw-row{display:flex;gap:6px;justify-content:flex-end}
.inspector .sw-row i{width:14px;height:14px;border-radius:2px;border:1px solid rgba(255,255,255,.3)}
.inspector .if{padding:10px 12px;border-top:1px solid rgba(255,255,255,.1);color:#A9A9A3;font-size:12px;display:flex;gap:8px;align-items:flex-start}
.hud{position:fixed;z-index:20;bottom:16px;inset-inline:16px;display:flex;align-items:center;gap:16px;pointer-events:none}
.hud>*{pointer-events:auto}
.hud .dots{display:flex;gap:8px;align-items:center;background:rgba(20,20,22,.86);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:10px 12px}
.hud .dots a{width:10px;height:10px;border-radius:2px;background:rgba(255,255,255,.25);display:block}
[data-net=idcdc] .hud .dots a{border-radius:50%}
.hud .dots a[aria-current=step]{background:var(--sc-acc);width:28px}
.hud .prog{flex:1;height:4px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;max-width:520px}
.hud .prog i{display:block;height:100%;background:var(--sc-acc)}
.hud .scl{display:flex;align-items:center;gap:10px;background:rgba(20,20,22,.86);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:8px 12px;font:500 11px/1 "IBM Plex Mono",monospace;color:var(--scene-ink);margin-inline-start:auto}
.hud .scl .sb{width:80px;height:8px;border-bottom:1px solid var(--scene-ink);position:relative}
.hud .scl .sb::before,.hud .scl .sb::after{content:"";position:absolute;bottom:-4px;width:1px;height:8px;background:var(--scene-ink)}
.hud .scl .sb::before{left:0}.hud .scl .sb::after{right:0}
.hud .chapname{background:rgba(20,20,22,.86);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:9px 12px;font-size:13px;color:var(--scene-ink)}
.story-body .ftr{position:relative;z-index:2}
.bsheet{display:none}
@media (max-width:760px){
  .dock{top:auto;bottom:80px;translate:none;inset-inline-start:50%;flex-direction:row;transform:translateX(-50%);padding:4px}
  [dir=rtl] .dock{transform:translateX(50%)}
  .dock .ib{width:38px;height:38px}
  .dock .dsep{width:1px;height:auto;margin:6px 2px}
  .dock .hide-sm{display:none}
  .inspector{display:none}
  .hud{bottom:auto;top:calc(var(--hd) + 10px);inset-inline:10px}
  .hud .scl,.hud .chapname{display:none}
  .hud .prog{max-width:none}
  .explainer{margin-inline:16px!important;width:auto}
  .chap{align-items:flex-end;padding-bottom:160px}
  .titlecard h1,.titlecard h2{font-size:40px}
  .bsheet{display:block;position:fixed;z-index:25;inset-inline:0;bottom:0;background:rgba(20,20,22,.96);border-top:1px solid rgba(255,255,255,.14);border-radius:16px 16px 0 0;padding:6px 16px 14px;color:var(--scene-ink);backdrop-filter:blur(10px)}
  .bsheet .grab{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);margin:4px auto 10px}
  .bsheet .row{display:flex;align-items:center;gap:10px;font-size:13px}
  .bsheet .row b{font-size:14px}
  .bsheet .row .end{margin-inline-start:auto;color:#A9A9A3}
  .story-body .app{padding-bottom:0}
  .story-body .tabbar{display:none}
}

/* Motion */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.hd,.rail,.tabbar,.dock,.hud,.inspector{display:none}}
/* Marks */
.mark-kilim .m1{fill:var(--acc)} .mark-kilim .m0{fill:var(--paper)} .mark-kilim .m2{fill:var(--acc-2)}
.mark-girih .m1f{fill:var(--acc)} .mark-girih .m0f{fill:var(--paper)} .mark-girih .m2s{stroke:var(--acc-3)}
.story-body .bar .mark-kilim .m0,.story-body .bar .mark-girih .m0f{fill:#0B0B0C}
.scope .crumbs{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden}
.scope .sep{display:inline-flex}
.themes3{gap:96px;padding-inline:40px}
.langs .mi>span:first-child{flex:1}
.plan .lead{stroke:var(--ink-3);stroke-width:1}
.plan .cl{font:600 12px var(--font);fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
.with-side>*,.with-aside>*,.cal>*,.prof>*,.auth>*,.organs>*,.board>*{min-width:0}
@media (max-width:760px){
  .dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}
  .dimf{min-width:0}.dimf b{font-size:26px}.dimf small{display:none}
  .with-side>aside{display:none}
  .sec-h .dims{display:none}
}
.hero{aspect-ratio:16/7;min-height:460px}
@media (max-width:760px){.hero{aspect-ratio:auto;min-height:540px}.hero .cad{height:62%}}
