@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:#292b27;background:#f5f5f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #718c32;outline-offset:7px}header{height:118px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd8}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:600;font-size:16px}.mark{background:#2c2e27;color:#dbf998;width:42px;height:42px;border-radius:12px;font:bold 34px 'Space Grotesk',sans-serif;text-align:center;line-height:38px}.brand small{display:block;font-size:10px;letter-spacing:1.6px;margin-top:5px}.edition{font-size:13px;display:flex;gap:24px}.edition span{color:#7e8078;font-size:12px}main{position:relative;min-height:calc(100svh - 118px);padding:0 5% 130px;display:grid;grid-template-columns:0.85fr 1.15fr;align-items:center;gap:5%}.intro{padding-bottom:55px}.eyebrow{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:2px;color:#777b6f}h1{font-weight:500;font-size:clamp(32px,3.8vw,57px);letter-spacing:-2px;line-height:1.48;margin:24px 0 20px}h1>span{color:#819c47}.intro p{font-size:15px;color:#7c7f73}.stage{position:relative;align-self:start;padding-top:30px;min-width:0}.stage-top{display:flex;justify-content:space-between;color:#85887f;font-size:12px}.mini-label{font-family:'Space Grotesk';letter-spacing:1px}.pack-scene{height:485px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px}.orbit-label{position:absolute;right:10px;top:63px;font:10px 'Space Grotesk';letter-spacing:1.5px;transform:rotate(10deg);color:#878b7d}.pack{position:relative;display:block;width:268px;height:364px;border:0;padding:0;transform:rotate(-9deg);color:#303529;background:linear-gradient(103deg,#a5b77f 0%,#d4e3b0 6%,#eff4d8 18%,#d9e7b7 43%,#bfd294 78%,#e4edc8 96%,#9eb679);box-shadow:inset 2px 0 4px #fff8,inset -3px 0 8px #71814e66,9px 20px 26px #353d2924;transition:transform .35s,opacity .5s;touch-action:none;text-align:left}.pack:hover{transform:rotate(-5deg) translateY(-8px)}.seam{height:17px;display:block;width:100%;background:repeating-linear-gradient(90deg,#778d5745 0 1px,#e8efc280 1px 4px);border-block:1px solid #91a96b55}.tear{display:flex;justify-content:space-between;align-items:center;height:31px;padding:0 15px;border-bottom:1px dashed #67784988;font-size:8px;letter-spacing:1.7px;transform-origin:left;transition:transform .6s,opacity .5s}.pack-main{display:block;padding:21px 22px 0}.pack-kicker{display:block;font-size:9px;line-height:1.8;letter-spacing:1px}.pack-title{position:relative;display:block;font:600 39px/.98 'Space Grotesk',sans-serif;letter-spacing:-2.5px;margin:23px 0 20px}.asterisk{position:absolute;right:2px;top:-22px;font-size:76px;font-weight:400;color:#456132;transform:rotate(13deg)}.pack-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.6}.seal{font:7px/1.4 'Space Grotesk';letter-spacing:1px;border:1px solid #596747;border-radius:50%;width:53px;height:53px;display:grid;place-content:center;text-align:center;transform:rotate(13deg)}.pack-footer{display:flex;justify-content:space-between;font:7px 'Space Grotesk';letter-spacing:.8px;border-top:1px solid #73875266;margin-top:20px;padding:11px 0}.bottom-seam{position:absolute;bottom:0}.pack-shadow{position:absolute;bottom:21px;width:235px;height:19px;border-radius:50%;background:#5b645332;filter:blur(13px);z-index:-1}.stage-caption{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:#737969}.gesture{font-size:22px}.corner{position:absolute;bottom:39px;left:5%;display:flex;flex-direction:column;gap:8px;font-size:12px;color:#85897d}.corner span:last-child{font:9px 'Space Grotesk';letter-spacing:1.5px}.dock{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:11px;padding:10px 12px 16px;border-radius:23px;border:1px solid #fff;background:#e5e6e0a6;box-shadow:0 9px 24px #333a2917,inset 0 0 0 1px #bbbfbf33;backdrop-filter:blur(24px);z-index:10}.dock-item{border:0;background:none;padding:0;position:relative;transition:transform .22s;transform-origin:center bottom}.dock-item:hover{transform:translateY(-10px) scale(1.18)}.dock-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:13px;box-shadow:inset 0 1px 1px #ffffff90,0 3px 5px #242c2e25;font:32px 'Space Grotesk';color:#fff}.green{background:linear-gradient(#d0ed95,#94b762);color:#394e21;font-size:42px}.blue{background:linear-gradient(#a2c8e8,#6596c5)}.orange{background:linear-gradient(#f3b085,#cf805b);font-weight:600}.dock-divider{height:39px;width:1px;background:#bec1b7;margin:0 2px}.dock-item i{position:absolute;width:4px;height:4px;border-radius:50%;background:#555d48;bottom:-10px;left:calc(50% - 2px);opacity:0}.dock-item.active i{opacity:1}.tooltip{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#333c;backdrop-filter:blur(8px);color:#fff;border-radius:6px;padding:5px 9px;font-size:12px;opacity:0;pointer-events:none}.dock-item:hover .tooltip,.dock-item:focus-visible .tooltip{opacity:1}.opening .tear{transform:translate(45px,-70px) rotate(25deg);opacity:0}.opening{transform:rotate(3deg) translateY(30px)!important;opacity:0}.cards{min-height:485px;display:flex;align-items:center;justify-content:center;gap:12px;perspective:1000px}.cards[hidden],[hidden]{display:none!important}.card{position:relative;width:31%;aspect-ratio:0.65;border:6px solid white;border-radius:12px;box-shadow:0 12px 28px #26322920;background:#fff;transform:rotate(var(--rotation));animation:arrive .65s both;animation-delay:var(--delay);padding:0;text-align:left;transition:transform .25s}.card:hover,.card:focus-visible{transform:translateY(-18px) rotate(0) scale(1.07);z-index:2}.card-art{display:block;height:calc(100% - 52px);border-radius:6px;background:var(--art);overflow:hidden;position:relative}.card-art img{width:100%;height:100%;object-fit:cover}.card-number{position:absolute;top:12px;left:12px;color:#fff;font:12px 'Space Grotesk'}.card-name{display:block;padding:10px 4px 0;font-size:12px}.card-name small{display:block;font:8px 'Space Grotesk';letter-spacing:1px;margin-top:4px;color:#90948a}.again{display:block;margin:0 auto;border:1px solid #d8ddcf;border-radius:50px;background:#edf0e6;padding:11px 21px;font-size:14px;color:#47503c}.again span{margin-left:20px}.empty{font-size:16px;color:#7b8172;line-height:1.8;text-align:center}.cards.collection{flex-wrap:wrap;gap:20px;padding:35px 0}.collection .card{width:28%;min-width:100px;max-width:160px}dialog{max-width:420px;width:calc(100% - 40px);border:1px solid #fff;border-radius:20px;padding:40px;background:#f5f5f2;color:#34382d;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#28311d45;backdrop-filter:blur(8px)}dialog p{font-size:16px;line-height:1.8;color:#747a6a}dialog h2{font-size:24px;font-weight:500}#closeAbout{position:absolute;top:12px;right:15px;border:none;background:none;font-size:24px;color:#737969}@keyframes arrive{from{opacity:0;translate:0 65px;rotate:8deg}to{opacity:1;translate:0 0;rotate:0deg}}@media(min-width:1500px){main{max-width:1450px;margin:auto}.pack-scene,.cards{height:560px}.pack{scale:1.13}}@media(max-width:760px){header{height:85px}.edition{font-size:12px}.edition span{display:none}main{display:flex;flex-direction:column;gap:10px;padding-bottom:135px;min-height:calc(100svh - 85px)}.intro{padding:30px 0 0;align-self:flex-start}h1{font-size:32px;line-height:1.4;margin:12px 0;letter-spacing:-1px}.intro h1 br{display:none}.eyebrow{font-size:10px}.intro p{font-size:14px;margin:8px 0}.stage{width:100%;padding-top:20px}.pack-scene{height:420px}.pack{width:250px;height:349px}.pack-title{font-size:36px}.orbit-label{right:0;top:31px;font-size:8px}.corner{display:none}.cards{min-height:400px;gap:8px}.card{border-width:4px;border-radius:9px}.card-name{font-size:12px;padding:8px 2px}.card-art{height:calc(100% - 45px)}.stage-caption{font-size:12px}.dock{bottom:18px}.collection .card{width:29%;min-width:85px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Supplied Dock icons retain their original artwork in both states. */
.dock-art{position:relative;display:block;width:50px;height:50px}.dock-art img{position:absolute;inset:0;display:block;width:100%;height:100%;transition:opacity .18s}.dock-art .icon-on{opacity:0}.dock-item.active .icon-on{opacity:1}.dock-item.active .icon-off{opacity:0}@media(max-width:380px){.dock{gap:7px;padding-inline:9px}.dock-art{width:44px;height:44px}}

