
:root{
  --base-font-size: 16px;
  --fs-h1: clamp(24px, 2.6vw, 34px);
  --fs-h2: clamp(20px, 2.2vw, 28px);
  --fs-h3: clamp(18px, 1.9vw, 22px);
  --fs-h4: clamp(16px, 1.6vw, 18px);
  --fs-body: var(--base-font-size);
  --fs-muted: clamp(13px, 1.2vw, 14px);
}
html{ font-size: var(--base-font-size); }
body{ font: 400 var(--fs-body)/1.65 Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, Helvetica, sans-serif; margin:0; }
h1{ font-size: var(--fs-h1); } h2{ font-size: var(--fs-h2); } h3{ font-size: var(--fs-h3); } h4{ font-size: var(--fs-h4); }
.story p, .story li{ font-size: var(--fs-body); }
.card p.muted{ font-size: var(--fs-muted); }
/* أساليب بسيطة للتخطيط وإظهار أماكن الإعلانات */
:root{--accent:#2ec5ff;--bg:linear-gradient(180deg,#121722,#0f1420)}
*{box-sizing:border-box}
:root{
  --accent:#2ec5ff;
  --accent-2:#ffc857;
  --bg:linear-gradient(180deg,#121722,#0f1420);
  --card:#1b2333;
  --muted:#b8c6d9;
  --text:#f4f8ff;
    --text-light:#ffffff;
  --gold:#ffc857;
}
*{box-sizing:border-box}
.site-header{background:linear-gradient(90deg, rgba(46,197,255,0.11), rgba(255,200,87,0.09));color:var(--text);padding:18px 16px}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, Helvetica, sans-serif;background:var(--bg);margin:0;color:var(--text);transition:opacity .28s ease}
.site-header h1{margin:0;font-size:24px}
.main-nav a{color:rgba(255,255,255,.95);margin-left:12px;text-decoration:none;transition:opacity .16s ease}
.main-nav a:hover{opacity:.9}
.container{display:grid;grid-template-columns:1fr 300px;gap:20px;max-width:1100px;margin:24px auto;padding:0 16px}
.hero{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.7));padding:22px;border-radius:10px;box-shadow:0 6px 20px rgba(16,24,40,.04)}
.stories-grid ul{list-style:none;padding:0;margin:0;background:transparent;border-radius:8px;padding:14px}
.stories-grid li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.03)}
.stories-grid a{color:var(--accent);text-decoration:none}
.ad{background:rgba(255,255,255,0.02);border:1px dashed rgba(255,255,255,0.04);padding:16px;border-radius:8px;text-align:center;color:var(--muted)}
.ad-top{grid-column:1 / -1;margin:16px 0}
.ad-side{align-self:start}
.site-footer{text-align:center;padding:16px;color:var(--muted)}
@media (max-width:800px){.container{grid-template-columns:1fr}.ad-side{display:none}.main-nav a{display:inline-block;margin:8px 8px 0 0}}

/* Animations and interactive styles */
html,body{scroll-behavior:smooth}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}

.stories-grid li{transition:transform .18s ease,box-shadow .18s ease}
.stories-grid li:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(15,23,42,.06)}

.bookmark-btn{background:transparent;border:1px solid rgba(46,197,255,0.32);color:var(--accent);padding:8px 12px;border-radius:8px;cursor:pointer;transition:transform .14s ease,background-color .18s ease,color .18s ease}
.bookmark-btn:hover{transform:scale(1.03)}
.bookmark-btn.saved{background:var(--accent);color:var(--text-light);border-color:transparent}

.read-progress{position:fixed;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left;width:0;z-index:9999;transition:width .1s linear}

.fade-out{opacity:0}

.story{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:20px;border-radius:12px;box-shadow:0 10px 40px rgba(2,6,23,.6);border:1px solid rgba(255,255,255,0.03)}
.story .meta{display:flex;gap:12px;align-items:center;justify-content:space-between}
.story .controls{display:flex;gap:8px}

