/* Lost Property Court - document style play layout. */
:root{
  --lpc-bg:#efe7d5;
  --lpc-paper:#f8f0df;
  --lpc-paper-2:#efe1c5;
  --lpc-ink:#1f252b;
  --lpc-muted:#5f5648;
  --lpc-line:#bda985;
  --lpc-blue:#2e5877;
  --lpc-blue-2:#17354d;
  --lpc-good:#287447;
  --lpc-warn:#a36a17;
}

/* Final-record audit stages: scoped replacement for the former DOM hotfix layer. */
.app[data-custom-stage="true"] .custom-card-zone{flex:1 1 auto!important;min-height:118px!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-right:6px!important;scrollbar-width:thin;}
.app[data-custom-stage="true"] .custom-board{overflow-y:auto!important;scrollbar-width:thin;}
.app[data-custom-stage="true"] .custom-result{margin-top:10px!important;padding:12px!important;border-radius:10px!important;border:1px solid rgba(84,67,43,.28)!important;background:#fff7df!important;}
.app[data-custom-stage="true"] .custom-result.success{border-color:rgba(40,116,71,.42)!important;background:#eef8eb!important;}
.app[data-custom-stage="true"] .custom-result.fail{border-color:rgba(163,106,23,.48)!important;background:#fff2dc!important;}
.app[data-custom-stage="true"] .audit-mini-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;}
.app[data-custom-stage="true"] .audit-mini-visual span{min-height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(96,115,132,.14);border:1px solid rgba(96,115,132,.22);font-weight:1000;}
@media(max-width:900px){
  .app[data-custom-stage="true"]{height:auto!important;min-height:100dvh!important;overflow-y:auto!important;}
  .app[data-custom-stage="true"] .game-grid.custom-case-grid{height:auto!important;display:flex!important;flex-direction:column!important;padding:10px!important;overflow:visible!important;}
  .app[data-custom-stage="true"] .custom-scene,.app[data-custom-stage="true"] .custom-side,.app[data-custom-stage="true"] .custom-board{width:100%!important;max-height:none!important;overflow:visible!important;}
  .app[data-custom-stage="true"] .custom-card-zone{max-height:44dvh!important;overflow-y:auto!important;}
  .app[data-custom-stage="true"] .custom-people{grid-template-columns:1fr!important;}
  .app[data-custom-stage="true"] .judge-actions{position:sticky!important;bottom:0!important;z-index:30!important;background:rgba(248,240,223,.96)!important;padding:8px!important;border-radius:12px!important;box-shadow:0 -8px 18px rgba(61,43,22,.14)!important;}
}
@media(max-width:480px){
  .app[data-custom-stage="true"] .case-title b{font-size:17px!important;}
  .app[data-custom-stage="true"] .case-title span{max-height:2.7em;overflow:hidden;}
  .app[data-custom-stage="true"] .custom-case-brief{padding-left:16px!important;}
  .app[data-custom-stage="true"] .custom-case-icon{position:static!important;width:42px!important;height:42px!important;margin-bottom:8px!important;}
  .app[data-custom-stage="true"] .candidate-card,.app[data-custom-stage="true"] .mini-choice,.app[data-custom-stage="true"] .e-card{min-height:44px!important;}
}

html,body{
  min-height:100%;
  overflow-x:hidden!important;
}

html body{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.58),transparent 22%),
    radial-gradient(circle at 82% 12%,rgba(108,79,43,.16),transparent 28%),
    linear-gradient(135deg,#ede2ca,#cdbb98 48%,#bca47f)!important;
}

.app[data-screen="game"]{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  padding:0!important;
  color:var(--lpc-ink)!important;
  background:
    linear-gradient(90deg,rgba(91,68,43,.12) 1px,transparent 1px),
    linear-gradient(rgba(91,68,43,.1) 1px,transparent 1px),
    radial-gradient(circle at 10% 98%,rgba(55,38,20,.18),transparent 34%),
    linear-gradient(135deg,#efe6d1,#d6c39e)!important;
  background-size:34px 34px,34px 34px,auto,auto!important;
}

.app[data-screen="game"]::before{
  content:"";
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  height:170px;
  pointer-events:none;
  background:linear-gradient(12deg,rgba(73,49,28,.18),transparent 70%);
}

.app[data-screen="game"] .topbar{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  min-height:58px!important;
  padding:8px 16px!important;
  border:0!important;
  border-bottom:1px solid rgba(82,66,42,.26)!important;
  border-radius:0!important;
  background:rgba(247,239,221,.96)!important;
  color:var(--lpc-ink)!important;
  box-shadow:0 6px 18px rgba(62,42,21,.1)!important;
}

.app[data-screen="game"] .case-title b{
  display:block!important;
  font-size:21px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  color:#171b20!important;
  text-shadow:none!important;
}

.app[data-screen="game"] .case-title b::before{
  content:"▣ "!important;
  color:var(--lpc-blue)!important;
}

.app[data-screen="game"] .case-title span{
  display:block!important;
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.24!important;
  color:#665c4e!important;
  opacity:1!important;
}

.app[data-screen="game"] .hud{
  gap:7px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}

.app[data-screen="game"] .hud .pill,
.app[data-screen="game"] .lost-help-btn{
  min-height:34px!important;
  padding:6px 11px!important;
  border:1px solid rgba(88,72,50,.28)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#fbf5e6,#e8d7b9)!important;
  color:#2c2a25!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
  white-space:nowrap!important;
  font-weight:900!important;
}

.app[data-screen="game"] .game-grid.advanced-court,
.app[data-screen="game"] .game-grid.advanced-court.custom-case-grid{
  height:calc(100dvh - 58px)!important;
  display:grid!important;
  grid-template-columns:minmax(460px,1fr) minmax(410px,.88fr)!important;
  grid-template-rows:minmax(0,1fr) 156px!important;
  grid-template-areas:
    "scene side"
    "scene board"!important;
  gap:14px!important;
  padding:14px 34px 18px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

.app[data-screen="game"] .scene,
.app[data-screen="game"] .side,
.app[data-screen="game"] .board{
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(84,67,43,.28)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,var(--lpc-paper),#eadabd)!important;
  color:var(--lpc-ink)!important;
  box-shadow:0 10px 24px rgba(61,43,22,.18),inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.app[data-screen="game"] .game-grid>.scene,
.app[data-screen="game"] .custom-case-grid>.scene{
  grid-area:scene!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  gap:10px!important;
  overflow:hidden!important;
  padding:16px!important;
}

.app[data-screen="game"] .game-grid>.side,
.app[data-screen="game"] .custom-case-grid>.side{
  grid-area:side!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  overflow:hidden!important;
  padding:14px!important;
}

.app[data-screen="game"] .game-grid>.board,
.app[data-screen="game"] .custom-case-grid>.board{
  grid-area:board!important;
  display:grid!important;
  grid-template-rows:1fr auto!important;
  gap:8px!important;
  overflow:hidden!important;
  padding:12px!important;
}

.app[data-screen="game"] .scene::before,
.app[data-screen="game"] .scene::after,
.app[data-screen="game"] .side::before,
.app[data-screen="game"] .side::after,
.app[data-screen="game"] .board::before,
.app[data-screen="game"] .board::after,
.app[data-screen="game"] .mini-visual,
.app[data-screen="game"] .stamp-art,
.app[data-screen="game"] .forensic-gadget .mini-visual,
.app[data-screen="game"] .advanced-mini .stamp-art{
  display:none!important;
  content:none!important;
}

.app[data-screen="game"] .custom-case-brief{
  position:relative!important;
  min-height:0!important;
  margin:0!important;
  padding:16px 18px 16px 92px!important;
  border:1px solid rgba(84,67,43,.24)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#fbf5e8,#eadbbe)!important;
  color:var(--lpc-ink)!important;
  box-shadow:none!important;
}

.app[data-screen="game"] .custom-case-icon{
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  width:56px!important;
  height:56px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(70,82,91,.25)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#dbe1e3,#aeb9bd)!important;
  color:#142331!important;
  font-size:30px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.app[data-screen="game"] .court-eyebrow{
  display:inline-flex!important;
  margin:0 0 7px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#ded0b0!important;
  color:#59442a!important;
  font-size:11px!important;
  font-weight:1000!important;
}

.app[data-screen="game"] .custom-case-brief h2{
  margin:0 0 8px!important;
  font-size:25px!important;
  line-height:1.15!important;
  letter-spacing:-.045em!important;
  color:#15191c!important;
  text-shadow:none!important;
}

.app[data-screen="game"] .custom-case-brief p{
  margin:0!important;
  max-width:44em!important;
  color:#2f3030!important;
  font-size:15px!important;
  line-height:1.55!important;
  word-break:keep-all!important;
}

.app[data-screen="game"] .custom-people{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}

.app[data-screen="game"] .custom-people article,
.app[data-screen="game"] .custom-people>article{
  margin:0!important;
  padding:12px 13px!important;
  border:1px solid rgba(84,67,43,.26)!important;
  border-radius:10px!important;
  background:rgba(255,249,235,.78)!important;
  color:var(--lpc-ink)!important;
  box-shadow:none!important;
}

.app[data-screen="game"] .custom-people b{
  display:block!important;
  margin:0 0 5px!important;
  color:#1b2730!important;
  font-size:15px!important;
}

.app[data-screen="game"] .custom-people b::before{
  content:"▣ ";
  color:#607384;
}

.app[data-screen="game"] .custom-people p{
  margin:0!important;
  color:#2f3030!important;
  font-size:14px!important;
  line-height:1.45!important;
  word-break:keep-all!important;
}

.app[data-screen="game"] .request,
.app[data-screen="game"] .candidate-panel,
.app[data-screen="game"] .forensic-gadget{
  flex:0 0 auto!important;
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid rgba(84,67,43,.25)!important;
  border-radius:10px!important;
  background:rgba(255,249,235,.74)!important;
  color:var(--lpc-ink)!important;
  box-shadow:none!important;
}

.app[data-screen="game"] .request h2,
.app[data-screen="game"] .panel-title{
  margin:0 0 7px!important;
  color:#141a1f!important;
  font-size:17px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}

.app[data-screen="game"] .request h2::before,
.app[data-screen="game"] .panel-title::before{
  content:""!important;
}

.app[data-screen="game"] .request p{
  margin:0!important;
  color:#4b4439!important;
  font-size:14px!important;
  line-height:1.38!important;
}

.app[data-screen="game"] .candidate-head,
.app[data-screen="game"] .forensic-gadget__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px!important;
}

.app[data-screen="game"] .candidate-head span,
.app[data-screen="game"] .forensic-gadget__head span{
  order:2!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#607384!important;
  color:#fff7e9!important;
  font-size:11px!important;
  font-weight:900!important;
}

.app[data-screen="game"] .candidate-head b,
.app[data-screen="game"] .forensic-gadget__head b{
  color:#141a1f!important;
  font-size:15px!important;
}

.app[data-screen="game"] .candidate-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}

.app[data-screen="game"] .candidate-card,
.app[data-screen="game"] .mini-choice{
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid rgba(62,63,58,.34)!important;
  border-radius:8px!important;
  background:linear-gradient(145deg,#faf8f2,#dfd3bc)!important;
  color:#14181b!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.app[data-screen="game"] .candidate-card.selected,
.app[data-screen="game"] .mini-choice.active{
  outline:2px solid rgba(46,88,119,.42)!important;
  background:linear-gradient(145deg,#eaf3f7,#c8d8e0)!important;
}

.app[data-screen="game"] .candidate-card small,
.app[data-screen="game"] .forensic-gadget p,
.app[data-screen="game"] .mini-actions{
  display:none!important;
}

.app[data-screen="game"] .mini-buttons{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}

.app[data-screen="game"] .card-zone,
.app[data-screen="game"] .custom-card-zone{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  padding:2px 4px 2px 0!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}

.app[data-screen="game"] .card-zone::-webkit-scrollbar,
.app[data-screen="game"] .custom-card-zone::-webkit-scrollbar{width:9px;}
.app[data-screen="game"] .card-zone::-webkit-scrollbar-thumb,
.app[data-screen="game"] .custom-card-zone::-webkit-scrollbar-thumb{
  border:2px solid #efe3c9;
  border-radius:999px;
  background:#7d765f;
}

.app[data-screen="game"] .e-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:3px 10px!important;
  align-items:center!important;
  min-height:56px!important;
  margin:0 0 8px!important;
  padding:8px 12px!important;
  border:1px solid rgba(84,67,43,.22)!important;
  border-left:7px solid #b89440!important;
  border-radius:9px!important;
  background:linear-gradient(145deg,#fffaf0,#eee0c4)!important;
  color:var(--lpc-ink)!important;
  box-shadow:0 3px 9px rgba(70,48,22,.1)!important;
}

.app[data-screen="game"] .e-card b{
  color:#12171b!important;
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}

.app[data-screen="game"] .e-card small{
  color:#5b5246!important;
  font-size:12px!important;
  line-height:1.3!important;
}

.app[data-screen="game"] .e-card .card-action{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  margin:0!important;
  color:#1d2d39!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.app[data-screen="game"] .e-card.selected{
  border-left-color:var(--lpc-blue)!important;
  outline:2px solid rgba(46,88,119,.26)!important;
  background:linear-gradient(145deg,#edf5f7,#f8edd0)!important;
}

.app[data-screen="game"] .e-card.selected .card-action{
  color:var(--lpc-good)!important;
}

.app[data-screen="game"] .e-card.selected::after{display:none!important;content:""!important;}

.app[data-screen="game"] .court-docket,
.app[data-screen="game"] .reason-note,
.app[data-screen="game"] .forensic-warning,
.app[data-screen="game"] .ux-stage-flow,
.app[data-screen="game"] .ux-coach,
.app[data-screen="game"] .ux-mobile-tabs,
.app[data-screen="game"] .ux-selected-count,
.app[data-screen="game"] .ux-submit-guide,
.app[data-screen="game"] .custom-board>.panel-title,
.app[data-screen="game"] .board>.panel-title,
.app[data-screen="game"] .proof-grid,
.app[data-screen="game"] .mini-visual,
.app[data-screen="game"] .stamp-art{
  display:none!important;
}

.app[data-screen="game"] .judgement{
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid rgba(84,67,43,.22)!important;
  border-radius:9px!important;
  background:rgba(255,249,235,.72)!important;
  color:#302b24!important;
  font-size:13px!important;
  line-height:1.32!important;
  overflow:hidden!important;
}

.app[data-screen="game"] .judgement b{display:inline!important;margin:0!important;color:#14181b!important;}
.app[data-screen="game"] .judgement br{display:none!important;}

.app[data-screen="game"] .qa-judge-summary{
  margin-top:6px!important;
  padding:6px 9px!important;
  border:0!important;
  border-radius:6px!important;
  background:rgba(255,255,255,.45)!important;
  color:#302b24!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.app[data-screen="game"] .judge-actions{
  display:grid!important;
  grid-template-columns:1.35fr 1fr 1fr!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.app[data-screen="game"] .judge-actions .btn{
  min-height:39px!important;
  padding:7px 10px!important;
  border:1px solid rgba(84,67,43,.23)!important;
  border-radius:8px!important;
  color:#17202a!important;
  font-size:14px!important;
  font-weight:1000!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.app[data-screen="game"] .judge-actions .btn.primary{
  color:white!important;
  background:linear-gradient(145deg,var(--lpc-blue),var(--lpc-blue-2))!important;
  border-color:rgba(21,43,64,.42)!important;
}

.app[data-screen="game"] .judge-actions .btn.ghost{
  background:linear-gradient(145deg,#f8f3e8,#dfd0b7)!important;
}

.inspect-modal{overflow:auto!important;}
.inspect-card{max-height:calc(100vh - 36px)!important;}
.inspect-body{overflow:auto!important;}

@media(max-width:1180px){
  .app[data-screen="game"] .game-grid.advanced-court,
  .app[data-screen="game"] .game-grid.advanced-court.custom-case-grid{
    grid-template-columns:minmax(390px,1fr) minmax(360px,.9fr)!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .app[data-screen="game"] .custom-case-brief h2{font-size:23px!important;}
  .app[data-screen="game"] .custom-case-brief p{font-size:14px!important;}
}

@media(max-width:980px){
  .app[data-screen="game"]{
    height:auto!important;
    min-height:100dvh!important;
    overflow:auto!important;
  }
  .app[data-screen="game"] .game-grid.advanced-court,
  .app[data-screen="game"] .game-grid.advanced-court.custom-case-grid{
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"scene" "side" "board"!important;
    overflow:visible!important;
    padding:10px!important;
  }
  .app[data-screen="game"] .game-grid>.scene,
  .app[data-screen="game"] .game-grid>.side,
  .app[data-screen="game"] .game-grid>.board{
    overflow:visible!important;
  }
  .app[data-screen="game"] .custom-people{
    grid-template-columns:1fr!important;
  }
  .app[data-screen="game"] .card-zone,
  .app[data-screen="game"] .custom-card-zone{
    max-height:none!important;
    overflow:visible!important;
  }
}

@media(max-width:640px){
  .app[data-screen="game"] .topbar{min-height:auto!important;padding:10px!important;}
  .app[data-screen="game"] .case-title b{font-size:17px!important;}
  .app[data-screen="game"] .case-title span{font-size:12px!important;}
  .app[data-screen="game"] .hud .pill,
  .app[data-screen="game"] .lost-help-btn{
    flex:1 1 auto!important;
    text-align:center!important;
  }
  .app[data-screen="game"] .custom-case-brief{
    padding:14px!important;
  }
  .app[data-screen="game"] .custom-case-icon{
    position:static!important;
    margin-bottom:10px!important;
  }
  .app[data-screen="game"] .mini-buttons,
  .app[data-screen="game"] .judge-actions{
    grid-template-columns:1fr!important;
  }
  .app[data-screen="game"] .e-card{grid-template-columns:1fr!important;}
  .app[data-screen="game"] .e-card .card-action{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:start!important;
  }
}
