/* ====== 洗头频率与头皮护理 · 薰衣草紫 + 周历网格 ====== */
.tsk.hwf{
  --tsk-bg:#f4f1fc;
  --tsk-card:#ffffff;
  --tsk-card-2:#ede8fb;
  --tsk-ink:#2b2145;
  --tsk-sub:#645a85;
  --tsk-faint:#958cb5;
  --tsk-line:#ddd4f2;
  --tsk-line-2:#e8e1f8;
  --tsk-brand:#7048e8;
  --tsk-brand-2:#9775fa;
  --tsk-brand-soft:#e5dbff;
  --tsk-brand-ink:#6741d9;
  --tsk-warn:#e03131;
  --tsk-warn-soft:#fdecec;
  --tsk-ok:#2f9e44;
  background:
    radial-gradient(760px 340px at 100% -12%, rgba(112,72,232,.10), transparent 62%),
    radial-gradient(520px 240px at -6% 10%, rgba(151,117,250,.11), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='126' height='126' viewBox='0 0 126 126'%3E%3Cg fill='none' stroke='rgba(112,72,232,0.07)' stroke-width='2'%3E%3Ccircle cx='32' cy='32' r='14'/%3E%3Ccircle cx='32' cy='32' r='6'/%3E%3Ccircle cx='92' cy='88' r='14'/%3E%3Ccircle cx='92' cy='88' r='6'/%3E%3Cpath d='M70 20c8 6 8 14 0 20'/%3E%3Cpath d='M20 92c6 8 14 8 20 0'/%3E%3C/g%3E%3C/svg%3E"),
    var(--tsk-bg);
}
:root[data-theme="dark"] .tsk.hwf{
  --tsk-bg:#16121f;
  --tsk-card:#1e1830;
  --tsk-card-2:#262040;
  --tsk-ink:#ece7fa;
  --tsk-sub:#b3a8d6;
  --tsk-faint:#7f74a3;
  --tsk-line:#342a52;
  --tsk-line-2:#2b2245;
  --tsk-brand:#9775fa;
  --tsk-brand-2:#b197fc;
  --tsk-brand-soft:rgba(151,117,250,.15);
  --tsk-brand-ink:#d0bfff;
  --tsk-warn:#ff8787;
  --tsk-warn-soft:rgba(255,135,135,.12);
  --tsk-ok:#51cf66;
}
.hwf-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.hwf-hero-l{display:flex;flex-direction:column;}
.hwf-hero-l>.tsk-hs{flex:1 1 auto;}
.hwf-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);}

/* 洗头周历（hero 装饰版） */
.hwf-week{display:flex;align-items:flex-end;gap:10px;margin:14px 0 16px;flex-wrap:wrap;}
.hwf-day{display:flex;flex-direction:column;align-items:center;gap:6px;}
.hwf-day i{width:22px;height:22px;border-radius:50%;background:var(--tsk-card-2);border:1.5px solid var(--tsk-line);}
.hwf-day.on i{background:var(--tsk-brand);border-color:var(--tsk-brand);box-shadow:0 2px 8px rgba(112,72,232,.35);}
.hwf-day b{font:700 10.5px/1 var(--tsk-num);color:var(--tsk-faint);}
.hwf-day.on b{color:var(--tsk-brand-ink);}

/* 自查表卡 */
.hwf-form{align-self:start;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:14px;box-shadow:var(--tsk-shadow);overflow:hidden;position:relative;}
.hwf-form::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:repeating-linear-gradient(180deg,var(--tsk-brand) 0 10px,var(--tsk-brand-2) 10px 20px);}
.hwf-form-hd{display:flex;justify-content:space-between;align-items:center;padding:15px 20px 12px 22px;border-bottom:1px dashed var(--tsk-line);}
.hwf-form-hd span{font-size:12.5px;font-weight:800;color:var(--tsk-ink);letter-spacing:.04em;}
.hwf-form-hd i{font-style:normal;font:700 10px/1 var(--tsk-num);letter-spacing:.18em;color:var(--tsk-faint);}
.hwf-form-body{padding:8px 20px 18px 22px;}
.hwf-q{margin-top:11px;}
.hwf-qlabel{display:block;margin-bottom:6px;font-size:11.5px;font-weight:800;color:var(--tsk-sub);}
.hwf-qlabel em{font-style:normal;color:var(--tsk-brand);}
.hwf-seg button{font-size:12px;padding:8px 13px;}
.hwf-form .tsk-btn-main{width:100%;margin-top:16px;background:linear-gradient(135deg,var(--tsk-brand),var(--tsk-brand-2));color:#fff;}
.hwf-err{display:none;margin-top:9px;font-size:12px;font-weight:700;color:var(--tsk-warn);}
.hwf-err.show{display:block;}
.hwf-form-foot{margin-top:10px;font-size:10.5px;line-height:1.7;color:var(--tsk-faint);}

/* 结果 */
.hwf-result{margin:4px 0 26px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:16px;box-shadow:var(--tsk-shadow);padding:22px 24px;}
.hwf-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:11px;}
.hwf-res-card{background:var(--tsk-card-2);border:1px solid var(--tsk-line-2);border-radius:11px;padding:15px 17px;}
.hwf-res-card b{display:block;font:800 18px/1.4 var(--tsk-font);color:var(--tsk-ink);}
.hwf-res-card span{display:block;margin-top:5px;font-size:11.5px;font-weight:700;color:var(--tsk-faint);}
.hwf-res-card i{display:block;margin-top:3px;font-style:normal;font-size:10.5px;color:var(--tsk-sub);}
.hwf-res-card.hwf-main{background:var(--tsk-brand-soft);border-color:rgba(112,72,232,.26);}
.hwf-res-card.hwf-main b{color:var(--tsk-brand-ink);}
.hwf-weekbox{margin-top:14px;padding:14px 16px;border-radius:11px;background:var(--tsk-card-2);border:1px solid var(--tsk-line-2);}
.hwf-weekbox>p{margin:0 0 4px;font-size:11.5px;font-weight:800;color:var(--tsk-faint);}
.hwf-alert{margin-top:13px;padding:12px 14px;border-radius:9px;background:var(--tsk-brand-soft);border:1px solid rgba(112,72,232,.2);font-size:12px;line-height:1.8;color:var(--tsk-sub);}
.hwf-alert b{color:var(--tsk-brand-ink);}
.hwf-alert.is-warn{background:var(--tsk-warn-soft);border-color:rgba(224,49,49,.26);}
.hwf-alert.is-warn b{color:var(--tsk-warn);}
.hwf-plan{margin-top:14px;overflow-x:auto;border-radius:11px;border:1px solid var(--tsk-line);}
.hwf-acts{display:flex;align-items:center;gap:12px;margin-top:14px;}
.hwf-copymsg{font-size:12px;font-weight:700;color:var(--tsk-brand-ink);}

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

.hwf-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(278px,1fr));gap:8px;}
.hwf-list li{position:relative;padding:12px 15px 12px 34px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:9px;font-size:12.5px;line-height:1.78;color:var(--tsk-sub);}
.hwf-list li::before{content:"✕";position:absolute;left:13px;top:11px;color:var(--tsk-warn);font-weight:800;}

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