:root { --glass:rgba(18,27,43,.63); }
body { background:linear-gradient(180deg,#080d19 0%,#101826 19%,#11151e 46%,#11151c 72%,#080b12 100%); }
#aurora { opacity:.3; }
.hero { min-height:850px; justify-content:center; padding:155px 0 170px; isolation:isolate; }
.hero:before { content:""; position:absolute; z-index:-3; top:-80px; bottom:0; left:calc(50% - 50vw); right:calc(50% - 50vw); background:radial-gradient(ellipse at 50% 48%,rgba(57,76,153,.19),transparent 55%),linear-gradient(180deg,#0b1020 0%,transparent 78%); }
.hero .eyebrow { position:relative; z-index:2; }
.hero h1 { position:relative; z-index:2; font-size:clamp(60px,9vw,112px); line-height:.96; margin:33px 0 25px; letter-spacing:-.045em; }
.hero h1 em { font-style:normal; background:linear-gradient(100deg,#f6f6ff 0%,#b9d5fc 30%,#8de6dd 70%,#faf2ff 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; -webkit-text-stroke:0; }
.hero-copy,.hero-actions { position:relative; z-index:3; }
.hero-copy { color:#c0c8d6; }
.hero .button.primary { background:linear-gradient(110deg,#fff,#dceaff); color:#101520; box-shadow:0 0 40px rgba(154,196,255,.18); }
.hero .button.ghost { background:rgba(255,255,255,.055); border:1px solid rgba(200,218,255,.25); }
.hero-beams { position:absolute; z-index:-1; top:0; bottom:0; left:calc(50% - 50vw); right:calc(50% - 50vw); overflow:hidden; pointer-events:none; filter:saturate(1.15); }
.hero-beams:before { content:""; position:absolute; inset:4% -20%; background:radial-gradient(ellipse at 18% 42%,rgba(64,173,255,.22),transparent 43%),radial-gradient(ellipse at 70% 55%,rgba(141,81,255,.17),transparent 44%); filter:blur(35px); animation:beamGlow 13s ease-in-out infinite alternate; }
.hero-beams span { position:absolute; left:-28%; top:46%; width:150%; height:36%; border-top:1.5px solid rgba(101,226,255,.52); border-radius:50%; transform:rotate(12deg) skewY(-8deg); box-shadow:0 -3px 10px rgba(73,192,255,.25),0 -13px 24px rgba(70,127,255,.12); animation:beamDrift 12s ease-in-out infinite alternate; }
.hero-beams span:nth-child(2){top:41%;height:39%;border-color:rgba(64,184,255,.31);transform:rotate(7deg) skewY(4deg);animation-delay:-4s}
.hero-beams span:nth-child(3){top:48%;height:28%;border-color:rgba(151,97,255,.7);transform:rotate(-7deg) skewY(10deg);box-shadow:0 -3px 12px rgba(150,85,255,.45),0 -20px 40px rgba(120,67,255,.13);animation-delay:-7s}
.hero-beams span:nth-child(4){top:53%;height:35%;border-color:rgba(84,134,255,.42);transform:rotate(-13deg) skewY(10deg);animation-delay:-2s}
.hero-beams span:nth-child(5){top:35%;height:46%;border-color:rgba(107,236,208,.55);transform:rotate(15deg) skewY(-11deg);box-shadow:0 -3px 12px rgba(99,246,211,.3);animation-delay:-5s}
.hero-beams span:nth-child(6){top:56%;height:40%;border-color:rgba(114,75,255,.36);transform:rotate(4deg) skewY(-6deg);animation-delay:-9s}
.hero-beams span:nth-child(7){top:28%;height:48%;border-color:rgba(74,175,255,.23);transform:rotate(-11deg) skewY(5deg);animation-delay:-3s}
@keyframes beamDrift { from { margin-left:-4%; filter:brightness(.75); } to { margin-left:5%; filter:brightness(1.4); } }
@keyframes beamGlow { to { transform:translateY(40px) scale(1.12); opacity:.5; } }
.signal-card { right:0; bottom:112px; z-index:2; }
.portal-section { padding:25px 0 80px; }
.portal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }.portal-head>span:last-child { color:#7d899a; font-size:12px; }
.portal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.portal-card { display:block; position:relative; min-height:316px; padding:20px; overflow:hidden; border-radius:24px; transition:transform .35s,border-color .35s,background .35s; }
.portal-card:hover { transform:translateY(-7px); border-color:rgba(200,220,255,.4); background:rgba(34,43,63,.77); }
.portal-number { color:#aeb9cb; font-size:10px; letter-spacing:.14em; }
.portal-card h3 { position:relative; z-index:2; margin:175px 0 7px; font-family:"DM Serif Display","Songti SC",serif; font-size:25px; font-weight:400; }
.portal-card p { position:relative; z-index:2; color:#9da9b9; font-size:12px; line-height:1.5; margin:0; }
.portal-arrow { position:absolute; right:20px; bottom:20px; font-size:18px; color:#a9c9e5; }
.portal-art { position:absolute; top:50px; left:0; right:0; height:155px; display:grid; place-items:center; }
.chess-art b { position:absolute; width:90px; height:90px; border-radius:50%; display:grid; place-items:center; font-family:serif; font-size:42px; color:#f0b19c; background:radial-gradient(circle at 35% 25%,#714343,#281e2f); border:2px solid #bf7c76; box-shadow:0 14px 25px #0009,0 0 45px #a64e8055; transform:rotate(-19deg) translate(-22px,-4px); }
.chess-art b:last-child { color:#a5e4dc; background:radial-gradient(circle at 35% 25%,#4e7377,#18303e); border-color:#72aaa9; transform:rotate(17deg) translate(40px,21px); }
.portal-chess { background:radial-gradient(circle at 48% 43%,#75445844,transparent 55%),var(--glass); }
.portal-news { background:radial-gradient(circle at 48% 43%,#226ab333,transparent 55%),var(--glass); }
.portal-idea { background:radial-gradient(circle at 48% 43%,#7442b433,transparent 55%),var(--glass); }
.portal-lab { background:radial-gradient(circle at 48% 43%,#2fa89833,transparent 55%),var(--glass); }
.news-art { align-content:center; gap:8px; transform:rotate(-12deg); }.news-art i { display:block; height:7px; border-radius:9px; background:linear-gradient(90deg,#95d9ff,#937cda); box-shadow:0 0 15px #689bea; width:55%; }.news-art i:nth-child(2){width:71%;}.news-art i:nth-child(3){width:43%;}.news-art i:nth-child(4){width:64%;}
.idea-art { font-size:125px; color:#d7c1ff; text-shadow:0 0 25px #aa7dff,0 0 75px #8755e5; animation:ideaFloat 5s ease-in-out infinite; }@keyframes ideaFloat{50%{transform:translateY(-12px) rotate(13deg)}}
.lab-art { display:flex; align-items:center; justify-content:center; gap:0; }.lab-art span { font-size:60px; color:#89e9da; filter:drop-shadow(0 0 16px #55c1c4); transform:rotate(20deg); }.lab-art span:nth-child(2){color:#c9b4ff;transform:translate(-5px,-20px) rotate(25deg)}.lab-art span:nth-child(3){color:#f2ca9c;transform:translate(-14px,23px) rotate(-10deg)}
.tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tool-card { min-height:365px; padding:26px; display:flex; flex-direction:column; border-radius:26px; }
.tool-top { display:flex; align-items:center; justify-content:space-between; color:#8ba0b0; font-size:10px; letter-spacing:.12em; }.tool-symbol{font-size:22px;color:var(--cyan)}
.tool-card h3 { font-family:"DM Serif Display","Songti SC",serif; font-size:27px; font-weight:400; margin:25px 0 9px; }.tool-card p { color:#8e9cad; font-size:12px; line-height:1.7; margin:0 0 17px; }
.palette-swatches { display:flex; gap:5px; height:98px; margin:8px 0 18px; }.swatch { flex:1; border:0; border-radius:11px; cursor:pointer; position:relative; transition:flex .25s,transform .25s; }.swatch:hover { flex:1.5; transform:translateY(-4px); }.swatch span { opacity:0; position:absolute; bottom:8px; left:50%; transform:translateX(-50%); white-space:nowrap; background:#07111fbb; color:white; border-radius:5px; padding:3px; font-size:9px; }.swatch:hover span { opacity:1; }
.tool-action { margin-top:auto; padding:11px 0 0; display:flex; justify-content:space-between; border:0; border-top:1px solid var(--line); background:none; color:#dce7ed; text-align:left; cursor:pointer; font-size:12px; }.tool-action:hover { color:var(--cyan); }
.decision-inputs { display:grid; gap:8px; }.decision-inputs input { width:100%; min-width:0; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:rgba(3,8,18,.25); color:#fff; outline:none; font:inherit; font-size:12px; }.decision-inputs input:focus { border-color:var(--cyan); }.decision-result { margin:13px 0; min-height:33px; color:var(--cyan); font-size:13px; }.decision-result.pop { animation:resultPop .45s ease; }@keyframes resultPop{50%{transform:scale(1.06);filter:brightness(1.8)}}
.word-chips { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0; }.word-chips span { padding:8px 9px; border:1px solid rgba(171,126,255,.3); border-radius:8px; background:rgba(135,89,194,.12); color:#e6d0f7; font-size:11px; }.tool-card .idea-prompt { font-size:11px; }
.ending { position:relative; min-height:590px; padding:150px 20px 120px; text-align:center; overflow:hidden; isolation:isolate; margin:60px calc(50% - 50vw) 0; }
.ending:after { content:""; position:absolute; z-index:-2; inset:0; background:radial-gradient(ellipse at 50% 100%,rgba(70,100,193,.25),transparent 50%),linear-gradient(180deg,transparent 10%,#080b14 100%); }
.ending h2 { margin:25px auto 20px; font-size:clamp(48px,7.3vw,90px); line-height:1.12; }.ending h2 em{font-style:normal;color:#a8c6e9}.ending p{color:#9bacc0;margin:0 0 30px}.ending .button{min-width:145px}
.ending-beams { position:absolute; z-index:-1; inset:0; overflow:hidden; }.ending-beams i { position:absolute; bottom:-34%; left:-25%; width:150%; height:80%; border-top:1px solid rgba(85,178,255,.55); border-radius:50%; transform:rotate(-13deg); box-shadow:0 -3px 10px #6b9eff44,0 -20px 35px #515cbe22; animation:beamDrift 13s ease-in-out infinite alternate; }.ending-beams i:nth-child(2){bottom:-26%;transform:rotate(11deg);border-color:#aa79f099;animation-delay:-4s}.ending-beams i:nth-child(3){bottom:-35%;transform:rotate(20deg);border-color:#6cead999;animation-delay:-7s}.ending-beams i:nth-child(4){bottom:-42%;transform:rotate(-22deg);border-color:#6a8dff66;animation-delay:-2s}.ending-beams i:nth-child(5){bottom:-30%;transform:rotate(5deg);border-color:#8a71ff77;animation-delay:-9s}.ending-beams i:nth-child(6){bottom:-39%;transform:rotate(-3deg);border-color:#8adfff88;animation-delay:-6s}
footer { margin-top:0; }
@media(max-width:950px){.portal-grid{grid-template-columns:repeat(2,1fr)}.tool-grid{grid-template-columns:1fr 1fr}.tool-card:last-child{grid-column:1/-1}}
@media(max-width:680px){.hero{min-height:735px;padding:130px 0 135px}.hero h1{font-size:clamp(54px,14vw,86px)}.hero-beams{inset:0 -12px}.portal-grid{gap:10px}.portal-card{min-height:245px;padding:14px}.portal-card h3{font-size:21px;margin-top:135px}.portal-art{top:28px;height:120px}.portal-number{font-size:9px}.chess-art b{width:67px;height:67px;font-size:31px}.idea-art{font-size:80px}.lab-art span{font-size:43px}.tool-grid{grid-template-columns:1fr}.tool-card:last-child{grid-column:auto}.tool-card{min-height:310px}.ending{min-height:520px;padding-top:135px}.ending h2{font-size:clamp(43px,10vw,65px)}}
@media(max-width:430px){.portal-card h3{font-size:18px}.portal-card p{font-size:11px}.portal-head>span:last-child{font-size:10px}.signal-card{bottom:30px}.hero-copy{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-beams span,.ending-beams i,.idea-art{animation:none}}
.wonder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.wonder-card { padding:24px; min-height:460px; border-radius:26px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.wonder-card:before { content:""; position:absolute; inset:-30% -30% auto; height:70%; pointer-events:none; background:radial-gradient(circle,rgba(100,128,255,.11),transparent 70%); }
.wonder-head { display:flex; justify-content:space-between; align-items:center; color:#728ba1; font-size:10px; letter-spacing:.08em; }
.wonder-card h3 { font-family:"DM Serif Display","Songti SC",serif; font-size:28px; font-weight:400; margin:24px 0 10px; }
.wonder-card>p { color:#93a1b1; font-size:12px; line-height:1.65; min-height:44px; margin:0 0 18px; }
.wonder-bottom { margin-top:auto; min-height:42px; padding-top:12px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); color:#8698aa; font-size:11px; }
.wonder-bottom button { border:0; background:none; color:#d9e7f1; cursor:pointer; white-space:nowrap; font-size:12px; }.wonder-bottom button:hover { color:var(--cyan); }
.memory-stage { width:min(250px,100%); aspect-ratio:1; margin:0 auto 18px; display:grid; grid-template-columns:1fr 1fr; gap:11px; position:relative; padding:9px; border-radius:50%; background:rgba(0,0,0,.17); border:1px solid rgba(255,255,255,.08); box-shadow:inset 0 0 30px #0005; }
.memory-pad { border:1px solid rgba(255,255,255,.17); cursor:pointer; opacity:.72; transition:filter .15s,opacity .15s,transform .15s,box-shadow .15s; }
.memory-pad:hover { opacity:.95; }.memory-pad.lit { opacity:1; filter:brightness(2); transform:scale(1.045); box-shadow:0 0 28px currentColor; }
.pad-0 { color:#5fe7cf; background:linear-gradient(135deg,#2abca5,#15554f); border-radius:100% 10px 10px 10px; }
.pad-1 { color:#859bff; background:linear-gradient(45deg,#6179e6,#293762); border-radius:10px 100% 10px 10px; }
.pad-2 { color:#f1a6da; background:linear-gradient(45deg,#a95794,#57244b); border-radius:10px 10px 10px 100%; }
.pad-3 { color:#f8d691; background:linear-gradient(135deg,#c59b50,#624726); border-radius:10px 10px 100% 10px; }
.memory-core { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:66px; height:66px; border-radius:50%; background:#101727; border:2px solid rgba(255,255,255,.2); box-shadow:0 0 20px #0008; display:grid; place-items:center; font-family:"DM Serif Display",serif; font-size:25px; pointer-events:none; }
.riddle-box { flex:1; min-height:215px; border:1px solid var(--line); border-radius:20px; padding:24px; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 100% 0,rgba(152,104,237,.15),transparent 55%),rgba(2,8,18,.23); }
.riddle-box>span { color:#ba95fa; font-family:"DM Serif Display",serif; font-size:60px; line-height:1; }
.riddle-box strong { font-family:"DM Serif Display","Songti SC",serif; font-weight:400; font-size:23px; line-height:1.4; }
.riddle-answer { color:#b9e9e0; font-size:13px; line-height:1.65; margin-top:16px; padding-top:15px; border-top:1px solid var(--line); }
.riddle-answer[hidden] { display:none; }
.sound-visual { flex:1; min-height:130px; display:flex; align-items:center; justify-content:center; gap:6px; }
.sound-visual i { width:6px; height:20%; border-radius:10px; background:linear-gradient(180deg,#bb9eff,#65ecd4); opacity:.7; box-shadow:0 0 15px rgba(137,196,255,.38); transform:scaleY(.5); }
.sound-visual.playing i { animation:soundBar .75s ease-in-out infinite alternate; }.sound-visual.playing i:nth-child(2n) { animation-delay:-.25s; }.sound-visual.playing i:nth-child(3n) { animation-delay:-.5s; }.sound-visual.playing i:nth-child(5n) { animation-duration:1.1s; }
@keyframes soundBar { to { transform:scaleY(2.2); opacity:1; } }
.sound-options { display:flex; gap:7px; margin:0 0 20px; }.sound-options button { flex:1; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.035); padding:10px 0; cursor:pointer; font-size:12px; }.sound-options button.active { border-color:var(--cyan); background:rgba(99,246,211,.11); color:var(--cyan); }
@media(max-width:950px){.wonder-grid{grid-template-columns:1fr 1fr}.wonder-card:last-child{grid-column:1/-1}.wonder-card{min-height:420px}}
@media(max-width:680px){.wonder-grid{grid-template-columns:1fr}.wonder-card:last-child{grid-column:auto}.wonder-card{min-height:420px}.memory-stage{width:min(250px,90%)}}
@media(prefers-reduced-motion:reduce){.sound-visual.playing i{animation:none;transform:scaleY(1.3)}}
.stock-teaser{display:grid;grid-template-columns:1.2fr .8fr;min-height:365px;margin:10px 0 30px;padding:42px 46px;position:relative;overflow:hidden;border-radius:29px;background:radial-gradient(circle at 82% 32%,rgba(69,221,192,.18),transparent 34%),radial-gradient(circle at 50% 90%,rgba(108,100,242,.16),transparent 50%),var(--glass)}
.stock-teaser:after{content:"";position:absolute;inset:auto -20% -65% 20%;height:110%;border:1px solid #80e7d855;border-radius:50%;transform:rotate(-13deg);pointer-events:none}
.stock-teaser-copy{position:relative;z-index:2}.stock-teaser h2{font-size:clamp(38px,5vw,61px);line-height:1.16;font-weight:400;margin:21px 0 15px;font-family:"DM Serif Display","Songti SC",serif}.stock-teaser h2 em{font-style:normal;color:#a9eada}.stock-teaser p{max-width:450px;font-size:14px;line-height:1.7;color:#aebdcc;margin:0 0 15px}.stock-teaser-note{font-size:11px;letter-spacing:.08em;color:#7fcfc1;margin-bottom:22px}.stock-teaser .button{min-height:46px;font-size:13px}
.stock-teaser-art{position:relative;display:grid;place-items:center}.stock-teaser-orbit{width:205px;height:205px;border:1px solid #a4ead26a;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 20px #89eedb0c,0 0 0 45px #89eedb08,inset 0 0 45px #74e8c72c;animation:stockFloat 6s ease-in-out infinite}.stock-teaser-orbit span{font-family:serif;font-size:100px;color:#b8f5e1;text-shadow:0 0 25px #74e8c7}.stock-teaser-line{position:absolute;right:0;top:25px;font-size:190px;color:#8bdded2c;transform:rotate(-13deg)}.stock-teaser-small{position:absolute;right:1%;bottom:25px;background:#142c36dd;border:1px solid #9ff6d060;border-radius:12px;padding:13px 19px;color:#9df0cd;font-size:17px;box-shadow:0 8px 32px #0005}.stock-teaser-small i{font-style:normal;margin-left:6px}
@keyframes stockFloat{50%{transform:translateY(-12px) rotate(9deg)}}
@media(max-width:680px){.stock-teaser{grid-template-columns:1fr;padding:30px 25px;min-height:440px}.stock-teaser-art{position:absolute;right:-32px;bottom:-52px;width:220px;height:230px;opacity:.58}.stock-teaser-orbit{width:135px;height:135px}.stock-teaser-orbit span{font-size:71px}.stock-teaser-small{display:none}.stock-teaser-copy{max-width:80%}.stock-teaser h2{font-size:37px}.stock-teaser p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.stock-teaser-orbit{animation:none}}
