:root{color-scheme:dark;--background:#0B1017;--surface:#131B25;--surface-raised:#1A2532;--hairline:#223040;--text-primary:#E4EAF0;--text-secondary:#A3B2C2;--text-muted:#7D8FA3;--accent:#3E8FD8;--accent-bright:#6FB2E8;--signal-excellent:#D9B36C;--signal-good:#3E8FD8;--signal-fair:#C98A3D;--signal-poor:#CF726A;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-base:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px}*{box-sizing:border-box}html{background-color:#0b1017}body{font-family:sora,system-ui,-apple-system,segoe ui,sans-serif;font-size:1rem;color:#a3b2c2;background-color:#0b1017;margin:0;display:flex;flex-direction:column;min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html:lang(ja) body{font-family:sora,hiragino sans,yu gothic ui,noto sans cjk jp,noto sans jp,system-ui,sans-serif}html:lang(zh) body{font-family:sora,pingfang sc,microsoft yahei ui,noto sans cjk sc,noto sans sc,system-ui,sans-serif}a{color:#3e8fd8;text-decoration:none;transition:color .15s ease}a:hover{color:#6fb2e8}pre code{font-family:ui-monospace,sf mono,Menlo,Consolas,liberation mono,monospace;font-size:.8125rem;display:block;background:#131b25;border:1px solid #223040;padding:16px;overflow:auto;border-radius:6px;line-height:1.5;color:#e4eaf0}code{font-family:ui-monospace,sf mono,Menlo,Consolas,liberation mono,monospace;font-size:.8125rem;background:#1a2532;padding:2px 6px;border-radius:4px;color:#6fb2e8}h1,h2,h3,h4,h5,h6{font-weight:600;color:#e4eaf0;line-height:1.25}h1{letter-spacing:-.02em}h2{letter-spacing:-.015em}h3,h4{letter-spacing:-.01em}p{color:#a3b2c2}.metric,time{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid #6fb2e8;outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:sora;src:url(../fonts/Sora/Sora-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:sora;src:url(../fonts/Sora/Sora-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:sora;src:url(../fonts/Sora/Sora-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:sora;src:url(../fonts/Sora/Sora-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}.footer{padding:24px 32px;background-color:#131b25;border-top:1px solid #223040;display:flex;align-items:center;justify-content:center;text-align:center}.footer span{font-size:.75rem;font-weight:500;color:#7d8fa3}.footerLink{color:#a3b2c2;transition:color .15s ease}.footerLink:hover{color:#e4eaf0}.headerWrapper{background-color:#131b25;border-bottom:1px solid #223040;display:flex;justify-content:center;flex-shrink:0;position:sticky;top:0;z-index:100}.header{padding:0 24px;height:56px;display:flex;justify-content:space-between;align-items:center;width:1200px;max-width:100%}.headerBrand{display:inline-flex;align-items:center;gap:8px}.headerBrand:hover .terminal{color:#6fb2e8}.headerBrand__logo{display:block;width:1rem;height:1rem;flex-shrink:0;border-radius:2px}.terminal{font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e8fd8;text-decoration:none;transition:color .15s ease}.terminal:hover{color:#6fb2e8}.headerLinks ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:32px}.headerLinks ul li a{font-size:.875rem;font-weight:500;color:#a3b2c2;text-decoration:none;transition:color .15s ease}.headerLinks ul li a:hover{color:#e4eaf0}.headerLanguage{display:flex;align-items:center;position:relative}.headerLanguage__trigger{align-items:center;background:0 0;border:1px solid #223040;border-radius:4px;cursor:pointer;display:inline-flex;gap:8px;list-style:none;min-height:2.25rem;padding:.35rem .75rem;color:#a3b2c2;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:border-color .15s ease,color .15s ease}.headerLanguage__trigger::-webkit-details-marker{display:none}.headerLanguage__trigger:hover{border-color:#3e8fd8;color:#e4eaf0}.headerLanguage__menu{position:relative}.headerLanguage__menu[open] .headerLanguage__trigger{border-color:#3e8fd8;color:#e4eaf0}.headerLanguage__triggerLabel{color:inherit}.headerLanguage__triggerIcon{color:#7d8fa3;font-size:.72rem;letter-spacing:0;text-transform:none}.headerLanguage__popover{background:#1a2532;border:1px solid #223040;border-radius:6px;display:grid;gap:2px;min-width:12rem;padding:4px;position:absolute;right:0;top:calc(100% + 8px);z-index:110}.headerLanguage__menuItem{align-items:center;border-radius:4px;color:#a3b2c2;display:flex;gap:16px;justify-content:space-between;padding:8px 12px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.headerLanguage__menuItem:hover{background:#131b25;color:#e4eaf0}.headerLanguage__menuItem.is-active{background:#131b25;color:#6fb2e8}.headerLanguage__menuShort{font-size:.6875rem;font-weight:600;letter-spacing:.08em;min-width:2.25rem;text-transform:uppercase}.headerLanguage__menuFull{font-size:.875rem;font-weight:500}.hamb{cursor:pointer;float:right;display:none;padding:12px 4px}.hamb-line{background:#a3b2c2;display:block;height:1.5px;position:relative;width:22px}.hamb-line::before,.hamb-line::after{background:#a3b2c2;content:"";display:block;height:100%;position:absolute;transition:all .2s ease-out;width:100%}.hamb-line::before{top:6px}.hamb-line::after{top:-6px}.side-menu{display:none}.side-menu:checked~.headerLinks{max-height:100%}.side-menu:checked~.hamb .hamb-line{background:0 0}.side-menu:checked~.hamb .hamb-line::before{transform:rotate(-45deg);top:0}.side-menu:checked~.hamb .hamb-line::after{transform:rotate(45deg);top:0}@media screen and (max-width:768px){.headerLinks{width:100%;height:100%;position:fixed;top:56px;left:0;background-color:#0b1017;border-bottom:1px solid #223040;overflow:hidden;max-height:0;transition:max-height .4s ease-out;display:flex;align-items:center;justify-content:center}.headerLinks ul{flex-direction:column;align-items:center;gap:24px}.headerLinks ul li a{font-size:1rem}.headerLanguage{width:100%}.headerLanguage__menu{max-width:18rem;width:100%}.headerLanguage__trigger{justify-content:space-between;width:100%}.headerLanguage__popover{left:0;min-width:100%;right:auto}.hamb{display:block}}.postDate{float:right;color:#7d8fa3}.postTitle{color:#3e8fd8;font-size:1rem;font-weight:600;float:left}.postHeader{overflow:hidden}.postsList{margin-top:32px}.postListItem{padding:24px;background-color:#131b25;border:1px solid #223040;border-radius:6px;margin-bottom:16px;transition:border-color .15s ease}.postListItem:hover{border-color:#3e8fd8}.postExcerpt{text-align:initial;color:#a3b2c2}.headerContainer{display:flex;justify-content:space-between}.noDecoration{text-decoration:none}a,a:link,a:visited,a:hover,a:active{text-decoration:none}.socialNavbar ul{list-style:none;padding:0}.socialNavbar ul li{display:inline}.socialNavbar a{color:#a3b2c2;-webkit-font-smoothing:antialiased;display:inline-block;margin:10px;transition:color .15s ease}.socialNavbar a:hover{color:#e4eaf0}.accent-text{color:#3e8fd8}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border:1px solid transparent;border-radius:4px;font-size:.9375rem;font-weight:600;line-height:1.25;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-primary{background-color:#3e8fd8;border-color:#3e8fd8;color:#0b1017}.btn-primary:hover{background-color:#6fb2e8;border-color:#6fb2e8;color:#0b1017}.btn-secondary{background-color:transparent;border-color:#223040;color:#e4eaf0}.btn-secondary:hover{border-color:#3e8fd8;color:#6fb2e8}.panel{background-color:#131b25;border:1px solid #223040;border-radius:6px;padding:24px;margin-bottom:16px}.panel.panel-raised{background-color:#1a2532}.section-label{font-size:.6875rem;font-weight:600;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:#7d8fa3}.metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 0;font-size:.875rem;color:#a3b2c2}.metric-row .metric-value{color:#e4eaf0;text-align:right;font-variant-numeric:tabular-nums}.badge{font-size:.6875rem;font-weight:600;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;display:inline-block;padding:3px 8px;border:1px solid;border-radius:2px;color:#a3b2c2}.badge-excellent{color:#d9b36c}.badge-good{color:#3e8fd8}.badge-fair{color:#c98a3d}.badge-poor{color:#cf726a}.hero-section{text-align:center;padding:64px 24px 48px}@media(max-width:768px){.hero-section{padding:48px 16px 32px}}.hero-section .hero-title{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:600;margin:24px 0 16px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}.hero-section .hero-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:#a3b2c2;margin:0 auto 32px;line-height:1.65;max-width:30em}.section{padding:64px 0}.section.section-alt{background-color:#131b25}@media(max-width:768px){.section{padding:48px 0}}.section-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;color:#e4eaf0;margin:0 0 16px;letter-spacing:-.02em;line-height:1.25;text-align:center}.section-title--left{text-align:left}.section-subtitle{font-size:1rem;color:#a3b2c2;text-align:center;margin:0 auto 32px;line-height:1.65;max-width:34em}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;text-align:left}@media(max-width:768px){.two-column{grid-template-columns:1fr;gap:32px}}@media(min-width:768px){.two-column.reverse .column:first-child{order:2}.two-column.reverse .column:last-child{order:1}}.postWrapper{text-align:left;padding:48px 0 64px;max-width:720px;margin:0 auto;width:100%}.postWrapper h1{font-size:clamp(1.75rem,4vw,2.125rem);margin:0 0 48px;padding-bottom:24px;border-bottom:1px solid #223040}.postWrapper h2{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-top:48px;margin-bottom:16px;padding-top:24px}.postWrapper h3{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#6fb2e8;margin-top:32px;margin-bottom:8px}.postWrapper p{color:#a3b2c2;line-height:1.75;margin-bottom:16px;max-width:65ch;font-size:.9375rem}.postWrapper ul,.postWrapper ol{color:#a3b2c2;line-height:1.75;padding-left:32px;margin-bottom:16px;max-width:65ch}.postWrapper ul li,.postWrapper ol li{margin-bottom:8px;font-size:.9375rem}.postWrapper a{color:#6fb2e8;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#223040;transition:color .15s ease,text-decoration-color .15s ease}.postWrapper a:hover{color:#e4eaf0;text-decoration-color:#3e8fd8}.postWrapper strong{color:#e4eaf0;font-weight:600}.postWrapper hr{border:none;border-top:1px solid #223040;margin:48px 0}.postWrapper blockquote{background:#131b25;border:1px solid #223040;border-radius:6px;padding:16px 24px;margin:24px 0}.postWrapper blockquote p{margin:0}.postMetadata{font-family:ui-monospace,sf mono,Menlo,Consolas,liberation mono,monospace;font-size:.8125rem;display:block;background:#131b25;border:1px solid #223040;padding:16px;border-radius:6px;color:#a3b2c2;margin-bottom:32px}dt,dd{line-height:1.6}dl{display:grid;grid-template-columns:max-content auto;gap:8px 16px;margin-bottom:16px}dt{grid-column-start:1;color:#7d8fa3;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}dd{grid-column-start:2;color:#a3b2c2}.faq-nav{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 48px}.faq-nav a{font-size:.8125rem;font-weight:500;color:#a3b2c2;text-decoration:none;padding:8px 12px;border:1px solid #223040;border-radius:4px;transition:color .15s ease,border-color .15s ease}.faq-nav a:hover{color:#6fb2e8;border-color:#3e8fd8}.postWrapper .changelog-version{display:inline-flex;margin-top:48px;margin-bottom:24px;padding:0;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums;text-wrap:balance}.postWrapper .changelog-version a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;color:#e4eaf0;background:#1a2532;border:1px solid #223040;border-radius:4px;text-decoration:none;transition:color .15s ease,border-color .15s ease}.postWrapper .changelog-version a::before{content:"#";margin-right:8px;color:#3e8fd8}.postWrapper .changelog-version a:hover{color:#6fb2e8;border-color:#3e8fd8}.postWrapper details{background:#131b25;border:1px solid #223040;border-radius:6px;margin-bottom:12px;transition:border-color .15s ease}.postWrapper details:hover,.postWrapper details[open]{border-color:#3e8fd8}.postWrapper details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;cursor:pointer;font-size:.9375rem;font-weight:600;line-height:1.4;color:#e4eaf0;user-select:none}.postWrapper details summary::-webkit-details-marker{display:none}.postWrapper details summary::after{content:"+";font-family:ui-monospace,sf mono,Menlo,Consolas,liberation mono,monospace;font-size:1.125rem;font-weight:400;color:#3e8fd8;flex-shrink:0;transition:transform .2s ease}.postWrapper details[open] summary::after{transform:rotate(45deg)}.faq-body{padding:0 24px 24px}.faq-body p,.faq-body li{color:#a3b2c2;line-height:1.75;font-size:.9375rem;max-width:65ch}.faq-body ul{padding-left:32px;margin-bottom:16px}.faq-body ul li{margin-bottom:8px}.faq-body h3{font-size:.9375rem;letter-spacing:0;text-transform:none;color:#e4eaf0;margin-top:24px;margin-bottom:8px}.listHeader,.listContent{text-align:left}.indexWrapper{display:flex;flex-direction:column;justify-content:center;max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.indexWrapper{padding:0 16px}}.homepage{width:100%}.homepage .hero-logo{max-width:110px;height:auto;margin:0 auto 24px;display:block}@media(max-width:768px){.homepage .hero-logo{max-width:80px}}.homepage .cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:32px 0 0}.homepage .app-showcase{margin:48px 0}.homepage .screenshot-mockup{max-width:560px;margin:32px auto 0}.homepage .download-section{text-align:center;padding:64px 0 48px}.homepage .download-section .section-subtitle{margin-bottom:32px}.homepage .download-section img{max-width:180px;height:auto;transition:opacity .15s ease;opacity:.9}.homepage .download-section img:hover{opacity:1}.homepage .section+.section{border-top:1px solid #223040}.homepage .feature-body{color:#a3b2c2;line-height:1.7;margin-bottom:16px;font-size:.9375rem;max-width:52ch}.homepage .feature-list{text-align:left;padding-left:24px;list-style:none}.homepage .feature-list li{position:relative;margin-bottom:4px}.homepage .feature-list li::before{content:"";position:absolute;left:-16px;top:.7em;width:4px;height:4px;border-radius:2px;background:#3e8fd8}.homepage .improve-section{display:flex;flex-direction:column;align-items:center;gap:32px}.homepage .improve-section .improve-section__image{max-width:420px;width:100%}.content.vertical{min-height:calc(100vh - 200px)}.homepage .section .app-media{display:block;width:100%;height:auto;border:0;border-radius:0;margin:0 auto}.homepage .section .app-media--phone,.homepage .section .app-media--video{max-width:360px}.homepage .section .app-media--card{max-width:560px}.homepage .section .app-media--video{background:#0b1017}.homepage .section .app-media[hidden]{display:none}.content{text-align:center;flex:1 auto;display:flex;justify-content:center}.content img{max-width:100%}.vertical{flex-direction:column;align-items:center}.flexWrapper{display:flex;flex-direction:column;min-height:100vh;flex:1 auto}.main{max-width:100%;height:100%;padding:0 32px}@media only screen and (min-width:992px){.main{width:1200px}}@media(max-width:768px){.main{padding:0 16px}}