:root{--bg:#fff7fb;--bg-soft:#ffeef5;--surface:#fff;--text:#221026;--text-muted:#7a6b80;--accent:#ff5c8a;--accent-deep:#e63b73;--accent-2:#6c5cff;--accent-3:#18d8c8;--accent-soft:#ffd9e6;--border:#ffd7e6;--ring:#ff5c8a59;--shadow:0 14px 36px -16px #ff5c8a73;--shadow-soft:0 8px 24px -14px #6c5cff47;--radius:22px;--radius-lg:30px;--maxw:760px;--font:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Segoe UI", Meiryo, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(720px 420px at 88% -8%, #6c5cff24 0%, transparent 62%), radial-gradient(680px 420px at 4% 2%, #18d8c81f 0%, transparent 58%), var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.85;overflow-x:hidden}a{color:var(--accent-deep);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.wide{max-width:1200px}img{max-width:100%;height:auto}.site-header{z-index:20;backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--border);background:#fff7fbd1;position:sticky;top:0}.site-header .bar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:14px;max-width:1120px;margin:0 auto;padding:14px 20px;display:flex}.brand{color:var(--text);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;align-items:center;gap:11px;min-width:0;font-size:1.18rem;font-weight:900;display:flex}.brand .logo{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:34px;height:34px;box-shadow:0 6px 16px -6px var(--ring);border-radius:11px;place-items:center;display:grid}.brand .logo svg{width:20px;height:20px;display:block}.brand .brand-sub{color:var(--accent-deep);letter-spacing:.14em;text-transform:uppercase;margin-top:2px;font-size:.68rem;font-weight:700;line-height:1;display:block}.nav{flex-wrap:nowrap;flex-shrink:0;gap:6px;font-size:.92rem;display:flex}.nav a{color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:7px 14px;font-weight:700;transition:color .15s,background .15s}.nav a:hover{color:var(--accent-deep);background:var(--bg-soft);text-decoration:none}.nav .nav-ico{display:none}.hero{text-align:center;max-width:760px;margin:0 auto;padding:72px 20px 44px;position:relative}.hero .eyebrow{color:var(--accent-deep);background:var(--surface);border:1.5px solid var(--accent-soft);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:8px;margin:0 0 18px;padding:7px 16px;font-size:.8rem;font-weight:800;display:inline-flex}.hero .eyebrow .pulse{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 0 var(--ring);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--ring)}70%{box-shadow:0 0 0 10px #ff5c8a00}to{box-shadow:0 0 #ff5c8a00}}.hero h1{letter-spacing:-.03em;background:linear-gradient(102deg, var(--accent-2), var(--accent) 55%, var(--accent-deep));color:#0000;background-clip:text;margin:0 0 16px;font-size:clamp(2rem,6vw,3.1rem);font-weight:900;line-height:1.22}.hero p{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:1.06rem}.masthead{border-bottom:1px solid var(--border);background:radial-gradient(620px 280px at 92% -40%, #6c5cff29 0%, transparent 60%), radial-gradient(560px 280px at 4% -30%, #18d8c824 0%, transparent 60%), var(--bg-soft)}.masthead-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1200px;margin:0 auto;padding:26px 20px;display:flex}.masthead .eyebrow{color:var(--accent-deep);background:var(--surface);border:1.5px solid var(--accent-soft);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-size:.8rem;font-weight:800;display:inline-flex}.masthead .eyebrow .pulse{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 0 var(--ring);border-radius:50%;animation:2s infinite pulse}.masthead-tagline{letter-spacing:-.03em;background:linear-gradient(102deg, var(--accent-2), var(--accent) 55%, var(--accent-deep));color:#0000;background-clip:text;margin:0;font-size:clamp(1.35rem,3.4vw,2.2rem);font-weight:900;line-height:1.2}.mag{margin:0 auto;padding:40px 20px 16px}.lead{border-radius:var(--radius-lg);color:var(--text);background:radial-gradient(520px 360px at 100% 0%, #6c5cff2e, transparent 62%), radial-gradient(420px 320px at 0% 100%, #18d8c829, transparent 60%), var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow);margin-bottom:30px;padding:clamp(30px,5vw,60px);transition:transform .18s,box-shadow .18s,border-color .18s;display:block;position:relative;overflow:hidden}.lead:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));height:6px;position:absolute;inset:0 0 auto}.lead:hover{border-color:var(--accent);box-shadow:var(--shadow), var(--shadow-soft);text-decoration:none;transform:translateY(-4px)}.lead-body{max-width:760px;position:relative}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:14px;font-size:.74rem;font-weight:900;display:inline-block}.lead-title{letter-spacing:-.03em;color:var(--text);margin:0 0 16px;font-size:clamp(1.8rem,4.6vw,3rem);font-weight:900;line-height:1.18}.lead:hover .lead-title{color:var(--accent-deep)}.lead-desc{color:var(--text-muted);max-width:640px;margin:0 0 18px;font-size:clamp(1rem,1.6vw,1.15rem)}.subfeatures{grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:38px;display:grid}.subfeature{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);color:var(--text);padding:24px;transition:transform .18s,box-shadow .18s,border-color .18s;display:block}.subfeature:hover{border-color:var(--accent);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-4px)}.subfeature h3{letter-spacing:-.02em;color:var(--text);margin:0 0 8px;font-size:1.32rem;font-weight:900;line-height:1.35}.subfeature:hover h3{color:var(--accent-deep)}.subfeature p{color:var(--text-muted);margin:0 0 12px;font-size:.95rem}.subfeature time{color:var(--text-muted);font-size:.82rem}.section-title{letter-spacing:-.02em;align-items:center;gap:12px;margin:8px 0 22px;font-size:1.5rem;font-weight:900;display:flex}.section-title:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));width:28px;height:28px;box-shadow:0 6px 14px -6px var(--ring);border-radius:9px;flex:none}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:24px 22px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));opacity:0;height:4px;transition:opacity .18s;position:absolute;inset:0 0 auto}.card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-5px)}.card:hover:before{opacity:1}.card h2{letter-spacing:-.01em;margin:0 0 10px;font-size:1.16rem;font-weight:800;line-height:1.45}.card h2 a{color:var(--text)}.card h2 a:hover{color:var(--accent-deep);text-decoration:none}.card .excerpt{color:var(--text-muted);margin:0 0 14px;font-size:.94rem}.meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.tag{background:var(--bg-soft);border:1.5px solid var(--accent-soft);color:var(--accent-deep);border-radius:999px;align-items:center;padding:4px 13px;font-size:.76rem;font-weight:800;transition:background .15s,color .15s,border-color .15s;display:inline-flex}a.tag:hover{background:var(--accent);border-color:var(--accent);color:#fff;text-decoration:none}.post-hero{border-bottom:1px solid var(--border);background:radial-gradient(560px 300px at 100% -30%, #6c5cff29, transparent 62%), radial-gradient(480px 300px at 0% -20%, #18d8c824, transparent 60%), var(--bg-soft);padding:38px 0 34px}.post-hero .breadcrumb{margin-bottom:16px}.post-hero h1{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(1.8rem,4.8vw,2.7rem);font-weight:900;line-height:1.24}.post-hero .article-meta{color:var(--text-muted);margin-bottom:14px;font-size:.9rem}.article{padding:36px 0 80px}.article h1{letter-spacing:-.025em;margin:0 0 16px;font-size:clamp(1.7rem,4.4vw,2.5rem);font-weight:900;line-height:1.3}.article .article-meta{color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.prose{font-size:1.06rem}.prose h2{letter-spacing:-.02em;border-bottom:2px dashed var(--accent-soft);margin-top:2.1em;padding-bottom:.35em;font-size:1.5rem;font-weight:900}.prose h3{color:var(--accent-deep);margin-top:1.6em;font-size:1.2rem;font-weight:800}.prose p{margin:1em 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.45em 0}.prose li::marker{color:var(--accent)}.prose a{text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:3px;font-weight:700}.prose blockquote{border-left:4px solid var(--accent);color:var(--text);background:var(--bg-soft);border-radius:0 14px 14px 0;margin:1.4em 0;padding:.5em 1.1em}.prose code{background:var(--bg-soft);color:var(--accent-deep);border:1px solid var(--border);border-radius:7px;padding:.15em .45em;font-size:.9em}.prose pre{color:#ffe3ee;border:1px solid var(--accent-deep);background:#2a0f1d;border-radius:14px;padding:16px;overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:none;padding:0}.prose table{border-collapse:collapse;width:100%;box-shadow:var(--shadow-soft);border-radius:12px;margin:1.5em 0;font-size:.94rem;overflow:hidden}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:11px 13px}.prose th{background:var(--accent-soft);color:var(--accent-deep);font-weight:800}.prose tr:nth-child(2n) td{background:var(--bg-soft)}.prose img{border:1.5px solid var(--border);border-radius:14px}.breadcrumb{color:var(--text-muted);margin-bottom:18px;font-size:.82rem}.breadcrumb a{color:var(--text-muted);font-weight:700}.breadcrumb a:hover{color:var(--accent-deep)}.cta{border-radius:var(--radius-lg);border:1.5px solid var(--accent-soft);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#ff5c8a1f,#6c5cff1f);margin:44px 0;padding:28px 26px;position:relative;overflow:hidden}.cta:after{content:"";background:radial-gradient(circle,#18d8c838,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.cta h3{letter-spacing:-.01em;margin:0 0 10px;font-size:1.18rem;font-weight:900}.cta p{color:var(--text-muted);margin:0 0 18px;position:relative}.btn{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-deep));box-shadow:0 10px 22px -10px var(--ring);border-radius:999px;align-items:center;gap:8px;padding:12px 26px;font-weight:800;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{box-shadow:0 14px 26px -10px var(--ring);text-decoration:none;transform:translateY(-2px)}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);color:var(--text-muted);margin-top:40px;padding:36px 20px;font-size:.88rem}.site-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;display:flex}.site-footer a{color:var(--accent-deep);font-weight:700}@media (width<=980px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-3,.subfeatures{grid-template-columns:1fr}.masthead-inner{padding:22px 18px}.mag{padding:28px 16px 8px}.prose table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}}@media (width<=540px){.hero{padding:52px 18px 36px}.site-header .bar{padding:12px 16px}.nav{gap:2px}.nav a{padding:6px 11px}}@media (width<=430px){html,body{max-width:100%;overflow-x:hidden}.container{padding:0 clamp(12px,4.10256vw,20px)}.site-header .bar{gap:8px;padding:clamp(9px,3.07692vw,14px) clamp(12px,3.58974vw,18px)}.brand{gap:8px;font-size:clamp(.98rem,4.35897vw,1.18rem);overflow:hidden}.brand .logo{border-radius:9px;flex-shrink:0;width:30px;height:30px}.brand .logo svg{width:18px;height:18px}.brand .brand-sub{display:none}.nav{gap:4px}.nav a{padding:8px 9px;font-size:1.05rem;line-height:1}.nav .nav-txt{display:none}.nav .nav-ico{align-items:center;display:inline-flex}.prose{font-size:clamp(15px,4.23077vw,18px)}.prose h2{font-size:clamp(1.25rem,5.89744vw,1.5rem)}.prose h3{font-size:clamp(1.08rem,4.8718vw,1.2rem)}.section-title{font-size:clamp(1.2rem,5.64103vw,1.5rem)}.card h2{font-size:clamp(1.05rem,4.61538vw,1.16rem)}.lead{padding:clamp(22px,6.66667vw,30px)}.prose table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.prose pre{overflow-x:auto}.subfeatures,.grid,.grid-3{grid-template-columns:1fr}}
