/* PIMP: monochrome motion, a crisp supplied mark, and restrained light. */
.pimp-brand-mark{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;flex-shrink:0;background:#000;isolation:isolate}
.pimp-brand-mark>img{position:absolute;width:180%!important;height:180%!important;max-width:none;left:-40%;top:-40%;object-fit:contain;pointer-events:none}
a[aria-label="PIMP home"] .pimp-brand-mark{border-radius:9px}
a[aria-label="PIMP home"]{transition:filter .3s,transform .3s}
a[aria-label="PIMP home"]:hover{filter:drop-shadow(0 0 9px #ffffff66);transform:translateY(-1px)}
.pimp-reveal{opacity:0;translate:0 18px;transition:opacity .7s ease var(--reveal-delay,0ms),translate .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.pimp-reveal.pimp-in-view{opacity:1;translate:0 0}
main a.rounded-2xl{transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .35s,background-color .3s}
main a.rounded-2xl:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0005,0 0 0 1px #ffffff0b;border-color:#ffffff40}
main a.rounded-2xl img{transition:scale .6s cubic-bezier(.16,1,.3,1)}
main a.rounded-2xl:hover img{scale:1.045}
nav a{transition:background .25s,color .25s,transform .3s!important}
nav a:hover{transform:translateY(-2px)}
button{transition:background-color .25s,color .25s,box-shadow .25s,transform .2s}
button:active:not(:disabled){transform:scale(.98)}
input,textarea{transition:border-color .25s,box-shadow .25s}
input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #ffffff10}
.chrome-text{background-size:100% 200%;animation:pimp-chrome 7s ease-in-out infinite}
@keyframes pimp-chrome{0%,100%{background-position:50% 0%}50%{background-position:50% 100%}}
.clone-modal[open]{animation:pimp-dialog .25s cubic-bezier(.16,1,.3,1)}
@keyframes pimp-dialog{from{opacity:0;translate:0 12px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
.pimp-hero:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--light-x,30%) var(--light-y,20%),#ffffff08,transparent 75%)}
.pimp-doc-lead{font-size:24px!important;letter-spacing:-.03em;color:#e7e7e7!important;margin:-10px 0 40px}
.pimp-replay{display:block;font-size:12px;letter-spacing:.06em;color:#888;padding:6px 0;text-underline-offset:5px}
.pimp-replay:hover{color:white;text-decoration:underline}
.pimp-replay:disabled{display:none}
html.pimp-intro-active{overflow:hidden}
.pimp-intro{position:fixed;inset:0;z-index:1000;background:#030303;color:white;display:grid;place-items:center;overflow:hidden;transition:opacity .45s ease,visibility .45s;isolation:isolate}
.pimp-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,#ffffff07,transparent 55%);pointer-events:none}
.pimp-intro-top{position:absolute;top:32px;left:38px;right:38px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.23em;color:#777}
.pimp-intro-top span:first-child{font-weight:700;color:white;font-size:14px;letter-spacing:.18em}
.pimp-intro-stage{position:absolute;top:8%;bottom:25%;left:0;right:0;display:grid;place-items:center}
.pimp-intro-canvas{position:absolute;width:min(700px,100vw);height:100%;left:50%;transform:translateX(-50%)}
.pimp-intro-canvas canvas{display:block;width:100%;height:100%}
.pimp-intro-fallback{width:min(390px,75vw);mix-blend-mode:screen;animation:pimp-logo-arrive 1.3s cubic-bezier(.16,1,.3,1) both}
.pimp-webgl-ready .pimp-intro-fallback{opacity:0;animation:none}
@keyframes pimp-logo-arrive{from{opacity:0;transform:scale(.88);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
.pimp-intro-wordmark{position:absolute;bottom:17%;left:0;right:0;text-align:center;font-size:clamp(42px,6vw,80px);font-weight:600;letter-spacing:.19em;padding-left:.19em;line-height:1.1;animation:pimp-wordmark 1s .45s both}
.pimp-intro-wordmark>span{display:block;font-size:10px;letter-spacing:.29em;font-weight:400;color:#888;margin-top:20px}
@keyframes pimp-wordmark{from{opacity:0;transform:translateY(15px);letter-spacing:.4em}to{opacity:1;transform:translateY(0);letter-spacing:.19em}}
.pimp-intro-skip{position:absolute;bottom:32px;right:38px;display:flex;gap:24px;align-items:center;color:#a0a0a0;font-size:12px;border:1px solid #292929;border-radius:999px;padding:11px 17px;background:#0b0b0b}
.pimp-intro-skip:hover{border-color:#777;color:white}
.pimp-intro-skip:focus-visible{outline:2px solid white;outline-offset:5px}
.pimp-intro-progress{position:absolute;left:0;bottom:0;height:1px;background:#ddd;width:100%;transform-origin:left;animation:pimp-progress 3.6s linear both}
@keyframes pimp-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.pimp-intro-leave{opacity:0;pointer-events:none;visibility:hidden}
@media(max-width:640px){.pimp-intro-top{top:24px;left:24px;right:24px}.pimp-intro-stage{top:16%;bottom:30%}.pimp-intro-wordmark{bottom:24%}.pimp-intro-skip{bottom:30px;right:24px}.pimp-intro-top{font-size:9px}.pimp-doc-lead{font-size:21px!important}}
@media(prefers-reduced-motion:reduce){.pimp-reveal{opacity:1!important;translate:none!important}.pimp-intro{display:none!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shared surface polish: short, interaction-driven motion with no layout shift. */
.pimp-button { position:relative; overflow:hidden; isolation:isolate; transition:background .25s,border-color .25s,box-shadow .3s,transform .2s; }
.pimp-button:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 25%,#ffffff20 50%,transparent 75%); transform:translateX(-140%); transition:transform .6s; }
.pimp-button:hover:after,.pimp-button:focus-visible:after { transform:translateX(140%); }
.pimp-button.primary:hover { box-shadow:0 4px 22px #ffffff12; }
.pimp-button:active { transform:scale(.98); }
.pimp-portrait-link img { transition:scale .65s cubic-bezier(.16,1,.3,1),filter .4s; }
.pimp-creator-card:hover .pimp-portrait-link img { scale:1.035; filter:brightness(1.07); }
.pimp-match:not(:empty),.clone-notice { animation:pimp-feedback-in .25s ease-out; }
.pimp-doc-toc a { transition:color .2s,background .2s; border-radius:5px; }
.pimp-doc-toc a:hover { background:#ffffff06; }
.clone-modal::backdrop { background:#000a; backdrop-filter:blur(5px); }
@keyframes pimp-feedback-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
