/* =====================================================================
   base.css — SHARED CHROME (reset, tokens-free base, nav, lang switcher,
   theme toggle, footer credit/seal, veils, typography helpers + matching
   light-theme chrome overrides). Extracted verbatim from the 6 static
   pages; every rule here was byte-identical across all of them.
   Load order per page:  base.css  →  inline page <style>  →  enhance.css
   Page-specific CSS (hero, galleries, detail, glossary, :root tokens,
   light token block, reduced-motion, .end padding) stays inline.
   ===================================================================== */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    background:var(--ink);
    color:var(--ivory);
    font-family:"Inter Tight","Inter",system-ui,"Segoe UI",sans-serif;
    font-size:16px;
    line-height:1.7;
    letter-spacing:0.01em;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
body.lang-ar{ font-family:"Amiri",serif; letter-spacing:0; }
body.lang-ar .display{ font-family:"Amiri",serif; line-height:1.2; }
::selection{ background:rgba(200,162,74,0.22); color:var(--ivory); }
.veil{ position:fixed; inset:0; pointer-events:none; z-index:60; }
.veil--vignette{
    /* Kenarlardaki ağır karartma (0.85 siyah) sayfanın önünde "perde" gibi
       görünüyordu — kaldırıldı. Çok hafif bir kenar gölgesi kalsın diye 0.10. */
    background:radial-gradient(135% 100% at 50% 35%, rgba(20,16,12,0.0) 0%, rgba(10,8,7,0.0) 70%, rgba(8,6,5,0.10) 100%);
    z-index:5;
  }
.veil--grain{
    z-index:62; opacity:0.06; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grainShift 0.6s steps(8) infinite;
  }
@keyframes grainShift{
    0%{transform:translate(0,0)}12.5%{transform:translate(-4%,2%)}25%{transform:translate(3%,-3%)}
    37.5%{transform:translate(-2%,4%)}50%{transform:translate(4%,1%)}62.5%{transform:translate(-3%,-2%)}
    75%{transform:translate(2%,3%)}87.5%{transform:translate(-4%,-1%)}100%{transform:translate(0,0)}
  }
.veil--fiber{
    z-index:61; opacity:0.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.012 0.4' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  }
.display{ font-family:"Cormorant Garamond",serif; font-weight:400; line-height:0.96; letter-spacing:-0.02em; }
.gold-text{
    background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
.eyebrow{
    font-family:"IBM Plex Mono",monospace; font-weight:400; text-transform:uppercase;
    letter-spacing:0.22em; font-size:11.5px; color:#A98A4F;
  }
.mono{ font-family:"IBM Plex Mono",monospace; letter-spacing:0.14em; }
.wrap{ max-width:1440px; margin:0 auto; padding:0 clamp(22px,6vw,90px); }
section{ position:relative; }
.nav{
    position:fixed; top:0; left:0; right:0; z-index:70;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px clamp(22px,6vw,90px);
    transition:background .6s,border-color .6s;
  }
.nav.scrolled{ background:linear-gradient(180deg,rgba(10,8,7,0.92),rgba(10,8,7,0.0)); }
.nav .brand{ font-family:"Cormorant Garamond",serif; font-size:21px; letter-spacing:0.04em; color:var(--ivory); text-decoration:none; }
.nav .brand b{ font-weight:500; }
.nav-right{ display:flex; align-items:center; gap:30px; }
.nav ul{ list-style:none; display:flex; gap:30px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; }
.nav a.navlink{
    font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--text-2); text-decoration:none; position:relative; padding-bottom:4px; transition:color .35s;
  }
.nav a.navlink::after{
    content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--crimson-glow); transition:width .4s var(--ease-cine);
  }
.nav a.navlink:hover{ color:var(--ivory); }
.nav a.navlink:hover::after,.nav a.navlink.active::after{ width:100%; }
.nav a.navlink.active{ color:var(--ivory); }
.theme-toggle{
    display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
    width:36px; height:36px; padding:0;
    background:transparent; border:1px solid var(--hairline); border-radius:2px;
    color:var(--text-2);
    transition:border-color .35s,color .35s,background .35s;
  }
.theme-toggle:hover{ color:var(--gold-2); border-color:var(--gold-3); background:rgba(200,162,74,0.06); }
.theme-toggle .material-symbols-outlined{ font-size:19px; line-height:1; }
.lang-switcher{ position:relative; }
#lang-toggle{
    display:flex; align-items:center; gap:7px; cursor:pointer;
    background:transparent; border:1px solid var(--hairline); border-radius:2px;
    padding:7px 11px; color:var(--text-2);
    font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:0.16em;
    transition:border-color .35s,color .35s;
  }
#lang-toggle:hover{ color:var(--ivory); border-color:var(--gold-3); }
#lang-toggle .material-symbols-outlined{ font-size:17px; line-height:1; }
#lang-caret{ font-size:15px !important; transition:transform .3s var(--ease-cine); }
#lang-caret.rotate-180{ transform:rotate(180deg); }
#lang-menu{
    position:absolute; right:0; top:calc(100% + 8px); min-width:140px; z-index:80;
    background:rgba(15,12,9,0.96); backdrop-filter:blur(10px);
    border:1px solid var(--hairline); border-radius:3px; padding:6px;
    box-shadow:0 18px 50px rgba(0,0,0,0.6);
  }
