@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Unobtrusive scrolling in both themes. */
*{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--muted);border:2px solid var(--bg);border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--ink)}
:root{color-scheme:light;--bg:#f5f6f1;--surface:#ffffffa8;--solid:#fff;--ink:#253d36;--muted:#708177;--line:#dce3db;--accent:#ef987e;--soft:#f6e5da;--mint:#e0ece3;--blue:#e6edf0;--shadow:0 22px 70px #2946370b;--heading:'Manrope','Segoe UI',sans-serif;--body:'DM Sans','Segoe UI',sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#14231f;--surface:#20332dcc;--solid:#20332d;--ink:#ecf1e9;--muted:#a2b5aa;--line:#344b40;--accent:#f5aa8b;--soft:#44362e;--mint:#2b4738;--blue:#2a3c43;--shadow:0 22px 70px #0002}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.65}body:before{content:'';position:absolute;top:0;right:0;width:65vw;height:760px;background:radial-gradient(ellipse at 72% 30%,#efd6c955,transparent 58%),radial-gradient(ellipse at 35% 50%,#bedbcc44,transparent 55%);z-index:-1;pointer-events:none}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--heading);line-height:1.18}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;left:20px;top:-80px;padding:12px;background:var(--solid);z-index:100}.skip:focus{top:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;width:min(1240px,calc(100% - 48px));margin:20px auto 0;padding:16px 25px;position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(24px);z-index:10;box-shadow:0 5px 30px #223b2e04}.brand{display:flex;align-items:center;gap:11px;font-family:var(--heading);font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.plus{color:var(--accent)}.guide-tag{font-family:var(--body);font-size:9px;letter-spacing:1.3px;font-weight:600;border-left:1px solid var(--line);margin-left:5px;padding-left:17px;color:var(--muted)}nav{display:flex;gap:27px;font-size:13px;font-weight:500}nav a:hover,.text-link:hover,.footer-links a:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:18px}.repo-link{font-size:13px;font-weight:600}.repo-link span{margin-left:8px}.theme{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.theme svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:22px;align-items:center;padding-block:85px 55px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:var(--muted)}.hero .eyebrow{display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #ed9c7b18}h1{font-size:clamp(46px,5.8vw,76px);letter-spacing:-4px;font-weight:800;margin-top:22px;line-height:1.08}h1 em{font-style:normal;color:#b37a60}:root[data-theme=dark] h1 em{color:var(--accent)}.lead{font-size:17px;line-height:1.75;max-width:470px;margin-top:25px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;border-radius:12px;padding:14px 21px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22372c18}.primary{background:var(--ink);color:var(--bg)}.text-link{font-size:13px;font-weight:600;transition:color .2s}.hero-meta{display:flex;gap:20px;margin-top:27px;font-size:10px;color:var(--muted)}.hero-meta span:before{content:'✓';color:#93aa95;margin-right:6px}.hero-art{margin:0}.hero-art img{width:100%;filter:drop-shadow(0 20px 30px #455c3f0a)}figcaption{font-size:9px;text-align:center;color:var(--muted);margin-top:8px;letter-spacing:.3px}.overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.overview-card{display:flex;align-items:center;gap:16px;padding:24px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:transform .2s,border-color .2s}.overview-card:hover{transform:translateY(-3px);border-color:#b2c5b5}.overview-card h2{font-size:15px;letter-spacing:-.3px}.overview-card p{font-size:11px;margin-top:6px}.small-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;font-family:var(--heading);font-size:13px;font-weight:700}.coral{background:var(--soft);color:#a87960}.mint{background:var(--mint);color:#648374}.blue{background:var(--blue);color:#748791}.arrow{margin-left:auto;color:var(--muted)}.section{padding-block:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:33px}h2{font-size:36px;letter-spacing:-1.6px;font-weight:700}.section-heading h2{margin-top:13px}.section-heading>p{max-width:290px;font-size:13px;line-height:1.7}.tutorial-shell{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.tabs{display:flex;gap:6px;padding:13px 19px;border-bottom:1px solid var(--line);background:#71827105}.tabs button{border:0;background:transparent;border-radius:10px;padding:11px 18px;color:var(--muted);font-size:12px;font-weight:500}.tabs button[aria-selected=true]{color:var(--ink);background:var(--solid);box-shadow:0 2px 8px #29433109}.tabs button:hover{color:var(--ink)}.tutorial-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:40px}.tutorial-panel[hidden]{display:none}.pill{display:inline-block;padding:5px 9px;border-radius:6px;background:var(--mint);font-size:9px;letter-spacing:1px;font-weight:600;color:var(--ink)}.tutorial-intro h3{font-size:25px;letter-spacing:-1px;margin-top:18px}.tutorial-intro>p{font-size:13px;margin-top:17px}.tutorial-intro>.text-link{display:inline-block;margin-top:20px}.tutorial-intro .fine{font-size:11px;margin-top:14px}.steps{margin:0;padding:0;list-style:none;display:grid;gap:23px}.steps li{display:flex;gap:17px}.step-number{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid var(--line);background:var(--solid);border-radius:10px;color:#94a898;font-family:var(--heading);font-weight:600;font-size:12px}.steps h4{font-size:14px;margin-top:4px}.steps p{font-size:12px;line-height:1.65;margin-top:7px}.development-note{font-size:11px;margin-top:18px;display:flex;gap:8px}.development-note span{color:#b1886e}.code-card{background:#20382e;color:#e2ece2;border:1px solid #45614e;border-radius:13px;overflow:hidden;align-self:start}.code-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #ffffff16;font-size:9px;letter-spacing:1px;color:#aec6b6}.copy{background:#ffffff10;color:#d6e6d9;border:1px solid #ffffff22;border-radius:6px;font-size:10px;padding:5px 8px;letter-spacing:0}.copy:hover{background:#ffffff25}pre{margin:0;padding:18px;overflow:auto;max-width:100%;font-family:Consolas,monospace;font-size:11px;line-height:1.95}.code-footer{border-top:1px solid #ffffff16;padding:10px 16px;font-size:9px;color:#9dbba9}.note{padding:17px;background:var(--mint);border-radius:12px;margin-top:24px;font-size:12px}.note p{font-size:12px;margin-top:7px}.help-list{display:grid;gap:19px}.help-list h4{font-size:13px}.help-list p{font-size:12px;margin-top:6px}.help-list a{text-decoration:underline;text-underline-offset:3px}.diagram{border:1px solid var(--line);border-radius:24px;background:#f2f6f3;padding:10px}.diagram img{width:100%;height:auto}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:35px}.principles .eyebrow{font-size:9px}.principles h3{font-size:18px;letter-spacing:-.4px;margin-top:13px}.principles p{font-size:12px;margin-top:12px}.stack-section{margin-top:95px;padding-bottom:60px;background:linear-gradient(135deg,#b7c9bb13,#ebd9c513);border-block:1px solid var(--line)}.stack-section .section{padding-top:65px}.core-languages{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.core-languages article{display:flex;gap:25px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:29px}.language-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:17px;flex:0 0 64px;font-family:var(--heading);font-size:25px;font-weight:700}.js{background:#efe4b6;color:#8a7838}.py{background:#dce9ed;color:#627e8a}.core-languages .eyebrow{font-size:9px}.core-languages h3{font-size:23px;letter-spacing:-.7px;margin-top:9px}.core-languages p{font-size:12px;max-width:345px;margin-top:11px}.keep{display:inline-block;font-size:10px;margin-top:16px;color:#77917e}.keep:before{content:'â†³';margin-right:7px}.table-wrap{margin-top:32px;overflow:auto;border:1px solid var(--line);border-radius:17px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;background:var(--surface)}caption{padding:16px 20px;text-align:left;color:var(--muted);font-size:10px;letter-spacing:.5px;background:var(--surface)}th,td{padding:15px 20px;border-top:1px solid var(--line)}thead th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:500;background:#72887504}tbody th{font-size:12px;font-weight:600;width:23%}td{color:var(--muted)}td:last-child{width:39%}.migration{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:48px}.migration h3{font-size:28px;letter-spacing:-1px;margin-top:12px}.migration p{font-size:13px;max-width:460px;margin-top:17px}.migration-aside{align-self:end;border-left:1px solid var(--line);padding-left:35px}.migration-aside p{margin:0}.migration-aside a{display:inline-block;margin-top:19px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.faq h2{margin-top:15px}.faq>div>p{font-size:13px;margin-top:17px}.questions details{border-bottom:1px solid var(--line);padding-block:17px}.questions details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:13px;font-weight:500;display:flex;justify-content:space-between;gap:16px}summary:after{content:'+';font-size:20px;font-weight:400;color:var(--muted);line-height:1}summary::-webkit-details-marker{display:none}details[open] summary:after{content:'âˆ’'}.questions p{font-size:12px;padding-right:25px;margin-top:14px}.closing{display:flex;align-items:center;gap:22px;padding:33px 34px;border:1px solid var(--line);border-radius:21px;background:var(--surface);margin-top:90px}.closing h2{font-size:23px;letter-spacing:-.7px}.closing p{font-size:12px;margin-top:7px}.closing .button{margin-left:auto;white-space:nowrap}footer{display:flex;justify-content:space-between;gap:25px;padding-block:45px 35px}footer strong{font-family:var(--heading);font-size:18px;letter-spacing:-.5px}footer p{font-size:10px;margin-top:10px}.footer-links{display:flex;gap:20px;align-items:start;flex-wrap:wrap;font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:10px 18px;background:var(--ink);color:var(--bg);border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero{padding-block:100px 70px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.guide-tag{display:none}.hero{gap:0;padding-top:60px}h1{letter-spacing:-2.5px}.hero-actions{gap:15px;flex-wrap:wrap}.overview-card{padding:20px 15px;gap:12px}.overview-card p{font-size:10px}.tutorial-panel{gap:35px;padding:30px}.principles{gap:30px}.core-languages article{gap:17px;padding:22px}.language-mark{width:50px;height:50px;flex-basis:50px}.migration{gap:50px}.faq{gap:35px}.footer-links{max-width:320px;justify-content:end}}
@media(max-width:740px){.topbar{width:calc(100% - 24px);padding:12px 15px;gap:10px;border-radius:17px;top:8px;margin-top:12px}.brand{font-size:20px;gap:8px}.brand img{width:32px;height:32px}nav{display:none}.nav-actions{gap:12px}.repo-link{font-size:11px}.wrap{width:calc(100% - 36px)}.hero{grid-template-columns:1fr;padding-block:45px 28px}.hero-copy{max-width:540px}.hero .eyebrow{font-size:9px}h1{font-size:57px;letter-spacing:-3px}.lead{font-size:15px;margin-top:20px}.hero-art{max-width:470px;margin:25px auto 0}.hero-meta{margin-top:22px}.hero-actions{margin-top:25px}.overview{grid-template-columns:1fr;gap:10px}.overview-card{padding:19px}.overview-card p{font-size:11px}.section{padding-top:65px}.section-heading{display:block;margin-bottom:24px}h2{font-size:29px;letter-spacing:-1px}.section-heading>p{margin-top:16px;max-width:100%;font-size:12px}.tabs{padding:10px;gap:2px;overflow-x:auto}.tabs button{white-space:nowrap;padding:9px 11px;font-size:10px}.tutorial-panel{grid-template-columns:1fr;padding:24px;gap:27px}.steps{gap:20px}.tutorial-intro h3{font-size:23px}.diagram{padding:5px;border-radius:16px}.principles{grid-template-columns:1fr;gap:24px;margin-top:28px}.principles p{max-width:490px}.stack-section{margin-top:65px;padding-bottom:36px}.stack-section .section{padding-top:40px}.core-languages{grid-template-columns:1fr;gap:12px;margin-top:25px}.table-wrap{margin-top:22px}table{min-width:620px;font-size:11px}th,td{padding:12px 15px}.migration{grid-template-columns:1fr;gap:24px;margin-top:32px}.migration h3{font-size:25px}.migration-aside{padding-left:20px}.faq{grid-template-columns:1fr;gap:24px}.closing{margin-top:60px;flex-wrap:wrap;padding:24px;gap:17px}.closing img{width:38px;height:38px}.closing h2{font-size:19px}.closing .button{margin-left:0;width:100%;margin-top:4px}footer{flex-direction:column;padding-top:30px}.footer-links{justify-content:start;max-width:100%;gap:17px}.development-note{font-size:10px}html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:740px){.tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:5px}.tabs button{white-space:normal;padding:10px 8px}}
/* Product site: shared navigation and reusable page sections. */
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .18s ease both}::view-transition-new(root){animation:page-in .32s ease both}@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}@keyframes page-in{from{opacity:0;transform:translateY(8px)}}
.topbar nav{gap:24px}.topbar nav a[aria-current=page]{color:var(--ink);position:relative}.topbar nav a[aria-current=page]:after{content:'';position:absolute;bottom:-9px;left:50%;width:4px;height:4px;background:var(--accent);border-radius:50%}.nav-download{font-size:12px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;transition:transform .2s,background .2s}.nav-download:hover{transform:translateY(-2px)}.nav-download span{margin-left:12px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:9px;width:34px;height:34px;padding:8px;color:var(--ink)}.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:4px 0}.mobile-nav{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--solid);border:1px solid var(--line);border-radius:17px;padding:9px;box-shadow:var(--shadow)}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:12px 15px;font-size:13px;border-radius:9px}.mobile-nav a:hover{background:var(--mint)}.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.product-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:45px;padding-top:105px;padding-bottom:72px}.product-hero h1{font-size:clamp(50px,5.6vw,73px);letter-spacing:-3.8px}.product-hero .lead{font-size:16px;max-width:425px}.product-hero .hero-meta{gap:17px}.product-hero .eyebrow{display:flex;align-items:center;gap:10px}.preview-tag{display:inline-flex;flex-wrap:wrap;gap:10px;font-size:10px;margin-top:24px;color:var(--muted)}.preview-tag span{color:#b48670}.product-visual{position:relative;padding-block:25px 50px}.visual-orbit{position:absolute;border-radius:50%;pointer-events:none;filter:blur(5px);z-index:-1}.orbit-one{width:360px;height:360px;background:#bad5c43d;left:-35px;top:-35px}.orbit-two{width:240px;height:240px;background:#f1b9a743;right:-15px;bottom:30px}.app-preview{position:relative;background:var(--solid);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #3f55391b;overflow:hidden;transform:perspective(1500px) rotateY(-5deg) rotateX(2deg);transition:transform .7s cubic-bezier(.22,1,.36,1)}.product-visual:hover .app-preview{transform:perspective(1500px) rotateY(0) rotateX(0)}.preview-titlebar{display:flex;align-items:center;gap:16px;height:38px;padding:0 15px;border-bottom:1px solid var(--line);font-size:10px;font-weight:600}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#d4c1b5}.window-dots i:first-child{background:#e7a58c}.window-dots i:last-child{background:#a9bfa8}.preview-label{margin-left:auto;color:var(--muted);font-size:7px;letter-spacing:1px;font-weight:400}.preview-body{display:flex;min-height:321px}.preview-sidebar{width:124px;padding:20px 11px;background:#91a28607;border-right:1px solid var(--line);flex-shrink:0}.preview-sidebar>img{margin-bottom:24px}.preview-section{font-size:7px;letter-spacing:1.5px;color:var(--muted);padding-left:9px;display:block;margin-bottom:8px}.preview-section.lower{margin-top:35px}.preview-item{font-size:8px;padding:9px 8px;color:var(--muted);border-radius:7px;white-space:nowrap}.preview-item span{margin-right:6px;color:#8b9d90}.preview-item.selected{background:var(--mint);color:var(--ink)}.preview-content{padding:21px 18px;flex:1;min-width:0}.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:17px}.preview-heading .eyebrow{font-size:7px;letter-spacing:1px}.preview-heading h2{font-size:17px;letter-spacing:-.6px;margin-top:6px}.preview-status{font-size:6px;color:var(--muted);display:flex;gap:4px;align-items:center;white-space:nowrap}.preview-status i{width:4px;height:4px;background:#aac4ad;border-radius:50%}.preview-map{border-radius:10px;overflow:hidden;position:relative;background:#d4e3c5}.preview-map>img{width:100%;height:140px;object-fit:cover}.map-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#243d36b3);padding:30px 12px 12px;color:white;display:flex;align-items:end;justify-content:space-between}.map-caption span{font-size:6px;letter-spacing:1px;color:#e4efdb}.map-caption h3{font-size:12px;letter-spacing:-.2px;margin-top:5px}.map-chip{padding:3px 7px;border:1px solid #ffffff55;border-radius:5px;background:#ffffff1c}.preview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.preview-bottom>div{background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:9px}.preview-bottom .eyebrow{font-size:6px;letter-spacing:1px;white-space:nowrap}.requirements-demo p{font-size:7px;margin-top:6px;color:var(--muted)}.check{color:#789883;font-size:9px;margin-right:4px}.muted-check{color:#a6b8a9}.progress-bars{display:flex;align-items:end;gap:5px;height:29px;margin-top:9px}.progress-bars i{flex:1;height:35%;background:#b6c9b5;border-radius:3px 3px 1px 1px;transform-origin:bottom;animation:bar-breathe 5s ease-in-out infinite}.progress-bars i:nth-child(2){height:53%;animation-delay:.3s}.progress-bars i:nth-child(3){height:42%;animation-delay:.6s}.progress-bars i:nth-child(4){height:70%;animation-delay:.9s}.progress-bars i:nth-child(5){height:59%;animation-delay:1.2s}.progress-bars i:nth-child(6){height:84%;animation-delay:1.5s}.progress-bars i:nth-child(7){height:100%;animation-delay:1.8s}.route-demo>span:last-child{font-size:6px;color:var(--muted);display:block;margin-top:8px}.floating-note{display:flex;align-items:center;gap:11px;position:absolute;bottom:8px;left:30px;padding:17px 24px;background:var(--solid);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #3f553916;animation:note-float 7s ease-in-out infinite}.note-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--mint);color:#7e9a7e}.floating-note strong{font-size:11px;font-weight:500}.floating-note div>span{font-size:8px;display:block;margin-top:3px;color:var(--muted)}.visual-caption{position:absolute;bottom:-24px;left:0;right:0;font-size:8px;text-align:center}.feature-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px;border-block:1px solid var(--line);color:var(--muted);font-size:11px}.feature-strip>span{font-size:8px;letter-spacing:1.3px}.feature-strip i{width:3px;height:3px;border-radius:50%;background:#bac9bb}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:var(--surface);border:1px solid var(--line);padding:29px;border-radius:22px;display:flex;flex-direction:column;align-items:start;transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-card.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:40px}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:20px;margin-bottom:24px}.feature-card .eyebrow{font-size:8px;letter-spacing:1.5px}.feature-card h3{font-size:25px;letter-spacing:-.8px;margin-top:13px}.feature-card p{font-size:12px;line-height:1.8;margin-top:14px}.feature-card .text-link{display:inline-block;font-size:11px;margin-top:23px}.mini-route{display:grid;gap:15px;align-self:center}.route-node{display:flex;align-items:center;gap:13px;background:var(--solid);border:1px solid var(--line);border-radius:12px;padding:17px 14px}.route-node>span{font-size:10px;color:#96ac98;background:var(--mint);border-radius:8px;padding:7px}.route-node strong{font-size:11px;font-weight:500}.route-node small{display:block;font-size:9px;margin-top:3px;color:var(--muted)}.path-art{width:100%;margin-top:25px}.path-art>span{font-size:6px;letter-spacing:1px;color:var(--muted)}.path-art>div{display:flex;gap:6px;margin-top:5px;margin-bottom:10px}.path-art i{height:17px;flex:1;background:#b1c7b5;border-radius:4px}.path-art>div:last-child i:nth-child(n+4){background:var(--line)}.device-art{display:flex;align-items:center;gap:13px;width:100%;margin-top:27px}.device-art>div{font-size:8px;letter-spacing:1px;flex:1;text-align:center;border:1px solid var(--line);border-radius:9px;padding:19px 8px;background:var(--solid)}.device-art>span{color:#92a898}.log-art{display:grid;gap:11px;margin-top:25px;font-size:9px;color:var(--muted)}.log-art span{display:flex;align-items:center;gap:8px}.log-art i{width:5px;height:5px;background:#a6bba9;border-radius:50%}.log-art span:last-child i{background:#d6b18b}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.journey-number{font-size:38px;font-family:var(--heading);font-weight:600;letter-spacing:-2px;color:#b2c2b3}.journey-grid h3{font-size:20px;letter-spacing:-.5px;margin-top:17px}.journey-grid p{font-size:12px;margin-top:13px}.honesty{margin-top:90px;padding:38px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,var(--mint),var(--surface));display:grid;grid-template-columns:1fr 1fr;gap:55px}.honesty h2{font-size:29px;margin-top:13px}.honesty>div:last-child{align-self:center}.honesty p{font-size:13px}.honesty a{display:inline-block;font-size:12px;margin-top:20px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px;margin-top:20px}.site-footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:8px}.footer-label{font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}.site-footer a:not(.brand){font-size:11px;color:var(--muted)}.site-footer a:hover{color:var(--accent)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:19px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.page-hero{padding-top:85px;padding-bottom:60px}.page-hero h1{font-size:65px;letter-spacing:-3px;line-height:1.12}.page-hero .lead{max-width:600px;font-size:16px}.centered{text-align:center}.centered .lead{margin-inline:auto}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.owner-card{padding:40px;text-align:center;border-radius:24px;border:1px solid var(--line);background:var(--surface)}.owner-avatar{position:relative;width:100px;height:100px;display:grid;place-items:center;margin:0 auto 22px;border-radius:30px;background:linear-gradient(140deg,#f5b799,#e99277);color:#fff;font-size:61px;font-family:var(--heading);font-weight:700;box-shadow:0 15px 30px #ed98781c}.owner-avatar span{position:absolute;right:-7px;bottom:-7px;background:var(--ink);color:var(--bg);width:34px;height:34px;border-radius:50%;font-size:24px;display:grid;place-items:center;border:3px solid var(--solid)}.owner-card h2{font-size:29px;margin-top:15px}.owner-card p{font-size:12px;margin-top:10px}.owner-card a{display:inline-block;margin-top:24px;font-size:11px}.about-story h2{font-size:33px;margin-top:15px}.about-story>p{font-size:13px;margin-top:18px;line-height:1.9}.value-cards article{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.value-cards .feature-icon{margin-bottom:20px}.contributor-empty{text-align:center;padding:48px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.people-symbol{position:relative;width:88px;height:88px;background:var(--mint);border-radius:25px;margin:0 auto 22px;display:grid;place-items:center}.people-symbol span{font-size:41px;color:#8eaa94;font-weight:400}.people-symbol i{width:19px;height:19px;border:2px solid var(--solid);border-radius:50%;background:#c6b9a6;position:absolute;left:-7px;top:17px}.people-symbol i:last-child{background:#a5bdca;left:auto;right:-7px;top:auto;bottom:17px}.contributor-empty h2{margin-top:15px;font-size:28px}.contributor-empty p{font-size:13px;margin-top:15px}.contributor-empty .button{margin-top:25px}.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contribution-grid h3{font-size:21px}.credit-panel{padding:30px;margin-top:60px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.credit-panel h3{font-size:19px;letter-spacing:-.4px}.credit-panel p{font-size:12px;margin-top:14px;max-width:850px}.credit-panel div{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.credit-panel a{font-size:12px}.credit-panel .fine{font-size:10px}.credit-panel>.text-link{display:inline-block;margin-top:19px}.download-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;max-width:940px}.download-card{padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--surface);display:flex;align-items:start;flex-direction:column}.primary-download{background:linear-gradient(130deg,var(--mint),var(--surface));box-shadow:var(--shadow)}.download-platform{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:31px}.download-platform svg{width:25px;height:25px;color:#8b9c8b}.download-platform>span:not(.pill){font-size:9px;letter-spacing:1.5px;color:var(--muted)}.download-platform>.pill{margin-left:auto;font-size:7px}.download-card h2{font-size:31px;margin-bottom:14px}.download-card p{font-size:13px;max-width:370px}.download-card .feature-icon{margin-bottom:18px}.download-card .eyebrow{margin-bottom:12px}.download-card .button{margin-top:24px;width:100%;gap:12px;text-align:center}.download-card>.text-link{margin-top:20px;font-size:12px}.release-info{font-size:12px;padding-top:21px;color:var(--muted)}.download-detail{font-size:10px;color:var(--muted);margin-top:14px}.requirements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.requirements-grid>article{border-top:1px solid var(--line);padding-top:23px}.requirements-grid>article>span{font-size:11px;color:#9aac9b}.requirements-grid h3{font-size:19px;margin-top:17px}.requirements-grid p{font-size:12px;margin-top:13px}.download-help{padding:28px;border:1px solid var(--line);border-radius:18px;margin-top:45px;background:var(--surface);display:flex;gap:30px;align-items:center;justify-content:space-between}.download-help h3{font-size:20px}.download-help p{font-size:12px;max-width:540px;margin-top:10px}.download-help .button{white-space:nowrap}.download-card a[aria-disabled=true]{opacity:.6;pointer-events:none}.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.motion-ready .feature-card.reveal.visible:hover{transform:translateY(-4px)}@keyframes note-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes bar-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.75)}}
@media(max-width:1050px){.product-hero{gap:25px;padding-top:80px;grid-template-columns:.9fr 1.1fr}.product-hero h1{font-size:58px;letter-spacing:-3px}.preview-sidebar{width:99px;padding:17px 8px}.preview-item{font-size:7px;padding-inline:5px}.preview-content{padding:17px 12px}.preview-status{display:none}.preview-heading h2{font-size:15px}.preview-bottom>div{padding:9px}.feature-strip{gap:13px;font-size:9px}.feature-card{padding:24px}.feature-card.wide{gap:25px}.feature-card h3{font-size:22px}.about-grid{gap:45px}.topbar nav{gap:17px;font-size:12px}.site-footer{gap:30px}}
@media(max-width:800px){.topbar nav{display:none}.menu-toggle{display:block}.product-hero{grid-template-columns:1fr;padding-top:55px;gap:28px;padding-bottom:60px}.product-hero h1{font-size:68px}.product-hero .lead{max-width:520px}.product-visual{width:min(600px,100%);margin-inline:auto}.app-preview{transform:none}.preview-sidebar{width:122px}.preview-item{font-size:8px}.preview-content{padding:20px 18px}.preview-heading h2{font-size:18px}.preview-map>img{height:160px}.preview-bottom>div{padding:13px}.feature-strip{flex-wrap:wrap;justify-content:center;gap:15px}.feature-strip>span{width:100%;text-align:center;margin-bottom:4px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card.wide{grid-column:span 2}.journey-grid{gap:25px}.honesty{gap:30px}.about-grid{gap:35px}.contribution-grid{grid-template-columns:1fr}.download-grid{gap:16px}.download-card{padding:27px}.page-hero h1{font-size:56px}.download-help{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:560px){.nav-download{font-size:10px;padding:8px 10px}.nav-download span{margin-left:5px}.nav-actions{gap:7px}.theme{width:30px;height:30px}.menu-toggle{width:30px;height:30px}.topbar{padding:11px 12px}.brand{font-size:19px}.product-hero h1{font-size:57px;letter-spacing:-3px}.product-hero .hero-meta{gap:12px;font-size:9px}.preview-sidebar{width:82px;padding:14px 7px}.preview-sidebar>img{width:27px;height:27px;margin-bottom:17px}.preview-section{font-size:5px;letter-spacing:.7px;padding-left:4px}.preview-item{font-size:6px;padding:8px 4px}.preview-item span{margin-right:3px}.preview-content{padding:15px 10px}.preview-heading .eyebrow{font-size:6px}.preview-heading h2{font-size:13px}.preview-titlebar{height:31px;font-size:8px}.preview-label{font-size:5px}.preview-map>img{height:115px}.map-caption{padding:25px 9px 9px}.map-caption h3{font-size:9px}.map-caption span{font-size:5px}.preview-bottom{gap:7px}.preview-bottom>div{padding:9px}.preview-bottom .eyebrow{font-size:5px;letter-spacing:.7px}.requirements-demo p{font-size:6px}.route-demo>span:last-child{font-size:5px}.preview-body{min-height:265px}.app-preview{border-radius:16px}.floating-note{left:18px;padding:13px 17px;gap:10px}.floating-note strong{font-size:9px}.floating-note div>span{font-size:7px}.note-icon{width:27px;height:27px;font-size:12px}.feature-grid{grid-template-columns:1fr;gap:15px}.feature-card.wide{grid-column:auto;grid-template-columns:1fr;gap:27px}.feature-card{padding:26px}.feature-card h3{font-size:24px}.feature-card .feature-icon{margin-bottom:19px}.journey-grid{grid-template-columns:1fr;gap:27px}.journey-grid>article{display:grid;grid-template-columns:45px 1fr;column-gap:20px}.journey-number{grid-row:span 2;font-size:32px}.journey-grid h3{margin-top:7px;font-size:19px}.journey-grid p{margin-top:10px}.honesty{grid-template-columns:1fr;margin-top:60px;padding:27px;gap:22px}.honesty h2{font-size:26px}.site-footer{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding-top:50px;padding-bottom:35px}.page-hero h1{font-size:45px;letter-spacing:-2.3px}.page-hero .lead{font-size:14px}.about-grid{grid-template-columns:1fr;gap:35px}.owner-card{padding:32px}.about-story h2{font-size:28px}.value-cards{gap:15px}.contributor-empty{padding:32px 23px}.contributor-empty h2{font-size:25px}.credit-panel{padding:24px}.credit-panel div{gap:16px}.download-grid{grid-template-columns:1fr;gap:18px}.download-card{padding:29px}.requirements-grid{grid-template-columns:1fr;gap:25px}.download-help{padding:24px}.download-help .button{width:100%;white-space:normal}.feature-strip i{display:none}.feature-strip>div{font-size:9px}.orbit-one{width:240px;height:240px;left:-5px}.orbit-two{width:160px;height:160px;right:0}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}.app-preview{transform:none}}

/* Product artwork and wiki reference cards. */
.game-icon{width:64px;height:64px;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 6px 10px #243c3c18)}
img.owner-avatar{object-fit:cover;border-radius:32px}
.wiki-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.wiki-topics article{scroll-margin-top:100px}.wiki-topics p{line-height:1.8}.wiki-topics h2{margin:16px 0}
@media(max-width:700px){.wiki-topics{grid-template-columns:1fr}}

:root[data-theme=dark] body:before{background:radial-gradient(ellipse at 72% 30%,#8b54451c,transparent 60%),radial-gradient(ellipse at 35% 50%,#4c806624,transparent 60%)}
:root[data-theme=dark] .orbit-one{background:#a56c5629;opacity:.45}:root[data-theme=dark] .orbit-two{background:#527e6b29;opacity:.45}
:root[data-theme=dark] .app-preview{box-shadow:0 30px 75px #0005;border-color:var(--line)}
:root[data-theme=dark] .owner-avatar{box-shadow:0 15px 35px #0003}
.policy-copy{max-width:900px}.policy-copy h2{margin:30px 0 12px;font-size:24px}.policy-copy h2:first-child{margin-top:0}.policy-copy p{line-height:1.8}.policy-copy a{text-decoration:underline;text-underline-offset:3px}

.wiki-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding-bottom:80px}.wiki-sidebar{display:flex;flex-direction:column;gap:6px;position:sticky;top:100px;align-self:start}.wiki-sidebar a{padding:11px 14px;border-radius:10px;font-size:13px;color:var(--muted)}.wiki-sidebar a:hover{background:var(--surface);color:var(--ink)}.wiki-sidebar a[aria-current=page]{background:var(--mint);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 var(--accent)}.wiki-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wiki-entry[hidden]{display:none}.wiki-entry h2{font-size:24px;margin:15px 0}.wiki-entry .text-link{margin-top:16px;display:block}.wiki-search{display:block;font-size:12px;margin-top:28px;max-width:480px}.wiki-search input{display:block;width:100%;margin-top:8px;padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit}.wiki-article{max-width:800px}.wiki-article section{scroll-margin-top:110px;padding:26px 0;border-bottom:1px solid var(--line)}.wiki-article h2{font-size:26px;margin-bottom:14px}.wiki-article p{line-height:1.9;color:var(--muted)}.wiki-toc{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:9px;font-size:13px}.wiki-toc b{font-size:9px;letter-spacing:1.5px;margin-bottom:5px}.wiki-edit{margin-top:25px}.wiki-edit a{color:var(--ink)}@media(max-width:800px){.wiki-layout{grid-template-columns:1fr}.wiki-sidebar{position:static;flex-flow:row wrap}.wiki-sidebar a{font-size:11px;padding:7px 10px}.wiki-index{grid-template-columns:1fr}}

.community-banner{margin-top:65px;margin-bottom:70px}.community-banner a{display:block;border-radius:28px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.community-banner a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.community-banner img{width:100%;height:auto}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ef987e,#76aa8c);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.button span{display:inline-block;transition:transform .25s ease}.button:hover span{transform:translate(3px,-3px)}.feature-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease}.feature-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.reveal.visible .game-icon{animation:tower-arrive .7s cubic-bezier(.2,.8,.2,1) both}.reveal.visible .feature-icon{animation:tower-arrive .65s cubic-bezier(.2,.8,.2,1) both}
@keyframes tower-arrive{0%{opacity:0;transform:translateY(12px) scale(.88) rotate(-5deg)}70%{opacity:1;transform:translateY(-2px) scale(1.025) rotate(1deg)}100%{opacity:1;transform:none}}
:root[data-theme=dark] .community-banner{filter:brightness(.92)}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.reveal.visible .game-icon,.reveal.visible .feature-icon{animation:none}.button:hover span,.community-banner a:hover,.feature-card:hover{transform:none}.community-banner a,.feature-card,.button span{transition:none}}

@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}.topbar{view-transition-name:site-navigation}.wiki-sidebar{view-transition-name:wiki-navigation}body[data-page=wiki] .reveal,body[data-page=docs] .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Keep persistent navigation steady; avoid overlapping outgoing and incoming articles. */
::view-transition-old(root),::view-transition-old(site-navigation),::view-transition-old(wiki-navigation){display:none}::view-transition-new(root),::view-transition-new(site-navigation),::view-transition-new(wiki-navigation){animation:none}

/* Full-viewport atmosphere: no clipped rectangle at the edge of the glow. */
body:before{position:fixed;inset:0;width:auto;height:auto;background:radial-gradient(ellipse at 78% 12%,#efd6c933 0,transparent 58%),radial-gradient(ellipse at 20% 58%,#bedbcc26 0,transparent 65%);filter:none}
:root[data-theme=dark] body:before{background:radial-gradient(ellipse at 78% 12%,#8b544515 0,transparent 65%),radial-gradient(ellipse at 20% 58%,#4c806618 0,transparent 70%)}
.feature-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:10px}
.product-feature{border:1px solid var(--line);background:var(--surface);border-radius:26px;padding:32px;position:relative;transition:border-color .2s,transform .2s}
.product-feature:hover{border-color:var(--accent);transform:translateY(-3px)}
.feature-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--mint);color:var(--ink);font-size:25px;margin-bottom:24px}
.product-feature h2{font-size:28px;letter-spacing:-1px;margin:13px 0}.product-feature p{font-size:14px;line-height:1.8;color:var(--muted)}
.product-feature ul{list-style:none;padding:18px 0 0;margin:0;display:grid;gap:10px;font-size:13px}.product-feature li:before{content:'✓';color:var(--accent);margin-right:10px;font-weight:700}
.roadmap-note{margin-top:35px;margin-bottom:70px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.roadmap-note h2{margin:12px 0;font-size:30px}.roadmap-note p{max-width:700px;color:var(--muted);line-height:1.8;margin-bottom:18px}
.wiki-sidebar{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;gap:3px}.wiki-group{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--muted);padding:18px 14px 8px}.wiki-group:first-child{padding-top:7px}
.wiki-sidebar a[aria-current=page]{background:var(--mint);box-shadow:inset 3px 0 var(--accent);color:var(--ink)}
.wiki-article pre{overflow:auto;padding:20px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.8}.wiki-article :not(pre)>code{font-size:.9em;background:var(--surface);padding:2px 5px;border-radius:5px;overflow-wrap:anywhere}
@media(max-width:700px){.feature-showcase{grid-template-columns:1fr}.product-feature{padding:24px}.wiki-sidebar{flex-direction:column}.wiki-group{padding-top:12px}}

/* A track and balloon motif carries the game theme through the inner pages. */
.page-hero,.feature-intro{position:relative}
.page-hero:after{content:'';position:absolute;right:4%;top:34px;width:120px;height:120px;border:2px dashed var(--accent);border-radius:48% 52% 59% 41%;opacity:.22;transform:rotate(-25deg);pointer-events:none}
.section-heading .eyebrow:before,.feature-chapter-head .eyebrow:before{content:'●';color:var(--accent);margin-right:9px}
.feature-intro{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding-block:95px 45px;min-height:590px}
.feature-intro-copy{position:relative;z-index:1}.feature-intro h1{font-size:clamp(50px,6vw,80px);margin-top:18px}.feature-intro .lead{max-width:480px}
.feature-intro-notes{display:flex;gap:24px;margin-top:54px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.4px}
.feature-intro-art{position:relative;height:500px;border:1px solid var(--line);border-radius:34px;background:var(--mint);box-shadow:var(--shadow);overflow:hidden}
.feature-intro-art img{width:100%;height:100%;object-fit:cover}.feature-art-label{position:absolute;left:26px;bottom:25px;background:var(--solid);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:11px;font-weight:700;box-shadow:var(--shadow)}
.feature-art-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 0 5px var(--soft)}
.feature-chapter{padding-top:94px}.feature-chapter-head{display:grid;grid-template-columns:1fr 1fr;gap:10px 50px;align-items:end;margin-bottom:30px}.feature-chapter-head .eyebrow{grid-column:1/-1}.feature-chapter-head h2{font-size:clamp(30px,3.6vw,47px);line-height:1.17}.feature-chapter-head p{max-width:370px;justify-self:end}
.feature-spotlights{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-spotlight{min-height:260px;padding:32px;border:1px solid var(--line);border-radius:26px;background:var(--surface);position:relative;overflow:hidden}.feature-spotlight-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr .9fr;gap:24px;min-height:340px;background:linear-gradient(112deg,var(--surface) 45%,var(--mint))}
.feature-number{color:var(--accent);font-weight:800;font-size:11px;letter-spacing:1.4px}.feature-spotlight h3{font-size:clamp(24px,3vw,36px);letter-spacing:-1.3px;margin:24px 0 12px}.feature-spotlight p{max-width:430px;font-size:14px;line-height:1.8}.feature-spotlight .text-link{display:inline-block;margin-top:26px}.feature-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.feature-chip-row span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:700}
.feature-illustration{display:grid;place-items:center;position:relative}.feature-illustration:before{content:'';position:absolute;width:92%;height:72%;border:2px dashed var(--accent);border-radius:45% 55% 60% 40%;transform:rotate(-12deg);opacity:.38}.route-mini{position:relative;width:min(315px,100%);padding:23px;background:var(--solid);border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);transform:rotate(3deg)}.route-mini-title,.route-mini-footer{font-size:10px;letter-spacing:1.2px;font-weight:800;color:var(--accent)}.route-mini>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.route-mini b{color:var(--muted);font-weight:600}.route-mini strong{font-weight:800}.route-mini-footer{display:block;margin-top:18px;color:#70a17b}
.feature-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-tiles article{padding:27px 22px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.feature-tile-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--soft);color:var(--accent);font-size:20px}.feature-tiles h3{font-size:18px;letter-spacing:-.5px;margin:23px 0 10px}.feature-tiles p{font-size:12px;line-height:1.7}
.feature-future{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:start;margin-top:100px;padding:36px;border:1px solid var(--line);border-radius:30px;background:var(--surface)}.feature-future-copy h2{font-size:clamp(28px,3vw,39px);margin:15px 0}.feature-future-copy p{max-width:300px;font-size:13px}.feature-future-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.feature-future-grid article{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--bg)}.feature-future-grid .pro-preview{background:linear-gradient(150deg,var(--mint),var(--bg));border-color:var(--accent)}.future-badge{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.2px}.feature-future-grid h3{font-size:20px;margin:24px 0 8px}.feature-future-grid h3 span{color:var(--accent)}.feature-future-grid p{font-size:12px}.feature-last{text-align:center;padding-block:110px 60px}.feature-last h2{margin:14px auto 24px;font-size:clamp(32px,4vw,51px)}.feature-last p{font-size:11px;margin-top:22px}.feature-last .button{margin-inline:auto}
.community-banner{width:min(850px,calc(100% - 80px))}.community-banner a{border-radius:22px}
@media(max-width:900px){.feature-intro{grid-template-columns:1fr;padding-top:60px;min-height:0}.feature-intro-art{max-width:650px}.feature-tiles{grid-template-columns:repeat(2,1fr)}.feature-future{grid-template-columns:1fr}}
@media(max-width:650px){.feature-chapter-head{grid-template-columns:1fr}.feature-chapter-head p{justify-self:start}.feature-spotlights,.feature-future-grid{grid-template-columns:1fr}.feature-spotlight-wide{grid-column:auto;grid-template-columns:1fr}.feature-tiles{grid-template-columns:1fr 1fr}.feature-future{padding:22px}.feature-intro-notes{gap:12px;flex-wrap:wrap}.community-banner{width:min(850px,calc(100% - 40px))}}

.nav-soon{color:var(--accent);font-size:9px;font-weight:800;margin-left:2px;letter-spacing:.5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pro-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;padding-block:100px 65px}.pro-hero h1{font-size:clamp(47px,5.3vw,74px);max-width:790px}.pro-hero .lead{max-width:610px}.pro-emblem{height:390px;border:1px solid var(--line);border-radius:34px;background:radial-gradient(circle at 50% 44%,#f0ac802d,transparent 55%),linear-gradient(145deg,var(--mint),var(--surface));display:grid;place-items:center;position:relative;overflow:hidden}.pro-emblem-ring{position:absolute;width:230px;height:230px;border:3px dashed var(--accent);border-radius:45% 55% 50% 50%;transform:rotate(21deg);opacity:.6}.pro-emblem-balloon{width:145px;height:165px;background:linear-gradient(150deg,#ffc7a1,#dc835e);border-radius:48% 48% 54% 54%;display:grid;place-items:center;color:#fff;font-size:82px;box-shadow:inset -16px -14px 30px #ad62334a,0 22px 40px #592e1624;position:relative}.pro-emblem-balloon:after{content:'';position:absolute;bottom:-13px;left:65px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:16px solid #d98662}.pro-emblem-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;letter-spacing:3px;font-size:11px;font-weight:800;color:var(--muted)}
.pro-compare{padding-top:50px}.pro-compare .section-heading p{max-width:350px;font-size:13px}.pro-table{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}.pro-table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px solid var(--line);min-height:64px}.pro-table-row:first-child{border-top:0}.pro-table-row>div{display:flex;align-items:center;padding:18px 23px;font-size:13px}.pro-table-row>div+div{border-left:1px solid var(--line)}.pro-table-row>div:nth-child(2){font-weight:700}.pro-table-row>div:nth-child(3){background:var(--mint)}.pro-table-head{min-height:86px}.pro-table-head>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.pro-table-head strong{font-size:17px}.pro-table-head span{font-size:11px;color:var(--muted)}.pro-undecided{position:relative;overflow:hidden;color:var(--accent)}.pro-undecided>span[aria-hidden]{display:block;filter:blur(6px);opacity:.75;letter-spacing:14px;font-size:19px;user-select:none}.pro-comparison-note{font-size:11px;margin-top:17px;max-width:750px}.pro-footer-card{margin-block:90px 65px;padding:38px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(115deg,var(--surface),var(--mint))}.pro-footer-card h2{margin:14px 0}.pro-footer-card p{max-width:580px;margin-bottom:22px}.pro-footer-card .button{width:max-content}
@media(max-width:800px){.pro-hero{grid-template-columns:1fr;padding-top:60px}.pro-emblem{height:290px}.pro-table-row{grid-template-columns:1.2fr .8fr .8fr}.pro-table-row>div{padding:13px;font-size:11px}}

/* Subscription plans: the free plan is ready, the Pro card is a preview. */
.plans-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;padding-block:92px 62px}.plans-hero h1{font-size:clamp(50px,5.7vw,78px);max-width:800px}.plans-hero .lead{max-width:620px}.plans-hero-art{height:310px;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 50% 42%,#e3a38155,transparent 48%),linear-gradient(140deg,var(--mint),var(--surface));box-shadow:var(--shadow)}.plans-orbit{position:absolute;width:230px;height:170px;border:2px dashed var(--accent);border-radius:50%;opacity:.6;transform:rotate(-22deg)}.plans-orbit.orbit-two{width:280px;height:220px;transform:rotate(30deg);opacity:.25}.plans-orb{width:94px;height:105px;border-radius:50% 50% 44% 44%;display:grid;place-items:center;background:linear-gradient(145deg,#ffd0aa,#df8561);color:#fff;font-size:51px;box-shadow:0 16px 35px #74372138}.plans-art-label{position:absolute;bottom:22px;font-size:10px;font-weight:800;letter-spacing:2px;color:var(--muted)}
.plans-section{padding-top:55px}.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.plan-card{display:flex;flex-direction:column;min-width:0;padding:34px;border-radius:29px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.plan-pro{background:radial-gradient(circle at 85% 5%,#f3a9813b,transparent 38%),var(--surface);border-color:var(--accent)}.plan-mark{color:var(--accent);font-size:10px;letter-spacing:1.7px;font-weight:800}.plan-card h3{font-size:clamp(30px,4vw,44px);letter-spacing:-1.7px;margin:17px 0 4px}.plan-card h3 em{color:var(--accent);font-style:normal}.plan-card-top p{font-size:14px}.plan-price{display:flex;align-items:baseline;gap:12px;margin:35px 0 24px;min-height:51px}.plan-price strong{font-size:clamp(30px,3vw,41px);letter-spacing:-1.4px;color:var(--ink)}.plan-price span{font-size:13px;color:var(--muted)}.plan-card>.button{width:100%;text-align:center;justify-content:center}.plan-includes{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.plan-includes>b{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.plan-includes ul{padding:0;margin:17px 0 0;list-style:none}.plan-includes li{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13px;color:var(--ink)}.plan-includes li:before{content:'✓';flex:none;color:var(--accent);font-weight:800}.plan-pro .plan-includes li:before{content:'✦'}.plan-includes li span{margin-left:auto;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.plan-caveat{font-size:11px;line-height:1.6;margin:24px 0 0;color:var(--muted)}.plans-compare{padding-top:100px}.plans-compare .section-heading p{max-width:365px;font-size:13px}
@media(max-width:800px){.plans-hero{grid-template-columns:1fr;gap:26px;padding-top:58px}.plans-hero-art{height:220px}.plan-cards{grid-template-columns:1fr}.plans-compare{padding-top:70px}}

/* Small game illustrations carry the Bloons theme beyond the landing page. */
.page-hero-game-art{position:absolute;right:5%;top:50%;transform:translateY(-50%) rotate(5deg);width:clamp(145px,20vw,270px);height:auto;max-height:230px;object-fit:contain;filter:drop-shadow(0 18px 21px #102c2633);pointer-events:none}.page-hero:has(.page-hero-game-art)>:not(.page-hero-game-art){position:relative;z-index:1}.page-hero:has(.page-hero-game-art) .lead{max-width:600px}.page-hero:has(.page-hero-game-art){padding-right:24%}.page-hero-game-art[src$="monkeymeadow.png"]{border-radius:20px}.feature-illustration{position:relative}.feature-monkey{position:absolute;left:3%;bottom:0;z-index:2;filter:drop-shadow(0 14px 16px #102c2638)}.plans-game-monkey{position:absolute;right:7%;bottom:2%;height:130px;width:auto;filter:drop-shadow(0 12px 15px #102c2644);transform:rotate(-8deg)}
.plan-price-options{gap:12px;flex-wrap:wrap;margin-bottom:4px}.plan-price-option{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.plan-price-option strong{font-size:clamp(29px,3vw,39px)}.plan-price-option small{font-size:12px;color:var(--muted)}.plan-price-or{font-size:11px;text-transform:uppercase;letter-spacing:1px}.plan-price-pending{display:block;margin-bottom:19px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.4px}
@media(max-width:780px){.page-hero:has(.page-hero-game-art){padding-right:0}.page-hero-game-art{position:relative;display:block;right:auto;top:auto;transform:none;margin:28px 0 0;width:180px;max-height:145px}.feature-monkey{display:none}.plans-game-monkey{height:95px}}

@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:120ms ease-in both site-fade-out}::view-transition-new(root){animation:230ms ease-out both site-fade-in}@keyframes site-fade-out{to{opacity:.85;transform:translateY(-3px)}}@keyframes site-fade-in{from{opacity:.85;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.pro-examples{padding-top:95px}.pro-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pro-example-grid article{padding:28px;border-radius:24px;border:1px solid var(--line);background:var(--surface)}.pro-example-grid article span{color:var(--accent);font-size:10px;letter-spacing:1.4px;font-weight:800}.pro-example-grid h3{font-size:21px;margin:22px 0 9px}.pro-example-grid p{font-size:13px;line-height:1.7}.pro-examples .section-heading p{font-size:13px;max-width:370px}@media(max-width:700px){.pro-example-grid{grid-template-columns:1fr}.pro-examples{padding-top:65px}}

.billing-switch{display:flex;width:max-content;gap:4px;margin:0 0 22px auto;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.billing-switch button{border:0;border-radius:999px;padding:10px 16px;background:transparent;color:var(--muted);font:700 12px inherit;cursor:pointer;transition:background .2s,color .2s,transform .2s}.billing-switch button.active{background:var(--ink);color:var(--bg);transform:translateY(-1px)}.billing-switch span{margin-left:6px;color:var(--accent);font-size:9px;text-transform:uppercase}.map-art-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.map-art-strip img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
