/* v0.8.93: 閲覧カード専用。既存CSSより後に読み込む。 */
.community-browser .post-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.community-browser .post-card-rich {
  min-height: 0;
  padding: 12px 14px 10px;
  border-radius: 4px;
  overflow: visible;
}

.community-browser .post-card-head {
  min-height: 30px;
  align-items: center;
  margin: 0;
}

.community-browser .browse-primary-badges {
  gap: 5px;
  flex-wrap: wrap;
}

.community-browser .browse-difficulty,
.community-browser .browse-type {
  min-height: 24px;
  padding: 3px 9px !important;
  font-size: 9px !important;
  line-height: 1.2;
}

.community-browser .post-card-rich h3 {
  margin: 5px 0 2px;
  font-size: 17px;
  line-height: 1.25;
}

.community-browser .post-card-summary {
  min-height: 0;
  margin: 0 0 3px !important;
  overflow: hidden;
  color: var(--muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-browser .post-card-label {
  margin: 5px 0 2px;
  font-size: 8px;
  line-height: 1.2;
  letter-spacing: .08em;
}

.community-browser .post-card-label small {
  font-size: 7px;
}

.community-browser .browse-keyword-row,
.community-browser .browse-strategy-row {
  gap: 3px;
  min-height: 0;
}

.community-browser .browse-keyword-chip {
  min-height: 20px;
  padding: 1px 5px;
  font-size: 8px;
  line-height: 1.1;
}

.community-browser .browse-keyword-chip strong {
  min-width: 14px;
  height: 14px;
  font-size: 7px;
}

.community-browser .browse-strategy-tag {
  min-height: 19px;
  padding: 2px 6px;
  font-size: 8px;
  line-height: 1.1;
}

.community-browser .browse-identity-scroll {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  overflow: visible;
  padding: 0;
}

.community-browser .browse-identity-card {
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 38px;
  padding: 4px 4px 3px;
  overflow: hidden;
}

.community-browser .browse-identity-card::after {
  width: 28px;
  height: 28px;
  right: -14px;
  bottom: -16px;
}

.community-browser .browse-order {
  margin-right: 2px;
  font-size: 7px;
}

.community-browser .browse-identity-card strong {
  display: inline;
  font-size: 7px;
  line-height: 1.1;
  white-space: nowrap;
}

.community-browser .browse-identity-card small {
  display: block;
  max-width: 100%;
  margin-top: 2px;
  overflow: hidden;
  font-size: 6px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-browser .post-card-rich .post-bottom {
  min-height: 24px;
  margin-top: 5px;
  padding-top: 5px;
  gap: 12px;
  font-size: 9px;
}

.community-browser .bookmark-button {
  position: relative;
  isolation: isolate;
  width: 32px;
  height: 32px;
  padding: 0;
  overflow: visible;
  border-radius: 50%;
  color: #f04d6d;
  touch-action: manipulation;
}

.community-browser .bookmark-button::before {
  content: none !important;
}

.community-browser .bookmark-button svg {
  width: 27px;
  height: 27px;
  overflow: visible;
  filter: drop-shadow(0 2px 4px rgba(240, 77, 109, .15));
  transform-origin: center;
}

.community-browser .bookmark-button svg path {
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
  transition: fill .16s ease, stroke .16s ease, transform .16s ease;
}


.community-browser .bookmark-button.is-liked svg path {
  fill: currentColor;
  stroke: currentColor;
}

.community-browser .bookmark-button.is-animating svg {
  animation: browse-heart-bounce .52s cubic-bezier(.16, 1.5, .3, 1);
}

.community-browser .bookmark-button.is-unliking svg {
  animation: browse-heart-unlike .24s ease-out;
}

.like-particle-layer {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: 0;
  height: 0;
  pointer-events: none;
}

.like-particle {
  position: absolute;
  left: 0;
  top: 0;
  color: #ff315d;
  font-size: 11px;
  line-height: 1;
  opacity: 0;
  text-shadow: 0 2px 6px rgba(255, 49, 93, .22);
  animation: browse-heart-particle .68s cubic-bezier(.18, .75, .28, 1) var(--particle-delay) forwards;
}

.community-browser .like-stat {
  position: relative;
  color: #e33b60;
  font-weight: 800;
}

.community-browser .like-stat::before {
  color: #e33b60;
}

.like-plus-one {
  position: absolute;
  left: 50%;
  top: -12px;
  z-index: 3;
  color: #ff315d;
  font-size: 9px;
  font-weight: 900;
  pointer-events: none;
  animation: browse-like-plus .72s ease-out forwards;
}

@keyframes browse-heart-bounce {
  0% { transform: scale(.68) rotate(-8deg); }
  42% { transform: scale(1.42) rotate(6deg); }
  68% { transform: scale(.9) rotate(-2deg); }
  100% { transform: scale(1) rotate(0); }
}

@keyframes browse-heart-unlike {
  0% { transform: scale(1); }
  45% { transform: scale(.76); }
  100% { transform: scale(1); }
}

@keyframes browse-heart-particle {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.25) rotate(-12deg); }
  16% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y))) scale(var(--particle-scale)) rotate(18deg);
  }
}