/* Pointer-distance dock magnification adapted from the supplied Dock component. */
.dock{overflow:visible}
.dock-item{--dock-scale:1;--dock-lift:0px;z-index:1;transform:translateY(var(--dock-lift)) scale(var(--dock-scale));transform-origin:center bottom;transition:none;will-change:transform}
.dock-item:hover{z-index:3;transform:translateY(var(--dock-lift)) scale(var(--dock-scale))}
.dock-item:hover .icon-on,.dock-item:focus-visible .icon-on{opacity:1}
.dock-item:hover .icon-off,.dock-item:focus-visible .icon-off{opacity:0}
.tooltip{bottom:calc(100% + 6px);padding:3px 5px;border-radius:4px;font-size:6px;transform:translate(-50%,2px);transition:opacity .2s ease,transform .2s ease}
.dock-item:hover .tooltip,.dock-item:focus-visible .tooltip{transform:translate(-50%,-3px)}
@media(hover:none),(pointer:coarse){.dock-item{transform:none}.dock-item:hover{transform:none}}

/* Two image-only collectible packs. */
main{grid-template-columns:.65fr 1.35fr;gap:3%}.stage{padding-right:95px}.two-packs{gap:34px;height:485px}.pack-choice{width:43%;max-width:235px;display:flex;flex-direction:column;align-items:center;gap:35px;min-width:0}.two-packs .pack{width:100%;height:auto;aspect-ratio: .68;transform:rotate(-7deg);border-radius:2px}.two-packs .orange-pack{transform:rotate(7deg)}.two-packs .pack:hover{transform:rotate(0) translateY(-10px)}.blue-pack{background:linear-gradient(112deg,#168bd2 0%,#67d7ea 24%,#8be5d0 48%,#35c5a4 74%,#0c9ba1 100%)}.orange-pack{background:linear-gradient(112deg,#f57b31 0%,#ffa83f 25%,#ffd45b 52%,#ffe88b 76%,#f6b72b 100%)}.two-packs .seam{background:repeating-linear-gradient(90deg,#65798a20 0 1px,#ffffff50 1px 4px);border-color:#72808a30;height:15px}.two-packs .tear{position:absolute;top:15px;height:28px;width:100%;padding:0;border-bottom:2px dashed #62778080}.cover-art{position:absolute;width:100%;height:calc(100% - 74px);top:49px;left:0;object-fit:contain;pointer-events:none;user-select:none}.pack-label{font-size:12px;color:#85887f;letter-spacing:1px}.catalog-button{position:absolute;right:0;top:215px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff9;border:1px solid #dfe3de;border-radius:16px;padding:15px 10px;color:#4f5c5f;box-shadow:0 5px 15px #33333308}.catalog-button>span:first-child{font-size:28px;line-height:1}.catalog-button>span:last-child{font-size:12px}.catalog-button small{display:block;font-size:10px;color:#8b928c;margin-top:7px}.catalog-button b{font-weight:500}.catalog-button:hover{background:white;transform:translateY(-3px)}.catalog-dialog{max-width:820px;max-height:80svh;overflow:auto;padding:35px}.catalog-dialog h2{margin-bottom:8px}.catalog-dialog>p{font-size:13px;margin-top:0}.catalog-dialog .cards{min-height:150px}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;color:#737969}.catalog-dialog .card{flex:none;width:28%;max-width:185px}.catalog-dialog .empty{padding:30px 0}.two-packs .opening{transform:translateY(28px) rotate(0deg)!important}.two-packs:has(.opening) .pack:not(.opening){opacity:.3;transform:scale(.95)}
@media(min-width:1500px){.two-packs .pack{scale:1}.two-packs{height:560px}.pack-choice{max-width:265px}}
@media(max-width:1000px) and (min-width:761px){h1{font-size:34px}.two-packs{gap:20px}.stage{padding-right:76px}.catalog-button{padding:12px 7px}}
@media(max-width:760px){.stage{padding-right:0;padding-top:20px}.two-packs{height:380px;gap:25px;padding-right:0}.pack-choice{width:40%;max-width:200px;gap:24px}.catalog-button{position:relative;top:auto;right:auto;margin:0 0 15px auto;flex-direction:row;padding:10px 13px;gap:10px}.catalog-button>span:last-child{display:flex;align-items:center;gap:9px}.catalog-button small{margin:0}.stage-caption{font-size:12px}.catalog-dialog{padding:28px 20px}.catalog-dialog .cards{gap:15px}.catalog-dialog .card{width:43%;min-width:0}.cards{min-height:330px}}@media(max-width:380px){.two-packs{height:315px;gap:18px}.stage-caption{font-size:11px}.pack-label{font-size:11px}}

/* One selected pack with a compact switch control above it. */
.single-pack{height:485px;justify-content:center}
.single-pack .pack-choice{position:relative;width:268px;max-width:none;gap:27px}
.single-pack .pack{width:268px;height:394px;aspect-ratio:auto;transform:rotate(-6deg);border-radius:2px}
.single-pack .pack:hover{transform:rotate(-2deg) translateY(-8px)}
.single-pack .orange-pack{transform:rotate(6deg)}
.single-pack .orange-pack:hover{transform:rotate(2deg) translateY(-8px)}
.single-pack .cover-art{top:38px;height:calc(100% - 60px);padding:4px 7px 8px}
.pack-edge{position:absolute;left:0;width:100%;display:block;background:repeating-linear-gradient(90deg,#65798a20 0 1px,#ffffff55 1px 4px);border-color:#72808a30;z-index:2}
.top-edge{top:0;height:38px;border-top:1px solid #ffffff80;border-bottom:1px solid #7d8c9140}
.bottom-edge{bottom:0;height:22px;border-top:1px solid #7d8c9140;border-bottom:1px solid #ffffff80}
.pack-switcher{position:absolute;z-index:4;top:-47px;right:-18px;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #d8ddd6;border-radius:999px;background:#ffffffc9;color:#616a60;font-size:12px;box-shadow:0 6px 18px #3f493514;backdrop-filter:blur(12px);transition:transform .2s,background .2s}
.pack-switcher b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ebeee7;font-size:15px;font-weight:500;transition:transform .35s}
.pack-switcher:hover{background:#fff;transform:translateY(-2px)}
.pack-switcher:hover b{transform:rotate(180deg)}
.single-pack.switching .pack{animation:packSwitch .26s ease both}
.single-pack .opening{transform:translateY(28px) rotate(0)!important}
@keyframes packSwitch{0%{opacity:1;scale:1}50%{opacity:.25;scale:.95}100%{opacity:1;scale:1}}
@media(min-width:1500px){.single-pack{height:560px}.single-pack .pack{scale:1.08}.single-pack .pack-switcher{right:-28px}}
@media(max-width:760px){.single-pack{height:400px}.single-pack .pack-choice{width:225px}.single-pack .pack{width:225px;height:330px}.single-pack .pack-switcher{top:-43px;right:-25px}.single-pack .cover-art{top:36px;height:calc(100% - 57px)}}
@media(max-width:380px){.single-pack{height:345px}.single-pack .pack-choice{width:200px}.single-pack .pack{width:200px;height:294px}.single-pack .pack-switcher{right:-35px}}

/* Minimal centered home surface. */
body{min-height:100svh;overflow-x:hidden}
.click-spark-canvas{position:fixed;z-index:10000;inset:0;width:100vw;height:100svh;display:block;pointer-events:none;mix-blend-mode:difference}
.triple-hidden-confetti{position:fixed;z-index:9999;inset:0;width:100vw;height:100svh;display:block;pointer-events:none}
.triple-hidden-confetti i{position:absolute;display:block;opacity:0;border-radius:2px;box-shadow:0 1px 2px #0002;animation:tripleHiddenConfetti var(--confetti-duration) cubic-bezier(.16,.72,.28,1) var(--confetti-delay) both;will-change:transform,opacity}
.triple-hidden-confetti .confetti-dot{border-radius:50%}
@keyframes tripleHiddenConfetti{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(0)}5%{opacity:1}38%{opacity:1;transform:translate(calc(-50% + var(--confetti-mid-x)),calc(-50% - var(--confetti-rise))) scale(1) rotate(var(--confetti-mid-spin))}82%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--confetti-end-x)),calc(-50% + var(--confetti-fall))) scale(.9) rotate(var(--confetti-spin))}}
main{min-height:100svh;display:grid;grid-template-columns:1fr;place-items:center;padding:28px 24px 132px}
.stage{align-self:auto;width:min(100%,720px);padding:0;display:flex;flex-direction:column;align-items:center}
.single-pack{width:100%;height:auto;min-height:394px}
.single-pack .pack-choice{gap:0}
.pack-actions{display:flex;align-items:stretch;justify-content:center;gap:12px;margin-top:30px}
.pack-actions .pack-switcher,.pack-actions .again,.pack-actions .catalog-button{position:static;inset:auto;min-height:54px;margin:0;display:flex;align-items:center;flex-direction:row;border:1px solid #d8ddd6;border-radius:16px;background:#ffffffc9;color:#616a60;box-shadow:0 6px 18px #3f493514;backdrop-filter:blur(12px);transition:transform .2s,background .2s}
.pack-actions .pack-switcher{padding:8px 15px;font-size:13px}
.pack-actions .pack-switcher b{order:0}
.pack-actions .again{gap:8px;padding:8px 15px;font-size:13px}
.pack-actions .again b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ebeee7;font-size:16px;font-weight:500}
.pack-actions .catalog-button{padding:8px 14px;gap:10px}
.pack-actions .catalog-button>span:first-child{font-size:23px}
.pack-actions .catalog-button>span:last-child{font-size:13px;text-align:left}
.pack-actions .catalog-button small{margin-top:2px}
.pack-actions .pack-switcher:hover,.pack-actions .again:hover,.pack-actions .catalog-button:hover{background:#fff;transform:translateY(-3px)}
.cards{width:100%;min-height:394px}
@media(max-width:760px){main{display:grid;min-height:100svh;padding:24px 18px 120px}.stage{width:100%;padding:0}.single-pack{height:auto;min-height:330px}.pack-actions{margin-top:24px}.pack-actions .pack-switcher,.pack-actions .again,.pack-actions .catalog-button{min-height:50px}.cards{min-height:330px}}
@media(max-width:380px){.single-pack{height:auto;min-height:294px}.pack-actions{gap:8px}.pack-actions .pack-switcher,.pack-actions .again{padding:7px 9px;font-size:12px}.pack-actions .catalog-button{padding:7px 9px}.pack-actions .catalog-button>span:first-child{font-size:20px}.pack-actions .catalog-button>span:last-child{font-size:12px}.pack-actions .catalog-button small{display:none}.cards{min-height:294px}}

/* Pointer-reactive layered holographic foil, adapted to the vertical pack. */
.single-pack .pack{--pack-rz:-6deg;--holo-rx:0deg;--holo-ry:0deg;--foil-x:50%;--foil-y:50%;--glare-x:50%;--glare-y:50%;--foil-o:.3;--foil-o2:.24;--line-o:.16;--glitter-o:.22;--glare-o:.25;--shadow-x:9px;--shadow-y:20px;overflow:hidden;isolation:isolate;transform-style:preserve-3d;will-change:transform;transform:perspective(900px) rotateX(var(--holo-rx)) rotateY(var(--holo-ry)) rotateZ(var(--pack-rz));box-shadow:inset 2px 0 4px #fff8,inset -3px 0 8px #71814e66,var(--shadow-x) var(--shadow-y) 28px #353d2930;transition:transform .14s ease-out,opacity .5s,box-shadow .2s}
.single-pack .orange-pack{--pack-rz:6deg}
.single-pack .pack:hover{transform:perspective(900px) rotateX(var(--holo-rx)) rotateY(var(--holo-ry)) rotateZ(var(--pack-rz)) translateY(-7px)}
.single-pack .pack::after{display:none}
.single-pack .cover-art{z-index:0}
.single-pack .pack-edge{z-index:6}
.holo-layer{position:absolute;inset:-10%;z-index:2;display:block;pointer-events:none;border-radius:inherit;transform:translateZ(1px)}
.holo-spectrum{background:repeating-linear-gradient(10deg,hsl(2 100% 73%) 0%,hsl(53 100% 69%) 8%,hsl(93 100% 69%) 16%,hsl(176 100% 76%) 24%,hsl(228 100% 74%) 32%,hsl(283 100% 73%) 40%,hsl(2 100% 73%) 48%);background-size:380% 380%;background-position:var(--foil-x) var(--foil-y);mix-blend-mode:color-dodge;filter:brightness(.9) contrast(1.65) saturate(1.45);opacity:var(--foil-o)}
.holo-prism{background:repeating-linear-gradient(104deg,transparent 0%,#8df4ff80 7%,#bd8cff75 13%,#ff8fcc70 19%,#fff18475 26%,#8effc47a 33%,transparent 40%);background-size:300% 300%;background-position:calc(100% - var(--foil-x)) calc(100% - var(--foil-y));mix-blend-mode:screen;filter:contrast(1.45) saturate(1.5);opacity:var(--foil-o2)}
.holo-lines{background:repeating-linear-gradient(96deg,rgba(255,255,255,.5) 0 1px,transparent 1px 3px,rgba(25,38,48,.16) 3px 4px,transparent 4px 7px);background-position:var(--foil-x) 50%;mix-blend-mode:overlay;opacity:var(--line-o)}
.holo-glitter{background:radial-gradient(circle at 18% 22%,#fff 0 1px,transparent 2px),radial-gradient(circle at 73% 18%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 38% 68%,#fff 0 1px,transparent 2px),radial-gradient(circle at 86% 76%,#fff 0 1.3px,transparent 2.3px);background-size:53px 61px,71px 67px,47px 59px,83px 73px;background-position:var(--foil-x) var(--foil-y);mix-blend-mode:color-dodge;filter:brightness(1.25);opacity:var(--glitter-o)}
.holo-glare{z-index:4;background:radial-gradient(circle at var(--glare-x) var(--glare-y),rgba(255,255,255,.9) 0%,rgba(235,249,255,.42) 16%,rgba(255,255,255,0) 43%);mix-blend-mode:screen;opacity:var(--glare-o)}
@media(prefers-reduced-motion:reduce){.single-pack .pack{--holo-rx:0deg!important;--holo-ry:0deg!important;transition:none}.holo-spectrum,.holo-prism,.holo-lines,.holo-glitter,.holo-glare{background-position:50% 50%!important}}

/* UI portfolio gallery and full-screen project viewer. */
.ui-mode main{display:block;min-height:100svh;padding:28px max(24px,4vw) 140px}
.ui-gallery{width:min(1180px,100%);margin:0 auto}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.work-card{display:block;min-width:0;padding:22px;border:1px solid #d9dad7;border-radius:24px;background:#f8f8f6;color:#252724;text-align:left;box-shadow:0 10px 35px #30352c08;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.work-card:hover{transform:translateY(-6px);border-color:#c8cac5;box-shadow:0 18px 42px #30352c12}
.work-card:focus-visible{outline-offset:4px}
.work-cover{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1.12;border-radius:16px;overflow:hidden;background:#d4d5d2;color:#b7b8b5}
.work-cover::before,.work-cover::after{content:"";position:absolute;border:1px solid #ffffff38;border-radius:999px}
.work-cover::before{width:48%;aspect-ratio:1;left:9%;top:12%}
.work-cover::after{width:36%;aspect-ratio:1;right:8%;bottom:10%}
.work-cover span{font:500 clamp(48px,7vw,92px)/1 'Space Grotesk',sans-serif;letter-spacing:-6px;opacity:.72}
.work-cover.has-image{background:#e8e8e5}
.work-cover.has-image::before,.work-cover.has-image::after{display:none}
.work-cover.has-image img{display:block;width:100%;height:100%;object-fit:cover}
.placeholder-two{background:#c8cac8;color:#aaadaa}
.placeholder-three{background:#dddedb;color:#bfc0bd}
.placeholder-four{background:#ced0ce;color:#b0b3b0}
.work-card strong{display:block;margin:24px 0 10px;font-size:22px;line-height:1.25}
.work-description{display:block;color:#747773;font-size:16px}
.work-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.work-tags i{padding:7px 16px;border:1px solid #d4d5d2;border-radius:9px;background:#f1f1ef;color:#6f726e;font-size:13px;font-style:normal;line-height:1}
.coming-soon{margin:58px 0 0;text-align:center;color:#969994;font:12px 'Space Grotesk',sans-serif;letter-spacing:1.5px}
.project-viewer{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#050505;color:#f5f5f2;overflow-y:auto;overscroll-behavior:contain}
.project-viewer::backdrop{background:#000}
.viewer-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px max(24px,4vw);background:linear-gradient(#050505 66%,transparent);pointer-events:none}
.viewer-toolbar>div,.viewer-close{pointer-events:auto}
.viewer-toolbar span{font:11px 'Space Grotesk',sans-serif;letter-spacing:2px;color:#888}
.viewer-toolbar h2{margin:5px 0 0;color:#fff;font-size:22px;font-weight:500}
.viewer-close{display:grid;place-items:center;width:48px;height:48px;border:1px solid #3b3b3b;border-radius:50%;background:#171717;color:#fff;font-size:27px;line-height:1;transition:background .2s,transform .2s}
.viewer-close:hover{background:#2a2a2a;transform:rotate(6deg)}
.viewer-images{width:min(1160px,calc(100% - 48px));margin:8px auto 88px;display:flex;flex-direction:column;gap:24px}
.viewer-placeholder{display:grid;place-items:center;width:100%;min-height:clamp(390px,68vw,820px);border-radius:3px;background:#313131;color:#5c5c5c}
.viewer-placeholder:nth-child(even){min-height:clamp(480px,82vw,980px)}
.viewer-placeholder span{font:500 clamp(34px,5vw,72px)/1 'Space Grotesk',sans-serif;letter-spacing:-2px}
.viewer-placeholder-two{background:#3b3b3b;color:#666}
.viewer-placeholder-three{background:#292929;color:#505050}
.viewer-placeholder-four{background:#363636;color:#606060}
.viewer-media{display:block;width:100%;height:auto;margin:0;background:#171717;border:0}
@media(max-width:760px){.ui-mode main{padding:18px 16px 120px}.work-grid{grid-template-columns:1fr;gap:18px}.work-card{padding:14px;border-radius:19px}.work-cover{border-radius:12px}.work-card strong{margin-top:18px;font-size:19px}.work-description{font-size:14px}.coming-soon{margin-top:44px}.viewer-toolbar{padding:18px 16px}.viewer-close{width:44px;height:44px}.viewer-images{width:calc(100% - 24px);gap:12px;margin-top:2px;margin-bottom:72px}.viewer-placeholder{min-height:62svh}.viewer-placeholder:nth-child(even){min-height:76svh}}

/* ART: continuous five-column DriftWall. */
.art-mode{overflow:hidden;background:#060010}
.art-mode main{display:block;width:100%;height:100svh;min-height:0;padding:0;overflow:hidden}
.art-gallery{--wall-parallax-x:0px;--wall-parallax-y:0px;--wall-scroll-y:0px;--wall-pointer-tilt:0deg;--wall-pointer-turn:0deg;position:relative;width:100%;height:100%;overflow:hidden;background:#060010;perspective:1200px;isolation:isolate}
.art-gallery::after{content:"";position:absolute;z-index:3;inset:0;background:radial-gradient(ellipse at center,transparent 22%,#06001047 64%,#060010e8 100%),linear-gradient(180deg,#060010d9 0%,transparent 18%,transparent 80%,#060010e8 100%);pointer-events:none}
.art-wall{position:absolute;left:46.5%;top:50%;display:grid;grid-template-columns:repeat(5,200px);gap:18px;width:max-content;height:150vh;transform-style:preserve-3d;transform:translate3d(calc(-50% + var(--wall-parallax-x)),calc(-50% + var(--wall-parallax-y) + var(--wall-scroll-y)),0) rotateX(calc(16deg + var(--wall-pointer-tilt))) rotateY(calc(-14deg + var(--wall-pointer-turn))) scale(1.08);transition:transform .18s cubic-bezier(.2,.8,.2,1);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}
.drift-column{position:relative;width:200px;height:150vh;overflow:hidden;transform:translateZ(var(--column-depth));transform-style:preserve-3d}
.drift-track{display:flex;flex-direction:column;gap:18px;will-change:transform;animation:driftUp var(--drift-duration) linear var(--drift-delay) infinite}
body:not(.art-mode) .drift-track{animation-play-state:paused}
.drift-set{display:flex;flex-direction:column;gap:18px}
.drift-tile{position:relative;display:block;flex:0 0 276.667px;width:200px;height:276.667px;aspect-ratio:1200/1660;padding:0;border:0;border-radius:10px;background:#16101f;box-shadow:0 18px 42px #0008,0 0 0 1px #ffffff14;opacity:.72;overflow:hidden;transform:translateZ(0);transition:transform .34s cubic-bezier(.2,.8,.2,1),filter .3s,opacity .3s,box-shadow .3s;filter:brightness(.78) saturate(.9)}
.drift-tile img{display:block;width:100%;height:100%;object-fit:contain}
.drift-tile:hover,.drift-tile:focus-visible{z-index:5;opacity:1;filter:brightness(1.06) saturate(1.08);transform:translateZ(64px) scale(1.06);box-shadow:0 30px 70px #000b,0 0 0 1px #ffffff45}
.drift-tile:focus-visible{outline-color:#fff;outline-offset:5px}
@keyframes driftUp{to{transform:translateY(var(--drift-distance))}}
.art-viewer{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#000000b8;color:#fff;overflow:auto;backdrop-filter:blur(4px)}
.art-viewer::backdrop{background:#00000047}
.art-viewer-close{position:fixed;top:24px;right:28px;z-index:3;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#111c;color:#fff;font-size:28px;line-height:1;backdrop-filter:blur(12px);transition:transform .2s,background .2s}
.art-viewer-close:hover{transform:rotate(8deg);background:#2a2a2a}
.art-full-image{position:relative;width:min(82vw,62svh,900px);height:auto;aspect-ratio:1200/1660;margin:7svh auto;border-radius:10px;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:0 24px 80px #0008,0 0 0 1px #ffffff18;overflow:hidden}
@media(max-width:760px){.art-wall{left:46%;scale:.86}.art-viewer-close{top:16px;right:16px;width:46px;height:46px}.art-full-image{width:min(calc(100vw - 24px),62svh);height:auto;margin:40px auto}}
@media(prefers-reduced-motion:reduce){.art-wall{transition:none}.drift-track{animation-play-state:paused}.drift-tile{transition:none}}

/* AI project: full-width artwork sheets in their numbered sequence. */
.ai-mode{overflow-x:hidden;background:#060010}
.ai-mode main{display:block;min-height:100svh;padding:0 0 140px;background:#060010}
.ai-gallery{width:100%;background:#060010}
.ai-project{display:flex;flex-direction:column;width:min(100%,1920px);margin:0 auto;gap:0}
.ai-project img{display:block;width:100%;height:auto;margin:0;border:0}

/* A fuller pack silhouette with stacked cards pressing against the wrapper. */
.single-pack .pack-choice{isolation:isolate}
.single-pack .pack-choice::after{content:"";position:absolute;z-index:-1;left:12%;right:5%;bottom:-20px;height:43px;border-radius:50%;background:#24312d3d;filter:blur(15px);transform:rotate(-3deg)}
.single-pack .pack{z-index:1;border-radius:6px 6px 15px 15px;box-shadow:inset 8px 0 13px #173a4633,inset -9px 0 15px #18372f35,inset 0 -18px 22px #243d3430,var(--shadow-x) var(--shadow-y) 30px #253a353d}
.single-pack .pack::before{content:"";position:absolute;inset:0;z-index:5;display:block;border-radius:inherit;background:radial-gradient(ellipse 76% 68% at 50% 51%,#ffffff2e 0%,#ffffff12 48%,transparent 70%),linear-gradient(90deg,#102f3b2b 0%,transparent 10%,transparent 88%,#16342930 100%);box-shadow:inset 0 7px 10px #ffffff24,inset 0 -11px 16px #1d33252b;pointer-events:none}
.single-pack .top-edge{height:42px;background:repeating-linear-gradient(90deg,#466b7440 0 1px,#ffffff55 1px 4px),linear-gradient(#ffffff42,#496a7040);box-shadow:0 5px 10px #1e384124}
.single-pack .bottom-edge{height:28px;background:repeating-linear-gradient(90deg,#466b7440 0 1px,#ffffff55 1px 4px),linear-gradient(#385c6240,#ffffff3b);box-shadow:0 -5px 11px #1e384126}
.single-pack .cover-art{top:42px;height:calc(100% - 70px)}
@media(max-width:760px){.single-pack .pack-choice::after{bottom:-16px;height:35px}.single-pack .top-edge{height:38px}.single-pack .bottom-edge{height:24px}.single-pack .cover-art{top:38px;height:calc(100% - 62px)}}

/* Keep both pack action buttons visually identical. */
.pack-actions .again{gap:9px;padding:8px 15px;font-size:13px}
.pack-actions .again b{width:22px;height:22px;background:#ebeee7;font-size:15px;transition:transform .35s}
.pack-actions .again span{margin-left:0}
.pack-actions .again:hover b{transform:rotate(180deg)}

/* Matching serrated seals and color-specific pouch depth. */
.single-pack .pack{-webkit-mask-image:linear-gradient(#000 0 0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0%200%2012%206'%3E%3Cpath d='M0%206L3%200L6%206L9%200L12%206Z' fill='black'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0%200%2012%206'%3E%3Cpath d='M0%200L3%206L6%200L9%206L12%200Z' fill='black'/%3E%3C/svg%3E");-webkit-mask-position:center,top left,bottom left;-webkit-mask-size:100% calc(100% - 10px),12px 6px,12px 6px;-webkit-mask-repeat:no-repeat,repeat-x,repeat-x;mask-image:linear-gradient(#000 0 0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0%200%2012%206'%3E%3Cpath d='M0%206L3%200L6%206L9%200L12%206Z' fill='black'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0%200%2012%206'%3E%3Cpath d='M0%200L3%206L6%200L9%206L12%200Z' fill='black'/%3E%3C/svg%3E");mask-position:center,top left,bottom left;mask-size:100% calc(100% - 10px),12px 6px,12px 6px;mask-repeat:no-repeat,repeat-x,repeat-x}
.single-pack .top-edge,.single-pack .bottom-edge{height:36px}
.single-pack .top-edge{top:5px;background:repeating-linear-gradient(90deg,#335f6836 0 1px,#ffffff64 1px 4px),linear-gradient(#ffffff4d,#426c7342)}
.single-pack .bottom-edge{bottom:5px;background:repeating-linear-gradient(90deg,#335f6836 0 1px,#ffffff64 1px 4px),linear-gradient(#426c7342,#ffffff48)}
.single-pack .cover-art{top:41px;height:calc(100% - 82px)}
.single-pack .blue-pack{box-shadow:inset 9px 0 16px #063f6c52,inset -10px 0 17px #075b4652,inset 0 -17px 22px #064f5940,var(--shadow-x) var(--shadow-y) 30px #063f5140}
.single-pack .blue-pack::before{background:radial-gradient(ellipse 76% 68% at 50% 51%,#ffffff30 0%,#ffffff12 48%,transparent 70%),linear-gradient(90deg,#073f703d 0%,transparent 13%,transparent 86%,#075a433b 100%);box-shadow:inset 0 7px 11px #ffffff24,inset 0 -11px 17px #06485c30}
.single-pack .orange-pack{box-shadow:inset 9px 0 16px #a43f104c,inset -10px 0 17px #bd571243,inset 0 -17px 22px #a84a1238,var(--shadow-x) var(--shadow-y) 30px #9c481b38}
.single-pack .orange-pack::before{background:radial-gradient(ellipse 76% 68% at 50% 51%,#fff9dc38 0%,#ffffff12 48%,transparent 70%),linear-gradient(90deg,#a93e123b 0%,transparent 13%,transparent 86%,#bd561137 100%);box-shadow:inset 0 7px 11px #fff8d729,inset 0 -11px 17px #9c42112e}
@media(max-width:760px){.single-pack .top-edge,.single-pack .bottom-edge{height:32px}.single-pack .cover-art{top:37px;height:calc(100% - 74px)}}

/* Drawn cards open their source project or artwork. */
.card{color:#292b27}
.card-inner{position:relative;width:100%;height:auto;min-height:100%;display:block;border-radius:inherit;overflow:hidden;background:inherit;color:inherit;isolation:isolate}
.card-number{top:10px;left:10px;padding:4px 7px;border-radius:999px;background:#1118;font-size:10px;letter-spacing:.4px;backdrop-filter:blur(8px)}
.card-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.7px}
.card--art .card-name small:empty::after{content:"\00a0"}
@font-face{font-family:'Honglei Youth Note';src:url('fonts/honglei-youth-note.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.card--art .card-name{display:flex;align-items:center;justify-content:flex-end;width:100%;height:41px;min-height:41px;padding:0 8px;overflow:hidden;font-family:'Honglei Youth Note','PingFang SC',sans-serif;font-size:24px;font-weight:400;line-height:1;text-align:right;white-space:nowrap;text-overflow:ellipsis;letter-spacing:0}
.card--art .card-name small{display:none}
.card--art:not(.card--hidden) .card-name{color:#747a80;background:linear-gradient(105deg,#4c5157 0%,#8e959c 20%,#f7f9fa 42%,#a8afb5 55%,#eceff1 69%,#565c62 100%);background-size:180% 100%;background-position:50% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:none;text-shadow:none}
.empty{white-space:pre-line}
.card--ui{width:min(72%,420px);aspect-ratio:auto}
.card--ui .card-art{height:auto;aspect-ratio:1200/1076}
.card--art{aspect-ratio:auto}
.card--art .card-art{height:auto;aspect-ratio:1200/1660}
.card--ui .card-art img,.card--art .card-art img{display:block;object-fit:contain}
.pixel-card{overflow:hidden;isolation:isolate;transition:border-color 200ms cubic-bezier(.5,1,.89,1),transform .25s;user-select:none}
.pixel-card::before{content:"";position:absolute;z-index:2;inset:0;margin:auto;aspect-ratio:1;background:radial-gradient(circle,rgba(9,9,11,.24),transparent 85%);opacity:0;pointer-events:none;transition:opacity 800ms cubic-bezier(.5,1,.89,1)}
.pixel-card:hover::before,.pixel-card:focus-visible::before{opacity:1}
.pixel-canvas{position:absolute;z-index:3;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.pixel-card .card-art{z-index:1}
.pixel-card .card-number,.pixel-card .card-name{position:relative;z-index:4}

/* Orange-pack hidden cards: dark face with the supplied pointer-driven holo treatment. */
.card--hidden{--hidden-pointer-x:50%;--hidden-pointer-y:50%;--hidden-background-x:50%;--hidden-background-y:50%;--hidden-from-center:0;--hidden-rx:0deg;--hidden-ry:0deg;overflow:hidden;isolation:isolate;border-color:#0d0e12;background:#06070a;color:#f6f6fa;box-shadow:0 18px 38px #05040a80,0 0 32px #7767ff24;transform:perspective(700px) rotateX(var(--hidden-ry)) rotateY(var(--hidden-rx)) rotateZ(var(--rotation));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .28s ease,border-color .28s ease;will-change:transform}
.cards .card--hidden:hover,.cards .card--hidden:focus-visible{z-index:6;border-color:#403e55;box-shadow:0 24px 52px #05040a9c,0 0 48px #8ea9ff52;transform:perspective(700px) translateY(-10px) rotateX(var(--hidden-ry)) rotateY(var(--hidden-rx)) rotateZ(0deg) scale(1.035)}
.card--hidden .card-inner,.card--hidden .card-art,.card--hidden .card-art img{border-radius:inherit}
.card--hidden .card-art{position:relative;z-index:1;border:1px solid #ffffff18;background:#020205;box-shadow:inset 0 0 0 1px #0008}
.card--hidden .card-art img{display:block;width:100%;height:100%;margin:0;padding:0;filter:brightness(.76) contrast(1.12) saturate(.86);transition:filter .35s ease}
.card--hidden.hidden-card-active .card-art img,.card--hidden:focus-visible .card-art img{filter:brightness(.9) contrast(1.08) saturate(1)}
.card--hidden .card-number{z-index:6;border:1px solid #ffffff20;background:#05060bcf;color:#f7f7ff;box-shadow:0 4px 18px #0008;text-shadow:0 1px 8px #8da7ff8c}
.card--hidden .card-name{position:relative;z-index:6;color:#f7f7fb;font-weight:600;letter-spacing:.02em;text-shadow:0 1px 12px #7789d955}
.card--art.card--hidden .card-name{color:#d8a83b;background:linear-gradient(105deg,#704000 0%,#bd7810 18%,#ffe9a0 39%,#fff6ca 49%,#d79a25 61%,#ffdc73 76%,#8e5100 100%);background-size:190% 100%;background-position:var(--hidden-pointer-x) 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:400;letter-spacing:0;text-shadow:none;filter:drop-shadow(0 1px 0 #fff2ad80) drop-shadow(0 1px 3px #9f62008c);transition:background-position .18s ease-out,filter .25s ease}
.card--art.card--hidden.hidden-card-active .card-name,.card--art.card--hidden:focus-visible .card-name{filter:drop-shadow(0 1px 0 #fff8ca9c) drop-shadow(0 1px 5px #d49318b8)}
.card--hidden .card-name small{color:#aeb1c1;font-weight:500;letter-spacing:1.15px}
.hidden-card-glow,.hidden-card-shine,.hidden-card-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.hidden-card-glow{z-index:2;background:radial-gradient(circle at var(--hidden-pointer-x) var(--hidden-pointer-y),#b3c9ff42 0%,#7768ff20 28%,transparent 66%);opacity:.38;filter:blur(16px) saturate(1.15);transition:opacity .25s ease}
.hidden-card-shine{--hidden-space:5%;z-index:3;background-image:repeating-linear-gradient(0deg,hsl(2 100% 73%) calc(var(--hidden-space) * 1),hsl(53 100% 69%) calc(var(--hidden-space) * 2),hsl(93 100% 69%) calc(var(--hidden-space) * 3),hsl(176 100% 76%) calc(var(--hidden-space) * 4),hsl(228 100% 74%) calc(var(--hidden-space) * 5),hsl(283 100% 73%) calc(var(--hidden-space) * 6),hsl(2 100% 73%) calc(var(--hidden-space) * 7)),repeating-linear-gradient(-45deg,#0e152e 0%,hsl(180 10% 60%) 3.8%,hsl(180 29% 66%) 4.5%,hsl(180 10% 60%) 5.2%,#0e152e 10%,#0e152e 12%),radial-gradient(farthest-corner circle at var(--hidden-pointer-x) var(--hidden-pointer-y),#0000000f 12%,#00000026 24%,#00000070 120%);background-position:0 var(--hidden-background-y),var(--hidden-background-x) var(--hidden-background-y),center;background-size:500% 500%,300% 300%,200% 200%;background-blend-mode:color,hard-light;mix-blend-mode:color-dodge;filter:brightness(.68) contrast(1.4) saturate(.42);opacity:.42;animation:hiddenHolo 18s linear infinite;transition:filter .35s ease,opacity .35s ease}
.hidden-card-shine::before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,hsl(176 100% 76%),hsl(228 100% 74%),hsl(283 100% 73%),hsl(2 100% 73%),hsl(53 100% 69%),hsl(93 100% 69%)),radial-gradient(circle at var(--hidden-pointer-x) var(--hidden-pointer-y),#bdbdc9 0%,#4d4d592e 90%);background-size:250% 250%,100% 100%;background-position:var(--hidden-pointer-x) var(--hidden-pointer-y),center;background-blend-mode:color-dodge;mix-blend-mode:luminosity;filter:brightness(calc(2 - var(--hidden-from-center))) contrast(calc(2 + var(--hidden-from-center))) saturate(calc(.5 + var(--hidden-from-center)));opacity:0;transition:opacity .45s ease}
.hidden-card-glare{z-index:4;background:radial-gradient(farthest-corner circle at var(--hidden-pointer-x) var(--hidden-pointer-y),#dbd7ff99 10%,#20304ecc 90%);mix-blend-mode:overlay;filter:brightness(.82) contrast(1.18);opacity:.22;transition:opacity .35s ease}
.card--hidden.hidden-card-active .hidden-card-glow,.card--hidden:focus-visible .hidden-card-glow{opacity:.74}
.card--hidden.hidden-card-active .hidden-card-shine,.card--hidden:focus-visible .hidden-card-shine{filter:brightness(.88) contrast(1.5) saturate(.58);opacity:.72;animation-play-state:paused}
.card--hidden.hidden-card-active .hidden-card-shine::before,.card--hidden:focus-visible .hidden-card-shine::before{opacity:.72}
.card--hidden.hidden-card-active .hidden-card-glare,.card--hidden:focus-visible .hidden-card-glare{opacity:.48}
@keyframes hiddenHolo{0%{background-position:0 var(--hidden-background-y),0 0,center}100%{background-position:0 var(--hidden-background-y),90% 90%,center}}
@media(prefers-reduced-motion:reduce){.card--hidden{transform:rotate(var(--rotation))}.cards .card--hidden:hover,.cards .card--hidden:focus-visible{transform:translateY(-10px) rotate(0deg) scale(1.035)}.hidden-card-shine{animation:none}}

/* Hidden-card congratulations: the label lives in the card's rotated coordinate space. */
.cards .card--hidden{overflow:visible}
.card--hidden-pending{transform-origin:50% 80%}
.card--hidden-revealing{z-index:7;transform-origin:50% 80%;animation:hiddenCardReveal .96s cubic-bezier(.22,.72,.25,1) both!important;pointer-events:none}
.card--hidden-settled{animation:none}
@keyframes hiddenCardReveal{0%,5%{transform:rotate(var(--rotation)) translate3d(0,0,0)}9%{transform:rotate(calc(var(--rotation) - 2deg)) translate3d(-5px,1px,0)}13%{transform:rotate(calc(var(--rotation) + 2deg)) translate3d(5px,-1px,0)}17%{transform:rotate(calc(var(--rotation) - 1.5deg)) translate3d(-4px,1px,0)}21%{transform:rotate(calc(var(--rotation) + 1.5deg)) translate3d(4px,-1px,0)}27%{transform:rotate(calc(var(--rotation) - 1deg)) translate3d(-2px,0,0)}34%{transform:rotate(var(--rotation)) translate3d(0,0,0)}57%{transform:rotate(var(--rotation)) translate3d(0,-54px,0) scale(1.06)}72%{transform:rotate(var(--rotation)) translate3d(0,12px,0) scale(.985)}83%{transform:rotate(var(--rotation)) translate3d(0,-7px,0) scale(1.015)}92%{transform:rotate(var(--rotation)) translate3d(0,3px,0) scale(.995)}100%{transform:rotate(var(--rotation)) translate3d(0,0,0) scale(1)}}
.hidden-card-congrats{--typer-fg:#191720;--typer-bg:#f8f7ff;--typer-accent:#F75937;--typer-accent-ink:#fff;--typer-radius:4px;position:absolute;z-index:12;left:50%;bottom:calc(100% + 18px);width:max-content;max-width:210%;transform:translateX(-50%);font:700 clamp(11px,1.35vw,17px)/1.2 'Space Grotesk','PingFang SC',sans-serif;letter-spacing:.06em;white-space:nowrap;pointer-events:none;filter:drop-shadow(0 5px 10px #493b7a20)}
.hidden-card-congrats[data-typer-type="initial"]{opacity:0}
.hidden-congrats-word{display:inline-flex;white-space:pre}
.hidden-congrats-char{box-sizing:content-box;display:inline-block;min-width:.82em;color:var(--typer-fg);background:transparent;text-align:center}
.hidden-congrats-char.charInit{color:transparent}
.hidden-congrats-char.charFill,.hidden-congrats-char.charInverse{color:var(--typer-bg);background:var(--typer-fg);border-radius:var(--typer-radius)}
.hidden-congrats-char.charAccent{color:var(--typer-accent)}
.hidden-congrats-char.charAccentInverse{color:var(--typer-accent-ink);background:var(--typer-accent);border-radius:var(--typer-radius)}
.hidden-congrats-char.charAccentFill{color:var(--typer-accent);background:var(--typer-accent)}
.hidden-congrats-char.charBorder{position:relative;color:var(--typer-fg)}
.hidden-congrats-char.charBorder::after{content:"";position:absolute;inset:0;border:1px solid var(--typer-accent);border-radius:var(--typer-radius)}
.hidden-congrats-char.charFill:has(+ .charFill),.hidden-congrats-char.charAccentInverse:has(+ .charAccentInverse){border-radius:var(--typer-radius) 0 0 var(--typer-radius)}
.hidden-congrats-char.charFill + .charFill,.hidden-congrats-char.charAccentInverse + .charAccentInverse{border-radius:0}
.hidden-congrats-char.charFill + .charFill:last-child,.hidden-congrats-char.charAccentInverse + .charAccentInverse:last-child{border-radius:0 var(--typer-radius) var(--typer-radius) 0}
@media(prefers-reduced-motion:reduce){.card--hidden-revealing{animation:none!important}.hidden-card-congrats[data-typer-type="initial"]{opacity:1}.hidden-congrats-char.charInit{color:var(--typer-fg)}}

/* Home title art and compact pack controls. */
.home-decor{position:absolute;z-index:0;top:148px;width:clamp(190px,22vw,280px);height:auto;pointer-events:none;user-select:none;opacity:.94}
.home-decor-have{right:calc(50% + 190px)}
.home-decor-try{left:calc(50% + 190px)}
.single-pack,.cards,.pack-actions{position:relative;z-index:1}
.pack-actions{margin-top:52px;transform:scale(.805);transform-origin:top center}
@media(max-width:900px){.home-decor{width:clamp(135px,23vw,190px)}.home-decor-have{right:calc(50% + 152px)}.home-decor-try{left:calc(50% + 152px)}}
@media(max-width:620px){.home-decor{top:110px;width:118px;opacity:.78}.home-decor-have{right:calc(50% + 116px)}.home-decor-try{left:calc(50% + 116px)}.pack-actions{margin-top:42px}}
@media(max-width:420px){.home-decor{top:104px;width:96px}.home-decor-have{right:calc(50% + 101px)}.home-decor-try{left:calc(50% + 101px)}}

/* ME profile: interactive lanyard, tools, contacts, and experience. */
.me-mode{overflow-x:hidden;overflow-y:auto;background:#d2d2d2}
.me-mode main{display:block;width:100%;min-height:100svh;padding:0 0 150px;overflow:visible}
.me-gallery{position:relative;width:100%;min-height:100svh;background:#d2d2d2;color:#292929;isolation:isolate}
.me-lanyard-stage{position:absolute;z-index:3;inset:0 0 auto;width:100%;height:100svh;margin:0;background:transparent;overflow:visible}
.reactbits-lanyard-root,.lanyard-wrapper{position:absolute;z-index:1;inset:0;width:100%;height:100%}
.lanyard-wrapper{display:flex;justify-content:center;align-items:center;transform:none;transform-origin:center;will-change:transform}
.lanyard-wrapper canvas{display:block;width:100%!important;height:100%!important;touch-action:none;filter:none}
.me-content{position:relative;z-index:2;width:min(620px,44vw);margin:0 5vw 0 auto;padding:46px 0 130px}
.me-panel{border:1px solid #d9d9d9;border-radius:16px;background:#fafafa}
.me-panel h2{margin:0;font:650 16px/1.35 'DM Sans','PingFang SC',sans-serif;color:#292929}
.me-software{min-height:168px;padding:27px 26px 24px;overflow:hidden}
.me-software-viewport{margin:20px 18px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.me-software-list{--software-gap:24px;display:flex;align-items:center;width:max-content;gap:var(--software-gap);margin:0;padding:8px 0 16px;list-style:none;animation:software-marquee 28s linear infinite;will-change:transform}
.me-software-viewport:hover .me-software-list{animation-play-state:paused}
.me-software-list li{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border:1px solid rgba(255,255,255,.45);border-radius:16px;background:rgba(255,255,255,.35);box-shadow:0 8px 24px rgba(52,58,70,.06),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);overflow:hidden;isolation:isolate;contain:paint;transform:translateZ(0)}
.me-software-list img{display:block;width:64px;height:64px;object-fit:contain}
@keyframes software-marquee{to{transform:translateX(calc(-50% - var(--software-gap)/2))}}
.me-detail-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.18fr);gap:22px;margin-top:22px}
.me-contact,.me-experience{min-height:326px;padding:28px 26px}
.me-contact-list{display:grid;gap:10px;margin-top:22px}
.me-contact-row{position:relative;width:100%;min-height:50px;padding:0 16px;border:1px solid #d5d5d5;border-radius:10px;background:#f1f1f1;display:flex;align-items:center;justify-content:space-between;color:#747474;font-size:15px;font-weight:600;text-align:left;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.me-contact-row:hover,.me-contact-row:focus-visible{background:#fff;border-color:#c8c8c8;color:#444;transform:translateY(-1px)}
.me-contact-row>span{display:flex;align-items:center;gap:9px}
.me-copy-action{position:relative;justify-content:flex-end!important;width:54px;height:24px}
.me-copy-icon{position:absolute;right:0;top:2px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease,transform .16s ease}
.me-copy-feedback{position:absolute;right:0;top:50%;color:#111;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;transform:translateY(-42%);transition:opacity .16s ease,transform .16s ease}
.me-contact-row.is-copied .me-copy-icon{opacity:0;transform:scale(.8)}
.me-contact-row.is-copied .me-copy-feedback{opacity:1;transform:translateY(-50%)}
.me-contact-icon{display:block;flex:0 0 19px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.me-contact-brand-icon{display:block;flex:0 0 20px;width:20px;height:20px;object-fit:contain}
.me-experience{padding:28px 26px 24px}
.me-job+.me-job{margin-top:23px;padding-top:23px;border-top:1px solid #ededed}
.me-job h2{font-size:15px}
.me-job h3{margin:10px 0 5px;font-size:12px;line-height:1.4;color:#303030}
.me-job p{margin:0;color:#747474;font-size:12px;line-height:1.55}
.me-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.me-chips span{padding:6px 12px;border:1px solid #83dda3;border-radius:6px;background:#caffdb;color:#25aa62;font:600 9px/1 'DM Sans',sans-serif}
.me-chips span:nth-child(2){border-color:#eadf75;background:#fff8b8;color:#d8a52b}
.me-chips span:nth-child(3){border-color:#85bcf5;background:#d2e8ff;color:#4d94e5}
.me-chips span:nth-child(4),.me-job:nth-child(2) .me-chips span:nth-child(3){border-color:#bfe87f;background:#e2ffad;color:#78aa2b}
@media(max-width:760px){
  .me-mode main{padding-bottom:130px}
  .me-lanyard-stage{position:relative;width:100%;height:100svh}
  .lanyard-wrapper{transform:none}
  .me-content{width:calc(100% - 28px);margin:0 auto;padding:0 0 110px}
  .me-software{padding:22px 18px}
  .me-software-viewport{margin:18px 2px 0}
  .me-software-list{--software-gap:18px;padding:8px 0 16px;animation-duration:25s}
  .me-software-list li,.me-software-list img{width:58px;height:58px}
  .me-software-list li{flex-basis:58px;border-radius:15px}
  .me-detail-grid{grid-template-columns:1fr;gap:18px;margin-top:18px}
  .me-contact,.me-experience{min-height:0;padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){.me-software-list{animation:none}}
