:root{--bg:#f3eee4;--bg-deep:#e7dfd2;--ink:#1c1915;--muted:#6d6458;--line:#e3d8c8;--panel:#fffdf9;--accent:#c2410c;--accent-soft:#fff1e8;--mine:#1e3a5f;--mine-ink:#f8fafc;--theirs:#ffffff;--ok:#0f766e;--danger:#b42318;--shadow:0 20px 50px rgba(56,36,12,0.08);--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Avenir Next,Segoe UI,PingFang SC,Noto Sans SC,sans-serif;color:var(--ink);background:radial-gradient(900px 420px at 8% -10%,#ffe8d2 0,transparent 55%),radial-gradient(700px 380px at 100% 0,#d9e4f5 0,transparent 50%),var(--bg)}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.wordmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.mark{width:36px;height:36px;border-radius:12px;background:conic-gradient(from 210deg,#1e3a5f,#c2410c,#1e3a5f);display:grid;place-items:center;color:white;font-weight:700;letter-spacing:-.04em}.wordmark strong{font-family:Iowan Old Style,Palatino,Songti SC,serif;font-size:22px;font-weight:700;letter-spacing:-.03em}.landing{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;padding:28px clamp(20px,4vw,64px) 48px}.landing header,.landing-card,.landing-copy{min-width:0}.landing header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.landing-copy h1{font-family:Iowan Old Style,Palatino,Songti SC,serif;font-size:clamp(40px,6vw,72px);line-height:.95;margin:12px 0 16px;letter-spacing:-.04em}.lede{font-size:18px;line-height:1.6;max-width:38rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{min-height:44px;border-radius:999px;padding:0 18px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;touch-action:manipulation}.btn-primary{background:var(--ink);color:white}.btn-ghost{background:transparent;border-color:var(--line)}.btn:disabled{opacity:.55;cursor:not-allowed}.points{display:grid;gap:10px;margin-top:28px;padding:0;list-style:none}.points li{background:rgba(255,253,249,.7);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.landing-card{align-self:end;background:var(--panel);border-radius:28px;box-shadow:var(--shadow);padding:22px;border:1px solid rgba(255,255,255,.8)}.bubble-row{display:flex;margin:10px 0}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:80%;border-radius:18px;padding:10px 12px;line-height:1.45}.bubble.theirs{background:var(--bg-deep)}.bubble.mine{background:var(--mine);color:var(--mine-ink)}.notice{margin-top:16px;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#9a3412}.shell{height:100vh;height:100dvh;display:grid;grid-template-columns:300px minmax(0,1fr) 280px;background:rgba(255,253,249,.72)}.pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.pane:last-child{border-right:0;border-left:1px solid var(--line)}.composer,.pane-head,.profile-head{padding:14px 16px;display:flex;align-items:center;gap:10px}.pane-head{justify-content:space-between;flex-wrap:wrap;row-gap:8px}.search{margin:0 12px 12px;display:flex;gap:8px}.composer textarea,.modal input,.search input{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:10px 12px;min-height:44px}.list{overflow:auto;padding:0 8px 12px}.conv{width:100%;text-align:left;border:0;background:transparent;border-radius:16px;padding:10px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;min-height:64px;touch-action:manipulation}.conv.active,.conv:hover{background:white}.avatar,.avatar-lg{width:42px;height:42px;border-radius:14px;background:#efe4d4;display:grid;place-items:center;overflow:hidden;font-weight:700}.avatar img,.avatar-lg img{width:100%;height:100%;object-fit:cover}.avatar-lg{width:64px;height:64px;border-radius:20px;margin:0 auto 8px}.conv b,.profile b{display:block}.conv small,.muted{color:var(--muted)}.badge{min-width:20px;height:20px;border-radius:999px;background:var(--accent);color:white;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.thread{background:linear-gradient(180deg,rgba(255,253,249,.4),rgba(243,238,228,.5))}.messages{flex:1 1;overflow:auto;padding:16px;flex-direction:column}.messages,.msg{display:flex;gap:8px}.msg{max-width:min(680px,92%)}.msg.mine{margin-left:auto;flex-direction:row-reverse}.bubble-wrap{display:flex;flex-direction:column;gap:4px}.msg .bubble{box-shadow:0 1px 0 rgba(0,0,0,.03);white-space:pre-wrap;word-break:break-word}.msg.mine .bubble{background:var(--mine);color:var(--mine-ink)}.msg.theirs .bubble{background:var(--theirs)}.meta{font-size:12px;color:var(--muted);display:flex;gap:8px}.msg.mine .meta{justify-content:flex-end}.composer{padding-bottom:calc(12px + var(--safe-bottom));align-items:flex-end;background:rgba(255,253,249,.92)}.composer textarea{resize:none;min-height:44px;max-height:140px}.icon-btn,.text-btn{min-height:44px;min-width:44px;border-radius:14px;border:1px solid var(--line);background:white}.text-btn{padding:0 12px}.profile{padding:18px 16px 24px;overflow:auto}.profile .kk{font-family:Iowan Old Style,Palatino,serif;font-size:28px;margin:4px 0}.empty{margin:auto;text-align:center;color:var(--muted);padding:24px}.modal-card,.results{background:white;border:1px solid var(--line);border-radius:16px}.results{margin:0 12px 12px;overflow:hidden}.member-row,.results button{width:100%;text-align:left;border:0;background:white;padding:10px 12px;min-height:44px;border-bottom:1px solid var(--line)}.jump{align-self:center;border:0;background:var(--ink);color:white;border-radius:999px;min-height:36px;padding:0 12px}.back-link{display:none;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap}.modal{position:fixed;inset:0;background:rgba(28,25,21,.35);display:grid;place-items:end center;padding:16px}.modal-card{width:min(440px,100%);padding:16px;margin-bottom:var(--safe-bottom)}.modal-card h2{margin:0 0 12px;font-size:18px}.settings{max-width:640px;margin:0 auto;padding:28px 20px 48px}.settings dl{display:grid;grid-template-columns:120px 1fr;gap:8px 12px}.settings dt{color:var(--muted)}.sub-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all}.tabs{display:flex;gap:4px}.tabs button{position:relative;flex-shrink:0;white-space:nowrap;min-height:40px;border:0;border-radius:12px;background:transparent;padding:0 10px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.tabs button.on{background:white;color:var(--ink);font-weight:600}.conn{margin:0 12px 8px;padding:8px 10px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:13px}.tag{font-style:normal;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 4px;margin-left:6px}.conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.conv span{min-width:0}.conv small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted-badge{background:#b9ab98}.contacts h3,.me h3{font-size:13px;color:var(--muted);margin:16px 8px 6px;font-weight:600}.row-actions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 4px 0}.search.flush{margin:0 0 8px}.req{flex-wrap:wrap;justify-content:space-between;gap:4px 8px;padding:6px 4px;border-bottom:1px solid var(--line)}.req,.req-who{display:flex;align-items:center}.req-who{flex:1 1 180px;gap:10px;border:0;background:transparent;text-align:left;padding:4px}.req-who,.req-who span{min-width:0}.req-who b,.req-who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-who small{color:var(--muted);max-width:220px}.req-actions{display:flex;gap:6px;flex-shrink:0;margin-left:auto}.req-actions .btn{min-height:36px;padding:0 12px}.thread-title{flex:1 1;min-width:0}.thread-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.head-actions .text-btn{min-height:36px;font-size:13px}.link-btn{border:0;background:transparent;color:var(--muted);padding:0;min-height:0;text-decoration:underline;font-size:12px}.danger,.link-btn.danger{color:var(--danger)}.bubble.recalled{background:transparent!important;color:var(--muted)!important;font-style:italic;box-shadow:none}.bubble.system{background:#f5efe6!important;color:var(--ink)!important}.bubble.media{padding:4px;background:white!important;display:block}.bubble.media img{display:block;max-width:min(320px,70vw);max-height:320px;border-radius:14px}.bubble.file{text-decoration:none;display:inline-flex;gap:6px;align-items:center}.msg.mine .bubble.file{color:var(--mine-ink)}.jump.subtle{background:white;color:var(--ink);border:1px solid var(--line)}.center{text-align:center}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + var(--safe-bottom));background:#fff7ed;color:#7c2d12;border-top:1px solid var(--line)}.composer .icon-btn{flex-shrink:0;font-size:18px}.composer .btn{flex-shrink:0}.stack{display:grid;gap:8px;margin-top:12px}.field{display:grid;gap:6px;text-align:left;margin:8px 0}.field span{font-size:13px;color:var(--muted)}.field input,.field textarea{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:10px 12px;min-height:44px}.ok{color:var(--ok);font-weight:600}blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--line);color:var(--muted)}.profile{text-align:center}.profile .conv{text-align:left}.modal{z-index:50;place-items:center}.modal-card{max-height:calc(100dvh - 32px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.modal-head h2{margin:0}.hits{display:grid}.small{font-size:13px}.qr{display:block;margin:12px auto;border-radius:16px;background:white;padding:8px}.choices{border:0;padding:0;margin:0 0 8px;display:grid;gap:6px}.choices label{display:flex;gap:8px;align-items:center;min-height:36px}.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-bottom));transform:translateX(-50%);background:var(--ink);color:white;padding:10px 16px;border-radius:999px;z-index:60;max-width:90vw}.me-card{text-align:center;background:white;border:1px solid var(--line);border-radius:20px;padding:18px;margin:8px 4px;display:grid;gap:4px;justify-items:center}.me-card .kk{font-family:Iowan Old Style,Palatino,serif;font-size:28px}.seg{display:flex;gap:6px;padding:0 4px}.seg button{flex:1 1;min-height:40px;border-radius:12px;border:1px solid var(--line);background:white}.seg button.on{background:var(--ink);color:white;border-color:var(--ink)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;border-bottom:1px solid var(--line);min-height:48px}.toggle input{width:20px;height:20px}.invite{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:20px;padding:24px 16px calc(24px + var(--safe-bottom))}.invite-card{width:min(460px,100%);background:var(--panel);border-radius:28px;box-shadow:var(--shadow);padding:24px;text-align:center;display:grid;gap:8px}.invite-card h1{font-size:22px;margin:4px 0}.report{background:white;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:12px 0}.report pre{white-space:pre-wrap;background:#f8f4ee;padding:8px;border-radius:10px}.back-link.always{display:inline-flex}@media (prefers-color-scheme:dark){:root{--bg:#161412;--bg-deep:#24211d;--ink:#f3eee4;--muted:#b3a999;--line:#36312a;--panel:#1e1b18;--theirs:#2a2622;--mine:#2f5d8f;color-scheme:dark}body{background:var(--bg)}.shell{background:rgba(30,27,24,.9)}.composer textarea,.conv.active,.conv:hover,.field input,.field textarea,.icon-btn,.jump.subtle,.me-card,.member-row,.modal input,.modal-card,.report,.results,.results button,.search input,.seg button,.tabs button.on,.text-btn{background:#26221e;color:var(--ink)}.btn-primary{background:var(--ink);color:#161412}.composer{background:rgba(30,27,24,.95)}.thread{background:transparent}.bubble.system,.report pre{background:#2a2622!important}}@media (max-width:960px){.shell{grid-template-columns:280px minmax(0,1fr)}.shell .profile-pane{display:none}.shell.show-profile{grid-template-columns:minmax(0,1fr)}.shell.show-profile .list-pane,.shell.show-profile .thread{display:none}.shell.show-profile .profile-pane{display:flex}}@media (max-width:800px){.landing{padding:16px 16px calc(24px + var(--safe-bottom))}.landing,.shell{grid-template-columns:1fr}.shell .profile-pane,.shell .thread,.shell.thread-open .list-pane{display:none}.shell.show-profile .profile-pane,.shell.thread-open .thread{display:flex}.shell.show-profile .list-pane,.shell.show-profile .thread,.shell:not(.tab-chats) .thread{display:none}.shell:not(.tab-chats):not(.show-profile) .list-pane{display:flex}.back-link{display:inline-flex}.head-actions .text-btn:not(:last-child){display:none}}

/* 大溪地·果冻海。正文 --ink 不改；危险色和聊天气泡不改。 */
:root { --accent: #08556e; --accent-soft: rgba(8, 85, 110, 0.12); }
.btn-primary,
.seg button.on,
.jump:not(.subtle) {
  color: #f7fcff;
  background-color: #08556e;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 28%),
    linear-gradient(165deg, #3e7a8e 0%, #08556e 52%, #064556 100%);
  border: 1px solid rgba(255, 255, 255, 0.72);
  text-shadow: 0 1px 0 rgba(4, 30, 44, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 16px rgba(8, 85, 110, 0.28);
}
.btn-primary:hover,
.seg button.on:hover,
.jump:not(.subtle):hover { background-color: #064556; }
.btn-primary:focus-visible,
.seg button.on:focus-visible,
.jump:not(.subtle):focus-visible { outline: 2px solid #064556; outline-offset: 2px; }
.btn-primary:disabled { opacity: 0.55; }
@media (prefers-color-scheme: dark) {
  .btn-primary,
  .seg button.on,
  .jump:not(.subtle) {
    color: #f7fcff;
    background-color: #08556e;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0) 28%),
      linear-gradient(165deg, #3e7a8e 0%, #08556e 52%, #064556 100%);
  }
}
@media (max-width: 800px) {
  .btn-primary, .seg button.on, .jump:not(.subtle) { max-width: 100%; }
}

.btn-primary,.seg button.on,.jump:not(.subtle){
  color:#08485c;background-color:#7fe7f2;
  background-image:linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.2) 46%),linear-gradient(165deg,#e9fcff 0%,#9aebf4 42%,#5fd4e8 100%);
  border-color:rgba(255,255,255,.92);text-shadow:none;
  box-shadow:inset 0 1px 0 #fff,0 8px 16px rgba(94,212,232,.35)
}
.btn-primary:hover,.seg button.on:hover,.jump:not(.subtle):hover{color:#08485c;background-color:#4fd0e4}
.btn-primary:focus-visible,.seg button.on:focus-visible,.jump:not(.subtle):focus-visible{outline:2px solid #0e7c96;outline-offset:2px}
