/* Ink resolves slowly; paper arrives sharp, with its own weight and direction. */
body.paper-club.motion-running .motion-entrance { animation-name:paper-club-enter;animation-duration:1.7s; }
@keyframes paper-club-enter { from { opacity:0;translate:0 28px; } to { opacity:1;translate:0 0; } }
body.paper-club.motion-running [data-text-motion=letters] .motion-letter { filter:blur(9px);translate:0 var(--text-travel,.27em); }
body.paper-club.motion-running [data-text-motion=words] .motion-word { filter:blur(7px);translate:0 var(--text-travel,.25em); }
body.paper-club.motion-running [data-text-visible=true][data-text-motion=letters] .motion-letter,
body.paper-club.motion-running [data-text-visible=true][data-text-motion=words] .motion-word {
  filter:blur(0);translate:0 0;transition-duration:1.55s,1.85s,1.85s;transition-timing-function:cubic-bezier(.2,.55,.3,1);
}
body.paper-club.motion-running [data-text-motion=whole] { filter:blur(7px);transition:opacity 1.55s ease,filter 1.9s cubic-bezier(.2,.55,.3,1),translate 1.85s cubic-bezier(.2,.55,.3,1); }
body.paper-club.motion-running [data-text-visible=true][data-text-motion=whole] { filter:blur(0); }
body.paper-club.motion-running .motion-item { transition-duration:1.15s,1.5s; }
body.paper-club.motion-running :is(.folio-room,.folio-rent,.folio-request) { animation-name:paper-club-sheet;animation-duration:1.9s; }
@keyframes paper-club-sheet { from { opacity:0;translate:0 38px;scale:.97; } to { opacity:1;translate:0 0;scale:1; } }
body.paper-club.motion-running :is(.nav-panel:not([hidden]),.language-panel:not([hidden])) { animation-duration:.65s; }
body.paper-club.motion-running [data-visual-motion=paper].motion-item { --reveal-y:36px; }

/* Paint the initial blur before enabling its transition, so load reveals start at full depth. */
body.paper-club [data-text-initial][data-text-motion=letters] .motion-letter { opacity:0;filter:blur(9px);transition:none!important; }
body.paper-club [data-text-initial][data-text-motion=words] .motion-word { opacity:0;filter:blur(7px);transition:none!important; }
body.paper-club [data-text-initial]:is([data-text-motion=whole],[data-text-motion=lead]) { opacity:0;filter:blur(7px);transition:none!important; }
body.paper-club.motion-off :is([data-text-ready],.motion-word,.motion-letter) { opacity:1!important;filter:none!important;translate:none!important; }
@media(prefers-reduced-motion:reduce) {
  body.paper-club :is([data-text-ready],.motion-word,.motion-letter) { opacity:1!important;filter:none!important;translate:none!important; }
}

body.paper-club.motion-running .motion-depth { transition-property:opacity; }
body.paper-club.motion-running [data-depth-material=tag] { rotate:var(--paper-turn,0deg);transform-origin:50% 5%; }
body.paper-club.motion-off .motion-depth { translate:none;rotate:none; }
@media(prefers-reduced-motion:reduce) {
  body.paper-club .motion-depth { translate:none!important;rotate:none!important; }
}

