/* 09 失眠自测 · 暮紫 + 量表轨道；左侧进度环、右侧七题按钮组、分级条 */
.isi { --a:#63519a; --a2:#463873; --asoft:#eeeaf8; }
:root[data-theme="dark"] .isi { --a:#b6a3ee; --a2:#cec0f7; --asoft:#292142; }
.isi-hero-grid { display:grid; grid-template-columns:.72fr 1.28fr; }
.isi-intro { position:sticky; top:0; align-self:start; background:linear-gradient(180deg,var(--card),var(--card2)); }
.isi-intro .h17-note { margin-top:18px; }
.isi-ring { width:150px; height:150px; margin:26px auto 0; border-radius:50%; display:grid; place-items:center;
    background:conic-gradient(var(--a) 0deg,var(--card3) 0deg); transition:background .3s; }
.isi-ring > div { width:114px; height:114px; border-radius:50%; background:var(--card); display:grid; place-content:center; text-align:center; }
.isi-ring b { font-family:var(--fm); font-size:34px; line-height:1.1; color:var(--a2); }
.isi-ring small { font-family:var(--fm); font-size:11px; color:var(--muted); }
.isi-rail { padding:28px 30px; border-left:1px solid var(--line); background:var(--card); }
.isi-rail-hd { display:flex; align-items:baseline; justify-content:space-between; border-bottom:2px solid var(--a2); padding-bottom:10px; margin-bottom:8px; position:sticky; top:0; background:var(--card); z-index:2; }
.isi-rail-hd b { font-family:var(--fd); font-size:19px; }
.isi-rail-hd span { font-family:var(--fm); font-size:11px; color:var(--a); }
.isi-q { padding:15px 0 14px; border-bottom:1px dashed var(--line); }
.isi-q-hd { display:flex; gap:11px; align-items:flex-start; margin-bottom:10px; }
.isi-q-hd i { font-family:var(--fm); font-style:normal; font-size:11px; font-weight:800; color:var(--a); background:var(--asoft); border-radius:7px; padding:3px 8px; }
.isi-q-hd b { display:block; font-size:14px; }
.isi-q-hd small { display:block; font-size:11.5px; color:var(--muted); line-height:1.6; }
.isi-opts { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.isi-opts button { font-family:var(--fb); font-size:12px; padding:8px 3px; border-radius:8px; border:1px solid var(--line2); background:var(--card2); color:var(--ink2); cursor:pointer; }
.isi-opts button:hover { border-color:var(--a); color:var(--a); }
.isi-opts button.is-on { background:var(--a); border-color:var(--a); color:#fff; font-weight:700; }

.isi-grade { border-radius:16px; padding:22px 26px; background:var(--card); border:1px solid var(--line); border-left:6px solid var(--a); }
.isi-grade span { font-family:var(--fm); font-size:10.5px; letter-spacing:.12em; color:var(--muted); }
.isi-grade b { display:block; font-family:var(--fd); font-size:25px; margin:6px 0; }
.isi-grade p { font-size:13.5px; line-height:1.9; color:var(--ink2); margin:0; }
.isi-bars { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.isi-bar { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:15px 18px; }
.isi-bar > div:first-child { display:flex; justify-content:space-between; font-size:13px; font-weight:700; }
.isi-bar > div:first-child span { font-family:var(--fm); color:var(--a); }
.isi-track { height:8px; border-radius:999px; background:var(--card3); margin-top:9px; overflow:hidden; }
.isi-track i { display:block; height:100%; border-radius:999px; background:var(--a); transition:width .3s; }
.isi-bar p { font-size:12px; color:var(--muted); line-height:1.7; margin:8px 0 0; }
.isi-summary-card { margin-top:14px; }
.isi-summary-card h3 { font-size:18px; margin-bottom:10px; }
.isi-summary { background:var(--card2); border-left:3px solid var(--a); border-radius:0 10px 10px 0; padding:12px 16px; font-size:14px; line-height:2; color:var(--ink2); }
.isi .h17-bench-in { border-top:4px solid var(--a); }
@media (max-width:900px){
    .isi-hero-grid,.isi-bars { grid-template-columns:1fr; }
    .isi-intro { position:static; }
    .isi-rail { border-left:0; border-top:1px solid var(--line); padding:24px 18px; }
    .isi-rail-hd { position:static; }
    .isi-opts { grid-template-columns:repeat(3,1fr); }
}
