/* Shared D-074 contribution composition. */
body main.ritual-room.sentence:not(.unified-work-room) > .room-content:has(.wip-inline-action) {animation:none;transform:none;}
body main.ritual-room.sentence:not(.unified-work-room) .sentence-focus {
  justify-content:flex-start;gap:20px;padding-block:clamp(12px,3dvh,32px);
}
body main.ritual-room.sentence:not(.unified-work-room) .sentence-official-sheet {flex:1 1 0;height:auto;min-height:0;}
body main.ritual-room.sentence:not(.unified-work-room) .sentence-phrase-wrap {height:100%;min-height:0;}
body main.ritual-room.sentence:not(.unified-work-room) .official-line {height:100%;max-height:100%;padding-bottom:84px;}
body .sentence-inline-entry {position:relative;display:inline-block;min-width:.42em;max-width:min(100%,calc(100vw - 80px));vertical-align:baseline;white-space:nowrap;}
body .sentence-inline-entry[data-wip-entry-phase="waiting"] {display:none;}
body .sentence-inline-entry[data-wip-entry-phase="introducing"] .wip-inline-word {visibility:hidden;}
body .sentence-inline-entry[data-wip-entry-phase="introducing"] .wip-word-measure {visibility:visible;color:#b59d67;opacity:.8;}
body .sentence-inline-entry .wip-word-measure {
  display:block;visibility:hidden;pointer-events:none;max-width:100%;overflow:visible;
  box-sizing:border-box;padding:0;font:inherit;line-height:1.35;white-space:pre;
}
body .sentence-inline-entry.is-empty .wip-word-measure {font-style:italic;}
/* D-156: a caret and italic prompt at the prose's full type scale.
   One parent animation keeps both in phase and visible throughout the cycle. */
body .sentence-entry-invitation {display:none;}
body .sentence-inline-entry[data-wip-entry-phase="ready"].is-empty.is-editable .wip-word-measure {display:none;}
body .sentence-inline-entry[data-wip-entry-phase="ready"].is-empty.is-editable .sentence-entry-invitation {
  display:inline-flex;align-items:baseline;gap:.12em;margin-left:0;
  transform:translateY(-.045em);vertical-align:baseline;white-space:nowrap;
  padding:0;line-height:1.35;pointer-events:none;
  opacity:.58;animation:wipWordInvitationCall 1.2s steps(1,end) infinite;
}
body .sentence-entry-caret {
  display:block;flex:0 0 2px;align-self:center;width:2px;height:.95em;
  background:#d0b367;
}
body .sentence-entry-next-word {
  color:#d0b367;font:inherit;font-style:italic;text-shadow:none;
}
@keyframes wipWordInvitationCall {0%,48%{opacity:.58;}49%,100%{opacity:.3;}}
/* Clicking the invitation reveals the native editing caret without collapsing
   the empty slot; the invitation returns on blur until a word is entered. */
body .sentence-inline-entry.is-empty:focus-within .sentence-entry-invitation {
  animation:none!important;opacity:0!important;
}
body main.ritual-room.sentence .sentence-inline-entry.is-empty .wip-inline-word {caret-color:transparent;}
body main.ritual-room.sentence .sentence-inline-entry.is-empty:focus-within .wip-inline-word {caret-color:#e6c67b;padding-inline:0;}
body main.ritual-room.sentence :is(.sentence-word-unit,.sentence-line-cluster):has(.sentence-inline-entry) {display:inline;white-space:normal;}
body main.ritual-room.sentence .current-last-word:has(.sentence-inline-entry)::after {display:none;}
body main.ritual-room.sentence .sentence-inline-entry .wip-inline-word {
  display:block;position:absolute;inset:0;width:100%;max-width:none;min-width:0;box-sizing:border-box;
  height:1.35em;margin:0;padding:0;border:0;
  border-radius:0;background:transparent;box-shadow:none;color:#d0b367;caret-color:#e6c67b;
  font:inherit;line-height:1.25;letter-spacing:inherit;text-align:left;vertical-align:baseline;
  outline:none;opacity:1;transition:border-color .2s,color .2s;
}
body main.ritual-room.sentence .wip-inline-word::placeholder {color:#b59d67;font-style:italic;opacity:.8;}
body main.ritual-room.sentence .wip-inline-word:focus {border:0;box-shadow:none;}
body main.ritual-room.sentence .wip-inline-word:disabled {color:#d0b367;-webkit-text-fill-color:#d0b367;cursor:default;opacity:1;}
body main.ritual-room.sentence .sentence-inline-entry[data-word-feedback="invalid"] .wip-inline-word {color:#de958b;}
body main.ritual-room.sentence .sentence-month.current-month:has(.sentence-inline-entry:focus-within) :is(.sentence-word-reveal,.sentence-month-reveal) {opacity:1!important;animation:none!important;}
body .sentence-inline-entry.word-accepted-pulse {animation:wipWordConfirmed .55s ease-out;}
@keyframes wipWordConfirmed {0%{filter:brightness(1);}35%{filter:brightness(1.4);}100%{filter:brightness(1);}}
body main.ritual-room.sentence .wip-inline-action {
  display:flex!important;flex-direction:column;align-items:center;gap:0;width:100%!important;max-width:none!important;
  flex:0 0 132px;height:132px;min-height:132px;justify-content:flex-start;
  margin:0 auto!important;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;
  overflow:visible;text-align:center;position:relative;
}
body main.ritual-room.sentence .wip-inline-action .sentence-voice-row {
  display:flex!important;justify-content:center;align-items:center;width:auto!important;max-width:100%;margin:0;
  height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none;overflow:visible;
}
body main.ritual-room.sentence .wip-inline-action .sentence-voice-row::before {content:none;display:none;}
body main.ritual-room.sentence .wip-inline-action .sentence-word-validation {
  position:static;width:100%;height:auto;min-height:18px;margin:0 0 8px;
  color:#b7ab88;font:400 13px/1.4 var(--pluritual-sans,Arial,sans-serif);letter-spacing:0;
}
body main.ritual-room.sentence .wip-inline-action .sentence-word-validation:not(.is-guidance) {color:#de958b;}
body main.ritual-room.sentence .wip-inline-action > #wip-word-hint {margin:0 0 8px;min-height:18px;}
body main.ritual-room.sentence .wip-inline-action:has(.is-checking-word) .sentence-word-validation {color:#b7ab88;}
body main.ritual-room.sentence .wip-inline-action .ritual-submit-status {margin:5px 0 0;font-size:13px;}
body main.ritual-room.sentence .wip-inline-action.is-entry-pending :is(.sentence-word-validation,.ritual-submit-status) {visibility:hidden;}

body main.ritual-room :is(.voice-submit-btn,.choose-btn).wip-organic-action {
  --action-fill:#c7ad70;--action-hover-fill:#dfc78c;--action-disabled-fill:#8a7851;--action-wave-rgb:199,173,112;
  display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative;isolation:isolate;
  width:236px!important;max-width:calc(100vw - 100px);height:58px!important;min-height:58px!important;padding:16px 24px!important;
  border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;overflow:visible;
  color:#201b12;font:800 18px/1.15 Arial,Helvetica,sans-serif!important;letter-spacing:-.035em!important;
  text-transform:uppercase;opacity:1!important;transform:none!important;animation:none!important;
}
body main.ritual-room .wip-organic-action > span {position:relative;z-index:1;font:inherit!important;letter-spacing:inherit!important;}
body main.ritual-room .wip-organic-action::before {
  content:'';position:absolute;inset:0;z-index:-1;background:var(--action-fill);
  border-radius:47% 53% 51% 49% / 48% 46% 54% 52%;transform:skew(-1.2deg);pointer-events:none;
}
body main.ritual-room .wip-organic-action:disabled {cursor:default;color:#d4c9ac;}
body main.ritual-room .wip-organic-action:disabled::before {background:var(--action-disabled-fill);}
body main.ritual-room .wip-organic-action:not(:disabled):is(:hover,:focus-visible)::before {background:var(--action-hover-fill);}
body main.ritual-room .wip-organic-action:focus-visible {outline:2px solid var(--action-fill);outline-offset:6px;}
body main.ritual-room .wip-organic-action.has-organic-skin::before,
body main.ritual-room .wip-organic-action::after {display:none;}
body main.ritual-room .wip-organic-action.wip-action-attraction::before {animation:none;opacity:1;}
body main.ritual-room .wip-organic-action.given {--action-disabled-fill:var(--action-fill);}
body main.ritual-room.sentence .voice-submit-btn.wip-organic-action.given,
body main.ritual-room.sentence .voice-submit-btn.wip-organic-action.given > span {color:#201b12!important;}
body main.ritual-room.canvas .wip-organic-action {--action-fill:#aa583e;--action-hover-fill:#bd6b4c;--action-disabled-fill:#be9a88;--action-wave-rgb:170,88,62;color:#fff8ed;}

body main.ritual-room.canvas .wip-canvas-composition {
  display:grid;grid-template-columns:140px minmax(0,900px) 140px;grid-template-rows:minmax(0,1fr) 176px;
  align-items:stretch;justify-content:center;gap:10px 20px;height:100%;min-height:0;max-height:none;width:100%;
}
body main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {
  grid-area:1 / 2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 18px;
  container-type:size;align-items:center;justify-items:center;width:100%;height:100%;min-height:0;max-width:none;padding:0;
}
body main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount {
  grid-area:1 / 1;align-self:center;width:min(100%,calc((100cqh - 18px) * .831));max-width:none;margin:0;
}
body main.ritual-room.canvas .wip-canvas-composition .canvas-cartel {grid-area:2 / 1;width:min(100%,calc((100cqh - 18px) * .831));margin:0;}
body main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card {
  grid-area:2 / 2;--hand-square:44px;position:static;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;align-self:start;gap:8px;width:100%;max-width:none;padding:0;
  border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center;
}
body main.ritual-room.canvas .wip-canvas-composition .canvas-guidance {
  position:relative!important;top:-8px;order:0;width:auto!important;height:auto;clip-path:none;overflow:visible;margin:0;
  padding:0;font:400 12px/1.4 var(--pluritual-sans,Arial,sans-serif)!important;color:#846c58;text-align:center!important;align-self:center!important;transform:none!important;
}
body main.ritual-room.canvas .wip-canvas-composition #handSlots {position:relative;top:-8px;order:1;display:flex!important;width:auto!important;gap:6px!important;justify-content:center;align-self:center;}
body main.ritual-room.canvas .wip-canvas-composition .hand-slot {width:44px!important;height:44px!important;min-width:44px!important;flex:none;border-radius:3px;}
body main.ritual-room.canvas .wip-canvas-composition .wip-organic-action {order:2;margin-top:0;align-self:center!important;}
body main.ritual-room.canvas .wip-canvas-composition :is(.ritual-submit-status,.canvas-participation-lock) {order:3;margin:0;font-size:12px;}
body main.ritual-room.canvas .wip-canvas-composition :is(.hand-impact-bubble,.canvas-hand-card::before,.canvas-hand-card::after) {display:none;}
body main.ritual-room.canvas .wip-canvas-composition .hand-impact-bubble {display:none!important;}
body main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card::before,
body main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card::after {content:none!important;display:none!important;}
body main.ritual-room.canvas .wip-canvas-palette {grid-area:1 / 3;align-self:center;justify-self:start;}
body main.ritual-room.canvas .wip-canvas-palette .canvas-palette-block {margin:0;padding:0;border:0;}
body main.ritual-room.canvas .wip-canvas-palette .canvas-palette {display:grid;grid-template-columns:repeat(2,44px);gap:6px;margin:0;padding:0;}
body main.ritual-room.canvas .wip-canvas-palette [data-color] {
  position:relative;display:block;width:44px;height:44px;min-width:44px;padding:0;
  border:0;border-radius:50%;background:transparent;color:transparent;box-shadow:none;
}
body main.ritual-room.canvas .wip-canvas-palette [data-color]::before {content:'';position:absolute;inset:5px;border-radius:50%;background:var(--swatch);border:1px solid #765b4322;}
body main.ritual-room.canvas .wip-canvas-palette [data-color]::after {display:none;}
body main.ritual-room.canvas .wip-canvas-palette [data-color].active::before {outline:2px solid #994a35;outline-offset:3px;}
body main.ritual-room.canvas .wip-canvas-palette [data-color].active {outline:none;box-shadow:none;}
body main.ritual-room.canvas .wip-canvas-palette [data-color]:focus-visible {outline:2px solid #994a35;outline-offset:2px;}
body main.ritual-room.canvas .wip-canvas-palette [data-color]:disabled {opacity:.65;}

@media(max-width:900px), (max-width:1024px) and (max-height:500px) {
  body main.ritual-room.canvas .wip-canvas-composition {
    grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(110px,1fr) 88px 190px;gap:10px;
  }
  body main.ritual-room.canvas .wip-canvas-composition .canvas-stage-real {grid-area:1 / 1;grid-template-rows:28px minmax(0,1fr);}
  body main.ritual-room.canvas .wip-canvas-composition .canvas-art-mount {grid-area:2 / 1;width:min(100%,calc((100cqh - 28px) * .831));align-self:start;}
  body main.ritual-room.canvas .wip-canvas-composition .canvas-cartel {display:none;}
  body main.ritual-room.canvas .wip-canvas-composition .canvas-toolbar {position:absolute;top:0;right:0;bottom:auto;left:auto;height:28px;}
  body main.ritual-room.canvas .wip-canvas-palette {grid-area:2 / 1;justify-self:center;}
  body main.ritual-room.canvas .wip-canvas-palette .canvas-palette {grid-template-columns:repeat(5,44px);gap:0 8px;}
  body main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card {grid-area:3 / 1;gap:7px;}
  body main.ritual-room :is(.voice-submit-btn,.choose-btn).wip-organic-action {height:54px!important;min-height:54px!important;width:212px!important;font-size:17px!important;padding:15px 20px!important;}
  body main.ritual-room.sentence:not(.unified-work-room) .sentence-focus {gap:14px;padding:8px 0;}
  body main.ritual-room.sentence .wip-inline-action {flex-basis:112px;height:112px;min-height:112px;}
  body main.ritual-room.sentence .wip-inline-action .sentence-word-validation {font-size:11px;}
}
@media(max-width:900px) and (max-height:680px) {
  body main.ritual-room.canvas > .room-content:has(.wip-canvas-composition) {overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;}
  body main.ritual-room.canvas .wip-canvas-composition {height:auto;min-height:100%;grid-template-rows:minmax(270px,1fr) 88px 176px;gap:6px;}
  body main.ritual-room.canvas .wip-canvas-composition .canvas-hand-card {gap:4px;}
}
@media(prefers-reduced-motion:reduce) {body .sentence-inline-entry.word-accepted-pulse,body .sentence-entry-invitation {animation:none!important;}}
