@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#faf1f8;--muted:#c7b6cb;--pink:#edc5df;--stroke:#f3d7f01c;font-family:'DM Sans',sans-serif;background:#19131f;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow-x:hidden;background:radial-gradient(ellipse at 20% 0%,#5e3c6040,transparent 60%),#19131f}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #f5d1e8;outline-offset:5px}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.ambient i{position:absolute;width:58vw;height:58vw;border-radius:50%;filter:blur(85px);opacity:.28;animation:breathe 20s ease-in-out infinite alternate}.ambient i:nth-child(1){background:#b76d9c;top:-34vw;left:-15vw}.ambient i:nth-child(2){background:#7a57b6;width:43vw;height:43vw;top:20vh;right:-29vw;animation-delay:-7s}.ambient i:nth-child(3){background:#a57380;width:55vw;height:25vw;bottom:-19vw;left:20vw;animation-delay:-13s}body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:3}.site-header,main,footer{position:relative;z-index:1}.site-header{max-width:1220px;margin:auto;height:112px;padding:0 48px;display:flex;align-items:center;justify-content:space-between}.brand{width:180px;font-family:Georgia,serif;font-size:34px;font-style:italic;letter-spacing:-3px;line-height:1}.brand span{font-size:16px;vertical-align:top;display:inline-block;margin:2px 0 0 7px;color:#edc5df}.header-note{width:180px;text-align:right;font-size:11px;letter-spacing:1px;color:#ae98b1}.glass{border:1px solid var(--stroke);background:linear-gradient(125deg,#ffffff0d,#e5c8ef04 70%,#e7b5d60a);box-shadow:inset 0 1px 0 #fff1,0 12px 35px #0c07151a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nav{display:flex;align-items:center;padding:5px;gap:3px;border-radius:100px}.nav a{padding:10px 23px;border-radius:100px;font-size:12px;font-weight:600;color:#bca9c1;transition:background .2s,color .2s}.nav a[aria-current]{background:linear-gradient(140deg,#efcede22,#d9bfea10);color:#fcebf8;box-shadow:inset 0 1px #fff1}.nav a:hover{color:white;background:#f7d4ed0d}.nav a span{font-size:12px;margin-left:8px;color:#baa3bd}main{max-width:650px;padding:30px 24px 0;margin:auto}.intro{text-align:center}.portrait-wrap{width:112px;height:112px;margin:0 auto 27px;position:relative}.portrait{height:100%;border-radius:50%;padding:7px;border:1px solid #eacbe83b;background:linear-gradient(150deg,#e8b9d01a,#b19be103);box-shadow:0 0 50px #e9aad112,inset 0 0 25px #f6cbeb09;display:grid;place-items:center;overflow:hidden}.portrait span{width:100%;height:100%;display:grid;place-items:center;border:1px solid #ebbfdf20;border-radius:50%;font:italic 52px/1 Georgia,serif;color:#ead0e6;padding-bottom:6px;background:radial-gradient(ellipse at 35% 25%,#6c5069,#2a1f32)}.portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%}.portrait-star{position:absolute;right:-5px;bottom:3px;color:#f6d9ec;font-size:26px;filter:drop-shadow(0 0 15px #ecbcdf77)}.eyebrow{font-size:9px;font-weight:500;letter-spacing:3px;color:#b8a1bb;margin:0 0 13px}h1{font-family:Manrope,sans-serif;font-weight:500;font-size:60px;letter-spacing:-3px;line-height:1.15;margin:0}h1 em{font-family:Georgia,serif;font-weight:400;color:#edc5df;letter-spacing:-2px}.intro-copy{font-size:13px;letter-spacing:.2px;color:var(--muted);margin:17px 0 37px}.links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.link-card{--rx:0deg;--ry:0deg;display:flex;gap:14px;align-items:center;text-align:left;min-height:100px;border-radius:19px;padding:22px 18px;position:relative;overflow:hidden;transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .28s ease-out,border-color .25s,box-shadow .25s;isolation:isolate}.link-card:before,.affiliate-invite:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(200px circle at var(--gx,50%) var(--gy,50%),#f1bbdf1b,transparent);opacity:0;transition:opacity .3s;z-index:-1}.link-card:hover,.affiliate-invite:hover{border-color:#ecc7e43b;box-shadow:inset 0 1px #fff2,0 12px 30px #10091835}.link-card:hover:before,.affiliate-invite:hover:before{opacity:1}.link-icon{width:40px;height:40px;flex-shrink:0;border:1px solid #ebd0e61b;border-radius:12px;background:linear-gradient(140deg,#efddf00e,#b39bc006);display:grid;place-items:center;color:#e0c9df}.link-icon.discord{color:#d9cafa}.link-icon.throne{color:#efced6}.link-label{flex:1;min-width:0}.link-label strong{display:block;font-weight:500;font-size:13px;letter-spacing:.1px}.link-label small{display:block;margin-top:5px;font-size:10px;color:#b6a3bc}.link-arrow{font-size:16px;color:#a48ca8;margin-left:auto;align-self:flex-start;line-height:15px}.copy-hint{font-size:9px;color:#ad98b3;background:#f0d4ee08;border:1px solid #eed4ee10;padding:4px 7px;border-radius:5px;align-self:flex-start}.affiliate-invite{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:15px;padding:23px 24px;margin-top:19px;border-radius:19px;background:linear-gradient(110deg,#f2c8df11,#c9a5e809 70%);transition:border-color .25s,box-shadow .25s}.invite-icon{color:#e8bddd;font-size:24px}.affiliate-invite strong{display:block;font-size:13px;font-weight:500}.affiliate-invite small{display:block;color:#bba5c1;font-size:10px;margin-top:5px}.invite-action{margin-left:auto;font-size:10px;color:#d5b7d3;white-space:nowrap}.invite-action>span{margin-left:11px}.status-message{height:15px;font-size:11px;text-align:center;color:#efd1e7;margin:12px 0 0}footer{max-width:602px;margin:28px auto 0;padding:21px 0 29px;border-top:1px solid #e8cfea0c;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a18aa6;letter-spacing:.2px}footer a{color:#baa2bc;padding:5px 0}footer a span{margin-left:8px}footer a:hover{color:#f4d6ec}.intro,.links,.affiliate-invite{animation:appear .7s both}.links{animation-delay:.08s}.affiliate-invite{animation-delay:.16s}@keyframes appear{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes breathe{to{transform:translate(3vw,2vh) scale(1.08)}}@media(min-height:900px){main{padding-top:6vh}.site-header{height:120px}.portrait-wrap{width:124px;height:124px;margin-bottom:30px}.intro-copy{margin-bottom:43px}footer{margin-top:43px}}@media(max-width:600px){.site-header{height:88px;padding:0 25px}.brand{width:50px;font-size:31px}.header-note{display:none}.nav a{padding:9px 20px}.nav{margin-left:auto}main{padding-top:22px;max-width:460px}h1{font-size:49px;letter-spacing:-2.5px}.portrait-wrap{width:102px;height:102px;margin-bottom:26px}.intro-copy{margin-bottom:30px}.eyebrow{font-size:8px;letter-spacing:2.5px}.links{grid-template-columns:1fr;gap:10px}.link-card{min-height:83px;padding:18px 20px}.link-label strong{font-size:13px}.link-label small{font-size:11px}.link-arrow{align-self:center}.copy-hint{align-self:center}.affiliate-invite{margin-top:15px;padding:21px 20px;gap:12px}.affiliate-invite strong{font-size:12px}.invite-action{font-size:9px}.invite-action>span{margin-left:5px}footer{margin:23px 24px 0;padding-bottom:25px}.ambient i{opacity:.2;filter:blur(65px);width:100vw;height:100vw}.ambient i:nth-child(2){width:90vw;height:90vw;right:-50vw}.ambient i:nth-child(3){width:100vw;height:60vw;bottom:0;left:0}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.link-card{transform:none!important}}

