:root{--bg:#0b0d12;--panel:#141821;--line:#232936;--hi:#e8edf7;--mid:#8b96ac;--lo:#5b6478;--gold:#e8b06a}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--hi);font:15px/1.7 -apple-system,"Inter","Segoe UI",system-ui,sans-serif;
     -webkit-font-smoothing:antialiased}
.wrap{max-width:860px;margin:0 auto;padding:28px 22px 64px}
.top{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:26px}
.top a{color:var(--mid);text-decoration:none;font-size:13.5px}
.top a:hover{color:var(--hi)}
.top .sp{flex:1}
.top .brand{font-weight:600;letter-spacing:-.02em}
h1{font-size:27px;font-weight:660;letter-spacing:-.03em;margin-bottom:8px}
h2{font-size:16px;font-weight:620;margin:26px 0 10px;color:var(--gold)}
p.lead{color:var(--mid);font-size:14.5px;margin-bottom:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px 20px;margin-bottom:14px}
.card h3{font-size:15.5px;font-weight:620;margin-bottom:6px}
.card p{color:var(--mid);font-size:13.5px}
.card .meta{color:var(--lo);font-size:12px;margin-top:9px}
a.card{display:block;text-decoration:none;color:inherit;transition:.18s}
a.card:hover{border-color:var(--gold);transform:translateY(-1px)}
input,textarea,select{width:100%;padding:11px 14px;border-radius:10px;background:#0f131a;color:var(--hi);
     border:1px solid var(--line);font:inherit;font-size:14px;outline:none;margin-bottom:12px}
input:focus,textarea:focus{border-color:var(--gold)}
button{padding:11px 22px;border-radius:10px;border:0;background:linear-gradient(100deg,#e8b06a,#d98f3f);
       color:#1a1206;font:inherit;font-weight:640;cursor:pointer}
button:hover{filter:brightness(1.08)}
.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:100px;margin:2px 5px 2px 0;
     background:rgba(232,176,106,.13);color:var(--gold);border:1px solid rgba(232,176,106,.3)}
.out{background:#0f131a;border:1px solid var(--line);border-radius:11px;padding:15px;margin-top:14px;
     font-size:13.5px;white-space:pre-wrap;line-height:1.75}
.foot{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);color:var(--lo);font-size:12px}
code{background:#0f131a;padding:2px 7px;border-radius:5px;font-size:12.5px;color:var(--gold)}

/* ---- 语言切换器（由 build.py 按语言生成；单语言切片不渲染这一块）---- */
.langsw{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 18px}
.langsw .langsw-t{color:var(--lo);font-size:12px;margin-right:2px}
.langsw a{font-size:12.5px;padding:4px 12px;border-radius:100px;border:1px solid var(--line);
          background:#141821;color:var(--mid);text-decoration:none}
.langsw a:hover{color:var(--hi);border-color:var(--gold)}
.langsw a.on{background:rgba(232,176,106,.14);color:var(--gold);border-color:var(--gold)}

/* ---- RTL（阿拉伯语等从右往左的语言）------------------------------------------------
   生成器只负责在 <html> 上写 dir="rtl"（来自 langs.json 的 "dir":"rtl"），
   方向相关样式全在这一块 —— 所以「再加一种 RTL 语言」不用动页面模板。
   挂到 /var/www/infogap/_shared/slice-shell.css 末尾。 */
[dir="rtl"] .outlook{border-left:0;border-right:3px solid var(--gold)}
[dir="rtl"] .lv-fix{border-left:0;border-right:2px solid var(--gold);padding-left:0;padding-right:11px}
[dir="rtl"] .lv-list{padding-left:0;padding-right:20px}
[dir="rtl"] .tbl th,[dir="rtl"] .tbl td{text-align:right}
[dir="rtl"] .tag{margin:2px 0 2px 5px}
[dir="rtl"] .lv-step .h .no{margin-right:0;margin-left:7px}
[dir="rtl"] .langsw .langsw-t{margin-right:0;margin-left:2px}
[dir="rtl"] .warn code,[dir="rtl"] .note code{direction:ltr;unicode-bidi:embed}
/* 拉丁内容（代码/路径/坐标轴与数字）保持 LTR —— 否则读到的是乱序字符串 */
[dir="rtl"] code,[dir="rtl"] pre,[dir="rtl"] .lv-cite,[dir="rtl"] .chart,
[dir="rtl"] .m .v,[dir="rtl"] .lv-c .v,[dir="rtl"] .card .io code{
  direction:ltr;unicode-bidi:embed;text-align:left}
[dir="rtl"] .lv-cite,[dir="rtl"] .warn code,[dir="rtl"] .note code{display:inline-block;max-width:100%}
[dir="rtl"] .m .k,[dir="rtl"] .m .u,[dir="rtl"] .lv-c .k,[dir="rtl"] .lv-c .u,
[dir="rtl"] .flabel,[dir="rtl"] .stat,[dir="rtl"] .card p,[dir="rtl"] .card h3,
[dir="rtl"] .nextcard .why,[dir="rtl"] p.lead,[dir="rtl"] .foot,[dir="rtl"] .soon{text-align:right}
/* 表单：阿拉伯语文本是右起输入；数值型输入框（曲线那类）单独在字段上写 dir="ltr" */
[dir="rtl"] input,[dir="rtl"] textarea{direction:rtl;text-align:right}
[dir="rtl"] .rad,[dir="rtl"] .row,[dir="rtl"] .chips,[dir="rtl"] .ex,[dir="rtl"] .nextgrid,
[dir="rtl"] .langsw,[dir="rtl"] .lv-chks,[dir="rtl"] .top{flex-direction:row-reverse}
[dir="rtl"] .lv-three .cell,[dir="rtl"] .card{text-align:right}
