@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/pixelify-sans-latin-500-normal-DC052d-m.woff2)format("woff2"),url(/assets/pixelify-sans-latin-500-normal-Bq6pAlou.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2)format("woff2"),url(/assets/pixelify-sans-latin-600-normal-BNlgYbDL.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pixelify-sans-latin-700-normal-D3Xxx3QE.woff2)format("woff2"),url(/assets/pixelify-sans-latin-700-normal-BctWAS0u.woff)format("woff")}:root{--bg:#f3eadf;--surface:#fbf6ef;--surface2:#eadfcf;--ink:#1e2430;--ink2:#3f4752;--ink3:#56677f;--line:#d9cdbc;--edge:#1e2430;--accent:#2f5a35;--accent-bg:#4f8a4429;--btn:#2f5a35;--btn-ink:#f3eadf;--scrim:#1e24306b;--new:#2f5a35;--new-bg:#4f8a442e;--fix:#2e4f7a;--fix-bg:#466eaa29;--change:#7a4e00;--change-bg:#d6962833;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#151a24;--surface:#1e2430;--surface2:#2a3038;--ink:#f3eadf;--ink2:#c9bfb0;--ink3:#aab8c5;--line:#34405a;--edge:#0b0e14;--accent:#8ccb63;--accent-bg:#8ccb6324;--btn:#8ccb63;--btn-ink:#151a24;--scrim:#0000008c;--new:#a6db82;--new-bg:#8ccb6329;--fix:#9cc2f0;--fix-bg:#78a5e629;--change:#f0c26a;--change-bg:#f0c26a29;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--frame-2-line:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line);--frame-3:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);--frame-4:0 -4px 0 0 var(--edge), 0 4px 0 0 var(--edge), -4px 0 0 0 var(--edge), 4px 0 0 0 var(--edge);--ease-out:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Nunito,system-ui,sans-serif;transition:background-color .3s,color .3s}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.px{font-family:Pixelify Sans,Nunito,sans-serif}.pixel{image-rendering:pixelated;image-rendering:crisp-edges;display:block}:root:not([data-theme=dark]) .only-dark,:root[data-theme=dark] .only-light{display:none}.skip-link{z-index:30;background:var(--ink);color:var(--bg);padding:10px 14px;font-weight:700;position:absolute;top:-60px;left:12px}.skip-link:focus{color:var(--bg);top:12px}.site{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:10;background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;transition:background-color .3s;display:flex;position:sticky;top:0}.header-group{align-items:center;gap:12px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-link{transition:opacity .3s ease, transform .3s var(--ease-out), visibility .3s;padding:4px}:root[data-hero=visible] .logo-link{opacity:0;visibility:hidden;transform:translateY(-8px)}.site-main{flex:1 0 auto;width:100%}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.wrap.narrow{max-width:800px}.card{background:var(--surface);box-shadow:var(--frame-4), 0 10px 0 0 var(--edge);margin:4px;padding:24px}.lift{transition:transform .22s var(--ease-out), background-color .3s ease}.lift:hover{transform:translateY(-4px)}.icon-btn{cursor:pointer;background:var(--surface);width:44px;height:44px;color:var(--ink);box-shadow:var(--frame-3);border:0;justify-content:center;align-items:center;margin:3px;padding:0;transition:background-color .15s,transform .1s;display:inline-flex}.icon-btn:hover{background:var(--surface2)}.icon-btn:active{transform:translateY(2px)}.icon-swap{animation:icon-swap .42s var(--ease-out);display:inline-flex}@keyframes icon-swap{0%{opacity:0;transform:rotate(-120deg)scale(.4)}}.seg{background:var(--surface);box-shadow:var(--frame-3);margin:3px;display:inline-flex;position:relative}.seg-thumb{background:var(--ink);width:52px;transition:transform .3s var(--ease-out), background-color .3s ease;position:absolute;top:0;bottom:0;left:0}.seg[data-active="1"] .seg-thumb{transform:translate(52px)}.seg button{cursor:pointer;width:52px;height:44px;color:var(--ink2);background:0 0;border:0;padding:0;font:600 17px Pixelify Sans,sans-serif;transition:color .3s;position:relative}.seg button:hover{color:var(--ink)}.seg button.is-on{color:var(--bg)}.btn{cursor:pointer;height:54px;box-shadow:var(--frame-4), 0 8px 0 0 var(--edge);border:0;align-items:center;gap:12px;margin:4px 4px 10px;padding:0 24px;font:600 19px Pixelify Sans,sans-serif;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:var(--frame-4);transform:translateY(4px)}.btn-primary,.btn-primary:hover{background:var(--btn);color:var(--btn-ink)}.btn-ghost,.btn-ghost:hover{background:var(--surface);color:var(--ink)}.link-btn{align-self:flex-start;padding:6px 0;font-size:16px;font-weight:700}.link-btn .arrow{transition:transform .2s var(--ease-out);display:inline-block}.link-btn:hover .arrow{transform:translate(4px)}.chip{white-space:nowrap;letter-spacing:.07em;text-transform:uppercase;border-radius:3px;padding:3px 8px;font:800 12px/1.4 Nunito,sans-serif;display:inline-block}.chip-new{color:var(--new);background:var(--new-bg)}.chip-fix{color:var(--fix);background:var(--fix-bg)}.chip-change{color:var(--change);background:var(--change-bg)}.chip-other{color:var(--ink2);background:var(--surface2)}.chip-latest{color:var(--bg);background:var(--ink)}.chip-alpha{color:var(--accent);background:var(--accent-bg);letter-spacing:.1em;padding:4px 10px;font-family:Pixelify Sans,sans-serif;font-size:14px}.tag{background:var(--bg);height:36px;color:var(--ink);box-shadow:var(--frame-2-line);align-items:center;margin:3px;padding:0 14px;font:600 16px Pixelify Sans,sans-serif;display:inline-flex}.mascot{width:67px;height:43px;display:block;position:relative}.mascot img{width:100%;height:100%}.mascot-closed{opacity:0;position:absolute;inset:0}.mascot-closed.is-shown{opacity:1}.grass{width:100%;height:16px;image-rendering:pixelated;background-image:url(/assets/grass-B6eXKe4O.png);background-repeat:repeat-x;background-size:1200px 16px}.home{flex-direction:column;gap:80px;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;gap:36px;padding-top:48px;display:flex}.hero-art{flex-direction:column;align-items:center;width:100%;display:flex}.hero-row{justify-content:center;align-items:center;gap:28px;display:flex}.hero-mascot{width:268px;height:172px}.hero-word{width:244px;height:76px}.hero-row>*,.hero-copy>*,.hero-actions{animation:rise .6s var(--ease-out) both}.hero-row>:nth-child(2){animation-delay:80ms}.hero-copy>:first-child{animation-delay:.16s}.hero-copy>:nth-child(2){animation-delay:.22s}.hero-copy>:nth-child(3){animation-delay:.28s}.hero-actions{animation-delay:.34s}.hero-copy{flex-direction:column;align-items:center;gap:16px;max-width:680px;padding:0 24px;display:flex}.hero-title{margin:0;font-size:46px;font-weight:600;line-height:1.1}.hero-sub{color:var(--ink2);margin:0;font-size:19px;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;padding:0 24px;display:flex}.section{flex-direction:column;gap:32px;display:flex}.section-title{text-align:center;margin:0;font-size:32px;font-weight:600}.feat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.feat{flex-direction:column;gap:14px;height:calc(100% - 8px);display:flex}.feat h3,.export h3{margin:0;font-size:22px;font-weight:600}.feat p,.export p{color:var(--ink2);margin:0;font-size:16px;line-height:1.6}.feat-icon{background:var(--accent-bg);width:48px;height:48px;color:var(--accent);transition:transform .25s var(--ease-out);justify-content:center;align-items:center;display:flex}.feat:hover .feat-icon{transform:rotate(-8deg)scale(1.08)}.export{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 32px;display:flex}.export-text{flex-direction:column;gap:6px;display:flex}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.entry{flex-direction:column;gap:16px;display:flex}.entry-head{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.entry-head h2{margin:0;font-size:28px;font-weight:600}.entry-date{color:var(--ink3);font-size:15px}.entry-intro{color:var(--ink2);margin:0;font-size:17px;line-height:1.6}.changes{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.changes li{align-items:baseline;gap:12px;font-size:16px;line-height:1.55;display:flex}.tl{flex-direction:column;gap:32px;margin:12px 0 0;padding:0 0 0 40px;list-style:none;display:flex;position:relative}.tl:before{content:"";background:repeating-linear-gradient(to bottom, var(--line) 0 8px, transparent 8px 16px);width:4px;position:absolute;top:14px;bottom:14px;left:7px}.tl>li{position:relative}.tl-dot{background:var(--surface);width:18px;height:18px;box-shadow:var(--frame-3);position:absolute;top:18px;left:-34px}.tl-dot.is-latest{background:var(--accent);animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.18)}}.page{flex-direction:column;gap:28px;padding-top:40px;display:flex}.page-head{flex-direction:column;gap:10px;display:flex}.page-title{margin:0;font-size:46px;font-weight:600;line-height:1.1}.page-sub{color:var(--ink2);margin:0;font-size:18px}.page-date{color:var(--ink3);margin:0;font-size:15px}.lg-intro,.lg-body{flex-direction:column;gap:12px;display:flex}.lg-intro .lg-p{color:var(--ink)}.lg-section{border-top:2px dashed var(--line);gap:16px;padding-top:24px;display:flex}.lg-body{flex:1;min-width:0}.lg-body h2{margin:0;font-size:23px;font-weight:600;line-height:1.25}.lg-num{text-align:right;width:30px;color:var(--accent);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font:600 20px Pixelify Sans,sans-serif}.lg-line{align-items:flex-start;gap:12px;display:flex}.lg-dot{background:var(--accent);flex:none;width:7px;height:7px;margin-top:11px}.lg-p{color:var(--ink2);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.65}.site-footer{margin-top:96px}.footer-body{background:var(--surface);transition:background-color .3s}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:28px 48px;max-width:1080px;margin:0 auto;padding:32px 24px 40px;display:flex}.footer-brand{align-items:center;gap:14px;display:flex}.footer-brand-text{flex-direction:column;gap:4px;display:flex}.footer-made{font-size:19px;font-weight:600}.footer-meta{color:var(--ink3);font-size:14px}.footer-links{flex-direction:column;gap:4px;display:flex}.footer-links a{padding:6px 0;font-weight:700}.footer-social{flex-direction:column;gap:10px;max-width:380px;display:flex}.footer-label{color:var(--ink3);font-size:14px;font-weight:700}.social-list{flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.social-list a{font-size:15px;font-weight:600}.scrim{z-index:20;background:var(--scrim);opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s;position:fixed;inset:0}.scrim.is-open{opacity:1;visibility:visible}.drawer{z-index:21;background:var(--surface);width:300px;max-width:86%;box-shadow:4px 0 0 0 var(--edge);visibility:hidden;transition:transform .34s var(--ease-out), visibility .34s;flex-direction:column;gap:20px;padding:14px 16px 22px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-110%)}.drawer.is-open{visibility:visible;transform:none}.drawer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-nav{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.drawer.is-open .drawer-nav li{animation:slide-in .36s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms + 90ms)}@keyframes slide-in{0%{opacity:0;transform:translate(-16px)}}.nav-item,.nav-item:hover{min-height:50px;color:var(--ink);transition:background-color .15s ease, padding-left .2s var(--ease-out);align-items:center;gap:12px;padding:0 14px;font:600 19px Pixelify Sans,sans-serif;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface2);padding-left:20px}.nav-item.is-active{background:var(--accent-bg);color:var(--accent)}.nav-mark{opacity:0;width:8px;height:8px;transition:transform .2s var(--ease-out), opacity .2s ease;background:currentColor;flex:none;transform:scale(0)}.nav-item.is-active .nav-mark{opacity:1;transform:none}.drawer-foot{border-top:2px dashed var(--line);flex-direction:column;gap:4px;margin-top:auto;padding:16px 14px 0;font-size:14px;display:flex}.drawer-foot .px{font-size:16px;font-weight:600}.page-fade{animation:rise .4s var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.reveal{transition:opacity .5s ease var(--delay,0s), transform .6s var(--ease-out) var(--delay,0s)}.js .reveal:not(.is-in){opacity:0;transform:translateY(20px)}@media (width<=720px){.hero-mascot{width:201px;height:129px}.hero-word{width:183px;height:57px}.grass{background-size:900px 12px;height:12px}.feat-grid{grid-template-columns:minmax(0,1fr)}.hero-title,.page-title{font-size:36px}}@media (width<=480px){.hero-mascot{width:134px;height:86px}.hero-word{width:122px;height:38px}.grass{background-size:600px 8px;height:8px}.hide-xs{display:none}.lg-num{width:22px;font-size:17px}}@media (width<=360px){.logo-link{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.js .reveal:not(.is-in){opacity:1;transform:none}}
