:root{--ink:#0b0d10;--panel:#141820;--line:#2a3140;--paper:#e8e4dc;--muted:#9aa3b2;--signal:#f4c15d;--sky:#7eb8ff;--success:#6bcb8a;--font-body:"Noto Sans JP", system-ui, sans-serif;--font-display:"Noto Serif JP", serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--reading:720px;--wide:1080px;--radius-card:16px;--radius-pill:999px;--glow-sky:0 0 28px #7eb8ff29}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{background:radial-gradient(ellipse 70% 42% at 50% -12%, #7eb8ff1a, transparent 55%), var(--ink);min-height:100vh;color:var(--paper);font-family:var(--font-body);letter-spacing:.02em;flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.75;display:flex}img,svg{max-width:100%;display:block}p{overflow-wrap:anywhere}a{color:var(--sky);text-underline-offset:.18em}a:hover{color:var(--sky)}:focus-visible{outline:2px solid var(--sky);outline-offset:3px}::selection{background:var(--signal);color:var(--ink)}.skip-link{left:var(--space-4);z-index:10;background:var(--signal);color:var(--ink);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-weight:700;text-decoration:none;position:absolute;top:-4rem}.skip-link:focus{top:var(--space-3)}.site-header{z-index:5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);background:#0b0d10e6;position:sticky;top:0}.header-inner,main,.footer-inner{width:min(var(--wide), calc(100% - var(--space-6)));margin-inline:auto}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.brand{color:var(--paper);font-family:var(--font-display);letter-spacing:.04em;font-size:1.25rem;font-weight:700;text-decoration:none}.brand span{color:var(--signal)}.brand:hover{color:var(--paper)}.brand:hover span{color:var(--sky)}.nav,.footer-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.nav a,.footer-nav a{color:var(--muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:.95rem;text-decoration:none}.nav a:hover,.footer-nav a:hover{color:var(--sky);background:#7eb8ff14}.nav a[aria-current=page]{color:var(--sky);box-shadow:inset 0 0 0 1px var(--sky)}main{padding:var(--space-7) 0 var(--space-8);flex:1}.hero{gap:var(--space-6);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;display:grid}.hero>*{min-width:0}.eyebrow{margin:0 0 var(--space-3);color:var(--signal);letter-spacing:.06em;font-size:.82rem;font-weight:500}h1,h2,h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--paper);font-weight:700;line-height:1.45}h1{margin:0;font-size:clamp(2rem,4vw,2.75rem)}h2{margin:0 0 var(--space-3);font-size:clamp(1.45rem,2.4vw,1.9rem)}h3{margin:0 0 var(--space-2);font-size:1.15rem}.lead{max-width:var(--reading);margin:var(--space-4) 0 0;font-size:1.125rem;line-height:1.75}.narrow{max-width:var(--reading)}.prose>*+*{margin-top:var(--space-4)}.prose p,.card p,.step p,.faq-item p,.post-card p,.note{margin:0}.card .quote-line{margin-top:var(--space-4)}.prose :is(h2){margin-top:var(--space-7)}.prose :is(h3){margin-top:var(--space-6)}.prose ul,.prose ol{margin:0;padding-left:1.25em}.prose li+li{margin-top:var(--space-2)}.prose blockquote{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-left:2px solid var(--signal);border-radius:0 var(--radius-card) var(--radius-card) 0;background:var(--panel);color:var(--paper)}.prose blockquote p+p{margin-top:var(--space-3)}.actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.button{min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);border:1px solid #0000;justify-content:center;align-items:center;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.button.primary{background:var(--signal);color:var(--ink)}.button.primary:hover{background:var(--signal);color:var(--ink);box-shadow:0 0 24px #f4c15d59}.button.secondary{color:var(--paper);border-color:var(--line);background:0 0}.button.secondary:hover{color:var(--sky);border-color:var(--sky)}.chat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);margin:0}.chat-log{margin:0;padding:0;list-style:none}.bubble{border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);margin-top:var(--space-3)}.bubble.is-you{background:var(--ink);border:1px solid var(--line)}.bubble.is-bot{border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--signal);background:0 0}.bubble strong{margin-bottom:var(--space-1);color:var(--muted);letter-spacing:.08em;font-size:.75rem;font-weight:500;display:block}.bubble p{margin:0}.bubble p+p{margin-top:var(--space-3)}.section{margin-top:var(--space-8)}.section-head{max-width:var(--reading);margin-bottom:var(--space-5)}.grid,.grid-2{gap:var(--space-4);display:grid}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.step,.faq-item,.post-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-5)}.card,.post-card,.step{transition:border-color .16s,box-shadow .16s}.card:hover,.post-card:hover,a.card:focus-visible{border-color:var(--sky);box-shadow:var(--glow-sky)}a.card,a.post-card{color:inherit;text-decoration:none;display:block}a.card:hover h2,a.card:hover h3,a.post-card:hover h2,a.post-card:hover h3{color:var(--sky)}.index-mark{margin-bottom:var(--space-2);color:var(--signal);font-family:var(--font-display);font-size:1.25rem;display:block}.quote-line{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:0 var(--space-3) var(--space-3) 0;background:var(--ink);border-left:2px solid var(--signal);color:var(--paper)}.steps,.faq-list,.post-list{gap:var(--space-3);max-width:var(--reading);display:grid}.faq-item summary{cursor:pointer;color:var(--paper);letter-spacing:.03em;font-weight:700}.faq-item summary:hover{color:var(--sky)}.faq-item p{margin-top:var(--space-3);color:var(--paper)}.faq-item[open]{border-color:var(--sky)}.note{margin-top:var(--space-5);max-width:var(--reading);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-left:2px solid var(--signal);border-radius:var(--radius-card);background:var(--panel)}.note-good{border-left-color:var(--success)}.post-card time,.back-link,.footer-meta{color:var(--muted);font-size:.92rem}.post-card h2,.post-card h3{margin:var(--space-2) 0;font-size:1.35rem}.back-link{margin-bottom:var(--space-4);text-decoration:none;display:inline-block}.back-link:hover{color:var(--sky)}.site-footer{border-top:1px solid var(--line);padding:var(--space-6) 0 var(--space-7)}.footer-inner{gap:var(--space-4);flex-direction:column;display:flex}.footer-closing{max-width:var(--reading);color:var(--paper);font-family:var(--font-display);margin:0;font-size:1.05rem;line-height:1.75}.footer-row{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.footer-meta{margin:0}@media (width<=800px){.header-inner,main,.footer-inner{width:min(var(--wide), calc(100% - var(--space-6)))}.header-inner{align-items:flex-start}.hero,.grid,.grid-2{grid-template-columns:1fr}main{padding:var(--space-6) 0 var(--space-7)}.section{margin-top:var(--space-7)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.post-card,.step,.button{transition:none}}
