/* A foil-framed collectible, with all contact actions on a quiet surface. */
.nfc-page{min-height:100svh;padding:40px 22px;background:radial-gradient(ellipse at 20% 15%,var(--violet-surface),transparent 55%),radial-gradient(ellipse at 85% 85%,var(--teal-surface),transparent 55%),var(--background);color:var(--text);display:grid;align-items:center}
.nfc-shell{width:100%;max-width:820px;margin:auto}.nfc-brand{display:flex;align-items:center;justify-content:space-between;margin:0 6px 20px;color:var(--text);text-decoration:none;font:500 30px 'Pixelify Sans',sans-serif}.nfc-brand span{font:600 .75rem var(--font);letter-spacing:2px;color:var(--secondary)}
.nfc-card{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1.15fr;border:3px solid transparent;border-radius:24px;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,#ffe29a,#edb6ff,#80e6ec,#fff3bb,#cd9af5,#ffe29a) border-box;background-size:100% 100%,300% 300%;box-shadow:0 0 0 1px #f5d68066,0 0 28px #d5adf036,0 24px 70px #20134225}
.nfc-edition,.nfc-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 22px;font:600 .75rem var(--font);letter-spacing:1.3px}.nfc-edition{border-radius:20px 20px 0 0;background:var(--yellow-surface);color:var(--yellow-text);border-bottom:1px solid #e7c97555}.nfc-bottom{color:var(--secondary);border-top:1px solid var(--border);padding:13px 22px}.nfc-bottom span:last-child{color:var(--accent)}
.nfc-portrait{position:relative;overflow:hidden;margin:18px 0 18px 18px;border:1px solid #e8d09877;border-radius:13px;background:#17213b;min-height:380px;isolation:isolate}.nfc-portrait img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 35%}.nfc-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 15%,#91edee20 28%,#e6b2ff50 37%,#ffffff88 41%,#ffeab740 45%,transparent 58%);background-size:350% 100%;background-position:100% 0;mix-blend-mode:screen;opacity:.6}.nfc-badge{position:absolute;z-index:1;bottom:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;color:#fff3cb;text-shadow:0 2px 10px #000;background:#101528b8;border:1px solid #fff3cb66;border-radius:7px;padding:10px 14px;font:500 26px 'Pixelify Sans',sans-serif;backdrop-filter:blur(8px)}
.nfc-content{padding:28px;align-self:center;min-width:0}.nfc-eyebrow{font-size:.75rem;letter-spacing:2px;color:var(--accent-text);font-weight:700;margin:0 0 9px}.nfc-content h1{font:500 clamp(2rem,4.5vw,2.7rem)/1.05 'Pixelify Sans',sans-serif;margin:0;letter-spacing:-.5px}.nfc-content h1 span{color:var(--accent)}.nfc-role{font-size:.875rem;line-height:1.6;color:var(--secondary);margin:12px 0 22px}.nfc-role>span{display:inline;padding:0 3px}.nfc-save,.nfc-home{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border-radius:9px;text-decoration:none;font-weight:700;font-size:1rem}.nfc-save{background:var(--text);color:var(--surface);box-shadow:0 3px 0 var(--accent)}.nfc-save>span{font-size:23px}.nfc-help{font-size:.75rem;line-height:1.5;color:var(--secondary);margin:12px 0 16px}.nfc-home{border:1px solid var(--strong-border);color:var(--text);justify-content:space-between;padding:0 16px}.nfc-details{margin-top:18px}.nfc-details a{display:flex;align-items:center;gap:10px;min-height:66px;color:var(--text);text-decoration:none;border-top:1px solid var(--border)}.nfc-mark{display:grid;place-items:center;flex:0 0 32px;height:32px;background:var(--violet-surface);color:var(--violet-text);font:500 14px 'Pixelify Sans',sans-serif;border-radius:5px}.nfc-details a:nth-child(2) .nfc-mark{background:var(--teal-surface);color:var(--teal-text)}.nfc-details a>span:nth-child(2){flex:1;min-width:0}.nfc-details small{display:block;font-size:.75rem;color:var(--secondary);margin-bottom:3px}.nfc-details strong{font-size:.875rem;overflow-wrap:anywhere}.nfc-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 5px 0;font-size:.75rem;color:var(--secondary)}.nfc-motion{font:inherit;color:var(--secondary);background:var(--surface);border:1px solid var(--border);border-radius:20px;min-height:44px;padding:8px 14px;cursor:pointer}.nfc-motion[hidden]{display:none}.nfc-page :is(a,button):focus-visible{outline:3px solid var(--accent);outline-offset:4px}.nfc-save:hover{opacity:.9}.nfc-home:hover,.nfc-details a:hover{background:var(--subtle)}
.nfc-animated .nfc-card{animation:nfc-glow 7s ease-in-out infinite,nfc-foil 12s ease-in-out infinite}.nfc-animated .nfc-portrait::after{animation:nfc-sheen 8s ease-in-out infinite}.nfc-paused .nfc-card,.nfc-paused .nfc-portrait::after{animation-play-state:paused}
@keyframes nfc-glow{0%,100%{box-shadow:0 0 0 1px #f5d68066,0 0 25px #e7bcff33,0 24px 70px #20134225}50%{box-shadow:0 0 0 1px #f5d680aa,0 0 38px #bc8aef66,0 0 65px #63cddc22,0 24px 70px #20134225}}
@keyframes nfc-foil{0%,100%{background-position:0 0,0% 0%}50%{background-position:0 0,100% 100%}}
@keyframes nfc-sheen{0%,15%{background-position:100% 0;opacity:.3}55%{opacity:.65}85%,100%{background-position:0% 0;opacity:.3}}
@media(max-width:620px){.nfc-page{padding:24px 18px;display:block}.nfc-shell{max-width:430px}.nfc-card{grid-template-columns:1fr}.nfc-edition{padding:14px;font-size:.75rem;letter-spacing:.5px}.nfc-portrait{height:210px;min-height:0;margin:12px 12px 0}.nfc-portrait img{object-position:center 27%}.nfc-badge{font-size:22px;padding:6px 10px;left:10px;right:auto;gap:22px;bottom:10px}.nfc-content{padding:22px}.nfc-content h1{font-size:2.2rem}.nfc-role{margin:8px 0 18px}.nfc-footer{flex-wrap:wrap}.nfc-bottom{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.nfc-animated .nfc-card,.nfc-animated .nfc-portrait::after{animation:none}.nfc-motion{display:none}}
