@import url('https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@300;400;500;700&display=swap');

:root{
--paper:#ffffff;
--stone:#f5f5f5;
--ink:#1f1f1f;
--ink-soft:#4c4c4c;
--line:rgba(31,31,31,.1);
--glass:rgba(255,255,255,.72);
--shadow:0 2px 4px rgba(0,0,0,.04),0 18px 36px rgba(31,31,31,.07);
--shadow-up:0 6px 12px rgba(0,0,0,.05),0 26px 50px rgba(31,31,31,.11);
--r:4px;
--rail:92px;
--sans:"Noto Sans Arabic","Noto Naskh Arabic",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--serif:"Noto Naskh Arabic","Songti SC",Georgia,"Times New Roman",serif;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
margin:0;
background:var(--stone);
color:var(--ink);
font-family:var(--sans);
font-size:17px;
line-height:1.75;
font-weight:400;
-webkit-font-smoothing:antialiased;
}

img{max-width:100%}

a{color:inherit}

.frame{display:block}

.col{margin-left:var(--rail);min-width:0}

/* ---------- 侧栏 ---------- */
.rail{
position:fixed;
top:0;bottom:0;left:0;
width:var(--rail);
display:flex;
flex-direction:column;
align-items:center;
gap:16px;
padding:18px 0 32px;
background:rgba(255,255,255,.88);
-webkit-backdrop-filter:blur(16px);
backdrop-filter:blur(16px);
border-right:1px solid var(--line);
overflow-y:auto;
overflow-x:hidden;
z-index:60;
}

.rail-mark{
display:flex;
align-items:center;
justify-content:center;
width:46px;
height:46px;
flex:0 0 auto;
border-radius:var(--r);
background:var(--ink);
color:var(--paper);
text-decoration:none;
font-family:var(--serif);
font-size:15px;
letter-spacing:.06em;
}

.rail-nav{width:100%}

.rail-set{
list-style:none;
margin:0 auto;
padding:0;
width:66px;
display:flex;
flex-direction:column;
gap:4px;
}

.rail-set+.rail-set{
margin-top:14px;
padding-top:14px;
border-top:1px solid var(--line);
}

.rail-set a{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
width:66px;
min-height:46px;
padding:8px 2px;
font-size:16px;
line-height:1.35;
color:var(--ink);
text-decoration:none;
border-radius:var(--r);
transition:background .22s ease,color .22s ease;
}

.rail-set a:hover,
.rail-set a:focus-visible{
background:var(--ink);
color:var(--paper);
}

/* ---------- 顶条 ---------- */
.topbar{
position:sticky;
top:0;
z-index:30;
display:flex;
align-items:center;
gap:12px;
justify-content:space-between;
padding:10px clamp(16px,3vw,32px);
background:rgba(245,245,245,.85);
-webkit-backdrop-filter:blur(10px);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line);
}

.ticker{
margin:0;
font-size:16px;
letter-spacing:.16em;
color:var(--ink-soft);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.menu-btn{
display:none;
align-items:center;
justify-content:center;
min-height:44px;
padding:0 16px;
font-family:inherit;
font-size:16px;
color:var(--ink);
background:var(--paper);
border:1px solid var(--line);
border-radius:var(--r);
cursor:pointer;
}

/* ---------- 头图 ---------- */
.hero{
position:relative;
display:flex;
align-items:flex-end;
justify-content:flex-end;
min-height:70vh;
padding:56px clamp(20px,5vw,64px) 68px;
overflow:hidden;
border-bottom-left-radius:76px;
border-bottom-right-radius:76px;
background:linear-gradient(155deg,var(--stone) 0%,var(--paper) 58%,var(--stone) 100%);
}

.hero-media{position:absolute;inset:0;overflow:hidden}

.hero-img{
position:absolute;
left:0;
top:-8%;
width:100%;
height:118%;
object-fit:cover;
will-change:transform;
}

.hero::after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:linear-gradient(198deg,rgba(255,255,255,0) 34%,rgba(255,255,255,.86) 100%);
}