.nav-pages{display:grid;grid-template-columns:repeat(2,minmax(150px,220px));gap:12px;justify-content:center;align-items:center;margin-top:22px}
.nav-pages a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid transparent;padding:10px 16px;border-radius:999px;color:#fff;font-weight:800;text-decoration:none;letter-spacing:.25px;transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease,background .2s ease,color .2s ease}
.nav-pages .nav-prev{background:linear-gradient(105deg,#ffffff 0%,#f6f8fb 58%,#edf1f6 100%);border:1px solid rgba(203,213,225,0.95);color:#000;box-shadow:0 10px 24px rgba(15,23,42,0.20),0 0 0 1px rgba(255,255,255,0.72) inset}
.nav-pages .nav-next{background:linear-gradient(105deg,#7a00ff 0%,#a100ff 48%,#ffb703 100%);border:1px solid rgba(122,0,255,0.52);color:#fffef9;box-shadow:0 12px 28px rgba(122,0,255,0.28),0 0 0 1px rgba(255,183,3,0.30) inset}
.nav-pages .nav-prev::before,.nav-pages .nav-next::after{display:inline;font-size:1em;font-weight:inherit;line-height:1;color:inherit;background:none;box-shadow:none}
.nav-pages .nav-prev::before{content:"→";margin-left:8px}
.nav-pages .nav-next::after{content:"←";margin-right:8px}
.nav-pages a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,6,23,.5)}
.nav-pages .nav-prev:hover{border-color:rgba(148,163,184,0.82);background:linear-gradient(105deg,#ffffff 0%,#f8faff 58%,#f1f5fb 100%);color:#000;box-shadow:0 16px 30px rgba(15,23,42,0.28),0 0 16px rgba(148,163,184,0.16),0 0 0 1px rgba(255,255,255,0.78) inset}
.nav-pages .nav-next:hover{border-color:rgba(122,0,255,0.62);box-shadow:0 18px 32px rgba(122,0,255,0.35),0 0 24px rgba(161,0,255,0.26),0 0 0 1px rgba(255,183,3,0.42) inset}
.nav-pages a:focus,.nav-pages a:focus-visible{outline:3px solid rgba(178,61,255,0.36);outline-offset:3px}
.nav-pages a:active{transform:translateY(0) scale(.99)}
@media (max-width:620px){.nav-pages{grid-template-columns:1fr;gap:10px}.nav-pages a{width:100%}}

/* small responsive adjustments */
@media (max-width:600px){.container{padding:0 12px}.site-header h1{font-size:20px}.main-nav a{display:inline-block}}

/* Images and lightbox */
.story img{max-width:100%;height:auto;border-radius:6px;display:block;margin:12px 0}
.story img.zoomable{cursor:zoom-in;transition:transform .18s ease}
.story img.zoomable:hover{transform:scale(1.02)}

.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.72);z-index:10001}
.lightbox.show{display:flex}
.lightbox img{max-width:92%;max-height:92%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.lightbox .close{position:absolute;top:18px;right:18px;color:#fff;background:transparent;border:0;font-size:22px;cursor:pointer}

/* subtle micro-interactions */
@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.hero h2{animation:floaty 6s ease-in-out infinite}

/* Accessibility focus */
a:focus, button:focus{outline:3px solid rgba(46,197,255,.28);outline-offset:3px}
a:focus, button:focus{outline:3px solid rgba(46,197,255,.28);outline-offset:3px}
.main-nav a{color:var(--text);margin-left:12px;text-decoration:none;transition:opacity .16s ease}

/* make site look cohesive on mobile */
@media (max-width:480px){.container{margin:12px auto;padding:0 10px}.site-header{padding:12px}.story{padding:14px}}

/* Space background canvas */
/* background canvases order: bg-canvas (stars) behind, bg-network (grid/particles) above it, bg-overlay on top */
#bg-canvas{position:fixed;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none}
#bg-network{position:fixed;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none}
.bg-overlay{position:fixed;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 12% 18%, rgba(214,168,90,0.05), transparent 14%),radial-gradient(ellipse at 82% 82%, rgba(124,146,184,0.038), transparent 18%);mix-blend-mode:screen;animation:slowShift 24s linear infinite}
/* code-rain removed */

/* Ensure main page content sits above the background canvases */
body > *:not(#bg-canvas):not(#bg-network):not(.bg-overlay):not(.terminal-modal){position:relative;z-index:2}
@keyframes slowShift{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(0.2deg)}100%{transform:translateY(0) rotate(0deg)}}

/* subtle vignette */
body::before{content:'';position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(60% 60% at 50% 40%, rgba(255,255,255,0.00), rgba(2,6,23,0.06))}

/* Background toggle control (floating) */
.bg-toggle{position:fixed;right:18px;bottom:18px;z-index:10050;background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.06);color:var(--text);padding:10px 12px;border-radius:10px;box-shadow:0 8px 24px rgba(2,6,23,.6);cursor:pointer;font-weight:600}
.bg-toggle[data-enabled="false"]{opacity:.6}
.bg-toggle small{display:block;opacity:.75;font-weight:500;font-size:11px}

/* Images and lightbox */
.story img{max-width:100%;height:auto;border-radius:6px;display:block;margin:12px 0}
.story img.zoomable{cursor:zoom-in;transition:transform .18s ease}
.story img.zoomable:hover{transform:scale(1.02)}

.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.75);z-index:10001}
.lightbox.show{display:flex}
.lightbox img{max-width:92%;max-height:92%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.lightbox .close{position:absolute;top:18px;right:18px;color:#fff;background:transparent;border:0;font-size:22px;cursor:pointer}

/* Exhibits grid and cards */
.exhibit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:14px}
.card{background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);border:1px solid rgba(255,255,255,0.03);padding:16px;border-radius:10px;transition:transform .18s ease,box-shadow .18s ease}
.card{background:linear-gradient(180deg,#ffffff,#fbfbfb);border:1px solid rgba(16,24,40,0.06);padding:16px;border-radius:10px;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 48px rgba(2,6,23,.6)}
.card h4{margin:0 0 6px 0;color:var(--text)}
.card .muted{color:var(--muted);font-size:13px;margin-bottom:8px}
.search{width:100%;max-width:720px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:rgba(0,0,0,0.2);color:var(--text)}
.search{width:100%;max-width:720px;padding:10px 12px;border-radius:8px;border:1px solid rgba(16,24,40,0.06);background:rgba(255,255,255,0.98);color:var(--text)}

/* Terminal modal */
.terminal-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:radial-gradient(120% 100% at 20% 10%,rgba(139,92,246,.18),rgba(0,0,0,.72));backdrop-filter:blur(6px);z-index:10060}
.terminal-modal.show{display:flex;animation:termFadeIn .2s ease-out}
.terminal{position:relative;width:min(960px,100%);max-height:min(86vh,760px);display:flex;flex-direction:column;background:linear-gradient(170deg,rgba(11,9,22,.98),rgba(17,12,33,.95));border-radius:18px;border:1px solid rgba(139,92,246,.28);overflow:hidden;box-shadow:0 38px 100px rgba(2,6,23,.6)}
.terminal::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 45%);mix-blend-mode:screen}
.terminal .term-header{position:relative;z-index:1;padding:14px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:linear-gradient(90deg,rgba(139,92,246,.18),rgba(230,185,90,.10))}
.terminal .term-heading h3{margin:0;font-size:clamp(17px,1.8vw,20px);color:#fff6da;letter-spacing:.2px}
.terminal .term-heading p{margin:4px 0 0 0;color:#d2d7ff;font-size:13px}
.terminal .term-shortcuts{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;background:rgba(8,6,17,.55);border-top:1px solid rgba(139,92,246,.2);border-bottom:1px solid rgba(139,92,246,.16)}
.terminal .term-chip{padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(139,92,246,.18),rgba(230,185,90,.14));border:1px solid rgba(230,185,90,.35);color:#f6ebc6;font:600 12px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;cursor:pointer;transition:transform .16s ease,border-color .16s ease}
.terminal .term-chip:hover{transform:translateY(-2px);border-color:rgba(230,185,90,.6)}
.terminal .term-body{position:relative;z-index:1;padding:14px 16px 16px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;color:#eaf0ff;background:linear-gradient(180deg,rgba(9,8,19,.92),rgba(7,6,15,.94));min-height:220px;height:min(48vh,430px);overflow:auto;letter-spacing:.2px;line-height:1.65}
.terminal .term-body .cmd{color:#8ed9ff}
.terminal .term-body .welcome{color:#ffe7a3;font-weight:700}
.terminal .term-input{position:relative;z-index:1;display:flex;gap:8px;padding:12px 16px;border-top:1px solid rgba(139,92,246,.2);background:rgba(8,6,17,.65)}
.terminal .term-input input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid rgba(139,92,246,.32);background:#0a0915;color:#f5f7ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.terminal .term-input input::placeholder{color:#afb4df}
.terminal .term-input button{padding:10px 14px;border-radius:10px;border:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.terminal .term-input button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(46,197,255,.32)}
.terminal .close-term{padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--text-light);border:0;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.terminal .close-term:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.32)}
.terminal .close-term:focus,.terminal .term-chip:focus,.terminal .term-input input:focus,.terminal .term-input button:focus{outline:3px solid rgba(230,185,90,.25);outline-offset:2px}

body.terminal-open{overflow:hidden}

@keyframes termFadeIn{from{opacity:0}to{opacity:1}}

/* threat-map canvas styling (uses theme) */
.threat-map-canvas{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(243,244,246,0.02));border-radius:8px;border:1px solid rgba(16,24,40,0.04)}

/* small responsive */
@media (max-width:800px){
  .terminal-modal{padding:10px}
  .terminal .term-header{padding:12px}
  .terminal .term-body{height:min(54vh,360px)}
  .terminal .term-input{padding:10px 12px}
}

/* Prominent modern home button */
.home-btn{display:inline-block;padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0e1522;font-weight:700;box-shadow:0 8px 30px rgba(46,197,255,0.18);text-decoration:none;border:0;transition:transform .16s ease,box-shadow .16s ease}
.home-btn.prominent{padding:12px 16px;border-radius:12px}
.home-btn:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(46,197,255,0.22)}
.home-btn:focus{outline:3px solid rgba(46,197,255,0.32);outline-offset:3px}
@media (max-width:800px){.home-btn{padding:8px 10px;font-size:14px}}
/* === إضافات المتحف: هيرو فخم + إطارات + شبكة مختارات === */
.museum-header{background:radial-gradient(1200px 800px at 15% 10%, rgba(46,197,255,.14), transparent 60%),radial-gradient(1000px 600px at 80% 30%, rgba(255,200,87,.1), transparent 65%)}
.museum-hero{position:relative;max-width:1180px;margin:28px auto;padding:28px;display:grid;grid-template-columns:96px 1fr;gap:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(16,24,40,.08);border-radius:16px;box-shadow:0 30px 100px rgba(2,6,23,.35)}
.museum-logo{color:var(--gold);display:flex;align-items:flex-start;justify-content:center}
.hero-text h1{margin:.2rem 0 .4rem 0;font-size:clamp(22px,3vw,34px);letter-spacing:.4px}
.hero-text .subtitle{margin:0 0 10px 0;color:var(--muted)}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.home-btn.alt{background:linear-gradient(90deg, rgba(46,197,255,.22), rgba(255,200,87,.22));color:#e9f6ff;border:1px solid rgba(46,197,255,.28)}
.museum-ribbon{display:flex;gap:18px;list-style:none;padding:0;margin:14px 0 10px 0}
.museum-ribbon li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 14px;border:1px solid rgba(16,24,40,.08);border-radius:10px;background:rgba(255,255,255,.04)}
.museum-ribbon strong{font-size:18px}
.museum-search{margin-top:6px}
.frame-corners .corner{position:absolute;width:18px;height:18px;border:2px solid rgba(230,185,90,.55)}
.frame-corners .tl{top:10px;left:10px;border-right:none;border-bottom:none}
.frame-corners .tr{top:10px;right:10px;border-left:none;border-bottom:none}
.frame-corners .bl{bottom:10px;left:10px;border-right:none;border-top:none}
.frame-corners .br{bottom:10px;right:10px;border-left:none;border-top:none}

.section-title{margin:18px 0 6px 0;font-size:clamp(18px,2.4vw,22px)}
.museum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.frame-card{display:block;text-decoration:none;color:inherit;transform:translateZ(0);border-radius:14px;border:1px solid rgba(16,24,40,.10);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));box-shadow:0 18px 60px rgba(2,6,23,.30);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.frame-card:hover{transform:translateY(-6px);box-shadow:0 30px 90px rgba(2,6,23,.38);border-color:rgba(230,185,90,.35)}
.frame-card__inner{padding:14px 16px}
.frame-card h4{margin:0 0 6px 0}
.pill{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:999px;background:rgba(230,185,90,.14);border:1px solid rgba(230,185,90,.38);color:#6b5b17;font-weight:600;font-size:12px}

.museum-taxonomy{margin:10px 0 4px 0}
.museum-taxonomy ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.museum-taxonomy li span{display:inline-block;padding:6px 10px;border-radius:999px;border:1px dashed rgba(16,24,40,.14);background:rgba(255,255,255,.04);font-size:12px;color:var(--muted)}

@media (max-width:720px){
  .museum-hero{grid-template-columns:1fr;gap:10px;padding:18px}
  .museum-logo{justify-content:flex-start}
  .museum-ribbon{gap:10px}
}
/* === تحسين القراءة فوق الخلفية المتحركة بدون زيادة وضوح الخلفية === */
.story{
  /* لا نغيّر الخلفية الحالية لديك (تبقى كما هي في ملفك) */
  /* فقط نضيف طمس لما خلف البطاقة + حد خفيف + ظل خفيف */
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  backdrop-filter: blur(8px) saturate(115%);
  border: 1px solid rgba(16, 24, 40, 0.10);
  box-shadow: 0 16px 48px rgba(2, 6, 23, 0.18);
  border-radius: 12px;
}

/* لتعزيز الوضوح قليلاً للعناوين داخل القصة (بدون تغيير الخلفية): اختياري */
.story h1, .story h2, .story h3, .story h4{
  color:#1b1130;
}

/* تحسين بسيط على الفقرات بدون تغيير الخلفية: اختياري */
.story p, .story li{
  color:#2b0a4a;
}

/* في المتصفحات التي لا تدعم backdrop-filter: نرفع التباين بحد وظل فقط */
@supports not ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))){
  .story{
    /* نفس الحدود والظلّان كتعويض؛ الخلفية تبقى كما هي */
    border: 1px solid rgba(16, 24, 40, 0.12);
    box-shadow: 0 18px 54px rgba(2, 6, 23, 0.22);
  }
}

