:root{--hfl-page:#ece5d3;--hfl-card:#f8f0d9;--hfl-paper:#fbf7ec;--hfl-white:#fffdf6;--hfl-ink:#24201a;--hfl-soft:#5a5144;--hfl-rule:#a9bccf;--hfl-red:#b43c33;--hfl-leather:#5b3620;--hfl-leather-2:#432614;--hfl-gilt:#d2b26a;--hfl-green:#1e3a2f;--hfl-green-2:#2c4f40;--hfl-stamp:#4e4a93;--hfl-link:#2b4c7e;--hfl-edge:#cdbf9c;--hfl-serif:"Gowun Batang","Noto Serif KR","Noto Serif CJK KR","Nanum Myeongjo",serif;--hfl-sans:"IBM Plex Sans KR","Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--hfl-w:1260px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--hfl-page);color:var(--hfl-ink);font:400 17px/1.8 var(--hfl-sans);word-break:keep-all;overflow-wrap:break-word}
a{color:var(--hfl-link)}
img{max-width:100%;height:auto}
.hfl-wrap{width:min(var(--hfl-w),100% - 48px);margin-inline:auto}
:focus-visible{outline:3px solid var(--hfl-stamp);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.hfl-skip{position:absolute;left:-999px;top:8px;background:var(--hfl-white);color:var(--hfl-ink);padding:8px 14px;z-index:10}
.hfl-skip:focus{left:12px}

.hfl-top{background:var(--hfl-leather);color:#f5ecd6;border-bottom:4px solid var(--hfl-leather-2)}
.hfl-top__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;position:relative}
.hfl-top__in::before{content:"";position:absolute;inset:9px -16px;border:1px solid rgba(210,178,106,.6);box-shadow:inset 0 0 0 3px var(--hfl-leather),inset 0 0 0 4px rgba(210,178,106,.35);pointer-events:none}
.hfl-brand{display:flex;align-items:center;gap:14px;color:var(--hfl-gilt);text-decoration:none;position:relative}
.hfl-mark{--hfl-mark-hole:var(--hfl-leather);flex:none}
.hfl-brand__text{display:flex;flex-direction:column;line-height:1.2}
.hfl-brand__name{font:700 32px/1.1 var(--hfl-serif);letter-spacing:.02em}
.hfl-brand__line{font-size:14px;color:#e8dcc0;margin-top:5px}
.hfl-find{display:flex;position:relative;flex:0 1 380px}
.hfl-find input{flex:1;min-width:0;border:1px solid rgba(210,178,106,.65);background:#4a2b18;color:#f5ecd6;padding:10px 14px;font:inherit;font-size:15px;line-height:1.4;border-radius:3px 0 0 3px}
.hfl-find input::placeholder{color:#cdbd98}
.hfl-find button{border:0;background:var(--hfl-gilt);color:var(--hfl-leather-2);font:600 15px var(--hfl-sans);padding:0 18px;border-radius:0 3px 3px 0;cursor:pointer}
.hfl-find button:hover{background:#e0c587}

.hfl-shelves{background:#dfd4bb;border-bottom:8px solid #c9b996;box-shadow:inset 0 -1px 0 #b5a27a;padding-top:14px}
.hfl-shelves__in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.hfl-spine{display:flex;align-items:center;gap:12px;background:var(--shelf);color:#f8efda;text-decoration:none;padding:14px 16px;min-height:66px;border-radius:4px 4px 0 0;position:relative;transition:transform .15s ease}
.hfl-spine:nth-child(2){min-height:72px}.hfl-spine:nth-child(3){min-height:62px}.hfl-spine:nth-child(4){min-height:69px}
.hfl-spine::before,.hfl-spine::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:rgba(210,178,106,.8)}
.hfl-spine::before{top:6px}.hfl-spine::after{bottom:6px}
.hfl-spine__code{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(248,239,218,.65);border-radius:50%;font:700 19px/1 var(--hfl-serif)}
.hfl-spine__name{flex:1;font:700 17px/1.3 var(--hfl-serif)}
.hfl-spine__count{font-size:13px;white-space:nowrap;color:#efe3c6}
.hfl-spine:hover{transform:translateY(-3px)}
.hfl-spine.is-current{transform:translateY(-7px)}

.hfl-main{padding:28px 0 60px}
.hfl-crumb ol{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--hfl-soft)}
.hfl-crumb li+li::before{content:"›";margin-right:6px;color:#9a8c72}
.hfl-crumb a{color:var(--hfl-soft)}

.hfl-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px;align-items:stretch}
.hfl-hero__intro{background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-left:10px solid var(--hfl-leather);border-radius:3px;padding:36px 40px}
.hfl-hero__title{font:700 34px/1.4 var(--hfl-serif);margin:0 0 14px;letter-spacing:-.01em}
.hfl-hero__lead{margin:0 0 24px;color:var(--hfl-soft)}
.hfl-hero__shelves{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hfl-hero__shelves a{display:flex;gap:12px;align-items:flex-start;height:100%;text-decoration:none;color:var(--hfl-ink);padding:12px 14px;background:var(--hfl-white);border:1px solid var(--hfl-edge);border-top:3px solid var(--shelf);border-radius:2px}
.hfl-hero__shelves a:hover strong{color:var(--hfl-link);text-decoration:underline;text-underline-offset:3px}
.hfl-hero__code{flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--shelf);color:#fff;font:700 17px/1 var(--hfl-serif);border-radius:2px}
.hfl-hero__shelves strong{display:block;font:700 16px/1.4 var(--hfl-serif)}
.hfl-hero__shelves em{display:block;font-style:normal;font-size:14px;line-height:1.55;color:var(--hfl-soft)}
.hfl-hero__card{display:flex;flex-direction:column}
.hfl-hero__label{font:700 16px/1.4 var(--hfl-serif);color:var(--hfl-soft);margin:0 0 10px}
.hfl-hero__card>.hfl-card,.hfl-hero__card>.hfl-index{flex:1}

.hfl-card{position:relative;display:flex;flex-direction:column;background:var(--hfl-card);border:1px solid var(--hfl-edge);border-top:3px solid var(--hfl-red);border-radius:2px;padding:16px 20px 64px;box-shadow:0 2px 0 -1px #e1d5b8,0 2px 0 0 var(--hfl-edge),0 5px 0 -2px #e8ddc3,0 5px 0 -1px #d6c8a6}
.hfl-card::after{content:"";position:absolute;left:50%;bottom:13px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--hfl-page);box-shadow:inset 0 1px 2px rgba(60,40,20,.4)}
.hfl-card__head{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--hfl-red);font-size:13px;color:var(--hfl-soft)}
.hfl-card__shelf{color:var(--shelf);font-weight:600;text-decoration:none}
.hfl-card__shelf:hover{text-decoration:underline}
.hfl-card__title{font:700 20px/1.45 var(--hfl-serif);margin:12px 0 8px}
.hfl-card__title a{color:var(--hfl-ink);text-decoration:none}
.hfl-card__title a:hover{color:var(--hfl-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.hfl-card__text{margin:0 0 14px;font-size:15px;line-height:1.75;color:var(--hfl-soft)}
.hfl-card__rows{margin:auto 0 0;font-size:14px;line-height:1.6}
.hfl-card__rows div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid var(--hfl-rule)}
.hfl-card__rows div:first-child{border-top:1px solid var(--hfl-rule)}
.hfl-card__rows dt{color:var(--hfl-soft)}
.hfl-card__rows dd{margin:0}
.hfl-stamp{position:absolute;right:16px;bottom:13px;transform:rotate(-5deg);border:2px solid var(--hfl-stamp);border-radius:3px;padding:3px 8px 2px;color:var(--hfl-stamp);font:600 14px/1.25 var(--hfl-sans);text-align:center;opacity:.92}
.hfl-stamp span{display:block;font-size:11px;font-weight:400}
.hfl-card--feature{padding:20px 26px 70px}
.hfl-card--feature .hfl-card__title{font-size:27px;line-height:1.4;margin-top:16px}
.hfl-card--feature .hfl-card__text{font-size:16px;line-height:1.8}

.hfl-sec{margin-top:46px}
.hfl-sec__head{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}
.hfl-sec__head h2{flex:none;font:700 24px/1.3 var(--hfl-serif);margin:0}
.hfl-sec__head p{flex:1;display:flex;align-items:center;gap:16px;margin:0;color:var(--hfl-soft);font-size:15px}
.hfl-sec__head p::after{content:"";flex:1;border-top:1px solid var(--hfl-edge)}

.hfl-drawers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.hfl-drawer{display:flex;flex-direction:column;background:#e0d3b4;border:1px solid #bba981;border-radius:4px;padding:14px 14px 12px;box-shadow:inset 0 2px 0 rgba(255,255,255,.35)}
.hfl-drawer__plate{align-self:center;display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:7px 14px;background:linear-gradient(#e2c98d,#b8975a);color:#33240c;text-decoration:none;font:700 15px/1.3 var(--hfl-serif);border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 1px 0 rgba(0,0,0,.25)}
.hfl-drawer__plate span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--shelf);color:#fff;font-size:12px}
.hfl-drawer__list{flex:1;list-style:none;margin:0;padding:0;background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-radius:2px}
.hfl-drawer__list li{padding:10px 12px;border-bottom:1px solid var(--hfl-rule)}
.hfl-drawer__list li:last-child{border-bottom:0}
.hfl-drawer__list a{display:block;color:var(--hfl-ink);text-decoration:none;font:700 15px/1.5 var(--hfl-serif)}
.hfl-drawer__list a:hover{color:var(--hfl-link);text-decoration:underline}
.hfl-drawer__list time{font-size:13px;color:var(--hfl-soft)}
.hfl-drawer__empty{flex:1;margin:0;padding:14px;background:var(--hfl-paper);border:1px solid var(--hfl-edge);font-size:14px;color:var(--hfl-soft)}
.hfl-drawer__more{margin-top:10px;font-size:14px;text-align:center;color:#3d3220}

.hfl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 22px}
.hfl-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hfl-index{background:var(--hfl-white);border:1px solid var(--hfl-edge);border-top:3px solid var(--hfl-rule);border-radius:2px;padding:18px 22px}
.hfl-index__title{font:700 19px/1.45 var(--hfl-serif);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--hfl-rule)}
.hfl-index__shelves{list-style:none;margin:0;padding:0}
.hfl-index__shelves li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--hfl-rule)}
.hfl-index__shelves a{display:flex;align-items:center;gap:10px;color:var(--hfl-ink);text-decoration:none;font:700 16px/1.4 var(--hfl-serif)}
.hfl-index__shelves a:hover{color:var(--hfl-link);text-decoration:underline}
.hfl-index__shelves a span{width:26px;height:26px;display:grid;place-items:center;background:var(--shelf);color:#fff;border-radius:2px;font-size:13px}
.hfl-index__shelves em{font-style:normal;font-size:13px;color:var(--hfl-soft)}
.hfl-index__order,.hfl-index__files{margin:0;padding-left:1.3em;font-size:15px;line-height:1.6}
.hfl-index__order li,.hfl-index__files li{padding:5px 0}
.hfl-index__order a,.hfl-index__files a{color:var(--hfl-ink)}
.hfl-index__note{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--hfl-soft)}

.hfl-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hfl-file{display:flex;flex-direction:column;gap:4px;padding:16px 20px 18px;background:var(--hfl-white);border:1px solid var(--hfl-edge);border-left:6px solid var(--shelf,var(--hfl-green-2));border-radius:2px;color:var(--hfl-ink);text-decoration:none}
.hfl-file__call{font-size:13px;color:var(--hfl-soft)}
.hfl-file__title{font:700 18px/1.45 var(--hfl-serif)}
.hfl-file__text{font-size:14px;line-height:1.7;color:var(--hfl-soft)}
.hfl-file:hover .hfl-file__title{color:var(--hfl-link);text-decoration:underline;text-underline-offset:3px}

.hfl-shelfhead{display:grid;grid-template-columns:112px minmax(0,1fr) 310px;margin-bottom:28px;background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-radius:3px;overflow:hidden}
.hfl-shelfhead__spine{position:relative;display:grid;place-items:center;background:var(--shelf)}
.hfl-shelfhead__spine::before,.hfl-shelfhead__spine::after{content:"";position:absolute;left:14px;right:14px;height:2px;background:rgba(210,178,106,.85);box-shadow:0 6px 0 rgba(210,178,106,.55)}
.hfl-shelfhead__spine::before{top:18px}.hfl-shelfhead__spine::after{bottom:24px}
.hfl-shelfhead__spine span{font:700 56px/1 var(--hfl-serif);color:#f8efda}
.hfl-shelfhead__text{padding:28px 34px}
.hfl-shelfhead h1{font:700 32px/1.3 var(--hfl-serif);margin:0 0 10px}
.hfl-shelfhead__text p{margin:0 0 10px;color:var(--hfl-soft)}
.hfl-shelfhead__text .hfl-shelfhead__count{margin:0;color:var(--hfl-ink);font-weight:600;font-size:15px}
.hfl-shelfhead__others{padding:24px 26px;background:#f3ead4;border-left:1px dashed var(--hfl-edge)}
.hfl-shelfhead__others h2{font:700 16px/1.4 var(--hfl-serif);margin:0 0 8px}
.hfl-shelfhead__others ul{list-style:none;margin:0;padding:0}
.hfl-shelfhead__others li{display:flex;justify-content:space-between;gap:10px;padding:7px 0 7px 14px;border-bottom:1px solid var(--hfl-rule);position:relative;font-size:15px}
.hfl-shelfhead__others li::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3px;background:var(--shelf)}
.hfl-shelfhead__others a{color:var(--hfl-ink);text-decoration:none;font-weight:600}
.hfl-shelfhead__others a:hover{color:var(--hfl-link);text-decoration:underline}
.hfl-shelfhead__others span{font-size:13px;color:var(--hfl-soft)}

.hfl-findhead{margin-bottom:26px;padding:28px 34px;background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-left:10px solid var(--hfl-leather);border-radius:3px}
.hfl-findhead h1{font:700 30px/1.35 var(--hfl-serif);margin:0 0 8px}
.hfl-findhead p{margin:0 0 16px;color:var(--hfl-soft)}
.hfl-findhead .hfl-find{max-width:520px}
.hfl-findhead .hfl-find input{background:var(--hfl-white);color:var(--hfl-ink);border-color:var(--hfl-edge)}
.hfl-findhead .hfl-find input::placeholder{color:#8a7f6b}
.hfl-findhead .hfl-find button{background:var(--hfl-leather);color:#f5ecd6}

.hfl-read{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.hfl-article{background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-top:4px solid var(--shelf,var(--hfl-leather));border-radius:3px;padding:40px 52px 48px}
.hfl-article__shelf{font-size:14px;font-weight:600;color:var(--shelf,var(--hfl-leather));text-decoration:none}
.hfl-article h1{font:700 34px/1.4 var(--hfl-serif);margin:8px 0 18px;letter-spacing:-.01em}
.hfl-article__meta{display:flex;flex-wrap:wrap;margin:0 0 30px;border-top:1px solid var(--hfl-rule);border-bottom:1px solid var(--hfl-rule);font-size:14px}
.hfl-article__meta div{display:flex;gap:8px;padding:8px 18px 8px 0;margin-right:18px;border-right:1px solid var(--hfl-rule)}
.hfl-article__meta div:last-child{border-right:0;margin-right:0}
.hfl-article__meta dt{color:var(--hfl-soft)}
.hfl-article__meta dd{margin:0;font-weight:600}
.hfl-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}
.hfl-bookcard{position:relative;background:var(--hfl-card);border:1px solid var(--hfl-edge);border-top:3px solid var(--hfl-red);border-radius:2px;padding:16px 20px 64px}
.hfl-bookcard::after{content:"";position:absolute;left:50%;bottom:13px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--hfl-page);box-shadow:inset 0 1px 2px rgba(60,40,20,.4)}
.hfl-bookcard h2,.hfl-sidebox h2{font:700 17px/1.4 var(--hfl-serif);margin:0 0 12px}
.hfl-sidebox{background:var(--hfl-paper);border:1px solid var(--hfl-edge);border-radius:2px;padding:16px 20px}
.hfl-toc{margin:0;padding-left:1.3em;font-size:15px;line-height:1.6}
.hfl-toc li{margin:.4em 0}
.hfl-toc a{color:var(--hfl-ink);text-decoration:none}
.hfl-toc a:hover{color:var(--hfl-link);text-decoration:underline}

.hfl-prose{font-size:17px;line-height:1.85}
.hfl-prose>:first-child{margin-top:0}
.hfl-prose p{margin:0 0 1.15em}
.hfl-prose h2{font:700 25px/1.45 var(--hfl-serif);margin:1.9em 0 .7em;padding-top:.7em;border-top:1px solid var(--hfl-edge);scroll-margin-top:20px}
.hfl-prose h3{font:700 20px/1.5 var(--hfl-serif);margin:1.6em 0 .5em}
.hfl-prose ul,.hfl-prose ol{margin:0 0 1.2em;padding-left:1.4em}
.hfl-prose li{margin:.35em 0}
.hfl-prose a{text-underline-offset:3px}
.hfl-prose strong{font-weight:600}
.hfl-prose blockquote{margin:1.4em 0;padding:14px 20px;background:var(--hfl-card);border-left:4px solid var(--hfl-stamp)}
.hfl-prose blockquote p:last-child{margin:0}
.hfl-table{overflow-x:auto;margin:1.2em 0 1.6em}
.hfl-prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65;background:var(--hfl-white)}
.hfl-prose th,.hfl-prose td{padding:9px 12px;border:1px solid var(--hfl-rule);text-align:left;vertical-align:top}
.hfl-prose th{background:#efe4c8;font-weight:600}
.hfl-box{margin:1.4em 0;padding:16px 22px;background:var(--hfl-card);border:1px solid var(--hfl-edge);border-top:3px solid var(--hfl-red);border-radius:2px}
.hfl-box>:last-child{margin-bottom:0}
.hfl-box__title{display:block;font:700 18px/1.45 var(--hfl-serif);margin:0 0 .5em}
.hfl-kv{margin:1.2em 0 1.6em;border-top:1px solid var(--hfl-rule);font-size:16px}
.hfl-kv div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--hfl-rule)}
.hfl-kv dt{font-weight:600}
.hfl-kv dd{margin:0}
.hfl-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.2em 0 1.6em}
.hfl-cols>div{padding:16px 18px;background:var(--hfl-white);border:1px solid var(--hfl-edge);border-radius:2px}
.hfl-cols>div>:last-child{margin-bottom:0}
.hfl-faq{margin:1.2em 0 1.6em;border-top:1px solid var(--hfl-rule)}
.hfl-faq details{border-bottom:1px solid var(--hfl-rule)}
.hfl-faq summary{cursor:pointer;padding:12px 0;font-weight:600;list-style-position:outside}
.hfl-faq details>div{padding:0 0 14px}
.hfl-faq details>div>:last-child{margin-bottom:0}

.navigation.pagination{margin-top:32px}
.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.page-numbers{min-width:42px;height:42px;display:inline-grid;place-items:center;padding:0 12px;background:var(--hfl-white);border:1px solid var(--hfl-edge);border-radius:2px;color:var(--hfl-ink);text-decoration:none}
.page-numbers.current{background:var(--hfl-leather);border-color:var(--hfl-leather);color:#f5ecd6}

.hfl-foot{background:var(--hfl-green);color:#e7e0cc;border-top:6px solid var(--hfl-green-2)}
.hfl-foot__grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:36px;padding:44px 0 32px}
.hfl-foot h2{font:700 17px/1.4 var(--hfl-serif);color:var(--hfl-gilt);margin:0 0 12px}
.hfl-foot ul{list-style:none;margin:0;padding:0;font-size:15px;line-height:2.05}
.hfl-foot a{color:#ece6d4;text-decoration:none}
.hfl-foot a:hover{color:#fff;text-decoration:underline}
.hfl-foot__n{font-size:13px;color:#a9b8a9;margin-left:4px}
.hfl-foot__brand{display:flex;align-items:center;gap:10px;margin:0;color:var(--hfl-gilt);font:700 24px/1.2 var(--hfl-serif)}
.hfl-foot__brand .hfl-mark{--hfl-mark-hole:var(--hfl-green)}
.hfl-foot__about p:not(.hfl-foot__brand){margin:12px 0 0;font-size:15px;line-height:1.8;color:#cbd3c3}
.hfl-foot__base{display:flex;justify-content:space-between;gap:16px;padding:16px 0 22px;border-top:1px solid rgba(231,224,204,.22);font-size:14px;color:#b9c4b4}
.hfl-foot__base p{margin:0}

@media (max-width:1120px){
.hfl-drawers{grid-template-columns:repeat(2,minmax(0,1fr))}
.hfl-shelfhead{grid-template-columns:96px minmax(0,1fr)}
.hfl-shelfhead__others{grid-column:1/-1;border-left:0;border-top:1px dashed var(--hfl-edge)}
.hfl-shelfhead__others ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px}
.hfl-read{grid-template-columns:minmax(0,1fr) 300px;gap:26px}
.hfl-article{padding:34px 36px 42px}
.hfl-spine__count{display:none}
.hfl-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
.hfl-hero{grid-template-columns:1fr}
.hfl-grid,.hfl-files{grid-template-columns:repeat(2,minmax(0,1fr))}
.hfl-grid>:last-child:nth-child(odd),.hfl-files>:last-child:nth-child(odd){grid-column:1/-1}
.hfl-read{grid-template-columns:minmax(0,1fr)}
.hfl-side{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}
.hfl-foot__grid{grid-template-columns:1fr 1fr}
.hfl-top__in{gap:16px}
}
@media (max-width:640px){
body{font-size:16px}
.hfl-wrap{width:calc(100% - 28px)}
.hfl-top__in{flex-direction:column;align-items:stretch;gap:14px;padding:18px 0}
.hfl-top__in::before{inset:7px -7px}
.hfl-brand__name{font-size:27px}
.hfl-find{flex-basis:auto}
.hfl-shelves{padding-top:12px}
.hfl-shelves__in{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;width:100%;padding:0 14px;scrollbar-width:none}
.hfl-shelves__in::-webkit-scrollbar{display:none}
.hfl-spine{flex:0 0 auto;scroll-snap-align:start;min-width:158px;padding:12px 14px}
.hfl-spine__count{display:none}
.hfl-hero__intro{padding:24px 20px;border-left-width:6px}
.hfl-hero__title{font-size:26px}
.hfl-hero__shelves,.hfl-drawers,.hfl-grid,.hfl-files,.hfl-grid--4,.hfl-side{grid-template-columns:minmax(0,1fr)}
.hfl-card--feature .hfl-card__title{font-size:23px}
.hfl-sec__head{flex-direction:column;gap:2px}
.hfl-sec__head p::after{display:none}
.hfl-article{padding:24px 18px 30px}
.hfl-article h1{font-size:27px}
.hfl-shelfhead{grid-template-columns:66px minmax(0,1fr)}
.hfl-shelfhead__spine span{font-size:36px}
.hfl-shelfhead__text{padding:20px}
.hfl-shelfhead h1{font-size:27px}
.hfl-shelfhead__others ul{grid-template-columns:1fr}
.hfl-findhead{padding:22px 18px;border-left-width:6px}
.hfl-kv div{grid-template-columns:1fr;gap:2px}
.hfl-cols{grid-template-columns:1fr}
.hfl-foot__grid{grid-template-columns:1fr;gap:26px}
.hfl-foot__base{flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hfl-spine{transition:none}}
.hfl-hero__title,.hfl-card__title,.hfl-article h1,.hfl-shelfhead h1,.hfl-findhead h1,.hfl-index__title,.hfl-file__title{text-wrap:balance}
.hfl-card__toc{margin:0 0 16px;padding:12px 16px;background:var(--hfl-white);border:1px dashed var(--hfl-edge);border-radius:2px}
.hfl-card__toc p{margin:0 0 6px;font:700 14px/1.4 var(--hfl-serif);color:var(--hfl-soft)}
.hfl-card__toc ul{margin:0;padding-left:1.2em;font-size:14px;line-height:1.7}
.hfl-index{display:flex;flex-direction:column}
.hfl-index .hfl-card__rows{margin-top:auto;padding-top:14px}
.hfl-index__order span{display:block;font-size:13px;color:var(--hfl-soft)}
.hfl-hero__intro{display:flex;flex-direction:column}
.hfl-hero__stats{display:flex;flex-wrap:wrap;margin:24px 0 0;margin-top:auto;padding-top:22px;font-size:15px}
.hfl-hero__stats div{flex:1 1 auto;display:flex;flex-direction:column;padding:10px 16px;border:1px solid var(--hfl-rule);border-right:0;background:var(--hfl-white)}
.hfl-hero__stats div:last-child{border-right:1px solid var(--hfl-rule)}
.hfl-hero__stats dt{font-size:13px;color:var(--hfl-soft)}
.hfl-hero__stats dd{margin:0;font:700 18px/1.4 var(--hfl-serif)}
@media (max-width:640px){.hfl-hero__stats{flex-direction:column}.hfl-hero__stats div{border-right:1px solid var(--hfl-rule);border-bottom:0}.hfl-hero__stats div:last-child{border-bottom:1px solid var(--hfl-rule)}}
.hfl-prose>h2:first-child{border-top:0;padding-top:0}
.hfl-bookcard .hfl-card__rows div{grid-template-columns:104px minmax(0,1fr)}
.hfl-t-key td:first-child,.hfl-t-key th:first-child{white-space:nowrap}
@media (max-width:640px){
.hfl-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.hfl-stack,.hfl-stack tbody,.hfl-stack tr,.hfl-stack td{display:block;width:100%}
.hfl-stack{background:transparent}
.hfl-stack tr{margin-bottom:10px;background:var(--hfl-white);border:1px solid var(--hfl-rule)}
.hfl-stack td{position:relative;padding-left:108px;border:0;border-bottom:1px solid var(--hfl-rule)}
.hfl-stack td:last-child{border-bottom:0}
.hfl-stack td::before{content:attr(data-label);position:absolute;left:12px;top:9px;width:86px;font-weight:600;color:var(--hfl-soft)}
.hfl-t-key td:first-child{white-space:normal}
}
.hfl-cols>div>p:first-child{margin-bottom:.35em}
.hfl-prose pre{margin:1.2em 0 1.6em;padding:14px 18px;overflow-x:auto;background:#2f2721;color:#f3ead6;border-radius:3px;font-size:14px;line-height:1.7}
.hfl-prose code{font-family:ui-monospace,"D2Coding","SFMono-Regular",Menlo,Consolas,monospace;font-size:.92em}
.hfl-prose pre code{white-space:pre;font-size:14px}
.hfl-figs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:stretch;margin:1.2em 0 1.4em}
.hfl-figs figure{display:flex;flex-direction:column;justify-content:space-between;margin:0;padding:14px;background:var(--hfl-white);border:1px solid var(--hfl-edge);border-radius:2px}
.hfl-figs img{display:block;width:100%;height:auto;margin:auto 0;border-radius:2px}
.hfl-figs figure:first-child img{max-width:192px;margin:auto}
.hfl-figs figcaption{margin-top:10px;font-size:14px;line-height:1.6;color:var(--hfl-soft)}
@media (max-width:640px){.hfl-figs{grid-template-columns:1fr}}
@media (max-width:640px){.hfl-prose pre code{white-space:pre-wrap;word-break:break-all}}
@media (min-width:641px){.hfl-prose th{white-space:nowrap}}
@media (min-width:901px){.hfl-side{max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin}}