.hero-copy{
position:relative;
z-index:2;
max-width:30ch;
text-align:right;
}

.hero-copy h1{
margin:0;
font-family:var(--serif);
font-weight:600;
font-size:clamp(1.9rem,5vw,3.4rem);
line-height:1.2;
letter-spacing:-.005em;
text-shadow:0 1px 0 rgba(255,255,255,.6);
}

/* ---------- 主体网格 ---------- */
.wrap{
display:grid;
grid-template-columns:minmax(0,1fr) 286px;
gap:18px;
align-items:start;
max-width:1180px;
margin:0 auto;
padding:26px clamp(16px,3vw,32px) 64px;
}

.pane{
background:var(--glass);
-webkit-backdrop-filter:blur(12px);
backdrop-filter:blur(12px);
border:1px solid var(--line);
border-radius:var(--r);
box-shadow:var(--shadow);
padding:26px clamp(16px,3.2vw,42px) 40px;
transition:transform .35s ease,box-shadow .35s ease;
}

.pane:hover{transform:translateY(-2px);box-shadow:var(--shadow-up)}

.pane h2{
margin:0 0 8px;
font-family:var(--serif);
font-weight:600;
font-size:clamp(1.35rem,2.5vw,1.8rem);
line-height:1.3;
}

.subtitle{
margin:0 0 24px;
padding-bottom:16px;
border-bottom:1px solid var(--line);
color:var(--ink-soft);
font-size:16px;
line-height:1.65;
}

/* ---------- 正文 ---------- */
.prose{font-size:17px;line-height:1.8}

.prose div{
padding:24px 0;
border-top:1px solid var(--line);
scroll-margin-top:86px;
}

.prose div:first-child{border-top:0;padding-top:0}

.prose h2{
font-family:var(--serif);
font-weight:600;
font-size:clamp(1.3rem,2.3vw,1.7rem);
line-height:1.35;
margin:0 0 10px;
}

.prose h3{
font-size:1.1rem;
margin:22px 0 8px;
line-height:1.4;
}

.prose p{margin:0 0 14px}

.prose ul,.prose ol{margin:0 0 16px;padding-left:1.3em}

.prose li{margin:6px 0}

.prose a{
color:var(--ink);
text-decoration:underline;
text-underline-offset:3px;
text-decoration-color:rgba(31,31,31,.35);
}

.prose a:hover{text-decoration-color:var(--ink)}

.prose strong{font-weight:700}

.prose blockquote{
margin:18px 0;
padding:12px 18px;
background:rgba(31,31,31,.045);
border-left:2px solid var(--ink);
border-radius:var(--r);
color:var(--ink-soft);
}

.prose img{
display:block;
width:auto;
height:auto;
margin:16px 0;
border-radius:var(--r);
}

.prose table{
display:block;
width:100%;
overflow-x:auto;
border-collapse:collapse;
margin:18px 0;
font-size:16px;
}

.prose th,.prose td{
border:1px solid var(--line);
padding:8px 12px;
text-align:left;
}

.prose th{background:rgba(31,31,31,.05);font-weight:600}

.prose code,.prose pre{
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
font-size:.9em;
}

.prose code{background:rgba(31,31,31,.06);padding:2px 6px;border-radius:3px}

.prose pre{
overflow-x:auto;
padding:14px 16px;
background:rgba(31,31,31,.06);
border-radius:var(--r);
}

/* ---------- 右侧相关 ---------- */
.side{
position:sticky;
top:84px;
background:var(--glass);
-webkit-backdrop-filter:blur(12px);
backdrop-filter:blur(12px);
border:1px solid var(--line);
border-radius:var(--r);
box-shadow:var(--shadow);
padding:18px 16px 14px;
}

.side h2{
margin:0 0 12px;
font-size:16px;
font-weight:600;
letter-spacing:.12em;
color:var(--ink);
}