#lang-menu.hidden{ display:none; }
.lang-btn{
    display:flex; align-items:center; justify-content:space-between; width:100%;
    background:transparent; border:none; cursor:pointer; text-align:left;
    padding:9px 11px; border-radius:2px; color:var(--text-2);
    font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:0.16em; text-transform:uppercase;
    transition:background .25s,color .25s;
  }
.lang-btn:hover{ background:rgba(200,162,74,0.08); color:var(--ivory); }
.lang-btn.text-primary{ color:var(--gold-2); }
.lang-btn.font-bold{ font-weight:500; }
.lang-btn .code{ font-size:10px; color:var(--muted); }
body.lang-ar #lang-menu{ left:0; right:auto; }
.sec-head{ display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.sec-head .diamond{ color:var(--gold-1); font-size:9px; }
.sec-head .rule{ flex:0 0 auto; width:64px; height:1px; background:var(--gold-grad); }
.sec-num{ font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:0.22em; color:#A98A4F; text-transform:uppercase; }
.seal{ width:78px; height:78px; margin:0 auto 26px; display:flex; align-items:center; justify-content:center; position:relative; }
.tugra{ font-family:"Amiri",serif; font-size:34px; color:var(--crimson-glow); text-shadow:0 0 18px rgba(166,48,59,0.5); line-height:1; }
.seal::before{ content:""; position:absolute; inset:0; border:1px solid var(--crimson); border-radius:50%; opacity:0.55; }
.seal::after{ content:""; position:absolute; inset:10px; border:1px solid rgba(110,26,36,0.4); border-radius:50%; }
.end .credit-name{ font-family:"Cormorant Garamond",serif; font-size:clamp(1.8rem,4vw,2.8rem); letter-spacing:0.02em; margin-bottom:10px; }
body.lang-ar .end .credit-name{ font-family:"Amiri",serif; }
.end .credit-sub{ font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--muted); margin-bottom:40px; }
.colophon{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); }
.colophon a{ color:var(--text-2); text-decoration:none; transition:color .3s; }
.colophon a:hover{ color:var(--gold-2); }
.end .arabic{ font-family:"Amiri",serif; font-size:22px; color:var(--text-2); margin-top:34px; direction:rtl; opacity:0.8; }

/* ---------- Light tezhip theme — shared chrome overrides ---------- */
html[data-theme="light"] ::selection{ background:rgba(14,94,90,0.18); color:var(--ivory); }
html[data-theme="light"] .nav a.navlink.active{ color:var(--cini); }
html[data-theme="light"] .nav a.navlink.active::after{ background:var(--cini); }
html[data-theme="light"] .nav a.navlink:hover{ color:var(--cini); }
html[data-theme="light"] .nav a.navlink:hover::after{ background:var(--cini); }
html[data-theme="light"] .sec-head .diamond{ color:var(--cini); }
html[data-theme="light"] .veil--vignette{
    background:radial-gradient(120% 90% at 50% 28%, rgba(255,253,247,0) 0%, rgba(214,200,170,0.18) 62%, rgba(176,158,120,0.30) 100%);
  }
html[data-theme="light"] .veil--grain{ opacity:0.05; mix-blend-mode:multiply; }
html[data-theme="light"] .veil--fiber{ opacity:0.04; mix-blend-mode:multiply; }
html[data-theme="light"] .nav .brand{ color:var(--ivory); }
html[data-theme="light"] .nav.scrolled{
    background:linear-gradient(180deg,rgba(244,239,227,0.94),rgba(244,239,227,0));
    border-bottom:1px solid rgba(224,214,192,0.6);
  }
html[data-theme="light"] .lang-btn:hover{ background:rgba(154,122,46,0.10); color:var(--gold-3); }
html[data-theme="light"] .theme-toggle:hover{ background:rgba(154,122,46,0.10); }
html[data-theme="light"] .end .credit-name{ color:#F7EFD8; }
html[data-theme="light"] .end .credit-sub{ color:rgba(247,239,216,0.75); }
html[data-theme="light"] .end .colophon{ color:rgba(247,239,216,0.85); }
html[data-theme="light"] .end .colophon a{ color:#F2D88A; }
html[data-theme="light"] .end .colophon a:hover{ color:#FBF5E6; }
html[data-theme="light"] .end .arabic{ color:rgba(247,239,216,0.92); opacity:1; }
html[data-theme="light"] .end .tugra{ color:#F2D88A; text-shadow:0 0 16px rgba(242,216,138,0.4); }
html[data-theme="light"] .end .seal::before{ border-color:rgba(242,216,138,0.55); }
html[data-theme="light"] .end .seal::after{ border-color:rgba(242,216,138,0.35); }