@keyframes browse-like-plus {
  0% { opacity: 0; transform: translate(-50%, 6px) scale(.75); }
  22% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -17px) scale(1.08); }
}

html[data-theme="dark"] .community-browser .like-stat,
html[data-theme="dark"] .community-browser .like-stat::before {
  color: #ff6b88;
}

@media (max-width: 1100px) {
  .community-browser .browse-identity-scroll {
    display: flex;
    gap: 3px;
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .community-browser .browse-identity-card {
    flex: 0 0 64px;
  }
}

@media (max-width: 720px) {
  .community-browser .post-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .community-browser .post-card-rich {
    padding: 11px 12px 9px;
  }

  .community-browser .post-card-rich h3 {
    font-size: 16px;
  }

  .community-browser .browse-identity-card {
    flex-basis: 61px;
    min-height: 37px;
  }
}

/* v0.8.94: width safety and mobile-specific compact layout. */
.community-browser,
.community-browser .post-grid,
.community-browser .post-card-rich,
.community-browser .post-card-head,
.community-browser .post-card-summary,
.community-browser .browse-identity-scroll {
  min-width: 0;
  max-width: 100%;
}

.community-browser .post-card-rich {
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .community-browser .bookmark-button:not(.is-animating):hover svg {
    transform: scale(1.08);
  }
}

@media (max-width: 720px) {
  .site-header,
  main,
  .site-footer {
    width: min(calc(100% - 24px), var(--max));
  }

  .community-browser {
    width: 100%;
    padding-top: 34px;
    overflow-x: clip;
  }

  .community-browser .community-result-head {
    gap: 8px;
    margin-bottom: 10px;
  }

  .community-browser .community-result-head h2 {
    font-size: 28px;
  }

  .community-browser .result-condition-bar {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 10px 11px;
    margin-bottom: 10px;
  }

  .community-browser .popular-searches {
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
  }

  .community-browser .popular-searches .tag-row {
    gap: 5px;
  }

  .community-browser .post-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .community-browser .post-card-rich {
    width: 100%;
    min-width: 0;
    padding: 9px 10px 8px;
    overflow: hidden;
  }

  .community-browser .post-card-head {
    min-height: 26px;
  }

  .community-browser .browse-difficulty,
  .community-browser .browse-type {
    min-height: 22px;
    padding: 3px 8px !important;
    font-size: 10px !important;
  }

  .community-browser .post-card-rich h3 {
    margin: 4px 0 1px;
    font-size: 18px;
    line-height: 1.22;
  }

  .community-browser .post-card-summary {
    width: 100%;
    margin-bottom: 2px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .community-browser .post-card-label {
    margin: 4px 0 2px;
    font-size: 8px;
  }

  .community-browser .browse-identity-scroll {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    overflow: hidden;
    padding: 0;
  }

  .community-browser .browse-identity-card {
    width: 100%;
    min-width: 0;
    min-height: 43px;
    padding: 5px 5px 4px;
  }

  .community-browser .browse-order {
    font-size: 7px;
  }

  .community-browser .browse-identity-card strong {
    display: inline;
    font-size: 8px;
  }

  .community-browser .browse-identity-card small {
    margin-top: 2px;
    font-size: 7px;
  }

  .community-browser .browse-keyword-chip,
  .community-browser .browse-strategy-tag {
    font-size: 9px;
  }

  .community-browser .post-card-rich .post-bottom {
    min-height: 22px;
    margin-top: 4px;
    padding-top: 4px;
    font-size: 10px;
  }

  .community-browser .bookmark-button {
    width: 30px;
    height: 30px;
  }

  .community-browser .bookmark-button svg {
    width: 25px;
    height: 25px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .community-browser .bookmark-button.is-animating svg,
  .community-browser .bookmark-button.is-unliking svg,
  .like-particle,
  .like-plus-one {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v0.8.95: desktop/mobile unified like feedback. */
.community-browser .post-card-rich {
  position: relative;
}

.community-browser .bookmark-button {
  position: relative;
  z-index: 7;
  overflow: visible;
  transform: none !important;
  will-change: transform;
}

.community-browser .bookmark-button:hover,
.community-browser .bookmark-button:hover svg,
.community-browser .bookmark-button:active,
.community-browser .bookmark-button:active svg {
  transform: none !important;
}

.community-browser .bookmark-button.is-animating {
  animation: browse-heart-button-pop .54s cubic-bezier(.16, 1.5, .3, 1) !important;
}

.community-browser .bookmark-button.is-unliking {
  animation: browse-heart-button-unlike .26s ease-out !important;
}

.community-browser .bookmark-button.is-animating svg,
.community-browser .bookmark-button.is-unliking svg {
  animation: none !important;
}

.like-feedback-layer {
  position: absolute;
  left: 50%;
  top: 50%;
  right: auto;
  z-index: 8;
  display: block;
  width: 1px;
  height: 1px;
  overflow: visible;
  pointer-events: none;
}

.like-feedback-layer .like-particle {
  left: 0;
  top: 0;
}

.like-feedback-layer .like-plus-one {
  left: 0;
  right: auto;
  top: -22px;
  transform: none;
}

.like-feedback-layer.is-playing .like-particle {
  animation-name: browse-heart-particle-inward;
}

.like-feedback-layer.is-playing .like-plus-one {
  animation-name: browse-like-plus-inward;
}

@keyframes browse-heart-button-pop {
  0% { transform: scale(.72) rotate(-8deg); }
  42% { transform: scale(1.42) rotate(6deg); }
  70% { transform: scale(.9) rotate(-2deg); }
  100% { transform: scale(1) rotate(0); }
}

@keyframes browse-heart-button-unlike {
  0% { transform: scale(1); }
  50% { transform: scale(.72); }
  100% { transform: scale(1); }
}

@keyframes browse-heart-particle-inward {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2) rotate(-12deg);
  }
  16% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y))) scale(var(--particle-scale)) rotate(18deg);
  }
}

