/* ============ 浏览器内部 ============ */
.br-toolbar { display:flex; align-items:center; gap:6px; padding:6px 8px;
  background:linear-gradient(180deg,#f3f1e6,#ddd9c6); border-bottom:1px solid #b6b099; }
.br-toolbar button { width:28px; height:26px; border:1px solid #a49e85; background:#efecdd;
  border-radius:3px; cursor:pointer; font-size:13px; }
.br-toolbar button:disabled { opacity:.35; cursor:default; }
.br-addr { flex:1; height:26px; border:1px solid #8f8a74; padding:0 8px; font-size:13px;
  font-family:"Courier New",monospace; background:#fff; }
.br-go { padding:0 12px !important; width:auto !important; font-size:12px !important; }

.br-bookmarks { display:flex; gap:2px; padding:3px 8px; background:#e9e6d7;
  border-bottom:1px solid #c5c0a8; font-size:12px; overflow:hidden; white-space:nowrap; }
.bm { padding:3px 9px; color:#333; cursor:pointer; border-radius:3px; }
.bm:hover { background:#d2cdb4; }
.bm.dead { color:#888; }

.br-warnbar { display:flex; align-items:center; gap:8px; background:#fff3c4;
  border-bottom:1px solid #d8c261; padding:5px 10px; font-size:12px; color:#5c4a00; }
.br-warnbar span { flex:1; }
.br-warnbar b { cursor:pointer; color:#8a6d00; font-weight:normal; text-decoration:underline; }

.br-page { flex:1; overflow:auto; background:#fff; user-select:text; }
/* 所有站内图片/SVG不得超出容器（手机窗口尤其） */
.br-page svg, .app-body svg { max-width:100%; height:auto; display:block; }
.photo-frame svg { display:inline-block; }
.asset-photo { position:relative; display:inline-block; max-width:100%; vertical-align:top; line-height:0; }
.asset-photo > svg { display:block; max-width:100%; height:auto; }
.asset-photo > img { position:absolute; inset:0; z-index:1; display:block;
  width:100%; height:100%; object-fit:cover; }
.asset-icon { position:relative; display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; vertical-align:middle; overflow:hidden; }
.asset-icon-fallback { line-height:1; }
.asset-icon > img { position:absolute; inset:0; z-index:1; display:block;
  width:100%; height:100%; object-fit:contain; }
.desktop-asset-icon { width:48px; height:48px; font-size:33px; }
.app-head-asset { width:26px; height:26px; font-size:22px; }
.app-gate-asset { width:76px; height:76px; margin:0 auto 14px; border-radius:18px;
  font-size:40px; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.profile-animal-asset, .tx-avatar-asset, .duo-avatar-asset,
.e29-avatar-asset, .tutor-avatar-asset { width:100%; height:100%; }
.profile-animal-asset > img, .tx-avatar-asset > img, .duo-avatar-asset > img,
.e29-avatar-asset > img, .tutor-avatar-asset > img { object-fit:cover; }
.cert-seal-slot { width:120px; height:120px; margin:14px auto 0; }
.cert-seal-asset { width:120px; height:120px; font-size:36px; }
.pp-avatar { border-radius:50%; overflow:hidden; flex-shrink:0; }
.pp-avatar > img { width:100%; height:100%; object-fit:cover; }
.e22-shot { width:400px; max-width:100%; aspect-ratio:10/3; margin:10px 0;
  position:relative; overflow:hidden; background:#fff; border:1px solid #c9c2a0; }
.e22-shot-fallback { position:absolute; inset:0; padding:12px 14px; font-size:13px; overflow:hidden; }
.e22-shot-fallback::after { content:""; position:absolute; right:0; top:0; bottom:0; width:14px;
  background:repeating-linear-gradient(135deg,#ddd,#ddd 3px,#fff 3px,#fff 6px); }
.e22-shot > img { position:absolute; inset:0; z-index:1; display:block;
  width:100%; height:100%; object-fit:cover; }
.br-page a, .br-page .lnk { color:#0000cc; text-decoration:underline; cursor:pointer; }
.br-page .lnk:visited { color:#551a8b; }

/* 加载条 */
.br-loading { height:3px; background:#e0dccb; overflow:hidden; }
.br-loading i { display:block; height:100%; width:30%; background:#3a6ed0; animation:load .8s linear infinite; }
@keyframes load { from{transform:translateX(-40%)} to{transform:translateX(360%)} }

/* ============ 通用站点风格 ============ */

/* 老式网站 */
.site-old { font-family:"SimSun","宋体",serif; background:#f5f2e4; min-height:100%;
  color:#222; font-size:14px; line-height:1.55; }
.site-old .old-banner { background:#e3ddc2; color:#7a7050; font-size:12px;
  text-align:center; padding:4px; border-bottom:1px solid #cfc7a2; }
.site-old .old-wrap { max-width:720px; margin:0 auto; padding:14px 16px 40px; }
.site-old h1 { font-size:20px; margin:10px 0; }
.site-old h2 { font-size:16px; margin:12px 0 6px; }
.site-old .old-hr { border:none; border-top:1px dashed #b9b190; margin:12px 0; }
.site-old .dim { color:#8a8163; font-size:12px; }
.site-old table { border-collapse:collapse; width:100%; font-size:13px; }
.site-old td, .site-old th { border:1px solid #c9c2a0; padding:5px 8px; text-align:left; }
.site-old th { background:#e9e4c8; }

/* 政务网站 */
.site-gov { font-family:"SimSun","宋体",serif; background:#fff; min-height:100%; font-size:14px; }
.site-gov .gov-head { background:linear-gradient(180deg,#1e5bb8,#164a99); color:#fff;
  padding:16px 20px; font-size:22px; letter-spacing:4px; }
.site-gov .gov-nav { background:#e8f0fb; border-bottom:2px solid #1e5bb8; padding:6px 20px;
  font-size:12px; color:#666; }
.site-gov .gov-body { max-width:700px; margin:0 auto; padding:24px 18px 60px; line-height:2; }
.site-gov h1 { font-size:19px; text-align:center; margin:18px 0 4px; }
.site-gov .gov-date { text-align:center; color:#888; font-size:12px; margin-bottom:18px; }
.site-gov .gov-doc { text-indent:2em; margin:8px 0; }
.site-gov .gov-sign { text-align:right; margin-top:26px; line-height:1.9; }

/* 现代网站 */
.site-modern { font-family:"Microsoft YaHei",sans-serif; background:#f6f7f9; min-height:100%;
  color:#222; font-size:14px; }
.site-modern .mo-head { background:#fff; padding:14px 22px; font-size:18px; font-weight:bold;
  border-bottom:1px solid #e6e8ec; display:flex; align-items:center; gap:8px; }
.site-modern .mo-wrap { max-width:720px; margin:14px auto; padding:0 14px 40px; }
.site-modern .card { background:#fff; border-radius:10px; padding:16px 18px; margin-bottom:14px;
  box-shadow:0 1px 4px rgba(0,0,0,.06); }

/* ============ 搜索引擎 ============ */
.se-home { display:flex; flex-direction:column; align-items:center; padding-top:70px;
  min-height:100%; background:#fff; font-family:"Microsoft YaHei",sans-serif; }
.se-logo { font-size:46px; font-weight:bold; letter-spacing:2px; margin-bottom:26px; }
.se-logo b { color:#2b62d9; } .se-logo i { color:#e2a423; font-style:normal; }
.se-box { display:flex; gap:0; align-items:stretch; }
.se-input { width:420px; height:40px; border:2px solid #2b62d9; border-right:none;
  padding:0 14px; font-size:15px; border-radius:6px 0 0 6px; min-width:0; }
.se-btn { height:40px; padding:0 22px; background:#2b62d9; color:#fff; border:none;
  font-size:15px; cursor:pointer; border-radius:0 6px 6px 0;
  flex-shrink:0; white-space:nowrap; }
.se-hot { margin-top:44px; font-size:13px; color:#555; width:430px; }
.se-hot h3 { font-size:13px; color:#999; font-weight:normal; margin-bottom:8px; }
.se-hot li { list-style:none; padding:4px 0; }
.se-hot li b { display:inline-block; width:18px; color:#e2a423; font-style:italic; }

.se-results { max-width:640px; padding:16px 24px 60px; font-family:"Microsoft YaHei",sans-serif; }
.se-rhead { font-size:13px; color:#888; padding-bottom:10px; border-bottom:1px solid #eee; margin-bottom:14px; }
.se-item { margin-bottom:22px; }
.se-item .r-title { font-size:17px; }
.se-item .r-url { color:#1a7a37; font-size:12px; margin:2px 0; }
.se-item .r-desc { font-size:13px; color:#555; line-height:1.6; }
.se-none { padding:40px 0; color:#666; font-size:14px; line-height:2; }

/* ============ 错误页 ============ */
.err-page { padding:60px 40px; font-family:"SimSun",serif; color:#333; }
.err-page h1 { font-size:20px; margin-bottom:14px; }
.err-page p { font-size:13px; color:#666; line-height:1.9; }

/* ============ 老照片 SVG 通用 ============ */
.photo-frame { background:#fff; padding:8px 8px 26px; box-shadow:1px 2px 8px rgba(0,0,0,.25);
  display:inline-block; margin:8px 10px 8px 0; transform:rotate(-.6deg); }
.photo-frame.r2 { transform:rotate(.9deg); }
.photo-frame .ph-cap { font-size:12px; color:#6b6248; margin-top:6px; text-align:center;
  font-family:"KaiTi","楷体",serif; }

/* ============ 手写体 ============ */
.hand { font-family:"KaiTi","楷体",cursive; }

/* ============ 关键词（仅加粗，区别于玩家的标黑） ============ */
.kw { font-weight:700; font-style:normal; color:inherit; }

/* ============ 同学录 ============ */
.tx-head { background:#5b7a4a; color:#fff; padding:12px 18px; font-size:18px; letter-spacing:2px; }
.tx-sub { background:#e7ecd9; padding:5px 18px; font-size:12px; color:#5b6a4a;
  border-bottom:1px solid #c4cdaf; }
.tx-member { display:flex; align-items:center; gap:10px; padding:8px 6px;
  border-bottom:1px dotted #c9c2a0; }
.tx-avatar { width:38px; height:38px; border:1px solid #a9a17e; background:#efecdd;
  display:flex; align-items:center; justify-content:center; font-size:22px; }
.tx-nick { width:64px; font-weight:bold; }
.tx-meta { width:120px; color:#6f684c; font-size:12px; }
.tx-sig { flex:1; color:#555; font-size:13px; }
.tx-msg { padding:8px 4px; border-bottom:1px dotted #d4cdab; font-size:13px; }
.tx-msg .m-meta { color:#8a8163; font-size:12px; }
