/* Workview15. The shared page receives the imprint; all styles stay inside ThePact. */
main.ritual-room.pact.has-module-navigation > .room-content { padding: 0; overflow: hidden; align-items: stretch; }
main.ritual-room.pact .pact-panel.pact-scene {
  --pact-ink: #2b2923; --pact-muted: #81796c; --pact-paper: #fffdf6;
  --pact-print-size: clamp(94px,8.5vw,116px); --pact-hand-width: calc(var(--pact-print-size) * 4.1);
  position: relative; isolation: isolate; display: grid; place-items: center;
  width: min(100%,1280px); max-width: 1280px; height: 100%; min-height: 0;
  flex: 1 1 auto; margin: 0 auto; padding: 16px 20px 50px; text-align: left;
}
.pact-scene .pact-object-stage { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; min-height: 0; gap: 0; }
.pact-scene .pact-ink-object { position: relative; justify-self: center; width: clamp(255px,23vw,305px); margin: -12px 0 0; }
.pact-scene .pact-ink-box { position: relative; width: 100%; aspect-ratio: 1; transform: rotate(-11deg); }
.pact-scene .pact-ink-photo { display: block; width: 100%; height: auto; user-select: none; pointer-events: none; filter: drop-shadow(3px 9px 6px #51402b22); }
.pact-scene .pact-ink-pad { position: absolute; left: 18%; top: 45%; width: 64%; height: 42%; padding: 0; margin: 0; background: transparent; border: 0; border-radius: 8%; box-shadow: none; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.pact-scene .pact-ink-object > p { position: absolute; width: 100%; top: 97%; margin: 0; text-align: center; font: 400 10px/1.4 Arial,sans-serif; letter-spacing: .035em; color: var(--pact-muted); }
.pact-scene .pact-card { display: grid; justify-items: center; align-content: center; position: relative; width: 100%; height: 310px; min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: center; }
.pact-scene .pact-card::before { content: none; }
.pact-scene .pact-paper-contact { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: block; width: calc(var(--pact-print-size) + 42px); height: calc(var(--pact-print-size) + 42px); padding: 0; margin: 0; border: 0; border-radius: 50%; background: none; box-shadow: none; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; color: var(--pact-muted); }
.pact-scene .pact-sign-hint { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font: 300 21px/1 var(--pluritual-wip-serif, Georgia,serif); opacity: .3; pointer-events: none; transition: opacity 220ms; }
.pact-scene[data-pact-state='inked'] .pact-sign-hint { opacity: .6; }
.pact-scene.has-hand .pact-paper-contact:hover .pact-sign-hint { opacity: 0; }
.pact-scene .pact-card-imprint { position: absolute; width: var(--pact-print-size); height: var(--pact-print-size); overflow: hidden; transform: translate(-50%,-50%) rotate(-7deg); mix-blend-mode: multiply; opacity: .88; pointer-events: none; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.38' numOctaves='3' seed='17'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 5 -1.45'/%3E%3C/filter%3E%3Cpath fill='white' d='M0 0h220v220H0z' filter='url(%23n)'/%3E%3C/svg%3E"); mask-size: 100% 100%; }
.pact-scene .pact-card-imprint img { position: absolute; width: 138.105727%; max-width: none; height: 138.105727%; left: -19.383260%; top: -16.299559%; }
.pact-scene .pact-card-caption { position: absolute; top: calc(50% + var(--pact-print-size) * .5 + 40px); width: 100%; padding: 0; border: 0; }
.pact-scene .pact-card-caption > span { display: block; color: #696050; font: 400 10px/1.5 Arial,sans-serif; letter-spacing: .22em; }
.pact-scene .pact-card-caption > small { display: block; margin-top: 9px; color: #948b7b; font: 400 10px/1.5 Arial,sans-serif; text-wrap: balance; }
.pact-scene .pact-summary { display: grid; grid-template-rows: auto minmax(0,1fr); justify-self: center; position: relative; width: min(100%,235px); min-height: 0; max-height: 310px; padding: 0; }
.pact-scene .pact-summary h2 { margin: 0 0 19px; color: var(--pact-ink); font: 400 30px/1.1 var(--pluritual-wip-serif, Georgia,serif); letter-spacing: -.04em; }
.pact-scene .pact-works { list-style: none; margin: 0; padding: 0; min-height: 0; overflow: auto; scrollbar-width: thin; }
.pact-scene .pact-works li { margin: 0; border-bottom: 1px solid #51452d17; }
.pact-scene .pact-works button { display: grid; grid-template-columns: 21px 1fr 10px; gap: 11px; align-items: center; width: 100%; min-height: 58px; margin: 0; padding: 12px 0; border: 0; background: none; box-shadow: none; color: var(--pact-ink); text-align: left; cursor: pointer; font: 400 23px/1.2 var(--pluritual-wip-serif, Georgia,serif); transition: opacity 180ms; }
.pact-scene .pact-works .is-pending button { opacity: .52; }
.pact-scene .pact-works button:is(:hover,:focus-visible), .pact-scene.pact-has-warning .pact-works .is-pending button { opacity: 1; }
.pact-scene .pact-work-check { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid currentColor; border-radius: 50%; }
.pact-scene .is-confirmed .pact-work-check { background: var(--pact-ink); color: var(--pact-paper); border-color: var(--pact-ink); }
.pact-scene .pact-work-check svg { width: 14px; height: 14px; }
.pact-scene .pact-work-arrow { font: 300 22px/1 Arial,sans-serif; color: #776f61; }
.pact-scene [data-pact-warning] { position: absolute; top: 100%; left: 0; width: 100%; margin: 17px 0 0; font: 400 11px/1.55 Arial,sans-serif; color: #76664f; text-wrap: pretty; }
.pact-scene [data-pact-warning]:empty { display: none; }
.pact-scene .pact-status-line { position: absolute; bottom: 8px; left: 0; right: 0; text-align: center; pointer-events: none; }
.pact-scene .pact-status-line p { margin: 0; color: #776b5a; font: 400 11px/1.5 Arial,sans-serif; }
.pact-scene .pact-status-line small { display: block; margin-top: 4px; color: #968c7a; font: 400 10px/1.4 Arial,sans-serif; }
.pact-scene .pact-preview-controls { position: absolute; z-index: 10; top: 9px; right: 20px; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 12px; color: #887d6d; font: 400 10px/1.5 Arial,sans-serif; }
.pact-scene .pact-preview-controls button { padding: 6px 8px; margin: 0; border: 1px solid #8c7b602f; border-radius: 3px; background: transparent; box-shadow: none; color: #77664f; font: inherit; cursor: pointer; }
.pact-scene [hidden] { display: none !important; }
.pact-scene button:focus-visible { outline: 1px solid #897451; outline-offset: 6px; }
.pact-scene button:disabled { cursor: default; opacity: 1; }
.pact-scene[data-pact-state='saving'] .pact-card-imprint { opacity: .45; }
.pact-scene[data-pact-state='sealed'] .pact-card-imprint { animation: pact-ink-settle 650ms ease-out; }
.pact-scene[data-pact-state='sealed'] .pact-card-caption > span { font: italic 400 17px/1.4 var(--pluritual-wip-serif, Georgia,serif); letter-spacing: 0; color: #655849; }
.pact-scene[data-pact-state='error'] [data-pact-status] { color: #884a32; }
@keyframes pact-ink-settle { from { opacity: .4; filter: blur(.65px); } to { opacity: .88; filter: blur(0); } }
.pact-scene .pact-hand { display: none; position: absolute; z-index: 8; left: 0; top: 0; width: var(--pact-hand-width); height: var(--pact-hand-width); pointer-events: none; transform-origin: 34% 29%; transform: translate(calc(var(--hand-x) - var(--pact-hand-width) * .34),calc(var(--hand-y) - var(--pact-hand-width) * .29)) rotate(var(--hand-angle,0deg)); }
.pact-scene .pact-spirit-body { position: relative; width: 100%; height: 100%; transform-origin: 34% 29%; transition: transform 160ms ease, opacity 450ms ease; filter: drop-shadow(2px 5px 5px #61564428); }
.pact-scene .pact-hand img { display: block; width: 100%; height: auto; pointer-events: none; user-select: none; mask-image: linear-gradient(132deg,#000 25%,#000d 38%,#0005 57%,transparent 75%); }
.pact-scene .pact-finger-ink { position: absolute; z-index: -1; left: 34%; top: 29%; width: calc(var(--pact-print-size) * .93); height: calc(var(--pact-print-size) * .78); border-radius: 48% 51% 44% 53%; background: radial-gradient(ellipse,#332f24 35%,#44392adc 60%,transparent 73%); transform: translate(-50%,-36%) rotate(-16deg); opacity: 0; transition: opacity 250ms; filter: blur(1px); }
.pact-scene:is([data-pact-state='inked'],[data-pact-state='pressing'],[data-pact-state='saving'],[data-pact-state='error']) .pact-finger-ink, .pact-scene.is-lifting .pact-finger-ink { opacity: .7; }
.pact-scene:is([data-pact-state='inking'],[data-pact-state='pressing']) .pact-spirit-body { transform: scale(.965); filter: drop-shadow(0 2px 2px #61564420); }
.pact-scene.is-lifting .pact-spirit-body { transform: translate(7px,-18px) scale(1.035); opacity: 0; transition: transform 680ms ease-out, opacity 680ms ease-out; }
.pact-scene .pact-hand i { position: absolute; left: 22%; top: 34%; width: 3px; height: 3px; background: #fffef8; box-shadow: 0 0 4px #80755d66; border-radius: 50%; opacity: .6; animation: pact-mote 3.8s ease-in-out infinite alternate; }
.pact-scene .pact-hand i:nth-of-type(2) { left: 55%; top: 47%; width: 2px; height: 2px; animation-delay: -2s; }
.pact-scene .pact-hand i:nth-of-type(3) { left: 45%; top: 64%; width: 2px; height: 2px; animation-delay: -1s; }
@keyframes pact-mote { to { transform: translate(6px,-13px); opacity: .1; } }
@media (hover: hover) and (pointer: fine) and (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .pact-scene.has-hand .pact-hand { display: block; }
  .pact-scene.has-hand :is(.pact-ink-pad,.pact-paper-contact) { cursor: none; }
}
@media (max-width: 1100px) and (min-width: 901px) { .pact-scene .pact-summary { width: 210px; } .pact-scene .pact-works button { font-size: 21px; } }
@media (max-width: 900px) {
  main.ritual-room.pact .pact-panel.pact-scene { --pact-print-size: 78px; padding: 42px 12px 42px; }
  .pact-scene .pact-object-stage { height: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: minmax(180px,1fr) minmax(105px,.7fr); align-content: center; }
  .pact-scene .pact-ink-object { width: clamp(185px,36vw,260px); margin: 0; }
  .pact-scene .pact-card { height: 210px; }
  .pact-scene .pact-card-caption { top: calc(50% + var(--pact-print-size) * .5 + 22px); }
  .pact-scene .pact-card-caption > span { font-size: 9px; letter-spacing: .13em; }
  .pact-scene .pact-summary { grid-column: 1/-1; align-self: center; width: min(100%,340px); max-height: 100%; padding: 0 10px; grid-template-columns: 66px 1fr; gap: 0 12px; }
  .pact-scene .pact-summary h2 { margin: 12px 0 0; font-size: 24px; }
  .pact-scene .pact-works button { min-height: 44px; padding: 9px 0; font-size: 19px; grid-template-columns: 18px 1fr 10px; gap: 9px; }
  .pact-scene .pact-work-check { width: 18px; height: 18px; }
  .pact-scene [data-pact-warning] { position: static; grid-column: 1/-1; margin: 10px 0 0; font-size: 10px; line-height: 1.45; }
  .pact-scene .pact-preview-controls { top: 3px; right: 10px; font-size: 9px; gap: 5px 8px; }
  .pact-scene .pact-preview-controls span { max-width: 130px; }
  .pact-scene .pact-status-line { bottom: 1px; }
  .pact-scene .pact-status-line p { font-size: 10px; }
  .pact-scene .pact-hand { display: none !important; }
}
@media (max-width: 600px) and (max-height: 600px) {
  main.ritual-room.pact .pact-panel.pact-scene { --pact-print-size: 64px; padding: 32px 4px 34px; }
  .pact-scene .pact-object-stage { grid-template-rows: minmax(150px,1fr) minmax(95px,.7fr); }
  .pact-scene .pact-ink-object { width: 170px; }
  .pact-scene .pact-card { height: 165px; }
  .pact-scene .pact-card-caption { top: calc(50% + 48px); }
  .pact-scene .pact-card-caption > small { margin-top: 4px; font-size: 9px; }
  .pact-scene .pact-ink-object > p { font-size: 9px; top: 93%; }
  .pact-scene .pact-summary { align-self: start; }
  .pact-scene .pact-summary h2 { font-size: 21px; }
  .pact-scene .pact-works button { font-size: 17px; }
}
@media (max-width: 1024px) and (max-height: 500px) and (orientation: landscape) {
  main.ritual-room.pact .pact-panel.pact-scene { --pact-print-size: 68px; padding: 25px 8px 32px; }
  .pact-scene .pact-object-stage { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: minmax(0,1fr); }
  .pact-scene .pact-ink-object { width: 190px; }
  .pact-scene .pact-card { height: 180px; }
  .pact-scene .pact-summary { grid-column: 3; grid-template-columns: 1fr; width: 175px; max-height: 135px; padding: 0; align-self: center; }
  .pact-scene .pact-summary h2 { margin: 0 0 8px; font-size: 23px; }
  .pact-scene .pact-works button { font-size: 18px; }
  .pact-scene [data-pact-warning] { position: absolute; top: 100%; margin-top: 7px; }
}
@media (prefers-reduced-motion: reduce) { .pact-scene *, .pact-scene *::before, .pact-scene *::after { animation: none !important; transition: none !important; } }
.profile-pact-record { padding: 18px 0; border-top: 1px solid #76674f2b; }
.profile-pact-record h3 { margin: 0 0 7px; font: 400 22px/1.2 var(--pluritual-wip-serif, Georgia, serif); }
.profile-pact-record > p { color: #817668; font-size: 11px; }
.profile-pact-record ol { list-style: none; margin: 14px 0 0; padding: 0; }
.profile-pact-record li { display: grid; grid-template-columns: 27px 1fr; gap: 12px; align-items: center; padding: 10px 0; }
.profile-pact-record img { width: 27px; height: auto; } .profile-pact-record time { font: 400 14px/1.4 var(--pluritual-wip-serif, Georgia,serif); }
.profile-pact-record small { display: block; margin-top: 3px; color: #817668; font: 400 10px/1.5 Arial,sans-serif; }

/* Small screens reserve actual room for the closing notice and keep long module lists scrollable. */
@media (max-width: 900px) and (orientation: portrait) {
 .pact-scene .pact-summary { height: 100%; grid-template-rows: minmax(0,1fr) auto; }
 .pact-scene .pact-summary h2 { align-self: start; }
}
@media (max-width: 600px) and (max-height: 600px) and (orientation: portrait) {
 .pact-scene .pact-object-stage { grid-template-rows: minmax(132px,1fr) minmax(112px,.8fr); }
 .pact-scene .pact-ink-object { width: 150px; }
 .pact-scene .pact-card { height: 145px; }
 .pact-scene .pact-works button { min-height: 38px; padding: 6px 0; }
 .pact-scene .pact-work-check { width: 17px; height: 17px; }
 .pact-scene [data-pact-warning] { margin-top: 6px; }
}

/* Workview15: one close composition with the gesture as the focal point. */
main.ritual-room.pact .pact-panel.pact-scene { width: min(100%,1030px); max-width: 1030px; padding-bottom: 76px; }
.pact-scene .pact-object-stage { transform: translateY(-12px); }
.pact-scene .pact-ink-object { margin-top: 36px; }
.pact-scene .pact-summary { width: min(100%,205px); margin-top: 35px; }
.pact-scene .pact-summary h2 { font-size: 25px; margin-bottom: 12px; }
.pact-scene .pact-works button { font-size: 21px; min-height: 53px; }
.pact-scene .pact-paper-contact { mix-blend-mode: multiply; user-select: none; }
.pact-scene .pact-card-imprint { opacity: .94; user-select: none; }
.pact-scene .pact-card-caption { top: calc(50% - 152px); width: 245px; }
.pact-scene .pact-card-caption > span { max-width: 230px; margin: 0 auto; font: 600 31px/1.04 Arial,sans-serif; letter-spacing: -.045em; color: #322c24; text-wrap: balance; }
.pact-scene[data-pact-state='sealed'] .pact-card-caption { top: calc(50% - 126px); }
.pact-scene[data-pact-state='sealed'] .pact-card-caption > span { font: 400 29px/1.2 var(--pluritual-wip-serif, Georgia,serif); letter-spacing: -.025em; color: #4c3e2f; }
.pact-scene .pact-status-line { top: calc(50% + 75px); bottom: auto; }
.pact-scene .pact-status-line p { color: #76644f; font: italic 400 16px/1.5 var(--pluritual-wip-serif, Georgia,serif); }
.pact-scene .pact-status-line small { margin-top: 7px; font-size: 9px; }
.pact-scene .pact-ink-photo, .pact-scene .pact-card-imprint img { user-select: none; }
@media (max-width:1100px) and (min-width:901px) {
 .pact-scene .pact-ink-object { width: 270px; }
 .pact-scene .pact-card-caption > span { font-size: 28px; max-width: 210px; }
 .pact-scene .pact-summary { width: 185px; }
 .pact-scene .pact-works button { font-size: 19px; }
}
@media (max-width:900px) {
 main.ritual-room.pact .pact-panel.pact-scene { padding-bottom: 42px; }
 .pact-scene .pact-object-stage { transform: none; }
 .pact-scene .pact-ink-object { margin-top: 0; }
 .pact-scene .pact-summary { width: min(100%,340px); margin-top: 0; }
 .pact-scene .pact-summary h2 { margin-bottom: 0; }
 .pact-scene .pact-works button { min-height: 44px; font-size: 19px; }
 .pact-scene .pact-card-caption, .pact-scene[data-pact-state='sealed'] .pact-card-caption { width: 100%; top: calc(50% - 102px); }
 .pact-scene .pact-card-caption > span { font-size: 20px; max-width: 160px; }
 .pact-scene[data-pact-state='sealed'] .pact-card-caption > span { font-size: 22px; }
 .pact-scene .pact-status-line { top: auto; bottom: 4px; }
 .pact-scene .pact-status-line p { font-size: 13px; }
}
@media (max-width:600px) and (max-height:600px) and (orientation:portrait) {
 main.ritual-room.pact .pact-panel.pact-scene { padding-bottom: 34px; }
 .pact-scene .pact-card-caption, .pact-scene[data-pact-state='sealed'] .pact-card-caption { top: calc(50% - 82px); }
 .pact-scene .pact-card-caption > span { font-size: 16px; max-width: 135px; }
 .pact-scene[data-pact-state='sealed'] .pact-card-caption > span { font-size: 19px; }
 .pact-scene .pact-works button { min-height: 38px; font-size: 17px; }
}
@media (max-width:1024px) and (max-height:500px) and (orientation:landscape) {
 main.ritual-room.pact .pact-panel.pact-scene { padding-bottom: 32px; }
 .pact-scene .pact-summary { width: 175px; }
 .pact-scene .pact-card-caption, .pact-scene[data-pact-state='sealed'] .pact-card-caption { top: calc(50% - 93px); }
}

@media (min-width:901px) {
 main.ritual-room.pact .pact-panel.pact-scene { --pact-print-size: clamp(106px,9.8vw,126px); width: min(100%,950px); max-width: 950px; }
 .pact-scene.is-resting .pact-spirit-body { opacity: .85; }
 .pact-scene.is-resting .pact-sign-hint { opacity: 0; }
 .pact-scene[data-pact-state='sealed'] .pact-card-caption { top: calc(50% - 151px); }
}
.pact-scene .pact-works .is-pending button { opacity: .72; }

.pact-scene .pact-filter-defs { position: absolute; pointer-events: none; }
.pact-scene .pact-card-imprint img { filter: url(#pact-mark-alpha); }
@media (max-width:600px) and (max-height:600px) and (orientation:portrait) {
 .pact-scene .pact-card-caption, .pact-scene[data-pact-state='sealed'] .pact-card-caption { top: calc(50% + 38px); }
 .pact-scene[data-pact-state='sealed'] .pact-card-caption > span { font-size: 16px; line-height: 1.1; }
}
