/* Independent from the legacy PalettaArt gallery kiosk styles. */
.pamk-player,.pamk-player *{box-sizing:border-box}
.pamk-player [hidden]{display:none!important}
.pamk-player .pamk-start{appearance:none;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:14px 21px;color:#fff;background:#1f466d;border:1px solid #6484a3;border-radius:10px;font:700 17px/1.3 Arial,sans-serif;cursor:pointer}
.pamk-stage{position:fixed;inset:0;z-index:2147483000;background:var(--pamk-bg,#060c18);color:var(--pamk-color,#fff);display:flex;flex-direction:column;min-height:0;font-family:Arial,Helvetica,sans-serif}
.pamk-stage:fullscreen{width:100%;height:100%;}
.pamk-screen{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--pamk-bg,#060c18)}
.pamk-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pamk-media img,.pamk-media video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.pamk-media .pamk-plain-background{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(108,128,170,.18),transparent 72%)}
.pamk-text{position:absolute;left:4.5%;right:4.5%;top:3.5%;text-align:center;pointer-events:none;text-shadow:0 2px 15px #000,0 1px 4px #000}
.pamk-text h2{font-size:clamp(24px,4vw,64px);line-height:1.14;color:var(--pamk-color,#fff);margin:0;font-weight:750}
.pamk-text p{font-size:clamp(14px,1.55vw,24px);line-height:1.3;white-space:pre-line;max-width:1050px;max-height:22vh;overflow:hidden;margin:8px auto 0;background:rgba(0,0,0,.35);padding:4px 12px;border-radius:8px}
.pamk-subtitle{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);max-width:min(94%,980px);width:max-content;min-width:30%;padding:12px 24px;border-radius:12px;background:rgba(1,5,14,.84);color:var(--pamk-subtitle-color,#fff);font-size:clamp(17px,2.3vw,38px);line-height:1.4;font-weight:700;text-align:center;text-shadow:0 2px 4px #000;white-space:pre-wrap;overflow-wrap:anywhere}
.pamk-subtitle .pamk-current{background:#fcd34d;color:#101827;border-radius:4px;text-shadow:none;padding:1px 2px}
.pamk-subtitle .pamk-done{color:#f1f5f9}
.pamk-counter{position:absolute;right:2%;top:2%;font-weight:700;font-size:14px;padding:6px 10px;background:rgba(0,0,0,.5);border-radius:10px}
.pamk-controls{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:9px 12px;background:#121e2f;color:#fff;min-height:58px}
.pamk-controls button{appearance:none;border:1px solid #526782;background:#283952;color:#fff;border-radius:8px;min-width:47px;height:40px;padding:6px 11px;font:700 20px Arial,sans-serif;cursor:pointer}
.pamk-controls button:hover,.pamk-controls button:focus-visible{background:#476487}
.pamk-controls label{display:inline-flex;align-items:center;gap:7px;font:700 13px Arial,sans-serif}
.pamk-controls select{background:#fff;color:#121e2f;border:1px solid #bdcadb;border-radius:7px;padding:6px;min-width:65px}
.pamk-controls [data-pamk-close]{background:#8b202b}

.pamk-screen.pamk-layout-split-right{display:grid;grid-template-columns:minmax(280px,38%) minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:2.2vw;padding:2.4vh 2.4vw 1.8vh}
.pamk-screen.pamk-layout-split-right .pamk-media{position:relative;inset:auto;grid-column:2;min-width:0;min-height:0;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03)}
.pamk-screen.pamk-layout-split-right .pamk-media img,.pamk-screen.pamk-layout-split-right .pamk-media video{border-radius:20px;background:rgba(0,0,0,.22)}
.pamk-screen.pamk-layout-split-right .pamk-text{position:relative;left:auto;right:auto;top:auto;grid-column:1;align-self:center;text-align:left;pointer-events:none;background:rgba(0,0,0,.28);padding:24px 26px;border-radius:18px;backdrop-filter:blur(2px);max-width:none}
.pamk-screen.pamk-layout-split-right .pamk-text h2{font-size:clamp(26px,3vw,56px)}
.pamk-screen.pamk-layout-split-right .pamk-text p{max-width:none;max-height:58vh;overflow:auto;margin:14px 0 0;background:transparent;padding:0;font-size:clamp(15px,1.4vw,23px)}
.pamk-screen.pamk-layout-split-right .pamk-counter{top:1.8%;right:1.8%}
.pamk-screen.pamk-layout-split-right .pamk-subtitle[data-position$="center"]{max-width:min(48%,760px)}
.pamk-screen.pamk-layout-split-right .pamk-subtitle[data-position$="right"]{max-width:min(48%,760px)}
@media(max-width:980px){.pamk-screen.pamk-layout-split-right{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px}.pamk-screen.pamk-layout-split-right .pamk-text{grid-column:1;grid-row:1;text-align:center;padding:15px 16px}.pamk-screen.pamk-layout-split-right .pamk-text p{max-height:20vh;text-align:center;margin:10px auto 0}.pamk-screen.pamk-layout-split-right .pamk-media{grid-column:1;grid-row:2}.pamk-screen.pamk-layout-split-right .pamk-subtitle{max-width:90%;}}
.pamk-screen.pamk-layout-split-left{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,38%);align-items:stretch;justify-content:stretch;gap:2.2vw;padding:2.4vh 2.4vw 1.8vh}
.pamk-screen.pamk-layout-split-left .pamk-media{position:relative;inset:auto;grid-column:1;min-width:0;min-height:0;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03)}
.pamk-screen.pamk-layout-split-left .pamk-media img,.pamk-screen.pamk-layout-split-left .pamk-media video{border-radius:20px;background:rgba(0,0,0,.22)}
.pamk-screen.pamk-layout-split-left .pamk-text{position:relative;left:auto;right:auto;top:auto;grid-column:2;align-self:center;text-align:left;pointer-events:none;background:rgba(0,0,0,.28);padding:24px 26px;border-radius:18px;backdrop-filter:blur(2px);max-width:none}
.pamk-screen.pamk-layout-split-left .pamk-text h2{font-size:clamp(26px,3vw,56px)}
.pamk-screen.pamk-layout-split-left .pamk-text p{max-width:none;max-height:58vh;overflow:auto;margin:14px 0 0;background:transparent;padding:0;font-size:clamp(15px,1.4vw,23px)}
.pamk-screen.pamk-layout-split-left .pamk-counter{top:1.8%;right:1.8%}
.pamk-screen.pamk-layout-split-left .pamk-subtitle[data-position$="center"]{max-width:min(48%,760px)}
.pamk-screen.pamk-layout-split-left .pamk-subtitle[data-position$="right"]{max-width:min(48%,760px)}
@media(max-width:980px){.pamk-screen.pamk-layout-split-left{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px}.pamk-screen.pamk-layout-split-left .pamk-text{grid-column:1;grid-row:1;text-align:center;padding:15px 16px}.pamk-screen.pamk-layout-split-left .pamk-text p{max-height:20vh;text-align:center;margin:10px auto 0}.pamk-screen.pamk-layout-split-left .pamk-media{grid-column:1;grid-row:2}.pamk-screen.pamk-layout-split-left .pamk-subtitle{max-width:90%;}}
@media(max-width:640px){.pamk-controls{gap:5px;padding:5px}.pamk-controls button{min-width:40px;height:36px;padding:4px}.pamk-text{top:6%}.pamk-subtitle{bottom:3%;padding:8px 11px;min-width:70%}.pamk-text p{max-height:16vh}}

/* Category introduction cards use centered copy without changing film captions. */
.pamk-screen.pamk-category-intro .pamk-text{top:50%;transform:translateY(-50%);left:8%;right:8%}
.pamk-screen.pamk-category-intro .pamk-text p{max-height:55vh;margin-top:20px;background:transparent;font-size:clamp(18px,2.1vw,31px)}

/* 2.3.06: centered composition and adjustable image size. */
.pamk-screen.pamk-layout-center-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pamk-image-gap,24px);padding:5vh 3vw 3vh;overflow:hidden}
.pamk-screen.pamk-layout-center-stack .pamk-media{position:relative;inset:auto;flex:0 1 auto;width:min(94vw,1100px);height:min(var(--pamk-image-size,85%),70vh);min-height:0;overflow:hidden}
.pamk-screen.pamk-layout-center-stack .pamk-media img,.pamk-screen.pamk-layout-center-stack .pamk-media video{object-fit:contain;width:100%;height:100%}
.pamk-screen.pamk-layout-center-stack .pamk-text{position:relative;inset:auto;flex:0 1 auto;width:min(94vw,1100px);max-height:35vh;overflow:auto;text-align:center;pointer-events:auto}
.pamk-screen.pamk-layout-center-stack .pamk-text h2{font-size:clamp(24px,3vw,50px)}
.pamk-screen.pamk-layout-center-stack .pamk-text p{max-height:25vh;overflow:auto;margin:10px auto 0;background:rgba(0,0,0,.24)}
.pamk-screen:is(.pamk-layout-split-left,.pamk-layout-split-right){gap:var(--pamk-image-gap,24px)}
.pamk-screen:is(.pamk-layout-split-left,.pamk-layout-split-right) .pamk-media img,.pamk-screen:is(.pamk-layout-split-left,.pamk-layout-split-right) .pamk-media video{max-height:var(--pamk-image-size,85%);height:var(--pamk-image-size,85%);margin:auto}
@media(max-width:700px){.pamk-screen.pamk-layout-center-stack{padding:6vh 3vw 2vh;gap:min(var(--pamk-image-gap,24px),3vh)}.pamk-screen.pamk-layout-center-stack .pamk-media{height:min(55vh,var(--pamk-image-size,85%))}.pamk-screen.pamk-layout-center-stack .pamk-text{max-height:35vh}}

/* 2.3.07: configurable font sizes in every layout */
.pamk-screen .pamk-text h2,.pamk-screen.pamk-layout-split-left .pamk-text h2,.pamk-screen.pamk-layout-split-right .pamk-text h2,.pamk-screen.pamk-layout-center-stack .pamk-text h2{font-size:var(--pamk-title-font,48px)}
.pamk-screen .pamk-text p,.pamk-screen.pamk-layout-split-left .pamk-text p,.pamk-screen.pamk-layout-split-right .pamk-text p,.pamk-screen.pamk-layout-center-stack .pamk-text p{font-size:var(--pamk-description-font,22px)}
.pamk-screen .pamk-subtitle{font-size:var(--pamk-subtitle-font,28px)}
/* Keep right-image / left-description aligned on one horizontal row. */
@media(min-width:981px){.pamk-screen.pamk-layout-split-right{grid-template-rows:minmax(0,1fr)}.pamk-screen.pamk-layout-split-right .pamk-media{grid-column:2;grid-row:1;align-self:stretch}.pamk-screen.pamk-layout-split-right .pamk-text{grid-column:1;grid-row:1;align-self:center;justify-self:stretch}}

/* 2.3.08: both split modes share one centered horizontal composition.
   Flex order follows the actual DOM (media, then text), avoiding grid auto-placement
   that previously put the caption in a second row on some installations. */
@media (min-width: 981px) {
  .pamk-screen.pamk-layout-split-right,
  .pamk-screen.pamk-layout-split-left {
    display:flex!important;
    flex-flow:row nowrap;
    align-items:center;
    justify-content:center;
    gap:var(--pamk-image-gap,24px);
    padding:clamp(24px,4vh,55px) clamp(25px,5vw,100px);
    min-height:0;
  }
  .pamk-screen.pamk-layout-split-right .pamk-media,
  .pamk-screen.pamk-layout-split-left .pamk-media {
    position:relative!important;
    inset:auto!important;
    flex:1 1 53%;
    order:1;
    height:100%;
    max-height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:0;
    background:transparent;
  }
  .pamk-screen.pamk-layout-split-right .pamk-text,
  .pamk-screen.pamk-layout-split-left .pamk-text {
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 1 43%;
    order:2;
    min-width:0;
    max-width:700px;
    max-height:100%;
    overflow:auto;
    align-self:center;
    text-align:left;
    pointer-events:auto;
    padding:clamp(14px,1.6vw,28px);
    border-radius:14px;
  }
  .pamk-screen.pamk-layout-split-right .pamk-media {order:2}
  .pamk-screen.pamk-layout-split-right .pamk-text {order:1}
  .pamk-screen.pamk-layout-split-right .pamk-media img,
  .pamk-screen.pamk-layout-split-right .pamk-media video,
  .pamk-screen.pamk-layout-split-left .pamk-media img,
  .pamk-screen.pamk-layout-split-left .pamk-media video {
    display:block;
    width:100%;
    height:var(--pamk-image-size,85%);
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    margin:auto;
  }
  .pamk-screen.pamk-layout-split-right .pamk-text p,
  .pamk-screen.pamk-layout-split-left .pamk-text p {
    max-height:min(66vh,calc(100dvh - 220px));
    overflow-y:auto;
    pointer-events:auto;
  }
}

/* 2.3.09: robust horizontal KIOSK composition in normal and fullscreen modes.
   Force both siblings into the SAME flex row; do not rely on grid auto-placement. */
.pamk-player .pamk-screen.pamk-layout-split-right,
.pamk-player .pamk-screen.pamk-layout-split-left{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  width:100%;height:100%;min-height:0;gap:var(--pamk-image-gap,24px);
  padding:clamp(16px,3vh,42px) clamp(16px,4vw,80px)!important;
}
.pamk-player .pamk-screen.pamk-layout-split-right>.pamk-media,
.pamk-player .pamk-screen.pamk-layout-split-left>.pamk-media{
  position:relative!important;inset:auto!important;transform:none!important;
  flex:1 1 54%!important;width:54%!important;min-width:0!important;
  height:100%!important;min-height:0!important;max-height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  margin:0!important;overflow:hidden;
}
.pamk-player .pamk-screen.pamk-layout-split-right>.pamk-text,
.pamk-player .pamk-screen.pamk-layout-split-left>.pamk-text{
  position:relative!important;inset:auto!important;transform:none!important;
  flex:1 1 46%!important;width:46%!important;min-width:0!important;
  max-width:none!important;max-height:calc(100% - 16px)!important;
  align-self:center!important;margin:0!important;overflow-y:auto!important;
  text-align:left!important;pointer-events:auto!important;
}
.pamk-player .pamk-screen.pamk-layout-split-right>.pamk-text{order:1!important}
.pamk-player .pamk-screen.pamk-layout-split-right>.pamk-media{order:2!important}
.pamk-player .pamk-screen.pamk-layout-split-left>.pamk-media{order:1!important}
.pamk-player .pamk-screen.pamk-layout-split-left>.pamk-text{order:2!important}
.pamk-player .pamk-screen:is(.pamk-layout-split-right,.pamk-layout-split-left)>.pamk-media :is(img,video){
  display:block!important;width:100%!important;height:var(--pamk-image-size,85%)!important;
  max-height:100%!important;object-fit:contain!important;margin:auto!important;
}
.pamk-player .pamk-screen:is(.pamk-layout-split-right,.pamk-layout-split-left)>.pamk-text p{
  max-height:min(65vh,calc(100dvh - 200px));overflow-y:auto;pointer-events:auto;
}
@media(max-width:700px){
  .pamk-player .pamk-screen:is(.pamk-layout-split-right,.pamk-layout-split-left){flex-direction:column!important;overflow:auto!important}
  .pamk-player .pamk-screen:is(.pamk-layout-split-right,.pamk-layout-split-left)>.pamk-media{order:1!important;width:100%!important;flex:1 1 52%!important}
  .pamk-player .pamk-screen:is(.pamk-layout-split-right,.pamk-layout-split-left)>.pamk-text{order:2!important;width:100%!important;flex:0 1 auto!important;max-height:40%!important}
}

/* 2.3.12: individually styled opening and closing cards. */
.pamk-screen.pamk-decorated-card{background:var(--pamk-card-bg,#19469e)!important}
.pamk-screen.pamk-decorated-card .pamk-media,.pamk-screen.pamk-decorated-card .pamk-plain-background{background:transparent!important}
.pamk-screen.pamk-decorated-card .pamk-text{position:absolute!important;inset:0 6%!important;transform:none!important;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center!important;max-width:none!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;padding:30px 0!important}
.pamk-screen.pamk-decorated-card .pamk-text h2{font-size:var(--pamk-card-title,48px)!important;color:var(--pamk-card-color,#fff)!important;max-width:1100px;line-height:1.18;display:flex;flex-direction:column;align-items:center;width:100%}
.pamk-screen.pamk-decorated-card .pamk-text p{font-size:var(--pamk-card-text,24px)!important;color:var(--pamk-card-color,#fff)!important;max-height:45vh!important;overflow:auto!important;background:transparent!important;text-align:center!important;max-width:1000px!important;line-height:1.45;margin:18px auto 0!important}
.pamk-screen.pamk-decorated-card .pamk-text h2::before,.pamk-screen.pamk-decorated-card .pamk-text h2::after{content:"";display:none;width:var(--pamk-motif-width,75%);max-width:100%;height:26px;flex:0 0 26px;background-image:var(--pamk-motif-image,none);background-size:contain;background-repeat:no-repeat;background-position:center}
.pamk-screen.pamk-decorated-card[data-motif-position="above"] .pamk-text h2::before,.pamk-screen.pamk-decorated-card[data-motif-position="both"] .pamk-text h2::before{display:block;margin-bottom:var(--pamk-motif-gap,20px)}
.pamk-screen.pamk-decorated-card[data-motif-position="below"] .pamk-text h2::after,.pamk-screen.pamk-decorated-card[data-motif-position="both"] .pamk-text h2::after{display:block;margin-top:var(--pamk-motif-gap,20px)}
.pamk-screen.pamk-decorated-card:not([style*="--pamk-motif-image: url("]) .pamk-text h2::before,.pamk-screen.pamk-decorated-card:not([style*="--pamk-motif-image: url("]) .pamk-text h2::after{background-image:linear-gradient(to right,#f5cf24 0 48%,transparent 48% 52%,#f5cf24 52% 100%);height:2px;flex-basis:2px;position:relative}

/* Opening duration announcement, independent of SRT subtitles and slide titles. */
.pamk-screen{position:relative}.pamk-duration-intro{position:absolute;z-index:100;right:3%;top:4%;left:auto;max-width:75%;padding:16px 24px;border-radius:12px;background:rgba(0,0,0,.78);color:#fff;text-align:center;font-size:clamp(18px,2vw,30px);pointer-events:none;box-shadow:0 4px 20px #0006}.pamk-duration-intro strong{display:block;font-size:1.5em;margin-top:8px}.pamk-duration-intro.pamk-duration-center{left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}.pamk-duration-intro[hidden]{display:none!important}

/* Saved time plans are selectable directly before KIOSK playback. */
.pamk-plan-picker{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:600}.pamk-plan-picker select{min-width:190px;padding:8px;border-radius:6px}

/* Keep video export conspicuous on full-screen and narrower displays. */
.pamk-controls [data-pamk-record]{font:700 13px/1.2 Arial,sans-serif;min-width:138px;white-space:nowrap;background:#166534;border-color:#4ade80}
.pamk-controls [data-pamk-record]:hover,.pamk-controls [data-pamk-record]:focus-visible{background:#15803d}
.pamk-controls [data-pamk-record-status]{max-width:220px;overflow-wrap:anywhere}

/* Browser autoplay fallback: the presentation keeps running until sound is unlocked. */
.pamk-audio-unlock{position:absolute;z-index:2147483001;left:50%;top:50%;transform:translate(-50%,-50%);padding:20px 32px;background:#1f466d;color:#fff;border:2px solid #fff;border-radius:14px;font:700 22px Arial,sans-serif;cursor:pointer;box-shadow:0 8px 35px #0009}
.pamk-audio-unlock[hidden]{display:none!important}

/* Decorative KIOSK curve: behind the artwork and above the background. */
.pamk-moving-thread{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.pamk-moving-thread[hidden]{display:none!important}
.pamk-screen>.pamk-media{z-index:1}
.pamk-screen>.pamk-text,.pamk-screen>.pamk-subtitle,.pamk-screen>.pamk-counter{z-index:2}
@media(prefers-reduced-motion:reduce){.pamk-moving-thread{display:none!important}}

/* 2.3.65: transition only the picture, keeping thread, narration and captions untouched. */
.pamk-media{isolation:isolate}
.pamk-media>.pamk-transition-outgoing{position:absolute!important;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}

.pamk-media>img:not(.pamk-transition-outgoing),.pamk-media>video:not(.pamk-transition-outgoing){position:relative;z-index:2}

/* 2.3.66: Artwork year markers on the moving red thread. */
.pamk-timeline{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.pamk-timeline[hidden]{display:none!important}
.pamk-timeline-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;transition:left .1s linear,top .1s linear}
.pamk-timeline-ring{display:block;width:var(--pamk-timeline-size,16px);height:var(--pamk-timeline-size,16px);border:3px solid var(--pamk-timeline-ring,#ff3344);background:#111827;border-radius:50%;box-shadow:0 0 0 3px #ffffffaa,0 0 14px var(--pamk-timeline-ring,#ff3344)}
.pamk-timeline-panel{position:absolute;bottom:calc(100% + 15px);display:flex;gap:9px;align-items:center;min-width:125px;max-width:min(240px,38vw);padding:10px 12px;background:#182338ed;border:1px solid #ffffff77;border-radius:9px;color:white!important;text-decoration:none!important;box-shadow:0 5px 22px #0008;pointer-events:auto;animation:pamk-timeline-in .45s ease-out both}
.pamk-timeline-marker[data-side=left] .pamk-timeline-panel{right:10px}.pamk-timeline-marker[data-side=right] .pamk-timeline-panel{left:10px}
.pamk-timeline-panel img{width:44px;height:44px;object-fit:cover;border-radius:5px;flex:none}.pamk-timeline-panel>span{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere;font-size:12px;line-height:1.3}.pamk-timeline-panel strong{font-size:19px;color:#fff}
@keyframes pamk-timeline-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pamk-timeline-panel{animation:none}.pamk-timeline-marker{transition:none}}
.pamk-timeline{z-index:3}

/* Gallery-year bubbles alternate sides while the slideshow continues. */
.pamk-gallery-year-marker{z-index:4}.pamk-gallery-year-marker .pamk-timeline-panel{min-width:160px;max-width:min(280px,42vw);background:#182338f2}.pamk-gallery-year-marker .pamk-timeline-panel strong{font-size:26px}

/* 2.3.70: make gallery-year bubbles visible above the artwork and text. */
.pamk-screen>.pamk-timeline{z-index:8!important;isolation:isolate;overflow:visible}
.pamk-gallery-year-marker{z-index:9;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}
.pamk-gallery-year-marker .pamk-timeline-panel{background:#172236!important;border:2px solid #ff4254!important;min-width:175px}

/* Full-screen red-thread-only transition between two artworks. */
.pamk-screen.pamk-thread-interlude{display:block!important;background:var(--pamk-interlude-bg,#060c18)}
.pamk-screen.pamk-thread-interlude .pamk-media,.pamk-screen.pamk-thread-interlude .pamk-text,.pamk-screen.pamk-thread-interlude .pamk-subtitle,.pamk-screen.pamk-thread-interlude .pamk-counter{display:none!important}
.pamk-screen.pamk-thread-interlude .pamk-moving-thread{display:block!important;visibility:visible!important}
.pamk-screen.pamk-thread-interlude .pamk-timeline{display:block!important;z-index:12!important}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;display:flex;align-items:center;flex-direction:column;gap:12px;pointer-events:none}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel{position:static!important;transform:none!important;display:block!important;text-align:center!important;min-width:140px;font-size:clamp(26px,5vw,76px);background:rgba(5,10,20,.85);color:white;padding:12px 32px;border-radius:14px}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel strong{font-size:inherit!important}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-ring{position:static!important;transform:none!important}

/* 2.3.73: roomy artwork preview and readable text on thread markers and interludes. */
.pamk-timeline-marker:not(.pamk-interlude-marker) .pamk-timeline-panel{width:clamp(260px,25vw,400px);max-width:min(400px,42vw);min-width:0;gap:13px;padding:13px 16px;box-sizing:border-box}
.pamk-timeline-marker:not(.pamk-interlude-marker) .pamk-timeline-panel img{width:68px;height:68px}
.pamk-timeline-marker:not(.pamk-interlude-marker) .pamk-timeline-panel>span{font-size:clamp(13px,1vw,17px);line-height:1.4;flex:1}
.pamk-gallery-year-marker .pamk-timeline-panel{width:clamp(260px,25vw,400px);max-width:min(400px,42vw)}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel{display:flex!important;align-items:center!important;text-align:left!important;gap:clamp(15px,3vw,32px);width:min(650px,84vw)!important;max-width:84vw!important;min-width:0!important;padding:clamp(16px,3vw,32px)!important;box-sizing:border-box}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel img{width:clamp(85px,16vw,180px);height:clamp(85px,16vw,180px);object-fit:cover;border-radius:10px;flex-shrink:0}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel>span{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1;overflow-wrap:break-word;font-size:clamp(16px,2.2vw,29px);line-height:1.3}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel strong{font-size:clamp(35px,5vw,65px)!important}
@media(max-width:540px){.pamk-timeline-marker:not(.pamk-interlude-marker) .pamk-timeline-panel{width:min(260px,72vw);max-width:72vw}.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel{gap:12px!important}.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel img{width:75px;height:75px}}

/* 2.3.74: The interlude marker is positioned on the actual animated SVG path.
   Its information card is connected to the dot instead of floating independently. */
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker{
  transform:translate(-50%,-50%)!important;display:block!important;
  width:var(--pamk-timeline-size,16px);height:var(--pamk-timeline-size,16px);
  transition:none!important;z-index:15;
}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-ring{
  display:block!important;position:relative!important;z-index:2;box-sizing:border-box;
  width:var(--pamk-timeline-size,16px);height:var(--pamk-timeline-size,16px);
}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel{
  position:absolute!important;left:50%!important;bottom:calc(100% + 38px)!important;
  transform:translateX(-50%)!important;animation:none!important;
  width:min(650px,82vw)!important;max-width:82vw!important;
  margin:0!important;pointer-events:auto;
}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker::before{
  content:'';position:absolute;bottom:calc(100% + 2px);left:50%;
  transform:translateX(-50%);width:2px;height:36px;
  background:var(--pamk-timeline-ring,#ff3344);box-shadow:0 0 8px #ff334477;
}
.pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel img{display:block;object-fit:cover}
@media(max-width:700px){
 .pamk-screen.pamk-thread-interlude .pamk-interlude-marker .pamk-timeline-panel{
  left:0!important;transform:translateX(-36%)!important;width:min(480px,88vw)!important;max-width:88vw!important;
 }
}

/* 2.3.75: compact alternating artwork markers in the thread-only transition */
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker{width:15px;height:15px;transform:translate(-50%,-50%)!important;pointer-events:none;z-index:20}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-panel{position:absolute!important;left:50%!important;bottom:calc(100% + 25px)!important;transform:translateX(-50%)!important;width:110px!important;min-width:0!important;max-width:110px!important;padding:7px!important;display:flex!important;flex-direction:column!important;gap:5px!important;text-align:center!important;background:#182338f2!important;pointer-events:auto;animation:pamk-compact-open .5s ease both!important}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker[data-vertical=bottom] .pamk-timeline-panel{bottom:auto!important;top:calc(100% + 25px)!important}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-panel img{width:94px!important;height:72px!important;object-fit:cover!important}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-panel strong{font-size:18px!important;line-height:1.2}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker::before{content:'';position:absolute;bottom:100%;left:50%;width:2px;height:25px;background:#ff3344}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker[data-vertical=bottom]::before{bottom:auto;top:100%}
@keyframes pamk-compact-open{from{opacity:0;scale:.8}to{opacity:1;scale:1}}

/* 2.3.78: keep the single loop visible across the entire KIOSK canvas. */
.pamk-screen.pamk-thread-loop-visible>.pamk-moving-thread{z-index:2;opacity:.88}
.pamk-screen.pamk-thread-loop-visible>.pamk-text,.pamk-screen.pamk-thread-loop-visible>.pamk-subtitle,.pamk-screen.pamk-thread-loop-visible>.pamk-counter{z-index:4}

/* 2.3.79: one thread behind the artwork, with compact cards anchored to it. */
.pamk-screen.pamk-thread-loop-visible:not(.pamk-thread-interlude)>.pamk-moving-thread{z-index:0!important;opacity:.9}
.pamk-screen.pamk-thread-loop-visible:not(.pamk-thread-interlude)>.pamk-media{position:relative;z-index:1!important}
.pamk-screen.pamk-thread-interlude>.pamk-moving-thread{z-index:1!important}
.pamk-screen.pamk-thread-interlude>.pamk-timeline{z-index:12!important}
.pamk-timeline-marker[hidden],.pamk-compact-point[hidden]{display:none!important}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-ring{position:relative!important;box-sizing:border-box;z-index:2}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-panel{transition:none!important}
.pamk-screen.pamk-thread-interlude .pamk-compact-kiosk-marker .pamk-timeline-panel.pamk-no-thumbnail{width:auto!important;min-width:75px!important}

/* 2.3.85: The SVG is ONE continuous line. Earlier the image/text panels
   painted over its middle and made it look like two disconnected lines.
   Keep the complete line above both panels, but below clickable year cards. */
.pamk-screen>.pamk-moving-thread{z-index:7!important;isolation:isolate;overflow:visible!important}
.pamk-screen>.pamk-timeline{z-index:8!important}

/* 2.3.95: dot is attached to the growing curve tip during image-to-image interludes. */
.pamk-thread-tip-dot{filter:drop-shadow(0 0 5px #ff3344) drop-shadow(0 0 9px #ff3344);pointer-events:none}

/* 2.3.96: One dot only: the existing interlude card ring, touched by the thread. */
.pamk-thread-tip-dot{display:none!important}
