/* Infinity Gauntlet / Experience layer. Hand-built motion, no imported media. */
:root{--experience-gold:#e7be79;--experience-blue:#96b7cf;--experience-ink:#080a11;--experience-cubic:cubic-bezier(.22,.73,.18,1)}
html{scroll-padding-top:120px}
body{background:#090b11}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.36;background-image:radial-gradient(circle at 5% 12%,#c8ad7e1e 0 1px,transparent 2px),radial-gradient(circle at 85% 62%,#a3aacc1c 0 1px,transparent 2px);background-size:117px 143px,157px 191px}
.site-wrap{position:relative;z-index:1}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;z-index:221;background:linear-gradient(90deg,#91734e,#f7d69f,#b79ab0);box-shadow:0 0 14px #e2b77580;pointer-events:none;transition:width .09s linear}
/* An intentionally quiet cursor. It disappears for touch and keyboard-only use. */
.cursor-system{position:fixed;top:0;left:0;z-index:250;pointer-events:none;opacity:0;transition:opacity .16s;--cursor-x:-100px;--cursor-y:-100px;--cursor-ring-x:-100px;--cursor-ring-y:-100px}
.cursor-system.is-visible{opacity:1}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;transform:translate3d(-50%,-50%,0);pointer-events:none;will-change:transform}.cursor-dot{height:5px;width:5px;border-radius:50%;background:#fff4dd;box-shadow:0 0 13px #f5c98c;translate:var(--cursor-x) var(--cursor-y)}.cursor-ring{width:35px;height:35px;border:1px solid #d9bd8e9c;border-radius:50%;background:#e9c68b0a;box-shadow:0 0 20px #eec48a16;translate:var(--cursor-ring-x) var(--cursor-ring-y);transition:width .22s,border-color .22s,height .22s,background .22s,opacity .22s}.cursor-system.is-hover .cursor-ring{width:61px;height:61px;border-color:#e9bf82;background:#c59a5722}.cursor-system.is-down .cursor-ring{width:21px;height:21px;background:#e9bf824d}.cursor-text{position:fixed;top:0;left:0;translate:calc(var(--cursor-ring-x) + 37px) calc(var(--cursor-ring-y) + 16px);font:800 8px/1 'Segoe UI',sans-serif;letter-spacing:1.6px;color:#f2d09a;opacity:0;transition:opacity .18s;white-space:nowrap}.cursor-system.is-hover .cursor-text{opacity:1}
@media (pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active [role="button"]{cursor:none!important}body.cursor-active input,body.cursor-active textarea{cursor:text!important}body.cursor-active select{cursor:pointer!important}}
/* Navigation and buttons */
.header{transition:background .3s,border-color .3s,box-shadow .3s;backdrop-filter:blur(18px)}
body.is-scrolled .header{background:#0c1018ed;border-color:#4e43398a;box-shadow:0 15px 50px #0008}
.wordmark-seal{filter:drop-shadow(0 0 15px #bd88542f)}
.wordmark-seal .seal-core{animation:core-breathe 5s ease-in-out infinite}
.nav-a{transition:color .25s,background .25s;letter-spacing:.2px}.nav-a:not(.active):hover{background:#c8a77c12}
.btn,.btn-game,.reader-button,.chip,.category-cell,.index-card,.feature-card,.entry-tile,.activity-card,.more-button,.showcase-large,.showcase-aside,.home-spec-link{position:relative;isolation:isolate}
.btn,.btn-game{overflow:hidden;transition:transform .26s var(--experience-cubic),box-shadow .26s,border-color .26s,background .26s}
.btn:hover,.btn-game:hover{transform:translateY(-3px);box-shadow:0 12px 34px #0005,0 0 24px #e9bb6f24}
.btn:active,.btn-game:active{transform:translateY(0) scale(.985)}
.btn-primary{background-image:linear-gradient(120deg,#c9a46c 0%,#e8c993 50%,#c69b5d 100%);background-size:210% 100%;transition:background-position .5s,transform .25s,box-shadow .25s}
.btn-primary:hover{background-position:100% 0}
.btn .ico,.btn-game .ico,.text-link .ico,.index-card>.ico{transition:transform .25s var(--experience-cubic)}
.btn:hover .ico,.btn-game:hover .ico,.text-link:hover .ico,.index-card:hover>.ico{transform:translateX(5px)}
.tap-ripple{position:absolute;z-index:2;display:block;pointer-events:none;width:15px;height:15px;border-radius:50%;transform:translate(-50%,-50%) scale(0);animation:tap-spread .55s ease-out forwards;background:#f7ebd36b;mix-blend-mode:screen}
/* Ambient hero in motion */
.hero{background:radial-gradient(ellipse 75% 80% at 78% 43%,#282b3e 0%,#171a2b 35%,transparent 72%),linear-gradient(115deg,#0b0c13,#121520 67%,#0e1018)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#fff0 0 110px,#fff1 111px,#fff0 112px),linear-gradient(90deg,#0003 1px,transparent 1px);background-size:auto,115px 115px;mask-image:linear-gradient(to right,transparent 30%,#000 100%);opacity:.16}
.hero-text{position:relative;z-index:4}.hero .kicker{animation:line-in .8s .08s both}.hero h1{animation:title-in 1.15s .2s both}.hero-lead{animation:line-in .9s .44s both}.hero-copy{animation:line-in .9s .52s both}.hero-actions{animation:line-in .85s .62s both}.hero-foot{animation:line-in .9s .74s both}
.hero-cosmos{animation:cosmos-arrive 1.6s .15s both;filter:drop-shadow(0 0 70px #b18d5431)}
.cosmos-disk{animation:cosmos-drift 16s ease-in-out infinite alternate}
.cosmos-line{animation:orbit-spin 58s linear infinite}.cosmos-line.two{animation-direction:reverse;animation-duration:75s}
.cosmos-emblem{animation:cosmos-rise 7s ease-in-out infinite}
.gem{animation:gem-pulse 4s ease-in-out infinite}.gem-b,.gem-d{animation-delay:.7s}.gem-c,.gem-e{animation-delay:1.6s}.gem-f{animation-delay:2.2s}
.cosmos-fog{animation:fog-breathe 7s ease-in-out infinite alternate}
/* Cards follow a common lighting system. Cursor writes --spot-x/y only while hovered. */
.entry-tile,.feature-card,.category-cell,.index-card,.showcase-large,.showcase-aside,.activity-card,.home-spec-link{transition:transform .38s var(--experience-cubic),border-color .35s,box-shadow .35s,background .35s}
.entry-tile:hover,.feature-card:hover,.index-card:hover,.category-cell:hover,.activity-card:hover{box-shadow:0 23px 45px #0005,0 0 0 1px #e8bb7420}
.entry-tile::before,.feature-card::before,.index-card::before,.category-cell::before,.home-spec-link::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),#edd4a017,transparent 82%)}
.entry-tile:hover::before,.feature-card:hover::before,.index-card:hover::before,.category-cell:hover::before,.home-spec-link:hover::before{opacity:1}
.feature-graphic .sigil{animation:sigil-turn 26s linear infinite}
.feature-card:hover .feature-graphic{filter:brightness(1.22)}
/* A separate world for Specs. Not an offhand. */
.home-spec-feature{padding:60px 0 4px}.home-spec-link{display:flex;align-items:center;gap:30px;min-height:160px;padding:32px 39px;overflow:hidden;border:1px solid #715b69;border-radius:9px;background:radial-gradient(circle at 5% 50%,#62345b31,transparent 40%),linear-gradient(110deg,#17131e,#141621 75%,#1d1823)}
.home-spec-link::after{content:"";position:absolute;right:18%;top:-80px;width:250px;height:250px;border:1px solid #af72913a;transform:rotate(35deg);pointer-events:none;transition:transform 1s}
.home-spec-link:hover{border-color:#d29fc5;transform:translateY(-3px);box-shadow:0 18px 50px #0007,0 0 40px #783c6728}.home-spec-link:hover::after{transform:rotate(75deg)}
.home-spec-sigil{flex:none;width:91px;height:91px;border-radius:50%;border:1px solid #ac7e9d;background:radial-gradient(circle,#6a3756 2%,#211526 58%,#130f1c 90%);color:#f1cfe5;display:grid;place-items:center;font:500 28px Georgia,serif;letter-spacing:-4px;box-shadow:inset 0 0 30px #7e3d6269,0 0 31px #7b3c6728}
.home-spec-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.home-spec-copy small,.spec-eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#c69bbc}.home-spec-copy strong{font:500 clamp(24px,3vw,43px)/1.1 Georgia,Cambria,serif;color:#f9e4f4}.home-spec-copy>span{color:#bbb1c5;font-size:12px;line-height:1.7}.home-spec-action{margin-left:auto;color:#f2b9df;font-size:10px;font-weight:800;letter-spacing:1.4px;display:flex;gap:10px;align-items:center;white-space:nowrap}.home-spec-action .ico{width:15px;height:15px}
.specs-spotlight{display:grid;grid-template-columns:.74fr 1.26fr;overflow:hidden;margin-bottom:38px;min-height:360px;border:1px solid #67546c;border-radius:10px;background:radial-gradient(ellipse at 20% 50%,#4a294666,transparent 55%),#15121d;position:relative}
.specs-spotlight-art{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:repeating-radial-gradient(circle at center,transparent 0 41px,#b38cab12 42px 43px,transparent 44px 88px)}
.specs-spotlight-art::before{content:"";position:absolute;width:260px;height:260px;border:1px solid #a27d9c45;border-radius:50%;box-shadow:0 0 0 37px #865d8120,0 0 0 75px #74476615;animation:orbit-spin 26s linear infinite}
.specs-spotlight-seal{font:500 105px Georgia,serif;letter-spacing:-14px;color:#eec5e4;text-shadow:0 0 50px #b061a8,0 0 120px #d681a754;z-index:1;animation:cosmos-rise 6s ease-in-out infinite}
.specs-spotlight-orbit{position:absolute;width:240px;height:90px;border:1px solid #ce9dbf70;border-radius:50%;transform:rotate(-35deg);box-shadow:0 0 23px #be78aa18}
.specs-spotlight-copy{padding:50px 55px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.specs-spotlight-copy h2{font:500 clamp(43px,4.6vw,79px)/1 Georgia,serif;letter-spacing:-2px;margin:18px 0}.specs-spotlight-copy h2 span{color:#d59abf}.specs-spotlight-copy p{font-size:14px;line-height:1.85;color:#c9bcd0;max-width:520px}
.spec-spotlight-tags{display:flex;gap:8px;margin:12px 0 28px;flex-wrap:wrap}.spec-spotlight-tags span{font-size:9px;color:#e6bad4;border:1px solid #906780;padding:8px 10px;border-radius:3px;font-weight:800;letter-spacing:1px}
.spec-index-card{background:linear-gradient(135deg,#231627,#161521);border-color:#785d78}.spec-index-card:hover{border-color:#d399c6}
.spec-exclusive{color:#ffceea!important;border-color:#985976!important;background:#4b284252!important}
.article-banner:has(.spec-exclusive){background:radial-gradient(ellipse at 86% 35%,#73456650,transparent 57%),linear-gradient(105deg,#15111c,#191620);border-color:#72556d}
.spec-profile{border:1px solid #86647f;border-radius:8px;background:linear-gradient(125deg,#251829,#14121d);padding:26px;margin:0 0 35px!important;overflow:hidden}
.spec-profile-top{display:flex;align-items:center;gap:18px}.spec-profile-icon{width:75px;height:75px;display:grid;place-items:center;flex:none;color:#f5d0e6;font:42px Georgia,serif;position:relative;border:1px solid #996f94;border-radius:8px;background:radial-gradient(circle,#5b3654,#211622)}.spec-profile-icon span{font-size:26px;margin-left:-22px;color:#d59ebe}.spec-profile-top>div:nth-child(2){display:flex;flex-direction:column}.spec-profile-top strong{font:500 26px Georgia,serif;color:#f7dfed;line-height:1.3}.spec-profile-top p{font-size:10px;letter-spacing:2px;color:#d3a6c4;margin:1px 0 0!important}.spec-top-stamp{margin-left:auto;border:1px solid #ae789b;padding:8px 11px;font:800 9px monospace;letter-spacing:1px;color:#dba6c8;transform:rotate(4deg)}
.spec-profile-foot{border-top:1px solid #71556e;margin-top:21px;padding-top:17px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#cbb2ca;font-size:10px;letter-spacing:.6px}.spec-dot{display:inline-block;height:6px;width:6px;background:#dc9cce;border-radius:50%;box-shadow:0 0 9px #dc9cce}
.spec-notice{border-left:3px solid #ce83b2;background:#ad689a17;padding:18px 21px;margin:23px 0 24px}.spec-notice span{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#e5a6cb}.spec-notice p{margin:6px 0 0!important}
.spec-moves{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.spec-move{display:flex;gap:18px;align-items:start;border:1px solid #403442;border-radius:5px;background:linear-gradient(120deg,#211925,#17151e);padding:20px}.spec-move>span{font:500 26px Georgia,serif;color:#98718f;line-height:1}.spec-move strong{display:block;color:#f1ddea;font-size:13px}.spec-move small{display:block;color:#afa2b3;font-size:11px;line-height:1.65;margin-top:7px}.spec-move.move-known{border-color:#7b5974}.spec-redacted{border:1px dashed #936e8c;background:repeating-linear-gradient(120deg,#1b1723 0 8px,#201925 8px 16px);padding:24px 26px;display:flex;align-items:center;gap:20px;margin:18px 0 25px;flex-wrap:wrap}.spec-redacted span{color:#bc93b4;font:20px Georgia,serif}.spec-redacted strong{color:#f5d0e6;letter-spacing:3px}.spec-redacted small{font-size:11px;color:#b5a1b4;flex:1;min-width:180px}.spec-tier{border:1px solid #5c4d5c;border-radius:5px;display:flex;gap:23px;padding:23px;margin-top:22px}.spec-tier>span{font-size:10px;color:#dfa8c9;min-width:67px;font-weight:800}.spec-tier strong{color:#efe5ec}.spec-tier p{margin:8px 0 0!important}
/* Page arrival and intersection reveals */
.main.page-entering{animation:page-slide-in .5s var(--experience-cubic) both}
.reveal-ready{opacity:0;transform:translateY(25px);filter:blur(5px);transition:opacity .7s var(--experience-cubic),transform .7s var(--experience-cubic),filter .7s var(--experience-cubic);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-revealed{opacity:1;transform:translateY(0);filter:blur(0)}
.search-dialog{animation:modal-pop .25s var(--experience-cubic) both}.search-modal:not(.open) .search-dialog{animation:none}
/* Back-to-top control appears only when scrolling */
.to-top{position:fixed;right:28px;bottom:26px;z-index:65;border:1px solid #806c55;color:#ecd2a2;background:#171923ed;box-shadow:0 8px 30px #0008;padding:12px 14px;display:flex;align-items:center;gap:8px;font:800 10px 'Segoe UI',sans-serif;letter-spacing:1px;border-radius:5px;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s,transform .3s,background .3s}.to-top .ico{height:14px;width:14px;transform:rotate(-90deg)}.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.to-top:hover{background:#34303a}
:focus-visible{outline:2px solid #f1c888!important;outline-offset:5px!important}
@keyframes tap-spread{to{transform:translate(-50%,-50%) scale(24);opacity:0}}
@keyframes line-in{from{opacity:0;transform:translateY(25px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes title-in{from{opacity:0;transform:translateY(50px);letter-spacing:-9px;filter:blur(13px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes cosmos-arrive{from{opacity:0;filter:blur(30px);scale:.86}to{opacity:1;filter:blur(0);scale:1}}
@keyframes core-breathe{0%,100%{box-shadow:0 0 8px #dca25c40}50%{box-shadow:0 0 25px #e4b66f88}}
@keyframes gem-pulse{0%,100%{filter:brightness(.75)}50%{filter:brightness(1.5)}}
@keyframes fog-breathe{from{opacity:.55;scale:.92}to{opacity:1;scale:1.06}}
@keyframes cosmos-rise{0%,100%{translate:0 0}50%{translate:0 -11px}}
@keyframes cosmos-drift{0%,100%{translate:0 0}50%{translate:13px -14px}}
@keyframes orbit-spin{to{rotate:360deg}}
@keyframes sigil-turn{to{rotate:360deg}}
@keyframes page-slide-in{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes modal-pop{from{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.home-spec-link{flex-wrap:wrap}.home-spec-action{margin:7px 0 0 0;width:100%;padding-left:120px}.specs-spotlight-copy{padding:35px}}
@media(max-width:610px){.home-spec-feature{padding-top:45px}.home-spec-link{padding:23px;gap:17px}.home-spec-sigil{width:60px;height:60px;font-size:21px}.home-spec-copy strong{font-size:27px}.home-spec-copy small{font-size:8px}.home-spec-copy>span{font-size:10px}.home-spec-action{padding-left:78px}.specs-spotlight{grid-template-columns:1fr}.specs-spotlight-art{min-height:205px}.specs-spotlight-seal{font-size:75px}.specs-spotlight-copy{padding:27px}.specs-spotlight-copy h2{font-size:46px}.spec-profile-top{flex-wrap:wrap}.spec-top-stamp{margin-left:0}.spec-moves{grid-template-columns:1fr}.spec-tier{flex-direction:column;gap:8px}.to-top{right:12px;bottom:12px;padding:10px}}
@media(pointer:coarse){.cursor-system{display:none!important}.feature-graphic .sigil{animation:none}}
@media(prefers-reduced-motion:reduce){.cursor-system{display:none!important}.hero .kicker,.hero h1,.hero-lead,.hero-copy,.hero-actions,.hero-foot,.hero-cosmos,.gem,.cosmos-line,.cosmos-emblem,.cosmos-fog,.cosmos-disk,.feature-graphic .sigil,.wordmark-seal .seal-core,.specs-spotlight-art::before,.specs-spotlight-seal,.main.page-entering{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}.reveal-ready{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.scroll-progress{transition:none!important}}
