@charset "UTF-8";
:root{color-scheme:dark;--ink:#f7f5ef;--muted:#a6b5cd;--soft:#6e83a2;--blue:#92caff;--gold:#f4d895;--night:#071426;--line:rgba(153,192,236,.16);--sans:"Avenir Next",Avenir,"Segoe UI",sans-serif;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--night);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit}button,input,a{touch-action:manipulation}button{border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.055em}h1 em,h2 em{font-weight:400;color:var(--blue)}h1{font-size:clamp(58px,6.3vw,96px)}h2{font-size:clamp(44px,4.8vw,70px)}svg{display:inline-block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.icon{width:21px;height:21px;flex-shrink:0}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--gold);color:var(--night);padding:12px 20px;border-radius:5px}.skip-link:focus{top:15px}
.universe{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 70% 30%,#102f55 0,transparent 55%),linear-gradient(130deg,#081425 0%,#081a31 65%,#09162a 100%)}.nebula{position:absolute;pointer-events:none;filter:blur(80px);border-radius:50%;opacity:.24}.nebula-one{width:55vw;height:48vw;right:-12vw;top:-20vw;background:#216caf;transform:rotate(-30deg)}.nebula-two{width:45vw;height:40vw;left:-30vw;top:50vh;background:#234c8d;opacity:.18}.grain{position:absolute;inset:0;opacity:.045;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#b6d4fa;opacity:var(--opacity,.4);animation:twinkle var(--duration,5s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}.star.bright{width:3px;height:3px;box-shadow:0 0 7px #d4e6ff}
.masthead{max-width:1360px;margin:auto;padding:29px 64px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:95px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:500;letter-spacing:.065em;text-decoration:none;color:#c9d7e8;min-height:44px}.brand svg{height:24px;width:24px;fill:var(--gold);stroke:none}.sound-toggle{display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(10,29,51,.4);border:1px solid var(--line);padding:10px 17px;border-radius:30px;font-size:11px;letter-spacing:.025em;min-height:44px;color:#bbcbe0;transition:background .2s,border-color .2s}.sound-toggle[aria-pressed=true]{border-color:#a1c5e44d;color:#d9e9ff;background:#173657}.sound-toggle .icon{width:16px;height:16px}
#experience{max-width:1232px;padding:0 0 20px;margin:auto}.scene{padding:38px 40px 15px;animation:scene-in .65s ease both;min-height:640px}.scene-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;min-height:calc(100svh - 183px);padding-top:15px;padding-bottom:75px;column-gap:4px}.intro-copy{z-index:2;padding-bottom:14px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.21em;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:25px;line-height:1.6}.eyebrow>span:not(.status-light){opacity:.55;padding:0 5px}.status-light{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #f8d48080;flex-shrink:0}.intro-description{color:var(--muted);font-size:16px;line-height:1.8;margin-top:28px}.intro-actions{display:flex;align-items:center;gap:26px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 25px;border-radius:7px;font-size:13px;line-height:1.5;font-weight:600;min-height:52px;transition:transform .2s,background .2s,box-shadow .2s;text-decoration:none;position:relative}.button-primary{background:var(--gold);color:#182236;box-shadow:0 3px 0 #9e793527,0 7px 25px #02091730}.button-primary:hover{background:#ffe6ab;transform:translateY(-2px);box-shadow:0 8px 28px #f3d3881a}.button-primary:active{transform:translateY(1px)}.button .icon{width:18px;height:18px;stroke-width:1.7}.sound-invitation{display:flex;gap:10px;text-align:left;align-items:center;font-size:11px;font-weight:500;background:none;padding:7px 0;color:#d4def0;min-height:48px}.sound-invitation small{display:block;font-size:10px;color:var(--soft);font-weight:400;margin-top:2px}.sound-orb{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:18px;color:var(--blue)}.sound-invitation[aria-pressed=true] .sound-orb{background:#294765}.pace-note{font-size:11px;color:#c3d0df;margin-top:35px;line-height:1.9;letter-spacing:.02em}.pace-note>span{color:var(--soft)}
.hero-world{position:relative;width:100%;height:575px;isolation:isolate;align-self:center;--pointer-x:0px;--pointer-y:0px;transform:translate(var(--pointer-x),var(--pointer-y));transition:transform .8s ease}.moon-halo{position:absolute;inset:11% 0% 9%;border-radius:50%;background:radial-gradient(ellipse,#5294d52e 0%,#4a83bb0b 55%,transparent 72%);z-index:-1}.orbit{border:1px solid #6594c325;border-radius:50%;position:absolute;inset:12% -1% 10%;transform:rotate(-20deg)}.orbit-one:before,.orbit-two:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#91bff1;box-shadow:0 0 15px #9ac4f8;left:10%;top:13%}.orbit-two{inset:5% 8% 4%;transform:rotate(35deg);border-style:dashed;border-color:#709ccd14}.hero-minion{position:absolute;height:auto;object-fit:contain;filter:drop-shadow(0 20px 24px #0005);mask-image:linear-gradient(#000 78%,transparent 99%);-webkit-mask-image:linear-gradient(#000 78%,transparent 99%)}.hero-kevin{width:62%;left:-3%;bottom:93px;transform:rotate(-9deg);animation:kevin-sway 6s ease-in-out infinite}.hero-stuart{width:65%;right:-8%;bottom:79px;transform:rotate(10deg);animation:stuart-sway 5s ease-in-out infinite}.world-ground{position:absolute;bottom:73px;left:10%;right:0;height:34px;background:radial-gradient(ellipse,#397dca4d 0%,transparent 65%);filter:blur(9px);z-index:3}.art-spark{position:absolute;color:var(--gold);font-family:Georgia,serif;animation:twinkle 4s ease-in-out infinite alternate}.spark-one{font-size:41px;top:12%;right:14%;transform:rotate(9deg)}.spark-two{font-size:24px;left:8%;top:36%;color:var(--blue)}.spark-three{font-size:18px;bottom:22%;right:5%}.speech-bubble{position:absolute;z-index:4;top:13%;left:33%;padding:13px 17px;background:#183954;border:1px solid #628aa543;box-shadow:0 9px 20px #0002;border-radius:12px 12px 12px 0;color:#dae9f3;font-family:var(--serif);font-style:italic;font-size:17px;transform:rotate(-7deg)}.speech-bubble span{margin-left:9px;color:var(--gold)}.parcel-tag{position:absolute;bottom:12px;left:22%;right:8%;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--gold);transform:rotate(-3deg)}.parcel-tag span{display:block;font-family:var(--serif);font-style:italic;font-size:17px;letter-spacing:0;color:#93abc5;margin-top:5px}.intro-footnote{position:absolute;bottom:4px;left:40px;right:40px;border-top:1px solid var(--line);padding-top:21px;color:#6e85a3;font-family:var(--serif);font-style:italic;font-size:14px;display:flex;align-items:center;gap:11px}.tiny-star{font-style:normal;color:#a7c7e1;font-size:13px}
.gift{position:relative;display:block;width:142px;height:155px;isolation:isolate}.hero-gift{position:absolute;left:40%;bottom:70px;z-index:5;transform:rotate(-7deg);animation:gift-float 5s ease-in-out infinite}.gift-box{position:absolute;inset:49px 8px 0;background:linear-gradient(110deg,#2a649f,#134980 60%,#09345f);box-shadow:inset 0 0 2px #b3e0ff80,14px 17px 25px #020b1d60;border:1px solid #5d9bcb;border-radius:3px 3px 8px 8px;transform:skewY(-2deg)}.gift-box:before,.gift-lid:before{content:"";position:absolute;width:22px;top:0;bottom:0;left:calc(50% - 11px);background:linear-gradient(90deg,#dcb66c,#fce4a4 52%,#bb9455)}.gift-box svg{position:absolute;width:28px;height:28px;left:calc(50% - 14px);top:32px;fill:#214876;stroke:none;z-index:2}.gift-lid{position:absolute;inset:35px 0 auto;height:26px;background:linear-gradient(110deg,#4e95d4,#2368a8);border:1px solid #92cff1;border-radius:4px;z-index:4;box-shadow:0 4px 8px #0004;transform:skewY(-2deg)}.gift-bow{position:absolute;width:69px;height:35px;left:37px;top:4px;z-index:3}.gift-bow:before,.gift-bow:after{content:"";position:absolute;top:1px;width:32px;height:24px;border:7px solid #e6c180;border-radius:50% 50% 0 50%;transform:rotate(18deg);box-shadow:inset 0 0 1px #fff,1px 1px 2px #0007}.gift-bow:after{right:0;transform:rotate(-18deg) scaleX(-1)}.gift-light{position:absolute;inset:-60px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#aed5ff4d,transparent 68%);animation:glow 3s ease-in-out infinite alternate}
.scene-heading{text-align:center;margin-bottom:30px}.scene-heading .eyebrow{justify-content:center;margin-bottom:18px}.scene-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.8;margin-top:19px}.scene-actions{display:flex;align-items:center;justify-content:center;gap:20px;min-height:73px;margin-top:24px;flex-wrap:wrap}.text-button{background:transparent;color:#a4b9d1;font-size:12px;padding:12px 4px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:color .2s}.text-button:hover{color:var(--gold)}.text-button>span{font-size:17px}.mission-message{margin:20px auto 0;max-width:650px;display:flex;gap:20px;padding:25px 5px;border-top:1px solid var(--line);animation:message-in .5s ease both}.message-star{color:var(--gold);font-size:23px}.mission-message p{font-size:14px;color:var(--muted);line-height:1.85}.mission-message .message-lead{font-family:var(--serif);color:#e5edf7;font-size:26px;letter-spacing:-.035em;line-height:1.3;margin-bottom:10px}.mission-count{font-size:11px;color:var(--soft);text-align:center;letter-spacing:.04em;min-height:22px}.karma-stage{position:relative;height:280px;max-width:700px;margin:0 auto}.bot-assembly{position:absolute;left:7%;top:64px;width:155px;height:205px;transform:rotate(-6deg);transition:transform .8s}.bot-antenna{position:absolute;left:73px;top:-24px;height:33px;width:4px;background:#6180a0}.bot-antenna i{position:absolute;top:0;left:-5px;height:14px;width:14px;border-radius:50%;background:#6485a5;box-shadow:0 0 8px #6195b430;transition:background .6s}.bot-head{position:absolute;top:0;left:3px;right:3px;height:100px;background:linear-gradient(120deg,#8da5b7,#536c80);border:1px solid #bacfde66;border-radius:25px;box-shadow:inset 4px 3px 0 #cee2f039,5px 6px 15px #030b1677}.bot-head:before,.bot-head:after{content:"";position:absolute;top:33px;left:-10px;width:10px;height:34px;background:#6f8b9f;border-radius:5px 0 0 5px}.bot-head:after{left:auto;right:-10px;border-radius:0 5px 5px 0}.bot-face{position:absolute;inset:18px 16px;background:#0d2332;border-radius:16px;box-shadow:inset 0 3px 5px #0006;display:flex;align-items:center;justify-content:center;gap:30px}.bot-face>i{width:18px;height:4px;background:#547187;border-radius:4px;transition:height .4s,background .4s}.bot-mouth{position:absolute;bottom:9px;width:14px;height:4px;background:#547187;border-radius:0 0 10px 10px}.bot-body{position:absolute;top:108px;left:25px;right:25px;height:80px;border-radius:16px 16px 24px 24px;background:linear-gradient(120deg,#738fa5,#3b566a);text-align:center;color:#a9c6d4;box-shadow:inset 3px 0 0 #90abbd88,5px 6px 15px #030b1677}.bot-body svg{display:block;width:21px;height:21px;margin:15px auto 3px;fill:#819cb0;stroke:none;transition:fill .6s}.bot-body span{font-size:8px;letter-spacing:.18em}.bot-shadow{position:absolute;bottom:0;left:0;right:0;height:15px;background:#0004;filter:blur(7px);border-radius:50%}.bot-state{position:absolute;right:-53px;top:-28px;font-family:var(--serif);font-style:italic;font-size:22px;color:#a5bcd1;transform:rotate(12deg)}.karma-awake .bot-assembly{transform:rotate(0deg)}.karma-awake .bot-antenna i{background:#f5d183;box-shadow:0 0 20px #f5d18388}.karma-awake .bot-face>i{height:16px;background:#81e4e2;box-shadow:0 0 9px #81e4e266}.karma-awake .bot-mouth{height:9px;background:#81e4e2}.karma-awake .bot-body svg{fill:var(--gold)}.karma-helper{position:absolute;right:0;bottom:0;height:278px;width:245px}.karma-helper img{position:absolute;bottom:0;left:-30px;width:290px;height:auto;mask-image:linear-gradient(#000 82%,transparent 98%);-webkit-mask-image:linear-gradient(#000 82%,transparent 98%)}.helper-bubble{position:absolute;right:0;top:17px;font-family:var(--serif);font-size:16px;line-height:1.25;background:#15354e;padding:13px 17px;border-radius:13px 13px 13px 0;border:1px solid #a6c9e72b;transform:rotate(7deg);color:#c8dbed}.tongue-gag{display:none;position:absolute;right:26px;top:81px;font-size:37px;transform:rotate(12deg)}.karma-awake .tongue-gag{display:block;animation:message-in .5s ease}.karma-awake .helper-bubble{font-size:14px;top:8px}.chocolates{position:absolute;left:35%;right:32%;top:65px;height:160px;display:flex;align-items:center;justify-content:center;gap:0;z-index:2}.chocolate{width:67px;height:100px;flex-shrink:0;padding:10px;background:none;position:relative;transition:transform .25s,opacity .25s}.chocolate:nth-child(2){align-self:flex-end}.chocolate:nth-child(3){align-self:flex-start}.chocolate:hover{transform:translateY(-7px) rotate(7deg)}.chocolate-tile{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#593629;padding:4px;width:41px;height:53px;border-radius:4px;box-shadow:3px 4px 0 #2f1d18,0 9px 20px #0005;transform:rotate(18deg);border:1px solid #885438}.chocolate:nth-child(2) .chocolate-tile{transform:rotate(-18deg)}.chocolate-tile i{border-radius:2px;background:linear-gradient(140deg,#b58353,#865536 60%);box-shadow:inset 1px 1px 0 #d7a57770,1px 1px 0 #42291f}.chocolate-spark{position:absolute;right:5px;top:3px;color:var(--gold);font-size:19px}.chocolate.is-collected{opacity:.25;transform:scale(.75)}.chocolate.is-collected .chocolate-spark{font-size:22px;opacity:1}.chocolate.is-collected .chocolate-spark:after{content:"✓"}.chocolate.is-collected .chocolate-tile{opacity:.25}
.workshop{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:35px auto 0;max-width:1020px}.project{min-width:0;position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #7196bf2c;border-radius:12px;background:linear-gradient(150deg,#122945b3,#0a1b3099);padding:18px;transition:transform .25s,border-color .3s,background .3s,box-shadow .3s}.project:hover{transform:translateY(-5px);border-color:#9dc6f078}.project-number{font-size:9px;color:#7491ae;font-variant-numeric:tabular-nums;letter-spacing:.12em}.project-light{position:absolute;right:18px;top:23px;height:5px;width:5px;border-radius:50%;background:#567087;transition:background .3s,box-shadow .3s}.project-art{display:flex;align-items:center;justify-content:center;position:relative;height:142px;width:100%;opacity:.48;filter:saturate(.35);transition:opacity .5s,filter .5s}.logo-art img{width:134px;height:108px;object-fit:contain}.project-title{font-family:var(--serif);font-size:25px;letter-spacing:-.03em;line-height:1.2;color:#d6e2f0}.project-caption{font-size:10px;color:#a0b4ca;line-height:1.5;margin-top:8px;min-height:30px}.project-hint{display:flex;width:100%;justify-content:space-between;border-top:1px solid #8dacca1f;padding-top:12px;margin-top:16px;font-size:9px;letter-spacing:.015em;color:#7897b4;align-items:center}.project-hint>span{font-size:17px;line-height:1}.project.is-lit{background:linear-gradient(150deg,#1b3e62d9,#102c4899);border-color:#83b7e18c;box-shadow:0 0 25px #74acec08,inset 0 0 25px #83b7e107}.project.is-lit .project-art{opacity:1;filter:saturate(1)}.project.is-lit .project-light{background:var(--gold);box-shadow:0 0 10px #f4d895a6}.project.is-lit .project-hint{color:#b2cbe2}.code-window{position:relative;display:block;border:1px solid #92c4e2;border-radius:5px;width:116px;height:81px;background:#09192b;padding:10px;transform:rotate(-9deg);box-shadow:5px 9px 0 #294361}.code-window>i{float:left;width:3px;height:3px;background:#8fbdd9;border-radius:50%;margin-right:4px}.code-window b{display:block;margin-top:16px;color:#d8bb80;font:18px monospace;letter-spacing:-1px}.code-window>span{display:block;font:5px monospace;color:#8bbdda;margin-top:5px}.school-signal{position:absolute;width:38px;height:38px;bottom:12px;right:8px;color:var(--gold);transform:rotate(10deg);stroke-width:3}.gamepad{display:block;position:relative;width:130px;height:73px;background:linear-gradient(135deg,#8bb5e2,#487fae);border-radius:30px 30px 23px 23px;transform:rotate(-12deg);box-shadow:4px 7px 0 #294a6e,inset 1px 1px 2px #d0e6ff80}.gamepad-cross{position:absolute;left:21px;top:23px;width:27px;height:9px;background:#15304c;border-radius:1px}.gamepad-cross:after{content:"";position:absolute;width:9px;height:27px;left:9px;top:-9px;background:#15304c;border-radius:1px}.gamepad-dot{position:absolute;width:10px;height:10px;background:#edc581;border-radius:50%;right:20px;top:21px;box-shadow:1px 2px 0 #6e502f}.dot-b{right:32px;top:34px}.gamepad>span{position:absolute;bottom:12px;left:58px;font:bold 8px var(--sans);color:#1a3b5f}.game-orbit{position:absolute;width:155px;height:90px;border:1px dashed #709bc850;border-radius:50%;transform:rotate(20deg)}.home-art .smart-home{width:91px;height:79px;border:2px solid #91bfe5;border-top:none;position:relative;margin-top:24px;transform:rotate(-6deg);background:linear-gradient(#1a4069,#0e2c4b);box-shadow:5px 6px 0 #0a2038}.smart-home:before{content:"";position:absolute;width:63px;height:63px;left:12px;top:-32px;border-left:2px solid #91bfe5;border-top:2px solid #91bfe5;transform:rotate(45deg);background:#1a4069}.smart-home:after{content:"";position:absolute;width:21px;height:34px;bottom:0;left:33px;background:#e8c67f;box-shadow:0 0 13px #e8c67f40}.smart-home>span{position:absolute;font-size:17px;top:7px;left:33px;color:#c5e4ff;z-index:1}.nfc-tag{position:absolute;right:9px;bottom:12px;border:1px solid #cae4fa;background:#234b6e;border-radius:50%;height:35px;width:35px;text-align:center;line-height:33px;font-size:10px;color:#e6f3ff;transform:rotate(15deg)}.project-detail{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;max-width:810px;margin:24px auto 0;min-height:91px;padding:13px 20px;color:#b3c6db;font-size:13px;line-height:1.8}.project-detail strong{color:#e8e8dd;font-weight:500}.detail-spark{font-family:var(--serif);font-size:25px;color:var(--gold);flex-shrink:0}
.constellation-world{height:330px;max-width:850px;margin:-5px auto 0;position:relative}.constellation-map{width:100%;height:100%;overflow:visible}.constellation-lines{stroke:#6b9bcc;stroke-width:1;opacity:.53}.constellation-stars{fill:#cce7ff;stroke:#8fccff;stroke-width:1;filter:drop-shadow(0 0 5px #a2d5ff80)}.shared-bridges{fill:none;stroke:url(#bridge-gradient);stroke-width:1.5;stroke-dasharray:5 5}.bridge{opacity:0;transition:opacity 1s}.lit-ferias .bridge-ferias,.lit-telegram .bridge-telegram,.lit-ideas .bridge-ideas{opacity:.8}.shared-heart{fill:#efd2971f;stroke:var(--gold);stroke-width:1.4;opacity:0;transition:opacity 1s,filter 1s}.all-shared .shared-heart{opacity:1;filter:drop-shadow(0 0 15px #f4d89599)}.constellation-name{position:absolute;bottom:8px;color:#d4e7f6;font-family:var(--serif);font-size:28px;letter-spacing:-.03em;text-align:center;line-height:1.2}.constellation-name small{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.12em;color:#7d99b9;margin-top:5px}.name-jesus{left:22%}.name-dani{right:19%}.together-label{position:absolute;top:63%;left:50%;transform:translateX(-50%);font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gold);opacity:0;transition:opacity 1s}.all-shared .together-label{opacity:1}.shared-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0 0}.shared-button{background:#132c4780;border:1px solid #6a8cab45;border-radius:30px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:13px;padding:10px 19px;font-size:11px;transition:background .25s,border-color .25s,transform .25s}.shared-button:hover{transform:translateY(-3px);border-color:#a5c9e787}.shared-button .icon{width:17px;height:17px;color:#aacfe9}.shared-button>span{font-size:18px;color:#aacfe9}.shared-button>i{font-style:normal;color:#6b89a6;font-size:15px}.shared-button.is-lit{border-color:#edd3957d;background:#e6cb8620;color:#f5dfb6}.shared-button.is-lit>i{color:var(--gold)}.together-detail{min-height:72px;margin-top:12px}
.scene-reveal{text-align:center;padding-top:56px;min-height:640px}.scene-reveal>.eyebrow{justify-content:center}.scene-reveal h2{font-size:clamp(64px,7vw,98px)}.reveal-intro{margin-top:25px;font-size:16px;line-height:1.8;color:var(--muted)}.gift-button{background:none;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;width:280px;height:290px;margin:20px auto 0;position:relative}.reveal-gift{transform:scale(1.3);animation:gift-float 4s ease-in-out infinite}.open-gift-label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--gold);margin-top:44px;margin-bottom:7px}.open-gift-label>span{font-size:25px}.gift-button:hover .reveal-gift{filter:drop-shadow(0 0 10px #9acdf344)}.domain-reveal{animation:domain-in 1s ease both;margin-top:45px}.domain-eyebrow{font-size:9px;letter-spacing:.24em;color:#8aa8ca}.domain-name{font-family:var(--serif);font-size:clamp(52px,8.2vw,115px);letter-spacing:-.06em;color:#e4f1fe;text-shadow:0 0 55px #87bfff52;line-height:1.3;margin-top:5px}.domain-name>span{color:var(--blue)}.reveal-dedication{font-family:var(--serif);font-size:clamp(28px,3.3vw,43px);letter-spacing:-.03em;line-height:1.3;margin-top:24px;color:#e2e8ee}.reveal-dedication em{color:var(--gold)}.domain-pair{display:flex;align-items:center;justify-content:center;gap:20px;margin:38px 0 8px;font-size:11px;letter-spacing:.04em;color:#9ebcda}.domain-connection{display:flex;align-items:center;gap:8px;color:#7794b055;font-size:10px}.domain-connection svg{width:15px;height:15px;stroke:var(--gold)}.domain-note{font-size:10px;color:var(--soft);margin-bottom:30px}.domain-open .scene-reveal h2{font-size:50px}.domain-open .reveal-intro{font-size:14px;margin-top:16px}.domain-open .scene-reveal>.eyebrow{margin-bottom:17px}.domain-open .scene-reveal{padding-top:35px}
.scene-letter{padding-top:32px;padding-bottom:10px}.letter-intro{text-align:center;margin-bottom:42px}.letter-intro .eyebrow{justify-content:center}.letter-intro h2{font-size:58px}.love-letter{position:relative;max-width:740px;margin:auto;color:#29415a;background:#f4f0e7;background-image:radial-gradient(ellipse at 10% 0%,#fffdf7,transparent 65%);padding:53px 69px 55px;box-shadow:0 35px 80px #0003;border-radius:3px;isolation:isolate}.love-letter:before{content:"";position:absolute;inset:12px;border:1px solid #2b4d6a17;z-index:-1;pointer-events:none}.letter-top{display:flex;align-items:center;justify-content:space-between;gap:13px;font-family:var(--sans);font-size:8px;font-weight:600;letter-spacing:.13em;color:#698097;margin-bottom:39px}.letter-top svg{width:17px;height:17px;color:#7994ad;flex-shrink:0}.love-letter h2{font-size:46px;color:#1f415c;letter-spacing:-.04em;margin-bottom:24px}.love-letter>p{font-family:var(--serif);font-size:19px;line-height:1.85;margin-bottom:21px;letter-spacing:-.015em}.love-letter .letter-love{font-size:clamp(32px,4vw,43px);font-style:italic;letter-spacing:-.045em;color:#295d89;margin-top:30px;margin-bottom:6px;line-height:1.3}.love-letter .signature{font-size:35px;font-style:italic;color:#31536d;margin:8px 0 0;transform:rotate(-5deg);display:inline-block}.signature>span{font-size:21px;font-style:normal}.paper-star{position:absolute;right:63px;bottom:55px;color:#c5a965;font-size:42px}.letter-actions{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:38px;flex-wrap:wrap}.letter-footer{margin:50px auto 0;max-width:740px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;color:#8298b2;font-size:9px;text-align:center}.letter-footer>span{flex-basis:100%;font-family:var(--serif);font-style:italic;font-size:14px;margin-bottom:8px}.letter-footer a{color:#7189a4;text-decoration:none;padding:12px 5px;min-height:44px}.letter-footer a:hover{color:#b8cce5}.fallback-wrapper{padding:30px 20px 70px}.no-js-note{text-align:center;max-width:580px;margin:30px auto 0;color:var(--muted);font-size:13px}
.journey-footer{min-height:77px;display:flex;align-items:center;justify-content:center;gap:25px;position:relative;margin:23px 40px 0;border-top:1px solid var(--line)}.journey-track{display:flex;align-items:center;gap:5px}.journey-dot{display:block;width:5px;height:5px;border-radius:50%;background:#58739480;transition:background .3s,box-shadow .3s}.journey-dot.is-current{background:var(--gold);box-shadow:0 0 0 4px #f4d89512}.journey-dot.is-complete{background:#a5bad0}.journey-line{height:1px;width:24px;background:#7393b42b}.journey-caption{font-size:9px;letter-spacing:.06em;color:#8ba0b9}.back-button{position:absolute;left:0;background:none;display:flex;align-items:center;gap:10px;font-size:11px;color:#90a8c3;padding:12px 6px 12px 0;min-height:44px}.back-button>span{font-size:18px}.back-button:hover{color:var(--ink)}body[data-scene=intro] .journey-footer{border-top:0;margin-top:4px;min-height:59px}.scene-letter~.journey-footer{margin-bottom:0}.scene h1:focus,.scene h2:focus,.love-letter h2:focus{outline:none}.celebration-particle{position:fixed;left:50%;top:50%;pointer-events:none;z-index:30;color:var(--gold);font-size:16px;animation:particle-flight 1.7s cubic-bezier(.15,.5,.35,1) forwards}
@keyframes twinkle{from{opacity:calc(var(--opacity,.5)*.35)}to{opacity:var(--opacity,.65)}}@keyframes scene-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes domain-in{from{opacity:0;filter:blur(5px);transform:translateY(14px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes kevin-sway{0%,100%{transform:rotate(-9deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-7px)}}@keyframes stuart-sway{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(7deg) translateY(-8px)}}@keyframes gift-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes glow{from{opacity:.5}to{opacity:1}}@keyframes particle-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rotate)) scale(.3)}}
@media(min-width:1500px){.scene-intro{min-height:710px}.hero-world{height:630px}.intro-copy{padding-left:0}}
@media(max-width:1100px){.masthead{padding:22px 38px}.scene{padding-left:35px;padding-right:35px}.scene-intro{min-height:650px;padding-bottom:75px}.hero-world{height:500px}.hero-kevin{bottom:105px}.hero-stuart{bottom:95px}.hero-gift{left:37%;transform:scale(.88) rotate(-7deg)}.intro-actions{gap:17px}.sound-invitation{font-size:10px}.intro-footnote{left:35px;right:35px}.project{padding:14px}.project-caption{font-size:9px}.project-art{height:131px}.logo-art img{width:120px}.project-title{font-size:23px}.project-light{right:15px;top:19px}}
@media(max-width:760px){.masthead{padding:16px 24px;min-height:78px}.brand{font-size:10px;gap:9px}.brand svg{width:21px;height:21px}.sound-toggle{font-size:9px;padding:8px 12px;gap:7px}.sound-toggle .icon{width:14px;height:14px}.scene{padding:25px 24px 12px;min-height:0}.scene-intro{display:flex;flex-direction:column;align-items:stretch;padding:18px 28px 69px;min-height:0}.intro-copy{padding:0;z-index:2}.eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:20px}h1{font-size:clamp(54px,10.2vw,74px);line-height:1.025;letter-spacing:-.055em}.intro-description{font-size:13px;line-height:1.8;margin-top:22px}.intro-actions{margin-top:24px;gap:20px}.button{font-size:12px;padding:14px 20px;gap:18px;min-height:49px}.sound-invitation{font-size:10px;gap:8px}.sound-invitation small{font-size:9px}.sound-orb{width:31px;height:31px;font-size:17px}.pace-note{font-size:10px;margin-top:23px;line-height:1.8}.pace-note br{display:none}.pace-note>span{display:block}.hero-world{height:355px;width:100%;max-width:460px;margin:-36px auto 8px;align-self:center}.hero-kevin{width:54%;left:6%;bottom:41px}.hero-stuart{width:57%;right:-1%;bottom:34px}.hero-gift{left:41%;bottom:13px;transform:scale(.68) rotate(-7deg);transform-origin:bottom center}.speech-bubble{top:13%;left:43%;font-size:13px;padding:9px 12px}.moon-halo{inset:8% 3% 0}.orbit{inset:12% 3% 0}.orbit-two{inset:7% 8% -2%}.spark-one{top:29%;right:0;font-size:30px}.spark-two{left:8%;top:30%;font-size:17px}.spark-three{bottom:13%;right:8%;font-size:16px}.world-ground{bottom:30px}.parcel-tag{bottom:-12px;left:25%;right:6%;font-size:8px}.parcel-tag span{font-size:14px;margin-top:2px}.intro-footnote{left:28px;right:28px;bottom:0;font-size:12px;line-height:1.6;padding-top:17px}.journey-footer{margin:22px 24px 0;min-height:80px;gap:17px;flex-wrap:wrap;padding:16px 0}.journey-caption{font-size:8px}.journey-line{width:17px}.back-button{font-size:10px;gap:6px}.journey-footer:has(.back-button:not([hidden])){padding-left:58px}.scene-heading{margin-bottom:24px}.scene-heading .eyebrow{margin-bottom:17px}h2{font-size:48px}.scene-heading>p:last-child{font-size:12px;line-height:1.8;margin-top:19px}.karma-stage{height:255px;max-width:420px;margin:9px auto 0}.bot-assembly{left:7%;top:75px;transform:scale(.74) rotate(-6deg);transform-origin:left top}.karma-awake .bot-assembly{transform:scale(.74) rotate(0)}.bot-state{right:-41px;font-size:19px}.karma-helper{right:-10px;bottom:3px;width:158px;height:248px}.karma-helper img{width:218px;left:-27px}.helper-bubble{font-size:13px;right:6px;top:9px;padding:10px 12px}.karma-awake .helper-bubble{font-size:11px;top:7px}.tongue-gag{right:8px;top:66px;font-size:31px}.chocolates{left:35%;right:30%;top:53px;height:175px;flex-direction:column;gap:0}.chocolate{width:55px;height:62px;padding:5px;position:absolute;left:0;top:0}.chocolate:nth-child(2){left:12px;top:61px}.chocolate:nth-child(3){left:0;top:119px}.chocolate-tile{width:32px;height:42px;gap:2px;padding:3px}.chocolate-spark{right:5px;top:-9px;font-size:15px}.mission-count{font-size:10px}.mission-message{margin-top:16px;padding:22px 0 5px;gap:14px}.mission-message .message-lead{font-size:25px;margin-bottom:10px}.mission-message p{font-size:13px;line-height:1.85}.message-star{font-size:19px}.scene-actions{margin-top:22px;gap:10px}.text-button{font-size:11px}.workshop{grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.project{border-radius:10px;padding:13px}.project-art{height:110px}.project-title{font-size:25px}.project-caption{font-size:9px;min-height:28px;margin-top:7px}.project-hint{font-size:8px;padding-top:9px;margin-top:12px;min-height:26px}.project-number{font-size:8px}.logo-art img{width:117px;height:100px}.code-window{width:99px;height:71px;padding:8px}.code-window b{font-size:15px;margin-top:13px}.code-window>span{font-size:4px}.school-signal{width:30px;right:1px;bottom:7px}.gamepad{width:109px;height:64px}.gamepad-cross{left:18px;top:22px;transform:scale(.8)}.gamepad-dot{right:13px;top:18px;width:8px;height:8px}.dot-b{right:26px;top:29px}.gamepad>span{left:48px;bottom:8px;font-size:7px}.game-orbit{width:126px;height:74px}.home-art .smart-home{transform:rotate(-6deg) scale(.8);margin-top:22px}.nfc-tag{right:2px;bottom:10px;height:29px;width:29px;line-height:27px;font-size:8px}.project-detail{font-size:12px;padding:12px 0;min-height:120px;gap:9px;margin-top:17px}.detail-spark{font-size:21px}.constellation-world{height:auto;aspect-ratio:1.9;max-width:600px;margin:9px -14px 0}.constellation-name{font-size:21px;bottom:-9px}.constellation-name small{font-size:7px;margin-top:4px}.name-jesus{left:20%}.name-dani{right:18%}.together-label{font-size:13px;top:63%}.shared-controls{margin-top:43px;flex-wrap:wrap;gap:9px}.shared-button{font-size:10px;gap:8px;padding:8px 14px;min-height:45px}.shared-button>span{font-size:16px}.shared-button .icon{width:15px;height:15px}.together-detail{min-height:95px;margin-top:16px}.scene-reveal{padding-top:35px;min-height:650px}.scene-reveal h2{font-size:68px}.reveal-intro{font-size:14px;margin-top:22px}.domain-open .scene-reveal{padding-top:31px}.domain-open .scene-reveal h2{font-size:43px}.domain-open .reveal-intro{font-size:12px;margin-top:18px}.gift-button{height:290px;width:250px;margin-top:22px}.reveal-gift{transform:scale(1.25)}.domain-reveal{margin-top:42px}.domain-eyebrow{font-size:8px;letter-spacing:.18em}.domain-name{font-size:clamp(49px,11.9vw,85px);margin-top:8px}.reveal-dedication{font-size:31px;margin-top:22px}.domain-pair{gap:13px;font-size:10px;margin-top:37px}.domain-connection{gap:5px}.domain-note{font-size:9px;line-height:1.6;margin-bottom:31px}.scene-letter{padding-left:18px;padding-right:18px}.letter-intro{margin-bottom:30px}.letter-intro h2{font-size:46px}.love-letter{padding:34px 28px 40px}.love-letter:before{inset:9px}.letter-top{font-size:6px;letter-spacing:.08em;margin-bottom:29px;gap:8px}.letter-top svg{width:14px;height:14px}.love-letter h2{font-size:37px;margin-bottom:23px}.love-letter>p{font-size:17px;line-height:1.8;margin-bottom:21px}.love-letter .letter-love{font-size:34px;margin-top:28px}.love-letter .signature{font-size:30px}.paper-star{right:33px;bottom:40px;font-size:32px}.letter-actions{gap:14px;margin-top:27px;flex-direction:column}.letter-footer{margin-top:28px;font-size:9px;gap:4px}.letter-footer>span{font-size:13px}.fallback-wrapper{padding-left:18px;padding-right:18px}}
@media(min-width:540px) and (max-width:760px){.scene-intro{padding:30px 50px 75px}.hero-world{margin-top:-130px;margin-left:auto;margin-right:-20px;height:430px;width:390px;z-index:0}.intro-copy{position:relative}.intro-description,.intro-actions,.pace-note{max-width:400px}.intro-actions{position:relative;z-index:3}.hero-kevin{left:0}.hero-stuart{right:-3%}.intro-footnote{left:50px;right:50px}.workshop{max-width:500px}.scene{padding-left:40px;padding-right:40px}}
@media(max-width:370px){.masthead{padding-left:18px;padding-right:18px}.brand span{font-size:9px}.scene-intro{padding-left:22px;padding-right:22px}h1{font-size:53px}.intro-actions{gap:13px}.button{padding-left:17px;padding-right:17px}.sound-invitation{font-size:9px;gap:6px}.sound-invitation small{font-size:8px}.sound-orb{width:27px;height:27px}.hero-world{height:320px;margin-top:-17px}.scene{padding-left:18px;padding-right:18px}.scene-letter{padding-left:13px;padding-right:13px}.love-letter{padding-left:24px;padding-right:24px}.project-title{font-size:22px}.project-caption{font-size:8px}.karma-helper{right:-17px}.bot-assembly{left:4%}.chocolates{left:36%}.domain-name{font-size:46px}.brand{gap:7px}.sound-toggle{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-world{transform:none!important}}
.scene-intro,#scene-karma{overflow:clip}.fallback-details{max-width:740px;margin:auto}.fallback-details summary{padding:45px 24px;text-align:center;cursor:pointer;font-family:var(--serif);font-size:30px;list-style:none}.fallback-details summary::-webkit-details-marker{display:none}.fallback-details summary>span{display:block;color:var(--gold);font-family:var(--sans);font-size:9px;letter-spacing:.2em;margin-bottom:15px}.fallback-details summary>small{display:block;font-family:var(--sans);font-size:12px;color:var(--blue);margin-top:22px}.fallback-details summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.fallback-details[open] summary{font-size:22px;padding-top:10px}.fallback-details[open] summary>small{display:none}
html{scroll-padding-top:110px}.masthead{position:sticky;top:0;z-index:20;background:linear-gradient(#071426ef,#071426c9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mission-message:focus,.domain-name:focus{outline:none}.decor-icon{width:1em;height:1em;vertical-align:-.12em;fill:currentColor;stroke:none}.decor-icon.line-icon{fill:none;stroke:currentColor;stroke-width:1.5}.eyebrow .decor-icon{width:12px;height:12px}.speech-bubble .decor-icon{height:16px;width:16px}.text-button .decor-icon,.project-hint .decor-icon{height:14px;width:14px}.shared-button .decor-icon{width:16px;height:16px}.signature .decor-icon{color:#4278a5;width:22px;height:22px}.smart-home>span .decor-icon{width:22px;height:22px}.chocolate.is-collected .chocolate-spark:after{content:none}.tongue-gag{font-size:0!important;width:17px;height:25px;right:104px;top:183px;border-radius:3px 4px 11px 11px;background:linear-gradient(90deg,#c8677d,#ec95a6 60%,#d97c90);border:1px solid #b75672;transform:rotate(-34deg);box-shadow:1px 2px 2px #68374740}.tongue-gag:after{content:"";position:absolute;left:8px;top:0;width:1px;height:13px;background:#ba586b70}.karma-awake .tongue-gag{animation:tongue-wiggle 1.3s ease-in-out 3}.celebration-particle .decor-icon{display:block;width:16px;height:16px}.paper-star .decor-icon{width:38px;height:38px}
@keyframes tongue-wiggle{0%,100%{transform:rotate(-34deg) scaleY(.85)}50%{transform:rotate(-26deg) scaleY(1)}}
.decor-icon.icon{fill:none;stroke:currentColor;stroke-width:1.5}.decor-icon.icon-diagonal{transform:rotate(-45deg)}.decor-icon.signature-heart{color:#4278a5;fill:currentColor;stroke:none}.smart-home>span .decor-icon{position:relative;top:-1px;left:-1px}.chocolate-spark .decor-icon{width:16px;height:16px}
@media(max-width:760px){.tongue-gag{width:14px;height:21px;right:58px;top:176px}.tongue-gag:after{left:6px;height:10px}.paper-star .decor-icon{width:29px;height:29px}.parcel-tag{bottom:-21px}}
@media print{.masthead,.universe,#experience>.scene:not(.scene-letter),.journey-footer,.letter-intro,.letter-actions,.letter-footer,.skip-link{display:none!important}body{background:white;color:#222}.scene-letter{display:block!important;padding:0}.love-letter{box-shadow:none;background:white;padding:20px;max-width:none}.love-letter:before{display:none}.love-letter>p{font-size:14pt}}
