/* Fixed, revealed counters. The annual track keeps its existing handlers. */
body[data-member-live] main.has-annual-stats > .annual-progress {
  height:auto!important;min-height:32px;grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto 14px;column-gap:18px;row-gap:2px;align-items:start;align-self:end;
}
body[data-member-live] main.has-annual-stats > .annual-progress > .annual-track.annual-days {grid-row:2;}
body[data-member-live] main.has-annual-stats > .annual-progress > span:last-of-type {grid-column:3;grid-row:1;}
.wip-annual-day-end,.wip-annual-social {display:inline-flex;align-items:center;white-space:nowrap;}
.wip-annual-day-end {gap:8px;justify-content:end;}
.wip-annual-social {gap:2px;}
.wip-annual-social a {
  display:grid;place-items:center;position:relative;width:24px;height:22px;
  border-radius:4px;color:inherit;
}
.wip-annual-social a:hover {background:color-mix(in srgb,currentColor 14%,transparent);}
.wip-annual-social a:focus-visible {outline:2px solid currentColor;outline-offset:1px;}
.wip-annual-social svg {width:14px;height:14px;}
.wip-annual-stats {grid-column:2;grid-row:1;min-width:0;color:inherit;font:inherit;letter-spacing:inherit;opacity:.78;}
.wip-stats-track {display:flex;}
.wip-stats-track > ul {flex:0 0 100%;}
.wip-stats-track > ul[aria-hidden=true] {display:none;}
.wip-annual-stats ul {display:flex;flex-wrap:wrap;gap:0 12px;list-style:none;margin:0;padding:0;font:inherit;letter-spacing:inherit;}
.wip-annual-stats li {display:inline-flex;gap:.45em;align-items:baseline;white-space:nowrap;font:inherit;letter-spacing:inherit;}
.wip-annual-stats li + li::before {content:'·';opacity:.5;margin-right:6px;}
.wip-annual-stats strong,.wip-annual-stats li > span {font:inherit;color:inherit;letter-spacing:inherit;}
body[data-member-live] main.has-annual-stats > .annual-progress > span:first-of-type {font-weight:600;}
.wip-annual-stats {padding-inline-start:16px;border-inline-start:1px solid color-mix(in srgb,currentColor 42%,transparent);}

body[data-member-live] main.has-work-facts > .annual-progress {
  align-items:center;
}
.wip-annual-stats.wip-work-facts {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:center;
  column-gap:8px;
  overflow:visible;
  opacity:1;
}
.wip-facts-signature {font-weight:600;white-space:nowrap;}
.wip-facts-humans {font-weight:400;white-space:nowrap;}
.wip-facts-viewport {
  min-width:0;
  overflow:hidden;
  line-height:1.5;
  margin-inline-start:6px;
  user-select:none;
  touch-action:pan-y;
}
.has-overflow > .wip-facts-viewport {cursor:grab;}
.is-dragging > .wip-facts-viewport {cursor:grabbing;}
.wip-facts-strip {display:flex;width:max-content;}
.wip-work-facts .wip-facts-strip > ul {
  flex:none;
  flex-wrap:nowrap;
  width:max-content;
  gap:0;
}
.wip-work-facts .wip-facts-strip li {
  gap:.5em;
  padding-inline:14px;
  border-inline-start:1px solid color-mix(in srgb,currentColor 36%,transparent);
}
.wip-work-facts .wip-facts-strip li + li::before {content:none;}
.wip-work-facts .wip-facts-strip li strong {font-weight:600;}
.wip-facts-strip li > span {opacity:.55;}
@media(max-width:650px) {
  body[data-member-live] main.has-annual-stats.has-work-facts > .annual-progress {
    grid-template-rows:auto auto 12px;
  }
  body[data-member-live] main.has-work-facts > .annual-progress > .annual-track.annual-days {
    grid-row:3;
  }
  .wip-annual-stats.wip-work-facts {
    display:contents;
  }
  .wip-facts-signature {
    grid-column:2;
    grid-row:1;
    max-width:100%;
    justify-self:center;
    text-align:center;
    white-space:normal;
  }
  .wip-facts-viewport {
    grid-column:1 / -1;
    grid-row:2;
    margin:0;
    align-self:center;
  }
}
body[data-member-live] main.has-annual-stats.canvas #canvasSize {display:none;}
/* Spend the available room on the frame, rather than empty side columns or
   a caption row below it. Width and height both constrain the portrait. */
