:root{--paper:#fffdf6;--ink:#263d54;--muted:#586b7c;--teal:#087e95;--lemon:#ffe477;--line:#d8e5ec;--peach:#f38f9d;--sky:#dff3fb;--pink:#ffe5ec;--lavender:#eeebff;font-family:'Avenir Next',Avenir,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:24px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;top:0;left:16px;transform:translateY(-120%);z-index:10;background:var(--ink);color:white;padding:14px}.skip:focus{transform:translateY(0)}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:30px}.wordmark{font-family:ui-rounded,'Avenir Next',Avenir,sans-serif;font-size:34px;letter-spacing:-1.7px;font-weight:800;display:inline-flex;gap:10px;align-items:center}.wordmark svg{width:29px;height:33px;flex:none}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:550}.lang{border-left:1px solid var(--line);padding-left:24px}.nav-play{border:1px solid var(--teal);border-radius:14px;padding:11px 21px;color:var(--teal);background:#e9f8fb}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:36px 0 83px}.hero-copy{padding-bottom:22px}.hero h1{font-family:ui-rounded,'Avenir Next','PingFang SC',sans-serif;font-weight:800;font-size:66px;line-height:1.075;letter-spacing:-2.8px;margin:0 0 27px}.hero .intro{max-width:405px;font-size:18px;line-height:1.85;color:var(--muted);margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:14px 26px;background:var(--teal);border:1px solid var(--teal);border-radius:18px;color:var(--paper);font-size:15px;font-weight:600;text-align:center}.button:hover{background:#066477;text-decoration:none}.button.light{color:var(--teal);background:white}.button.light:hover{background:var(--sky)}.small-note{font-size:12px;line-height:1.7;color:var(--muted);margin:13px 0 0}.hero-figure{margin:0;position:relative;padding:0 0 0 20px;isolation:isolate}.photo-slot{position:relative;isolation:isolate;background:var(--lavender);border:6px solid #b9e4ef;overflow:hidden;border-radius:32px;aspect-ratio:3/4;width:100%;display:grid;place-items:center}.photo-slot:before{content:'';position:absolute;inset:16px;border:2px solid #ffffffb3;border-radius:inherit;z-index:-1}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;gap:24px}.photo-placeholder svg{width:86px;height:86px;stroke:#839b78;stroke-width:1.1;fill:none}.photo-placeholder p{font-size:17px;margin:0;line-height:1.7;font-weight:500}.photo-placeholder small{color:var(--muted);font-size:12px}.photo-slot img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-slot img[hidden]{display:none}.photo-slot.has-photo .photo-placeholder{display:none}.photo-slot.has-photo:before{display:none}.photo-note{position:absolute;left:-12px;bottom:90px;z-index:1;background:var(--lemon);border-radius:8px;padding:17px 20px;transform:rotate(-5deg);font-size:14px;line-height:1.5;box-shadow:3px 5px 0 #d5b23a26}.hero-figure figcaption{font-size:12px;color:var(--muted);margin:17px 0 0;text-align:center}.invitation{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}.invitation p{font-size:17px;margin:0}.invitation span{font-size:13px;color:var(--muted)}.how-section{background:var(--sky);padding:83px 0 87px}.section-heading{max-width:640px;font-size:43px;font-weight:750;letter-spacing:-1.4px;line-height:1.2;margin:0 0 23px;font-family:ui-rounded,'Avenir Next','PingFang SC',sans-serif}.section-intro{color:var(--muted);font-size:16px;line-height:1.9;max-width:520px;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;padding:0;margin:52px 0 0;counter-reset:steps}.steps li{counter-increment:steps;position:relative;padding-top:23px;border-top:3px solid #9dd9e9}.step-top{display:flex;align-items:center;gap:13px}.step-top:before{content:counter(steps);display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#bce7f1;font-size:19px;font-weight:750;color:var(--ink);flex:none}.steps h3{font-size:18px;font-weight:600;margin:0;line-height:1.4}.steps p{font-size:14px;line-height:1.9;margin:15px 0 0;color:var(--muted)}.play-section{padding:100px 0;display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.play-art{background:#ffe7df;border:2px solid #ffd0c0;border-radius:30px;min-height:340px;display:grid;place-items:center;padding:30px}.play-art img{width:100%;max-width:420px;max-height:330px;object-fit:contain}.play-art figcaption{text-align:center;font-size:12px;color:var(--muted);line-height:1.6}.play-art figure{margin:0;width:100%}.play-copy .section-heading{font-size:38px}.play-copy p{line-height:1.9;font-size:16px;color:var(--muted)}.play-copy .button{margin-top:16px}.parent-prompt{padding-left:18px;border-left:3px solid var(--peach);font-size:16px!important;color:var(--ink)!important;margin:25px 0}.story-section{padding:78px 0 90px;background:#fff0b4}.story-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.story-sign{font-size:42px;font-weight:750;letter-spacing:-1.5px;margin:0 0 12px}.story-label{font-size:14px;color:var(--muted);margin:0}.story-copy p{font-size:18px;line-height:1.95;margin:0 0 18px}.story-copy p:last-child{margin:0}.faq{padding:90px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:23px 38px 23px 0;font-size:16px;line-height:1.6;font-weight:550}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;top:22px;font-size:22px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 23px}.closing{background:var(--lavender);border-radius:32px;text-align:center;padding:65px 30px 72px;margin-bottom:65px}.closing .section-heading{max-width:none;margin-bottom:27px}.site-footer{padding:35px 0 30px;background:var(--sky)}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-links{display:flex;gap:25px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:26px;font-size:11px;color:var(--muted);line-height:1.8}.footer-bottom p{margin:0}.zh .hero h1{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:55px;line-height:1.36;font-weight:750;letter-spacing:-1.7px}.zh .section-heading{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:35px;line-height:1.5;font-weight:650;letter-spacing:-.7px}.zh .hero .intro{max-width:390px}.zh .hero-copy{padding-bottom:0}.zh .story-copy p{font-size:17px}.zh .photo-note{line-height:1.8}.zh .play-copy .section-heading{font-size:32px}@media(min-width:1450px){.hero{gap:90px}.hero-figure{padding-left:30px}}@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.hero{gap:35px;padding-top:20px}.hero h1{font-size:59px}.zh .hero h1{font-size:43px}.site-header nav{gap:20px}.photo-note{left:-5px;bottom:65px;font-size:12px}.play-section{gap:40px}.story-inner,.faq{gap:60px}.steps{gap:30px}}@media(max-width:740px){.wrap{width:calc(100% - 40px)}.site-header{min-height:86px;gap:20px}.wordmark{font-size:29px}.wordmark svg{width:24px;height:28px}.site-header nav{gap:16px;font-size:12px}.site-header nav .desktop-link{display:none}.lang{padding-left:0;border:0}.nav-play{padding:9px 14px}.hero{grid-template-columns:1fr;gap:30px;padding:30px 0 43px}.hero-copy{padding:0}.hero h1{font-size:51px;letter-spacing:-2px;line-height:1.1;margin-bottom:22px}.zh .hero h1{font-size:43px;line-height:1.4;letter-spacing:-1.4px}.hero .intro{font-size:16px;line-height:1.85;max-width:440px;margin-bottom:25px}.hero-figure{max-width:460px;width:100%;padding:0 6px 0 21px;margin:auto}.photo-slot{aspect-ratio:3/4;border-radius:26px}.photo-note{left:0;bottom:70px;font-size:13px;padding:12px 18px}.photo-placeholder{padding:30px}.photo-placeholder svg{width:65px;height:65px}.photo-placeholder p{font-size:16px}.hero-figure figcaption{font-size:11px}.invitation{display:block;padding:24px 0 28px}.invitation p{font-size:15px;margin-bottom:9px}.invitation span{font-size:12px}.how-section{padding:54px 0}.section-heading{font-size:35px}.zh .section-heading{font-size:29px}.section-intro{font-size:15px}.steps{grid-template-columns:1fr;gap:27px;margin-top:33px}.steps li{padding-top:19px}.steps p{margin-top:10px;max-width:480px}.play-section{padding:55px 0;grid-template-columns:1fr;gap:32px}.play-art{padding:22px;min-height:260px}.play-art img{max-height:250px}.play-copy .section-heading{font-size:34px}.zh .play-copy .section-heading{font-size:28px}.play-copy p{font-size:15px}.story-section{padding:49px 0}.story-inner{grid-template-columns:1fr;gap:28px}.story-sign{font-size:36px}.story-copy p,.zh .story-copy p{font-size:16px}.faq{padding:55px 0;grid-template-columns:1fr;gap:14px}.faq-list summary{font-size:15px;padding-block:20px}.faq-list summary:after{top:18px}.closing{padding:45px 18px 55px;margin-bottom:40px}.closing .section-heading{font-size:33px}.zh .closing .section-heading{font-size:28px}.footer-main,.footer-bottom{display:block}.footer-links{gap:22px;margin-top:24px;flex-wrap:wrap}.footer-bottom p+p{margin-top:8px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

.tile-logo{position:relative;display:block;width:42px;height:47px;flex:none}.tile-logo i{display:block;position:absolute;border-radius:3px;border:3px solid}.tile-logo i:nth-child(1){width:24px;height:28px;border-color:#32b7c9;background:#94dce180;top:15px;left:0;transform:rotate(-10deg)}.tile-logo i:nth-child(2){width:25px;height:29px;border-color:#ed8299;background:#f6adc285;top:13px;left:17px;transform:rotate(9deg)}.tile-logo i:nth-child(3){width:25px;height:25px;border-color:#eeb94f;background:#f9dd8999;top:0;left:10px;transform:rotate(45deg) scale(.73)}.photo-tiles{transform:scale(1.8);margin:21px 0 26px}.hero-figure:before{content:'';position:absolute;width:71px;height:71px;right:-13px;top:-18px;background:#ffe477;border:3px solid #f3cb4b;border-radius:12px;transform:rotate(13deg);z-index:-1}.steps li:nth-child(2){border-color:#f5b5c5}.steps li:nth-child(2) .step-top:before{background:#ffd9e4}.steps li:nth-child(3){border-color:#f0cf64}.steps li:nth-child(3) .step-top:before{background:#ffe797}.story-sign{color:#263d54}.photo-placeholder p{font-weight:650}@media(max-width:740px){.wordmark{gap:8px;font-size:29px}.wordmark .tile-logo{transform:scale(.83);margin-right:-3px;width:36px}.hero-figure:before{right:-3px;width:58px;height:58px;top:-11px}.photo-slot{border-width:5px}.photo-tiles{margin-top:15px}.site-header nav{gap:13px}.site-header .nav-play{padding:9px 12px}}
@media(max-width:380px){.site-header{gap:10px}.site-header .wordmark{font-size:25px;gap:5px}.site-header .tile-logo{width:31px;transform:scale(.73);transform-origin:left center;margin-right:-5px}.site-header nav{gap:10px}.site-header .nav-play{padding:9px 10px}.zh .hero h1{font-size:37px}.hero h1{font-size:43px}}

/* Keep the note below the photograph so the build stays visible. */
.hero-figure .photo-note{position:relative;display:table;left:auto;bottom:auto;margin:-6px 0 0 -12px;padding:12px 18px;font-size:13px}.hero-figure figcaption{margin-top:12px}
/* Finished builds lead with the actual magnetic-tile models. */
.build-showcase{padding:72px 0 84px}.build-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:34px}.build-heading .section-heading{margin:0}.build-heading>p{max-width:355px;color:var(--muted);font-size:16px;line-height:1.9;margin:0 0 4px}.build-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.build-card{overflow:hidden;border-radius:28px;background:#e2f3fc;border:2px solid #c7e5f5}.build-card.sailboat{background:#fff0d2;border-color:#f3dfb3;margin-top:64px}.model-stage{position:relative;width:100%;aspect-ratio:1.25;overflow:hidden;touch-action:pan-y}.model-stage>img{width:100%;height:100%;object-fit:contain;padding:14px;display:block}.model-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline-offset:-7px}.model-stage.has-model>img{display:none}.build-caption{padding:0 30px 32px}.build-caption h3{font-family:ui-rounded,'Avenir Next','PingFang SC',sans-serif;font-size:26px;line-height:1.4;margin:0 0 12px;letter-spacing:-.7px}.build-caption p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 23px;max-width:380px}.build-caption .button{min-height:47px;padding:11px 21px;border-color:transparent}.build-caption .button:hover{background:#fff9e8}.model-stage canvas:focus-visible{outline:3px solid var(--teal)}
@media(max-width:1000px){.build-grid{gap:20px}.build-heading{gap:35px}.build-heading>p{max-width:280px}.build-caption{padding:0 23px 27px}.build-caption h3{font-size:24px}}
@media(max-width:740px){.build-showcase{padding:45px 0 52px}.build-heading{display:block;margin-bottom:25px}.build-heading>p{margin-top:16px;max-width:400px;font-size:15px}.build-grid{grid-template-columns:1fr;gap:25px}.build-card.sailboat{margin-top:0}.build-card{border-radius:24px}.model-stage{aspect-ratio:1.25}.build-caption{padding:0 24px 28px}.build-caption p{font-size:14px}.build-caption h3{font-size:25px}}
.model-interaction{display:none;position:absolute;left:18px;right:18px;bottom:13px;z-index:2;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.has-model .model-interaction{display:flex}.model-hint{font-size:12px;line-height:1.5;color:#465e73;background:#ffffffe6;padding:5px 10px;border-radius:20px}.model-reset{pointer-events:auto;cursor:pointer;border:1px solid #ffffffb3;border-radius:20px;background:#ffffffe6;color:#36556b;font-size:12px;padding:6px 12px}.model-reset:hover{background:white}.model-reset:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

/* Keep plans and the parent shop within reach, including on small screens. */
.site-header nav{gap:24px}.nav-primary,.nav-utility{display:flex;align-items:center;gap:24px}.nav-discover{color:var(--teal);font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .button{padding-inline:22px}.hero-shop{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--teal);font-size:14px;text-decoration:underline;text-underline-offset:4px}
.family-picks{display:grid;grid-template-columns:1fr 1.15fr;gap:0;overflow:hidden;border:1px solid #c9dfe7;border-radius:26px;background:#f0f9fb;margin-top:14px}.family-picks article{padding:30px 34px}.family-picks .kit-pick{background:#e3f2f7}.family-picks .plans-pick{border-left:1px solid #c9dfe7}.family-picks .pick-label{color:var(--teal);font-size:13px;font-weight:650;margin:0 0 10px}.family-picks h2{font-family:ui-rounded,'Avenir Next','PingFang SC',sans-serif;font-size:25px;line-height:1.35;letter-spacing:-.5px;margin:0 0 12px}.family-picks p{max-width:440px;font-size:14px;line-height:1.8;margin:0 0 20px;color:var(--muted)}.family-picks .kit-proof{color:var(--ink);font-size:15px}.family-picks .button{min-height:46px;font-size:14px;padding:11px 20px;border-radius:14px}.pick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.free-plans{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-size:13px;text-decoration:underline;text-underline-offset:4px}.family-picks small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}.zh .family-picks h2{font-size:24px;line-height:1.5}
@media(max-width:1100px){.site-header nav,.nav-primary,.nav-utility{gap:18px}.site-header nav .desktop-link{display:none}.family-picks article{padding:28px}}
@media(max-width:740px){.site-header{display:grid;grid-template-columns:auto 1fr;gap:0 16px;padding-top:14px}.site-header nav{display:contents}.nav-utility{grid-column:2;grid-row:1;justify-self:end;gap:14px;font-size:12px}.nav-primary{grid-column:1/-1;grid-row:2;display:flex;gap:28px;border-top:1px solid var(--line);margin-top:12px;min-height:48px;font-size:14px}.nav-primary a{display:inline-flex;align-items:center;min-height:44px}.hero{padding-top:26px}.hero-actions{gap:10px}.hero-actions .button{padding-inline:19px;font-size:14px}.hero-shop{font-size:13px}.family-picks{grid-template-columns:1fr;margin-top:4px;border-radius:22px}.family-picks article{padding:25px 24px}.family-picks .plans-pick{border-left:0;border-top:1px solid #c9dfe7}.family-picks h2,.zh .family-picks h2{font-size:23px}.family-picks p{font-size:14px}.family-picks .pick-label{font-size:12px}}
@media(max-width:380px){.site-header{gap:0 10px}.nav-utility{gap:10px}.hero-actions .button{padding-inline:15px}.family-picks article{padding:23px 20px}.family-picks h2,.zh .family-picks h2{font-size:22px}}

/* An actual Domino chain, kept independent of the blueprint model viewers. */
.domino-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;margin-bottom:76px;padding:38px 28px 38px 42px;border:2px solid #e3ddf3;border-radius:32px;background:#f3effb}.domino-eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;line-height:1.6;color:#79618f;margin:0 0 19px}.domino-mark{display:flex;align-items:flex-end;gap:3px;transform:rotate(-9deg)}.domino-mark i{display:block;width:7px;height:16px;border-radius:2px;background:#e97694}.domino-mark i:nth-child(2){height:20px;background:#eda557}.domino-mark i:nth-child(3){height:24px;background:#a799d7}.domino-copy .section-heading{font-size:38px;line-height:1.22;margin:0 0 20px}.zh .domino-copy .section-heading{font-size:34px;line-height:1.5}.domino-description{font-size:15px;line-height:1.85;color:var(--muted);max-width:310px;margin:0 0 25px}.domino-game-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#654d8a;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.domino-game-link span{font-size:22px;text-decoration:none}.domino-playground{min-width:0;overflow:hidden;border:1px solid #ffffff;border-radius:25px;background:#eae5f7}.domino-scene{position:relative;aspect-ratio:680/380}.domino-scene svg{display:block;width:100%;height:100%;overflow:visible}.domino-playbar{padding:0 23px 23px}.domino-feedback{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.domino-feedback p{font-size:13px;line-height:1.6;color:#695978;margin:0;min-height:22px}.domino-counter{white-space:nowrap;color:#8e7fa2;font-size:13px;font-variant-numeric:tabular-nums}.domino-counter b{font-size:22px;color:#69517f}.domino-controls{display:flex;align-items:center;gap:19px}.domino-push{border:0;background:#78609e;gap:9px;min-height:48px;padding:12px 21px;font-size:14px}.domino-push:hover{background:#644c88}.domino-push>span{font-size:20px;line-height:1}.domino-reset{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:#695978;font:inherit;font-size:13px;cursor:pointer;min-height:44px;padding:8px 0}.domino-reset>span{font-size:21px}.domino-feature button:disabled{cursor:default;opacity:.5}.domino-feature button:focus-visible,.domino-game-link:focus-visible{outline:3px solid #087e95;outline-offset:4px}.domino-feature.is-running .domino-counter b{color:#b04d76}
@media(max-width:1000px){.domino-feature{grid-template-columns:.85fr 1.15fr;gap:20px;padding:30px 22px 30px 28px}.domino-copy .section-heading{font-size:32px}.zh .domino-copy .section-heading{font-size:29px}.domino-description{font-size:14px}.domino-playbar{padding:0 16px 20px}.domino-controls{gap:13px}.domino-push{padding:11px 15px}.domino-eyebrow{font-size:11px}}
@media(max-width:740px){.domino-feature{grid-template-columns:1fr;gap:24px;padding:28px 20px 20px;border-radius:26px;margin-bottom:46px}.domino-copy .section-heading{font-size:34px;margin-bottom:14px}.zh .domino-copy .section-heading{font-size:31px}.domino-eyebrow{margin-bottom:14px;font-size:12px}.domino-description{max-width:440px;margin-bottom:9px;font-size:14px}.domino-playground{border-radius:20px;margin-inline:-7px}.domino-scene{aspect-ratio:680/410}.domino-playbar{padding:0 16px 18px}.domino-feedback{margin-bottom:12px}.domino-controls{gap:18px}.domino-push{min-height:47px;font-size:13px}.domino-reset{font-size:12px}}
@media(max-width:380px){.domino-feature{padding:25px 17px 17px}.domino-copy .section-heading{font-size:31px}.zh .domino-copy .section-heading{font-size:29px}.domino-feedback p{font-size:12px}.domino-controls{gap:12px}.domino-push{padding-inline:13px}}