/* A faceted mark settles into a control or label; only its shape is eased. */
.context-cursor { display:none; }
@media(hover:hover) and (pointer:fine) {
  body.paper-club { --site-pointer:url('/assets/cursor-facet.svg') 14 14;cursor:var(--site-pointer),auto; }
  body.paper-club :is(a[href],button,summary,label[for],[role=button],input[type=checkbox],input[type=radio]) { cursor:var(--site-pointer),pointer; }
  body.paper-club :is(input:not([type=checkbox]):not([type=radio]),textarea,[contenteditable]:not([contenteditable=false])) { cursor:text; }
  body.paper-club select { cursor:pointer; }
  body.paper-club input[type=range] { cursor:ew-resize; }
  body.paper-club [draggable=true] { cursor:grab; }
  body.paper-club :is([disabled],[aria-disabled=true]) { cursor:not-allowed; }
  body.paper-club iframe { cursor:auto; }
  body.paper-club.custom-pointer-active,
  body.paper-club.custom-pointer-active * { cursor:none!important; }
  .context-cursor {
    --cursor-width:28px;
    --cursor-ease:cubic-bezier(.22,.75,.18,1);
    position:fixed;left:var(--pointer-x,0px);top:var(--pointer-y,0px);z-index:2147483647;pointer-events:none;
    display:block;box-sizing:border-box;width:var(--cursor-width);height:28px;padding:0;overflow:hidden;
    border:1px solid #fffdf8e6;border-radius:24px;background:#352d40;color:#fffdf8;
    font-family:var(--pc-body-font);font-size:14px;font-weight:400;line-height:1.35;white-space:nowrap;
    box-shadow:0 1px 4px #24152f1a;visibility:hidden;
    translate:max(calc(8px - var(--pointer-x)),min(-50%,calc(100vw - var(--pointer-x) - 100% - 8px))) max(calc(8px - var(--pointer-y)),min(-50%,calc(100dvh - var(--pointer-y) - 100% - 8px)));
    transition:width .48s var(--cursor-ease),height .42s var(--cursor-ease),background-color .48s ease,color .35s ease,border-color .4s ease,box-shadow .48s ease,scale .25s var(--cursor-ease);
  }
  .context-cursor.is-visible { visibility:visible; }
  .context-cursor[data-mode=idle] { background:transparent;border-color:transparent;box-shadow:0 1px 4px #24152f00; }
  .context-cursor-mark {
    position:absolute;left:50%;top:50%;width:28px;height:28px;translate:-50% -50%;
    background:url('/assets/cursor-facet.svg') center/contain no-repeat;
    opacity:0;scale:.45;rotate:16deg;
    transition:opacity .25s ease,scale .48s var(--cursor-ease),rotate .48s var(--cursor-ease);
  }
  .context-cursor[data-mode=idle] .context-cursor-mark { opacity:1;scale:1;rotate:0deg;transition-delay:.08s,0s,0s; }
  .context-cursor[data-mode=action] { height:32px;background:#dac7ec;color:#31213d;border-color:#f8edff;box-shadow:0 2px 10px #32203d24,inset 0 1px 0 #ffffff80; }
  .context-cursor[data-mode=label] { height:42px;border-color:#fffdf8b3;box-shadow:0 5px 20px #32203d24,inset 0 1px 0 #ffffff55; }
  .context-cursor[data-kind=read] { background:#f0df98;color:#29252e; }
  .context-cursor[data-kind=guide] { background:#d3bfea;color:#29252e; }
  .context-cursor[data-kind=explore] { background:#b9dcd0;color:#23372e; }
  .context-cursor.is-pressed { scale:.88; }
  .context-cursor-label {
    position:absolute;left:15px;top:50%;width:max-content;translate:-5px -50%;opacity:0;
    transition:opacity .16s ease,translate .35s var(--cursor-ease);
  }
  .context-cursor[data-mode=label]:not(.is-switching) .context-cursor-label { opacity:1;translate:0 -50%;transition-delay:.18s,.12s;transition-duration:.3s,.42s; }
  .context-cursor svg {
    position:absolute;right:50%;top:50%;translate:50% -50%;width:16px;height:16px;opacity:0;scale:.65;
    stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;
    transition:right .48s var(--cursor-ease),translate .48s var(--cursor-ease),scale .4s var(--cursor-ease),opacity .2s ease;
  }
  .context-cursor[data-mode=action] svg,.context-cursor[data-mode=label] svg { opacity:1;scale:1;transition-delay:0s,0s,.05s,.08s; }
  .context-cursor svg path { opacity:0;transition:opacity .22s ease; }
  .context-cursor svg path.is-current { opacity:1; }
  .context-cursor[data-mode=label] svg { right:13px;translate:0 -50%; }
  .context-cursor.is-switching svg { opacity:0;transition-delay:0s; }
  body.paper-club.motion-off .context-cursor { display:none; }
}
@media(prefers-reduced-motion:reduce) { .context-cursor { display:none!important; } }
