/* Ash & Blood, Tapestry v5.29
   The drawing surface is intentionally isolated from every global atmosphere,
   grain, vignette, opacity and filter layer. The canvas is always true #0a0a0a. */

body.tapestry-page{
  --tap-bg:#090a0b;
  --tap-panel:#111417;
  --tap-panel-2:#15191d;
  --tap-line:rgba(235,225,207,.14);
  --tap-line-strong:rgba(208,178,116,.28);
  --tap-text:#eee7dc;
  --tap-muted:#aaa197;
  --tap-faint:#77716a;
  --tap-gold:#c4a56c;
  --tap-blood:#a3343c;
  background:var(--tap-bg)!important;
  color:var(--tap-text)!important;
}

/* Full removal of all sitewide visual masks on this page. */
body.tapestry-page::before,
body.tapestry-page::after,
body.tapestry-page .ab-atmosphere-v12,
body.tapestry-page main::before,
body.tapestry-page main::after,
body.tapestry-page section::before,
body.tapestry-page section::after,
body.tapestry-page .canvas-area::before,
body.tapestry-page .canvas-area::after,
body.tapestry-page .canvas-wrap::before,
body.tapestry-page .canvas-wrap::after,
body.tapestry-page .canvas-inner::before,
body.tapestry-page .canvas-inner::after{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

body.tapestry-page,
body.tapestry-page main,
body.tapestry-page .tapestry-layout,
body.tapestry-page .canvas-area,
body.tapestry-page .canvas-wrap,
body.tapestry-page .canvas-inner,
body.tapestry-page #tapestryCanvas{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.tapestry-page main{
  position:relative;
  z-index:4;
  isolation:isolate;
  background:var(--tap-bg)!important;
}

body.tapestry-page .page-header{
  min-height:0!important;
  padding:6.35rem 1.5rem 1.25rem!important;
  border-bottom:1px solid var(--tap-line)!important;
  background:linear-gradient(180deg,#0d1013,#090a0b)!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}
body.tapestry-page .page-header::before,
body.tapestry-page .page-header::after{display:none!important;content:none!important}
body.tapestry-page .page-header .section-label{font-size:.76rem!important;color:var(--tap-gold)!important;letter-spacing:.17em!important}
body.tapestry-page .page-header .hero-title{font-size:clamp(2.15rem,4vw,3.4rem)!important;color:#f4eee5!important;text-shadow:none!important}

body.tapestry-page .tapestry-layout{
  width:min(1540px,calc(100% - 2rem));
  max-width:none!important;
  margin:1rem auto 2rem!important;
  padding:0!important;
  gap:12px!important;
  align-items:stretch!important;
}

body.tapestry-page .toolbar{
  width:218px!important;
  padding:14px!important;
  gap:12px!important;
  border:1px solid var(--tap-line)!important;
  border-radius:10px!important;
  background:var(--tap-panel)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.22)!important;
  color:var(--tap-text)!important;
  filter:none!important;
  opacity:1!important;
  backdrop-filter:none!important;
}
body.tapestry-page .t-label{
  margin-bottom:5px!important;
  color:#c1b7aa!important;
  font-size:.74rem!important;
  letter-spacing:.12em!important;
}
body.tapestry-page .t-input{
  min-height:38px!important;
  padding:.52rem .62rem!important;
  border:1px solid var(--tap-line)!important;
  border-radius:6px!important;
  background:#0b0d0f!important;
  color:#f1e9df!important;
  font-size:.9rem!important;
}
body.tapestry-page .t-input:focus{border-color:var(--tap-line-strong)!important;box-shadow:0 0 0 2px rgba(196,165,108,.08)!important}
body.tapestry-page .palette{gap:5px!important}
body.tapestry-page .c-btn{width:25px!important;height:25px!important;border-radius:5px!important;box-shadow:none!important}
body.tapestry-page .c-btn.active{border-color:#f3eee6!important;box-shadow:0 0 0 2px rgba(255,255,255,.08)!important}
body.tapestry-page .custom-row span,
body.tapestry-page .online-list{font-size:.72rem!important;color:var(--tap-muted)!important}
body.tapestry-page .slider-row span{font-size:.86rem!important;color:var(--tap-muted)!important}
body.tapestry-page .t-btn,
body.tapestry-page .z-btn{
  min-height:36px!important;
  padding:.5rem .55rem!important;
  border:1px solid var(--tap-line)!important;
  border-radius:6px!important;
  background:#0c0f11!important;
  color:#bcb3a8!important;
  font-size:.72rem!important;
  font-weight:700!important;
}
body.tapestry-page .t-btn:hover,
body.tapestry-page .z-btn:hover,
body.tapestry-page .t-btn.active{
  border-color:rgba(208,178,116,.34)!important;
  background:#15191d!important;
  color:#f4eee5!important;
}
body.tapestry-page .t-btn.active{box-shadow:inset 2px 0 var(--tap-blood)!important}
body.tapestry-page .t-divider,
body.tapestry-page .online-section,
body.tapestry-page .board-stats{border-color:var(--tap-line)!important}
body.tapestry-page .board-stats{padding-top:9px!important;color:#968e85!important;font-size:.7rem!important}

body.tapestry-page .canvas-area{
  min-width:0!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.tapestry-page .canvas-hud{
  min-height:38px!important;
  padding:0 .25rem!important;
  color:#a9a097!important;
  font-size:.72rem!important;
  letter-spacing:.035em!important;
}
body.tapestry-page .zoom-bar{gap:5px!important}

/* The board itself. Nothing is permitted to darken, tint or texture it. */
body.tapestry-page .canvas-wrap{
  position:relative!important;
  flex:1 1 auto!important;
  background:#0a0a0a!important;
  border:1px solid rgba(235,225,207,.19)!important;
  border-radius:7px!important;
  box-shadow:0 14px 42px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
  cursor:crosshair!important;
  isolation:isolate!important;
}
body.tapestry-page .canvas-inner{
  position:relative!important;
  background:#0a0a0a!important;
  transform-origin:0 0!important;
}
body.tapestry-page #tapestryCanvas{
  display:block!important;
  width:100%!important;
  height:auto!important;
  background:#0a0a0a!important;
  box-shadow:none!important;
  -webkit-filter:none!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
body.tapestry-page #statusMsg{
  min-height:1.35em!important;
  padding:.15rem .35rem 0!important;
  color:#a39b92!important;
  font-size:.82rem!important;
  font-style:normal!important;
}

@media(max-width:900px){
  body.tapestry-page .tapestry-layout{width:min(100% - 1rem,1540px)!important;flex-direction:column!important}
  body.tapestry-page .toolbar{width:100%!important;position:static!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.tapestry-page .online-section{grid-column:1/-1!important}
}
@media(max-width:620px){
  body.tapestry-page .page-header{padding:5.7rem 1rem 1rem!important}
  body.tapestry-page .toolbar{grid-template-columns:1fr 1fr!important}
  body.tapestry-page .toolbar>*{min-width:0!important}
  body.tapestry-page .canvas-hud{align-items:flex-start!important;gap:.5rem!important;flex-direction:column!important}
  body.tapestry-page .zoom-bar{width:100%!important}
}
