/* D-162: approved shared layouts; data collection is separate. */
/* Fixed, revealed counters. The annual track keeps its existing handlers. */
body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.has-annual-stats > .annual-progress > .annual-track.annual-days {grid-row:2;}
body:not([data-pluritual-wip]) main.has-annual-stats > .annual-progress > span:last-of-type {grid-column:3;grid-row:1;}
.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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.canvas > .room-content:has(.wip-canvas-composition) {padding:0;}
body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
  grid-template-rows:minmax(0,1fr);padding:40px 0 0;
}
body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-palette [data-color]::before {
  border-radius:var(--pigment-shape);rotate:var(--pigment-turn);
}
body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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;}
@media(min-width:901px) {
  /* Share the frame's size container: the palette sits 20px from its actual edge. */
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition {position:relative;container-type:size;}
  body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {padding-top:44px;}
  body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) {min-width:0;overflow:visible;clip-path:inset(0);vertical-align:baseline;}
body:not([data-pluritual-wip]) .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) .wip-word-measure {width:max-content;max-width:none;}
body:not([data-pluritual-wip]) .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:not([data-pluritual-wip]) .sentence-inline-entry.wip-entry-preparing {max-width:0;opacity:0;}
body:not([data-pluritual-wip]) .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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition {
    --canvas-tools-space:210px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto max-content auto;
    align-content:center;gap:8px;height:100%;min-height:0;
  }
  body:not([data-pluritual-wip]) main.ritual-room.canvas > .room-content:has(.wip-canvas-composition) {overflow-y:auto;overflow-x:hidden;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
    grid-area:1 / 1;grid-template-rows:minmax(0,1fr);height:min(calc(100cqh - var(--canvas-tools-space)),calc(100cqw * 671 / 558 + 34px));
    min-height:180px;padding:34px 0 0;
  }
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount {
    grid-area:1 / 1;align-self:start;container-type:inline-size;width:min(100%,calc(100cqh * 558 / 671));
  }
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {top:-24px;left:4px;transform:none;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-palette {grid-area:2 / 1;position:static;transform:none;justify-self:center;align-self:start;width:max-content;max-width:100%;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-palette .canvas-palette {grid-template-columns:repeat(10,minmax(0,44px));gap:0;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-palette [data-color] {min-width:0;width:100%;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card {grid-area:3 / 1;gap:8px;padding:0;}
  @container(max-width:340px){
    body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount > .canvas-cartel {display:none!important;}
  }
}
@media(max-width:419px){
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition {--canvas-tools-space:254px;}
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-palette .canvas-palette {grid-template-columns:repeat(5,44px);gap:0 8px;}
}
@media(max-width:699px) and (max-height:680px){
  body:not([data-pluritual-wip]) main.ritual-room.canvas .wip-canvas-composition {--canvas-tools-space:192px;}
}
/* One moving line only when the available portrait/mobile slot is too small. */
@media(max-width:900px),(orientation:portrait){
  body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) main.ritual-room.sentence > .room-content {height:100%;max-height:100%;min-height:0;}
  body:not([data-pluritual-wip]) 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:not([data-pluritual-wip]) .sentence-inline-entry:is(.wip-entry-preparing,.wip-entry-arriving) {animation:none;max-width:min(100%,calc(100vw - 80px));opacity:1;}}
