/* NEXORIA 機能ページ（1 項目 = 1 ページ）の部品。tools/build_nexoria_pages.py が使う（2026-10-09）。
   既存の style.css / pages.css の上に足すものだけ。色は :root の --ink / --paper / --accent を使う */

.ft-promise{background:var(--ink);color:#fff;text-align:center;padding:14px 6vw;font-weight:800;letter-spacing:.04em}
.ft-promise span{color:var(--accent)}

.ft-scene h3{font-size:18px;line-height:1.5;margin:10px 0 8px}

.ft-shot-section{padding-top:48px;padding-bottom:48px}
.ft-shot{margin:0 auto;max-width:var(--max)}
.ft-shot img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.08)}
.ft-shot figcaption{margin-top:14px;color:var(--muted);font-size:14px;text-align:center}

.ft-flow{list-style:none;margin:0 auto;padding:0;max-width:var(--max);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
.ft-flow li{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px 18px 20px}
.ft-flow li+li::before{content:"→";position:absolute;left:-14px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:900;font-size:18px}
.ft-flow-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--accent);color:var(--ink);font-weight:900;font-size:13px;margin-bottom:12px}
.ft-flow strong{display:block;color:#fff;font-size:16px;line-height:1.5;margin-bottom:6px}
.ft-flow small{display:block;color:rgba(255,255,255,.7);font-size:13px;line-height:1.6}

.ft-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:var(--max);margin:0 auto}
.ft-data{border-radius:var(--radius);padding:26px 26px 20px;border:1px solid var(--line);background:var(--white)}
.ft-data h3{margin:0 0 12px;font-size:17px}
.ft-data ul{margin:0;padding-left:1.2em}
.ft-data li{margin:6px 0;line-height:1.7}
.ft-data-out{border-color:#d8dcc0}
.ft-data-keep{background:var(--ink);color:#fff;border-color:var(--ink)}
.ft-data-keep h3{color:var(--accent)}
.ft-data-cannot{background:#fff8e6;border-color:#f0dfa8}
.ft-data-can .pg-check-list{padding-left:0}

.ft-specs{max-width:var(--max);margin:0 auto}
.ft-specs>div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.ft-specs dt{color:var(--muted);font-weight:700}
.ft-specs dd{margin:0}

.ft-pledge h3{color:var(--accent)}

.ft-plan .ft-plan-row{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ft-plan h2{margin:6px 0 10px}

.ft-related{padding-top:30px;padding-bottom:30px}
.ft-related .pg-actions{flex-wrap:wrap;gap:12px}

.ft-entry{display:block;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}
.ft-entry:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.12)}
.ft-entry-go{display:inline-block;margin-top:10px;color:var(--ink);font-weight:800;border-bottom:2px solid var(--accent)}

/* AI ニュース */
.nx-news-updated{max-width:var(--max);margin:-6px auto 22px;color:var(--muted);font-size:14px}
.nx-news-updated strong{color:var(--ink)}
.nx-news-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nx-news-card{display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.nx-news-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nx-news-country{display:inline-flex;align-items:baseline;gap:4px;padding:4px 9px;border-radius:999px;color:#fff;font-weight:900;font-size:12px}
.nx-news-country small{font-size:11px;font-weight:700;opacity:.9}
.nx-news-country-us{background:#2f3faf}.nx-news-country-jp{background:#d63b4f}.nx-news-country-kr{background:#1f8a8a}
.nx-news-cat{padding:4px 9px;border-radius:999px;background:#eef3d8;color:#4a6a00;font-size:10px;font-weight:900;letter-spacing:.1em}
.nx-news-date{color:var(--muted);font-size:13px;font-weight:700}
.nx-news-status{margin-left:auto;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}
.nx-news-status-ok{background:#e3f6ec;color:#1f7a52}.nx-news-status-partial{background:#fff4dc;color:#9a6a00}.nx-news-status-single{background:#f1ecff;color:#5a3fc7}.nx-news-status-warn{background:#ffe8e8;color:#b42318}
.nx-news-card h3{margin:4px 0 2px;font-size:18px;line-height:1.5}
.nx-news-card p{margin:0;color:#444;font-size:15px}
.nx-news-impact{padding:12px 14px;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;background:#f4fbe6}
.nx-news-impact strong{display:block;margin-bottom:2px;font-size:13px}
.nx-news-impact p{font-size:14px}
.nx-news-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:auto;padding-top:6px;font-size:13px}
.nx-news-sources span{color:var(--muted);font-weight:800;font-size:11px;letter-spacing:.06em}
.nx-news-sources a{padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}
.nx-news-sources a:hover{border-color:var(--accent);background:#f4fbe6}
.nx-news-note{max-width:var(--max);margin:30px auto 0;padding:24px;border-radius:var(--radius);background:var(--ink);color:#fff;font-size:14px;line-height:1.8}
.nx-news-note a{color:var(--accent)}

@media (max-width:900px){
  .ft-flow{grid-template-columns:1fr 1fr}
  .ft-flow li+li::before{display:none}
  .ft-two,.nx-news-grid{grid-template-columns:1fr}
  .ft-specs>div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:560px){
  .ft-flow{grid-template-columns:1fr}
}
/* 入れ方の手順（mail-protect の Mail Guard など。紙の面に置く番号つきの一覧） */
.pg-steps{max-width:var(--max);margin:22px auto 0;padding-left:1.4em;display:grid;gap:10px;font-size:15px;line-height:1.75}
.pg-steps li{padding-left:4px}

/* 紙の面に置く控えめなボタン（ストアを使わない人向けの zip など） */
.pg-btn-outline{background:transparent;color:var(--ink);border:1px solid rgba(0,0,0,.35)}
.pg-btn-outline:hover{background:rgba(0,0,0,.05)}
