/* 墨线分镜 · 出击模式页 + 每日挑战页（W1-B 负责） */

/* ---------- 出击页 mode_select ---------- */
.ink-sortie { --slant: 36px; }
.ink-sortie__list { display: flex; flex-direction: column; padding: 2px 12px 24px; }

/* 三个斜切横格：上下边同向倾斜（约 6°），相邻两格错开 6px 露出黑底分镜缝 */
.ink-sortie__cell {
  position: relative; display: block; flex: 1 1 var(--h); width: 100%;
  min-height: var(--min); max-height: var(--max);
  padding: 0; text-align: left; color: var(--white);
}
.ink-sortie__cell + .ink-sortie__cell { margin-top: calc(6px - var(--slant)); }
.ink-sortie__cell:active { filter: brightness(1.18); }
.ink-sortie__cell--quest { --h: 292px; --min: 204px; --max: 352px; --edge: var(--yellow); }
.ink-sortie__cell--nightmare { --h: 196px; --min: 152px; --max: 232px; --edge: #d8325f; }
.ink-sortie__cell--nightmare.is-locked { --edge: #8a8a8a; }
.ink-sortie__cell--daily { --h: 196px; --min: 152px; --max: 232px; --edge: var(--white); }

.ink-sortie__edge,
.ink-sortie__shape { position: absolute; display: block; }
.ink-sortie__edge {
  inset: 0; background: var(--edge, var(--white));
  clip-path: polygon(0 var(--slant), 100% 0, 100% calc(100% - var(--slant)), 0 100%);
}
.ink-sortie__shape {
  inset: 3px; overflow: hidden; background: var(--ink);
  clip-path: polygon(0 var(--slant), 100% 0, 100% calc(100% - var(--slant)), 0 100%);
}
.ink-sortie__art, .ink-sortie__tint, .ink-sortie__dots { position: absolute; inset: 0; display: block; pointer-events: none; }
.ink-sortie__dots { opacity: .13; }
.ink-sortie__content {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between;
  padding: calc(var(--slant) + 6px) 14px 30px 18px;
}

/* 标题与副标 */
.ink-sortie__title {
  display: inline-block; align-self: flex-start;
  font-weight: 900; font-size: 46px; line-height: 1; letter-spacing: .04em; white-space: nowrap;
  color: var(--white);
  -webkit-text-stroke: 3px var(--ink); paint-order: stroke fill;
  text-shadow: 4px 4px 0 var(--red);
  transform: skewX(-8deg);
}
.ink-sortie__title--lg { font-size: 60px; -webkit-text-stroke-width: 4px; text-shadow: 5px 5px 0 var(--ink); }
.ink-sortie__sub { font-weight: 900; font-size: 12px; letter-spacing: .04em; color: var(--white); text-shadow: 2px 2px 0 var(--ink); }
.ink-sortie__col { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }

/* 征途：愚者牌放大裁切并压暗，红色斜条托住标题 */
.ink-sortie__art--fool {
  background: #3a2a22 url("../../assets/tarot/cards/card_0.webp") no-repeat 50% 16% / 132% auto;
}
.ink-sortie__tint { background: rgba(17, 17, 17, .42); }
.ink-sortie__stickers { display: flex; flex-wrap: wrap; gap: 8px; }
.ink-sortie__band { align-self: flex-start; margin-left: -26px; filter: drop-shadow(4px 4px 0 var(--ink)); }
.ink-sortie__band-in {
  display: block; padding: 4px 44px 6px 30px; background: var(--red);
  clip-path: polygon(0 0, 100% 9%, calc(100% - 14px) 100%, 0 100%);
}
.ink-sortie__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.ink-sortie__go {
  flex: none; margin: 0 4px 6px 0; padding: 5px 12px; font-size: 15px; letter-spacing: .06em;
  box-shadow: 3px 3px 0 var(--red);
}

/* 梦魇：七宗罪剪影拼贴（白底立绘压成黑剪影，multiply 把白底吃掉），锁定时整格灰度 */
.ink-sortie__art--nightmare { overflow: hidden; background: radial-gradient(circle at 62% 38%, #cf3a74 0%, #7a1f55 55%, #3d1233 100%); }
.ink-sortie__sil {
  position: absolute; width: auto;
  mix-blend-mode: multiply;
  filter: grayscale(1) brightness(.56) contrast(30);
  pointer-events: none;
}
.ink-sortie__cell.is-locked .ink-sortie__art { filter: grayscale(1) brightness(1.7); }
.ink-sortie__stampbox { position: absolute; right: 14px; top: 16px; pointer-events: none; }
.ink-sortie__stampbox .ink-stamp { background: rgba(17, 17, 17, .72); }
.ink-sortie__stampbox .ink-stamp.is-slam { animation-delay: .62s; }
.ink-sortie__progress { display: flex; align-items: center; gap: 10px; }
.ink-sortie__squares { display: inline-flex; gap: 3px; }
.ink-sortie__squares i {
  display: block; width: 14px; height: 16px;
  border: 2px solid var(--white); background: rgba(17, 17, 17, .65);
  transform: skewX(-12deg);
}
.ink-sortie__squares i.is-on { background: var(--yellow); border-color: var(--ink); }
.ink-sortie__count { font-weight: 900; font-size: 13px; color: var(--white); text-shadow: 2px 2px 0 var(--ink); white-space: nowrap; }
.ink-sortie__count b { font-size: 19px; color: var(--yellow); }

/* 每日挑战：黄底，左侧大号日期，右侧今日突变与状态 */
.ink-sortie__art--daily { background: var(--yellow); overflow: hidden; }
.ink-sortie__art--daily::after {
  content: ""; position: absolute; top: -20%; right: -8%; width: 46%; height: 150%;
  background: var(--red); transform: skewX(-14deg);
}
.ink-sortie__cell--daily .ink-sortie__content { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 28px; }
.ink-sortie__date {
  display: block; font-size: 78px; line-height: .95; color: var(--ink);
  text-shadow: 4px 4px 0 var(--white); transform: skewX(-8deg); transform-origin: left bottom;
}
.ink-sortie__side { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; min-width: 0; }

/* 梦魇未解锁弹层 */
.ink-sortie__lock-text { margin: 0 0 10px; font-weight: 800; font-size: 14px; line-height: 1.5; }
.ink-sortie__lock-count { margin-bottom: 10px; font-weight: 900; font-size: 14px; }
.ink-sortie__lock-count b { font-size: 24px; color: var(--red); }
.ink-sortie__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ink-sortie__chip {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px;
  border: 2.5px solid var(--ink); background: var(--paper-2); color: #6a6354;
  font-weight: 900; font-size: 13px;
}
.ink-sortie__chip b { font-size: 12px; }
.ink-sortie__chip.is-done { background: var(--yellow); color: var(--ink); }

/* ---------- 每日挑战页 daily ---------- */
.ink-daily__scroll { display: flex; flex-direction: column; gap: 10px; padding: 2px 16px 20px; }
.ink-daily__scroll > * { flex: none; }
.ink-daily__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 6px 4px 8px; }
.ink-daily__date { font-family: var(--font-num); font-weight: 400; font-size: 17px; letter-spacing: .06em; padding: 4px 12px; }
.ink-daily__code { position: relative; overflow: hidden; padding: 12px 14px 14px; box-shadow: 5px 5px 0 var(--red); }
.ink-daily__code-dots { position: absolute; top: 0; right: 0; width: 46%; height: 100%; opacity: .1; pointer-events: none; }
.ink-daily__code .ink-tape { position: relative; }
.ink-daily__code-name {
  position: relative; margin-top: 6px; font-weight: 900; font-size: 30px; line-height: 1.15; letter-spacing: .06em;
  color: var(--yellow); text-shadow: 3px 3px 0 var(--red); transform: skewX(-6deg); transform-origin: left center;
}
.ink-daily__code-desc { position: relative; margin-top: 6px; font-weight: 700; font-size: 12px; line-height: 1.5; color: rgba(255, 255, 255, .86); }
.ink-daily__code-tags { position: relative; display: flex; flex-wrap: wrap; gap: 6px 8px; margin-top: 8px; }
.ink-daily__label { position: relative; z-index: 2; margin-bottom: -16px; padding-left: 12px; pointer-events: none; }
.ink-daily__mut { display: flex; align-items: center; gap: 12px; padding: 8px 14px 8px 10px; }
.ink-daily__mut .ink-burst { color: var(--white); }
.ink-daily__mut-text { min-width: 0; }
.ink-daily__mut-name { font-weight: 900; font-size: 17px; line-height: 1.2; }
.ink-daily__mut-desc { margin-top: 2px; font-weight: 700; font-size: 12px; line-height: 1.45; color: #4a4a4a; }
.ink-daily__hero { display: flex; align-items: center; gap: 12px; padding: 10px 12px; }
.ink-daily__hero-text { flex: 1; min-width: 0; }
.ink-daily__hero-name { font-weight: 900; font-size: 19px; line-height: 1.2; }
.ink-daily__hero-school { margin-top: 2px; font-weight: 700; font-size: 12px; color: #555; }
.ink-daily__dock { flex: none; padding: 8px 18px calc(14px + var(--safe-bottom)); }
