:root{color-scheme:light;--paper:#f5f3ed;--ink:#242c28;--muted:#606760;--green:#254d3e;--line:#d4d7cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}a:focus-visible{outline:3px solid #ad591f;outline-offset:6px} .wrap{max-width:1144px;margin:auto;padding-left:40px;padding-right:40px}.masthead{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;font-weight:800;letter-spacing:-1.6px}.brand-dot{color:#aa582c}.masthead nav{display:flex;gap:32px;font-size:14px;font-weight:600}.masthead nav a:hover{text-decoration:underline;text-underline-offset:6px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;padding:80px 0 72px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;margin:0 0 20px;color:var(--green)}h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(38px,4.6vw,58px);line-height:1.5;letter-spacing:.025em;margin:0 0 25px;font-weight:700}.lead{color:var(--muted);font-size:15px;line-height:2.1;margin:0 0 30px}.button{display:inline-flex;gap:35px;align-items:center;background:var(--green);color:#fff;padding:13px 20px;font-size:14px;font-weight:600;border-radius:3px}.button:hover{background:#193b2d;color:#fff}.text-link{display:block;font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-top:18px}.start-note{padding:28px 30px 16px;background:#e8ecdf;border-top:3px solid var(--green);position:relative}.start-note>a{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid #cbd3c0}.start-note>a>span:last-child{margin-left:auto}.num{font-family:Georgia,serif;font-style:italic;color:#737c6e;font-size:19px}.start-note small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.start-note strong{font-size:16px;font-weight:600}.note-bottom{font-size:11px;color:var(--muted);margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px;gap:24px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{font-size:26px;letter-spacing:.035em;margin:0}.section-heading>p,.count{font-size:12px;color:var(--muted);margin:0}.tools-section{border-top:1px solid var(--line);padding-top:36px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fbfaf6}.tool{padding:25px 28px;display:block}.tool+.tool{border-left:1px solid var(--line)}.tool:hover{background:#edf0e6}.tool-label{font-size:10px;color:var(--muted);letter-spacing:.12em}.tool h3{font-size:23px;margin:13px 0 10px}.tool p{font-size:13px;color:var(--muted);margin:0 0 24px}.tool-action{font-size:12px;color:var(--green);font-weight:700}#guides,#apps{margin-top:80px}.guide-group{display:grid;grid-template-columns:280px 1fr;border-top:1px solid var(--line);padding:12px 0 24px;gap:35px}.guide-group>h3{font-size:15px;margin-top:22px;display:flex;gap:18px;align-items:baseline}.guide-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.guide-link h4{font-size:16px;margin:0 0 5px;font-weight:600}.guide-link p{font-size:12px;color:var(--muted);margin:0}.guide-link:hover h4{text-decoration:underline;text-underline-offset:5px}.app-row{display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:center;padding:25px 0;border-top:1px solid var(--line)}.app-row img{border-radius:13px}.app-row h3{font-size:16px;margin:0 0 5px}.app-row p{font-size:12px;color:var(--muted);margin:0}.app-row>a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.reader-icon{width:64px;height:64px;display:grid;place-items:center;background:#dee4d5;font:32px Georgia,serif;border-radius:13px}.muted{font-size:12px;color:var(--muted)}.about{border-top:1px solid var(--line);margin:64px 0 48px;padding-top:28px;display:grid;grid-template-columns:280px 1fr;gap:35px}.about h2{font-size:14px;margin:0}.about p{font-size:13px;color:var(--muted);margin:0}footer.wrap{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;padding-bottom:35px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:#fff;z-index:10}.skip:focus{top:10px}.mobile-break{display:none}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.masthead{height:78px}.wordmark{font-size:25px}.masthead nav{gap:18px;font-size:12px}.intro{grid-template-columns:1fr;gap:36px;padding:42px 0}.intro h1{font-size:42px}.start-note{padding:24px}.start-note>a{padding:17px 0}.section-heading{align-items:start}.section-heading h2{font-size:23px}.section-heading>p{display:none}.tool-grid{grid-template-columns:1fr}.tool+.tool{border-left:0;border-top:1px solid var(--line)}.tool{padding:20px 24px}.tool h3{font-size:21px;margin:8px 0}.tool p br{display:none}.tool p{margin-bottom:14px}.guide-group{grid-template-columns:1fr;gap:0}.guide-group>h3{margin-bottom:4px}.guide-link{padding:18px 0}.guide-link h4{font-size:15px}.app-row{grid-template-columns:48px 1fr;gap:14px}.app-row img,.reader-icon{width:48px;height:48px}.app-row>a,.app-row>.muted{grid-column:2}.about{grid-template-columns:1fr;gap:16px}.count{font-size:10px;white-space:nowrap}#guides,#apps{margin-top:54px}footer.wrap{flex-wrap:wrap;gap:12px}.mobile-break{display:initial}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Apps lead the homepage; tools and articles follow the product list. */
.app-intro{grid-template-columns:1.25fr 1fr;gap:40px;padding:44px 0 32px;align-items:end}
.app-intro h1{font-size:clamp(28px,3.2vw,40px);margin:0;line-height:1.65}
.app-intro .eyebrow{margin-bottom:12px}
.app-intro .lead{font-size:13px;margin:0 0 8px}
#apps{margin-top:0}
#apps .section-heading{margin-bottom:16px}
#apps .section-heading .eyebrow{display:none}
.tools-section{margin-top:64px}
@media(max-width:760px){.app-intro{grid-template-columns:1fr;gap:14px;padding:30px 0 26px}.app-intro h1{font-size:27px}.app-intro .lead{font-size:12px;margin:0}.app-intro .lead br{display:none}#apps{margin-top:0}.tools-section{margin-top:40px}}
