:root{color-scheme:light;--paper:#fafaf7;--ink:#202321;--secondary:#4d5651;--blue:#1256cc;--line:#d5dbd5;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);font-size:100%}*{box-sizing:border-box}body{margin:0;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-underline-offset:.24em;text-decoration-thickness:1px}a:hover{color:#0b409e}button,summary{font:inherit;color:inherit;cursor:pointer}button{border:0;border-radius:.5rem;background:white;padding:.7rem 1rem;min-height:44px;overflow-wrap:anywhere;line-height:1.5}button:hover{background:#e9eee8}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.4;overflow-wrap:anywhere}p,a,summary{overflow-wrap:anywhere}h2{font-size:2.125rem;font-weight:650}h3{font-size:1.375rem;font-weight:650}img{display:block;max-width:100%;height:auto}.container{width:calc(100% - 48px);max-width:1248px;margin-inline:auto}.site-header{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.875rem}.site-header:after{content:"";position:absolute;inset:4.5rem 0 auto;border-bottom:1px solid var(--line);pointer-events:none}.brand{font-size:1.375rem;font-weight:650;color:var(--ink);text-decoration:none}.desktop-nav{display:flex;align-items:center;gap:2.75rem;font-size:1rem}.desktop-nav>a{color:var(--ink);text-decoration:none}.language-menu{position:relative}.language-menu>summary{font-size:.9375rem;line-height:1.5;list-style:none;background:white;min-width:9.6rem;padding:.65rem 1.4rem;border-radius:.5rem}.language-menu>summary::-webkit-details-marker{display:none}.language-menu[open]>.language-options{position:absolute;right:0;top:calc(100% + .5rem);z-index:4;min-width:15rem;box-shadow:0 8px 24px #2023211a;padding:.75rem;background:white;border:1px solid var(--line);border-radius:.5rem}.language-options{display:flex;flex-wrap:wrap;gap:1rem}.language-choice{padding:.75rem 1rem;border-radius:.5rem;background:white;color:var(--ink);text-decoration:none;min-height:44px}.language-choice.selected{background:var(--blue);color:white;font-weight:600}.skip-link{position:absolute;z-index:10;left:1.5rem;top:1rem;padding:1rem;background:white;transform:translateY(-200%)}.skip-link:focus{transform:none}.mobile-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3.25rem;padding-block:4.75rem 5rem}.app-label{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem}.app-label>div{flex:1 1 12rem;min-width:0}.app-label>img{width:48px;height:48px;flex-shrink:0}.app-name{font-size:1.4375rem;line-height:1.4;font-weight:650}.descriptor{font-size:.875rem;color:var(--secondary);margin-top:.25rem}h1{font-size:3.5rem;letter-spacing:-.035em;font-weight:650;line-height:1.45;margin-top:1.5rem}h1>span{display:block}.lead{font-size:1.4375rem;color:var(--secondary);max-width:36rem;margin-top:4rem;line-height:1.65}.lead>span{display:block}.cta{display:inline-block;padding:.85rem 1.5rem;min-height:3.25rem;text-align:center;border-radius:.625rem;background:var(--blue);color:white;font-size:1.0625rem;font-weight:650;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}.cta:hover{background:#0d449f;color:white}.hero-intro>.cta{margin-top:4.5rem;min-width:min(100%,15.25rem);max-width:100%}.conditions{font-size:.875rem;color:var(--secondary);line-height:1.6;margin-top:1.25rem}.hero-secondary{margin-top:2.75rem;font-size:1.0625rem}.example{min-width:0;scroll-margin-top:2rem}.example h2{font-size:1.625rem}.equation{margin-top:1.5rem;font-size:1.25rem;line-height:1.6}.example-images{display:grid;grid-template-columns:minmax(0,376fr) minmax(0,132fr);gap:2.25rem;margin-top:2.25rem}.memo-detail{position:relative;aspect-ratio:770/780;overflow:hidden}.memo-detail>img{position:absolute;top:0;left:0;width:161.2987013%;max-width:none;height:auto;transform:translate(-19.0016103%,-25.9057971%)}.full-source>img{width:100%}.example-detail figcaption{margin-top:.75rem;font-size:.875rem}.example-full h3{font-size:.875rem;margin-block:1.15rem 1.75rem}.example-full figcaption{font-size:.875rem}.same-example{display:none}.image-credit{font-size:.8125rem;color:var(--secondary);margin-top:2rem}.example-cta{display:none}.section{border-top:1px solid var(--line);padding-block:3.25rem}.features h2{margin-bottom:2.75rem}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.feature-grid p{margin-top:1rem;font-size:1rem;color:var(--secondary)}.pricing-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7.5rem;padding-bottom:4rem}.pricing-faq>div{min-width:0}.pricing-faq p{margin-top:2.75rem}.free{font-size:2.5rem;font-weight:650}.purchase{font-size:1.125rem;font-weight:600}.pricing-faq .price-note{font-size:.8125rem;color:var(--secondary)}.faq h2{margin-bottom:2rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;list-style:none;min-height:44px;padding:1.5rem 2.75rem 1.5rem 0;line-height:1.65}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";position:absolute;right:.25rem;top:1.5rem}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 0 1.5rem;color:var(--secondary)}.faq .help-link{margin-top:2.5rem}.final-cta{padding-block:3.5rem 4rem}.final-cta h2{max-width:40rem;font-size:2.625rem;margin-bottom:2rem}.other-apps{padding-block:3.25rem 5rem}.keep-label{display:flex;align-items:center;gap:1.5rem;margin-top:2.75rem}.keep-label img{width:3.5rem;height:3.5rem}.keep-label h3{font-size:1.625rem}.keep-heading{font-size:1.5625rem;font-weight:600;margin-top:2rem}.keep-body{color:var(--secondary);font-size:1.1875rem;margin-top:1.5rem;margin-bottom:2.25rem}.site-footer{padding-bottom:3rem}.tagline{color:var(--secondary);font-size:1rem;margin-top:1.5rem}.site-footer nav{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2.75rem;font-size:.875rem}.copyright{font-size:.8125rem;color:var(--secondary);margin-top:2.75rem}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:1.5rem;border-radius:.75rem;max-width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);overscroll-behavior:contain}dialog::backdrop{background:#20232180}.menu-dialog{width:390px}.menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.menu-head h2{font-size:1.375rem}.menu-head button{font-size:.9375rem}.menu-dialog nav{display:flex;flex-direction:column;margin-top:2rem}.menu-dialog nav>a{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.menu-dialog .language-label{font-size:.9375rem;color:var(--secondary);margin-top:2rem;margin-bottom:1rem}.menu-dialog>.cta{margin-top:2rem;width:100%}.image-dialog{padding:0;width:min(47rem,calc(100% - 2rem));height:min(50rem,calc(100dvh - 2rem));background:white}.image-dialog[open]{display:flex;flex-direction:column}.viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;flex-shrink:0}.viewer-head h2{font-size:1.0625rem;padding-top:.35rem}.viewer-head button{background:var(--paper);font-size:.9375rem}.image-choices{display:flex;gap:1rem;padding:0 1rem 1rem;flex-shrink:0}.image-choices button{flex:1;background:var(--paper);font-size:.9375rem}.image-choices [aria-pressed=true]{background:var(--blue);color:white;font-weight:600}.image-choices [aria-pressed=true]:before{content:"✓ "}.image-viewport{min-height:6rem;flex:1;overflow:auto;padding:1rem;background:var(--paper);overscroll-behavior:contain;scroll-behavior:auto}.image-stage{margin:auto;flex-shrink:0;position:relative;overflow:hidden}.image-stage:not(.memo-detail)>img{width:100%;height:auto;max-width:none}.viewer-controls{padding:1rem;border-top:1px solid var(--line);flex-shrink:0}.zoom-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.zoom-row button{background:var(--paper);flex:1}.zoom-row output{font-size:1.0625rem;font-weight:600;min-width:4rem;text-align:center}.fit-image{width:100%;background:var(--paper);margin-top:.75rem}.no-script-nav{display:flex;gap:1rem;flex-wrap:wrap;margin-block:1rem}.image-error{font-size:.875rem;color:var(--secondary);padding:1rem}.image-error a{display:block}.image-error[hidden]{display:none}body.modal-open{overflow:hidden}
@media(min-width:1440px){.container{width:calc(100% - 192px)}}
@media(max-width:900px){.hero{gap:2rem;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}h1{font-size:2.75rem}.desktop-nav{gap:1.5rem}.pricing-faq{gap:3rem}.example-images{gap:1rem}}
@media(max-width:700px){.site-header{gap:.75rem;flex-wrap:wrap}.site-header:after{display:none}.site-header{border-bottom:1px solid var(--line)}.desktop-nav{display:none}.mobile-toggle:not([hidden]){display:block;font-size:.9375rem}.hero{display:block;padding-block:1.5rem 3rem}.app-label{gap:1rem}h1{font-size:2.125rem;line-height:1.5;letter-spacing:-.025em;margin-top:1rem}.lead{font-size:1.0625rem;line-height:1.55;margin-top:1rem}.hero-intro>.cta{display:block;width:100%;margin-top:1.25rem}.conditions{font-size:.875rem;margin-top:.75rem}.hero-secondary{margin-top:1rem;font-size:1rem}.example{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.example h2{font-size:1.4375rem}.equation{font-size:1.0625rem;margin-top:1rem}.example-images{display:block;margin-top:1.5rem}.example-detail figcaption{margin-top:.75rem}.example-full{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.example-full .full-source{flex:0 0 128px;max-width:100%}.example-full figcaption{flex:1 1 140px;min-width:0}.example-full h3{font-size:1rem;margin-top:0;margin-bottom:1.5rem}.same-example{display:block;margin-bottom:1.5rem;font-size:.875rem;color:var(--secondary)}.example-full figcaption{font-size:.875rem}.image-credit{margin-top:1rem}.example-cta{display:block;margin-top:1.5rem}.example-cta .cta{display:block;width:100%}.section{padding-block:2.75rem}h2{font-size:1.75rem}.feature-grid{grid-template-columns:1fr;gap:1.75rem}.features h2{margin-bottom:2rem}.pricing-faq{display:block}.faq{margin-top:3.5rem}.final-cta h2{font-size:1.875rem}.other-apps{padding-bottom:3rem}.keep-heading{font-size:1.3125rem}.keep-body{font-size:1.0625rem}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.site-footer .copyright{margin-top:2.5rem}.menu-dialog{width:100%;max-width:100%;max-height:100dvh;min-height:100dvh;border-radius:0;border:0;margin:0 0 0 auto}.image-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh;border-radius:0;border:0}.viewer-head{gap:.5rem}.viewer-head button{flex-shrink:0}}
@media(max-width:350px){h1{font-size:2rem}.example-full{gap:1rem}.example-full .full-source{flex-basis:96px}}
@media(max-height:500px){.image-dialog[open]{overflow:auto;display:block}.image-viewport{height:50dvh;min-height:6rem}.viewer-head,.image-choices,.viewer-controls{position:relative}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Controls reflow with the user's font size; no enlarged text is capped. */
.menu-head,.viewer-head{flex-wrap:wrap}.menu-head h2,.viewer-head h2{min-width:0;flex:1 1 12rem}.image-dialog{overflow:auto}.image-choices{flex-wrap:wrap}.image-choices button{flex:1 1 8rem;min-width:0}.zoom-row button{flex:1 1 5rem;min-width:0}.zoom-row output{min-width:0;max-width:100%;overflow-wrap:anywhere}.language-choice{max-width:100%}
.viewer-head button{max-width:100%;flex-shrink:1}

.site-header,.desktop-nav{flex-wrap:wrap}.desktop-nav{max-width:100%}.language-menu[open]>.language-options{min-width:min(15rem,calc(100vw - 48px));max-width:calc(100vw - 48px)}
/* Match the approved control-label alignment. */
button,.cta{text-align:left}

.final-cta h2>span{display:block}.final-cta>.cta{min-width:min(100%,15.25rem)}@media(max-width:700px){.final-cta>.cta{display:block;width:100%}}
