:root{--bg:#f8f4ec;--fg:#1c1916;--muted:#5c544e;--line:#e4dcd0;--line-soft:#efe9de;--accent:#5f7a3c;--accent-deep:#3f5527;--accent-soft:#eef2e4;--amber:#b8792f;--card:#fff;--hover:#f1ece2;--wanted:#b23a3a;--max:58rem;--article:44rem;--gutter:1.25rem;--radius:8px;--shadow:0 1px 2px #2b26220a, 0 6px 18px -12px #2b262240;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,system-ui,sans-serif;line-height:1.85;display:flex}main{flex:1 0 auto;width:100%}a{color:var(--accent-deep);text-decoration-color:var(--line);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s,background-color .15s,border-color .15s}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}h1,h2,h3{letter-spacing:.01em;overflow-wrap:anywhere;font-weight:600;line-height:1.35}h1{margin:0 0 .6rem;font-size:clamp(1.6rem,1.2rem + 1.6vw,2rem)}h2{border-bottom:1px solid var(--line);margin:2.6rem 0 .9rem;padding-bottom:.35rem;font-size:1.25rem}h2 a{text-decoration:none}h3{margin:1.8rem 0 .5rem;font-size:1.05rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}code{background:var(--hover);border-radius:3px;padding:.1em .35em;font-family:ui-monospace,Menlo,monospace;font-size:.9em}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}table{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;margin:1rem 0 1.5rem;font-size:.95rem;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:.6rem .75rem}th{background:var(--accent-soft);color:var(--accent-deep);white-space:nowrap;width:8rem;font-weight:500}tr:last-child th,tr:last-child td{border-bottom:0}thead th{border-bottom:1px solid var(--line)}@media (width<=40rem){table{font-size:.9rem}th,td{padding:.5rem .4rem}th{white-space:normal;width:5.5rem}}.wrap{max-width:var(--max);padding:0 var(--gutter);width:100%;margin:0 auto}main.wrap{padding-top:2.25rem;padding-bottom:5rem}@media (width<=40rem){main.wrap{padding-top:1.5rem;padding-bottom:3.5rem}}article{max-width:var(--article)}header.site{background:var(--card);border-bottom:1px solid var(--line)}header.site .wrap{flex-wrap:wrap;align-items:center;gap:1rem 2rem;min-height:4.25rem;padding-top:.6rem;padding-bottom:.6rem;display:flex}header.site .brand{color:var(--fg);white-space:nowrap;flex-direction:column;padding:.2rem 0;line-height:1.3;text-decoration:none;display:flex}header.site .brand strong{letter-spacing:.02em;font-size:1.2rem;font-weight:700}header.site .brand small{color:var(--muted);letter-spacing:.03em;font-size:.72rem;font-weight:400}header.site nav{gap:.15rem;margin-left:auto;font-size:.95rem;display:flex}header.site nav a{color:var(--muted);border-radius:999px;padding:.35em .8em;line-height:1.5;text-decoration:none;display:inline-block}header.site nav a:hover{color:var(--fg);background:var(--hover)}header.site nav a[aria-current=page]{color:var(--accent-deep);background:var(--accent-soft);font-weight:600}header.site nav a.nav-search{border:1px solid var(--line);margin-left:.4rem}header.site nav .nav-count{background:var(--accent-deep);color:#fff;text-align:center;vertical-align:.1em;border-radius:999px;min-width:1.4em;margin-left:.35em;padding:0 .4em;font-size:.72rem;line-height:1.5;display:inline-block}header.site nav .nav-count[hidden]{display:none}@media (width<=48rem){header.site .wrap{min-height:0;padding-top:.75rem;padding-bottom:0;display:block}header.site .brand{padding-bottom:.4rem}header.site nav{margin:0 calc(-1 * var(--gutter));padding:0 calc(var(--gutter) - .6em) .6rem;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}header.site nav::-webkit-scrollbar{display:none}header.site nav a{flex:none}}footer.site{border-top:1px solid var(--line);background:var(--card);color:var(--muted);flex-shrink:0;margin-top:auto;font-size:.9rem}footer.site .wrap{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem 3rem;padding-top:2.25rem;padding-bottom:2rem;display:grid}footer.site .about strong{color:var(--fg);margin-bottom:.35rem;font-size:1.05rem;display:block}footer.site .about p{max-width:30rem;margin:0}footer.site nav{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.1rem 1.5rem;display:grid}footer.site nav a{color:var(--muted);padding:.25em 0;text-decoration:none;display:inline-block}footer.site nav a:hover{color:var(--accent-deep)}footer.site .copy{border-top:1px solid var(--line-soft);grid-column:1/-1;margin-top:.5rem;padding-top:1rem;font-size:.8rem}footer.site .copy a{color:inherit;text-decoration:none}@media (width<=40rem){footer.site .wrap{grid-template-columns:1fr;gap:1.25rem;padding-top:1.75rem}}.eyebrow{color:var(--muted);margin:0 0 .4rem;font-size:.85rem}.eyebrow a{color:var(--muted);text-decoration:none}.eyebrow a:hover{color:var(--accent-deep);text-decoration:underline}.meta-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:.4rem;display:flex}.meta-row .eyebrow{margin:0}.meta-row .meta-actions{align-items:center;margin-left:auto;display:flex}.meta-row .meta-actions:empty{display:none}.meta-row .date{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.6rem;margin-left:0;display:flex}.meta-row .date .badge{vertical-align:0}.readings{color:var(--muted);flex-wrap:wrap;gap:.25rem 1.25rem;margin:0 0 1.25rem;font-size:.92rem;line-height:1.7;display:flex}.readings b{color:var(--fg);font-weight:500}.badge{background:var(--accent-soft);color:var(--accent-deep);vertical-align:.1em;white-space:nowrap;border-radius:999px;padding:.05em .65em;font-size:.72rem;line-height:1.6;display:inline-block}.badge.status-draft{color:var(--wanted);background:#f7e9e9}.badge.status-reviewed{color:var(--amber);background:#f5eddc}.search-box{width:100%;max-width:38rem;color:var(--fg);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:.8rem 1.1rem;font-family:inherit;font-size:1rem}.search-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.search-box::placeholder{color:#a39a92}.list{margin:0 0 1rem;padding:0;list-style:none}.list li{border-radius:var(--radius);margin:0 -.85rem;padding:.75rem .85rem;line-height:1.7;position:relative}.list li+li:before{content:"";border-top:1px solid var(--line-soft);position:absolute;top:0;left:.85rem;right:.85rem}.list li:hover{background:#2b262209}.list li>a:first-child{font-weight:600;text-decoration:none}.list li>a:first-child:after{content:"";border-radius:inherit;position:absolute;inset:0}.list li .sub{color:var(--muted);margin-top:.1rem;font-size:.9rem;display:block}.list li .sub a,.list li .badge,.list li .reading{z-index:1;position:relative}.list li .reading{color:var(--muted);margin-left:.6rem;font-size:.9rem}.list li .badge{margin-left:.5rem}.list .nested{z-index:1;border-left:2px solid var(--line);margin:.45rem 0 0 .6rem;padding-left:.7rem;position:relative}.list .nested li{margin:0 -.6rem;padding:.35rem .6rem}.list .nested li+li:before{left:.6rem;right:.6rem}.list .nested li>a:first-child{font-weight:500}.list .nested .sub{font-size:.86rem}.grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;transition:border-color .15s,box-shadow .15s;position:relative}.card>a{font-size:1.05rem;font-weight:600;text-decoration:none}.card>a:first-child:after{content:"";border-radius:inherit;position:absolute;inset:0}.card:has(>a:first-child):hover{border-color:#cbc2b2}.card p{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.card .count{color:var(--accent-deep);margin-top:.5rem;font-size:.8rem;display:inline-block}.tags{flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1.2rem;display:flex}.tags a,.tags .wanted{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.3em .9em;font-size:.88rem;line-height:1.5;text-decoration:none;display:inline-block}.tags a:hover{color:var(--accent-deep);border-color:#cbc2b2}.tags a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tags .wanted{border-style:dashed;border-color:var(--wanted)}.wanted{color:var(--wanted);border-bottom:1px dashed var(--wanted);cursor:help}.tags .wanted{border-bottom-style:dashed}.prose img{max-width:100%;height:auto}.column-header-image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);width:100%;height:auto;margin:1.2rem 0 1.5rem;display:block}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:1rem 0;padding:.2rem 1rem}.prose ul,.prose ol{padding-left:1.5rem}.prose li{margin-bottom:.25rem}.prose .table-wrap{margin:1rem 0 1.5rem;overflow-x:auto}.prose .table-wrap table{margin:0}.prose th{width:auto}.products ul{flex-wrap:wrap;gap:.75rem;margin:.8rem 0 .6rem;padding:0;list-style:none;display:flex}.products li{flex:18rem;max-width:26rem}.products li a{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--fg);box-shadow:var(--shadow);align-items:flex-start;gap:.9rem;padding:.75rem .9rem;text-decoration:none;display:flex}.products li a:hover{background:var(--card);color:var(--fg);border-color:#cbc2b2}.products img{object-fit:contain;background:var(--bg);border-radius:3px;flex:none;width:4.5rem;height:6.5rem}.products .body{flex-direction:column;gap:.15rem;min-width:0;font-size:.9rem;line-height:1.55;display:flex}.products .title{color:var(--fg);font-weight:600}.products .meta{color:var(--muted);font-size:.82rem}.products .note{color:var(--muted);margin-top:.2rem;font-size:.85rem}.products .cta{color:var(--amber);margin-top:auto;padding-top:.35rem;font-size:.8rem}.products li a:hover .cta{text-decoration:underline}.products .disclosure{color:var(--muted);margin:0;font-size:.78rem}.sources{color:var(--muted);margin-top:1rem;font-size:.9rem}.sources ul{margin:0;padding-left:1.2rem}.sources li{margin-bottom:.45rem;line-height:1.7}.sources li a{overflow-wrap:anywhere}.sources .note{color:var(--muted)}.hero{padding:1.5rem 0}.hero h1{margin-bottom:.75rem;font-size:clamp(1.9rem,1.3rem + 2.4vw,2.6rem)}.hero p{color:var(--muted);max-width:38rem;margin-bottom:1.5rem;font-size:1.08rem}.entry-points{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 1rem;display:grid}@media (width<=40rem){.entry-points{grid-template-columns:1fr}.hero{padding-top:.75rem}}.entry-points .card h2{border:0;margin:0 0 .4rem;padding:0;font-size:1.15rem}.entry-points .card p{font-size:.95rem}.entry-points .card .links{flex-wrap:wrap;gap:.4rem .6rem;margin-top:.8rem;display:flex}.entry-points .card .links a{background:var(--accent-soft);border-radius:999px;padding:.3em .9em;font-size:.9rem;font-weight:600;text-decoration:none}.entry-points .card .links a:hover{background:#e3ead3}.kana-nav{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1.5rem;font-size:.95rem;display:flex}.kana-nav a,.kana-nav span{border-radius:6px;justify-content:center;align-items:center;min-width:2.2rem;padding:.25em .5em;text-decoration:none;display:inline-flex}.kana-nav a{background:var(--card);border:1px solid var(--line)}.kana-nav a:hover{border-color:#cbc2b2}.kana-nav span{color:#c9c1b5}.two-col{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}@media (width<=40rem){.two-col{grid-template-columns:1fr}}section[id]{scroll-margin-top:1rem}ruby{ruby-position:over;ruby-align:center}rt{color:var(--muted);letter-spacing:0;font-size:.55em;font-weight:400;line-height:1}h1 rt{font-size:.45em}a ruby rt{color:var(--muted)}.list rt,.tags rt{font-size:.5em}.cat-green{--cat:#6f9a48}.cat-white{--cat:#c6bd9c}.cat-yellow{--cat:#d1a93a}.cat-oolong{--cat:#b0782f}.cat-black{--cat:#a1452a}.cat-dark{--cat:#5a3a2b}.cat-scented{--cat:#a67591}.lead{max-width:var(--article)}.lead a{font-weight:600}.oxi-band{counter-reset:cat;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;margin:1.5rem 0 1rem;padding:0;list-style:none;display:grid}.oxi-band li a{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--cat);border-radius:var(--radius);height:100%;color:var(--fg);flex-direction:column;gap:.1rem;padding:.55rem .6rem .6rem;line-height:1.4;text-decoration:none;display:flex}.oxi-band li a:hover{border-color:#cbc2b2;border-top-color:var(--cat);background:var(--hover)}.oxi-band b{font-size:.95rem;font-weight:600}.oxi-band small{color:var(--muted);font-size:.75rem}@media (width<=48rem){.oxi-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.oxi-band li a{padding:.45rem .5rem .5rem}.oxi-band b{font-size:.88rem}.oxi-band small{font-size:.7rem}}.cat-block h2{flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin-top:2.4rem;display:flex}.cat-block h2:before{content:"";background:var(--cat);vertical-align:0;border-radius:50%;align-self:center;width:.7em;height:.7em;margin-right:.2em;display:inline-block}.cat-block h2 .oxi{color:var(--muted);font-size:.85rem;font-weight:400}.cat-block h2 .more{color:var(--accent-deep);white-space:nowrap;margin-left:auto;font-size:.85rem;font-weight:500}.cat-block h2 .more:after{content:" →"}@media (width<=40rem){.cat-block h2 .more{flex-basis:100%;margin-left:0;font-size:.82rem}}.cat-block .cat-summary{max-width:var(--article);color:var(--muted);margin-bottom:.6rem;font-size:.95rem}.cat-block .cat-process{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.2rem .4rem;margin-bottom:1rem;font-size:.9rem;display:flex}.cat-block .cat-process .label{color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;margin-right:.3rem;padding:.1em .6em;font-size:.78rem}.cat-block .cat-process .arrow{color:#b8afa3}.featured{margin:0;padding:0;list-style:none}.featured li{border-radius:6px;margin:0 -.6rem;padding:.45rem .6rem;line-height:1.65;position:relative}.featured li+li:before{content:"";border-top:1px solid var(--line-soft);position:absolute;top:0;left:.6rem;right:.6rem}.featured li:hover{background:#2b262209}.featured li>a:first-child{font-weight:600;text-decoration:none}.featured li>a:first-child:before{content:"";border-radius:inherit;position:absolute;inset:0}.featured .reading{color:var(--muted);margin:0 .55rem 0 .5rem;font-size:.85rem}.featured .sub{color:var(--muted);font-size:.88rem}.featured .kids{z-index:1;border-left:2px solid var(--line);flex-wrap:wrap;gap:.1rem .9rem;margin-top:.15rem;padding-left:.9rem;font-size:.88rem;line-height:1.6;display:flex;position:relative}.featured .kids a{white-space:nowrap;font-weight:500;text-decoration:none}.featured .kids .reading{margin-left:.3rem;font-size:.76rem}.others{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:.15rem 1rem;margin:.7rem 0 0;padding-top:.6rem;font-size:.92rem;line-height:1.7;display:flex}.others a{white-space:nowrap;font-weight:500;text-decoration:none}.others .reading{color:var(--muted);margin-left:.3rem;font-size:.78rem;font-weight:400}.others .group{white-space:nowrap}.others .kids{color:var(--muted);margin-left:.15rem;font-size:.85rem}.others .kids a{margin:0;font-weight:400}.chat{--chat-w:24rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-fab{z-index:50;background:var(--accent-deep);color:#fff;font:inherit;letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.1rem .7rem .95rem;font-size:.95rem;font-weight:600;transition:background-color .15s,transform .15s,opacity .15s;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 2px 4px #2b26221f,0 10px 24px -10px #2b262273}.chat-fab:hover{background:var(--accent)}.chat-fab[aria-expanded=true]{opacity:0;pointer-events:none;transform:scale(.9)}.chat-fab svg{flex:none}.chat-panel{z-index:60;width:min(var(--chat-w), calc(100vw - 2.5rem));background:var(--card);height:min(44rem,100dvh - 2.5rem);color:var(--fg);border:1px solid var(--line);transform-origin:100% 100%;border-radius:14px;flex-direction:column;animation:.18s ease-out chat-in;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden;box-shadow:0 2px 6px #2b262214,0 24px 48px -16px #2b262266}.chat-panel[hidden]{display:none}@keyframes chat-in{0%{opacity:0;transform:translateY(.5rem)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-fab{transition:none}}.chat-head{background:var(--accent-deep);color:#fff;align-items:center;gap:.5rem;padding:.75rem .75rem .75rem 1.1rem;display:flex}.chat-head>div{flex:auto;min-width:0}.chat-head h2{color:#fff;border:0;margin:0;padding:0;font-size:1rem;line-height:1.4}.chat-head button{color:#fffc;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;padding:.3rem;line-height:1;display:inline-flex}.chat-head button:hover{color:#fff;background:#ffffff26}.chat-head button[hidden]{display:none}.chat-clear{padding:.35rem .6rem!important;font-size:.8rem!important}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:.75rem;padding:1rem 1rem .5rem;display:flex;overflow-y:auto}.chat-empty p{color:var(--muted);margin:0 0 .6rem;font-size:.9rem}.chat-suggest{flex-wrap:wrap;gap:.45rem;display:flex}.chat-suggest button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--accent-deep);cursor:pointer;text-align:left;border-radius:999px;padding:.35em .85em;font-size:.85rem;line-height:1.5}.chat-suggest button:hover{border-color:var(--accent);background:var(--accent-soft)}.chat-msg{overflow-wrap:anywhere;max-width:92%;font-size:.93rem;line-height:1.75;animation:.22s ease-out both chat-bubble-in}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:none}}.chat-msg.user{background:var(--accent-soft);color:var(--fg);white-space:pre-wrap;border-radius:14px 14px 4px;align-self:flex-end;padding:.5rem .85rem}.chat-msg.assistant{background:var(--bg);border:1px solid var(--line-soft);border-radius:14px 14px 14px 4px;align-self:flex-start;padding:.6rem .9rem}.chat-msg.assistant p{margin:0 0 .6rem}.chat-msg.assistant p:last-child,.chat-msg.assistant ul:last-child,.chat-msg.assistant ol:last-child{margin-bottom:0}.chat-msg.assistant ul,.chat-msg.assistant ol{margin:0 0 .6rem;padding-left:1.3rem}.chat-msg.assistant li{margin:.15rem 0}.chat-msg.assistant.error{color:var(--wanted);background:#f7e9e9;border-color:#ecd3d3}.chat-typing{align-items:center;gap:.3rem;height:1.6em;padding:0 .1rem;display:inline-flex}.chat-typing span{background:var(--accent);opacity:.35;border-radius:50%;width:.42rem;height:.42rem;animation:1.3s ease-in-out infinite chat-dot}.chat-typing span:nth-child(2){animation-delay:.16s}.chat-typing span:nth-child(3){animation-delay:.32s}@keyframes chat-dot{0%,55%,to{opacity:.35;transform:translateY(0)}25%{opacity:1;transform:translateY(-.28rem)}}.chat-msg.assistant.streaming>:last-child:after,.chat-msg.assistant.streaming>ul:last-child>li:last-child:after{content:"";vertical-align:-.15em;background:var(--accent);border-radius:1px;width:2px;height:1em;margin-left:.2em;animation:.9s ease-in-out infinite chat-caret;display:inline-block}.chat-msg.assistant.streaming>ul:last-child:after,.chat-msg.assistant.streaming>ol:last-child:after{display:none}@keyframes chat-caret{0%,to{opacity:1}50%{opacity:.15}}.chat-sources{max-width:92%;color:var(--muted);align-self:flex-start;margin:-.35rem 0 0;font-size:.8rem;line-height:1.7;animation:.3s ease-out both chat-fade-in}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}.chat-sources a{overflow-wrap:anywhere;margin-right:.6rem}.chat-form{border-top:1px solid var(--line);align-items:flex-end;gap:.5rem;padding:.6rem .75rem .75rem;display:flex}.chat-form textarea{resize:none;min-width:0;max-height:7.5rem;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;flex:auto;padding:.55rem .8rem;font-size:16px;line-height:1.5}.chat-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.chat-form button{background:var(--accent-deep);color:#fff;cursor:pointer;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.chat-form button:hover{background:var(--accent)}.chat-form button:disabled{background:var(--accent-deep);opacity:.75;cursor:default}.chat-form button.busy svg{display:none}.chat-form button.busy:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite chat-spin}@keyframes chat-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.chat-msg,.chat-sources{animation:none}.chat-typing span{animation:1.3s ease-in-out infinite chat-dot-fade}@keyframes chat-dot-fade{0%,55%,to{opacity:.35}25%{opacity:1}}}.chat-backdrop{display:none}@media (width<=40rem){.chat-fab{bottom:1rem;right:1rem}.chat-backdrop{z-index:55;background:#1c191659;display:block;position:fixed;inset:0}.chat-backdrop[hidden]{display:none}.chat-panel{inset:max(2.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom));border-radius:14px;width:auto;height:auto}body.chat-open{overflow:hidden}}