/* احترام تفضيل الوصول: لا نغيّر الخلفية، فقط نوقف الطمس إذا طلب المستخدم تقليل المؤثرات */
@media (prefers-reduced-transparency: reduce){
  .story{
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
/* === جعل البطاقة بكاملها قابلة للنقر (رابط ممتد) === */
.card{
  position: relative;
  overflow: hidden; /* احترازي لضمان عدم خروج طبقات */
  cursor: pointer;
}

/* رابط غير مرئي يغطي كامل مساحة البطاقة */
.card .stretched-link{
  position: absolute;
  inset: 0;             /* top/right/bottom/left: 0 */
  z-index: 1;
  text-indent: -9999px; /* يُخفي النص مرئيًا مع بقاءه لقارئات الشاشة */
  color: transparent;
  background: transparent;
  border: 0;
  outline: 0;
}

/* تحسين قابلية القراءة خلف الخلفية المتحركة (اختياري وخفيف) */
.story{
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  backdrop-filter: blur(8px) saturate(115%);
  border: 1px solid rgba(16, 24, 40, 0.10);
  box-shadow: 0 16px 48px rgba(2, 6, 23, 0.18);
  border-radius: 12px;
}
/* مسافة خارجية متّسقة حول كل بطاقة */
.card{
  margin: 6px;        /* مسافة رقيقة من الجهات الأربع */
  border-radius: 14px;
}
/* === Theme: Dark‑Neo (بطاقات داكنة متوهّجة) === */
.theme-dark-neo .card{
  position:relative; overflow:hidden; border-radius:14px; cursor:pointer;
  background: radial-gradient(140% 120% at 20% 10%, rgba(13,10,25,.86) 0%, rgba(10,9,20,.92) 40%, rgba(8,7,18,.96) 100%);
  border:1px solid rgba(139,92,246,.22); /* بنفسجي خفيف */
  box-shadow: 0 20px 60px rgba(2,6,23,.40);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  padding:16px 18px; margin:6px;
}
.theme-dark-neo .card::before{
  /* هالة نيون خفيفة في الحواف */
  content:""; position:absolute; inset:-1px;
  background: linear-gradient(130deg, rgba(139,92,246,.35), rgba(230,185,90,.25), rgba(99,102,241,.30));
  filter: blur(18px); opacity:.0; transition:opacity .25s ease; pointer-events:none;
}
.theme-dark-neo .card:hover{ transform: translateY(-6px); box-shadow:0 30px 84px rgba(2,6,23,.56); border-color: rgba(139,92,246,.45);}
.theme-dark-neo .card:hover::before{ opacity:.45; }

/* نصوص عالية التباين على الداكن */
.theme-dark-neo .card h4{ margin:0 0 8px; color:#f8f7ff; font-weight:900; letter-spacing:.25px; font-size:clamp(16px,1.7vw,18px);}
.theme-dark-neo .card p{ margin:0; color:#cfd2ff; font-size:clamp(14px,1.45vw,15px);}
.theme-dark-neo .card p.muted{ color:#aab0ff; opacity:.9; }

/* فوكس واضح للوصولية */
.theme-dark-neo .card .stretched-link:focus{ outline:3px solid rgba(139,92,246,.55); outline-offset:3px; }

/* تخفيف الحركة لمن يفضّل ذلك */
@media (prefers-reduced-motion: reduce){
  .theme-dark-neo .card:hover{ transform:none; }
}
/* ===== خلفية متحف رقمي — Neo Aurora ===== */

/* خلفية الصفحة كاملة */
body.theme-dark-neo{
  background: #121722; /* الأساس */
  background-image:
    radial-gradient(1000px 700px at 20% 15%, rgba(46,197,255,0.20), transparent 64%),
    radial-gradient(900px 600px at 80% 30%, rgba(255,200,87,0.15), transparent 70%),
    radial-gradient(1200px 900px at 50% 90%, rgba(122,157,214,0.14), transparent 76%);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
}

/* هالات Aurora هادئة ومتحركة بلطف */
body.theme-dark-neo::before{
  content:"";
  position:fixed;
  inset:-10%;
  pointer-events:none;
  z-index:0;

  background:
    radial-gradient(40% 30% at 30% 20%, rgba(46,197,255,0.14), transparent 70%),
    radial-gradient(35% 25% at 70% 60%, rgba(255,200,87,0.12), transparent 75%),
    radial-gradient(30% 20% at 50% 90%, rgba(122,157,214,0.10), transparent 80%);

  filter: blur(40px);
  opacity: 0.55;

  animation: auroraFlow 18s ease-in-out infinite alternate;
}

@keyframes auroraFlow{
  0%   { transform: translate3d(0,-3%,0) scale(1);   opacity:0.55; }
  50%  { transform: translate3d(-2%,2%,0) scale(1.04); opacity:0.65; }
  100% { transform: translate3d(1%,5%,0) scale(1.08);  opacity:0.60; }
}

/* لمن يفضّل تقليل الحركة */
@media (prefers-reduced-motion: reduce){
  body.theme-dark-neo::before{
    animation: none;
    opacity: 0.4;
  }
}
/* ===============================
   تحسين تباين النصوص في Dark‑Neo
   =============================== */

/* العناوين داخل البطاقات */
.theme-dark-neo .card h4{
  color: #fafaff !important;            /* أبيض صريح */
  text-shadow: 0 0 6px rgba(255,255,255,0.35);
}

/* نصوص الفقرات */
.theme-dark-neo .card p{
  color: #e4e6ff !important;            /* أزرق فاتح مريح */
}

/* النصوص الثانوية muted */
.theme-dark-neo .card p.muted{
  color: #c7c9ff !important;            /* بنفسجي أفتح */
  opacity: 0.95 !important;
}

/* العناوين الكبيرة في الهيرو */
.theme-dark-neo .hero-text h1{
  color: #ffffff !important;
  text-shadow: 0 0 20px rgba(139,92,246,0.45),
               0 0 12px rgba(255,255,255,0.25);
}

/* نص هيرو فرعي */
.theme-dark-neo .hero-text .subtitle{
  color: #d6d7ff !important;
  opacity: 0.95;
}

/* نص الحقول والزرار */
.theme-dark-neo .search,
.theme-dark-neo .home-btn,
.theme-dark-neo button{
  color: #f3f4ff !important;
}

/* ألوان الروابط الممتدة (بدون ظهور النص) */
.theme-dark-neo .stretched-link{
  color: transparent !important;
}

/* تباين النص داخل بطاقات القصص */
.theme-dark-neo .story{
  color: #f5f4ff !important;
}
.theme-dark-neo .story h1,
.theme-dark-neo .story h2,
.theme-dark-neo .story h3,
.theme-dark-neo .story h4{
  color: #ffffff !important;
}
.theme-dark-neo .story p,
.theme-dark-neo .story li{
  color: #e7e6ff !important;
}

/* === Homepage Cards: Museum Edition === */
.theme-dark-neo .exhibit-grid{
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px 12px;
}

.theme-dark-neo .exhibit-grid .card{
  --card-accent: #2ec5ff;
  --card-border: rgba(46, 197, 255, 0.34);
  --card-glow: rgba(46, 197, 255, 0.24);
  position: relative;
  min-height: 182px;
  padding: 16px 16px 14px;
  border-radius: 14px;
  border: 1px solid var(--card-border);
  background:
    linear-gradient(180deg, rgba(27, 35, 51, 0.94) 0%, rgba(22, 31, 46, 0.97) 100%),
    radial-gradient(120% 120% at 85% 0%, rgba(46, 197, 255, 0.16), transparent 58%),
    radial-gradient(120% 120% at 12% 100%, rgba(255, 200, 87, 0.13), transparent 62%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 2px, transparent 2px, transparent 8px);
  box-shadow: 0 14px 34px rgba(2, 8, 24, 0.42);
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .25s ease;
}

.theme-dark-neo .exhibit-grid .card::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0%, rgba(46, 197, 255, 0.2) 46%, transparent 100%);
  transform: translateX(120%);
  transition: transform .55s ease;
}

.theme-dark-neo .exhibit-grid .card::after{
  content: "";
  position: absolute;
  top: 14px;
  right: 10px;
  width: 42px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(0,0,0,0), var(--card-accent));
  opacity: .9;
  pointer-events: none;
}

.theme-dark-neo .exhibit-grid .card:hover{
  transform: translateY(-5px);
  border-color: rgba(255, 200, 87, 0.8);
  box-shadow: 0 22px 52px rgba(2, 8, 24, 0.55), 0 0 0 1px rgba(255, 200, 87, 0.28) inset;
}

.theme-dark-neo .exhibit-grid .card:hover::before{
  transform: translateX(-120%);
}

.theme-dark-neo .exhibit-grid .card:nth-child(2n){
  --card-accent: #ffc857;
}

.theme-dark-neo .exhibit-grid .card h4{
  margin: 10px 0 8px;
  font-size: clamp(16px, 1.55vw, 18px);
  font-weight: 850;
  line-height: 1.35;
  color: #f4f8ff !important;
  text-wrap: balance;
}

.theme-dark-neo .exhibit-grid .card p.muted{
  margin: 0;
  color: #b8c6d9 !important;
  line-height: 1.55;
  font-size: 14px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.theme-dark-neo .exhibit-grid .card .card-tag{
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 55%, #5a4522 45%);
  background: color-mix(in srgb, var(--card-accent) 22%, transparent);
  color: #eef8ff;
  font: 700 11px/1.2 "Segoe UI", Tahoma, Arial, sans-serif;
  letter-spacing: .3px;
  max-width: fit-content;
}

.theme-dark-neo .exhibit-grid .card .card-meta{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.theme-dark-neo .exhibit-grid .card .exhibit-no{
  display: inline-block;
  padding: 3px 9px;
  border-radius: 7px;
  border: 1px solid rgba(46, 197, 255, 0.48);
  background: linear-gradient(180deg, rgba(46, 197, 255, 0.2), rgba(21, 44, 69, 0.22));
  color: #e4f7ff;
  font: 700 11px/1.2 "Segoe UI", Tahoma, Arial, sans-serif;
}

.theme-dark-neo .exhibit-grid .card .stretched-link:focus{
  outline: 3px solid color-mix(in srgb, var(--card-accent) 65%, white 35%);
  outline-offset: 3px;
}

@media (max-width: 760px){
  .theme-dark-neo .exhibit-grid{
    gap: 10px;
  }

  .theme-dark-neo .exhibit-grid .card{
    min-height: 166px;
    padding: 14px 14px 12px;
  }

  .theme-dark-neo .exhibit-grid .card h4{
    font-size: 16px;
    margin-top: 8px;
  }

  .theme-dark-neo .exhibit-grid .card p.muted{
    font-size: 13.5px;
  }
}

@media (prefers-reduced-motion: reduce){
  .theme-dark-neo .exhibit-grid .card,
  .theme-dark-neo .exhibit-grid .card::before{
    transition: none;
  }

  .theme-dark-neo .exhibit-grid .card:hover{
    transform: none;
  }
}

/* === Digital Museum Gallery Theme === */
:root{
  --accent:#7a00ff;
  --accent-2:#ffb703;
  --bg:linear-gradient(180deg,#fff9ef,#f6ecff);
  --card:#fffdf8;
  --text:#1d1230;
  --muted:#4c3f66;
  --gold:#ffb703;
}

body,
body.theme-dark-neo{
  background: var(--bg) !important;
  color: var(--text);
}

body.theme-dark-neo{
  background-image:
    radial-gradient(980px 680px at 12% 8%, rgba(255,183,3,0.22), transparent 64%),
    radial-gradient(920px 620px at 86% 14%, rgba(122,0,255,0.18), transparent 66%),
    radial-gradient(1080px 780px at 50% 94%, rgba(183,104,255,0.14), transparent 72%) !important;
}

body.theme-dark-neo::before{
  background:
    radial-gradient(40% 28% at 24% 18%, rgba(255,183,3,0.17), transparent 70%),
    radial-gradient(36% 24% at 74% 60%, rgba(122,0,255,0.13), transparent 75%),
    radial-gradient(30% 20% at 52% 92%, rgba(183,104,255,0.10), transparent 80%) !important;
  opacity: .5;
}

.bg-overlay{
  background:
    radial-gradient(ellipse at 12% 20%, rgba(255,183,3,0.11), transparent 16%),
    radial-gradient(ellipse at 82% 78%, rgba(122,0,255,0.10), transparent 18%) !important;
}

.site-header,
.museum-header{
  background: linear-gradient(180deg, rgba(255,252,245,0.52), rgba(251,244,255,0.44));
  border-bottom: 1px solid rgba(122,0,255,0.2);
}

.museum-hero,
.story,
.theme-dark-neo .story{
  background: linear-gradient(180deg,#fffefb,#fdf7ff) !important;
  border: 1px solid rgba(122,0,255,0.22) !important;
  box-shadow: 0 14px 30px rgba(66,53,90,.12), 0 0 0 1px rgba(255,183,3,0.16) inset !important;
}

.museum-hero{
  background: linear-gradient(180deg, rgba(255,255,255,0.5), rgba(251,244,255,0.42)) !important;
  -webkit-backdrop-filter: blur(7px) saturate(108%);
  backdrop-filter: blur(7px) saturate(108%);
}

.theme-dark-neo .story,
.theme-dark-neo .story h1,
.theme-dark-neo .story h2,
.theme-dark-neo .story h3,
.theme-dark-neo .story h4,
.theme-dark-neo .story p,
.theme-dark-neo .story li{
  color: #1d1230 !important;
}

.theme-dark-neo .hero-text h1,
.theme-dark-neo .site-header h1{
  color: #2b0f4a !important;
}

.theme-dark-neo .hero-text .subtitle,
.theme-dark-neo .hero-text p,
.theme-dark-neo .site-footer,
.theme-dark-neo .site-footer p{
  color: #4c3f66 !important;
}

.theme-dark-neo .card,
.theme-dark-neo .exhibit-grid .card{
  background:
    linear-gradient(180deg,#ffffff 0%, #fdf6ff 100%),
    radial-gradient(125% 110% at 90% 0%, rgba(122,0,255,0.12), transparent 62%) !important;
  border: 1px solid rgba(122,0,255,0.26) !important;
  box-shadow: 0 12px 26px rgba(66,53,90,.1), 0 0 0 1px rgba(255,183,3,0.16) inset !important;
}

.theme-dark-neo .card::before,
.theme-dark-neo .exhibit-grid .card::before{
  background: linear-gradient(112deg, transparent 0%, rgba(122,0,255,0.28) 46%, rgba(255,183,3,0.2) 62%, transparent 100%) !important;
  opacity: 0;
}

.theme-dark-neo .card:hover,
.theme-dark-neo .exhibit-grid .card:hover{
  border-color: rgba(122,0,255,0.62) !important;
  box-shadow:
    0 22px 36px rgba(66,53,90,.14),
    0 0 0 1px rgba(255,183,3,0.35) inset,
    0 0 26px rgba(122,0,255,0.28) !important;
}

.theme-dark-neo .card:hover::before,
.theme-dark-neo .exhibit-grid .card:hover::before{
  opacity: 1;
}

.theme-dark-neo .card h4,
.theme-dark-neo .exhibit-grid .card h4{
  color: #241035 !important;
  text-shadow: none !important;
}

.theme-dark-neo .card p,
.theme-dark-neo .card p.muted,
.theme-dark-neo .exhibit-grid .card p.muted{
  color: #43345e !important;
}

.theme-dark-neo .exhibit-grid .card .card-tag{
  border-color: rgba(255,183,3,0.6);
  background: rgba(255,183,3,0.22);
  color: #4b2f00;
}

.theme-dark-neo .exhibit-grid .card .exhibit-no{
  border-color: rgba(122,0,255,0.38);
  background: linear-gradient(180deg, rgba(122,0,255,0.22), rgba(255,183,3,0.2));
  color: #2f1050;
}

.home-btn,
.terminal .term-input button,
.terminal .close-term,
.bookmark-btn.saved{
  background: linear-gradient(90deg,#7a00ff,#ffb703);
  color: #ffffff;
}

.home-btn.alt{
  background: linear-gradient(90deg, rgba(122,0,255,.18), rgba(255,183,3,.24));
  color: #2d104a;
  border: 1px solid rgba(122,0,255,.35);
}

.theme-dark-neo .search,
.search{
  background: #fffdf8;
  color: #1d1230 !important;
  caret-color: #1d1230;
  border-color: rgba(122,0,255,0.34);
}

.theme-dark-neo .search::placeholder,
.search::placeholder{
  color: #6c5c88 !important;
  opacity: 1;
}

.ad,
.ad-top,
.ad-side,
.ad-inline{
  background: #fff9ed;
  border-color: rgba(255,183,3,0.38);
  color: #43345e;
}

/* Ad disclosure + clearer inline separation */
.ad{
  position: relative;
}

.ad::before{
  content: "إعلان";
  display: inline-block;
  margin-bottom: 10px;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(122,0,255,0.12);
  border: 1px solid rgba(122,0,255,0.28);
  color: #3d1762;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2px;
}

.exhibit-grid > .ad-inline{
  grid-column: 1 / -1;
  min-height: 120px;
  margin: 8px 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-style: dashed;
  border-width: 2px;
  background:
    linear-gradient(180deg, rgba(255,249,237,0.98), rgba(255,244,220,0.96));
  box-shadow: 0 10px 24px rgba(49,25,82,.10);
}

.site-footer .footer-links{
  margin: 8px 0 0;
  font-size: 14px;
}

.site-footer .footer-links a{
  color: #3d1762;
  font-weight: 700;
  text-decoration: none;
}

.site-footer .footer-links a:hover{
  text-decoration: underline;
}

/* === Terminal + CTA polish for updated museum theme === */
#open-terminal.home-btn.alt{
  background: linear-gradient(115deg, #7a00ff 0%, #b23dff 52%, #ffb703 100%) !important;
  color: #fffdf8 !important;
  border: 1px solid rgba(122,0,255,0.45) !important;
  box-shadow:
    0 10px 24px rgba(122,0,255,0.25),
    0 0 0 1px rgba(255,183,3,0.24) inset !important;
}

#open-terminal.home-btn.alt:hover{
  transform: translateY(-3px) !important;
  box-shadow:
    0 16px 30px rgba(122,0,255,0.30),
    0 0 20px rgba(178,61,255,0.32),
    0 0 0 1px rgba(255,183,3,0.35) inset !important;
}

#open-terminal.home-btn.alt:focus{
  outline: 3px solid rgba(178,61,255,0.35) !important;
  outline-offset: 3px;
}

/* Policy/Contact switch button: mirror open-terminal style */
.hero-cta .home-btn.policy-switch-btn{
  min-width: 188px;
  background: linear-gradient(105deg, rgba(122,0,255,0.90) 0%, rgba(178,61,255,0.92) 62%, rgba(255,183,3,0.86) 100%) !important;
  color: #fffdf8 !important;
  border: 1px solid rgba(122,0,255,0.55) !important;
  box-shadow:
    0 10px 24px rgba(122,0,255,0.25),
    0 0 0 1px rgba(255,183,3,0.24) inset !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.hero-cta .home-btn.policy-switch-btn:hover{
  transform: translateY(-3px) !important;
  box-shadow:
    0 16px 30px rgba(122,0,255,0.30),
    0 0 20px rgba(178,61,255,0.32),
    0 0 0 1px rgba(255,183,3,0.35) inset !important;
}

.hero-cta .home-btn.policy-switch-btn:focus,
.hero-cta .home-btn.policy-switch-btn:focus-visible{
  outline: 3px solid rgba(178,61,255,0.35) !important;
  outline-offset: 3px;
}

.hero-cta .home-btn.policy-switch-btn .btn-ico{
  width: 18px;
  height: 18px;
  display: inline-block;
  color: currentColor;
  flex: 0 0 18px;
}

.hero-cta .home-btn.policy-switch-btn .btn-ico svg{
  width: 100%;
  height: 100%;
  display: block;
}

.terminal-modal{
  background: radial-gradient(120% 100% at 20% 10%, rgba(122,0,255,.22), rgba(34,19,59,.42)) !important;
  backdrop-filter: blur(7px) saturate(118%);
}

.terminal{
  background: linear-gradient(180deg, #fffdf7 0%, #f9f0ff 100%) !important;
  border: 1px solid rgba(122,0,255,.34) !important;
  box-shadow: 0 36px 90px rgba(49,25,82,.28), 0 0 0 1px rgba(255,183,3,.24) inset !important;
  z-index: 10066;
}

.terminal::before{
  background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,0) 45%) !important;
  mix-blend-mode: normal;
}

.terminal .term-header{
  background: linear-gradient(90deg, rgba(122,0,255,.15), rgba(255,183,3,.20)) !important;
  border-bottom: 1px solid rgba(122,0,255,.20);
}

.terminal .term-heading h3{
  color: #2a0c4d !important;
}

.terminal .term-heading p{
  color: #4c3f66 !important;
}

.terminal .term-shortcuts{
  background: rgba(255,250,242,.72) !important;
  border-top: 1px solid rgba(122,0,255,.18) !important;
  border-bottom: 1px solid rgba(122,0,255,.14) !important;
}

.terminal .term-chip{
  background: linear-gradient(90deg, rgba(122,0,255,.13), rgba(255,183,3,.20)) !important;
  border-color: rgba(122,0,255,.35) !important;
  color: #3a145f !important;
}

.terminal .term-chip:hover{
  border-color: rgba(178,61,255,.55) !important;
  box-shadow: 0 8px 16px rgba(122,0,255,.16);
}

.terminal .term-body{
  color: #2b1747 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(247,236,255,.86)) !important;
  border-top: 1px solid rgba(122,0,255,.10);
}

.terminal .term-body .cmd{ color: #7a00ff !important; }
.terminal .term-body .welcome{ color: #9a6700 !important; }

.terminal .term-input{
  border-top: 1px solid rgba(122,0,255,.18) !important;
  background: rgba(255,249,239,.86) !important;
}

.terminal .term-input input{
  border: 1px solid rgba(122,0,255,.32) !important;
  background: #fffefb !important;
  color: #24123d !important;
}

.terminal .term-input input::placeholder{
  color: #7c6b9b !important;
}

.terminal .term-input button,
.terminal .close-term{
  background: linear-gradient(100deg, #7a00ff, #b23dff 55%, #ffb703) !important;
  color: #ffffff !important;
}

.terminal .term-input button:hover,
.terminal .close-term:hover{
  box-shadow: 0 10px 20px rgba(122,0,255,.26) !important;
}

.terminal .close-term:focus,
.terminal .term-chip:focus,
.terminal .term-input input:focus,
.terminal .term-input button:focus{
  outline: 3px solid rgba(178,61,255,.28) !important;
  outline-offset: 2px;
}

/* Hero top buttons: refined pair */
.hero-cta{
  gap: 12px !important;
}

.hero-cta .home-btn{
  min-height: 44px;
  min-width: 166px;
  padding: 11px 18px !important;
  border-radius: 12px !important;
  letter-spacing: .1px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero-cta .home-btn.prominent{
  background: linear-gradient(105deg, #7a00ff 0%, #a100ff 48%, #ffb703 100%) !important;
  color: #fffef9 !important;
  border: 1px solid rgba(122,0,255,0.52) !important;
  box-shadow:
    0 12px 28px rgba(122,0,255,0.28),
    0 0 0 1px rgba(255,183,3,0.30) inset !important;
}

.hero-cta .home-btn.prominent:hover{
  transform: translateY(-3px) !important;
  box-shadow:
    0 18px 32px rgba(122,0,255,0.35),
    0 0 24px rgba(161,0,255,0.26),
    0 0 0 1px rgba(255,183,3,0.42) inset !important;
}

#open-terminal.home-btn.alt{
  min-width: 188px;
  background: linear-gradient(105deg, rgba(122,0,255,0.90) 0%, rgba(178,61,255,0.92) 62%, rgba(255,183,3,0.86) 100%) !important;
  color: #fffdf8 !important;
  border: 1px solid rgba(122,0,255,0.55) !important;
}

#open-terminal.home-btn.alt:hover{
  transform: translateY(-3px) !important;
  box-shadow:
    0 16px 30px rgba(122,0,255,0.32),
    0 0 22px rgba(178,61,255,0.34),
    0 0 0 1px rgba(255,183,3,0.38) inset !important;
}

.hero-cta .home-btn:focus,
#open-terminal.home-btn.alt:focus{
  outline: 3px solid rgba(178,61,255,0.36) !important;
  outline-offset: 3px;
}

@media (max-width: 720px){
  .hero-cta .home-btn,
  #open-terminal.home-btn.alt{
    min-width: 100%;
  }
}

/* Background toggle: updated style for current theme */
.bg-toggle{
  right: 16px !important;
  bottom: 16px !important;
  z-index: 10070 !important;
  min-width: 156px;
  text-align: center;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(122,0,255,0.34) !important;
  background: linear-gradient(100deg, rgba(122,0,255,0.92), rgba(178,61,255,0.92)) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(122,0,255,0.28), 0 0 0 1px rgba(255,183,3,0.24) inset !important;
  font-weight: 700 !important;
}

.bg-toggle small{
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;
  font-size: 11px !important;
}

.bg-toggle[data-enabled="false"]{
  border-color: rgba(71,85,105,0.30) !important;
  background: linear-gradient(100deg, rgba(71,85,105,0.86), rgba(100,116,139,0.86)) !important;
  box-shadow: 0 8px 18px rgba(51,65,85,0.22) !important;
}

.bg-toggle:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(122,0,255,0.32), 0 0 20px rgba(178,61,255,0.25), 0 0 0 1px rgba(255,183,3,0.30) inset !important;
}

.bg-toggle:focus{
  outline: 3px solid rgba(178,61,255,0.3) !important;
  outline-offset: 2px;
}

/* Hero CTA v2: clearer hierarchy + modern polish */
.hero-cta{
  align-items: center;
}

.hero-cta .home-btn{
  position: relative;
  overflow: hidden;
  gap: 8px;
  font-size: 15px;
  line-height: 1;
}

.hero-cta .home-btn::before{
  content: "";
  position: absolute;
  inset: -1px;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.36) 48%, transparent 100%);
  transform: translateX(120%);
  transition: transform .55s ease;
  pointer-events: none;
}

.hero-cta .home-btn:hover::before{
  transform: translateX(-120%);
}

.hero-cta .home-btn.prominent{
  background: linear-gradient(105deg, #6f00ff 0%, #8e10ff 45%, #ffb703 100%) !important;
  border-color: rgba(111,0,255,.62) !important;
  box-shadow:
    0 14px 30px rgba(111,0,255,.32),
    0 0 0 1px rgba(255,183,3,.35) inset !important;
}

.hero-cta .home-btn.prominent::after{
  content: "▶";
  font-size: 11px;
  opacity: .92;
}

#open-terminal.home-btn.alt{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,249,236,.92)) !important;
  color: #38135f !important;
  border: 1px solid rgba(111,0,255,.34) !important;
  box-shadow:
    0 10px 22px rgba(56,19,95,.12),
    0 0 0 1px rgba(255,183,3,.24) inset !important;
}

#open-terminal.home-btn.alt::after{
  content: "⌘";
  font-size: 12px;
  color: #6f00ff;
}

#open-terminal.home-btn.alt:hover{
  border-color: rgba(122,0,255,.52) !important;
  box-shadow:
    0 16px 28px rgba(56,19,95,.18),
    0 0 18px rgba(122,0,255,.22),
    0 0 0 1px rgba(255,183,3,.36) inset !important;
}

@media (max-width: 720px){
  .hero-cta{
    gap: 10px !important;
  }

  .hero-cta .home-btn{
    min-height: 46px;
    justify-content: center;
  }
}

/* Terminal motion system (open/close) */
.terminal-modal.show{
  display: flex !important;
  animation: termOverlayIn .26s ease-out both !important;
}

.terminal-modal{
  position: fixed !important;
  inset: 0 !important;
  margin: 0 !important;
  z-index: 10080 !important;
}

.terminal-modal.closing{
  display: flex !important;
  animation: termOverlayOut .28s ease-in .5s both !important;
}

.term-gate{
  --gate-spread: min(46vw, 470px);
  position: absolute;
  inset: 0;
  z-index: 10061;
  pointer-events: none;
}

.term-gate::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(110% 90% at 50% 50%, rgba(122,0,255,.08), rgba(34,19,59,.18));
  opacity: 0;
}

.term-gate .gate-edge{
  position: absolute;
  top: 50%;
  width: 3px;
  height: min(76vh, 620px);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,183,3,.9), rgba(161,0,255,.98), rgba(255,183,3,.9));
  box-shadow: 0 0 18px rgba(161,0,255,.55), 0 0 32px rgba(255,183,3,.38);
  opacity: 0;
}

