:root{
  --bg:#f6f7fb; --paper:#ffffff; --ink:#111827; --muted:#64748b; --line:#e5e7eb;
  --blue:#2563eb; --blue2:#0f3f9e; --pink:#ec4899; --red:#ef4444; --dark:#0b1220;
  --grad:linear-gradient(135deg,#2563eb 0%,#ec4899 55%,#f97316 100%);
  --shadow:0 24px 80px rgba(15,23,42,.12); --radius:28px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.75} a{color:inherit;text-decoration:none} code,pre{font-family:"SFMono-Regular",Consolas,monospace}.sp{display:none}
.hero{min-height:88vh;padding:28px clamp(20px,4vw,64px) 72px;background:radial-gradient(circle at top left,rgba(37,99,235,.24),transparent 34%),radial-gradient(circle at 78% 12%,rgba(236,72,153,.22),transparent 28%),linear-gradient(180deg,#fff 0%,#eef2ff 100%)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1220px;margin:0 auto 80px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--dark);color:#fff}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.nav-links a{padding:9px 14px;border-radius:999px;color:#334155;font-size:14px}.nav-links a:hover{background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.08)}
.hero-grid{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}.eyebrow{margin:0 0 10px;color:var(--blue);font-family:Inter,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.hero h1{font-family:Inter,"Noto Sans JP",sans-serif;font-size:clamp(48px,7.5vw,96px);line-height:.98;letter-spacing:-.07em;margin:0 0 28px}.lead{font-size:clamp(17px,2vw,21px);color:#475569;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800}.btn.primary{background:var(--dark);color:#fff}.btn.secondary{background:#fff;color:#1e293b;border:1px solid var(--line)}
.hero-card{background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.status-label{display:inline-block;padding:6px 11px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800;font-size:12px}.hero-card h2{font-size:28px;line-height:1.35;margin:18px 0}.hero-card ul{padding-left:20px;margin:0;color:#475569}.hero-card li{margin:8px 0}
.section{max-width:1220px;margin:0 auto;padding:88px clamp(20px,4vw,34px)}.section.compact{padding-top:58px}.section-head{max-width:760px;margin-bottom:34px}.section-head h2{font-size:clamp(32px,4vw,54px);line-height:1.12;letter-spacing:-.04em;margin:0 0 12px}.section-head p:not(.eyebrow){color:var(--muted);font-size:17px}.invert h2,.invert p{color:#fff}.dark{max-width:none;background:var(--dark);color:#fff;padding-left:max(clamp(20px,4vw,34px),calc((100vw - 1220px)/2 + 34px));padding-right:max(clamp(20px,4vw,34px),calc((100vw - 1220px)/2 + 34px))}
.flow-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.flow-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;min-height:160px}.flow-item span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--grad);color:#fff;font-weight:900;margin-bottom:18px}.flow-item strong{display:block;font-size:20px}.flow-item p{color:var(--muted);font-size:14px;margin:6px 0 0}
.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill-card,.type-card,.loop-card,.template-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 32px rgba(15,23,42,.04)}.skill-card .tag,.badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:900;font-size:11px}.skill-card h3{margin:14px 0 6px;font-size:20px}.skill-card p{color:var(--muted);font-size:14px;margin:0}.skill-card code{display:block;margin-top:16px;color:#db2777;font-weight:800;font-size:13px;word-break:break-all}
.timeline{display:grid;gap:18px}.time-card{display:grid;grid-template-columns:150px 1fr 230px;gap:20px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;align-items:start}.time{font-family:Inter,sans-serif;font-weight:900;font-size:18px;color:var(--blue)}.time-card h3{margin:0 0 8px;font-size:24px}.time-card p{margin:0;color:var(--muted)}.mini-list{display:grid;gap:8px}.pill{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800}.done{background:#ecfdf5;color:#047857;border-radius:16px;padding:14px;font-size:13px;font-weight:700}
.command-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.command-card{background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden}.command-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 18px 0}.command-head h3{margin:0;font-size:18px}.copy{border:0;border-radius:999px;padding:8px 12px;background:#fff;color:#111827;font-weight:900;cursor:pointer}.command-card pre{white-space:pre-wrap;margin:16px 0 0;padding:18px;background:#030712;color:#dbeafe;font-size:13px;line-height:1.7;max-height:330px;overflow:auto}.type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.type-card h3{margin:0 0 10px}.type-card ol{padding-left:20px;margin:0;color:#475569;font-size:14px}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}.sticky-head{position:sticky;top:24px}.loop-cards{display:grid;gap:16px}.loop-card h3{font-size:26px;margin:14px 0 6px}.loop-card p{color:var(--muted);margin:0 0 14px}.loop-card code{color:#db2777;font-weight:900}.template-stack{display:grid;gap:18px}.template-card{display:grid;grid-template-columns:230px 1fr;gap:20px}.template-card h3{margin:0;font-size:24px}.template-card pre{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:18px;margin:0;font-size:13px;line-height:1.75;overflow:auto}.decision{background:#fff;border-radius:34px;margin-bottom:80px;box-shadow:var(--shadow)}.decision{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-grid div{padding:16px;border-radius:16px;background:#f8fafc;border:1px solid var(--line);font-weight:800}.footer{display:flex;justify-content:space-between;gap:20px;max-width:1220px;margin:0 auto;padding:30px;color:#64748b;border-top:1px solid var(--line)}.footer a{font-weight:900;color:#2563eb}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;background:#111827;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.hero-grid,.split,.decision,.template-card{grid-template-columns:1fr}.flow-grid{grid-template-columns:repeat(2,1fr)}.skill-grid{grid-template-columns:repeat(2,1fr)}.type-grid{grid-template-columns:repeat(2,1fr)}.time-card{grid-template-columns:1fr}.command-grid{grid-template-columns:1fr}.sticky-head{position:static}.nav{align-items:flex-start;flex-direction:column;margin-bottom:48px}}
@media(max-width:640px){.sp{display:block}.hero{padding-top:20px}.hero h1{font-size:46px}.nav-links{display:none}.flow-grid,.skill-grid,.type-grid,.check-grid{grid-template-columns:1fr}.section{padding-top:58px;padding-bottom:58px}.footer{flex-direction:column}.hero-card{padding:22px}}
