:root{--hb-teal:#0A5A54;--hb-teal-2:#0C7C6E;--accent:#0D9488;--accent-dim:#E3F5F1;--ink:#17211F;--ink-soft:#566A66;--line:#DEE7E4;--radius:16px;}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#E4F3EF;color:var(--ink);line-height:1.55}
header{position:sticky;top:0;z-index:5;background:var(--hb-teal);color:#fff;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
header .logo{width:46px;height:46px;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center}
.logo .hb-logo{width:46px;height:46px;display:block}
.rev{margin-left:auto;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.14);padding:4px 9px;border-radius:6px;margin-right:10px;white-space:nowrap}
header h1{font-size:15px;margin:0;font-weight:700;letter-spacing:.02em}
header .sub{font-size:11.5px;opacity:.8;margin-top:1px}
header a.back{color:#fff;text-decoration:none;font-size:12.5px;background:rgba(255,255,255,.14);padding:7px 12px;border-radius:8px;font-weight:600}
.wrap{max-width:900px;margin:0 auto;padding:16px}
.toolbar{position:sticky;top:54px;z-index:3;background:#E4F3EF;padding:12px 0 8px}
.search{width:100%;border:1px solid var(--line);border-radius:999px;padding:12px 17px;font-size:16px;outline:none;background:#fff;box-shadow:0 1px 3px rgba(10,90,84,.05)}
.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.count{font-size:12px;color:var(--ink-soft);margin:6px 2px 0}
.task{background:#fff;border:1px solid #EAF1EF;border-radius:var(--radius);margin:12px 0;overflow:hidden;scroll-margin-top:150px}
.task>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.task>summary::-webkit-details-marker{display:none}
.task .num{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;font-weight:700;color:var(--accent);background:var(--accent-dim);padding:3px 8px;border-radius:6px;white-space:nowrap;margin-top:1px}
.task .ttl{font-size:14px;font-weight:600;color:var(--hb-teal)}
.task[open]>summary{border-bottom:1px solid var(--line);background:#FAFDFC}
.body{padding:6px 18px 18px}
.body h4.sec{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--hb-teal-2);margin:16px 0 6px;border-bottom:1px solid var(--line);padding-bottom:3px;font-weight:700}
.body p{margin:4px 0;font-size:13.5px}
.body .subtask{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink-soft);margin:10px 0 4px;font-weight:600}
.body .lvl1{font-weight:600;margin:8px 0 2px;font-size:13.5px}
.body .lvl2{margin:3px 0 3px 16px;font-size:13.5px}
.body .lvl3{margin:2px 0 2px 34px;font-size:13px;color:#333}
.body .warn{background:#fff3f3;border-left:3px solid #d9534f;padding:8px 10px;margin:8px 0;font-size:12.5px;border-radius:4px;font-weight:600;color:#8a2a2a}
.body .caution{background:#fff8ec;border-left:3px solid #e0a020;padding:8px 10px;margin:8px 0;font-size:12.5px;border-radius:4px;font-weight:600;color:#8a6410}
.body .note{background:var(--accent-dim);border-left:3px solid var(--accent);padding:8px 10px;margin:8px 0;font-size:12.5px;border-radius:4px}
footer{text-align:center;color:var(--ink-soft);font-size:11.5px;padding:24px 16px}
.empty{display:none;text-align:center;color:var(--ink-soft);padding:30px;font-size:13.5px}
/*HB_OFFICIAL_HEADER*/
.doc-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0A5A54;color:#fff;padding:0 22px;min-height:54px;position:sticky;top:0;z-index:6;box-shadow:0 2px 10px rgba(0,0,0,.12);padding-top:env(safe-area-inset-top)}
.hb-brand{display:flex;align-items:center;gap:15px;min-width:0}
.hb-name{font-weight:800;font-size:19px;letter-spacing:.07em}
.hb-div{width:1px;height:26px;background:rgba(255,255,255,.4);flex:0 0 auto}
.hb-right{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;text-decoration:none;color:#fff;white-space:nowrap}
.hb-hub{font-weight:700;font-size:13.5px}
.hb-rev{font-size:11px;opacity:.72}
@media(max-width:560px){.hb-name{font-size:17px}.hb-rev{font-size:10px}}
/* iOS leaves :hover applied after a tap, so a row stays highlighted as if selected.
   Gate it on a real pointer (7.10). */
@media(hover:hover){
a.hb-right:hover .hb-hub{text-decoration:underline}}