@keyframes browse-like-plus-inward {
  0% { opacity: 0; transform: translateY(4px) scale(.75); }
  24% { opacity: 1; }
  100% { opacity: 0; transform: translateY(18px) scale(1.08); }
}

@media (max-width: 720px) {
  .community-browser .post-card-rich {
    overflow: hidden;
  }

  .community-browser .bookmark-button {
    margin-right: 4px;
    margin-top: 2px;
  }

  .like-feedback-layer .like-particle {
    left: 0;
    top: 0;
  }

  .like-feedback-layer .like-plus-one {
    left: 0;
    right: auto;
    top: -20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .community-browser .bookmark-button.is-animating,
  .community-browser .bookmark-button.is-unliking {
    animation-duration: .18s !important;
  }

  .like-feedback-layer.is-playing .like-particle,
  .like-feedback-layer.is-playing .like-plus-one {
    animation-duration: .24s !important;
  }
}

/* v0.8.96 */
.community-browser .browse-type[data-type="速攻周回"]{background:#68a83d!important}
.community-browser .browse-type[data-type="高難易度向け"]{background:#7b57b3!important}
.community-browser .browse-type[data-type="縛り・テーマ攻略"]{background:#9a5a35!important}
.community-browser .browse-type[data-type="ネタ・ロマン"]{background:#343434!important}
.community-browser .browse-type[data-type="ソロ"]{background:#138f76!important}


/* v0.8.97: card structure safety */
.community-browser .post-card-rich{min-width:0}
.community-browser .browse-identity-scroll,.community-browser .browse-strategy-row,.community-browser .post-bottom{min-width:0}
.community-browser .browse-strategy-row{display:flex;flex-wrap:wrap;align-items:center}
.community-browser .post-bottom{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center}
.community-browser .post-bottom>span:last-child{justify-self:end;white-space:nowrap}


/* v0.9.00 閲覧カードの攻略カテゴリ */
.browse-card-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.post-owned-rate{margin-left:auto;padding:3px 7px;border:1px solid #8d98a5;border-radius:999px;background:#eef1f4;color:#4d5965;font-size:9px;font-weight:900;white-space:nowrap}.post-owned-rate[data-level="high"]{border-color:#3a9860;background:#e9f8ef;color:#17683a}.post-owned-rate[data-level="mid"]{border-color:#c8982f;background:#fff6da;color:#79570c}.post-owned-rate[data-level="low"]{border-color:#be6464;background:#fff0f0;color:#8d3030}html[data-theme="dark"] .post-owned-rate{background:#252c34}html[data-theme="dark"] .post-owned-rate[data-level="high"]{background:#173626;color:#8de0ad}html[data-theme="dark"] .post-owned-rate[data-level="mid"]{background:#3b3118;color:#efd27d}html[data-theme="dark"] .post-owned-rate[data-level="low"]{background:#3d2225;color:#f0a1a6}
.browse-category-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #208c87;background:rgba(32,140,135,.10);color:#167570;font-size:11px;font-weight:800;white-space:nowrap}
.browse-category-badge[data-category-id="mirror_dungeon"]{--card-category:#26b7ae;--card-category-rgb:38,183,174}
.browse-category-badge[data-category-id="mirror_railway"]{--card-category:#3f8fe6;--card-category-rgb:63,143,230}
.browse-category-badge[data-category-id="projection_combat"]{--card-category:#d83a38;--card-category-rgb:216,58,56}
.browse-category-badge[data-category-id="luxcavation"]{--card-category:#e3ad2d;--card-category-rgb:227,173,45}
.browse-category-badge[data-category-id="story"]{--card-category:#9b75d4;--card-category-rgb:155,117,212}
.browse-category-badge[data-category-id]{border-color:var(--card-category);background:rgba(var(--card-category-rgb),.12);color:var(--card-category)}
.post-season-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #a97818;background:#fff7df;color:#865c09;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}[data-theme="dark"] .post-season-badge{border-color:#d3a43d;background:#3c321d;color:#f1ca70}
[data-theme="dark"] .browse-category-badge,[data-theme="dark"] .post-category-badge,[data-theme="dark"] .review-category{border-color:#42b8b2;background:rgba(20,137,130,.22);color:#73d4cf}
[data-theme="dark"] .browse-category-badge[data-category-id]{border-color:var(--card-category);background:rgba(var(--card-category-rgb),.22);color:color-mix(in srgb,var(--card-category) 72%,white)}
@media(max-width:520px){.browse-card-head-actions{gap:5px}.browse-category-badge{padding:3px 6px;font-size:9px}.post-card-rich .bookmark-button{flex:0 0 auto}}
@media(max-width:620px){.post-card-rich .post-card-head{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.post-card-rich .post-card-head::-webkit-scrollbar{display:none}.post-card-rich .browse-primary-badges{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:5px}.post-card-rich .browse-card-head-actions{flex:0 0 auto;margin-left:auto}.post-card-rich .post-card-head :is(.post-season-badge,.difficulty-badge,.strategy-type-badge,.browse-category-badge){white-space:nowrap}}
.projection-turn-by-rate{margin-left:auto;margin-right:6px;border-color:#b97800;background:#fff3cf;color:#704200;font-family:"Yu Gothic",Meiryo,sans-serif;font-weight:900}.post-card-label:has(.projection-turn-by-rate){flex-wrap:wrap}.post-card-label .projection-turn-by-rate+.post-owned-rate{margin-left:0}
html[data-theme="dark"] .projection-turn-by-rate{border-color:#d5a12c;background:#332a16;color:#ffd977}

/* v0.9.01 閲覧画面の人格名ツールチップ・詳細モーダル */
.community-browser .browse-identity-card {
  cursor: pointer;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.community-browser .browse-identity-card::before {
  content: attr(data-identity-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 30;
  width: max-content;
  max-width: 240px;
  padding: 7px 9px;
  border: 1px solid #b98b35;
  background: #211b14;
  color: #fffaf0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity .14s ease, transform .14s ease;
  box-shadow: 0 8px 22px rgba(25, 18, 8, .2);
}

@media (hover: hover) and (pointer: fine) {
  .community-browser .browse-identity-card:hover,
  .community-browser .browse-identity-card:focus-visible {
    z-index: 25;
    border-color: #9b6812;
    box-shadow: 0 5px 14px rgba(103, 71, 17, .18);
    transform: translateY(-2px);
  }

  .community-browser .browse-identity-card:hover::before,
  .community-browser .browse-identity-card:focus-visible::before {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.community-browser .browse-identity-card:focus-visible {
  box-shadow: 0 0 0 3px rgba(32, 140, 135, .28);
}

.identity-modal-open,
.identity-modal-open body {
  overflow: hidden;
}

.browse-identity-modal[hidden] {
  display: none;
}

.browse-identity-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 20px;
}

.browse-identity-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 14, 10, .72);
  backdrop-filter: blur(3px);
}

.browse-identity-modal-panel {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  max-height: min(680px, calc(100dvh - 40px));
  overflow-y: auto;
  padding: 28px 28px 24px;
  border: 1px solid #b98b35;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,237,219,.98)),
    var(--paper);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  outline: none;
}

.browse-identity-modal-panel::after {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -72px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(174,126,37,.22);
  transform: rotate(45deg);
  pointer-events: none;
}

.browse-identity-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.browse-identity-modal-kicker {
  margin: 0 0 14px;
  color: #8c651f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.browse-identity-modal-order {
  display: inline-flex;
  margin-bottom: 13px;
  padding: 5px 9px;
  border: 1px solid #caa45b;
  background: rgba(202, 164, 91, .11);
  color: #765319;
  font-size: 11px;
  font-weight: 900;
}

.browse-identity-modal-panel h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: Georgia, "Yu Mincho", serif;
  font-size: clamp(24px, 5vw, 34px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.browse-identity-modal-sinner {
  position: relative;
  z-index: 1;
  margin: 12px 0 24px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 800;
}

.browse-identity-modal-source {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
  padding: 14px 15px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.browse-identity-modal-source span {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .1em;
}

.browse-identity-modal-source strong {
  font-size: 14px;
  line-height: 1.5;
}

.browse-identity-modal-dismiss {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 46px;
  margin-top: 22px;
  border: 1px solid #16837e;
  background: #16837e;
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

[data-theme="dark"] .browse-identity-modal-panel {
  background: linear-gradient(145deg, #29261f, #171512);
}

[data-theme="dark"] .browse-identity-modal-kicker,
[data-theme="dark"] .browse-identity-modal-order {
  color: #e1bd73;
}

@media (max-width: 720px) {
  .community-browser .browse-identity-card::before {
    content: none;
  }

  .browse-identity-modal {
    align-items: end;
    padding: 12px;
  }

  .browse-identity-modal-panel {
    width: 100%;
    max-height: calc(100dvh - 24px);
    padding: 25px 20px 18px;
    border-radius: 8px 8px 0 0;
  }

  .browse-identity-modal-panel h2 {
    font-size: 25px;
  }

  .browse-identity-modal-dismiss {
    min-height: 50px;
  }
}

/* v0.9.02 人格ツールチップのポータル化・モーダル位置調整・将来画像枠 */
.community-browser .browse-identity-card::before { content: none !important; }

.browse-identity-tooltip {
  position: fixed;
  z-index: 1400;
  max-width: min(320px, calc(100vw - 16px));
  padding: 8px 11px;
  border: 1px solid #b98b35;
  border-radius: 3px;
  background: rgba(24, 21, 18, .97);
  color: #fffaf0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  white-space: normal;
  pointer-events: none;
}

.browse-identity-tooltip[hidden] { display: none; }

.browse-identity-modal-image {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid rgba(185, 139, 53, .55);
  background: rgba(0, 0, 0, .08);
}

.browse-identity-modal-image[hidden] { display: none; }
.browse-identity-modal-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 720px) {
  .browse-identity-modal {
    align-items: center;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  }

  .browse-identity-modal-panel {
    width: 100%;
    max-height: min(760px, calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    padding: 23px 20px 18px;
    border-radius: 8px;
  }
}

/* v0.9.03 人格詳細モーダルの不要なスクロールバーを抑制 */
.browse-identity-modal-panel {
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.browse-identity-modal-panel::after {
  right: -72px;
  bottom: 18px;
}

@media (min-width: 721px) and (max-height: 650px) {
  .browse-identity-modal-panel {
    max-height: calc(100dvh - 28px);
    padding: 22px 28px 20px;
  }

  .browse-identity-modal-kicker { margin-bottom: 10px; }
  .browse-identity-modal-order { margin-bottom: 9px; }
  .browse-identity-modal-panel h2 { font-size: clamp(22px, 4vw, 30px); }
  .browse-identity-modal-sinner { margin: 8px 0 16px; }
  .browse-identity-modal-source { padding-block: 11px; }
  .browse-identity-modal-dismiss { margin-top: 16px; min-height: 42px; }
}
/* v1.0.0 投稿者表示 */
.post-author{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none;margin:10px 0 2px;max-width:max-content}.post-author img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--line,#dfcfb2);background:#fff}.post-author span{display:grid;line-height:1.2}.post-author small{font-size:10px;color:var(--muted,#746c62)}.post-author strong{font-size:13px}.post-author.is-compact img{width:30px;height:30px}.detail-author-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;border:1px solid var(--line,#dfcfb2);border-radius:14px;background:rgba(255,255,255,.45)}html[data-theme="dark"] .detail-author-card{background:rgba(255,255,255,.04)}

/* 投稿者名と管理者タグを同じ行に揃える */
.post-author .post-author-name-row{display:inline-flex;grid-auto-flow:column;grid-template-columns:max-content max-content;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap;width:max-content}
.post-author .post-author-name-row strong{min-width:0;white-space:nowrap}
.post-author .post-author-name-row .admin-badge{display:inline-flex;white-space:nowrap}
.post-author-name-row{display:flex;align-items:center;gap:6px;min-width:0}.post-rank-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:17px;max-height:17px;padding:0 7px;border:1px solid color-mix(in srgb,var(--gold) 78%,transparent);border-radius:999px;background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold);font:900 10px/15px "Yu Gothic UI",sans-serif;white-space:nowrap;vertical-align:middle}.post-author.is-compact .post-rank-badge{height:15px;max-height:15px;padding-inline:6px;font-size:9px;line-height:13px}html[data-theme="dark"] .post-rank-badge{background:rgba(216,148,10,.15);color:#f0c65c}

/* v1.0.47 イサン人格画像 */
.browse-identity-card.has-identity-image{background-size:cover!important;background-position:center!important;color:#fff!important}
.browse-identity-card.has-identity-image strong,.browse-identity-card.has-identity-image small,.browse-identity-card.has-identity-image .browse-order{color:#fff!important;text-shadow:0 1px 3px #000}

/* v1.0.64: bookmark cards must keep their natural height on phones */
.bookmark-card-grid.community-browser{padding-top:0!important}
.bookmark-card-grid .post-card-rich{height:auto!important;min-height:0!important;align-self:start!important}
.bookmark-card-grid .browse-identity-scroll:empty,
.bookmark-card-grid .browse-keyword-row:empty,
.bookmark-card-grid .browse-strategy-row:empty{display:none!important}
@media(max-width:720px){
  .bookmark-card-grid.community-browser{padding-top:0!important;gap:10px!important}
  .bookmark-card-grid .post-card-rich{display:block!important;height:auto!important;min-height:0!important;padding:12px!important}
  .bookmark-card-grid .post-card-info-row{margin-top:8px!important}
}
