.cp-page .jpc-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}
.cp-page .jl-ink{opacity:var(--jl-ink,1)}
.cp-page .jpc-controls{position:fixed;left:14px;bottom:14px;z-index:80;display:flex;gap:6px;max-width:calc(100vw - 28px);padding:4px;background:#090a18ed;border:1px solid #edc13645;border-radius:26px;box-shadow:0 8px 30px #0004}
.cp-page .jpc-controls button{border:0;min-height:40px;padding:8px 13px;font:600 11px/1.4 "Segoe UI",Arial,sans-serif;color:#f0ece0;border-radius:22px;background:transparent;cursor:pointer}
.cp-page .jpc-controls button:hover{background:#edc13618;color:#edc136}
.cp-page [data-motion-active]{position:relative;isolation:isolate}
.cp-page .timeline-item[data-motion-active]{box-shadow:inset 2px 0 #edc13666,0 8px 60px #edc13609;transform:translateY(-3px);transition:transform .4s ease,box-shadow .4s ease}
.cp-page main details[open]{background-image:radial-gradient(ellipse at 25% 0,rgb(var(--accent)/.09),transparent 75%)}
.cp-page [data-signal-scan]{position:relative;isolation:isolate}
.cp-page [data-signal-scan]::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,transparent 46%,#edc13610 49%,#edc13688 50%,transparent 51%);background-size:100% 200%;background-position:0 -100%;animation:jpc-scan 1.8s cubic-bezier(.2,.65,.25,1) both}
@keyframes jpc-scan{from{background-position:0 200%;opacity:0}20%{opacity:1}80%{opacity:1}to{background-position:0 -100%;opacity:0}}
.cp-page main :focus-visible{scroll-margin-block:90px}
@media(max-width:600px){.cp-page .jpc-controls{left:10px;bottom:10px}.cp-page .jpc-controls button{min-height:40px;padding:8px 10px}.cp-page .jsf40-footer{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.cp-page .jpc-canvas{display:none}.cp-page .jl-ink{opacity:1!important}.cp-page [data-signal-scan]::after{display:none}.cp-page .timeline-item[data-motion-active]{transform:none}}
@media print{.cp-page .jpc-canvas,.cp-page .jpc-controls{display:none}.cp-page .jl-ink{opacity:1!important}}
