:root{--paper:#fffcee;--ink:#192823;--line:#192823;--green:#c7ff58;--pink:#ff785f;--blue:#75bdff}html{scroll-behavior:smooth}body{overflow-x:hidden}header{max-width:none;padding:25px 5%;border-bottom:2px solid var(--ink);background:var(--paper)}.brand{font-size:31px}.brand span{background:#ff785f;border-radius:50%;width:20px;height:20px}.header-note{font-weight:800}main{max-width:1400px;padding:0 6%}.hero{min-height:690px;grid-template-columns:1.5fr 1fr;padding:75px 0 100px}.eyebrow{display:inline-block;background:var(--green);border:2px solid var(--ink);border-radius:30px;padding:10px 18px;transform:rotate(-4deg);font-size:13px;letter-spacing:2px}h1{font-size:clamp(43px,5.8vw,82px);font-weight:950;line-height:1.45;letter-spacing:-.035em;position:relative;z-index:2}.lead{font-size:15px;font-weight:600;color:var(--ink)}.art{width:100%;height:400px;isolation:isolate}.art:before{content:'';position:absolute;inset:20px -10px 0;border:2px dashed var(--ink);border-radius:50%;transform:rotate(-25deg)}.mascot{object-fit:contain;pointer-events:none;user-select:none}.hero-star{position:absolute;width:310px;left:-50px;top:-20px;animation:bob 5s ease-in-out infinite}.hero-cloud{position:absolute;width:250px;right:-25px;bottom:-20px;animation:bob 6s ease-in-out infinite reverse}.art .spark{right:0;top:-20px;font-size:60px;color:#ff785f}.art .tiny{left:0;bottom:8px;font-size:55px}.orbit-word{position:absolute;left:30px;bottom:-40px;transform:rotate(-8deg);font-weight:900;font-size:15px;letter-spacing:3px}.marquee{margin:0 -7% 80px;background:var(--green);border-block:2px solid var(--ink);overflow:hidden;transform:rotate(-2deg);padding:15px 0}.marquee div{width:max-content;animation:travel 35s linear infinite;font-weight:900;font-size:27px;letter-spacing:2px}.section-heading{border-top:0;align-items:flex-end;margin-bottom:30px;padding-top:0}.section-heading h2{font-size:clamp(30px,4vw,53px);font-weight:900;letter-spacing:-1px}.section-heading h2:before{content:'LET’S PARTY';display:block;font-size:12px;letter-spacing:3px;margin-bottom:12px}.section-heading span{color:var(--ink);font-weight:600}.apps{gap:25px}.card{border:2px solid var(--ink);border-radius:0 36px 0 36px;padding:30px;background:var(--green);box-shadow:7px 7px 0 var(--ink);position:relative}.card:nth-child(2){background:var(--pink);transform:rotate(2deg)}.card:nth-child(3){background:var(--blue);transform:rotate(-2deg)}.card:hover{transform:translateY(-12px) rotate(-2deg);box-shadow:10px 16px 0 var(--ink)}.card:nth-child(2):hover{transform:translateY(-12px) rotate(0)}.card-top{margin-bottom:55px}.icon{background:var(--paper)!important;border:2px solid var(--ink);border-radius:50%;height:65px;width:65px}.number{font-size:20px;color:var(--ink);font-weight:800}.card h3{font-size:32px;font-weight:900;letter-spacing:-1px}.domain{color:var(--ink)}.card-bottom{border-color:var(--ink);font-weight:800;padding-top:20px}.arrow{background:var(--ink);color:var(--paper);width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.coming{position:relative;margin:130px -7% 0;border:0;border-radius:50% 50% 0 0 / 50px 50px 0 0;background:#ff785f;min-height:360px;padding:80px 17%;text-align:center;display:block}.coming .plus{font-size:45px;color:var(--ink);line-height:1;margin-bottom:18px}.coming h2{font-size:clamp(23px,3vw,38px);font-weight:900;line-height:1.65}.coming p{color:var(--ink);font-size:14px;font-weight:600;line-height:2.2}.footer-mascot{position:absolute;width:170px;left:2%;top:-65px;animation:bob 5.8s ease-in-out infinite}.footer-cloud{position:absolute;width:160px;right:3%;bottom:15px;animation:bob 5s ease-in-out infinite reverse}footer{max-width:none;background:var(--ink);color:var(--paper);padding:28px 6%;font-size:12px}.cursor-buddy{position:fixed;width:66px;height:66px;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;will-change:transform;transition:opacity .2s}.cursor-buddy img{width:100%;height:100%;object-fit:contain}.cursor-buddy.active{opacity:1}.pop{position:fixed;pointer-events:none;z-index:9998;font-size:25px;animation:pop .75s ease-out forwards;color:#426d00}.motion-toggle{border:1px solid currentColor;background:none;color:inherit;font:inherit;padding:7px 12px;border-radius:30px;cursor:pointer}.still *,.still *:before,.still *:after{animation:none!important;scroll-behavior:auto!important}.still .cursor-buddy{display:none}@keyframes bob{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-22px) rotate(7deg)}}@keyframes travel{to{transform:translateX(-50%)}}@keyframes pop{to{transform:translate(var(--dx),-85px) rotate(100deg);opacity:0}}@media(min-width:701px){.card:focus-visible{outline-offset:12px}}@media(max-width:700px){header{padding:20px}.brand{font-size:24px}.header-note{font-size:8px;letter-spacing:.5px}main{padding:0 24px}.hero{padding:44px 0 55px;min-height:auto;grid-template-columns:1fr}h1{font-size:clamp(36px,9vw,59px);line-height:1.5}.eyebrow{font-size:10px;padding:8px 12px}.lead{font-size:12px}.art{height:280px;max-width:350px;margin-top:22px;transform:none;margin-bottom:10px}.hero-star{width:230px;left:-5px;top:-10px}.hero-cloud{width:190px;right:-5px;bottom:-5px}.art .spark{font-size:43px;right:10px;top:0}.art .tiny{font-size:34px;left:10px}.orbit-word{font-size:11px;bottom:-20px;left:50px}.marquee{margin-bottom:55px}.marquee div{font-size:20px;padding:0}.section-heading{display:block}.section-heading span{display:block;margin-top:15px}.apps{gap:27px}.card{padding:25px}.card-top{margin-bottom:30px}.card:nth-child(2){transform:rotate(1deg)}.card:nth-child(3){transform:rotate(-1deg)}.coming{margin-top:95px;padding:65px 22px 140px;min-height:390px}.coming h2{font-size:23px}.coming p{font-size:12px}.footer-mascot{width:125px;top:-65px;left:0}.footer-cloud{width:140px;bottom:0;right:calc(50% - 70px)}footer{gap:16px;align-items:center;flex-wrap:wrap;font-size:10px}.motion-toggle{font-size:10px}.cursor-buddy{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.cursor-buddy{display:none}}
/* Shared app identity: black and yellow, limited to header and footer. */
header{background:#111111;color:#ffdf00;border-bottom:2px solid #ffdf00;padding:23px 5%;gap:24px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0;line-height:1.1;letter-spacing:-1px}.site-mark{width:44px;height:44px;display:block;object-fit:contain;border-radius:5px}.header-note{color:#ffdf00;line-height:1.5}header .brand:focus-visible{outline-color:#ffdf00}footer{background:#111111;color:#ffdf00;border-top:2px solid #ffdf00}.motion-toggle{border-color:#ffdf00}.motion-toggle:hover{background:#ffdf00;color:#111111}.motion-toggle:focus-visible{outline:2px solid #ffdf00;outline-offset:4px}@media(max-width:700px){header{padding:18px 20px;gap:14px}.brand{font-size:25px;gap:10px}.site-mark{width:36px;height:36px}.header-note{max-width:105px;text-align:right;font-size:8px;letter-spacing:.7px}}

.mascot{height:auto}
/* FV: a small illustrated playground. */
.playground{position:relative;isolation:isolate;min-height:740px;margin:0 -6.82%;padding:100px 6% 110px;display:block;overflow:hidden}.playground-bg{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero-copy{position:relative;z-index:2;width:63%;pointer-events:none}.hero-copy a{pointer-events:auto}.playground h1{font-size:clamp(42px,5.2vw,77px);line-height:1.5;letter-spacing:-.06em}.playground h1 span{white-space:nowrap}.playground .eyebrow{background:#fffcee;box-shadow:3px 4px 0 #192823;font-size:12px;letter-spacing:1px}.playground .lead{line-height:2.2;font-size:14px}.hero-cta{margin-top:30px;display:inline-flex;align-items:center;gap:36px;background:#192823;color:#fffcee;text-decoration:none;border-radius:40px;border:2px solid #192823;padding:15px 21px 15px 26px;font-size:14px;font-weight:800;box-shadow:4px 5px 0 #c7ff58;transition:transform .2s,box-shadow .2s}.hero-cta span{display:grid;place-items:center;background:#ffdf00;color:#111;width:27px;height:27px;border-radius:50%;font-size:20px}.hero-cta:hover{transform:translateY(-4px);box-shadow:6px 9px 0 #c7ff58}.playground-cast{position:absolute;right:3%;top:90px;width:43%;height:520px;margin:0;transform:translate3d(var(--cast-x,0px),var(--cast-y,0px),0);transition:transform .5s ease-out}.playground-cast:before{display:none}.cast-orbit{position:absolute}.cast-orbit img{display:block;width:100%;height:auto;animation:bob 6s ease-in-out infinite}.cast-one{width:55%;left:0;top:8px;transform:rotate(-10deg)}.cast-two{width:50%;right:-2%;top:160px;transform:rotate(9deg)}.cast-two img{animation-delay:-2s;animation-duration:7s}.cast-three{width:41%;left:9%;bottom:-9px;transform:rotate(-8deg)}.cast-three img{animation-delay:-4s;animation-duration:6.5s}.cast-note{position:absolute;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.04em;background:#fffcee;border:1.5px solid #192823;border-radius:50%;padding:10px 14px;box-shadow:2px 3px 0 #192823}.cast-one .cast-note{top:0;right:-45px;transform:rotate(15deg)}.cast-two .cast-note{bottom:0;left:10px;transform:rotate(-12deg)}.cast-three .cast-note{bottom:-22px;left:0;transform:rotate(8deg)}.hero-bottom{position:absolute;left:6%;right:6%;bottom:36px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:1px;font-weight:700}.hero-bottom a{text-decoration:none;display:flex;align-items:center;gap:12px}.hero-bottom a span{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-size:18px}.playground + .marquee{margin-top:0;margin-bottom:80px}.hero-cta:focus-visible,.hero-bottom a:focus-visible{outline:3px solid #192823;outline-offset:6px}@media(min-width:1400px){.playground{min-height:800px;padding-top:115px}.playground-cast{top:100px;height:560px}}@media(max-width:700px){.playground{min-height:900px;margin:0 -24px;padding:45px 24px 70px}.playground-bg{object-fit:cover;object-position:68% bottom;top:270px;height:calc(100% - 270px);opacity:.95}.hero-copy{width:100%}.playground h1{font-size:clamp(28px,7.7vw,52px);letter-spacing:-.055em;line-height:1.55;margin-bottom:19px}.playground .eyebrow{font-size:10px;margin-bottom:20px;padding:8px 12px}.playground .lead{font-size:11px;line-height:2.1}.hero-cta{font-size:12px;margin-top:22px;padding:11px 15px 11px 20px;gap:26px}.hero-cta span{width:24px;height:24px}.playground-cast{width:88%;height:365px;right:6%;top:auto;bottom:100px;max-width:none}.cast-one{width:54%;left:0;top:0}.cast-two{width:49%;top:120px;right:-1%}.cast-three{width:43%;left:2%;bottom:0}.cast-note{font-size:9px;padding:7px 10px}.cast-one .cast-note{right:-38px;top:5px}.cast-three .cast-note{bottom:-12px}.hero-bottom{left:24px;right:24px;bottom:27px;font-size:8px;letter-spacing:0;align-items:center}.hero-bottom a{gap:7px}.hero-bottom a span{width:24px;height:24px;font-size:14px}.playground + .marquee{margin-bottom:55px}}@media(max-width:360px){.playground{min-height:875px}.playground-cast{height:340px}}@media(prefers-reduced-motion:reduce){.playground-cast{transform:none;transition:none}}

.playground h1 span:first-child{font-size:.86em}

.playground h1 span:first-child{font-size:1em}.playground h1{line-height:1.4}
/* App folders: original favicons and short descriptions. */
.apps .icon{background:#101010!important;border:0;border-radius:50%;width:65px;height:65px}.apps .icon img{display:block;width:38px;height:38px;object-fit:contain}.apps .card{display:flex;flex-direction:column}.apps .card h3{font-size:36px;font-weight:900;letter-spacing:.015em;line-height:1.4;margin-bottom:8px}.app-description{font-size:12px;font-weight:600;line-height:1.95;margin:23px 0 0;color:var(--ink)}.apps .card-bottom{margin-top:auto;padding-top:18px}.app-description{padding-bottom:25px}.apps .domain{line-height:1.7}@media(max-width:700px){.apps .card h3{font-size:34px}.app-description{font-size:12px;margin-top:19px;padding-bottom:22px}.apps .card-bottom{margin-top:0}}


.section-heading h2 span{display:inline-block;white-space:nowrap;font:inherit;color:inherit;margin:0}.section-heading h2{line-height:1.5}
/* A quiet continuous wave at the top of the coral section. */
.coming{border-radius:0;isolation:isolate}.coming-wave{position:absolute;left:0;right:0;top:-57px;height:60px;overflow:hidden;z-index:-1;pointer-events:none;display:flex}.coming-wave svg{display:block;flex:0 0 100%;width:100%;height:100%;fill:#ff785f;animation:coral-wave-drift 22s linear infinite;will-change:transform}@keyframes coral-wave-drift{from{transform:translateX(0)}to{transform:translateX(-100%)}}@media(max-width:700px){.coming-wave{height:36px;top:-33px}}@media(prefers-reduced-motion:reduce){.coming-wave svg{animation:none;will-change:auto}}.still .coming-wave svg{animation-play-state:paused;will-change:auto}

.coming-wave{height:100px;top:-97px}@media(max-width:700px){.coming-wave{height:66px;top:-63px}}
/* Broad, deep waves: the trough reaches just above the plus mark. */
.coming-wave{top:-52px;height:170px;overflow:visible;clip-path:inset(0);z-index:0}.coming-wave svg{flex-basis:200%;width:200%;animation-duration:32s}.coming{background:linear-gradient(to bottom,transparent 0 105px,#ff785f 105px)}.coming>div:not(.coming-wave){position:relative;z-index:1}.coming>.mascot{z-index:2}@media(max-width:700px){.coming-wave{top:-40px;height:160px}.coming{background:linear-gradient(to bottom,transparent 0 105px,#ff785f 105px)}}
/* Tonal gel layers: offset currents and gently changing wave depth. */
.gel-layer{position:absolute;left:0;right:0;top:-65px;height:195px;overflow:hidden;pointer-events:none;z-index:-1!important}.gel-track{display:flex;width:100%;height:100%;transform-origin:50% 100%;animation:gel-breathe 9s ease-in-out infinite alternate}.gel-layer svg{display:block;flex:0 0 200%;width:200%;height:100%;fill:#ffb19c;animation:coral-wave-drift 39s linear infinite reverse;animation-delay:-11s}.gel-layer-middle{top:-50px;height:180px;z-index:-1!important}.gel-layer-middle .gel-track{animation-duration:7.5s;animation-delay:-4s}.gel-layer-middle svg{fill:#ff927c;animation-duration:29s;animation-direction:normal;animation-delay:-7s}.coming-wave{animation:gel-front-breathe 10s ease-in-out infinite alternate;transform-origin:50% 100%}.coming>div.gel-layer{position:absolute;z-index:-1}@keyframes gel-breathe{from{transform:scaleY(.88) translateY(3px)}to{transform:scaleY(1.08) translateY(-5px)}}@keyframes gel-front-breathe{from{transform:scaleY(.96)}to{transform:scaleY(1.06)}}@media(max-width:700px){.gel-layer{top:-53px;height:185px}.gel-layer-middle{top:-39px;height:171px}}@media(prefers-reduced-motion:reduce){.gel-track,.gel-layer svg,.coming-wave{animation:none!important}}

.coming:after{content:'';position:absolute;inset:100px 0 0;background:#ff785f;z-index:0;pointer-events:none}
/* Fine paper grain, clipped to each moving gel surface. */
.gel-layer svg,.coming-wave svg{filter:url(#paper-grain)}

.coming:after{background-color:#ff785f;background-image:url('assets/paper-grain.svg');background-repeat:repeat;background-size:180px 180px;background-blend-mode:soft-light}
/* One continuous grain overlay; no separate textured horizontal panels. */
.gel-layer svg,.coming-wave svg{filter:none}.coming:after{inset:0;background-color:transparent;background-image:url('assets/paper-grain.svg');background-repeat:repeat;background-size:180px 180px;background-blend-mode:normal;mix-blend-mode:soft-light;mask-image:linear-gradient(to bottom,transparent 0,transparent 35px,#000 150px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 35px,#000 150px)}

.gel-layer{clip-path:inset(0 0 40px 0)}
/* Keep the footer flush with the page and viewport bottom. */
html{background:#111111}body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body>header,body>footer{width:100%;flex-shrink:0;margin-top:0;margin-bottom:0}body>main{width:100%;flex:1 0 auto}body>footer{margin-bottom:0}
/* Opinion box: fixed until it meets the footer. */
.feedback-cta{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:24px;z-index:100;display:flex;align-items:center;gap:13px;padding:13px 17px 13px 13px;background:#ffdf00;color:#111;border:2px solid #111;border-radius:18px 18px 4px 18px;box-shadow:5px 5px 0 #111;cursor:pointer;font-family:inherit;text-align:left;transform:translateY(var(--feedback-offset,0px));transition:background .2s;will-change:transform}.feedback-cta:hover{background:#ffe94d}.feedback-symbol{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#111;color:#ffdf00}.feedback-cta small{display:block;font-size:9px;letter-spacing:.04em;margin-bottom:3px;font-weight:700}.feedback-cta strong{display:block;font-size:19px;font-weight:900;letter-spacing:.06em;line-height:1.2}.feedback-chevron{margin-left:9px}.feedback-cta:focus-visible,.feedback-dialog button:focus-visible{outline:3px solid #111;outline-offset:5px}.feedback-dialog{position:fixed;max-width:520px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow:auto;border:2px solid #111;border-radius:24px 24px 5px 24px;padding:34px;background:#fffcee;color:#192823;box-shadow:8px 8px 0 #111;margin:auto;overscroll-behavior:contain}.feedback-dialog::backdrop{background:#1119;backdrop-filter:blur(4px)}body.feedback-open{overflow:hidden}.feedback-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;border:1px solid #111;border-radius:50%;width:34px;height:34px;background:#ffdf00;cursor:pointer;color:#111}.feedback-kicker{font-size:10px;letter-spacing:2px;font-weight:800;margin:0 0 10px}.feedback-dialog h2{font-size:32px;font-weight:900;margin:0 0 15px}.feedback-intro{font-size:13px;line-height:2;margin:0 0 24px}.feedback-dialog label{display:block;font-size:12px;font-weight:800;margin-bottom:9px}.feedback-dialog label span{font-size:9px;background:#ffdf00;padding:3px 6px;margin-left:6px;border-radius:4px}.feedback-dialog label small{font-size:10px;color:#697065;font-weight:500;margin-left:5px}.feedback-dialog input,.feedback-dialog textarea{width:100%;font:inherit;font-size:14px;border:1.5px solid #192823;background:#fffef8;border-radius:9px;padding:11px;color:#192823}.feedback-dialog textarea{resize:vertical;min-height:110px}.feedback-dialog input:focus-visible,.feedback-dialog textarea:focus-visible{outline:3px solid #ffdf00;outline-offset:2px}.feedback-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:15px;margin-top:18px}.feedback-delivery{font-size:10px;line-height:1.9;color:#61685c;margin:20px 0 14px;overflow-wrap:anywhere}.feedback-submit{font:inherit;font-size:13px;font-weight:800;background:#ffdf00;border:2px solid #111;border-radius:10px;padding:13px 18px;width:100%;display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:3px 3px 0 #111}.feedback-submit span{font-size:24px;line-height:1}.feedback-status{font-size:11px;line-height:1.8;margin:14px 0 0}.feedback-status:empty{display:none}@media(max-width:700px){.feedback-cta{right:16px;bottom:max(18px,env(safe-area-inset-bottom));padding:10px 12px;gap:9px;border-radius:15px 15px 4px 15px;box-shadow:4px 4px 0 #111}.feedback-symbol{width:36px;height:36px}.feedback-symbol svg{width:24px;height:24px}.feedback-cta small{font-size:8px}.feedback-cta strong{font-size:16px}.feedback-chevron{margin-left:3px;width:15px}.feedback-dialog{padding:28px 22px;width:calc(100% - 32px)}.feedback-dialog h2{font-size:28px}.feedback-fields{grid-template-columns:1fr;gap:15px}.feedback-dialog textarea{font-size:16px}.feedback-dialog input{font-size:16px}}
.feedback-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.feedback-checks{padding:15px;margin:20px 0 0;border:1px solid #d4d4bc;border-radius:10px;background:#f5f1de}.feedback-checks legend{font-size:11px;font-weight:800;padding:0 5px}.feedback-checks label{display:flex;align-items:flex-start;gap:10px;margin:7px 0!important;cursor:pointer}.feedback-checks input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#111}.feedback-checks label span{background:none;font-size:11px;font-weight:600;line-height:1.8;padding:0;margin:0}.feedback-submit:disabled{opacity:.55;cursor:wait;box-shadow:none}

.feedback-cta{text-decoration:none}
/* Avoid decorative overflow and keep the page edge black on mobile. */
html{background:#111;overscroll-behavior-y:none;overflow-x:clip}body{margin:0;padding-bottom:0;overscroll-behavior-y:none;overflow-x:clip}body>footer{display:flex;width:100%;max-width:none;position:relative;margin-bottom:0;flex-shrink:0;background:#111}.cursor-buddy{contain:strict}.feedback-cta{display:flex!important;visibility:visible!important;max-width:calc(100vw - 32px);z-index:1000}
