:root{color-scheme:light;--bg:#fff;--surface:#f8fafc;--surface-blue:#eff6ff;--text:#172033;--muted:#64748b;--line:#e2e8f0;--blue:#2563eb;--blue-dark:#1d4ed8;--radius:16px;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;line-height:1.8}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button,input{font:inherit}.container{width:min(1080px,100% - 40px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#ffffffeb}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:11px;font-size:1.12rem;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:11px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.nav{color:var(--muted);align-items:center;gap:26px;font-size:.92rem;font-weight:600;display:flex}.nav a[aria-current=page]{color:var(--blue)}.menu-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;display:none}.hero{border-bottom:1px solid var(--line);background:linear-gradient(#f8fbff 0%,#fff 100%);padding:88px 0 72px}.eyebrow{color:var(--blue);background:var(--surface-blue);letter-spacing:.04em;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.hero h1{letter-spacing:-.055em;max-width:780px;margin:22px 0 16px;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.2}.hero p{max-width:650px;color:var(--muted);margin:0;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover{background:var(--blue-dark);color:#fff;transform:translateY(-1px)}.button.secondary{color:var(--text);border-color:var(--line);background:#fff}.button.secondary:hover{color:var(--blue);border-color:#bfdbfe}.section{padding:62px 0}.section-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:25px;display:flex}.section-head h2{letter-spacing:-.035em;margin:0;font-size:1.55rem}.section-head p{color:var(--muted);margin:4px 0 0;font-size:.92rem}.text-link{color:var(--blue);white-space:nowrap;font-size:.9rem;font-weight:700}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.post-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;min-height:245px;padding:22px;transition:all .2s;display:flex}.post-card:hover{border-color:#bfdbfe;transform:translateY(-3px);box-shadow:0 12px 30px #2563eb14}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:.78rem;display:flex}.category{color:var(--blue);background:var(--surface-blue);border-radius:999px;padding:3px 9px;font-weight:700}.post-card h3{letter-spacing:-.02em;margin:15px 0 9px;font-size:1.08rem;line-height:1.55}.post-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.75}.post-card .tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:18px;display:flex}.tag{color:#64748b;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:2px 8px;font-size:.72rem}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;padding:35px}.page-intro{border-bottom:1px solid var(--line);background:var(--surface);padding:55px 0 38px}.page-intro h1{letter-spacing:-.05em;margin:0 0 8px;font-size:clamp(2rem,5vw,3rem)}.page-intro p{color:var(--muted);margin:0}.content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding:48px 0 80px;display:grid}.prose{min-width:0;font-size:1rem;line-height:1.95}.prose h2{border-bottom:1px solid var(--line);letter-spacing:-.03em;margin:2.2em 0 .8em;padding-bottom:.4em;font-size:1.55rem}.prose h3{margin:1.8em 0 .6em;font-size:1.2rem}.prose p,.prose ul,.prose ol{color:#334155}.prose a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.prose code:not(pre code){color:#be123c;background:#f1f5f9;border-radius:5px;padding:.15em .4em;font-size:.88em}.prose pre{color:#e2e8f0;background:#0f172a;border-radius:12px;padding:20px;font-size:.86rem;line-height:1.7;overflow-x:auto}.prose blockquote{border-left:3px solid var(--blue);background:var(--surface-blue);color:#475569;margin:1.5em 0;padding:5px 18px}.prose img{border-radius:12px;max-width:100%;height:auto}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px 13px}.prose th{background:var(--surface)}.sidebar{align-self:start;position:sticky;top:24px}.sidebar-box{border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:18px}.sidebar h3{margin:0 0 12px;font-size:.92rem}.sidebar ul{color:var(--muted);margin:0;padding-left:18px;font-size:.85rem}.sidebar a{color:var(--muted)}.article-header{border-bottom:1px solid var(--line);padding:52px 0 28px}.article-header h1{letter-spacing:-.05em;max-width:850px;margin:18px 0 12px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.3}.article-description{max-width:760px;color:var(--muted);margin:0 0 20px;font-size:1.05rem}.breadcrumbs{color:var(--muted);margin-bottom:20px;font-size:.8rem}.search-input{border:1px solid var(--line);border-radius:11px;outline:none;width:100%;max-width:480px;padding:12px 15px}.search-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.filter-row{flex-wrap:wrap;gap:8px;margin:22px 0 28px;display:flex}.filter-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.82rem}.filter-pill:hover,.filter-pill.active{color:var(--blue);background:var(--surface-blue);border-color:#bfdbfe}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:30px;padding:32px 0;font-size:.83rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}@media (width<=800px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-layout{grid-template-columns:1fr;gap:20px}.sidebar{position:static}}@media (width<=600px){.container{width:min(100% - 30px,1080px)}.header-inner{min-height:66px}.nav{gap:14px;font-size:.82rem}.hero{padding:62px 0 55px}.post-grid{grid-template-columns:1fr}.section{padding:45px 0}.section-head{align-items:start}.nav a:last-child{display:none}}
