:root{--r:#F8E7E8;--rd:#C96F79;--b:#E7EFFB;--d:#303D59;--c:#F6F8FC;--rb:#EBD5D8;--bb:#D8E3F3;--t:#30343D;--t2:#6E7480}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--t);font:17px/1.7 Inter,system-ui,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
h1,h2{font-family:Lora,Georgia,serif;color:var(--d);font-weight:500}
.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;max-width:620px;margin:auto}
.env{width:96px;height:64px;border:1px solid var(--rb);background:var(--r);border-radius:4px;margin-bottom:16px}
button{background:var(--d);color:#fff;border:0;border-radius:6px;padding:12px 22px;font:inherit;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--rd);outline-offset:2px}button[disabled]{opacity:.5}
.note,.sub{color:var(--t2);font-size:14px}
#reader main{max-width:680px;margin:0 auto;padding:56px 20px 96px}#reader p{margin:0 0 1.1em}blockquote{border-left:3px solid var(--rd);background:var(--r);margin:1.4em 0;padding:12px 18px;font-family:Lora,Georgia,serif}
#tocb{position:fixed;top:10px;left:10px;background:var(--c);color:var(--d);border:1px solid var(--bb);padding:6px 12px;z-index:3}
#toc{position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);background:var(--c);border-right:1px solid var(--bb);padding:56px 16px;overflow:auto;z-index:2}#toc li{list-style:none;padding:6px 0;color:var(--t2)}#toc .cur{color:var(--d);font-weight:600}#toc ol{padding:0}
@media(min-width:1000px){#toc[hidden]{display:block}#reader main{margin-left:340px}#tocb{display:none}}
.chat{background:var(--c);border:1px solid var(--bb);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px;margin:1.4em 0;font-size:16px}
.m{max-width:85%;padding:8px 12px;border-radius:12px;overflow-wrap:anywhere}.m b{display:block;font-size:12px;color:var(--t2)}.them{background:#fff;border:1px solid var(--bb);align-self:flex-start}.me{background:var(--b);align-self:flex-end}
.dsep{align-self:center;font-size:12px;color:var(--t2);background:#fff;border:1px solid var(--bb);border-radius:10px;padding:0 10px}
#bar{position:fixed;left:0;right:0;bottom:0;height:3px;background:var(--bb)}#bar i{display:block;height:100%;background:var(--rd);width:0}
.box{max-width:560px;margin:32px auto;padding:0 16px}.box.wide{max-width:960px}label{display:block;margin:10px 0}input,textarea,select{width:100%;padding:8px;border:1px solid var(--bb);border-radius:6px;font:inherit}.err{color:#8a2d38}table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}td,th{border-bottom:1px solid var(--bb);padding:4px 8px;text-align:left}code{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.cover{border:1px solid var(--rb);background:linear-gradient(#fff,var(--r));border-radius:3px 10px 10px 3px;box-shadow:inset 10px 0 0 var(--d),0 10px 30px rgba(48,61,89,.08);padding:56px 36px 40px 52px;margin-bottom:28px;width:100%}
.cover h1{font-size:clamp(28px,6vw,40px);margin:.3em 0}.orn{color:var(--rd);font-style:normal;font-size:22px}.cover hr{border:0;border-top:1px solid var(--rb);width:60px;margin:22px auto}.intro{font-family:Lora,Georgia,serif;font-style:italic;color:var(--t)}
#reader main{font-family:Lora,Georgia,serif;font-size:19px;line-height:1.85}#reader button,#toc{font-family:Inter,system-ui,sans-serif}#ch{font-size:28px;text-align:center;margin:0 0 1.4em}#ch:after{content:"\25E6  \25E6  \25E6";display:block;color:var(--rd);font-size:12px;letter-spacing:8px;margin-top:10px}
#bd{opacity:0;transition:opacity .5s}#bd.in{opacity:1}#next{display:block;margin:32px auto 0}#msg{text-align:center;color:#8a2d38;font:14px Inter,sans-serif}
.chat{font-family:Inter,system-ui,sans-serif}.me{background:var(--b)}.them{background:var(--r);border-color:var(--rb)}
