/* ====== 145 监理工程师备考 · 工程蓝图（白图纸 + 制图蓝） ====== */
.tsk.spe{
  --tsk-bg:#eef3f9;
  --tsk-card:#ffffff;
  --tsk-card-2:#f4f8fc;
  --tsk-ink:#16304f;
  --tsk-sub:#4a6484;
  --tsk-faint:#8aa0ba;
  --tsk-line:#c9d8e8;
  --tsk-line-2:#e0eaf4;
  --tsk-brand:#1d5fb0;
  --tsk-brand-2:#0d3a75;
  --tsk-brand-soft:#e2edf9;
  --tsk-brand-ink:#0d3a75;
  --tsk-dim:#3f8fd4;
  --tsk-ok:#1f7a4d;
  --tsk-ok-soft:#e2f4ea;
  --tsk-bad:#c23b3b;
  --tsk-bad-soft:#fbeaea;
  --tsk-warn:#b07a10;
  --tsk-warn-soft:#faf0d8;
  background:
    linear-gradient(rgba(29,95,176,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,95,176,.05) 1px, transparent 1px),
    var(--tsk-bg);
  background-size:26px 26px, 26px 26px, auto;
}
:root[data-theme="dark"] .tsk.spe{
  --tsk-bg:#0c1c33;
  --tsk-card:#122641;
  --tsk-card-2:#17304f;
  --tsk-ink:#dce9f8;
  --tsk-sub:#9fb6d1;
  --tsk-faint:#6c84a3;
  --tsk-line:#274668;
  --tsk-line-2:#1d3a5c;
  --tsk-brand:#6db3ef;
  --tsk-brand-2:#9ccbf5;
  --tsk-brand-soft:rgba(109,179,239,.14);
  --tsk-brand-ink:#9ccbf5;
  --tsk-dim:#4f8cc4;
  --tsk-ok:#5ecf96;
  --tsk-ok-soft:rgba(94,207,150,.14);
  --tsk-bad:#ff9d9d;
  --tsk-bad-soft:rgba(255,157,157,.13);
  --tsk-warn:#ffd47e;
  --tsk-warn-soft:rgba(255,212,126,.13);
  background:
    linear-gradient(rgba(156,203,245,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(156,203,245,.07) 1px, transparent 1px),
    var(--tsk-bg);
  background-size:26px 26px, 26px 26px, auto;
}
.spe-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.spe-hero-l{display:flex;flex-direction:column;}
.spe-hero-l>.tsk-hs{flex:1 1 auto;}
.spe-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);}

