/* Personal project opening: PS mark → blue bloom → particles → Press E → library reveal. */
.project-startup{position:absolute;inset:0;z-index:12;isolation:isolate;overflow:clip;background:#070b14;color:#eef3fb;--opening-accent:#91b9bf;font-family:'DM Sans',sans-serif}
.project-startup[hidden],.project-startup [hidden]{display:none!important}.opening-worlds,.opening-shade,.opening-blue-orb,#opening-stars{position:absolute;inset:0;pointer-events:none}
.opening-worlds{z-index:-4;background:#0b1120;overflow:hidden}.opening-worlds>img{position:absolute;inset:-1%;width:102%;height:102%;object-fit:cover;object-position:66% center;opacity:0;transform:scale(1.1);translate:var(--opening-x,0px) var(--opening-y,0px);transition:opacity 1.1s ease,transform 7s linear,filter 1s;filter:saturate(.7) brightness(.43)}.opening-worlds>img.on{opacity:.43;transform:scale(1)}
.opening-shade{z-index:-3;background:radial-gradient(ellipse at 20% 8%,#9c938928,transparent 65%),linear-gradient(0deg,#050912e8,transparent 80%),linear-gradient(90deg,#060c15ba,#080f1c70)}
.opening-blue-orb{z-index:-2;inset:-30%;background:radial-gradient(ellipse at 42% 55%,#16415380,transparent 48%);filter:blur(60px);opacity:.45;transform:translateX(-25%);animation:opening-orb-drift 16s ease-in-out infinite}
#opening-stars{z-index:-1;width:100%;height:100%;opacity:.85}
.opening-header{position:absolute;top:0;left:0;right:0;padding:29px 4.5%;display:flex;align-items:center;gap:24px;z-index:6}.opening-header>a{font-family:'Instrument Serif',serif;font-size:32px;letter-spacing:-4px;line-height:1;color:#e5eefa;text-decoration:none}.opening-header>a>span{font-style:italic}.opening-header>span{font-size:6px;letter-spacing:2.5px;color:#a7b5ca6e}.opening-header>div{margin-left:auto;display:flex;gap:20px;align-items:center}.opening-header button{font-size:8px;font-weight:400;color:#b1bfd17d;padding:5px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.opening-header button:hover{color:#f4f7ff;border-color:#d5e3f433}.opening-header button[aria-pressed="true"]{color:#b3d3f0}.opening-header time{font-size:12px;font-weight:300;color:#cbd5e4ab;margin-left:12px}
.opening-phase{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:85px 7% 75px;animation:opening-phase-in .9s cubic-bezier(.2,.8,.2,1) both}
.opening-brand{background:#03060ced;z-index:3}.opening-brand-mark{font-family:'Instrument Serif',serif;font-size:112px;font-weight:400;letter-spacing:-10px;line-height:1;padding-right:7px;filter:drop-shadow(0 0 35px #c1daf412);animation:opening-logo-reveal 1.85s cubic-bezier(.2,.7,.2,1) both}.opening-brand-mark>span{font-style:italic}.opening-brand>p{font-size:6px;letter-spacing:4px;color:#7c91ad;position:absolute;bottom:19%;margin:0}.brand-project-flashes{display:flex;gap:13px;position:absolute;top:calc(50% + 85px);opacity:.7}.brand-project-flashes>img{width:23px;height:23px;border-radius:5px;object-fit:cover;animation:opening-project-flash 1.6s both;opacity:0}.brand-project-flashes>img:nth-child(2){animation-delay:.12s}.brand-project-flashes>img:nth-child(3){animation-delay:.24s}.brand-project-flashes>img:nth-child(4){animation-delay:.36s}
.opening-ready{text-align:center;padding-bottom:90px}.opening-eyebrow{font-size:7px;letter-spacing:3.1px;color:#91a8c18a;line-height:1.8;margin:0 0 22px}.opening-ready h1{font-weight:300;font-size:clamp(45px,4.2vw,76px);line-height:1.07;letter-spacing:-2.2px;margin:0;color:#eff4fc}.opening-ready h1 em{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.19em;color:#c6d5e9;letter-spacing:-1.8px}.opening-ready-copy{font-size:12px;color:#9bacc191;margin:23px 0 30px}
#opening-start{display:flex;align-items:center;gap:15px;padding:9px 27px 9px 9px;border-radius:40px;background:#ffffff08;border:1px solid #e1ebff32;color:#dce9f8;backdrop-filter:blur(16px);box-shadow:inset 0 1px #dfeafa12,0 10px 30px #0002;transition:scale .4s cubic-bezier(.2,1.5,.3,1),background .4s,box-shadow .4s}#opening-start:hover{scale:1.04;background:#ffffff13;box-shadow:0 0 35px #d1e7ff09}#opening-start:active{scale:.97}#opening-start kbd{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid #d3dff767;font:16px 'DM Sans',sans-serif;box-shadow:0 3px 0 #d6e5f519;background:#ffffff05;animation:opening-key-breathe 3.6s ease-in-out infinite}#opening-start>span{font-size:11px;text-align:left;letter-spacing:.3px}#opening-start small{display:block;font-size:7px;color:#8297af;margin-top:4px;letter-spacing:.3px}#opening-start>b{font-size:18px;font-weight:300;margin-left:16px;color:#aac0da}
.opening-preview-strip{display:flex;gap:13px;margin-top:43px}.opening-preview-strip>button{position:relative;padding:0;width:43px;height:43px;border-radius:9px;border:1px solid #ffffff29;background:#162031;transition:transform .45s cubic-bezier(.2,1.4,.3,1),opacity .3s;opacity:.6}.opening-preview-strip>button:hover,.opening-preview-strip>button:focus-visible{opacity:1;transform:translateY(-7px) scale(1.13)}.opening-preview-strip img{width:100%;height:100%;object-fit:cover;border-radius:8px}.opening-preview-strip span{position:absolute;left:50%;top:calc(100% + 14px);transform:translateX(-50%);font-size:8px;white-space:nowrap;opacity:0;color:#c6d5e9;transition:opacity .3s}.opening-preview-strip>button:hover span,.opening-preview-strip>button:focus-visible span{opacity:1}
.opening-keyboard{position:absolute;right:7%;bottom:18%;display:flex;align-items:center;gap:5px;opacity:.25;transform:rotate(-8deg);pointer-events:none}.opening-keyboard>span{display:flex;align-items:center;justify-content:center;width:25px;height:24px;border:1px solid #c2d3ed47;border-radius:4px;font-size:8px;box-shadow:0 3px 0 #d4e7ff0a}.opening-keyboard>span:first-child{position:absolute;left:30px;top:-30px}.opening-keyboard i{display:block;width:20px;height:29px;border:1px solid #c2d3ed55;border-radius:10px;margin-left:10px;position:relative}.opening-keyboard i:after{content:'';position:absolute;left:8px;top:4px;width:2px;height:6px;background:#a3c2e180;border-radius:2px}
.opening-choose{padding-top:95px;padding-bottom:90px;justify-content:center;text-align:center}.opening-choose>.opening-eyebrow{margin-bottom:13px}.opening-choose h2{font-size:clamp(28px,3vw,53px);font-weight:300;letter-spacing:-1.1px;line-height:1.2;margin:0 0 13px;color:#eef4ff}.mobile-break{display:none}.opening-subtitle{font-size:11px;color:#98abc28a;line-height:1.6;margin:0}.opening-world-row{display:flex;align-items:flex-start;justify-content:center;gap:27px;margin:41px 0 23px;width:100%;perspective:1400px}.opening-world-row>button{padding:0;width:clamp(100px,11.2vw,190px);color:#b7c9de;text-align:center;flex-shrink:0}.opening-choice-art{display:block;width:100%;aspect-ratio:1;position:relative;overflow:hidden;border-radius:50%;border:1px solid #ffffff24;box-shadow:0 10px 35px #0003;scale:.87;filter:brightness(.65) saturate(.7);transition:scale .55s cubic-bezier(.2,1.2,.3,1),filter .5s,border-color .5s,box-shadow .5s}.opening-choice-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061124cc,transparent 70%);pointer-events:none}.opening-choice-art>img:first-child{width:100%;height:100%;object-fit:cover;transition:transform 1s}.opening-choice-art>span{position:absolute;bottom:17%;left:12%;right:12%;z-index:2;font-size:clamp(10px,1.2vw,19px);font-weight:600;line-height:1.1;letter-spacing:-.4px;text-shadow:0 1px 8px #0009}.opening-project-logo{position:absolute;left:calc(50% - 15px);top:12%;width:30px;height:30px;object-fit:contain;border-radius:50%;z-index:2;border:1px solid #ffffff47}.opening-choice-art>small{position:absolute;bottom:8%;left:0;right:0;z-index:2;font-size:5px;letter-spacing:1px;color:#d9c4af}.opening-world-row>button>strong{display:block;font-size:clamp(10px,1.1vw,17px);font-weight:400;margin-top:17px;color:#afbed180;transition:color .4s}.opening-world-row>button>small{display:block;font-size:7px;color:#7d94af73;margin-top:6px}.opening-world-row [aria-selected="true"] .opening-choice-art{scale:1;filter:brightness(1) saturate(1);border-color:#e9f1ff;box-shadow:0 0 0 5px #e5efff09,0 15px 45px #0003}.opening-world-row [aria-selected="true"]>strong{color:#e6f0ff}.opening-world-row [aria-selected="true"]>small{color:#98b4d4}.opening-world-row>button:hover .opening-choice-art{filter:brightness(.95) saturate(1);border-color:#b9cfe899}.opening-world-row [aria-selected="true"] .opening-choice-art>img:first-child{transform:scale(1.06)}.opening-world-row button:focus-visible{outline:0!important}.opening-world-row button:focus-visible .opening-choice-art{outline:2px solid #edf5ff;outline-offset:6px}
.opening-selection{min-height:42px;margin-bottom:17px}.opening-selection>p{font-size:13px;font-weight:300;color:#b8cde7;margin:0 0 7px}.opening-selection>span{font-size:7px;color:#8298b280}.opening-launch{font-size:11px;color:#17273e;background:#e9f1fb;border-radius:35px;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:28px;min-width:220px;box-shadow:0 7px 24px #0002;transition:scale .4s cubic-bezier(.2,1.3,.3,1),background .3s}.opening-launch:hover{background:white;scale:1.035}.opening-launch span{font-size:16px}.opening-launch:active{scale:.97}#opening-all{font-size:8px;color:#9db4ce8c;margin-top:17px;padding:5px}#opening-all:hover{color:#dbeafa}
.opening-load{background:#07112366;backdrop-filter:blur(10px);padding-bottom:65px;text-align:center}.opening-launch-cover{width:clamp(100px,10vw,165px);aspect-ratio:1;position:relative;margin-bottom:29px}.opening-launch-cover>img{width:100%;height:100%;object-fit:cover;border:1px solid #c7ddf84a;border-radius:20px;box-shadow:0 20px 60px #0005;animation:opening-cover-arrive .8s cubic-bezier(.2,.8,.2,1) both}.opening-launch-ring{position:absolute;inset:-17px;border:1px solid #ffffff0c;border-top-color:#bfd8f6b3;border-radius:35px;animation:opening-ring-turn 4s linear infinite;pointer-events:none}.opening-load>.opening-eyebrow{font-size:6px;letter-spacing:2.6px;margin:0 0 9px}.opening-load h2{font-weight:300;font-size:clamp(31px,3vw,50px);letter-spacing:-1px;margin:0 0 13px;color:#eaf3ff}.opening-load>p:not(.opening-eyebrow){font-size:11px;color:#91a9c4;margin:0 0 27px}.opening-real-progress{width:min(360px,80vw);height:1px;background:#ffffff18;position:relative;overflow:visible}.opening-real-progress>span{display:block;height:100%;width:0;background:#dcecff;box-shadow:0 0 13px #d6eaff66;transition:width .45s cubic-bezier(.2,.8,.2,1)}.opening-load-cards{display:flex;gap:13px;margin:27px 0 22px}.opening-load-cards>span{display:flex;align-items:center;flex-direction:column;gap:7px;width:65px;position:relative;opacity:.3;transition:opacity .5s,translate .5s}.opening-load-cards>span.ready{opacity:1;translate:0 -3px}.opening-load-cards img{width:42px;height:42px;border-radius:9px;object-fit:cover;border:1px solid #ffffff20}.opening-load-cards small{font-size:6px;color:#8da7c4;white-space:nowrap}.opening-load-cards i{position:absolute;right:5px;top:-5px;font-size:8px;font-style:normal;background:#162d43;border:1px solid #8db1d142;border-radius:50%;width:15px;height:15px;display:flex;align-items:center;justify-content:center;color:#a0d4bc}#opening-load-status{font-size:8px;line-height:1.8;color:#8ea7c0;max-width:400px}#opening-continue{margin-top:16px;font-size:10px;color:#c8e0f8;border:1px solid #b4cde53b;background:#ffffff0a;border-radius:20px;padding:10px 16px}
.opening-footer{position:absolute;left:4.5%;right:4.5%;bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:6;color:#8a9db775;font-size:7px}.opening-footer>span:first-child{color:#9bb1cd8c;letter-spacing:.1px}.opening-footer>span:nth-child(2){font-size:6px;letter-spacing:.5px}.opening-footer kbd{font:7px 'DM Sans',sans-serif;border:1px solid #9eb8d236;padding:3px 5px;border-radius:3px}.opening-footer i{font-style:normal;margin:0 8px}.opening-footer>button{font-size:8px;padding:5px 0;color:#abc0d6a3}.opening-footer>button:hover{color:#eff6ff}
.project-startup[data-phase="brand"] .opening-worlds{opacity:.12}.project-startup[data-phase="ready"] .opening-worlds{opacity:.6}.project-startup[data-phase="choose"] .opening-worlds{opacity:1}.project-startup[data-phase="load"] .opening-worlds>img.on{opacity:.7;filter:brightness(.6) saturate(.85);transform:scale(1.1)}.opening-worlds{transition:opacity 1.2s}
.project-startup.launching{animation:opening-enter-world .65s cubic-bezier(.3,.1,.7,1) forwards}.project-startup.launching .opening-launch-cover{animation:opening-cover-expand .65s cubic-bezier(.3,.1,.7,1) forwards}
#games-app[data-stage="experience"]>.console-exit{display:none}#games-app[data-stage="experience"]>.console-world{background:#080d16}#games-app[data-stage="experience"] #console-particles{display:none}
@keyframes opening-logo-reveal{0%{opacity:0;scale:.86;filter:blur(10px)}28%,70%{opacity:1;scale:1;filter:blur(0)}100%{opacity:0;scale:1.09;filter:blur(4px)}}
@keyframes opening-project-flash{0%,100%{opacity:0;translate:0 8px}32%,67%{opacity:.7;translate:0 0}}
@keyframes opening-orb-drift{0%,100%{translate:-8% 3%;scale:1}50%{translate:9% -4%;scale:1.13}}
@keyframes opening-phase-in{from{opacity:0;translate:0 12px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes opening-key-breathe{0%,100%{box-shadow:0 3px 0 #d6e5f519,0 0 0 #d6e5f500}50%{box-shadow:0 3px 0 #d6e5f526,0 0 27px #d6e5f514}}
@keyframes opening-cover-arrive{from{opacity:0;scale:.75;rotate:-7deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes opening-ring-turn{to{rotate:360deg}}
@keyframes opening-enter-world{0%{opacity:1}65%{opacity:.7}100%{opacity:0;filter:blur(8px);scale:1.05}}
@keyframes opening-cover-expand{to{scale:1.35;filter:blur(3px);opacity:0}}
@media(max-height:760px) and (min-width:701px){.opening-choose{padding-top:85px;padding-bottom:70px}.opening-world-row{margin-top:28px;margin-bottom:18px;gap:27px}.opening-world-row>button{width:125px}.opening-choose h2{font-size:35px}.opening-choose>.opening-eyebrow{margin-bottom:10px;font-size:6px}.opening-world-row>button>strong{font-size:11px;margin-top:13px}.opening-subtitle{font-size:10px}.opening-selection{margin-bottom:13px;min-height:37px}.opening-selection>p{font-size:11px}.opening-launch{padding:10px 20px;font-size:10px}.opening-ready h1{font-size:52px}.opening-ready-copy{font-size:11px;margin-top:20px}.opening-preview-strip{margin-top:32px}.opening-launch-cover{width:112px;margin-bottom:23px}.opening-load h2{font-size:36px}.opening-load-cards{margin:25px 0 18px}}
@media(max-width:700px){.opening-header{padding:25px 22px;gap:12px}.opening-header>a{font-size:29px}.opening-header>span{font-size:5px;letter-spacing:1.1px;max-width:90px;line-height:1.7}.opening-header>div{gap:12px}.opening-header button{font-size:6px}.opening-header time{font-size:10px;margin-left:2px}.opening-phase{padding:90px 24px 90px}.opening-eyebrow{font-size:6px;letter-spacing:2px}.opening-ready h1{font-size:46px;letter-spacing:-1.5px;line-height:1.1}.opening-ready-copy{font-size:11px;line-height:1.8;max-width:250px;margin:24px 0 27px}.opening-preview-strip{gap:12px;margin-top:37px}.opening-preview-strip>button{width:43px;height:43px}.opening-keyboard{display:none}.opening-footer{left:22px;right:22px;bottom:25px;gap:12px;flex-wrap:wrap}.opening-footer>span:first-child{font-size:6px;max-width:180px;line-height:1.7}.opening-footer>span:nth-child(2){display:none}.opening-footer>button{font-size:7px;margin-left:auto}.opening-choose{padding:95px 15px 85px;justify-content:center}.opening-choose h2{font-size:32px;letter-spacing:-.8px}.opening-subtitle{font-size:10px}.opening-world-row{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;margin:25px 0 20px;width:285px;max-width:100%}.opening-world-row>button{width:100%;max-width:135px}.opening-choice-art{width:106px;margin:auto;aspect-ratio:1}.opening-choice-art>span{font-size:12px;bottom:18%}.opening-choice-art>small{font-size:4px;letter-spacing:.7px}.opening-project-logo{width:23px;height:23px;left:calc(50% - 11.5px)}.opening-world-row>button>strong{font-size:10px;margin-top:10px}.opening-world-row>button>small{font-size:6px;margin-top:4px}.opening-selection{margin-bottom:15px;min-height:38px;max-width:300px}.opening-selection>p{font-size:11px}.opening-selection>span{font-size:6px;line-height:1.8}.opening-launch{font-size:10px;padding:11px 19px;min-width:220px}#opening-all{font-size:7px;margin-top:13px}.opening-choose>.opening-eyebrow{margin-bottom:10px}.opening-worlds>img{object-position:64% center}.opening-worlds>img.on{opacity:.3}.opening-shade{background:linear-gradient(0deg,#060d18e8,#07101bac 50%,#080e1a85),radial-gradient(ellipse at 20% 5%,#998c7733,transparent 60%)}.opening-launch-cover{width:105px;margin-bottom:30px}.opening-load h2{font-size:33px}.opening-load>.opening-eyebrow{font-size:5px}.opening-load>p:not(.opening-eyebrow){font-size:10px;line-height:1.8;max-width:260px}.opening-load-cards{gap:8px;margin:26px 0 22px}.opening-load-cards>span{width:62px}.opening-load-cards img{width:39px;height:39px}.opening-load-cards small{font-size:6px}#opening-load-status{font-size:7px;max-width:270px}.opening-brand-mark{font-size:100px}.opening-brand>p{font-size:5px;letter-spacing:2.5px}.brand-project-flashes{gap:11px}.brand-project-flashes>img{width:21px;height:21px}}
@media(max-width:700px) and (max-height:750px){.opening-header{padding-top:19px}.opening-choose{padding-top:75px;padding-bottom:70px}.opening-choose h2{font-size:27px}.opening-world-row{margin-top:20px;margin-bottom:15px;gap:17px 15px}.opening-choice-art{width:86px}.opening-world-row>button>strong{font-size:9px;margin-top:7px}.opening-world-row>button>small{font-size:5px}.opening-selection{margin-bottom:12px;min-height:34px}.opening-selection>p{font-size:10px}.opening-launch{padding:9px 17px;font-size:9px}.opening-choose>.opening-eyebrow{font-size:5px}.opening-subtitle{font-size:9px}#opening-all{margin-top:10px}.opening-ready h1{font-size:41px}.opening-preview-strip{margin-top:30px}.opening-ready-copy{margin-top:20px}.opening-launch-cover{width:90px}.opening-load h2{font-size:29px}}
@media(max-width:370px){.opening-header>span{display:none}.opening-header>div{gap:15px}.opening-choose h2{font-size:29px}.opening-world-row{width:260px}.opening-ready h1{font-size:40px}.opening-launch{min-width:200px}.opening-footer>span:first-child{max-width:145px}.opening-header time{font-size:10px}}
.opening-reduced-motion *,.opening-reduced-motion *:before,.opening-reduced-motion *:after{animation:none!important;transition:none!important}.opening-reduced-motion #opening-stars,.opening-reduced-motion .opening-blue-orb{display:none}.opening-reduced-motion .opening-worlds>img{translate:0 0;transform:none}.opening-reduced-motion.launching{opacity:0}
@media(prefers-reduced-motion:reduce){.project-startup *,.project-startup *:before,.project-startup *:after{animation:none!important;transition:none!important}#opening-stars,.opening-blue-orb{display:none}.opening-worlds>img{translate:0 0!important;transform:none!important}.opening-brand-mark{opacity:1}.project-startup.launching{opacity:0}}
/* Featured playable games in the opening's world picker. */
@media(min-width:701px){.opening-world-row{gap:22px}.opening-world-row>button{width:112px}.opening-load-cards{gap:12px}.opening-brand>p{letter-spacing:3px}}
@media(max-width:700px){.opening-world-row{grid-template-columns:repeat(3,1fr);width:325px;gap:19px 10px;margin:22px 0 16px}.opening-world-row>button{max-width:102px}.opening-choice-art{width:83px}.opening-world-row>button>strong{font-size:8px}.opening-world-row>button>small{font-size:5px}.opening-selection{margin-bottom:12px}.opening-load-cards{gap:5px}.opening-load-cards>span{width:53px}.opening-load-cards small{font-size:5px}}
@media(max-width:700px) and (max-height:750px){.opening-choice-art{width:65px}.opening-world-row{gap:13px 9px;margin:17px 0 13px}.opening-choose h2{font-size:25px}.opening-world-row>button>strong{font-size:7px}.opening-choose{padding-top:78px}}

#opening-launch-title{font-family:"DM Sans",system-ui,sans-serif;font-weight:800!important;font-size:clamp(25px,4vw,54px)!important;line-height:1.12!important;max-width:800px;text-wrap:balance;letter-spacing:-1.5px}

.opening-load-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:min(520px,90vw);gap:9px}.opening-load-cards>span{width:auto;min-width:0}.opening-load-cards small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.opening-load-cards img{max-width:45px;width:100%;object-fit:cover}@media(max-width:700px){.opening-load-cards{gap:5px}.opening-load-cards img{max-width:36px}.opening-load-cards small{font-size:5px}}
