:root{
  --bg:#faf9f7; --card:#fffdfa; --line:#e8e1d6; --line2:#f2ece2;
  --tx:#241f1a; --tx2:#4d453c; --dim:#776c5e; --faint:#a2978a;
  --ac:#8c5a2b; --ac-soft:#f5ece0; --ink:#241f1a;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);
  font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;padding-bottom:50px}
.wrap{max-width:780px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:rgba(250,249,247,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.hin{display:flex;align-items:center;justify-content:space-between;height:58px}
.brand{display:flex;align-items:center;gap:9px;font-weight:650;font-size:15px}
.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--ink);color:#faf9f7;
  display:grid;place-items:center;font-size:14px}
.brand em{font-style:normal;color:var(--faint);font-size:11px;font-weight:400;margin-left:6px}
.acts{display:flex;gap:7px}
.btn{border:1px solid var(--line);background:var(--card);color:var(--tx2);border-radius:8px;
  padding:6px 12px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:.15s}
.btn:hover{background:#f5f1e8;color:var(--tx)}
.btn.solid{background:var(--ink);border-color:var(--ink);color:#faf9f7;font-weight:600}
.btn.solid:hover{background:#33302b}
.btn.ghost{background:transparent}
.btn.on{background:var(--ac-soft);border-color:#dfc9ad;color:#6f4a20}

h1{font-size:23px;margin:28px 0 6px;letter-spacing:-.2px}
.sub{color:var(--dim);font-size:13.5px;margin:0 0 20px;max-width:560px}
h2{font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--faint);
  margin:30px 0 10px;font-weight:600}
h2 span{text-transform:none;letter-spacing:0;color:var(--dim);font-weight:400}

.askbox{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 14px;
  box-shadow:0 2px 16px rgba(120,100,80,.04)}
.askbox textarea{width:100%;border:0;background:transparent;resize:vertical;min-height:52px;
  font:15px/1.7 inherit;color:var(--tx);outline:none}
.askbox .row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:10px}
.tip{font-size:11px;color:var(--faint)}

.answer{margin-top:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px 18px}
.card.ans{font-size:15px;line-height:1.8}
.card.ans p{margin:0 0 .8em} .card.ans p:last-child{margin:0}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:#8a6a42;
  background:#f6ebdc;border-radius:99px;padding:2px 9px;margin-bottom:10px}
.cites{margin-top:14px;border-top:1px solid var(--line2);padding-top:12px}
.cites .t{font-size:11px;color:var(--faint);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.cite{display:flex;gap:9px;padding:8px 0;border-bottom:1px dashed var(--line2);font-size:12.5px;color:var(--tx2)}
.cite:last-child{border-bottom:0}
.cite b{color:var(--ac);font-weight:600;flex:0 0 auto}
.cite span{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.cite .sc{color:var(--faint);font-size:10.5px;font-family:var(--mono);flex:0 0 auto}

.drop{border:1.5px dashed #d9cfc0;border-radius:13px;background:rgba(255,253,250,.7);
  padding:26px 18px;text-align:center;cursor:pointer;transition:.15s}
.drop:hover,.drop.over{border-color:#b98d55;background:#fffdf8}
.drop b{display:block;font-size:14px}
.drop span{display:block;font-size:12px;color:var(--faint);margin-top:3px}

.docs{display:grid;gap:8px}
.d{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:11px;padding:11px 13px}
.d .di{width:34px;height:34px;border-radius:8px;background:#f3eee4;color:#7a6a4c;
  display:grid;place-items:center;font-size:14px;flex:0 0 auto}
.d .dm{flex:1;min-width:0}
.d .dm b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d .dm span{font-size:11.5px;color:var(--faint)}
.d button{border:0;background:transparent;color:#b0a496;cursor:pointer;padding:5px 7px;
  border-radius:6px;font-size:12px;font-family:inherit}
.d button:hover{color:#b91c1c;background:#fdf3f3}
.empty{color:var(--faint);font-size:13px;text-align:center;padding:24px 0}
footer{margin:38px 0 20px;text-align:center;color:var(--faint);font-size:11px}

.modal{position:fixed;inset:0;background:rgba(36,31,26,.36);z-index:50;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal .card{width:100%;max-width:380px;padding:18px 20px}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.x{border:0;background:transparent;color:var(--faint);font-size:19px;cursor:pointer;line-height:1}
.note{font-size:12px;color:var(--dim);margin:0 0 10px}
input[type=password],input[type=text]{width:100%;border:1px solid var(--line);border-radius:9px;
  background:#fffdfa;padding:9px 11px;font:13px/1.5 var(--mono);outline:none}
input:focus{border-color:#c9a97d;box-shadow:0 0 0 3px var(--ac-soft)}
.cf{display:flex;justify-content:flex-end;margin-top:12px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);
  color:#faf9f7;font-size:12.5px;padding:9px 16px;border-radius:99px;z-index:80}
.toast.err{background:#8c2f2a}
@media(max-width:600px){h1{font-size:20px}.wrap{padding:0 15px}.brand em{display:none}}