.term-gate .gate-edge.left{ left: 50%; transform: translate(-50%, -50%); }
.term-gate .gate-edge.right{ left: 50%; transform: translate(-50%, -50%); }

.terminal-modal.show .term-gate::before,
.terminal-modal.opening .term-gate::before{
  animation: termGateGlowIn .52s ease both;
}

.terminal-modal.show .term-gate .gate-edge.left,
.terminal-modal.opening .term-gate .gate-edge.left{
  animation: termEdgeLeftOpen .9s cubic-bezier(.2,.85,.2,1) both;
}

.terminal-modal.show .term-gate .gate-edge.right,
.terminal-modal.opening .term-gate .gate-edge.right{
  animation: termEdgeRightOpen .9s cubic-bezier(.2,.85,.2,1) both;
}

.terminal-modal.closing .term-gate::before{
  animation: termGateGlowOut .48s ease both;
}

.terminal-modal.closing .term-gate .gate-edge.left{
  animation: termEdgeLeftClose .58s cubic-bezier(.55,.06,.68,.19) both;
}

.terminal-modal.closing .term-gate .gate-edge.right{
  animation: termEdgeRightClose .58s cubic-bezier(.55,.06,.68,.19) both;
}

.term-particle-burst{
  position: absolute;
  inset: 0;
  z-index: 10065;
  pointer-events: none;
  opacity: 0;
}

