@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-cyrillic-italic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-latin-ext-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-latin-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif Georgian;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/notoserifge-georgian.woff2)format("woff2");unicode-range:U+589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}@font-face{font-family:Noto Serif Georgian;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/notoserifge-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif Georgian;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/notoserifge-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/notosansge-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/notosansge-georgian.woff2)format("woff2");unicode-range:U+589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/notosansge-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/notosansge-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f2ea;--bg-deep:#efe8dc;--surface:#fffdf9;--text:#1b1815;--muted:#6d6355;--line:#e3dacc;--line-soft:#ece4d7;--accent:#b0512a;--accent-hover:#94411f;--accent-soft:#f2e7d9;--accent-ink:#fffdf9;--olive:#5d6b4c;--shadow:0 18px 40px -24px #3c281473;--shadow-lift:0 26px 60px -28px #3c28148c;--radius:18px;--radius-lg:28px;--serif:"Playfair Display", "Noto Serif Georgian", Georgia, "Times New Roman", serif;--font:"Inter", "Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--measure:68ch;--pad:clamp(20px, 5vw, 40px)}:root[data-theme=dark]{--bg:#141210;--bg-deep:#100e0c;--surface:#1e1a16;--text:#ece5da;--muted:#a29684;--line:#322c25;--line-soft:#272119;--accent:#e0895b;--accent-hover:#f0a175;--accent-soft:#2a221b;--accent-ink:#1b1512;--olive:#97a483;--shadow:0 18px 40px -24px #000c;--shadow-lift:0 26px 60px -28px #000000e6}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#141210;--bg-deep:#100e0c;--surface:#1e1a16;--text:#ece5da;--muted:#a29684;--line:#322c25;--line-soft:#272119;--accent:#e0895b;--accent-hover:#f0a175;--accent-soft:#2a221b;--accent-ink:#1b1512;--olive:#97a483}}*{box-sizing:border-box}[hidden]{display:none!important}.theme-switching,.theme-switching *,.theme-switching :before,.theme-switching :after{transition:none!important}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7;transition:background-color .35s,color .35s}.wrap{max-width:760px;padding:clamp(36px, 6vw, 72px) var(--pad) 0;margin:0 auto}.wrap-wide{max-width:1180px;padding:clamp(36px, 6vw, 72px) var(--pad) 0;margin:0 auto}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;font-weight:600;line-height:1.15}h1{margin:0 0 .4em;font-size:clamp(2rem,4.4vw,3rem)}h2{margin:1.8em 0 .5em;font-size:clamp(1.5rem,2.6vw,2rem)}h3{margin:1.6em 0 .4em;font-size:1.2rem}.kicker{text-transform:uppercase;letter-spacing:.24em;color:var(--muted);margin:0 0 14px;font-size:.72rem;font-weight:600}.site-head{z-index:50;background-color:#0000;border-bottom:1px solid #0000;transition:border-color .25s,background-color .35s;position:sticky;top:0}.site-head.is-stuck{border-bottom-color:var(--line);background-color:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.3)blur(12px)}.site-head:not(.is-stuck) .brand,.site-head:not(.is-stuck) .nav a{text-shadow:0 0 10px color-mix(in srgb, var(--bg) 88%, transparent), 0 0 22px color-mix(in srgb, var(--bg) 70%, transparent);font-weight:600}.site-head:not(.is-stuck) .theme-toggle{background-color:color-mix(in srgb, var(--bg) 78%, transparent);border-color:color-mix(in srgb, var(--text) 34%, transparent);color:var(--text);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 10px #1e140a24}.site-head:not(.is-stuck) .lang-switch{background-color:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(6px)}.site-head .inner{padding:14px var(--pad);align-items:center;gap:18px;max-width:1180px;margin:0 auto;display:flex}.brand{font-family:var(--serif);color:var(--text);white-space:nowrap;letter-spacing:-.01em;font-size:1.15rem;font-weight:600;text-decoration:none}.brand:hover{color:var(--accent)}.nav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.nav a{color:var(--text);border-radius:999px;padding:6px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .18s,background-color .18s;position:relative}.nav a:hover{color:var(--text);background-color:var(--accent-soft)}.nav a[aria-current=page]{color:var(--text);font-weight:500}.nav a[aria-current=page]:after{content:"";background-color:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:2px;left:12px;right:12px}.head-tools{align-items:center;gap:10px;display:flex}.theme-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background-color:#0000;border-radius:999px;place-items:center;padding:0;transition:color .18s,border-color .18s,transform .18s;display:grid}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-18deg)}.theme-toggle svg{width:17px;height:17px;display:block}.theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:none}.hero{text-align:center;min-height:92vh;padding:110px var(--pad) clamp(72px, 10vh, 110px);isolation:isolate;--hero-ink:#fff;--hero-soft:#ffffffe0;--hero-accent:#ffb279;justify-content:center;align-items:center;margin-top:-64px;display:flex;position:relative;overflow:hidden}.hero-media{z-index:-2;will-change:transform;position:absolute;inset:-2px}.hero-media img{object-fit:cover;width:100%;height:100%;animation:26s ease-out forwards hero-zoom;display:block}.hero:before,.hero:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.hero:before{background:linear-gradient(180deg, #1c140e80 0%, #1c140e80 18%, #1c140e9e 45%, #1c140ea8 84%, color-mix(in srgb, var(--bg) 84%, transparent) 96%, var(--bg) 100%)}.hero:after{mix-blend-mode:multiply;background-color:#4a2a162e}.hero-body{max-width:860px;margin:0 auto;position:relative}.hero .kicker{color:var(--hero-accent)}.hero h1{max-width:17ch;color:var(--hero-ink);text-shadow:0 2px 24px #140c0659;margin:0 auto 22px;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.02}.hero h1 em{color:var(--hero-accent);font-style:italic}.hero .lead{max-width:52ch;color:var(--hero-soft);text-shadow:0 1px 16px #140c0666;margin:0 auto 30px;font-size:1.06rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero .btn{background-color:var(--hero-accent);color:#2a1a10;font-weight:600}.hero .btn:hover{color:#2a1a10;background-color:#ffc294}.hero .btn-ghost{color:var(--hero-ink);backdrop-filter:blur(4px);box-shadow:inset 0 0 0 1.5px #fff9}.hero .btn-ghost:hover{color:var(--hero-ink);background-color:#ffffff29}.hero-scroll{border-radius:12px;width:22px;height:34px;position:absolute;bottom:26px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1.5px #ffffff80}.hero-scroll span{background-color:#ffffffd9;border-radius:2px;width:3px;height:7px;margin:7px auto 0;animation:1.9s ease-in-out infinite scroll-hint;display:block}@media (width<=760px){.hero{min-height:88vh;margin-top:-8px;padding-top:96px}.hero h1{max-width:none}}.hero-anim>*{animation:.9s cubic-bezier(.2,.8,.2,1) both rise}.hero-anim>:first-child{animation-delay:.15s}.hero-anim>:nth-child(2){animation-delay:.28s}.hero-anim>:nth-child(3){animation-delay:.44s}.hero-anim>:nth-child(4){animation-delay:.58s}@keyframes hero-zoom{0%{transform:scale(1.02)}to{transform:scale(1.12)}}@keyframes scroll-hint{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(9px)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.index-list{border-top:1px solid var(--line);margin:8px 0 0;padding:0;list-style:none}.index-row{border-bottom:1px solid var(--line)}.index-row a{color:var(--text);grid-template-columns:auto 1fr;align-items:baseline;gap:4px 20px;padding:20px 14px;text-decoration:none;transition:background-color .2s,padding-left .2s;display:grid}@media (width>=760px){.index-row a{grid-template-columns:3rem 1fr auto;padding:24px 18px}}.index-row a:hover{background-color:var(--accent-soft);padding-left:24px}.index-num{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;font-size:.78rem}.index-title{font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.25}.index-row a:hover .index-title{color:var(--accent)}.index-meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.index-excerpt{color:var(--muted);grid-column:1/-1;max-width:62ch;margin:0;font-size:.92rem}@media (width>=760px){.index-excerpt{grid-column:2/3}}.article-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(28px,3.5vw,44px);margin:36px 0 0;padding:0;list-style:none;display:grid}@media (width>=980px){.article-grid{grid-template-columns:repeat(3,1fr)}}.article-card{background:0 0;border:0;flex-direction:column;display:flex}.article-card .cover{border-radius:var(--radius);background-color:var(--accent-soft);display:block;overflow:hidden}.article-card .cover img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.article-card:hover .cover img{transform:scale(1.045)}.article-card .body{flex-direction:column;flex:1;padding:18px 2px 0;display:flex}.article-card h3{margin:0 0 .35em;font-size:1.25rem;line-height:1.25}.article-card h3 a{color:var(--text);text-decoration:none}.article-card:hover h3 a{color:var(--accent)}.article-card .excerpt{color:var(--muted);flex:1;margin:0 0 16px;font-size:.92rem}.article-card .more{font-size:.86rem;font-weight:500;text-decoration:none}.article-card .more:hover{text-decoration:underline}.date{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .6em;font-size:.72rem}.filter-bar{z-index:30;background-color:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;margin:28px 0 8px;padding:16px;display:flex;position:sticky;top:62px}.search-field{align-items:center;display:flex;position:relative}.search-field svg{width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;left:14px}.search-field input{width:100%;font:inherit;color:var(--text);background-color:var(--bg);border:1px solid var(--line);border-radius:999px;padding:12px 44px;font-size:.96rem;transition:border-color .18s,box-shadow .18s}.search-field input::placeholder{color:var(--muted)}.search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.search-clear{cursor:pointer;background-color:var(--accent-soft);width:26px;height:26px;color:var(--muted);border:0;border-radius:999px;place-items:center;font-size:15px;line-height:1;display:none;position:absolute;right:10px}.search-clear:hover{color:var(--accent)}.search-field.has-value .search-clear{display:grid}.search-hint{color:var(--muted);margin:0;font-size:.78rem}.search-hint code{font-family:var(--mono);background-color:var(--accent-soft);border-radius:5px;padding:1px 5px;font-size:.92em}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;color:var(--muted);cursor:pointer;border:1px solid var(--line);background-color:#0000;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:.85rem;transition:color .18s,border-color .18s,background-color .18s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--muted)}.chip[aria-pressed=true]{color:var(--accent-ink);background-color:var(--accent);border-color:var(--accent)}.chip .count{font-family:var(--mono);opacity:.72;font-size:.72rem}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(18px,2.4vw,28px);margin:28px 0 0;padding:0;list-style:none;display:grid}.group-title{font-family:var(--font);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);border-bottom:1px solid var(--line);margin:48px 0 0;padding-bottom:10px;font-size:.74rem;font-weight:600}.product-card{background-color:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lift);border-color:var(--line);transform:translateY(-4px)}.product-card .shot{background-color:var(--accent-soft);display:block}.product-card img{aspect-ratio:1;object-fit:contain;width:100%;padding:20px;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block}.product-card img.is-scene{object-fit:cover;padding:0}.product-card:hover img{transform:scale(1.05)}.product-card .body{flex-direction:column;flex:1;padding:16px 18px 20px;display:flex}.product-card h3{margin:0 0 .25em;font-size:1.05rem;line-height:1.3}.product-card h3 a{color:var(--text);text-decoration:none}.product-card:hover h3 a{color:var(--accent)}.product-card p{color:var(--muted);flex:1;margin:0 0 14px;font-size:.87rem}.code-line{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin:0 0 10px;font-size:.7rem}.no-results{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);margin-top:28px;padding:56px 20px;display:none}.no-results.show{display:block}.no-results h3{margin:0 0 .4em;font-size:1.3rem}.no-results p{color:var(--muted);max-width:46ch;margin:0 auto 20px}.no-results .query{font-family:var(--mono);color:var(--accent)}.btn{background-color:var(--accent);color:var(--accent-ink);text-align:center;border-radius:999px;padding:11px 22px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .18s,transform .18s;display:inline-block}.btn:hover{background-color:var(--accent-hover);color:var(--accent-ink);transform:translateY(-2px)}.btn-soft{background-color:var(--accent-soft);color:var(--accent)}.btn-soft:hover{background-color:var(--accent-soft);color:var(--accent-hover)}.btn-ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line);background-color:#0000}.btn-ghost:hover{background-color:var(--accent-soft);color:var(--text)}.tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:.72rem;display:inline-block}.fallback-note,.disclosure{color:var(--muted);background-color:var(--accent-soft);border-radius:12px;margin:0 0 24px;padding:12px 16px;font-size:.82rem}.btn .ext{vertical-align:baseline;opacity:.75;margin-left:6px;font-size:.85em;line-height:1;display:inline-block}.new-tab-note{color:var(--muted);margin-left:12px;font-size:.78rem;display:inline-block}@media (width<=640px){.new-tab-note{margin:8px 0 0;display:block}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:clamp(48px,7vw,88px);display:flex}.section-head h2{margin:0}.section-head a{font-size:.9rem}.product-box{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:20px;margin:44px 0;padding:22px;display:flex}.product-box img{object-fit:contain;width:96px;height:96px}.product-box .txt{flex:1;min-width:200px}.product-box h3{margin:0 0 .2em;font-size:1.1rem}.product-box p{color:var(--muted);margin:0 0 14px;font-size:.9rem}.prose{max-width:var(--measure)}.prose p,.prose li{font-size:1.13rem;line-height:1.75}.prose img{border-radius:var(--radius);max-width:100%;height:auto}.article-hero{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);margin:24px 0 36px}.prose ul,.prose ol{padding-left:1.3em}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);font-family:var(--serif);margin:1.8em 0;padding:4px 0 4px 22px;font-size:1.15rem;font-style:italic}.prose table{border-collapse:collapse;width:100%;font-size:.92rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}.prose th{font-weight:600}.table-scroll{overflow-x:auto}.site-foot{border-top:1px solid var(--line);background-color:var(--bg-deep);padding:40px var(--pad) 56px;color:var(--muted);margin-top:clamp(72px,10vw,128px);font-size:.84rem}.site-foot .inner{max-width:1180px;margin:0 auto}.site-foot p{max-width:70ch;margin:.5em 0}.to-top{right:clamp(16px,3vw,32px);bottom:calc(clamp(16px, 3vw, 32px) + var(--chat-launcher-space,0px));z-index:40;border:1px solid var(--line);background-color:var(--surface);width:46px;height:46px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:999px;place-items:center;padding:0;transition:opacity .25s,transform .25s,color .18s,border-color .18s;display:grid;position:fixed;transform:translateY(12px)}.to-top.show{opacity:1;pointer-events:auto;transform:none}.to-top:hover{color:var(--accent);border-color:var(--accent)}.to-top svg{width:19px;height:19px;display:block}.lang-switch{background-color:var(--accent-soft);border-radius:999px;gap:2px;padding:3px;display:flex}.lang-switch a{letter-spacing:.06em;color:var(--muted);border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s}.lang-switch a:hover{color:var(--accent)}.lang-switch a.active{background-color:var(--accent);color:var(--accent-ink)}@media (width<=760px){.site-head .inner{flex-wrap:wrap;gap:10px 12px}.nav{order:3;justify-content:flex-start;gap:2px;width:100%;margin-left:0}.nav a{padding:6px 10px;font-size:.86rem}.head-tools{margin-left:auto}.filter-bar{position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--chat-launcher-space:4.25rem}.chat-launcher[data-astro-cid-pmyxn7tj]{z-index:60;background:var(--accent);max-width:calc(100vw - 2rem);color:var(--accent-ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.6rem;padding:.55rem 1rem .55rem .6rem;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);box-shadow:0 6px 22px #0000003d}.chat-launcher[data-astro-cid-pmyxn7tj]:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0000004d}.chat-launcher[data-astro-cid-pmyxn7tj].is-open{opacity:0;pointer-events:none;transform:translateY(8px)}.chat-launcher-icon[data-astro-cid-pmyxn7tj]{background:#ffffff2e;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;display:grid}.chat-launcher-icon[data-astro-cid-pmyxn7tj] svg[data-astro-cid-pmyxn7tj]{width:1.15rem;height:1.15rem}.chat-launcher-text[data-astro-cid-pmyxn7tj]{flex-direction:column;min-width:0;line-height:1.25;display:flex}.chat-launcher-text[data-astro-cid-pmyxn7tj] strong[data-astro-cid-pmyxn7tj]{font-size:.88rem;font-weight:650}.chat-launcher-text[data-astro-cid-pmyxn7tj] small[data-astro-cid-pmyxn7tj]{opacity:.85;font-size:.71rem}.chat-panel[data-astro-cid-pmyxn7tj]{z-index:60;border:1px solid var(--line);background:var(--bg);border-radius:1rem;flex-direction:column;width:min(600px,100vw - 2.5rem);height:min(34rem,100vh - 8rem);display:flex;position:fixed;bottom:calc(clamp(16px,3vw,32px) + 3.6rem);right:1.25rem;overflow:hidden;box-shadow:0 14px 40px #0003}.chat-panel[data-astro-cid-pmyxn7tj][hidden]{display:none}.chat-head[data-astro-cid-pmyxn7tj]{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .9rem;display:flex}.chat-head-tools[data-astro-cid-pmyxn7tj]{gap:.25rem;display:flex}.chat-head[data-astro-cid-pmyxn7tj] button[data-astro-cid-pmyxn7tj]{width:1.9rem;height:1.9rem;color:inherit;opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid}.chat-head[data-astro-cid-pmyxn7tj] button[data-astro-cid-pmyxn7tj]:hover{opacity:1;background:var(--bg-deep)}.chat-head[data-astro-cid-pmyxn7tj] svg[data-astro-cid-pmyxn7tj]{width:1.05rem;height:1.05rem}.chat-log[data-astro-cid-pmyxn7tj]{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:.6rem;padding:.9rem;display:flex;overflow-y:auto}.chat-log[data-astro-cid-pmyxn7tj]::-webkit-scrollbar{width:6px}.chat-log[data-astro-cid-pmyxn7tj]::-webkit-scrollbar-track{background:0 0}.chat-log[data-astro-cid-pmyxn7tj]::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.chat-log[data-astro-cid-pmyxn7tj]:hover::-webkit-scrollbar-thumb{background:var(--muted,var(--line))}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.85rem;max-width:88%;margin:0;padding:.7rem .9rem;font-size:.94rem;line-height:1.55}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg.bot{background:var(--bg-deep);border-bottom-left-radius:.25rem}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg.me{background:var(--accent);max-width:78%;color:var(--accent-ink);border-bottom-right-radius:.25rem;align-self:flex-end}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg.waiting{opacity:.6;font-style:italic}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg a{color:inherit;text-decoration:underline}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg .chat-link{text-underline-offset:2px;margin:.15rem 0;font-weight:600;text-decoration-thickness:1px;display:inline-block}.chat-log[data-astro-cid-pmyxn7tj] .chat-msg.bot .chat-link{color:var(--accent)}.chat-form[data-astro-cid-pmyxn7tj]{border-top:1px solid var(--line);gap:.4rem;padding:.6rem;display:flex}.chat-form[data-astro-cid-pmyxn7tj] input[data-astro-cid-pmyxn7tj]{border:1px solid var(--line);background:var(--bg);min-width:0;color:inherit;font:inherit;border-radius:.6rem;flex:1;padding:.55rem .7rem;font-size:.92rem}.chat-form[data-astro-cid-pmyxn7tj] button[data-astro-cid-pmyxn7tj]{background:var(--accent);width:2.4rem;color:var(--accent-ink);cursor:pointer;border:0;border-radius:.6rem;flex:none;place-items:center;display:grid}.chat-mic[data-astro-cid-pmyxn7tj]{background:var(--bg-deep)!important;color:inherit!important;border:1px solid var(--line)!important}.chat-mic[data-astro-cid-pmyxn7tj][hidden]{display:none}.chat-mic[data-astro-cid-pmyxn7tj].is-recording{animation:1.1s ease-in-out infinite chat-pulse;background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important}@keyframes chat-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.chat-mic[data-astro-cid-pmyxn7tj].is-recording{animation:none}}.chat-form[data-astro-cid-pmyxn7tj] svg[data-astro-cid-pmyxn7tj]{width:1.05rem;height:1.05rem}.chat-note[data-astro-cid-pmyxn7tj]{opacity:.6;margin:0;padding:0 .9rem .7rem;font-size:.72rem}@media (width<=30rem){.chat-panel[data-astro-cid-pmyxn7tj]{width:auto;height:min(28rem,100vh - 7rem);bottom:calc(clamp(16px,3vw,32px) + 3.4rem);left:.6rem;right:.6rem}}@media (prefers-reduced-motion:reduce){.chat-launcher[data-astro-cid-pmyxn7tj]{transition:none}}