/* Misa’s selected portrait stays pixelated; the source image is used unchanged. */
.portrait>img{display:block;object-position:50% 33%}
.glass.affiliate-invite{background:linear-gradient(115deg,#f0cfe923,#cbb9ff17 60%,#f1cfdf20);border-color:#f4d3ef62;box-shadow:inset 0 1px #ffedff35,inset 0 -1px #c19edb19,0 9px 30px #0002,0 0 30px #d6a4e612}
.affiliate-invite>span:nth-child(2){flex:1;min-width:0}
.affiliate-invite strong{font-weight:600;letter-spacing:.05px}
.affiliate-invite small{max-width:34ch;line-height:1.5}
.affiliate-invite .invite-icon{flex-shrink:0;background:linear-gradient(145deg,#f3d0ef30,#b99fdf16);border-color:#f4ddff42;box-shadow:inset 0 1px #fff3,0 0 18px #e5b9f014}
.affiliate-invite .invite-action{flex-shrink:0;padding:8px 11px;border:1px solid #e5c7f32e;border-radius:100px;background:#ecd5fb0b;color:#f8e8ff}
.glass.affiliate-invite:is(:hover,:focus-visible){border-color:#ffe3fa91;box-shadow:inset 0 1px #fff4,0 10px 32px #0003,0 0 32px #dfb4f323}
@media(max-width:400px){.affiliate-invite .invite-action{padding:7px 9px}.affiliate-invite .invite-action>span{margin-left:4px}}

/* Single-screen home layout. The supplied portrait keeps its complete frame. */
html:has(.home-page){height:100%;overflow:hidden}
body.home-page{height:100svh;min-height:0;overflow:hidden;display:grid;grid-template-rows:68px minmax(0,1fr) 34px}
.home-page .site-header{height:100%;width:100%;padding-inline:40px}
.home-page main{width:min(760px,100%);max-width:760px;min-height:0;height:100%;padding:clamp(12px,3vh,28px) 24px 0;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}
.home-page .intro{flex-shrink:0}
.home-page .portrait-wrap{width:auto;height:clamp(100px,18vh,160px);aspect-ratio:575/1024;margin:0 auto clamp(12px,2vh,20px)}
.home-page .portrait{width:100%;height:100%;padding:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:0 7px 24px #0004}
.home-page .portrait>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0}
.home-page .portrait-star{right:-15px;bottom:7px;font-size:19px;opacity:.8}
.home-page #orbits-back,.home-page #orbits-front{width:min(470px,95vw);height:170px;opacity:.55}
.home-page h1{font-size:clamp(42px,6.8vh,60px);line-height:1.1;letter-spacing:-2.5px}
.home-page .intro-copy{font-size:12px;line-height:1.4;margin:12px 0 clamp(18px,3vh,28px)}
.home-page .links{flex-shrink:0;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.home-page .link-card{min-height:clamp(66px,10vh,86px);padding:15px 18px;gap:14px;border-radius:17px}
.home-page .link-icon{width:39px;height:39px}
.home-page .link-label strong{font-size:13px;line-height:1.35}
.home-page .link-label small{font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.home-page .affiliate-invite{flex-shrink:0;min-height:72px;margin-top:15px;padding:14px 18px;gap:14px;border-radius:17px}
.home-page .affiliate-invite .invite-icon{width:39px;height:39px;font-size:23px}
.home-page .affiliate-invite small{font-size:10px}
.home-page .status-message{position:absolute;bottom:0;left:24px;right:24px;height:auto;margin:0;font-size:10px;line-height:1.3}
.home-page .status-message:empty{display:none}
.home-page footer{width:min(712px,calc(100% - 48px));height:100%;padding:0;margin:0 auto;gap:14px;font-size:8px}
.home-page .footer-world{font-size:6px;letter-spacing:1.7px}
.home-page .footer-world b{font-size:15px}
@media(max-height:680px) and (min-width:761px){
  body.home-page{grid-template-rows:54px minmax(0,1fr) 26px}
  .home-page main{padding-top:0}
  .home-page .portrait-wrap{height:80px;margin-bottom:10px}
  .home-page h1{font-size:44px}
  .home-page .intro-copy{margin:9px 0 16px;font-size:11px}
  .home-page .link-card{min-height:64px;padding-block:11px}
  .home-page .links{gap:10px}
  .home-page .affiliate-invite{min-height:64px;margin-top:12px;padding-block:11px}
}
@media(max-width:760px){
  body.home-page{grid-template-rows:62px minmax(0,1fr) 30px}
  .home-page .site-header{padding-inline:22px}
  .home-page main{width:min(460px,100%);padding:5px 22px 0}
  .home-page .portrait-wrap{height:112px;margin-bottom:12px}
  .home-page h1{font-size:49px}
  .home-page .intro-copy{font-size:12px;margin:10px 0 19px}
  .home-page .links{grid-template-columns:minmax(0,1fr);gap:8px}
  .home-page .link-card{min-height:64px;padding:11px 16px;gap:13px;border-radius:15px}
  .home-page .link-icon{width:35px;height:35px}
  .home-page .link-icon svg{width:21px;height:21px}
  .home-page .link-label small{font-size:10px;margin-top:3px}
  .home-page .affiliate-invite{min-height:74px;margin-top:12px;padding:12px 15px;gap:11px;border-radius:15px}
  .home-page .affiliate-invite strong{font-size:12px}
  .home-page .affiliate-invite .invite-icon{width:34px;height:34px;font-size:21px}
  .home-page .affiliate-invite .invite-action{padding:7px 9px;font-size:9px}
  .home-page footer{width:calc(100% - 44px);font-size:8px}
  .home-page .footer-world{display:none}
}
@media(max-width:760px) and (max-height:780px){
  body.home-page{grid-template-rows:54px minmax(0,1fr) 26px}
  .home-page .portrait-wrap{height:90px;margin-bottom:10px}
  .home-page h1{font-size:44px}
  .home-page .intro-copy{font-size:11px;margin:9px 0 16px}
  .home-page .link-card{min-height:58px;padding-block:9px}
  .home-page .affiliate-invite{min-height:68px;padding-block:9px}
}
@media(max-width:760px) and (max-height:690px){
  body.home-page{grid-template-rows:48px minmax(0,1fr) 22px}
  .home-page main{padding-top:0}
  .home-page .portrait-wrap{height:80px;margin-bottom:9px}
  .home-page h1{font-size:40px}
  .home-page .intro-copy{margin:7px 0 13px}
  .home-page .links{gap:7px}
  .home-page .link-card{min-height:54px;padding-block:8px}
  .home-page .affiliate-invite{min-height:66px;margin-top:10px}
}
@media(max-width:760px) and (max-height:610px){
  .home-page main{padding-inline:18px}
  .home-page .links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-page .link-card{min-height:68px;padding:9px;gap:7px}
  .home-page .link-icon{width:27px;height:27px;flex-shrink:0}
  .home-page .link-icon svg{width:17px;height:17px}
  .home-page .link-label strong{font-size:10px}
  .home-page .link-label small{font-size:8px}
  .home-page .link-arrow{display:none}
  .home-page .copy-hint{font-size:7px;padding:3px;position:absolute;right:7px;top:7px}
}
@media(max-height:530px){
  body.home-page{grid-template-rows:44px minmax(0,1fr) 22px}
  .home-page .portrait-wrap{height:58px;margin-bottom:8px}
  .home-page h1{font-size:35px}
  .home-page .intro-copy{font-size:10px;margin:6px 0 11px}
  .home-page .link-card{min-height:52px;padding-block:8px}
  .home-page .link-icon{width:29px;height:29px}
  .home-page .affiliate-invite{min-height:58px;margin-top:9px;padding-block:8px}
}


/* The globe is a fixed background layer; only its curved limb has atmosphere. */
.home-page #planet-stage{position:fixed;inset:auto 0 0;z-index:0;width:100%;height:clamp(100px,18svh,175px);overflow:hidden;pointer-events:none;background:transparent}
.home-page #world-canvas{display:block;width:100%;height:100%;background:transparent}
.home-page #planet-stage.fallback:before{content:'';position:absolute;left:-30%;top:44%;width:160%;height:auto;aspect-ratio:1;border-radius:50%;border-top:2px solid #cc9affb0;background:radial-gradient(ellipse at 50% 0%,#9b50e55c,#170b35cf 19%,#0d081cf5 40%),url('/space-assets/planet-albedo-v1.webp') center top/cover;box-shadow:0 -3px 16px #b384cd55,inset 0 4px 18px #ab68f54d}

.home-page .brand{display:flex;align-items:center;height:56px}.home-page .brand img{display:block;width:56px;height:56px;object-fit:contain}@media(max-width:760px){.home-page .brand{height:42px}.home-page .brand img{width:42px;height:42px}}
