@charset "UTF-8";
:root { color-scheme:light; --page:#f3f8f4; --surface:#fff; --surface-soft:#e8f2ec; --text:#16382a; --muted:#536d60; --line:#cddfd3; --accent:#216c4e; --accent-ink:#fff; --accent-soft:#deeee3; --shadow:0 12px 34px #0b30200b; --header:rgba(243,248,244,.95); --hero-text:#16382a; --hero-muted:#536d60; --selection:#c0e5ce; --font-mono:'Cascadia Code','SFMono-Regular',Consolas,'Liberation Mono',monospace; font-family:Arial,Helvetica,sans-serif; font-synthesis:none; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
:root[data-theme="dark"] { color-scheme:dark; --page:#061511; --surface:#0b211a; --surface-soft:#122d24; --text:#ecf6ee; --muted:#9ab5a8; --line:#254337; --accent:#b0f2cf; --accent-ink:#092117; --accent-soft:#153a2b; --shadow:0 12px 34px #0003; --header:rgba(6,21,17,.96); --selection:#2b6048; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; background:var(--page); color:var(--text); font-size:16px; line-height:1.55; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button { color:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { border:0; }
input,select { min-width:0; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
::selection { background:var(--selection); }
img { max-width:100%; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.13; font-weight:600; letter-spacing:-.035em; }
ul { padding-left:22px; }
.icon { width:22px; height:22px; flex:none; display:block; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:20px; top:-100px; padding:12px 18px; z-index:100; background:var(--text); color:var(--page); border-radius:8px; }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:30; border-bottom:1px solid var(--line); background:var(--header); backdrop-filter:blur(16px); }
.header-inner { min-height:88px; max-width:1440px; margin:auto; padding:0 52px; display:flex; align-items:center; gap:38px; }
.brand { display:inline-flex; gap:15px; align-items:center; flex:none; }
.wordmark { display:inline-flex; align-items:center; gap:5px; font-weight:800; font-size:33px; letter-spacing:-.08em; line-height:1; }
.lia-logo { display:block; height:32px; width:auto; flex-shrink:0; }
.lia-logo-mark { color:var(--accent); }
.brand-divider { height:22px; width:1px; background:var(--line); }
.brand-caption { font-size:15px; font-weight:500; letter-spacing:.01em; color:var(--muted); }
.header-navigation { margin-left:auto; display:flex; gap:27px; align-items:center; font-size:14px; font-weight:600; }
.header-navigation>a { min-height:44px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.header-navigation>a:hover,.header-navigation>a[aria-current] { color:var(--accent); }
.header-navigation .open-lia { margin-left:8px; }
.open-lia .icon { width:18px; height:18px; }
.header-actions { display:flex; gap:14px; align-items:center; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; background:transparent; border-radius:50%; }
.icon-button:hover { background:var(--surface-soft); }
.theme-control { display:flex; gap:3px; align-items:center; }
.theme-control>.icon { width:18px; height:18px; }
.theme-control select { background:transparent; color:var(--muted); border:0; min-height:44px; padding:3px 1px; max-width:82px; font-size:12px; cursor:pointer; }
.nav-toggle { display:none; }
.hero { max-width:1440px; min-height:558px; margin:0 auto; position:relative; display:flex; align-items:center; overflow:hidden; background:#dfe5df; }
.hero-art { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:72% center; }
.hero-wash { position:absolute; inset:0; background:linear-gradient(90deg,#e8eae4fa 0%,#e7e9e2f2 18%,#e5e8e1d4 39%,#e5e8e150 63%,transparent 100%); }
.hero-content { position:relative; z-index:1; padding:65px 70px 67px; width:760px; max-width:100%; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; line-height:1.5; text-transform:uppercase; color:var(--accent); }
.hero .eyebrow { display:flex; gap:9px; align-items:center; color:#69472d; margin-bottom:23px; }
.hero .eyebrow>span { font-size:20px; line-height:.8; }
.hero h1 { font-size:clamp(42px,4.1vw,62px); line-height:1.08; letter-spacing:-.055em; color:var(--hero-text); }
.hero h1 em { font-weight:400; font-family:Georgia,'Times New Roman',serif; }
.hero-description { font-size:16px; line-height:1.65; color:var(--hero-muted); margin-top:22px; }
.hero-search { display:flex; gap:14px; align-items:center; margin-top:29px; background:#fff; border:1px solid #fff; border-radius:10px; padding:6px 7px 6px 19px; box-shadow:0 8px 30px #2c392718; max-width:560px; color:#737d73; }
.hero-search input { flex:1; width:0; height:46px; border:0; background:transparent; color:#29332b; font-size:15px; outline-offset:0; }
.hero-search input::placeholder { color:#69756c; opacity:1; }
.hero-search button { background:#edf0e9; color:#33402f; width:42px; height:42px; border-radius:6px; display:flex; justify-content:center; align-items:center; flex:none; }
.hero-search button:hover { background:#dfe7d9; }
.hero-search .icon { width:21px; height:21px; }
kbd { font-family:inherit; font-size:11px; font-weight:500; letter-spacing:0; white-space:nowrap; }
.hero-search kbd { border:1px solid #d8dfd8; border-radius:4px; padding:2px 5px; color:#687369; }
.popular-links { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:17px; font-size:11px; color:#5b665d; }
.popular-links a { text-decoration:underline; text-underline-offset:3px; color:#354735; }
.hero-caption { position:absolute; bottom:24px; right:30px; font-size:8px; font-weight:600; letter-spacing:.14em; color:#334337; background:#ffffff92; border-radius:4px; padding:5px 8px; }
.home-content { width:100%; max-width:1290px; margin:auto; padding:0 48px; }
.category-section { padding:72px 0 0; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-bottom:30px; }
.section-heading .eyebrow { margin-bottom:13px; }
.section-heading h2 { font-size:36px; }
.section-heading>p { font-size:13px; line-height:1.6; color:var(--muted); padding-bottom:2px; }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.category-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; position:relative; border:1px solid var(--line); border-radius:14px; background:var(--surface); padding:27px 25px 25px; transition:transform .2s,box-shadow .2s,border-color .2s; }
.category-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--accent); }
.category-icon { width:49px; height:49px; display:flex; align-items:center; justify-content:center; background:#edf0e8; color:#536849; border-radius:12px; margin-bottom:24px; }
.category-icon .icon { width:29px; height:29px; stroke-width:1.3; }
.category-icon-1 { color:#9b6c3e; background:#f4eee4; }
.category-icon-2 { color:#63737d; background:#edf1f2; }
.category-card h3 { font-size:20px; letter-spacing:-.025em; margin-bottom:10px; }
.category-card p { font-size:12px; line-height:1.6; color:var(--muted); max-width:220px; }
.card-arrow { position:absolute; right:25px; top:36px; color:var(--muted); }
.card-arrow .icon { width:19px; height:19px; }
.start-section { padding:84px 0 0; }
.text-link { display:inline-flex; gap:10px; align-items:center; font-size:13px; font-weight:600; min-height:44px; white-space:nowrap; }
.text-link:hover { color:var(--accent); }
.text-link .icon { width:17px; height:17px; }
.featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.feature-card { min-width:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); transition:transform .2s,box-shadow .2s; }
.feature-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.feature-visual { aspect-ratio:1.82; background:#e7eae1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.feature-visual>img { width:100%; height:100%; object-fit:cover; object-position:75% center; }
.feature-number { position:absolute; bottom:13px; left:17px; color:#344432; background:#ffffffa1; min-width:25px; padding:2px 6px; border-radius:4px; font-size:10px; }
.feature-copy { padding:23px 24px 21px; }
.article-type { display:block; color:var(--muted); font-size:8px; letter-spacing:.13em; font-weight:600; margin-bottom:10px; }
.feature-copy h3 { font-size:21px; line-height:1.2; letter-spacing:-.035em; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.feature-copy h3 .icon { width:17px; height:17px; margin-top:3px; }
.feature-copy p { font-size:12px; line-height:1.65; color:var(--muted); margin-top:11px; min-height:40px; }
.read-time { font-size:10px; color:var(--muted); display:block; margin-top:20px; }
.feature-card-1 .feature-visual { background:#eeeadf; }
.project-illustration { display:flex; align-items:center; gap:11px; width:174px; height:105px; border:1px solid #d8d6c8; border-radius:10px; background:#faf9f3; transform:rotate(-6deg); box-shadow:7px 10px 0 #d9d6c9; position:relative; padding:15px; }
.mini-photo { display:flex; align-items:center; justify-content:center; width:62px; height:73px; background:#d7dfcd; border-radius:7px; color:#687c57; }
.mini-photo .icon { width:29px; height:29px; }
.mini-lines { flex:1; display:flex; gap:9px; flex-direction:column; }
.mini-lines i { height:4px; border-radius:3px; background:#ccc9ba; }
.mini-lines i:nth-child(2) { width:73%; }.mini-lines i:nth-child(3) { width:86%; }
.mini-spark { position:absolute; font-size:42px; color:#9a6945; right:-13px; top:-25px; line-height:1; }
.feature-card-2 .feature-visual { background:#e6eceb; }
.world-illustration { width:145px; height:145px; display:flex; align-items:center; justify-content:center; position:relative; }
.orbit { position:absolute; width:132px; height:82px; border:1px solid #7d9890; border-radius:50%; transform:rotate(35deg); }.orbit-two { transform:rotate(-35deg); }
.orbit:after { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:#93a99b; right:10px; top:4px; border:3px solid #e6eceb; }
.orbit-center { display:flex; align-items:center; justify-content:center; width:62px; height:62px; background:#f6f8ef; border-radius:50%; color:#647b65; box-shadow:0 4px 15px #68796222; }.orbit-center .icon { width:35px; height:35px; }
.guides-section { padding-top:82px; }
.guide-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:42px; }
.guide-row { min-width:0; display:flex; align-items:center; gap:21px; padding:24px 2px; border-top:1px solid var(--line); }
.guide-row:hover h3 { color:var(--accent); }
.guide-number { color:var(--muted); font-size:11px; align-self:flex-start; margin-top:3px; }
.guide-row>div { flex:1; min-width:0; }
.guide-row h3 { font-size:17px; line-height:1.25; letter-spacing:-.02em; }
.guide-row p { font-size:12px; line-height:1.65; margin-top:7px; color:var(--muted); }
.guide-row>.icon { width:17px; height:17px; color:var(--muted); }
.policies-section { padding-top:76px; }
.policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.policy-card { display:flex; gap:17px; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:11px; background:var(--surface); min-width:0; transition:border-color .2s,background .2s; }
.policy-card:hover { border-color:var(--accent); background:var(--surface-soft); }
.policy-icon { color:var(--muted); margin-top:3px; }
.policy-icon .icon { width:23px; height:23px; }
.policy-card>div { flex:1; min-width:0; }
.policy-card h3 { font-size:16px; line-height:1.3; letter-spacing:-.02em; }
.policy-card p { font-size:12px; color:var(--muted); margin-top:7px; line-height:1.65; }
.policy-card>.icon { width:17px; height:17px; color:var(--muted); margin-top:3px; }
.closing-note { margin:80px 0 72px; padding:36px; display:flex; align-items:center; gap:30px; border-radius:14px; background:var(--surface-soft); }
.closing-note>span { font-size:58px; line-height:1; color:var(--accent); font-weight:300; }
.closing-note h2 { font-size:26px; }
.closing-note p { font-size:13px; color:var(--muted); margin-top:10px; }
.solid-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; background:var(--accent); color:var(--accent-ink); border-radius:7px; padding:14px 20px; font-size:12px; font-weight:600; min-height:48px; }
.solid-button:hover { filter:brightness(1.08); }
.solid-button .icon { width:18px; height:18px; }
.closing-note .solid-button { margin-left:auto; }
.site-footer { max-width:1290px; padding:0 48px 28px; margin:auto; }
.footer-top { border-top:1px solid var(--line); display:flex; gap:40px; align-items:center; padding:36px 0 30px; }
.footer-brand .lia-logo { height:28px; }
.footer-top>div>p { font-size:11px; color:var(--muted); margin-top:12px; }
.footer-top nav { display:flex; flex-wrap:wrap; gap:14px 24px; margin-left:auto; }
.footer-top nav a,.footer-open { display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--muted); min-height:44px; }
.footer-top a:hover { color:var(--accent); }
.footer-open { color:var(--text); margin-left:10px; }.footer-open .icon { width:16px; height:16px; }
.footer-bottom { border-top:1px solid var(--line); display:flex; align-items:center; gap:25px; padding-top:19px; color:var(--muted); font-size:10px; }
.footer-bottom>span:nth-child(2) { margin-left:auto; }
.back-top { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--line); border-radius:7px; margin-left:7px; background:var(--surface); }.back-top .icon { width:19px; height:19px; }
.article-main { max-width:1440px; margin:auto; padding:34px 52px 76px; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; color:var(--muted); margin-bottom:42px; }
.breadcrumbs a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }.breadcrumbs>.icon { width:12px; height:12px; }
.breadcrumbs span { color:var(--text); }
.article-layout { display:grid; grid-template-columns:210px minmax(0,760px) 180px; gap:46px; align-items:start; }
.article-sidebar { position:sticky; top:119px; max-height:calc(100dvh - 140px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding-right:11px; }
.article-sidebar summary { font-size:12px; font-weight:600; color:var(--muted); list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); }
.article-sidebar summary::-webkit-details-marker { display:none; }.article-sidebar summary>.icon,.article-sidebar summary>span { display:none; }
.sidebar-group { margin-top:24px; }
.sidebar-group h3 { font-size:12px; line-height:1.4; letter-spacing:0; margin-bottom:10px; }
.sidebar-group a { display:block; padding:8px 9px; margin-left:-9px; font-size:12px; color:var(--muted); border-radius:5px; line-height:1.5; }
.sidebar-group a:hover { color:var(--text); background:var(--surface-soft); }
.sidebar-group a[aria-current] { color:var(--accent); background:var(--accent-soft); font-weight:600; }
.article-body { min-width:0; }
.article-heading { padding:0 0 32px; border-bottom:1px solid var(--line); margin-bottom:34px; }
.article-heading .eyebrow { margin-bottom:18px; }
.article-heading h1 { font-size:clamp(35px,3.7vw,50px); line-height:1.12; letter-spacing:-.045em; }
.article-description { margin-top:22px; font-size:18px; line-height:1.65; color:var(--muted); }
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; color:var(--muted); font-size:11px; }
.article-section { margin:34px 0; scroll-margin-top:113px; }
.article-section h2 { font-size:24px; line-height:1.3; margin-bottom:16px; letter-spacing:-.025em; }
.heading-anchor { position:relative; }.heading-anchor span { opacity:0; font-size:18px; color:var(--muted); padding-left:9px; }.heading-anchor:hover span,.heading-anchor:focus-visible span { opacity:1; }
.article-content p,.article-content li { font-size:15px; line-height:1.85; overflow-wrap:break-word; }
.article-content p+p { margin-top:15px; }.article-content ul { margin:15px 0 0; }.article-content li+li { margin-top:11px; }
.article-content li::marker { color:var(--accent); }
.related-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:19px; }
.related-links a { display:inline-flex; align-items:center; gap:8px; color:var(--accent); font-size:13px; line-height:1.5; min-height:36px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.related-links .icon { width:16px; height:16px; }
.desktop-toc { position:sticky; top:122px; max-height:calc(100dvh - 145px); overflow-y:auto; scrollbar-width:thin; }
.desktop-toc nav { border-left:1px solid var(--line); padding-left:19px; }
.desktop-toc h2 { font-size:11px; letter-spacing:0; margin-bottom:15px; line-height:1.4; }
.desktop-toc a { display:block; color:var(--muted); font-size:11px; line-height:1.65; padding:5px 0; }
.desktop-toc a:hover { color:var(--accent); }
.desktop-toc .toc-top { margin-top:21px; padding-left:19px; display:flex; align-items:center; gap:8px; }.toc-top .icon { width:13px; height:13px; }
.mobile-toc { display:none; }
.article-end { border-top:1px solid var(--line); margin-top:50px; padding-top:27px; }
.article-end>p { display:flex; gap:9px; align-items:center; color:var(--muted); font-size:11px; margin-bottom:16px; }.article-end>p .icon { width:15px; height:15px; }
.next-article { display:flex; align-items:center; gap:24px; padding:22px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.next-article:hover { border-color:var(--accent); }.next-article span { flex:1; }.next-article small { display:block; font-size:10px; color:var(--muted); margin-bottom:8px; }.next-article strong { display:block; font-size:16px; line-height:1.4; font-weight:500; }.next-article>.icon { width:18px; height:18px; }
.article-all { display:inline-flex; align-items:center; gap:10px; margin-top:17px; min-height:44px; font-size:12px; color:var(--muted); }.article-all .icon { width:15px; height:15px; }
.search-dialog { width:min(660px,calc(100vw - 32px)); max-height:min(720px,calc(100dvh - 48px)); margin:8vh auto auto; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 20px 100px #0004; }
.search-dialog::backdrop { background:#020e0a99; backdrop-filter:blur(6px); }
.search-dialog-inner { display:flex; flex-direction:column; max-height:min(720px,calc(100dvh - 48px)); min-height:0; }
.search-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 17px 6px 24px; }
.search-dialog-heading h2 { font-size:16px; line-height:1.5; letter-spacing:-.015em; }
.search-input-wrap { display:flex; align-items:center; gap:12px; margin:7px 24px 0; padding:0 14px; border:1px solid var(--line); border-radius:8px; background:var(--page); flex:none; }
.search-input-wrap>.icon { width:21px; height:21px; color:var(--muted); }
.search-input-wrap input { flex:1; width:0; height:52px; background:transparent; border:0; color:var(--text); font-size:16px; }
.search-input-wrap input::placeholder { color:var(--muted); opacity:1; }
.search-status { margin:18px 24px 12px; color:var(--muted); font-size:12px; flex:none; }
.search-results { overflow:auto; overscroll-behavior:contain; padding:0 12px 12px; min-height:0; }
.search-result { display:block; position:relative; padding:16px 38px 16px 13px; border-radius:8px; border:1px solid transparent; }
.search-result:after { content:'↗'; position:absolute; right:15px; top:36px; color:var(--muted); font-size:18px; }
.search-result:hover,.search-result:focus-visible { background:var(--surface-soft); border-color:var(--line); outline-offset:-2px; }
.result-category { display:block; font-size:9px; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); margin-bottom:7px; }
.search-result strong { font-weight:600; display:block; font-size:16px; line-height:1.4; }
.search-result p { font-size:12px; line-height:1.65; margin-top:5px; color:var(--muted); }
.search-footer { display:flex; justify-content:space-between; padding:12px 24px; border-top:1px solid var(--line); background:var(--page); font-size:10px; color:var(--muted); flex:none; }
.search-footer kbd { border:1px solid var(--line); border-radius:4px; padding:2px 4px; background:var(--surface); font-size:10px; }
.search-retry { margin:10px 12px; min-height:44px; padding:10px 16px; background:var(--surface-soft); color:var(--text); border-radius:7px; }
.noscript-note { padding:20px; background:var(--surface-soft); font-size:14px; text-align:center; }
html:not(.js) .header-actions,html:not(.js) .hero-search { display:none; }
.not-found { max-width:800px; margin:100px auto; padding:40px; text-align:center; }.not-found h1 { margin-top:20px; font-size:48px; }.not-found p:not(.eyebrow) { margin:25px 0; color:var(--muted); }
:root[data-theme="dark"] .category-icon { background:var(--accent-soft); color:var(--accent); }:root[data-theme="dark"] .category-icon-1 { background:var(--surface-soft); color:#c2e8d3; }:root[data-theme="dark"] .category-icon-2 { background:var(--surface-soft); color:#9ed8c6; }
/* Shared reading surfaces carry the same quiet, mint-accented identity as the cover. */
.brand .wordmark,.header-navigation,.brand-caption,.eyebrow,.breadcrumbs,.article-meta,.article-sidebar summary,.sidebar-group h3,.desktop-toc h2,.mobile-toc summary,.article-end>p,.next-article small,.article-all,.footer-top nav,.footer-open,.footer-bottom,.search-dialog-heading h2,.result-category,.search-footer { font-family:var(--font-mono); }
.article-heading h1,.article-section h2,.not-found h1 { font-family:var(--font-mono); font-weight:400; letter-spacing:-.045em; overflow-wrap:break-word; }
.site-header .brand-asterisk { color:var(--accent); }
.header-actions .icon-button { border-radius:7px; }
.header-actions .icon-button:hover { color:var(--accent); }
.theme-control select { color:var(--text); border-radius:5px; }
.theme-control select option { background:var(--surface); color:var(--text); }
.sidebar-group a { border-radius:4px; transition:background .18s,color .18s; }
.sidebar-group a[aria-current] { box-shadow:inset 2px 0 var(--accent); }
.article-heading .eyebrow { display:flex; align-items:center; gap:10px; }
.article-heading .eyebrow:before { content:''; width:17px; height:1px; background:currentColor; flex:none; }
.next-article { border-radius:7px; transition:background .18s,border-color .18s; }
.next-article:hover { background:var(--surface-soft); }
.next-article>.icon,.back-top:hover { color:var(--accent); }
.next-article small { font-size:10px; line-height:1.6; }
.article-all:hover { color:var(--accent); }
.search-dialog { border-radius:10px; }
.search-input-wrap { border-radius:7px; }
.search-input-wrap:focus-within { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.search-input-wrap input:focus-visible { outline:none; }
.search-input-wrap:focus-within>.icon { color:var(--accent); }
.search-result { border-radius:6px; }
.search-result:hover,.search-result:focus-visible { border-color:var(--line); box-shadow:inset 2px 0 var(--accent); }
@media(min-width:1441px) { .hero { margin-top:28px; border-radius:18px; } }
@media(max-width:1270px) { .header-inner { padding:0 32px; gap:25px; }.header-navigation { gap:18px; }.header-actions { gap:8px; }.article-main { padding-left:32px; padding-right:32px; }.article-layout { grid-template-columns:185px minmax(0,1fr) 155px; gap:28px; }.home-content,.site-footer { padding-left:36px; padding-right:36px; }.hero-content { padding-left:55px; }.feature-copy { padding-left:20px; padding-right:20px; }.feature-copy h3 { font-size:19px; } }
@media(max-width:1099px) { .header-inner { min-height:76px; padding:0 28px; gap:22px; }.brand-caption,.brand-divider { display:none; }.header-navigation { gap:22px; font-size:12px; }.header-actions { gap:7px; }.hero { min-height:530px; }.hero-content { padding:60px 42px; max-width:690px; }.hero h1 { font-size:53px; }.hero-wash { background:linear-gradient(90deg,#e8eae4fc 0%,#e7e9e2ef 28%,#e5e8e1b0 55%,#e5e8e140 85%); }.category-card { padding:23px 20px; }.category-card h3 { font-size:18px; }.category-card p { font-size:12px; }.category-icon { margin-bottom:22px; }.card-arrow { right:20px; }.article-layout { grid-template-columns:minmax(0,1fr) 190px; gap:38px; }.article-sidebar { grid-column:1/-1; position:static; max-height:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:0; }.article-sidebar summary { border:0; padding:19px 0; color:var(--text); font-size:16px; }.article-sidebar summary>span { display:block; }.article-sidebar summary>span .icon { width:18px; height:18px; transform:rotate(90deg); }.article-sidebar details[open]>summary>span .icon { transform:rotate(-90deg); }.article-sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; padding:0 12px 24px 9px; }.sidebar-group { margin:0; }.sidebar-group a { min-height:44px; display:flex; align-items:center; }.breadcrumbs { margin-bottom:27px; }.article-main { padding-top:28px; }.article-heading h1 { font-size:44px; }.article-layout { row-gap:34px; }.article-description { font-size:17px; }.footer-top { gap:25px; }.footer-top nav { gap:7px 17px; }.footer-open { margin-left:0; } }
@media(max-width:800px) { .header-inner { min-height:76px; padding:0 22px; }.header-actions { margin-left:auto; gap:9px; }.wordmark { font-size:30px; }.brand-asterisk { font-size:29px; }.brand-caption,.brand-divider { display:block; }.brand { gap:12px; }.brand-caption { font-size:13px; }.js .nav-toggle { display:inline-flex; }.header-navigation { position:absolute; left:0; right:0; top:100%; padding:15px 24px 24px; border-bottom:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:stretch; gap:3px; margin:0; font-size:15px; }.js .header-navigation:not(.is-open) { display:none; }.header-navigation>a { min-height:48px; border-bottom:1px solid var(--line); }.header-navigation .open-lia { margin:7px 0 0; border:0; }.header-navigation .open-lia .icon { margin-left:auto; }.theme-control>.icon { display:none; }.header-actions .theme-control select { font-size:11px; }.hero-content { padding:56px 30px 62px; }.hero { min-height:530px; }.hero h1 { font-size:49px; }.hero-description { font-size:15px; }.hero-content { max-width:640px; }.hero-art { object-position:70% center; }.hero-wash { background:linear-gradient(90deg,#e8eae4f5 0%,#e7e9e2e8 35%,#e5e8e194 77%,#e5e8e150); }.hero-caption { right:20px; bottom:17px; font-size:7px; }.home-content,.site-footer { padding-left:26px; padding-right:26px; }.category-section { padding-top:51px; }.section-heading h2 { font-size:31px; }.section-heading>p { display:none; }.category-grid { gap:12px; }.category-card { padding:21px 17px; }.category-card p { font-size:11px; }.category-card h3 { font-size:17px; }.category-icon { width:42px; height:42px; border-radius:10px; margin-bottom:26px; }.category-icon .icon { width:26px; height:26px; }.card-arrow { top:34px; right:16px; }.card-arrow .icon { width:15px; height:15px; }.featured-grid { gap:15px; }.feature-copy { padding:18px 16px; }.feature-copy h3 { font-size:18px; line-height:1.3; }.feature-copy p { font-size:11px; }.feature-copy h3>.icon { display:none; }.feature-visual { aspect-ratio:1.45; }.project-illustration { transform:rotate(-6deg) scale(.82); }.world-illustration { transform:scale(.84); }.start-section,.guides-section { padding-top:62px; }.guide-list { column-gap:28px; }.guide-row { gap:13px; }.guide-row h3 { font-size:16px; }.policies-section { padding-top:58px; }.policy-card { padding:20px 17px; gap:13px; }.policy-card p { font-size:11px; }.policy-card h3 { font-size:15px; }.policy-card>.icon { display:none; }.closing-note { margin:60px 0 55px; padding:28px; gap:23px; }.closing-note h2 { font-size:23px; }.closing-note p { font-size:12px; }.closing-note>span { font-size:43px; }.solid-button { padding:13px 16px; gap:12px; }.closing-note .solid-button { font-size:11px; }.footer-top { flex-wrap:wrap; }.footer-top nav { gap:5px 18px; }.footer-open { margin-left:auto; }.article-layout { grid-template-columns:minmax(0,1fr); gap:30px; }.desktop-toc { display:none; }.article-main { padding:25px 28px 55px; }.article-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 35px; }.article-sidebar nav .sidebar-group:last-child { grid-column:1/-1; }.article-sidebar nav .sidebar-group:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:35px; }.article-sidebar nav .sidebar-group:last-child h3 { grid-column:1/-1; }.article-heading h1 { font-size:42px; }.article-description { font-size:17px; }.article-body { max-width:720px; margin:auto; }.mobile-toc { display:block; border-bottom:1px solid var(--line); padding-bottom:18px; margin-top:-16px; margin-bottom:25px; }.mobile-toc summary { display:flex; align-items:center; justify-content:space-between; list-style:none; font-size:13px; color:var(--muted); cursor:pointer; min-height:36px; }.mobile-toc summary::-webkit-details-marker { display:none; }.mobile-toc summary>.icon { width:15px; height:15px; transform:rotate(90deg); }.mobile-toc[open] summary>.icon { transform:rotate(-90deg); }.mobile-toc nav { padding:12px 0 0; }.mobile-toc nav h2 { display:none; }.mobile-toc nav a { display:block; min-height:40px; padding:9px 10px; font-size:13px; color:var(--muted); border-left:1px solid var(--line); line-height:1.55; }.mobile-toc nav a:hover { color:var(--accent); }.article-section h2 { font-size:23px; } }
@media(max-width:600px) { .header-inner { min-height:72px; padding:0 20px; }.brand { gap:10px; }.header-actions { gap:1px; }.header-actions .icon-button { width:40px; min-width:40px; height:44px; padding:9px; }.header-actions .theme-control select { width:68px; }.hero { display:block; min-height:570px; padding-bottom:0; }.hero-art { object-position:74% center; opacity:.9; height:260px; top:auto; bottom:0; object-fit:cover; }.hero-wash { background:linear-gradient(180deg,#e8eae4 0%,#e8eae4 48%,#e8eae4b0 65%,#e8eae400 95%); }.hero-content { padding:43px 23px 183px; }.hero .eyebrow { font-size:8px; letter-spacing:.15em; margin-bottom:21px; }.hero .eyebrow>span { font-size:17px; }.hero h1 { font-size:clamp(35px,8.2vw,47px); line-height:1.12; letter-spacing:-.05em; }.hero-description { font-size:13px; margin-top:17px; max-width:360px; }.hero-search { margin-top:23px; border-radius:8px; gap:9px; padding:5px 5px 5px 13px; }.hero-search input { font-size:16px; height:45px; }.hero-search>.icon { width:18px; height:18px; }.hero-search kbd { display:none; }.hero-search button { width:38px; height:43px; }.popular-links { font-size:10px; gap:8px; margin-top:13px; }.hero-caption { bottom:15px; right:17px; font-size:6px; background:#ffffffb3; }.home-content,.site-footer { padding-left:22px; padding-right:22px; }.section-heading { margin-bottom:23px; gap:16px; align-items:center; }.section-heading h2 { font-size:29px; line-height:1.18; }.section-heading .eyebrow { font-size:8px; margin-bottom:11px; }.category-grid { grid-template-columns:1fr; gap:12px; }.category-card { flex-direction:row; align-items:center; padding:22px 19px; gap:19px; border-radius:12px; box-shadow:0 5px 20px #27302b06; }.category-icon { margin:0; width:48px; height:48px; flex:none; }.category-card h3 { font-size:18px; margin-bottom:7px; }.category-card p { font-size:11px; max-width:235px; padding-right:12px; }.card-arrow { position:static; margin-left:auto; }.card-arrow .icon { width:18px; height:18px; }.start-section,.guides-section { padding-top:53px; }.start-section>.section-heading { align-items:flex-end; }.section-heading .text-link { font-size:11px; gap:7px; }.featured-grid { grid-template-columns:1fr; gap:17px; }.feature-card { display:grid; grid-template-columns:37% minmax(0,1fr); }.feature-visual { aspect-ratio:auto; min-height:190px; height:100%; }.feature-visual>img { position:absolute; inset:0; object-position:76% center; }.feature-copy { padding:24px 18px; display:flex; flex-direction:column; }.article-type { font-size:7px; letter-spacing:.08em; line-height:1.5; }.feature-copy h3 { font-size:20px; line-height:1.2; }.feature-copy p { font-size:11px; margin-top:10px; }.read-time { font-size:9px; margin-top:auto; padding-top:16px; }.project-illustration { transform:rotate(-9deg) scale(.7); flex:none; }.world-illustration { transform:scale(.8); flex:none; }.feature-number { left:11px; bottom:12px; }.guide-list { grid-template-columns:1fr; }.guide-row { gap:19px; padding:22px 1px; }.guide-row h3 { font-size:17px; }.guide-row p { font-size:12px; margin-top:8px; }.guide-row>.icon { width:18px; height:18px; }.policy-grid { grid-template-columns:1fr; gap:11px; }.policy-card { padding:23px 19px; gap:17px; align-items:flex-start; }.policy-card h3 { font-size:17px; }.policy-card p { font-size:12px; }.policy-card>.icon { display:block; width:16px; height:16px; }.closing-note { margin:52px 0 45px; padding:29px 23px; flex-wrap:wrap; gap:21px; }.closing-note>span { font-size:40px; }.closing-note>div { flex:1; min-width:0; }.closing-note h2 { font-size:22px; }.closing-note p { font-size:12px; line-height:1.7; }.closing-note .solid-button { margin-left:0; width:100%; font-size:13px; justify-content:space-between; }.footer-top { padding-top:29px; gap:18px 25px; align-items:flex-start; }.footer-top>div { width:100%; }.footer-top nav { width:100%; margin:0; gap:0 23px; }.footer-open { margin:0; }.footer-bottom { gap:16px; font-size:9px; }.footer-bottom>span:nth-child(2) { display:none; }.footer-bottom .back-top { margin-left:auto; width:44px; height:44px; }.article-main { padding:26px 23px 44px; }.breadcrumbs { font-size:11px; gap:8px; margin-bottom:25px; line-height:1.7; }.article-layout { gap:28px; }.article-sidebar summary { font-size:15px; padding:20px 0; }.article-sidebar nav { grid-template-columns:1fr; gap:24px; }.article-sidebar nav .sidebar-group:last-child { grid-column:auto; display:block; }.article-sidebar nav .sidebar-group:last-child h3 { grid-column:auto; }.sidebar-group h3 { font-size:13px; }.sidebar-group a { font-size:13px; min-height:44px; }.article-heading { padding-bottom:27px; margin-bottom:29px; }.article-heading h1 { font-size:38px; line-height:1.15; }.article-heading .eyebrow { font-size:9px; margin-bottom:14px; }.article-description { font-size:16px; line-height:1.7; margin-top:18px; }.article-meta { font-size:10px; gap:9px; margin-top:20px; }.article-section { margin:30px 0; }.article-section h2 { font-size:23px; line-height:1.35; }.article-content p,.article-content li { font-size:16px; line-height:1.8; }.article-content li+li { margin-top:13px; }.related-links { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }.related-links a { min-height:44px; font-size:13px; }.heading-anchor span { display:none; }.search-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:12px auto; border-radius:12px; }.search-dialog-inner { max-height:calc(100dvh - 24px); }.search-dialog-heading { padding:11px 11px 4px 18px; }.search-dialog-heading h2 { font-size:15px; }.search-input-wrap { margin:7px 17px 0; padding:0 12px; gap:9px; }.search-input-wrap input { height:50px; font-size:16px; }.search-status { margin:16px 18px 9px; font-size:11px; }.search-results { padding:0 7px 9px; }.search-result { padding:15px 31px 15px 11px; }.search-result strong { font-size:15px; }.search-result p { font-size:12px; }.search-footer { padding:13px 18px; }.next-article { padding:20px; }.not-found { margin:40px auto; padding:30px 23px; }.not-found h1 { font-size:37px; }.not-found p:not(.eyebrow) { font-size:15px; } }
@media(max-width:360px) { .header-inner { padding:0 15px; gap:6px; }.brand-caption,.brand-divider { display:none; }.wordmark { font-size:28px; }.lia-logo { height:28px; }.hero-content { padding-left:19px; padding-right:19px; }.hero h1 { font-size:34px; }.hero-search { padding-left:10px; gap:7px; }.hero-search input { font-size:16px; }.hero-search>.icon { width:16px; height:16px; }.popular-links { font-size:9px; gap:6px; }.home-content,.site-footer { padding-left:19px; padding-right:19px; }.category-card { padding:20px 15px; gap:14px; }.category-card h3 { font-size:17px; }.category-card p { font-size:11px; }.category-icon { width:42px; height:42px; }.card-arrow { display:none; }.section-heading h2 { font-size:26px; }.section-heading .text-link { font-size:10px; }.feature-card { grid-template-columns:33% minmax(0,1fr); }.feature-copy { padding:21px 15px; }.feature-copy h3 { font-size:19px; }.feature-copy p { font-size:11px; }.project-illustration { transform:rotate(-9deg) scale(.62); }.world-illustration { transform:scale(.67); }.policy-card { padding:22px 16px; gap:14px; }.policy-card h3 { font-size:16px; }.policy-card>.icon { display:none; }.closing-note { padding:25px 20px; gap:16px; }.closing-note h2 { font-size:21px; }.closing-note>span { font-size:32px; }.article-main { padding-left:20px; padding-right:20px; }.article-heading h1 { font-size:32px; }.article-section h2 { font-size:22px; } }
@media(max-width:800px) {
  html:not(.js) body:not(.home-page) .site-header { position:static; }
  html:not(.js) body:not(.home-page) .header-inner { flex-wrap:wrap; padding-top:16px; gap:12px; }
  html:not(.js) body:not(.home-page) .header-navigation { position:static; width:100%; padding:0 0 20px; border-bottom:0; box-shadow:none; background:transparent; }
}
@media(max-height:500px) and (min-width:601px) { .search-dialog { margin:12px auto; max-height:calc(100dvh - 24px); }.search-dialog-inner { max-height:calc(100dvh - 24px); }.site-header { position:relative; }.article-sidebar,.desktop-toc { top:20px; max-height:calc(100dvh - 40px); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; animation:none!important; } }
@media print { :root,:root[data-theme="dark"] { color-scheme:light; --page:#fff; --surface:#fff; --surface-soft:#f5f5f5; --text:#000; --muted:#444; --line:#ccc; --accent:#000; --accent-ink:#000; --accent-soft:#f5f5f5; --shadow:none; --header:#fff; --selection:#ddd; }.solid-button { background:#fff; color:#000; border:1px solid #ccc; }.site-header,.site-footer,.article-sidebar,.desktop-toc,.mobile-toc,.article-end,.search-dialog,.hero,.skip-link { display:none!important; }.article-main { padding:0; max-width:none; }.article-layout { display:block; }.article-body { max-width:none; }.article-heading h1 { font-size:30px; }.article-content p,.article-content li { font-size:11pt; }.article-section h2 { font-size:17pt; break-after:avoid; }.article-section { break-inside:auto; }.article-content a { text-decoration:underline; }.breadcrumbs { margin-bottom:25px; } }