body[data-member-live] main.ritual-room.canvas > .room-content:has(.wip-canvas-composition) {padding:0;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {
  grid-template-columns:94px minmax(0,1fr) 94px;grid-template-rows:minmax(0,1fr) auto;gap:14px 14px;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
  grid-template-rows:minmax(0,1fr);padding:40px 0 0;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount {
  grid-area:1 / 1;width:min(100%,calc(100cqh * 558 / 671));align-self:center;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real > .canvas-status {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  place-self: center;
  z-index: 9;
  display: grid;
  justify-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: max-content;
  max-width: min(300px, 78cqw, calc(var(--canvas-frame-width, 100cqh * 558 / 671) * .78));
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #8e6b5055;
  border-radius: 5px;
  background: #f8f2e8f7;
  color: #684432;
  font: 500 13px/1.4 var(--pluritual-sans, Arial, sans-serif);
  text-align: center;
  pointer-events: none;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-status .canvas-load-retry {
  margin: 0;
  pointer-events: auto;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {
  display:block!important;position:absolute;top:-10px;left:4px;z-index:12;transform:translateY(-50%);
  width:auto;margin:0;padding:0;border:0;pointer-events:none;white-space:nowrap;
}
/* A fixed handmade contour for each pigment, with the full native hit area. */
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color]::before {
  border-radius:var(--pigment-shape);rotate:var(--pigment-turn);
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Rose"] {--pigment-shape:46% 54% 51.5% 48.5% / 52% 46% 54% 48%;--pigment-turn:-3deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Blue"] {--pigment-shape:52.5% 47.5% 46.5% 53.5% / 45% 51.5% 48.5% 55%;--pigment-turn:2.5deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Green"] {--pigment-shape:48.5% 51.5% 56% 44% / 51% 45% 55% 49%;--pigment-turn:-2deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Yellow"] {--pigment-shape:54% 46% 49% 51% / 48% 54.5% 45.5% 52%;--pigment-turn:3.5deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Orange"] {--pigment-shape:44.5% 55.5% 47.5% 52.5% / 53.5% 49% 51% 46.5%;--pigment-turn:2deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Red"] {--pigment-shape:51% 49% 54.5% 45.5% / 44.5% 53% 47% 55.5%;--pigment-turn:-3.5deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Brown"] {--pigment-shape:55% 45% 50.5% 49.5% / 52.5% 46.5% 53.5% 47.5%;--pigment-turn:-1.5deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Black"] {--pigment-shape:47% 53% 45% 55% / 49% 55.5% 44.5% 51%;--pigment-turn:3deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="Grey"] {--pigment-shape:50% 50% 56% 44% / 46% 52% 48% 54%;--pigment-turn:1.5deg;}
body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color][aria-label="White"] {--pigment-shape:53.5% 46.5% 48% 52% / 54.5% 47.5% 52.5% 45.5%;--pigment-turn:-2.5deg;}
.wip-frame-test-controls {display:flex;flex-wrap:wrap;gap:6px;margin-block:8px;}
.wip-frame-test-controls [aria-pressed="true"] {outline:1px solid currentColor;outline-offset:2px;}
@media(min-width:901px) {
  /* Share the frame's size container: the palette sits 20px from its actual edge. */
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {position:relative;container-type:size;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-palette {position:absolute;grid-area:auto;left:calc(50% + var(--canvas-frame-width,600px)/2 + 20px);top:var(--canvas-frame-center,45%);transform:translateY(-50%);}
}
@media(max-width:900px) {
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) max-content auto;gap:6px;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {padding-top:44px;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {top:-38px;left:0;transform:none;}
}
@media(min-width:700px) and (max-width:900px) and (max-height:500px) {
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr);grid-template-rows:88px auto minmax(0,1fr);gap:6px 16px;}
}
/* Opening its space keeps the centred sentence from snapping on arrival. */
body[data-member-live] .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) {min-width:0;overflow:visible;clip-path:inset(0);vertical-align:baseline;}
body[data-member-live] .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) .wip-word-measure {width:max-content;max-width:none;}
body[data-member-live] .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) .sentence-entry-invitation {width:max-content;max-width:none;animation-delay:880ms;animation-fill-mode:backwards;}
body[data-member-live] .sentence-inline-entry.wip-entry-preparing {max-width:0;opacity:0;}
body[data-member-live] .sentence-inline-entry.wip-entry-arriving {animation:wipEntryArrive 880ms cubic-bezier(.22,.61,.36,1) both;}
@keyframes wipEntryArrive {from{max-width:0;opacity:0;transform:translateX(18px);}to{max-width:var(--wip-entry-width);opacity:1;transform:translateX(0);}}
@media(max-width:600px){
  body[data-member-live] main.has-annual-stats > .annual-progress {grid-template-rows:auto 12px;column-gap:10px;row-gap:2px;}
  .wip-annual-stats ul {column-gap:12px;}
  .wip-annual-stats {padding-inline-start:10px;}
}
/* Keep the portrait frame and its original controls in one compact group. */
@media(max-width:699px),(orientation:portrait){
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {
    display: flex;
    flex-direction: column;
    justify-content: safe center;
    container-type: inline-size;
    gap: 8px;
    height: 100%;
    min-height: 0;
  }
  body[data-member-live] main.ritual-room.canvas > .room-content:has(.wip-canvas-composition) {overflow-y:auto;overflow-x:hidden;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
    /* Cap the portrait at the height implied by its width and two 34px clearances. */
    flex: 0 1 calc(100cqw * 671 / 558 + 68px);
    grid-template-rows: minmax(0, 1fr);
    height: auto;
    min-height: 0;
    padding: 34px 0;
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount {
    grid-area: 1 / 1;
    align-self: center;
    container-type: inline-size;
    width: min(100%, calc(100cqh * 558 / 671));
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {
    top: -24px;
    left: 4px;
    transform: none;
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-palette {position:static;transform:none;flex:none;align-self:center;width:max-content;max-width:100%;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-palette .canvas-palette {grid-template-columns:repeat(10,minmax(0,44px));gap:0;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-palette [data-color] {min-width:0;width:100%;}
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card {flex:none;align-self:center;gap:8px;padding:0;}
  @container(max-width:340px){
    body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {display:none!important;}
  }
}
@media(max-width:419px){
  body[data-member-live] main.ritual-room.canvas .wip-canvas-palette .canvas-palette {grid-template-columns:repeat(5,44px);gap:0 8px;}
}
/* One moving line only when the available portrait/mobile slot is too small. */
@media(max-width:900px),(orientation:portrait){
  body[data-member-live] main.has-annual-stats.has-module-navigation:has(.wip-explore-nav) {grid-template-rows:var(--module-header-height,96px) minmax(0,1fr) var(--annual-footer-height,28px);}
  body[data-member-live] main.has-annual-stats > .annual-progress {min-height:28px;grid-template-rows:14px 12px;align-items:center;}
  .wip-annual-stats {overflow:hidden;line-height:14px;}
  .wip-stats-track {width:max-content;}
  .wip-stats-track > ul {flex:none;flex-wrap:nowrap;width:max-content;}
  .wip-annual-stats.is-scrolling .wip-stats-track > ul {padding-inline-end:28px;position:relative;}
  .wip-annual-stats.is-scrolling .wip-stats-track > ul::after {content:'·';position:absolute;right:9px;opacity:.5;}
  .wip-annual-stats.is-scrolling .wip-stats-track > ul[aria-hidden=true] {display:flex;}
  .wip-annual-stats.is-scrolling .wip-stats-track {animation:wipStatsScroll var(--stats-duration,24s) linear infinite;}
  .wip-annual-stats:is(:hover,:focus-within) .wip-stats-track {animation-play-state:paused;}
}
@media(max-width:900px) and (min-height:1000px){
  body[data-member-live] main.ritual-room.sentence > .room-content {height:100%;max-height:100%;min-height:0;}
  body[data-member-live] main.ritual-room.sentence:not(.unified-work-room) .sentence-focus {height:100%;box-sizing:border-box;padding-bottom:20px;}
}
@keyframes wipStatsScroll {0%,6%{transform:translateX(0);}100%{transform:translateX(calc(-1 * var(--stats-distance)));}}
@media(prefers-reduced-motion:reduce){
  .wip-annual-stats {overflow-x:auto;scrollbar-width:thin;}
  .wip-annual-stats.is-scrolling .wip-stats-track {animation:none;}
  .wip-annual-stats.is-scrolling .wip-stats-track > ul[aria-hidden=true] {display:none;}
}
@media(prefers-reduced-motion:reduce){body[data-member-live] .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) {animation:none;max-width:min(100%,calc(100vw - 80px));opacity:1;}}

/* The hand overlaps the lower moulding while its action stays below the frame. */
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition {
  position: relative;
  --canvas-slot-overlap: clamp(6px, calc(var(--canvas-frame-width, 320px) * .04), 28px);
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
  padding-bottom: 22px;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots {
  position: absolute;
  grid-area: auto;
  top: calc(var(--canvas-frame-bottom, 100%) - var(--canvas-slot-overlap));
  left: var(--canvas-frame-center-x, 50%);
  transform: translateX(-50%);
  z-index: 8;
}
/* Canvas controls and proposal cards share the finish of the pixel wells. */
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots .hand-slot,
body[data-member-live] main.ritual-room.canvas :is(.canvas-stage-real .canvas-tools .canvas-tool-group > button, .canvas-filter-panel .canvas-live-card) {
  border: 1px solid var(--canvas-control-edge, #8e6b50);
  border-radius: 3px;
  background: var(--canvas-control-fill, #d9c6ad);
  color: #66452f;
  box-shadow: var(--canvas-control-shadow, inset 0 2px 4px #694a383d, 0 1px 0 #fff7);
}
body[data-member-live] main.ritual-room.canvas .canvas-stage-real :is(.canvas-tools, .canvas-tools .canvas-tool-group) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body[data-member-live] main.ritual-room.canvas .canvas-stage-real .canvas-tools .canvas-tool-zoom {
  gap: inherit;
}
body[data-member-live] main.ritual-room.canvas :is(.canvas-stage-real .canvas-tools .canvas-tool-group > button, .canvas-filter-panel .canvas-live-card):where(:hover:not(:disabled)) {
  background: var(--canvas-control-hover, #e5d4bd);
}
body[data-member-live] main.ritual-room.canvas :is(.canvas-stage-real .canvas-tools .canvas-tool-group > button, .canvas-filter-panel .canvas-live-card)[aria-pressed="true"] {
  background: var(--canvas-control-active, #a3503a);
  color: var(--canvas-control-active-ink, #fff8ed);
}
body[data-member-live] main.ritual-room.canvas .canvas-stage-real .canvas-tools .canvas-tool-group > button:disabled {
  color: #987e67;
  opacity: 1;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots .hand-slot.empty > span {
  background: transparent;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots .hand-slot.filled {
  background: #ede0cb;
  box-shadow: 0 1px 2px #694a3840;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots .hand-slot.filled > span {
  box-shadow: inset 0 0 0 1px #694a384d;
}
body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-guidance.is-invitation {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  pointer-events: none;
}
@media (min-width: 901px) and (min-height: 1000px) and (orientation: landscape) {
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real { padding-bottom: 10px; }
}
@media (max-width: 900px), (orientation: portrait) {
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real { padding-bottom: 34px; }
}
@media (min-width: 700px) and (max-width: 900px) and (max-height: 500px) {
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
    padding-block: 28px 30px;
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {
    top: -27px;
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition .hand-slot {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
  }
  body[data-member-live] main.ritual-room.canvas .wip-canvas-composition #handSlots { gap: 4px !important; }
}
