/* JLPT-X blog/tools shared stylesheet — same identity as the landing page:
   paper/ink base, hanko-red accent, Shippori Mincho display serif. */

:root{
  --ink:#0d0d0d;
  --ink2:#3a3a3a;
  --ink3:#6b6b6b;
  --ink4:#a8a8a8;
  --paper:#fafaf8;
  --paper2:#f3f2ee;
  --paper3:#eae8e2;
  --border:#dddad2;
  --border2:#ccc8be;
  --white:#ffffff;
  --shadow:0 1px 3px rgba(0,0,0,.07),0 6px 20px rgba(0,0,0,.06);
  --shadow2:0 2px 8px rgba(0,0,0,.1),0 12px 40px rgba(0,0,0,.08);
  --r8:8px;--r12:12px;--r16:16px;--r24:24px;
  --n1:#c0392b;--n1l:#fdf0ef;
  --n2:#c0681a;--n2l:#fef3ed;
  --n3:#9a7c0a;--n3l:#fefaec;
  --n4:#1a7a34;--n4l:#edf7f0;
  --n5:#1555b5;--n5l:#edf3fd;
  --jp:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,'Noto Sans JP',sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:'Shippori Mincho',var(--jp),Georgia,serif;
  --seal:#b8203c;
  --seal-l:#fbeced;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}

/* ── Nav (shared with landing) ── */
.b-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;max-width:1180px;margin:0 auto}
.b-wordmark{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.01em;text-decoration:none}
.b-nav-actions{display:flex;align-items:center;gap:18px}
.b-nav-link{font-size:14px;font-weight:600;color:var(--ink2);text-decoration:none}
.b-nav-link:hover{color:var(--ink)}
.b-nav-cta{font-size:14px;font-weight:700;background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:100px;text-decoration:none;transition:transform .15s}
.b-nav-cta:hover{transform:translateY(-1px)}

/* ── Article shell ── */
.b-wrap{max-width:720px;margin:0 auto;padding:20px 5vw 90px}
.b-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--seal);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.b-eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--seal)}
.b-title{font-family:var(--display);font-size:clamp(28px,4vw,42px);line-height:1.18;font-weight:700;letter-spacing:-.015em;margin-bottom:18px}
.b-meta{font-size:13.5px;color:var(--ink4);margin-bottom:44px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.b-body p{font-size:16.5px;line-height:1.75;color:var(--ink2);margin-bottom:22px}
.b-body h2{font-family:var(--display);font-size:24px;font-weight:700;margin:44px 0 16px;letter-spacing:-.01em}
.b-body h3{font-size:17.5px;font-weight:700;margin:30px 0 12px}
.b-body ul,.b-body ol{margin:0 0 22px 22px;color:var(--ink2)}
.b-body li{font-size:16px;line-height:1.7;margin-bottom:8px}
.b-body strong{color:var(--ink);font-weight:700}
.b-callout{background:var(--paper2);border-left:3px solid var(--seal);border-radius:0 var(--r8) var(--r8) 0;padding:18px 22px;margin:28px 0;font-size:15px;color:var(--ink2);line-height:1.65}
.b-table{width:100%;border-collapse:collapse;margin:24px 0 32px;font-size:14.5px}
.b-table th,.b-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}
.b-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink4);font-weight:700}
.b-table td:first-child,.b-table th:first-child{font-weight:700}

/* ── CTA block ── */
.b-cta-box{background:var(--ink);color:var(--paper);border-radius:var(--r16);padding:36px 32px;margin:48px 0 8px;text-align:center}
.b-cta-box h3{font-family:var(--display);font-size:22px;font-weight:700;margin-bottom:10px}
.b-cta-box p{color:#bbb;font-size:14.5px;margin-bottom:22px;max-width:420px;margin-left:auto;margin-right:auto}
.b-cta-btn{display:inline-block;background:var(--paper);color:var(--ink);font-weight:700;font-size:15px;padding:13px 26px;border-radius:100px;text-decoration:none;transition:transform .15s}
.b-cta-btn:hover{transform:translateY(-2px)}

/* ── Calculator tool ── */
.calc-box{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r16);box-shadow:var(--shadow);padding:28px;margin:32px 0}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.calc-field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink3);margin-bottom:7px;text-transform:uppercase;letter-spacing:.03em}
.calc-field select,.calc-field input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--r8);font-size:15px;font-family:var(--sans);background:#fff;color:var(--ink)}
.calc-result{margin-top:22px;padding-top:22px;border-top:1.5px dashed var(--border2);display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.calc-result-n{font-family:var(--display);font-size:28px;font-weight:700;color:var(--seal)}
.calc-result-l{font-size:12px;color:var(--ink4);margin-top:2px}
.calc-note{font-size:13px;color:var(--ink4);margin-top:18px;line-height:1.6}

/* ── Level pills (reused brand colors) ── */
.lvl-pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:100px;color:#fff}
.lvl-n1{background:var(--n1)}.lvl-n2{background:var(--n2)}.lvl-n3{background:var(--n3)}.lvl-n4{background:var(--n4)}.lvl-n5{background:var(--n5)}

/* ── Blog index ── */
.b-index-grid{display:flex;flex-direction:column;gap:2px;background:var(--border);border-radius:var(--r16);overflow:hidden;margin-top:8px}
.b-index-item{background:var(--paper);padding:26px 28px;text-decoration:none;display:block;transition:background .15s}
.b-index-item:hover{background:var(--paper2)}
.bi-eyebrow{font-size:11.5px;font-weight:700;color:var(--seal);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.bi-title{font-family:var(--display);font-size:19px;font-weight:700;color:var(--ink);margin-bottom:6px}
.bi-desc{font-size:14px;color:var(--ink3);line-height:1.55}

.b-footer{border-top:1px solid var(--border);padding:26px 5vw;display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:60px auto 0;font-size:12.5px;color:var(--ink4);flex-wrap:wrap;gap:10px}

@media (max-width:600px){
  .calc-row{grid-template-columns:1fr}
  .calc-result{grid-template-columns:1fr;gap:14px}
}
