[hidden]{display:none!important}
/* t97: 機能追加分（デザインは style.css＝t94c「明るいイラスト」案） */
[hidden]{display:none!important}
.seg-b{font-size:16px}
.seg-b:focus-visible,.btn:focus-visible,.btn-ghost:focus-visible{outline:3px solid var(--mus);outline-offset:2px}
.seg-hint{margin:-4px 0 10px;font-size:13px;line-height:1.5;color:var(--mute)}
.f.fw{grid-column:1/-1}
input::placeholder{color:#a5aea9}
.more{margin-top:10px;border-top:2px dashed #e3e9e5}
.more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:700;color:var(--g);list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"＋";color:var(--coral);margin-right:8px;font-weight:800}
.more[open] summary::before{content:"−"}
.more .grid{padding:2px 0 6px}
.chk{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer;align-self:end;font-weight:700;color:var(--g)}
.chk input{width:20px;height:20px;accent-color:var(--coral)}
/* ライブプレビュー（ヒーローのイラスト上） */
.live{position:absolute;left:-36px;bottom:90px;z-index:3;display:block;background:#fff;border-radius:14px;padding:8px 8px 10px;box-shadow:0 14px 30px rgba(31,42,36,.28);transform:rotate(-3deg);text-decoration:none;width:150px}
.live canvas{display:block;width:134px;height:auto;aspect-ratio:210/297;border:1px solid #eee;border-radius:3px}
.live-k{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--g);margin:0 2px 6px}
.live-k i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px var(--coral-l)}
/* 結果 */
.paper-c{position:relative;z-index:2;width:380px;max-width:100%;height:auto;aspect-ratio:210/297;background:#fff;border-radius:6px;transform:rotate(-2deg);box-shadow:0 30px 50px rgba(31,42,36,.28),0 4px 10px rgba(31,42,36,.12)}
.side{display:grid;gap:16px;align-content:center}
.warn{margin:0;font-size:15px;line-height:1.7;background:var(--mus-l);border-left:4px solid var(--mus);padding:10px 14px;border-radius:10px;color:#5a4a2a}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.actions .btn{grid-column:1/-1;width:100%;margin:0}
.actions .btn[aria-busy=true]{opacity:.75;cursor:progress}
.btn-ghost{display:flex;align-items:center;justify-content:center;font-size:16px}
.act-note{margin:0;font-size:14px;color:var(--mute);line-height:1.7}
/* 比較（プレースホルダー） */
.ph-flag{max-width:760px;margin:-12px auto 24px;text-align:center;background:var(--mus-l);border:2px dashed var(--mus);border-radius:14px;padding:8px 14px;font-weight:700;color:#7a5a00;font-size:15px}
.cmp.is-ph .cc{opacity:.92}
.cc-p{color:#b9b2a5}
.btn-sm.is-off{cursor:default;opacity:.55}
/* 書き方ポイント・例文 */
.points{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:28px 0 0;padding:0}
.points li{background:#fff;border-radius:18px;padding:14px 18px;color:var(--mute)}
.points b{display:block;color:var(--g);font-size:17px}
.samples-sec{background:#fff}
.ex{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ex-c{background:var(--cream);border-radius:20px;padding:20px}
.ex-k{margin:0 0 6px;font-weight:800;color:var(--coral)}
.ex-t{margin:0;font-family:"Noto Serif JP",serif;line-height:2}
/* 広告枠：審査・掲載までは非表示（高さだけ確保してレイアウトシフトを防ぐ） */
.ad[data-flag="ads"]{background:none;border:0}
.ad[data-flag="ads"] span{display:none}
/* 準備中ツール：カードは非表示、1行の告知のみ */
.cards.cards-2{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
.soon-line{margin:18px 0 0;text-align:center;font-size:14px;color:#eef6f0}
@media (max-width:640px){.cards.cards-2{grid-template-columns:1fr}}
/* モバイルメニュー */
@media (max-width:960px){
  body.nav-open .gnav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:8px 16px 16px;box-shadow:0 10px 20px rgba(31,42,36,.12)}
  .hd .wrap{position:relative}
  .live{left:12px;bottom:auto;top:110px}
  .points,.ex{grid-template-columns:1fr}
}
@media (max-width:640px){
  .live{width:120px;top:auto;bottom:12px;left:12px;transform:rotate(-2deg)}
  .live canvas{width:104px}
  .paper-c{width:300px;transform:none}
  .ex{gap:12px}
}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--g);color:#fff;font-size:15px;font-weight:700;padding:12px 20px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:30}
.toast.on{opacity:1;transform:translate(-50%,0)}
#print-area{display:none}
@media print{
  @page{size:A4 portrait;margin:0}
  html,body{background:#fff!important;margin:0}
  body>*:not(#print-area){display:none!important}
  #print-area{display:block!important}
  #print-img{display:block;width:210mm;height:297mm}
}
/* モバイル：フォーム入力中はライブプレビューを右下に固定表示 */
@media (max-width:640px){
  body.form-vis .live{position:fixed;left:auto;right:8px;bottom:8px;top:auto;width:76px;padding:5px;z-index:25;transform:none;box-shadow:0 8px 24px rgba(31,42,36,.35)}
  body.form-vis .live canvas{width:66px}
  body.form-vis .live-k{font-size:9px;margin:0 0 3px;white-space:nowrap;gap:4px;letter-spacing:-.02em}
  body.form-vis .live-k i{width:6px;height:6px;box-shadow:none}
}
.card.is-soon{cursor:default}
.card.is-soon .cd{display:inline-block;justify-self:start;background:var(--mus-l);color:#7a5a00;font-weight:700;font-size:13px;border-radius:999px;padding:0 10px}
/* a11y：文字を載せるコーラルはコントラスト比を確保（装飾のコーラルはそのまま） */
:root{--coral-ink:#b8452f;--coral-btn:#dd6448}
.btn{background:var(--coral-btn);font-size:19px;box-shadow:0 4px 0 #b14a33}
.arw{color:var(--coral-btn)}
.kicker,.ex-k,.badge b{color:var(--coral-ink)}
.after .ba-k,.tools-sec .kicker{color:#f5c565}
