@property --pt-progress{syntax:"<number>";inherits:true;initial-value:0}.pt-layer{display:none;position:fixed;inset:0;z-index:10010;pointer-events:none}html[data-pt=cover] .pt-layer,html[data-pt=held] .pt-layer,html[data-pt=out] .pt-layer{display:block}.pt-layer .pt-panel{position:absolute;inset:0;display:flex;align-items:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 44%,transparent),transparent 360px),var(--paper);transform:translateY(101%);will-change:transform}html[data-pt=cover] .pt-panel,html[data-pt=held] .pt-panel{transform:translateY(0)}html[data-pt=cover] .pt-panel{animation:pt-cover .34s cubic-bezier(.22,.61,.36,1) both}html[data-pt=out] .pt-panel{transform:translateY(-101%);transition:transform .52s cubic-bezier(.76,0,.24,1)}.pt-layer .pt-panel:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}.pt-panel-inner{width:100%;max-width:var(--page-max-width);margin:0 auto;padding:0 clamp(20px,5vw,48px) clamp(32px,8vh,72px);display:flex;flex-direction:column;gap:14px}.pt-status{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.pt-mark{width:8px;height:8px;background:var(--accent-warm);flex:none}.pt-status-text:after{content:"…";animation:pt-pulse 1.4s ease-in-out infinite}.pt-track{position:relative;height:1px;width:min(320px,100%);background:var(--line);overflow:hidden}.pt-track-fill{position:absolute;inset:0;width:40%;animation:pt-sweep 1.15s cubic-bezier(.4,0,.2,1) infinite}.pt-bar,.pt-track-fill{background:var(--accent)}.pt-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:10020;transform:scaleX(var(--pt-progress,0));transform-origin:0 50%;opacity:0;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .2s linear;pointer-events:none}html[data-pt-bar] .pt-bar{opacity:1}@keyframes pt-cover{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes pt-sweep{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@keyframes pt-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){html[data-pt] .pt-layer{display:none!important}.pt-bar{transition:none}.pt-status-text:after,.pt-track-fill{animation:none}}@media print{.pt-bar,.pt-layer{display:none!important}}