.term-particle-burst .spark{
  --tx: 0px;
  --ty: 0px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #ffd26d, #a100ff 70%);
  box-shadow: 0 0 8px rgba(161,0,255,.55);
  transform: translate(-50%, -50%) scale(.75);
}

.term-particle-burst .spark:nth-child(1){ --tx: -210px; --ty: -120px; }
.term-particle-burst .spark:nth-child(2){ --tx: -180px; --ty: -40px; }
.term-particle-burst .spark:nth-child(3){ --tx: -160px; --ty: 30px; }
.term-particle-burst .spark:nth-child(4){ --tx: -120px; --ty: 110px; }
.term-particle-burst .spark:nth-child(5){ --tx: -60px; --ty: -140px; }
.term-particle-burst .spark:nth-child(6){ --tx: -20px; --ty: 140px; }
.term-particle-burst .spark:nth-child(7){ --tx: 30px; --ty: -150px; }
.term-particle-burst .spark:nth-child(8){ --tx: 70px; --ty: 130px; }
.term-particle-burst .spark:nth-child(9){ --tx: 120px; --ty: -100px; }
.term-particle-burst .spark:nth-child(10){ --tx: 150px; --ty: -20px; }
.term-particle-burst .spark:nth-child(11){ --tx: 175px; --ty: 55px; }
.term-particle-burst .spark:nth-child(12){ --tx: 210px; --ty: 120px; }

