:root{--bg:#fafafb;--surface:#fff;--ink:#20233a;--muted:#6a6f85;--primary:#5a56e0;--primary-soft:#ecebfb;--accent:#ffc24b;--border:#eaeaf0;--radius:18px;--maxw:760px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Zen Kaku Gothic New,system-ui,sans-serif;font-size:17px;line-height:1.9;-webkit-font-smoothing:antialiased}.logo,h1,h2,h3{font-family:Zen Maru Gothic,sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(250,250,251,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.bar{justify-content:space-between;height:64px}.bar,.logo{display:flex;align-items:center}.logo{font-weight:900;font-size:20px;color:var(--ink);gap:8px}.logo:hover{text-decoration:none}.logo .spark{width:26px;height:26px;border-radius:9px;background:var(--accent);display:grid;place-items:center;font-size:15px;transform:rotate(-6deg)}.bar nav a{color:var(--muted);font-weight:500;font-size:14px;margin-left:16px;cursor:pointer}.bar nav a:hover{color:var(--ink);text-decoration:none}.catbar{border-top:1px solid var(--border)}.catbar nav{display:flex;gap:18px;padding:9px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.catbar nav::-webkit-scrollbar{display:none}.catbar a{color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.catbar a:hover{color:var(--primary);text-decoration:none}.cat-title{font-size:26px;margin:6px 0}.cat-desc{color:var(--muted);font-size:14px;margin:0 0 8px}.hero{position:relative;overflow:hidden;padding:56px 0 40px}.hero .blob{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--primary-soft),transparent 70%);top:-120px;right:-80px;z-index:0;pointer-events:none}.hero .inner{position:relative;z-index:1}.hello{color:var(--primary);font-weight:700;font-size:14px;letter-spacing:.05em}.hero h1{font-size:38px;line-height:1.5;margin:10px 0 14px;font-weight:900}.hero h1 .mark{background:linear-gradient(transparent 60%,var(--accent) 60%)}.hero p{font-size:16px;margin:0;max-width:560px}.eyebrow,.hero p{color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:10px;margin:40px 0 4px;font-size:13px;font-weight:700;letter-spacing:.08em}.eyebrow:after{content:"";flex:1 1;height:1px;background:var(--border)}.eyebrow-link a{color:var(--ink);font-weight:700;letter-spacing:.08em}.eyebrow-link a:hover{color:var(--primary);text-decoration:none}.eyebrow-link .count{color:var(--muted);font-weight:500;letter-spacing:0}.cards{display:grid;grid-gap:16px;gap:16px;margin:22px 0 8px}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;text-align:left;width:100%;font:inherit;color:inherit}.card,.card:hover{text-decoration:none}.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(32,35,58,.08)}.card:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.card .chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);margin-bottom:10px}.card .chip.soon{background:#f1f1f4;color:var(--muted)}.card h3{margin:0 0 6px;font-size:19px;line-height:1.6}.card .ex{color:var(--muted);font-size:14px;margin:0}.card .read{margin-top:10px;color:var(--primary);font-size:13px;font-weight:700}.back{display:inline-block;background:none;border:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:8px 0;margin-top:20px}.back:hover{color:var(--ink);text-decoration:none}article{padding:8px 0 20px}article .chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary)}article h1{font-size:28px;line-height:1.6;margin:14px 0 8px}article .meta{color:var(--muted);font-size:13px;margin-bottom:24px}article h2{font-size:21px;margin:34px 0 10px;padding-left:12px;border-left:5px solid var(--accent)}article p{margin:0 0 18px}.post-body>:first-child{margin-top:0}.post-body ul{padding-left:22px;margin:0 0 18px}.post-body li{margin:4px 0}.post-body blockquote{background:#fff8e8;border:1px dashed var(--accent);border-radius:14px;padding:16px 18px;margin:20px 0;font-size:15px;color:#7a5b12}.post-body blockquote p{margin:0 0 12px}.post-body blockquote p:last-child{margin-bottom:0}.post-body blockquote b,.post-body blockquote strong{color:#5f4708}.note{background:#fff8e8;border:1px dashed var(--accent);border-radius:14px;padding:16px 18px;margin:20px 0;font-size:15px;color:#7a5b12}.note b{color:#5f4708}.ad{margin:32px 0;border:1px dashed var(--border);border-radius:14px;padding:22px;text-align:center;color:var(--muted);font-size:13px;background:#fcfcfd}.page h1{font-size:26px;margin:8px 0 16px}.page h2{font-size:18px;margin:24px 0 8px}.page li,.page p{color:var(--ink);font-size:15px}.page ul{padding-left:20px}footer{border-top:1px solid var(--border);margin-top:48px;padding:28px 0 40px;color:var(--muted);font-size:13px}footer .links{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}footer .links a{color:var(--muted);cursor:pointer}footer .links a:hover{color:var(--ink);text-decoration:none}@media (max-width:520px){.hero h1{font-size:30px}body{font-size:16px}.bar{height:auto;min-height:56px;flex-wrap:wrap;gap:4px 10px;padding:10px 0}.logo{font-size:18px}.bar nav,.logo{white-space:nowrap}.bar nav a{margin-left:0;margin-right:14px;font-size:13px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}