.side ul{list-style:none;margin:0;padding:0}

.side a{
display:flex;
align-items:center;
min-height:44px;
padding:6px 10px;
font-size:16px;
line-height:1.4;
color:var(--ink-soft);
text-decoration:none;
border-radius:var(--r);
transition:background .2s ease,color .2s ease;
}

.side a:hover{background:rgba(31,31,31,.07);color:var(--ink)}

/* ---------- 页脚 ---------- */
.foot{
display:grid;
grid-template-columns:1.3fr 1fr 1fr;
gap:26px;
padding:44px clamp(18px,4vw,56px) 14px;
background:var(--paper);
border-top:1px solid var(--line);
}

.foot h3{
margin:0 0 12px;
font-size:16px;
font-weight:600;
letter-spacing:.1em;
color:var(--ink);
}

.f-name{
display:inline-block;
padding:6px 0;
font-family:var(--serif);
font-size:18px;
font-weight:600;
letter-spacing:.02em;
text-decoration:none;
color:var(--ink);
}

.f-desc{
margin:8px 0 0;
max-width:34ch;
font-size:16px;
line-height:1.7;
color:var(--ink-soft);
}

.sub-form{display:flex;gap:8px;flex-wrap:wrap}

.sub-form input{
flex:1 1 140px;
min-width:0;
min-height:44px;
padding:0 12px;
font-family:inherit;
font-size:16px;
color:var(--ink);
background:var(--paper);
border:1px solid var(--line);
border-radius:var(--r);
}

.sub-form input:focus-visible{
outline:2px solid var(--ink);
outline-offset:1px;
}

.sub-form button{
min-height:44px;
padding:0 20px;
font-family:inherit;
font-size:16px;
color:var(--paper);
background:var(--ink);
border:0;
border-radius:var(--r);
cursor:pointer;
transition:opacity .2s ease;
}

.sub-form button:hover{opacity:.85}

.f-link ul{
list-style:none;
margin:0;
padding:0;
display:grid;
grid-template-columns:1fr 1fr;
gap:0 12px;
}

.f-link a{
display:flex;
align-items:center;
min-height:44px;
padding:4px 0;
font-size:16px;
line-height:1.4;
color:var(--ink-soft);
text-decoration:none;
}

.f-link a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

.f-bottom{
grid-column:1/-1;
border-top:1px solid var(--line);
margin-top:10px;
padding:14px 0 4px;
text-align:center;
}

.f-bottom p{
margin:0;
font-size:16px;
color:var(--ink-soft);
}

/* ---------- 动效收敛 ---------- */
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
.hero-img{transform:none!important}
.pane:hover{transform:none}
}

/* ---------- 移动端 ---------- */
@media (max-width:960px){
.wrap{grid-template-columns:minmax(0,1fr)}
.side{position:static;order:2}
}

@media (max-width:860px){
.col{margin-left:0}

.rail{
width:min(78vw,300px);
align-items:flex-start;
padding:16px 14px 32px;
transform:translateX(-103%);
transition:transform .28s ease;
box-shadow:0 20px 40px rgba(31,31,31,.18);
}

.rail.open{transform:none}

.rail-mark{margin-left:2px}

.rail-nav{width:100%;margin-top:4px}

.rail-set{width:100%}

.rail-set+.rail-set{width:100%}

.rail-set a{
width:100%;
justify-content:flex-start;
text-align:left;
padding:10px 12px;
font-size:16px;
}

.menu-btn{display:inline-flex}

.ticker{font-size:16px;letter-spacing:.1em}

.hero{
min-height:62vh;
padding:36px 20px 48px;
border-bottom-left-radius:46px;
border-bottom-right-radius:46px;
}

.hero-copy{max-width:none}

.prose div{scroll-margin-top:70px}

.foot{grid-template-columns:1fr;gap:24px;padding:34px 18px 12px}
}

button[aria-expanded]{min-width:44px;min-height:44px}
