:root{--dark:#120a22;--purple:#8b52d5;--green:#b5ef51;--text:#fcf9ff;--muted:#d8cde7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:var(--text);font:17px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.welcome{min-height:100vh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#51237c 0%,#251039 37%,#10091f 77%)}.welcome:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(110deg,transparent 0 110px,#ffffff06 111px 112px);pointer-events:none}.welcome-panel{text-align:center;padding:4rem 1.2rem;position:relative;z-index:1}.moon{position:absolute;width:210px;height:210px;border-radius:50%;background:#a7cc59;filter:blur(55px);opacity:.2;top:-50px;left:50%;transform:translateX(-50%);z-index:-1}.eyebrow{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem}.logo{font-size:clamp(5rem,17vw,12rem);line-height:1;margin:0;letter-spacing:-.08em;text-shadow:0 8px 0 #3c1759,0 15px 45px #08030a;font-weight:1000}.logo span,.brand span{color:var(--green)}.tagline{font-size:clamp(1.1rem,3vw,1.6rem);font-weight:700;margin:.7rem 0 2.5rem}.enter,.button{display:inline-flex;gap:1rem;align-items:center;justify-content:center;padding:.85rem 1.6rem;background:var(--green);color:#160a29;font-weight:900;border-radius:100px;text-decoration:none;box-shadow:0 8px 32px #0005;transition:transform .15s,filter .15s}.enter:hover,.button:hover{transform:translateY(-3px);filter:brightness(1.1)}.subnote{color:#c7b6db;font-size:.8rem;margin-top:2rem}.sparkles{color:#bc9ee8;letter-spacing:2rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,6rem);border-bottom:1px solid #ffffff1c;gap:1rem;flex-wrap:wrap}.brand{text-decoration:none;font-size:2rem;font-weight:1000;letter-spacing:-.08em}.topbar nav{display:flex;gap:1.2rem;flex-wrap:wrap}.topbar nav a{font-weight:700;text-decoration:none;color:var(--muted)}.topbar nav a:hover{color:var(--green)}.hero{padding:clamp(4rem,10vw,8rem) clamp(1.3rem,8vw,9rem);background:radial-gradient(circle at 85% 45%,#4c276d,transparent 48%),linear-gradient(135deg,#160d2a,#26133e);min-height:520px}.hero h1{font-size:clamp(3.2rem,8vw,6rem);letter-spacing:-.05em;line-height:1.02;margin:.9rem 0 1.4rem}.hero h1 em{color:var(--green);font-style:normal}.hero p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:1.15rem}.hero .button{margin-top:1rem}.section{padding:4rem clamp(1.2rem,6vw,7rem)}.section.alt{background:#211232}.section h2{font-size:clamp(2rem,5vw,3.2rem);margin:.3rem 0 1rem}.hint{color:var(--muted);max-width:700px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin-top:2rem}.card{overflow:hidden;border:1px solid #ffffff20;background:#29163e;border-radius:17px}.portrait{height:230px;display:grid;place-items:center;background:linear-gradient(135deg,#392154,#1e132e);position:relative}.portrait img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;z-index:1}.placeholder{color:#b5a4ce;text-align:center;font-size:.9rem;padding:1rem}.card-text{padding:1rem}.card h3{margin:0;color:var(--green)}.card p{font-size:.9rem;color:var(--muted);margin:.3rem 0}.feature{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.outline{background:transparent;border:2px solid var(--green);color:var(--green)}footer{padding:2rem;text-align:center;font-size:.88rem;color:var(--muted)}@media(max-width:650px){.topbar{justify-content:center}.topbar nav{justify-content:center}.welcome-panel{padding:2rem 1rem}.sparkles{letter-spacing:1rem}}

.portrait img[hidden]{display:none}.portrait img:not([hidden])~.placeholder{display:none}.portrait.missing .placeholder{display:block}

/* Interactive character cards and accessible profile dialog */
.character-button{appearance:none;display:block;width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s}
.character-button:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 12px 28px #0005}
.character-button:focus-visible,.bio-close:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.view-bio{display:inline-block;color:var(--green);font-size:.78rem;font-weight:800;letter-spacing:.07em;margin-top:.65rem}
.bio-dialog{width:min(860px,calc(100vw - 2rem));max-height:min(90vh,920px);padding:0;border:1px solid #9a76bc;border-radius:22px;background:#251336;color:var(--text);box-shadow:0 30px 110px #000b;overflow:auto}
.bio-dialog::backdrop{background:#090312dc;backdrop-filter:blur(5px)}
.bio-inner{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1fr);gap:1.5rem;align-items:center;padding:2rem}
.bio-art{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:13px}
.bio-info h2{font-size:clamp(2rem,4vw,3rem);margin:.2rem 0;color:var(--green)}
.bio-role{font-weight:700;color:#f0ddff}
.bio-info p{line-height:1.7}
.bio-close{position:sticky;top:.7rem;float:right;margin:.7rem .7rem 0 0;z-index:2;background:var(--green);color:#160a29;border:0;border-radius:999px;font:inherit;font-weight:800;cursor:pointer;padding:.3rem .8rem}
@media(max-width:650px){.bio-inner{grid-template-columns:1fr;padding:1.2rem}.bio-art{max-height:45vh}.bio-dialog{max-height:92vh}}

/* Books and music landing sections */
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0 1.6rem}.product-card{display:grid;grid-template-columns:minmax(170px,.78fr) minmax(0,1fr);overflow:hidden;border-radius:20px;background:#301a47;border:1px solid #ffffff26}.product-art{min-height:350px;padding:2rem 1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:space-around;text-align:center;gap:1.4rem;box-shadow:inset 0 0 0 9px #ffffff0b;background:radial-gradient(circle at 50% 10%,#8236a9,transparent 58%),linear-gradient(140deg,#341253,#160b2b)}.coloring-art{background:radial-gradient(circle at 45% 16%,#d2fe7f44,transparent 55%),linear-gradient(140deg,#51317b,#241435)}.product-mark{font-size:2.1rem;font-weight:1000;letter-spacing:-.08em}.accent{color:var(--green)}.product-art strong{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12}.product-art small,.book-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#dfd0ef;font-weight:700}.product-copy{padding:1.6rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.product-copy h3,.soundtrack-info h3{font-size:1.5rem;line-height:1.2;margin:.3rem 0 .6rem}.product-copy p:not(.eyebrow),.soundtrack-info p:not(.eyebrow){color:var(--muted)}.product-copy .button{font-size:.9rem;margin-top:.8rem;text-align:center}.link-note{font-size:.75rem;opacity:.85}.future-note{color:var(--green);font-weight:750}.soundtrack-feature{margin:2rem 0;display:grid;grid-template-columns:minmax(200px,340px) 1fr;align-items:center;gap:2.5rem;padding:2rem;background:linear-gradient(115deg,#2f1649,#1b102e);border-radius:23px;border:1px solid #ffffff26}.record-art{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#20152f 0 4px,#362243 5px 6px,#1b0d2c 7px 9px);box-shadow:0 14px 25px #0009,inset 0 0 0 12px #0005}.record-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#7141a3,#260d46);font-size:clamp(1.5rem,3vw,2.4rem);font-weight:1000;letter-spacing:-.08em;text-align:center}.record-label span{color:var(--green)}.record-label small{max-width:90%;font-size:.5rem;line-height:1.4;letter-spacing:.17em}.soundtrack-info .button{margin-top:.8rem}.track-panel{border:1px solid #ffffff22;background:#211333;padding:1.5rem 2rem;border-radius:19px}.track-panel h3{margin-top:0}.track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 3rem;padding-left:1.5rem}.track-grid li{padding-left:.35rem;color:var(--muted)}.track-grid li::marker{color:var(--green);font-weight:750}.shop-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}@media(max-width:1080px){.product-grid{grid-template-columns:1fr}}@media(max-width:650px){.product-card{grid-template-columns:1fr}.product-art{min-height:270px}.soundtrack-feature{grid-template-columns:1fr}.record-art{width:min(85%,280px);margin:auto}.track-grid{grid-template-columns:1fr}.product-copy{padding:1.3rem}}

/* Shop collection */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.2rem;margin:2rem 0}
.shop-card{padding:1.5rem;min-height:290px;background:linear-gradient(145deg,#301a49,#211331);border:1px solid #ffffff26;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start}
.shop-card h3{font-size:1.45rem;margin:.5rem 0 .35rem}.shop-card p:not(.eyebrow){color:var(--muted);line-height:1.6}
.shop-card .button{margin-top:auto;text-align:center}.shop-symbol{display:grid;place-items:center;background:#4c276d;color:var(--green);border:1px solid #ffffff26;border-radius:14px;width:62px;height:62px;font-size:1.8rem;margin-bottom:.9rem}
.shop-soon{margin-top:auto;display:inline-block;padding:.6rem .8rem;border:1px solid #aaff4488;border-radius:99px;color:var(--green);font-weight:800;font-size:.75rem;letter-spacing:.08em}
.shop-footnote{color:var(--muted);font-size:.88rem;margin-top:1.5rem}

/* App discovery section */
.app-feature{display:grid;grid-template-columns:140px minmax(0,1fr);gap:2rem;align-items:center;max-width:880px;padding:2rem;border:1px solid #ffffff26;border-radius:24px;background:linear-gradient(145deg,#301a49,#211331)}
.app-tilde{display:grid;place-items:center;width:130px;height:130px;border-radius:28px;color:#b3f548;background:#180d29;font-size:7rem;font-weight:900;line-height:1}
.app-feature h3{font-size:1.7rem;margin:0 0 .7rem}.app-feature p{color:var(--muted);line-height:1.6}.app-feature .button{margin-top:1rem}.app-note{font-size:.94rem}
@media(max-width:600px){.app-feature{grid-template-columns:1fr;padding:1.3rem}.app-tilde{height:95px;width:95px;font-size:5rem}}
