:root{--page-bg:#f8ece8;--overscroll-bg:#061b42;--text:#2a1d18;--muted:#725f57;--staging-panel:#f1b8c6;--staging-card:#ffdbe5;--staging-accent:#7f324c;--staging-muted:#96536a;--staging-link:#b34468;--production-panel:#7b4f3a;--production-card:#ead0bd;--production-accent:#3d2418;--production-muted:#70503f;--production-link:#8c5a3f;--border:#1817161f;--shadow:0 18px 50px #18171614;--split-base:linear-gradient(90deg, #fff0f3 0%, var(--staging-panel) 50%, var(--production-panel) 50%, #dfc2b0 100%);--split-shimmer:linear-gradient(90deg, transparent 0%, transparent calc(50% - 22px), #ffe2f0d1 50%, transparent calc(50% + 22px), transparent 100%);--split-bg:var(--split-shimmer), var(--split-base);--split-bg-size:100% 100%, 100% 100%;--split-bg-position:0 0, 0 0}*{box-sizing:border-box}html{background:var(--overscroll-bg);min-height:100%}body{min-height:100vh;color:var(--text);background:var(--split-bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.pageShell{background:var(--split-bg);min-height:100vh;padding:0 max(20px,50vw - 590px) 56px;position:relative;overflow:hidden}html,body,.pageShell{background-size:var(--split-bg-size);background-position:var(--split-bg-position)}.pageShell>h1,.environmentGrid,.nightSection{z-index:1;position:relative}.particleField{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{--top:50%;--distance:40vw;--size:6px;--duration:10s;--delay:0s;--drift:0px;top:var(--top);width:var(--size);height:var(--size);opacity:0;background:#ffffffdb;border-radius:999px;position:absolute;left:50%;box-shadow:0 0 0 1px #2a1d1814}.particle.left{animation:particleLeft var(--duration) linear var(--delay) infinite}.particle.right{animation:particleRight var(--duration) linear var(--delay) infinite}@keyframes particleLeft{0%{opacity:0;transform:translate(-50%)scale(.4)}12%{opacity:.92}to{opacity:0;transform:translate(calc(-1 * var(--distance)), var(--drift)) scale(1)}}@keyframes particleRight{0%{opacity:0;transform:translate(-50%)scale(.4)}12%{opacity:.92}to{opacity:0;transform:translate(var(--distance), var(--drift)) scale(1)}}h1{--title-border-width:4px;--title-corner-radius:38px;border:var(--title-border-width) solid transparent;border-radius:0 0 var(--title-corner-radius) var(--title-corner-radius);letter-spacing:0;text-align:center;background-color:#102955;background-image:linear-gradient(#183467f0,#09193ce6),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:padding-box;border-top:0;width:fit-content;max-width:100%;margin:0 auto 34px;padding:42px 28px 34px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:4.8rem;font-style:italic;font-weight:760;line-height:.95;animation:.76s cubic-bezier(.16,1,.3,1) 90ms backwards titleEntrance;position:relative;overflow:hidden;box-shadow:0 18px 46px #2a1d1824}.titleEmojiBackdrop{inset:var(--title-border-width);z-index:0;border-radius:0 0 calc(var(--title-corner-radius) - var(--title-border-width)) calc(var(--title-corner-radius) - var(--title-border-width));opacity:.42;background:#ffffff2e;position:absolute;overflow:hidden}.titleEmojiPattern{--emoji-cell-x:86px;--emoji-cell-y:48px;width:calc(var(--emoji-cell-x) * 20);height:calc(var(--emoji-cell-y) * 12);grid-template-columns:repeat(20, var(--emoji-cell-x));grid-template-rows:repeat(12, var(--emoji-cell-y));animation:11s linear infinite titleEmojiDrift;display:grid;position:absolute;top:-230px;left:-360px}.titleEmoji{--emoji-column:1;--emoji-row:1;grid-column:var(--emoji-column);grid-row:var(--emoji-row);opacity:.82;place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:clamp(2.45rem,4.2vw,4.4rem);font-style:normal;font-weight:400;line-height:1;display:grid}@keyframes titleEmojiDrift{0%{transform:translate(calc(var(--emoji-cell-x) * -4), calc(var(--emoji-cell-y) * -2))}to{transform:translate(0)}}.titleText{z-index:2;color:#fff5bd;text-shadow:0 1px #ffffff59,0 0 18px #ffec97a3,0 0 34px #ffe2f070;animation:.58s cubic-bezier(.16,1,.3,1) .3s backwards itemEntrance;display:inline-block;position:relative}h1:before,h1:after{z-index:1;filter:blur(8px);content:"";pointer-events:none;background:radial-gradient(circle,#fffffff5 0 8%,#ffe2f0fa 28%,#ffe2f0c2 52%,#ffe2f04d 74%,#0000 88%);border-radius:999px;width:58px;height:38px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 24px #ffffffeb,0 0 50px #ffe2f0e6,0 0 92px #ffe2f0ad}h1:before{animation:4.8s linear infinite titleBorderGlowLeft}h1:after{animation:4.8s linear infinite titleBorderGlowRight}@keyframes titleBorderGlowLeft{0%{opacity:0;top:0;left:0}5%{opacity:1}28%{top:calc(100% - var(--title-corner-radius));left:0}31%{top:calc(100% - (var(--title-corner-radius) * .5));left:calc(var(--title-corner-radius) * .134)}34%{top:calc(100% - (var(--title-corner-radius) * .134));left:calc(var(--title-corner-radius) * .5)}37%{top:100%;left:var(--title-corner-radius)}96%{opacity:1;top:100%;left:50%}to{opacity:0;top:100%;left:50%}}@keyframes titleBorderGlowRight{0%{opacity:0;top:0;left:100%}5%{opacity:1}28%{top:calc(100% - var(--title-corner-radius));left:100%}31%{top:calc(100% - (var(--title-corner-radius) * .5));left:calc(100% - (var(--title-corner-radius) * .134))}34%{top:calc(100% - (var(--title-corner-radius) * .134));left:calc(100% - (var(--title-corner-radius) * .5))}37%{top:100%;left:calc(100% - var(--title-corner-radius))}96%{opacity:1;top:100%;left:50%}to{opacity:0;top:100%;left:50%}}.environmentGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;min-height:calc(100vh - 170px);margin-inline:max(-20px,590px - 50vw);display:grid}.environmentSection{min-width:0;padding:28px max(20px,50vw - 562px)}.environmentSection h2{letter-spacing:0;text-align:center;text-transform:none;margin:0 0 22px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:clamp(2.35rem,4.8vw,4.5rem);font-style:italic;font-weight:900;line-height:.92;animation:.58s cubic-bezier(.16,1,.3,1) backwards itemEntrance}.environmentSection.staging h2{color:var(--staging-accent)}.environmentSection.production h2{color:var(--production-card);text-shadow:0 1px #3d24182e}.environmentSection.staging{padding-left:max(20px,50vw - 590px);padding-right:28px}.environmentSection.production{padding-left:28px;padding-right:max(20px,50vw - 590px)}.environmentSection.staging h2{animation-delay:.7s}.environmentSection.production h2{animation-delay:.8s}.bubbleGrid{grid-template-columns:1fr;gap:14px;display:grid}.linkBubble{border:1px solid var(--border);border-radius:28px;flex-direction:column;justify-content:center;gap:10px;height:118px;padding:22px;transition:transform .16s,border-color .16s,box-shadow .16s;animation:.56s cubic-bezier(.16,1,.3,1) backwards itemEntrance;display:flex}.bubbleGrid .linkBubble:first-child{animation-delay:.88s}.bubbleGrid .linkBubble:nth-child(2){animation-delay:.96s}.bubbleGrid .linkBubble:nth-child(3){animation-delay:1.04s}.bubbleGrid .linkBubble:nth-child(4){animation-delay:1.12s}.bubbleGrid .linkBubble:nth-child(5){animation-delay:1.2s}.production .bubbleGrid .linkBubble:first-child{animation-delay:.96s}.production .bubbleGrid .linkBubble:nth-child(2){animation-delay:1.04s}.production .bubbleGrid .linkBubble:nth-child(3){animation-delay:1.12s}.production .bubbleGrid .linkBubble:nth-child(4){animation-delay:1.2s}.production .bubbleGrid .linkBubble:nth-child(5){animation-delay:1.28s}.staging .linkBubble{background:linear-gradient(135deg, #fff9fab8, #ffdbe5f5), var(--staging-card);border-color:#7f324c33;box-shadow:0 12px 32px #7f324c14}.production .linkBubble{background:linear-gradient(135deg, #fff7efb8, #ead0bdf5), var(--production-card);border-color:#3d241838;box-shadow:0 12px 32px #3d24181a}.linkBubble:hover{transform:translateY(-3px);box-shadow:0 18px 38px #1817161f}.staging .linkBubble:hover{border-color:#7f324c52;box-shadow:0 18px 38px #7f324c29}.production .linkBubble:hover{border-color:#3d24185c;box-shadow:0 18px 38px #3d24182e}.linkBubble:focus-visible{outline-offset:4px;outline:3px solid}.linkTitle{letter-spacing:0;font-size:1.15rem;font-weight:760;line-height:1.05}.linkDescription{gap:4px;font-size:.9rem;line-height:1.25;display:grid}.linkUrl{opacity:.72;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:760;line-height:1.1;overflow:hidden}.staging .linkTitle{color:var(--staging-accent)}.staging .linkDescription{color:var(--staging-muted)}.staging .linkUrl{color:var(--staging-link)}.production .linkTitle{color:var(--production-accent)}.production .linkDescription{color:var(--production-muted)}.production .linkUrl{color:var(--production-link)}.nightSection{isolation:isolate;background:radial-gradient(circle at 18% 22%,#5980ce47,#0000 28%),radial-gradient(circle at 82% 18%,#ffe2f01f,#0000 24%),radial-gradient(circle at 54% 82%,#3c5ca738,#0000 30%),linear-gradient(#071126 0%,#0d1c3c 48%,#050914 100%);min-height:125vh;margin:-24px min(-20px,590px - 50vw) -56px;padding-bottom:clamp(180px,28vh,320px);overflow:hidden;box-shadow:inset 0 46px 94px #01040ca8,inset 0 120px 180px #03071257;-webkit-mask-image:linear-gradient(#0000 0,#000 72px);mask-image:linear-gradient(#0000 0,#000 72px)}.nightSection:before{z-index:0;content:"";background:linear-gradient(#01040c00 0%,#01040c61 14%,#01040c00 32%);position:absolute;inset:0}.nightSection:after{z-index:0;content:"";opacity:.46;background-image:radial-gradient(circle,#ffffff8a 0 1px,#0000 1.8px),radial-gradient(circle,#b9d3ff57 0 1px,#0000 1.6px);background-position:0 0,38px 54px;background-size:112px 96px,148px 130px;animation:34s linear infinite nightStarDrift;position:absolute;inset:-20%}.nightTwinkleField{z-index:2;pointer-events:none;position:absolute;inset:0}.nightTwinkle{--twinkle-left:50%;--twinkle-top:50%;--twinkle-size:4px;--twinkle-duration:3s;--twinkle-delay:0s;top:var(--twinkle-top);left:var(--twinkle-left);width:var(--twinkle-size);height:var(--twinkle-size);opacity:0;animation:nightTwinklePulse var(--twinkle-duration) ease-in-out var(--twinkle-delay) infinite;position:absolute;transform:translate(-50%,-50%)rotate(45deg)scale(.6)}.nightTwinkle:before,.nightTwinkle:after{content:"";background:#ffffffeb;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ffffffc7,0 0 18px #b4cfff8f}.nightTwinkle:before{width:100%;height:1px}.nightTwinkle:after{width:1px;height:100%}.nightParticle{--night-left:50%;--night-top:50%;--night-size:5px;--night-distance:42px;--night-lift:-28px;--night-duration:10s;--night-delay:0s;top:var(--night-top);left:var(--night-left);z-index:3;width:var(--night-size);height:var(--night-size);opacity:0;animation:nightParticleFloat var(--night-duration) ease-in-out var(--night-delay) infinite;background:#ffffffeb;border-radius:999px;position:absolute;box-shadow:0 0 10px #ffffffe6,0 0 24px #b2cfffb8,0 0 42px #ffe2f05c}.githubLinks{z-index:4;color:#eef5ff;gap:18px;width:min(620px,100% - 32px);margin:clamp(160px,24vh,260px) auto 0;display:grid;position:relative}.githubTitle{color:#eef5ff;letter-spacing:0;text-align:center;text-shadow:0 1px #ffffff38,0 0 18px #b2cfff9e,0 0 34px #ffe2f042;margin:0 0 6px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:clamp(2.35rem,4.8vw,4.5rem);font-style:italic;font-weight:900;line-height:.92}.githubTitle,.githubLinkContent,.githubRepoLink:before{opacity:0;transform:translateY(18px)scale(.98)}.githubLinks.isVisible .githubTitle,.githubLinks.isVisible .githubLinkContent,.githubLinks.isVisible .githubRepoLink:before{animation:.56s cubic-bezier(.16,1,.3,1) forwards itemEntrance}.githubLinks.isVisible .githubTitle{animation-duration:.58s}.githubLinks.isVisible .githubRepoLink:first-of-type .githubLinkContent{animation-delay:.2s}.githubLinks.isVisible .githubRepoLink:nth-of-type(2) .githubLinkContent{animation-delay:.28s}.githubLinks.isVisible .githubRepoLink:nth-of-type(3) .githubLinkContent{animation-delay:.36s}.githubLinks.isVisible .githubRepoLink:nth-of-type(4) .githubLinkContent{animation-delay:.44s}.githubLinks.isVisible .githubRepoLink:nth-of-type(5) .githubLinkContent{animation-delay:.52s}.githubLinks.isVisible .githubRepoLink:nth-of-type(6):before{animation-delay:.6s}.githubLinks.isVisible .githubRepoLink:nth-of-type(6) .githubLinkContent{animation-delay:.8s}.githubLinks.isVisible .githubRepoLink:nth-of-type(7) .githubLinkContent{animation-delay:.88s}.githubLinks.isVisible .githubRepoLink:nth-of-type(8) .githubLinkContent{animation-delay:.96s}.githubLinks.isVisible .githubRepoLink:nth-of-type(9) .githubLinkContent{animation-delay:1.04s}.githubLinks.isVisible .githubRepoLink:nth-of-type(10):before{animation-delay:1.12s}.githubLinks.isVisible .githubRepoLink:nth-of-type(10) .githubLinkContent{animation-delay:1.32s}.githubLinks.isVisible .githubRepoLink:nth-of-type(11) .githubLinkContent{animation-delay:1.4s}.githubRepoLink{grid-template-columns:minmax(0,1fr);width:fit-content;min-width:0;max-width:100%;transition:color .16s,text-shadow .16s;display:grid;position:relative}.githubLinkContent{gap:7px;display:grid}.githubLinks .githubRepoLink:nth-of-type(6),.githubLinks .githubRepoLink:nth-of-type(10){width:100%;margin-top:2px;padding-top:18px}.githubLinks .githubRepoLink:nth-of-type(6):before,.githubLinks .githubRepoLink:nth-of-type(10):before{content:"";background:#ffffff9e;height:3px;position:absolute;top:0;left:0;right:0}.githubRepoLink:hover{color:#fff;text-shadow:0 0 18px #b2cfff4d}.githubRepoLink .githubPillTitle,.githubRepoLink .githubPillMeta{transition:transform .16s}.githubRepoLink:hover .githubPillTitle,.githubRepoLink:hover .githubPillMeta{transform:translateY(-2px)}.githubRepoLink:focus-visible{outline-offset:4px;outline:3px solid #eef5ffe0}.githubPillIcon{color:#eef5ff;flex:none;place-items:center;width:16px;height:16px;display:grid}.githubPillIcon svg{fill:currentColor;filter:drop-shadow(0 0 10px #eef5ff2e);width:16px;height:16px;display:block}.githubPillTitle{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:820;line-height:1.05;overflow:hidden}.githubPillMeta{color:#d8e5ffad;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;font-size:.78rem;font-weight:680;line-height:1.1;display:flex;overflow:hidden}.resourceLinks{z-index:4;color:#f5f8ff;width:min(620px,100% - 32px);margin:clamp(72px,10vh,118px) auto 0;position:relative}.resourceLinksTitle{color:#f5f8ff;letter-spacing:0;text-align:center;text-shadow:0 1px #ffffff2e,0 0 18px #b2cfff6b;margin:0 0 20px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:clamp(2.15rem,4vw,3.7rem);font-style:italic;font-weight:900;line-height:.92}.resourceLinksTitle,.resourceCard{opacity:0;transform:translateY(18px)scale(.98)}.resourceLinks.isVisible .resourceLinksTitle,.resourceLinks.isVisible .resourceCard{animation:.56s cubic-bezier(.16,1,.3,1) forwards itemEntrance}.resourceLinks.isVisible .resourceLinksTitle{animation-duration:.58s}.resourceLinks.isVisible .resourceCard:first-child{animation-delay:.2s}.resourceLinks.isVisible .resourceCard:nth-child(2){animation-delay:.28s}.resourceLinks.isVisible .resourceCard:nth-child(3){animation-delay:.36s}.resourceCardGrid{grid-template-columns:1fr;gap:14px;display:grid}.resourceCard{background:linear-gradient(135deg,#2a303eeb,#0a0d16f5),#0b0d14;border:1px solid #dce6ff2e;border-radius:28px;align-content:center;gap:5px;min-width:0;min-height:78px;padding:14px 20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 18px 42px #00000052,inset 0 1px #ffffff14}.resourceCard:hover{border-color:#eef5ff52;transform:translateY(-3px);box-shadow:0 22px 48px #0000006b,0 0 28px #b2cfff1f,inset 0 1px #ffffff1a}.resourceCard:focus-visible{outline-offset:4px;outline:3px solid #eef5ffe0}.resourceCardSummary{align-items:baseline;gap:8px;min-width:0;display:flex}.resourceCardTitle{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:1.08rem;font-weight:820;line-height:1.05;overflow:hidden}.resourceCardSeparator{color:#e7eeff85;flex:none;font-size:.9rem;font-weight:680;line-height:1.05}.resourceCardDescription{color:#e7eeffc7;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:620;line-height:1.25;overflow:hidden}.resourceCardUrl{color:#b2cfffb8;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:720;line-height:1.1;overflow:hidden}@keyframes nightStarDrift{0%{transform:translate(0,0)}to{transform:translate(72px,48px)}}@keyframes nightTwinklePulse{0%,to{opacity:.12;transform:translate(-50%,-50%)rotate(45deg)scale(.45)}45%{opacity:.9;transform:translate(-50%,-50%)rotate(45deg)scale(1.25)}58%{opacity:.5;transform:translate(-50%,-50%)rotate(45deg)scale(.82)}}@keyframes nightParticleFloat{0%{opacity:0;transform:translate(0,0)scale(.45)}16%{opacity:.82}72%{opacity:.5}to{opacity:0;transform:translate3d(var(--night-distance), var(--night-lift), 0) scale(1.15)}}@keyframes titleEntrance{0%{opacity:0;transform:translateY(-28px)scale(.96)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes itemEntrance{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:860px){.pageShell{padding:0 14px 34px}h1{--title-border-width:3px;--title-corner-radius:30px;border-radius:0 0 30px 30px;margin-bottom:24px;padding:34px 18px 26px;font-size:3.1rem}.environmentGrid{grid-template-columns:1fr;min-height:0;margin-inline:-14px}.nightSection{margin-inline:-14px}.environmentSection.staging,.environmentSection.production{padding:22px 14px}.githubLinks{width:min(620px,100% - 28px);margin-top:140px}.resourceLinks{width:min(620px,100% - 28px)}.resourceCardGrid{grid-template-columns:1fr}.resourceCard{min-height:82px}}@media (max-width:540px){h1{padding-inline:14px;font-size:2.55rem}.environmentSection{border-radius:24px;padding:16px}.linkBubble{border-radius:24px;height:118px;padding:20px}.githubLinks{width:calc(100% - 24px);margin-top:124px}.resourceLinks{width:calc(100% - 24px)}}@media (prefers-reduced-motion:reduce){h1,.titleText,.environmentSection h2,.linkBubble,.githubTitle,.githubLinkContent,.githubRepoLink:before,.resourceLinksTitle,.resourceCard,.nightSection:after,.nightTwinkle,.nightParticle{animation:none}.githubLinks.isVisible .githubTitle,.githubLinks.isVisible .githubLinkContent,.githubLinks.isVisible .githubRepoLink:before,.resourceLinks.isVisible .resourceLinksTitle,.resourceLinks.isVisible .resourceCard{opacity:1;transform:none}}
