/* Hand-written equivalent of the Tailwind classes used by web/src/app/lp (#43). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:#111827;line-height:1.6;background:#fff}
main{max-width:48rem;margin:0 auto;padding:3rem 1.5rem}
main.lp>*+*{margin-top:4rem}
main.doc{color:#1f2937;line-height:1.75}
main.doc>*+*{margin-top:2rem}
section>*+*{margin-top:1rem}
main.doc section>*+*{margin-top:.5rem}
h1,h2,p,ul,ol,dl{margin:0}
h1{font-size:1.5rem;font-weight:700;line-height:1.4}
@media(min-width:640px){.lp h1{font-size:2.25rem}}
h2{font-size:1.25rem;font-weight:700}
.doc h2{font-size:1.125rem}
.hero{text-align:center}
.hero>*+*{margin-top:1.25rem}
.eyebrow{font-size:.875rem;font-weight:500;color:#2563eb}
.muted{color:#4b5563}
.small{font-size:.875rem}
.xs{font-size:.75rem;color:#6b7280}
.btn{display:inline-block;padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:0;border-radius:.5rem;font-weight:500;font-size:1rem;text-decoration:none;cursor:pointer}
.btn:hover{background:#1d4ed8}
.btn:disabled{opacity:.5;cursor:default}
.btn.block{width:100%}
ul.bullets{padding-left:1.25rem;color:#374151}
ul.bullets li+li{margin-top:.5rem}
.doc ul.bullets{color:inherit}
.doc ul.bullets li+li{margin-top:.25rem}
.steps{list-style:none;padding:0;display:grid;gap:1rem}
@media(min-width:640px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem}
.steps .t{font-weight:600}
.steps .b{font-size:.875rem;color:#4b5563}
#signup{scroll-margin-top:2rem}
form{padding:1.5rem;border:1px solid #e5e7eb;border-radius:.5rem}
form>*+*{margin-top:1.25rem}
label.field{display:block}
label.field>span{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}
input[type=email],select,textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font:inherit;background:#fff}
fieldset{border:0;padding:0;margin:0}
legend{font-size:.875rem;font-weight:500;margin-bottom:.25rem;padding:0}
.radio{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-top:.5rem}
.hp{display:none}
.error{font-size:.875rem;color:#dc2626}
.done{padding:1.5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#14532d}
footer{font-size:.75rem;color:#9ca3af;border-top:1px solid #e5e7eb;padding-top:1.5rem}
a.link{color:#2563eb;text-decoration:underline}
footer a{color:inherit}
dl.info{display:grid;grid-template-columns:8rem 1fr;row-gap:.25rem}
dl.info dt{color:#6b7280}
dl.info dd{margin:0}
.todo{background:#fef9c3;color:#713f12;padding:0 .25rem;border-radius:.25rem}
