.den-divider.den-divider-ribbon {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--muted, #b88f9c);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(11px, 3.15vw, 15px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.den-xinchao-tools {
  display: grid;
  gap: 7px;
  margin: 0 0 8px;
  padding: 0 3px 14px 52px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.den-xinchao-room {
  margin-bottom: 28px;
}

.den-xinchao-room.open .den-xinchao-tools {
  display: grid;
}

.den-xinchao-tool {
  min-height: 88px;
  background: color-mix(in srgb, white 78%, transparent);
}

.den-ombre-title {
  margin-top: 12px;
}

.den-home .den-entry + .den-entry { margin-top: 0; }
.den-fishing-entry { background: transparent; }
.den-fishing { min-height: 100%; padding: max(22px,env(safe-area-inset-top)) 18px 130px; overflow: auto; }
.fishing-game { margin-top: 18px; padding: 12px; overflow: hidden; border: 1px solid rgba(137,104,166,.16); border-radius: 30px; background: rgba(255,255,255,.72); box-shadow: 0 22px 55px rgba(77,53,98,.1); backdrop-filter: blur(18px); }
.fishing-water { position: relative; min-height: 230px; overflow: hidden; border-radius: 23px; background: radial-gradient(circle at 72% 20%,rgba(255,255,255,.92),transparent 23%),linear-gradient(160deg,#dff5ff,#e8e6ff 48%,#ffdfea); }
.fish-sun { position:absolute; width:76px; height:76px; right:25px; top:24px; border-radius:50%; background:rgba(255,255,255,.7); box-shadow:0 0 45px rgba(255,255,255,.9); }
.fish-wave { position:absolute; left:-8%; right:-8%; top:43%; height:130%; border-radius:50% 48% 0 0; background:linear-gradient(180deg,rgba(126,183,211,.28),rgba(115,118,180,.5)); transform:rotate(-3deg); }
.fish-wave:after { content:""; position:absolute; inset:18px 0 0; border-radius:50% 48% 0 0; border-top:2px solid rgba(255,255,255,.55); }
.fish-bubble { position:absolute; z-index:2; width:9px; height:9px; border:1px solid rgba(255,255,255,.8); border-radius:50%; animation:fishBubble 3.6s ease-in-out infinite; }.fish-bubble.b1{left:18%;top:62%}.fish-bubble.b2{left:27%;top:73%;animation-delay:.7s}.fish-bubble.b3{right:17%;top:66%;animation-delay:1.4s}
.fish-float { position:absolute; z-index:3; left:29%; top:39%; color:#d68199; font-size:27px; text-shadow:0 6px 16px rgba(95,52,85,.22); animation:fishFloat 2.2s ease-in-out infinite; }
.fish-shadow { position:absolute; z-index:2; right:19%; bottom:20px; color:rgba(72,72,125,.34); font-size:54px; transform:rotate(10deg); }
.fish-scene-copy { position:absolute; z-index:4; left:22px; right:22px; bottom:18px; display:flex; flex-direction:column; color:white; text-shadow:0 2px 14px rgba(65,54,92,.28); }
.fish-scene-copy small { font:9px/1.2 ui-monospace,monospace; letter-spacing:.22em; opacity:.85; }.fish-scene-copy b{margin-top:6px;font:700 20px/1.25 Georgia,"Noto Serif SC",serif}.fish-scene-copy em{margin-top:6px;font:normal 10px/1.4 sans-serif;opacity:.85}
.fish-hud { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px 2px 0; }.fish-hud>div{padding:9px 4px;border-radius:14px;background:#f8f5fb;text-align:center}.fish-hud small{display:block;color:#9b8da2;font-size:9px}.fish-hud b{display:block;margin-top:3px;color:#55455f;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fishing-actions.fish-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 7px;
  margin-top: 12px;
  padding: 2px 1px 4px;
  align-items: center;
}
.fishing-actions.fish-pills button {
  flex: 0 0 auto;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid rgba(120, 140, 165, .14);
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #f4f6f8);
  color: #3a4550;
  font: 600 12.5px/1.2 "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", system-ui, sans-serif;
  letter-spacing: .01em;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 4px 12px rgba(40, 55, 75, .06);
  text-align: center;
  white-space: nowrap;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
}
.fishing-actions.fish-pills button:active {
  transform: scale(.97);
}
.fishing-actions.fish-pills button.is-on {
  background: linear-gradient(180deg, #eef5fb, #e4eef7);
  border-color: rgba(90, 130, 165, .28);
  color: #2a3a4a;
  box-shadow: 0 1px 0 rgba(255,255,255,.85) inset, 0 6px 16px rgba(55, 90, 120, .12);
}
.fishing-actions.fish-pills button[data-fish^="dive"] {
  background: linear-gradient(180deg, #edf6fb, #dfeaf3);
}
.fishing-actions.fish-pills button[data-fish="surface"] {
  background: linear-gradient(180deg, #f7fafc, #eef3f7);
}
.fish-tool-live{margin:10px 2px 0;border:1px solid rgba(129,92,159,.13);border-radius:18px;background:rgba(250,248,253,.9);overflow:hidden}.fish-tool-live summary{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;list-style:none}.fish-tool-live summary::-webkit-details-marker{display:none}.fish-tool-dot{width:9px;height:9px;border-radius:50%;background:#b8a9bf;box-shadow:0 0 0 5px rgba(184,169,191,.12)}.fish-tool-live[data-state="running"] .fish-tool-dot{background:#86aeca;animation:fishToolPulse 1s infinite}.fish-tool-live[data-state="success"] .fish-tool-dot{background:#79bd91}.fish-tool-live[data-state="error"] .fish-tool-dot{background:#d68391}.fish-tool-live summary div{display:flex;min-width:0;flex-direction:column}.fish-tool-live summary small{color:#a394aa;font:8px/1.3 ui-monospace,monospace;letter-spacing:.16em}.fish-tool-live summary b{margin-top:2px;overflow:hidden;color:#594a63;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.fish-tool-live summary em{color:#9b8ca2;font:normal 9px/1 ui-monospace,monospace}.fish-tool-history{padding:0 11px 10px;border-top:1px solid #eee7f1}.fish-tool-history>p{margin:10px 2px 2px;color:#a092a6;font-size:10px}.fish-tool-event{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid #eee8f1}.fish-tool-event:last-child{border-bottom:0}.fish-tool-event>span{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#e9f6ed;color:#4e9b69;font-weight:800}.fish-tool-event.error>span{background:#fbeaec;color:#bd6370}.fish-tool-event div{display:flex;flex-direction:column}.fish-tool-event b{color:#5a4b63;font-size:10px}.fish-tool-event small{margin-top:1px;color:#9e90a5;font-size:8px}.fish-tool-event time{color:#9c8ea3;font:9px ui-monospace,monospace}
.fish-tabs { display:none }.fish-tabs button{height:36px;border:0;border-radius:11px;background:transparent;color:#887891;font-size:12px}.fish-tabs button.active{background:white;color:#644e72;box-shadow:0 4px 14px rgba(81,55,99,.08)}
.fishing-command { display: block; margin: 10px 4px 2px; color: #85778e; font-size: 11px; }
.fishing-command summary{padding:9px 2px;cursor:pointer;list-style:none;text-align:center}.fishing-command summary:before{content:"⌁ ";color:#a586b4}
.fishing-command>div { display: flex; gap: 8px; margin-top: 7px; }
.fishing-command input { min-width: 0; flex: 1; padding: 12px 13px; border: 1px solid #e5ddea; border-radius: 14px; background: white; color: #44394e; font: 14px inherit; }
.fishing-command button { width: 68px; border: 0; border-radius: 14px; background: #8265a2; color: white; font-weight: 700; }
.fishing-result { min-height: 150px; max-height: 42vh; margin: 10px 2px 0; padding: 14px; overflow: auto; border-radius: 20px; background:linear-gradient(145deg,#f8f5fb,#f3f6fb); color:#504358; word-break:break-word; font:12px/1.65 system-ui,sans-serif; }
.fishing-result.is-dex,.fishing-result.is-creel{max-height:56vh;padding:12px 10px;background:linear-gradient(155deg,#f9f7fd,#f1f5fb)}
.fish-collection-head{display:flex;align-items:flex-end;justify-content:space-between;padding:3px 4px 11px}.fish-collection-head>div{display:flex;flex-direction:column}.fish-collection-head small{color:#aa9bb0;font:8px ui-monospace,monospace;letter-spacing:.18em}.fish-collection-head b{margin-top:2px;font:700 18px Georgia,"Noto Serif SC",serif}.fish-collection-head>strong{color:#856aa0;font-size:21px}.fish-collection-head>strong i{color:#b2a6b7;font:normal 11px ui-monospace,monospace}
.fish-dex-filters{display:flex;gap:5px;padding:0 2px 10px;overflow-x:auto;scrollbar-width:none}.fish-dex-filters::-webkit-scrollbar{display:none}.fish-dex-filters button{flex:none;padding:7px 10px;border:0;border-radius:99px;background:#eee8f4;color:#887990;font-size:9px;white-space:nowrap}.fish-dex-filters button.active{background:#856ba1;color:white;box-shadow:0 5px 13px rgba(99,73,123,.16)}
.fish-dex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fish-dex-card{position:relative;min-height:142px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 25%,white);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.94),color-mix(in srgb,var(--rarity) 8%,white));overflow:hidden}.fish-dex-card:before{content:"";position:absolute;inset:0 auto auto 0;width:3px;height:100%;background:var(--rarity)}.fish-dex-art{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;background:color-mix(in srgb,var(--rarity) 14%,white);font-size:24px}.fish-dex-copy{display:flex;min-width:0;flex-direction:column;margin-top:8px}.fish-dex-copy small{color:var(--rarity);font-size:8px}.fish-dex-copy b{margin-top:1px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.fish-dex-copy em{margin-top:1px;overflow:hidden;color:#a296a7;font:italic 7px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.fish-dex-record{position:absolute;top:11px;right:9px;display:flex;flex-direction:column;align-items:flex-end}.fish-dex-record span{color:#998da0;font-size:8px}.fish-dex-record strong{color:#6f6078;font-size:9px}.fish-dex-card p{display:-webkit-box;margin:8px 0 0;overflow:hidden;color:#817486;font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fish-dex-card.locked{filter:saturate(.35);opacity:.62}.fish-dex-card.locked .fish-dex-art{color:#9e91a5;font:bold 19px Georgia,serif}.fish-dex-lock{position:absolute;right:11px;top:13px;color:var(--rarity)}
.fish-creel-grid{display:grid;gap:7px}.fish-creel-card{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 20%,white);border-radius:16px;background:rgba(255,255,255,.82)}.fish-creel-art{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:color-mix(in srgb,var(--rarity) 13%,white);font-size:23px}.fish-creel-card>div{display:flex;min-width:0;flex-direction:column}.fish-creel-card small{color:var(--rarity);font-size:8px}.fish-creel-card b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.fish-creel-card em{color:#9a8da0;font:normal 9px ui-monospace,monospace}.fish-sell-all{position:sticky;bottom:0;width:100%;margin-top:10px;padding:12px;border:0;border-radius:14px;background:linear-gradient(135deg,#7da9c2,#8d72b2);color:white;font-weight:700;box-shadow:0 8px 20px rgba(91,66,116,.2)}.fish-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fish-empty span{font-size:35px}.fish-empty b{margin-top:8px}.fish-empty p{margin:4px 15px;color:#998ca0;font-size:10px}
.fish-loading{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8d7c99}.fish-loading span{font-size:28px;animation:fishPulse 1.5s ease-in-out infinite}.fish-message{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid #e8e0ec}.fish-message.error{border:0}.fish-message.error p{margin:5px 0 0}.fish-catch-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;background:white;font-size:23px;box-shadow:0 6px 18px rgba(72,48,90,.08)}.fish-message div{display:flex;flex-direction:column}.fish-message small{color:#a091a7;font:9px/1.4 ui-monospace,monospace}.fish-message b{margin-top:2px;font-size:14px}.fish-log{padding:8px 2px 1px}.fish-log>p{margin:7px 0}.fish-log-row{display:flex;gap:8px;margin:7px 0;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.7)}.fish-log-row span{color:#a484b7}.fish-log-row p{margin:0}
.fishing-tip { padding: 0 8px; color: #8f8297; font-size: 11px; line-height: 1.6; text-align: center; }
@keyframes fishPulse { 50% { transform: scale(1.14); opacity: .62; } }
@keyframes fishFloat { 50% { transform:translateY(7px) rotate(5deg) } }
@keyframes fishBubble { 50% { transform:translateY(-14px);opacity:.35 } }
@keyframes fishToolPulse { 50% { transform:scale(.72);box-shadow:0 0 0 7px rgba(134,174,202,.2) } }

.den-home > .den-divider { margin: 12px 4px; }

/* 条目之间的分隔改用纹样：每条 .den-entry 用 ::after 在自己下面画一道，
   最后一条不画（列表尾部由 tabbar 收口，顶部缎带保留原样）。
   .den-entry 是 grid，所以要 grid-column:1/-1 才能横跨标题列与箭头列。 */
.den-home .den-entry::after {
  content: "\000b18*\002445\002508\002508\0022c6\0000b0\0002d6\0000a0\002508\002508\0000a0\000b68\000b67\002508\002508\0000b0\0022c6\002508\002508\002445*\000b13";
  grid-column: 1 / -1;
  margin: 5px 0 1px;
  overflow: hidden;
  color: rgba(184,143,156,.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(9px, 2.5vw, 11px);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
}
.den-home .den-entry:last-child::after { content: none; }

.fish-choice-box{margin-top:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(90,130,165,.14)}
.fish-choice-box>b{display:block;margin-bottom:8px;color:#4a5a6a;font-size:12px}
.fish-choice-row{display:flex;flex-direction:column;gap:7px}
.fish-choice-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;border:1px solid rgba(120,140,165,.16);border-radius:14px;background:linear-gradient(180deg,#fff,#f3f7fa);color:#2f3c48;font:600 12.5px/1.25 "PingFang SC","Noto Sans SC",system-ui,sans-serif;text-align:left;box-shadow:0 3px 10px rgba(40,55,75,.05)}
.fish-choice-btn small{color:#7a8b9a;font-weight:500;font-size:10px;white-space:nowrap}
.fish-choice-btn:active{transform:scale(.985)}
.fish-choice-btn.is-locked{opacity:.48;filter:grayscale(.25)}

.fish-bag-list,.fish-frag-list{margin-top:12px;padding-top:4px}
.fish-bag-empty{margin:8px 4px 2px;color:#9a8da0;font-size:11px;line-height:1.5}
