[hidden]{display:none!important}.nfc-intro{width:100%;max-width:430px;min-height:100svh;display:flex;flex-direction:column;padding:0 24px 24px;color:#30372f;background:#ebe6dc;overflow:hidden}.intro-top{height:65px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #30372f22;font:9px monospace;letter-spacing:1.2px;flex-shrink:0}.intro-top>span:first-child{font-weight:600}.intro-top>span:last-child{color:#8d9585}.intro-event{text-align:center;margin:36px auto 0;max-width:100%}.intro-event>p{font:8px monospace;letter-spacing:1.7px;color:#8c9382;margin:0 0 12px}.intro-event h1{font-size:15px;font-weight:500;line-height:1.7;letter-spacing:.05em;margin:0;max-width:310px;overflow-wrap:anywhere}.intro-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:30px 0 22px}.intro-spinner{position:relative;display:block;width:min(100%,350px);aspect-ratio:1;border:0;padding:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.spinner-hover{display:block;position:absolute;inset:0;transition:transform .45s cubic-bezier(.2,.75,.25,1)}.intro-core,.intro-orbit{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.intro-core{transition:transform .45s cubic-bezier(.2,.75,.25,1)}.intro-orbit{animation:orbit-text 30s linear infinite;transform-origin:50% 50%;will-change:transform;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}.intro-core-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:4px;align-items:center;pointer-events:none;font-size:24px;font-weight:500;letter-spacing:.15em;white-space:nowrap}.intro-arrow{font-size:24px;font-weight:400;margin-top:10px;letter-spacing:0}.intro-recipient{font-size:11px;line-height:1.7;letter-spacing:.05em;color:#7b8372;margin:10px 0 0;text-align:center;max-width:100%;overflow-wrap:anywhere}.intro-enter{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:18px 0;border:0;border-top:1px solid #30372f25;background:none;color:#4b5943;font-size:12px;cursor:pointer;text-align:left}.intro-enter span{font-size:19px}.intro-edition{font:8px monospace;letter-spacing:1.5px;color:#9a9f90;text-align:center;margin:22px 0 0}.intro-spinner:focus-visible,.intro-enter:focus-visible{outline:2px solid #718263;outline-offset:4px}@media(hover:hover){.intro-spinner:hover .spinner-hover{transform:scale(1.035)}.intro-spinner:hover .intro-core{transform:rotate(5deg) scale(1.025)}}.intro-spinner:active .intro-core{transform:scale(.97)}@keyframes orbit-text{to{transform:rotate(360deg)}}@media(max-width:360px){.nfc-intro{padding-left:20px;padding-right:20px}.intro-event{margin-top:26px}.intro-center{padding:20px 0;min-height:330px}.intro-core-label{font-size:21px}}@media(prefers-reduced-motion:reduce){.intro-orbit{animation:none}.intro-core,.spinner-hover{transition:none}}

/* Dark opening screen: white orbit type and a lit, iridescent sculptural center. */
body.intro-open{background:#080808}.nfc-intro{background:#080808;color:#f4f4f0}.intro-top{border-color:#ffffff1b}.intro-top>span:last-child{color:#70706e}.intro-event>p{color:#70706e}.intro-event h1{font-size:14px;color:#c8c8c2;line-height:1.8;font-weight:400;letter-spacing:.04em}.intro-center{padding-top:24px;padding-bottom:28px;min-height:360px}.intro-spinner{width:min(100%,370px,44svh)}.intro-core{filter:drop-shadow(0 16px 20px #0009)}.intro-orbit{animation-duration:34s;font-weight:400}.intro-recipient{color:#8f8f8b;font-size:11px;letter-spacing:.04em;margin-top:20px}.intro-enter{color:#d7d7d2;border-color:#ffffff24;font-size:11px}.intro-enter svg{width:18px;height:18px}.intro-edition{color:#585855;font-size:8px}.intro-spinner:focus-visible,.intro-enter:focus-visible{outline-color:#d3c9e6}@media(max-width:360px){.intro-event{margin-top:24px}.intro-event h1{font-size:13px}.intro-center{min-height:330px}}@media(max-height:650px){.intro-event{margin-top:20px}.intro-center{min-height:290px;padding:10px 0}.intro-edition{margin-top:12px}}

/* 14.5 × 2.5: a continuous type ribbon keeps enlarged phrases from colliding. */
.intro-orbit{animation:none;will-change:auto}.intro-orbit text{font-size:36.25px}

/* Two full tracks keep every supplied phrase visible at 2× the original size. */
.intro-orbit{animation:orbit-text 34s linear infinite;will-change:transform;opacity:0}.intro-orbit[data-ready="true"]{opacity:1}.intro-orbit text{font-size:29px}@media(prefers-reduced-motion:reduce){.intro-orbit{animation:none}}

/* English ring, 14.5 × 1.5; use a single track whenever the full copy fits. */
.intro-orbit text{font-size:21.75px}

/* Reference-like unpunctuated ring: regular sans-serif, clean word gaps. */
.intro-orbit{font-family:Arial,Helvetica,sans-serif}.intro-orbit text{font-size:20.5px;font-weight:400}.sculpture-hit{position:absolute;left:26%;top:26%;width:48%;height:48%;border-radius:43% 48% 45% 47% / 42% 47% 48% 50%;cursor:pointer}.intro-core{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50% 50%;transition:transform .28s ease-out;filter:drop-shadow(0 15px 12px #000b)}.sculpture-cursor{position:fixed;left:0;top:0;width:58px;height:76px;z-index:10000;pointer-events:none;will-change:transform;transform-origin:12px 7px}.sculpture-cursor img{display:block;width:58px;height:76px;transform:rotate(-5deg);transform-origin:12px 7px}.intro-spinner.sculpture-hover .intro-core{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.045)}@media(hover:hover){.intro-spinner:hover .spinner-hover{transform:none}.intro-spinner:hover .intro-core{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.intro-spinner.sculpture-hover .intro-core{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.045)}}@media(hover:hover) and (pointer:fine){.sculpture-hit{cursor:none}}@media(hover:none),(pointer:coarse){.sculpture-cursor{display:none!important}.intro-spinner:active .intro-core{transform:scale(.97)}}@media(prefers-reduced-motion:reduce){.intro-core{transition:none!important}.intro-spinner.sculpture-hover .intro-core{transform:none}}

.sculpture-cursor,.sculpture-cursor img{width:44px;height:58px;transform-origin:9px 5px}