/* 图纸签栏表单卡 */
.spe-sheet{align-self:start;background:var(--tsk-card);border:1.5px solid var(--tsk-brand);border-radius:4px;box-shadow:var(--tsk-shadow);position:relative;}
.spe-sheet::after{content:"";position:absolute;inset:5px;border:1px solid var(--tsk-line);border-radius:2px;pointer-events:none;}
.spe-sheet-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1.5px solid var(--tsk-brand);}
.spe-sheet-hd span{font-size:13px;font-weight:800;color:var(--tsk-brand-ink);letter-spacing:.06em;}
.spe-sheet-hd i{font-style:normal;font:700 10px/1 var(--tsk-num);letter-spacing:.16em;color:var(--tsk-faint);}
.spe-sheet-body{padding:14px 18px 16px;position:relative;z-index:1;}
.spe-field{margin-top:11px;}
.spe-field label{display:block;margin-bottom:5px;font:700 11px/1.5 var(--tsk-num);letter-spacing:.1em;color:var(--tsk-sub);text-transform:uppercase;}
.spe-field label::before{content:"▸ ";color:var(--tsk-dim);}
.spe-field select,.spe-field input{width:100%;height:37px;padding:0 10px;border:1px solid var(--tsk-line);border-radius:3px;background:var(--tsk-card-2);color:var(--tsk-ink);font:600 13.5px/37px var(--tsk-num);outline:none;transition:border-color .16s,box-shadow .16s;}
.spe-field select:focus,.spe-field input:focus{border-color:var(--tsk-brand);box-shadow:0 0 0 3px var(--tsk-brand-soft);}
.spe-field.bad select,.spe-field.bad input{border-color:var(--tsk-bad);}
.spe-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.spe-row2 .spe-field{margin-top:11px;}
.spe-sheet .tsk-btn-main{width:100%;margin-top:15px;background:var(--tsk-brand);color:#fff;border-radius:3px;letter-spacing:.04em;}
:root[data-theme="dark"] .spe-sheet .tsk-btn-main{color:#0c1c33;}
.spe-sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px;padding-top:10px;border-top:1px dashed var(--tsk-line);}
.spe-sign span{font:700 9.5px/1.6 var(--tsk-num);letter-spacing:.08em;color:var(--tsk-faint);border-bottom:1px solid var(--tsk-line);padding-bottom:2px;}
.spe-sign i{font-style:normal;color:var(--tsk-dim);}

/* 结果 */
.spe-result{margin:4px 0 26px;background:var(--tsk-card);border:1.5px solid var(--tsk-brand);border-radius:6px;box-shadow:var(--tsk-shadow);padding:22px 24px;}
.spe-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:11px;}
.spe-res-card{background:var(--tsk-card-2);border:1px dashed var(--tsk-line);border-radius:4px;padding:15px 17px;}
.spe-res-card b{display:block;font:800 24px/1.2 var(--tsk-num);color:var(--tsk-ink);font-variant-numeric:tabular-nums;}
.spe-res-card span{display:block;margin-top:5px;font-size:11.5px;font-weight:700;color:var(--tsk-faint);}
.spe-res-card i{display:block;margin-top:3px;font-style:normal;font-size:10.5px;color:var(--tsk-sub);}
.spe-res-card.spe-main{background:var(--tsk-brand-soft);border-color:var(--tsk-brand);}
.spe-res-card.spe-main b{color:var(--tsk-brand-ink);}
.spe-alert{margin-top:13px;padding:12px 14px;border-left:3px solid var(--tsk-brand);border-radius:0 6px 6px 0;background:var(--tsk-card-2);font-size:12px;line-height:1.85;color:var(--tsk-sub);}
.spe-alert b{color:var(--tsk-brand-ink);}
.spe-alert.is-ok{border-left-color:var(--tsk-ok);}
.spe-alert.is-ok b{color:var(--tsk-ok);}
.spe-alert.is-warn{border-left-color:var(--tsk-warn);}
.spe-alert.is-warn b{color:var(--tsk-warn);}
.spe-alert.is-bad{border-left-color:var(--tsk-bad);}
.spe-alert.is-bad b{color:var(--tsk-bad);}
.spe-plan{margin-top:14px;}
.spe-plan .spe-table{margin-bottom:12px;}
.spe-copy{background:var(--tsk-card-2);border:1px solid var(--tsk-line);color:var(--tsk-brand-ink);font-weight:700;}

.spe-scroll{overflow-x:auto;border-radius:6px;box-shadow:var(--tsk-shadow-sm);}
.spe-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--tsk-card);}
.spe-table.is-wide{border:1px solid var(--tsk-line);}
.spe-table th,.spe-table td{padding:10px 14px;font-size:12.5px;line-height:1.7;border-bottom:1px solid var(--tsk-line-2);text-align:left;}
.spe-table thead th{background:var(--tsk-brand-soft);font:800 11px/1.7 var(--tsk-num);color:var(--tsk-brand-ink);letter-spacing:.06em;}
.spe-table tbody tr:last-child td{border-bottom:0;}
.spe-table tbody tr:hover td{background:var(--tsk-card-2);}
.spe-strong{font-weight:800;color:var(--tsk-ink);}
.spe-tag{display:inline-block;padding:2px 9px;border-radius:3px;background:var(--tsk-brand-soft);color:var(--tsk-brand-ink);font:800 11.5px/1.7 var(--tsk-num);}

@media (max-width:900px){
  .spe-hero{grid-template-columns:1fr;gap:22px;}
  .spe-sheet{align-self:stretch;}
  .spe-row2{grid-template-columns:1fr 1fr;}
}
