:root{--yellow:#ffce43;--ink:#24292f;--paper:#fffdf8;--line:#dedbd4;--muted:#535a63;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #427aaa;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding-left:52px;padding-right:52px}header{height:102px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:9px;font-size:34px;font-weight:900;letter-spacing:-1.8px}.brand .mascot{width:48px;height:43px}.mascot{color:var(--yellow);overflow:visible;display:block}nav{display:flex;gap:34px;align-items:center;font-size:15px}nav a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--yellow);padding:17px 24px;border-radius:12px;font-weight:700;font-size:18px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #24292f14}.button.small{padding:12px 20px;font-size:15px}.button.dark{background:var(--ink);color:white}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:850;letter-spacing:-.055em}h1{font-size:clamp(48px,5.8vw,78px);line-height:.99;max-width:550px}h2{font-size:40px;line-height:1.06}h3{font-size:26px;line-height:1.1}.hero{display:grid;grid-template-columns:.86fr 1.14fr;gap:28px;padding-top:62px;padding-bottom:64px;align-items:center}.hero-copy>p{font-size:21px;line-height:1.4;max-width:420px;margin:26px 0 24px;color:var(--muted)}.browser{position:relative;padding-top:27px;margin-top:20px}.browser-body{position:relative;z-index:1;border:1px solid #cfcdc6;border-radius:20px;background:#fffdf9;padding:13px;box-shadow:0 10px 40px #57462412}.traffic{display:flex;gap:7px;height:28px;align-items:flex-start;padding:0 3px}.traffic i{width:12px;height:12px;border-radius:50%;background:#ff605b}.traffic i:nth-child(2){background:#ffc444}.traffic i:nth-child(3){background:#47bc77}.preview-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:360px}.preview-panels[data-view=apps],.preview-panels[data-view=games]{grid-template-columns:1fr}.preview-panels[data-view=apps] .game-scene,.preview-panels[data-view=games] .app-scene{display:none}.app-scene{background:#eee7d9;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px 10px}.phone{width:181px;height:313px;border:6px solid #d8d3c6;border-radius:31px;background:#fffdf8;box-shadow:5px 9px 18px #66563822;flex-shrink:0}.phone-status{font-size:9px;padding:8px 12px 4px;display:flex;justify-content:space-between;font-weight:700}.phone-content{padding:18px 11px 6px}.phone-content small{font-size:10px}.phone h3{font-size:23px;line-height:1;letter-spacing:-1px;margin:3px 0 13px}.tasks{display:grid;gap:6px}.tasks label{display:flex;align-items:center;gap:7px;font-size:10px;min-height:31px;padding:5px;background:#f5f1e9;border-radius:8px;cursor:pointer}.tasks input{accent-color:#eebd25;width:15px;height:15px;margin:0}.phone-nav{display:flex;justify-content:space-around;text-align:center;margin-top:15px;font-size:8px;line-height:1.7}.game-scene{position:relative;border-radius:12px;overflow:hidden}.game-scene>img{width:100%;height:100%;object-fit:cover;object-position:49% 50%}.explore-world{position:absolute;bottom:15px;right:12px;background:#ffffffdf;backdrop-filter:blur(10px);border-radius:13px;padding:12px 36px 12px 13px;font-size:11px}.explore-world strong,.explore-world span{display:block}.explore-world b{position:absolute;right:13px;top:18px}.work{padding-bottom:64px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading p{font-size:15px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.category{padding-top:45px;position:relative;scroll-margin-top:30px}.category-tab{position:absolute;top:0;left:0;width:100%;height:69px;border-radius:20px 20px 0 0;background:var(--yellow);padding:16px 25px;font-weight:700;font-size:20px;clip-path:polygon(0 0,40% 0,47% 45%,100% 45%,100% 100%,0 100%)}.games .category-tab{background:var(--ink);color:white}.card-content{height:295px;position:relative;background:#fffdf8;border:1px solid var(--line);border-radius:15px;overflow:hidden}.card-copy{position:relative;z-index:1;padding:32px 24px;width:48%}.card-copy p{font-size:14px;line-height:1.45;color:var(--muted);margin-top:13px}.round-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;background:var(--yellow);font-size:26px;margin-top:19px}.round-link:hover{transform:translateX(3px)}.card-phone{position:absolute;right:32px;top:25px;transform:rotate(-7deg)}.card-phone .phone{width:210px;height:335px}.card-phone .phone-content{padding:24px 15px}.games .card-content>img{position:absolute;width:100%;height:100%;object-fit:cover}.games .card-content:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffdf8 0%,#fffdf8ef 25%,#fffdf800 72%)}.tab-section{position:relative}.tab-section:before{content:'';position:absolute;width:23%;height:18px;left:0;top:-17px;background:inherit;clip-path:polygon(0 0,87% 0,95% 100%,0 100%)}.about{background:var(--ink);color:var(--paper)}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:38px;padding-bottom:45px}.about small,.contact small{font-size:12px;letter-spacing:1px}.about h2{margin-top:15px;font-size:35px}.about p{font-size:16px;line-height:1.6;align-self:center;color:#e1e2e3}.contact{background:var(--yellow)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:26px;padding-bottom:30px}.contact h2{margin-top:12px;font-size:35px}footer{display:flex;align-items:center;justify-content:space-between;min-height:100px;padding-bottom:24px;padding-top:24px}footer .brand{font-size:28px}footer .brand .mascot{width:40px}.eyes{transform-box:fill-box;transform-origin:center;animation:blink 5.8s infinite}@keyframes blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}.no-blink .eyes{animation:none}.floating .hero-mascot{animation:bob 3.5s ease-in-out infinite}@keyframes bob{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-13px) rotate(6deg)}}#reset{padding:10px 14px;background:var(--yellow);border:0;border-radius:7px;margin-top:12px}.show-components [data-component]{outline:2px dashed #5b74b6;outline-offset:-2px;position:relative}.show-components [data-component]:after{content:attr(data-component);position:absolute;top:0;left:0;background:#294774;color:white;font:11px Arial;padding:4px 6px;z-index:9;pointer-events:none}.show-components .hero-mascot{position:absolute}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:80px}.preview-panels{height:410px}.app-scene .phone{transform:scale(1.12)}}@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.hero{gap:22px}h1{font-size:59px}.preview-panels{height:320px}.app-scene .phone{transform:scale(.85)}.hero-copy>p{font-size:18px}.card-copy{width:55%;padding:25px 20px}.card-phone{right:-15px}.card-content{height:310px}h2{font-size:34px}.contact h2{font-size:29px}}@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}header{height:85px}.brand{font-size:29px}.brand .mascot{width:40px}nav{gap:17px;font-size:14px}header nav a:nth-child(2){display:none}.button.small{padding:10px 13px}.hero{grid-template-columns:1fr;padding-top:26px;gap:75px;padding-bottom:42px}h1{font-size:clamp(46px,11vw,70px);max-width:620px}.hero-copy>p{max-width:500px;margin:22px 0;font-size:19px}.browser{margin-top:0}.preview-panels{height:360px}.app-scene .phone{transform:none}.cards{grid-template-columns:1fr;gap:28px}.section-heading{align-items:flex-start;flex-direction:column;gap:9px}h2{font-size:32px}.card-content{height:300px}.card-copy{width:48%;padding:30px 22px}.card-phone{right:30px}.about-inner{grid-template-columns:1fr;gap:23px;padding-top:30px;padding-bottom:40px}.about h2{font-size:31px}.contact-inner{align-items:flex-start;flex-direction:column;gap:22px}.contact h2{font-size:31px}footer{gap:20px;flex-wrap:wrap;padding-bottom:85px}footer nav{gap:23px}.work{padding-bottom:53px}}@media(max-width:400px){.preview-panels{height:305px;gap:7px}.browser-body{padding:9px}.app-scene{padding:0}.app-scene .phone{transform:scale(.76)}.card-phone{right:-18px}.card-copy{width:57%}.card-copy h3{font-size:24px}.card-copy p{font-size:14px}.brand{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* A little hello: motion is inside the SVG so optional floating still composes. */
.mascot-motion{transform-origin:80px 125px}.mascot-rays{pointer-events:none}.mascot-rays path{opacity:0;transform:scale(.55);transform-origin:150px 35px;transition:opacity .16s ease,transform .24s cubic-bezier(.2,1.6,.4,1)}
.mascot:hover .mascot-motion,.brand:focus-visible .mascot-motion,.hero-mascot:focus-visible .mascot-motion{animation:mascot-hello .65s cubic-bezier(.22,.68,.28,1) both}
.mascot:hover .mascot-rays path,.brand:focus-visible .mascot-rays path,.hero-mascot:focus-visible .mascot-rays path{opacity:1;transform:scale(1)}
.mascot:hover .ray-two,.brand:focus-visible .ray-two,.hero-mascot:focus-visible .ray-two{transition-delay:.07s}
.hero-mascot:focus-visible{outline:2px solid #427aaa;outline-offset:8px;border-radius:12px}
@keyframes mascot-hello{0%,100%{transform:translateY(0) rotate(0) scale(1)}18%{transform:translateY(2px) scale(1.035,.96)}45%{transform:translateY(-13px) rotate(-7deg) scale(.98,1.025)}70%{transform:translateY(0) rotate(3deg) scale(1.02,.98)}85%{transform:translateY(-4px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){.mascot-motion{animation:none!important}.mascot-rays path{transition:none!important;transform:none!important}}
/* Browser vignette: a single quiet tab, with the live phone kept inside the scene. */
.browser{padding-top:33px;isolation:isolate}.browser-body{border-radius:19px;padding:12px 11px 11px;border-color:#d6d3cd;box-shadow:0 8px 32px #6657390b;background:linear-gradient(#faf9f7,#fffdf9)}.traffic{height:30px;gap:7px;padding-left:4px;align-items:flex-start}.traffic i{height:13px;width:13px;box-shadow:inset 0 0 0 1px #00000005}.preview-panels{height:365px;gap:11px;grid-template-columns:1fr 1fr}.app-scene{container-type:inline-size;background:#e9e2d5 url('phone-backdrop.webp') center center/cover no-repeat;padding:13px 7px 10px;align-items:center;overflow:hidden;border-radius:12px}.phone{width:78%;max-width:198px;height:auto;aspect-ratio:.532;border:0;padding:5px;border-radius:29px;background:linear-gradient(120deg,#bcb4a5 0%,#e5dfd4 18%,#fffdf6 49%,#c3bcae 92%);box-shadow:0 9px 13px #5b4a2d2b,-3px 1px 7px #5b4a2d20,inset 0 0 0 1px #e8e3d9;transform:none;position:relative;flex-shrink:0}.phone:before{content:'';position:absolute;left:-2px;top:24%;height:29px;width:2px;background:#b3aa9a;border-radius:2px}.phone-screen{background:linear-gradient(155deg,#fffefb,#f6f2ec);height:100%;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e7e2d9;box-shadow:inset 0 0 0 1px white}.phone-status{display:flex;justify-content:space-between;align-items:center;padding:9px 13px 0;font-size:8px;line-height:1;font-weight:700}.phone-status>svg{width:36px;height:10px}.phone-content{padding:23px 12px 8px;flex:1;display:flex;flex-direction:column}.phone-content>small{font-size:10px;line-height:1.3;color:#494c4d}.phone h3{font-size:23px;letter-spacing:-.9px;line-height:1.02;margin:4px 0 14px;font-weight:750}.tasks{gap:5px;display:grid;flex:1}.tasks label{background:#ffffffc9;border:1px solid #ffffffd9;border-radius:10px;min-height:32px;padding:5px 8px;gap:9px;font-size:9px;line-height:1.2;box-shadow:0 2px 5px #7a674804;transition:background .15s}.tasks label:hover{background:#fff7dd}.tasks input{appearance:none;position:relative;display:grid;place-content:center;width:17px;height:17px;flex:0 0 17px;background:#fffefa;border:1.4px solid #c8c5bd;border-radius:50%;margin:0;cursor:pointer;transition:background .15s,border-color .15s}.tasks input:checked{background:#ffc735;border-color:#ffc735;border-radius:6px}.tasks input:checked:after{content:'';width:7px;height:4px;border:solid white;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}.tasks input:focus-visible{outline-offset:2px;outline-width:2px}.phone-nav{margin:0;padding:9px 9px 3px;background:#ffffff70;display:flex;justify-content:space-between;border-top:1px solid #eee8df;gap:3px}.phone-nav>span{width:25%;display:flex;align-items:center;flex-direction:column;gap:3px;font-size:7px;line-height:1.2;color:#525960}.phone-nav svg{width:13px;height:13px}.phone-nav .selected svg{fill:#ffca38;stroke:#ffca38}.home-indicator{width:29%;height:3px;border-radius:3px;background:#cbc7bd;margin:6px auto 5px;opacity:.65}.game-scene{border-radius:12px}.game-scene>img{object-position:50% 50%}.scene-more{position:absolute;right:14px;top:9px;letter-spacing:2px;font-size:16px;color:white}.explore-world{bottom:14px;right:11px;background:#fffffff0;padding:11px 42px 11px 13px;min-width:145px;border-radius:13px;font-size:10px;line-height:1.35;box-shadow:0 4px 10px #00000008}.explore-world strong{font-weight:700}.explore-world b{width:23px;height:23px;right:10px;top:13px;background:#d9dbd7;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#656a67}.card-phone .phone{width:210px;max-width:none;height:auto;aspect-ratio:.532}.card-phone .phone-content{padding:25px 14px 9px}.card-phone .phone h3{font-size:25px}
@media(min-width:1500px){.preview-panels{height:405px}.app-scene .phone{transform:none;max-width:210px}}@media(min-width:761px) and (max-width:1050px){.preview-panels{height:320px}.app-scene{padding:10px 5px}.app-scene .phone{width:88%;transform:none;max-width:164px}.phone-content{padding:16px 9px 6px}.phone h3{font-size:20px;margin-bottom:10px}.tasks label{font-size:8px;padding:4px 6px;gap:6px;min-height:28px}.phone-nav{padding-top:7px}.explore-world{min-width:0;left:8px;right:8px;padding-left:9px}}@media(max-width:760px){.preview-panels{height:390px}.app-scene .phone{width:80%;max-width:195px;transform:none}.card-phone .phone{width:210px}.phone-content{padding-top:22px}.phone h3{font-size:23px}}@media(max-width:480px){.preview-panels{height:305px;gap:9px}.browser-body{padding:10px 9px 9px}.app-scene{padding:9px 4px}.app-scene .phone{width:91%;max-width:151px;transform:none;padding:4px;border-radius:23px}.app-scene .phone-screen{border-radius:19px}.app-scene .phone-status{padding:8px 10px 0;font-size:7px}.app-scene .phone-status>svg{width:29px}.app-scene .phone-content{padding:16px 8px 5px}.app-scene .phone-content>small{font-size:8px}.app-scene .phone h3{font-size:19px;margin-bottom:9px;letter-spacing:-.6px}.app-scene .tasks{gap:4px}.app-scene .tasks label{font-size:7.5px;min-height:27px;padding:4px 5px;gap:6px;border-radius:8px}.app-scene .tasks input{width:14px;height:14px;flex-basis:14px}.app-scene .phone-nav{padding:7px 6px 2px}.app-scene .phone-nav>span{font-size:6px}.app-scene .phone-nav svg{width:11px;height:11px}.home-indicator{margin-top:5px;height:2px}.explore-world{min-width:0;left:7px;right:7px;bottom:10px;font-size:8px;padding:9px 28px 9px 8px;border-radius:10px}.explore-world b{width:18px;height:18px;right:7px;top:10px;font-size:13px}.scene-more{font-size:12px;right:10px}}@media(prefers-reduced-motion:reduce){.tasks label,.tasks input{transition:none}}

.app-scene .phone{height:100%;width:auto;aspect-ratio:.532;max-width:94%;max-height:365px;transform:none}
@media(max-width:480px){.app-scene .phone{max-height:280px}}

/* Clean, unskewed tab contours; mascot sits behind the window rim. */
.browser-tabs{position:absolute;top:-2px;left:11%;width:49%;height:48px;margin:0;z-index:3;pointer-events:none}
.tab-contours{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tab-title{position:absolute;left:11%;top:16px;font-size:13px;line-height:18px;font-weight:650;letter-spacing:-.2px}
.tab-add{position:absolute;left:60%;top:10px;font-size:24px;line-height:22px;font-weight:400;color:#93969a}
.browser-body{z-index:2}
.hero-mascot{position:absolute;top:-39px;right:16%;width:106px;z-index:1;transform:rotate(10deg)}
@media(min-width:761px) and (max-width:1050px){.hero-mascot{width:94px;top:-30px}.browser-tabs{width:53%;left:10%}.tab-title{font-size:12px}}
@media(max-width:760px){.hero-mascot{width:103px;top:-36px;right:15%}}
@media(max-width:480px){.browser-tabs{width:56%;left:10%}.tab-title{font-size:12px;left:12%}.tab-add{font-size:22px}.hero-mascot{width:91px;top:-28px}}

/* Elements hidden until configured in site-config.js */
[hidden]{display:none!important}

/* Mobile-apps card on phones: shorter tab label, phone scaled down and centered in the free space on the right */
@media(max-width:760px){
  .tab-extra{display:none}
  .category-tab{clip-path:polygon(0 0,46% 0,53% 45%,100% 45%,100% 100%,0 100%)}
  .apps .card-content{height:auto;min-height:250px}
  .apps .card-copy{width:60%;padding:26px 20px 28px}
  .card-phone{right:-30px;top:50%;left:auto;transform:translateY(-50%) rotate(-7deg) scale(.58);transform-origin:center}
}
@media(max-width:360px){
  .apps .card-copy{width:62%}
  .card-phone{right:-44px;transform:translateY(-50%) rotate(-7deg) scale(.5)}
}

/* Trademark marks and footer legal line */
.brand .tm{font-size:.38em;font-weight:700;letter-spacing:0;vertical-align:top;position:relative;top:.25em;margin-left:.15em}
footer{display:block}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;min-height:100px}
footer .legal{font-size:13px;line-height:1.5;color:var(--muted);margin:4px 0 0;padding-bottom:8px}
