
:root{--bg:#f5faf6;--card:#fff;--fg:#2b3a45;--mut:#6b7c8c;--ln:#d5ebe4;--ac:#0fa393;--on:#fff;--c0:#d6eafc;--c1:#fde0d8;--c2:#fdf1c4;--c3:#e6defc;--c4:#cdf3e6;--c5:#ffd6ea;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#14211f;--card:#1d2e2b;--fg:#eaf5f2;--mut:#9db3ae;--ln:#2c4540;--ac:#47d1bf;--on:#08201c;--c0:#1f4468;--c1:#6a2f22;--c2:#665510;--c3:#41357a;--c4:#175a48;--c5:#6b2a4a}}
:root[data-theme=dark]{color-scheme:dark;--bg:#14211f;--card:#1d2e2b;--fg:#eaf5f2;--mut:#9db3ae;--ln:#2c4540;--ac:#47d1bf;--on:#08201c;--c0:#1f4468;--c1:#6a2f22;--c2:#665510;--c3:#41357a;--c4:#175a48;--c5:#6b2a4a}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.75 system-ui,"PingFang SC","Microsoft YaHei",sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);padding:10px 14px 6px;display:flex;align-items:center;gap:10px}
header b{font-size:18px;color:var(--ac)}header span{font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
main{max-width:720px;margin:0 auto;padding:4px 14px 120px}
section{display:none}section.on{display:block}
h2{font-size:20px;margin:8px 0}h3{font-size:16px;margin:16px 0 6px}
.card{background:var(--card);border-radius:16px;padding:14px;margin:10px 0}
.b{display:inline-block;background:var(--ac);color:var(--on);border:0;border-radius:12px;padding:8px 14px;font-size:14px;margin:3px 4px 3px 0;cursor:pointer}
.b.g{background:var(--c4);color:var(--fg)}
.seg{display:inline-flex;background:var(--c4);border-radius:14px;padding:3px;margin:4px 6px 4px 0}
.seg button{border:0;background:none;color:var(--fg);padding:6px 14px;border-radius:11px;font-size:14px}
.seg button.on{background:var(--ac);color:var(--on)}
input[type=text],textarea{width:100%;box-sizing:border-box;padding:10px;border:2px solid var(--ln);border-radius:12px;background:var(--card);color:var(--fg);font:15px inherit}
textarea{min-height:90px}.m{color:var(--mut);font-size:14.5px}
#txt{font:calc(var(--fs,19)*1px)/2.05 Georgia,"Times New Roman",serif}#txt p{margin:0 0 14px}#txt h3{font:700 15px system-ui;color:var(--ac);margin:18px 0 6px}
.w.k{border-radius:5px;padding:0 2px}.k.n{background:var(--c0)}.k.v{background:var(--c1)}.k.a{background:var(--c2)}.k.o{background:var(--c3)}
rt{font:12.5px system-ui;color:var(--mut)}.s.sel{background:var(--c2);border-radius:5px}
.z{font:17px/1.7 system-ui;color:var(--ac);display:block;margin:0 0 12px}

.big{font-size:22px;font-weight:700}.big small{font:13px system-ui;color:var(--mut)}.zhw{font-size:16px;color:var(--mut)}.zh{font-size:19px;line-height:1.7;font-weight:600;margin:8px 0}
.pr{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.pr small{flex-basis:100%;color:var(--mut);margin-top:-2px}
.ch{border-radius:8px;padding:3px 9px;font-size:16px}
.c0{background:var(--c0)}.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}.c4{background:var(--c4)}.c5{background:var(--c5)}
.opt{display:block;width:100%;text-align:left;margin:6px 0;padding:12px 14px;border:2px solid var(--ln);background:var(--card);color:var(--fg);border-radius:12px;font-size:16.5px}
.opt.ok{background:var(--c4);border-color:#1aa66b}.opt.no{background:var(--c1);border-color:#ee5a36}
.msg{margin:6px 0;padding:8px 12px;border-radius:14px;background:var(--c4)}.msg.u{background:var(--c0)}
video,iframe{width:100%;border:0;border-radius:14px;aspect-ratio:16/9;background:#000}
.tab{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);display:flex;gap:4px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
.tab button{flex:1;border:0;background:none;border-radius:14px;padding:5px 0;color:var(--mut);font-size:11px;line-height:1.25}
.tab button i{display:block;font-style:normal;font-size:20px}.tab button.on{background:var(--c);color:#fff}
.tab button{font-size:10.5px;padding:5px 0}.tab button i{font-size:19px}
.chip{display:inline-block;margin:4px 6px 4px 0;padding:7px 12px;border-radius:20px;background:var(--c3);color:var(--fg);text-decoration:none;font-size:14px}
.chip.on{background:var(--ac);color:var(--on)}
.bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.bar select{padding:6px 8px;border-radius:10px;border:2px solid var(--ln);background:var(--card);color:var(--fg);font-size:13px}
.s.now{background:var(--c2);border-radius:5px;box-shadow:0 0 0 3px var(--c2)}
.ly{border-left:5px solid var(--ac);padding:4px 10px;margin:6px 0;border-radius:0 10px 10px 0}.ly i{font-style:normal;color:var(--mut)}
.tag{font-size:11px;background:var(--c3);border-radius:8px;padding:1px 8px;color:var(--fg)}
.fav{float:right}
a{color:var(--ac)}

.zt{display:none;color:var(--ac);font-size:17px;line-height:1.7;margin-top:4px}.zt.show,#warm.zall .zt,#check.zall .zt{display:block}
.tz{border:0;background:var(--c3);color:var(--fg);border-radius:10px;padding:1px 9px;font-size:13px;margin-left:6px;vertical-align:middle}
.gd{display:none;position:fixed;left:8px;right:8px;top:calc(env(safe-area-inset-top,0px) + 54px);z-index:18;background:var(--card);border:3px solid var(--ac);border-radius:16px;padding:10px 14px;max-height:34vh;overflow:auto;font-size:17px}
.gd .bar{margin-bottom:0}

.vc{margin:12px 0}.vc video{width:100%;border-radius:14px;background:#000}.vc select{padding:6px 8px;border-radius:10px;border:2px solid var(--ln);background:var(--card);color:var(--fg)}.verr{color:#c0392b}
#pop{display:none;position:absolute;z-index:25;background:var(--card);border:3px solid var(--ac);border-radius:16px;padding:0 14px 12px;box-sizing:border-box;overflow:auto;font-size:16px}
#pop.d-float{width:min(420px,calc(100vw - 16px));max-height:56vh}#pop.d-float.big{width:min(660px,calc(100vw - 16px));max-height:86vh}
#pop.d-bottom{position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom,0px));max-height:46vh;border-radius:18px 18px 0 0;border-width:3px 0 0}#pop.d-bottom.big{max-height:80vh}
#pop.d-right,#pop.d-left{position:fixed;top:calc(env(safe-area-inset-top,0px) + 52px);bottom:calc(62px + env(safe-area-inset-bottom,0px));width:360px;border-radius:0}
#pop.d-right{right:0;border-width:0 0 0 3px}#pop.d-left{left:0;border-width:0 3px 0 0}#pop.d-right.big,#pop.d-left.big{width:540px}
.ph{position:sticky;top:0;z-index:1;background:var(--card);display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:grab;touch-action:none}
.pb2{border:0;background:var(--c4);color:var(--fg);border-radius:10px;padding:5px 11px;font-size:13.5px;margin-left:4px}
.zh{font-weight:500}
@media(min-width:1000px){body.dk-r{padding-right:380px}body.dk-l{padding-left:380px}body.dk-r.dk-big{padding-right:560px}body.dk-l.dk-big{padding-left:560px}}

.w.nm{cursor:pointer}

.en{font-size:19px;line-height:1.6;margin:6px 0;color:var(--fg)}.pv{margin:10px 0;padding-bottom:8px;border-bottom:1px solid var(--ln)}.pv>div:first-of-type{font-size:17px;margin-top:2px}
.chip{border:0;font:inherit;cursor:pointer}.chip.on{background:var(--ac);color:var(--on)}
#chat{max-height:52vh;overflow:auto;padding:4px 0}
.msg{display:flex;gap:8px;align-items:flex-start;max-width:92%;margin:8px 0;padding:0;background:none;border-radius:0}
.msg .tx{padding:9px 13px;border-radius:18px 18px 18px 4px;background:var(--c4);font-size:17px;line-height:1.55}
.msg.u{margin-left:auto;flex-direction:row-reverse}.msg.u .tx{background:var(--c0);border-radius:18px 18px 4px 18px}
.msg.t .tx{background:var(--c2);font-size:15px;border-radius:14px}.av{font-size:26px;line-height:1}
.msg.speaking .tx{box-shadow:0 0 0 3px var(--ac)}
.dots i{display:inline-block;width:8px;height:8px;margin:0 2px;border-radius:50%;background:var(--mut);animation:dt 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes dt{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}
.mic{width:54px;height:54px;flex:none;border-radius:50%;border:0;background:var(--ac);color:var(--on);font-size:24px}.mic.on{animation:pl 1s infinite;background:#e8408f;color:#fff}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(232,64,143,.5)}100%{box-shadow:0 0 0 16px rgba(232,64,143,0)}}