.terminal-modal.closing .term-particle-burst{
  animation: termBurstContainer .34s ease .42s both;
}

.terminal-modal.closing .term-particle-burst .spark{
  animation: termSparkFly .34s ease-out .42s both;
}

.terminal-modal.show .terminal,
.terminal-modal.opening .terminal{
  transform-origin: center;
  animation: termPanelIn .82s cubic-bezier(.2,.82,.2,1) .22s both;
}

.terminal-modal.closing .terminal{
  transform-origin: center;
  animation: termPanelOut .42s ease-in both;
}

.terminal-modal.show .term-header{ animation: termItemIn .32s ease .34s both; }
.terminal-modal.show .term-shortcuts{ animation: termItemIn .30s ease .40s both; }
.terminal-modal.show .term-body{ animation: termItemIn .30s ease .46s both; }
.terminal-modal.show .term-input{ animation: termItemIn .30s ease .52s both; }

@keyframes termOverlayIn{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes termOverlayOut{
  from{ opacity:1; }
  to{ opacity:0; }
}

@keyframes termGateGlowIn{
  0%{ opacity:0; }
  55%{ opacity:.72; }
  100%{ opacity:0; }
}

@keyframes termGateGlowOut{
  from{ opacity:1; }
  to{ opacity:0; }
}

@keyframes termEdgeLeftOpen{
  0%{ transform: translate(-50%, -50%); opacity:1; }
  82%{ transform: translate(calc(-50% - var(--gate-spread)), -50%); opacity:1; }
  100%{ transform: translate(calc(-50% - var(--gate-spread)), -50%); opacity:0; }
}

@keyframes termEdgeRightOpen{
  0%{ transform: translate(-50%, -50%); opacity:1; }
  82%{ transform: translate(calc(-50% + var(--gate-spread)), -50%); opacity:1; }
  100%{ transform: translate(calc(-50% + var(--gate-spread)), -50%); opacity:0; }
}

@keyframes termEdgeLeftClose{
  from{ transform: translate(calc(-50% - var(--gate-spread)), -50%); opacity:1; }
  to{ transform: translate(-50%, -50%); opacity:1; }
}

@keyframes termEdgeRightClose{
  from{ transform: translate(calc(-50% + var(--gate-spread)), -50%); opacity:1; }
  to{ transform: translate(-50%, -50%); opacity:1; }
}

@keyframes termPanelIn{
  from{ opacity:0; transform: translateY(14px) scale(.955); filter: blur(6px); }
  to{ opacity:1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes termPanelOut{
  from{ opacity:1; transform: translateY(0) scale(1); filter: blur(0); }
  to{ opacity:0; transform: translateY(10px) scale(.968); filter: blur(3px); }
}

@keyframes termItemIn{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}

@keyframes termBurstContainer{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes termSparkFly{
  from{ opacity:0; transform: translate(-50%, -50%) scale(.6); }
  20%{ opacity:1; }
  to{ opacity:0; transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(.08); }
}

@media (prefers-reduced-motion: reduce){
  .terminal-modal.show,
  .terminal-modal.closing,
  .terminal-modal.show .term-gate::before,
  .terminal-modal.opening .term-gate::before,
  .terminal-modal.closing .term-gate::before,
  .terminal-modal.show .term-gate .gate-edge.left,
  .terminal-modal.opening .term-gate .gate-edge.left,
  .terminal-modal.closing .term-gate .gate-edge.left,
  .terminal-modal.show .term-gate .gate-edge.right,
  .terminal-modal.opening .term-gate .gate-edge.right,
  .terminal-modal.closing .term-gate .gate-edge.right,
  .terminal-modal.closing .term-particle-burst,
  .terminal-modal.closing .term-particle-burst .spark,
  .terminal-modal.show .terminal,
  .terminal-modal.opening .terminal,
  .terminal-modal.closing .terminal,
  .terminal-modal.show .term-header,
  .terminal-modal.show .term-shortcuts,
  .terminal-modal.show .term-body,
  .terminal-modal.show .term-input{
    animation: none !important;
  }
}

/* Terminal buttons v2 */
.terminal .term-shortcuts{
  gap: 10px !important;
}

.terminal .term-chip{
  min-height: 34px;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(122,0,255,.30) !important;
  background: linear-gradient(105deg, rgba(122,0,255,.10), rgba(255,183,3,.18)) !important;
  color: #2c0f4d !important;
  font-weight: 700 !important;
  letter-spacing: .2px;
}

.terminal .term-chip:hover{
  transform: translateY(-2px) !important;
  border-color: rgba(122,0,255,.52) !important;
  box-shadow:
    0 10px 18px rgba(122,0,255,.15),
    0 0 0 1px rgba(255,183,3,.26) inset !important;
}

.terminal .term-chip:active{
  transform: translateY(0) scale(.98) !important;
}

.terminal .term-input button{
  min-width: 106px;
  min-height: 40px;
  border-radius: 10px !important;
  border: 1px solid rgba(122,0,255,.46) !important;
  background: linear-gradient(100deg, #7a00ff 0%, #a100ff 58%, #ffb703 100%) !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
}

.terminal .term-input button:hover{
  transform: translateY(-2px) !important;
  box-shadow:
    0 12px 22px rgba(122,0,255,.28),
    0 0 18px rgba(161,0,255,.26),
    0 0 0 1px rgba(255,183,3,.36) inset !important;
}

.terminal .close-term{
  min-height: 40px;
  border-radius: 10px !important;
  border: 1px solid rgba(122,0,255,.26) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(251,242,255,.92)) !important;
  color: #43166d !important;
  font-weight: 800 !important;
}

.terminal .close-term:hover{
  transform: translateY(-2px) !important;
  box-shadow:
    0 10px 18px rgba(67,22,109,.14),
    0 0 0 1px rgba(122,0,255,.20) inset !important;
}

.terminal .close-term:active,
.terminal .term-input button:active{
  transform: translateY(0) scale(.98) !important;
}

