/* ============================================================================
   type.css — 文字サイズの正典（全ページ・全モーダル共通・2026-08-16 精査により制定）
   正典: IA_SSOT §9.5 タイポグラフィ v2（本ファイルが実装の唯一の場所。ページ個別CSSより後に読み込む＝G-05 sp-chrome が
   ホストページと モーダルiframe の両方に注入する。PCページ単体表示でも各ページ末尾で読み込む）

   スケール（役割 → px）
     display  24  ページ題（serif 600）      …… .ttl / header.top h1 / .page-title / .axis-title / .setup-step-title
     h2       17  ブロック・カード題（600）  …… .feature-card-title / .section-divider h3 / .sd h3 / .bh / .secl b / .sttl / .sp-modal-t / .fc-h / .bar h3
     h3       15  行・小カード題（600）      …… .card .h / .setting-row-title / .row .n / .th-name / .tile .n / .job .jt / .prow .pn
     body     15  本文・入力・吹き出し       …… body / .p / .bub / .bubble / textarea / .draft / .line(app3=19.5 例外: エルの台詞)
     sub      13  説明・補足                 …… .sub / .d / .setting-row-desc / .feature-card-desc / .fc-sub / .rs / .hint / .note
     caption  12.5 メタ・ラベル・キッカー   …… .small / .k / .meta / .text-xs / .rt / .bub-name / .kpi-label / .grp span
     floor    12  最小（バッジ・単位・数字添え）…… 12px 未満は全面禁止（§9.5）
     button   14 / small 13 / tab 14 / chip 13
   ============================================================================ */
:root{--fs-display:24px;--fs-h2:17px;--fs-h3:15px;--fs-body:15px;--fs-sub:13px;--fs-cap:12.5px;--fs-floor:12px;--fs-btn:14px;--fs-btn-sm:13px;--fs-tab:14px;--fs-chip:13px}

/* ---- 0. 本文の基準（未指定ページ=16→15に揃える。app3・family が該当） ---- */
body{font-size:var(--fs-body)}

/* ---- 1. display（ページ題） ---- */
.ttl,header.top h1,.page-title,h1.page-title,.axis-title,.diary-month-title,.hero-name{font-size:var(--fs-display)!important;line-height:1.3}
.setup-step-title{font-size:26px!important}
.sttl,.sp-modal-t,.action-modal-title,.modal-title,.modal-head h3{font-size:19px!important}

/* ---- 2. h2（ブロック・カード題） ---- */
.feature-card-title,.section-divider h3,.sd h3,.bh,.secl b,.verb-l b,.fc-h,.bar h3,.s3 h4,.job .jt,.diary-ov-title,.ego-card-title,.spotlight-title,.step-card-title,.mode-card-title,.inbox-detail-empty-title,.autorecharge-title h3,.plan-card-name,.note h3,.phero .hn,.diary-detail-body .dt{font-size:var(--fs-h2)!important;font-weight:600}
.phero .hn,.plan-card-name{font-size:20px!important}

/* ---- 3. h3（行・小カード題） ---- */
.card .h,.setting-row-title,.row .n,.th-name,.tile .n,.prow .pn,.axis .nm,.radio-card-title,.connection-name,.rule-title,.addon-name,.dprev-name,.sec-t,.opt .n,.nm2,.anm,.rt-main,.cc-name,.lr-title,.mode-t,.more-label,.sp-rp .t b,.sp-menu-item,.answer-group-title,.axis-heading-label,.axis-form-sectionhead-title,.ego-band>summary,.di-lead,.sect h2,.card .ct{font-size:var(--fs-h3)!important}
.card .ct,.sect h2,.axis-heading-label,.axis-form-sectionhead-title{font-size:13px!important}

/* ---- 4. body（本文・吹き出し・入力） ---- */
.p,.bub,.bubble,.bub .p,.draft,.dted,.dcell,.s3-row,.sp-row,.sp-ask-me,.sp-ask-bub,.sp-inp input,.message-text,.clone-reply-text,.inbox-message,.answer-item-a,.diary-detail-body p,.diary-post-text,.sns-card-text,.iv-bubble,.iv-vc-transcript,.axis-desc,.spotlight-body,.action-modal-body,.epi,.rowkv,.note .body,.va,.field .inp,.tbl,.money,.money1,.in,.rate-name,.rate-in,.tog-label,.intro,.lead,.share-url,.set-label,.rate-tbl td,.take-row,.invoice-table td,.rate-table td,.plan-feature-list li,.plan-card-features li,.data-table td,.compare-table td,.post-content-cell,.check-row,.preview-text,.libp-meta,.lib-search input,.cv-search input,.conv-reply-row input,.conv-reply-row button,.conv-empty,.original-context-text,.hist-main,.s3-input,.hist-search,.setup-basic-label,.axis-form-label,.answer-item-q{font-size:var(--fs-body)!important}
/* 入力欄＝16px固定（iOS Safari はフォーカス時に16px未満だとズームする） */
textarea,input[type=text],input[type=search],input[type=email],input[type=number],select,.eib textarea,.eib2 textarea,#ibar .eib textarea,#ibar .eib2 textarea,.input-textarea,.dted,.sp-inp input,.inp input{font-size:16px!important}
.line{font-size:19.5px!important} /* app3 エルの台詞＝例外（存在UIのヒーロー） */

/* ---- 5. sub（説明・補足） ---- */
.sub,.sub2,.card .d,.d,.setting-row-desc,.feature-card-desc,.radio-card-desc,.fc-sub,.rs,.conv-top,.hint,.note,.dnote,.hero-sub,.cc-desc,.note-box,.step-card-desc,.mode-card-desc,.fw-desc,.vpack-feature,.addon-desc,.timing-option-desc,.cr-definition,.rule-desc,.free-warn,.warn-box,.digest-lbl,.set-desc,.sec-d,.p-desc,.err,.dprev-meta,.dprev-label,.p-rates,.rate-unit,.mb-note,.mb-warn,.inline-link,.dprev-desc,.why,.opt .w,.money1 .s,.answer-group-sub,.axis-form-sectionhead-desc,.sns-card-meta,.ego-band-note,.ego-legend-item,.diary-post-time,.di-note,.di-done-note,.di-scope-hint,.memedit-axes-hint,.legend .li,.note .lead,.disabled-note,.lib-tile-cap,.lib-empty,.share-note,.libp-open-mem,.lib-storage-meta,.field-help,.field-label,.connection-status,.section-divider .meta,.section-divider .sub,.mapcap,.slider .lab,.ms-title,.elf-state,.hfstate,.elfstate,.grp,.bh span,.sp-sbar-t,.sp-ul-row .up,.sp-cell,.sp-btn,.sp-menu-item .chk,.job,.job .jm,.job .js,.dth,.tile .l,.kv,.krow .v small,.money .go,.link,.back,.q span,.chips span,.sp-chips span,.thread-item-title,.thread-pane-title,.view-head-title,.bubble-row.from-system .bubble,.credit-display,.credit-foot,.modal-note,.stage-cap,.claude-tr-note,.ifb-privacy,.input-mode-hint,.thread-empty-search-hint,.mod-btn,.ifb-chip,.rt-edit,.cl-manage,.adv a,.take-row small,.price-lbl small,.rt-take,.rt-u,.rate-tbl th,.setting-row-desc.text-warn,.mode-badge{font-size:var(--fs-sub)!important}

/* ---- 6. caption（メタ・ラベル・キッカー・バッジ）＝12.5、最小床＝12 ---- */
.small,.k,.krow .k,.meta,.text-xs,.rt,.bub-name,.bub-who,.bub-sender,.bub-av-mini,.bub-meta,.bub-edit-row,.conv-reply-hint,.cb-ai-tag,.cv-note,.cv-badge,.th-rel,.kpi-label,.compact-kpi-label,.perf-label,.perf-trend,.kpi-trend,.kpi-delta,.feature-card-meta,.sub-section-title,.sub-section-meta,.balance-stats-meta,.balance-side-stats .lbl,.balance-side-stats .num,.usage-bar-label,.usage-bar-value,.usage-bar-value .pct,.ar-setting-help,.credit-pack-savings,.payment-card-brand,.invoice-table th,.rate-table th,.tbl th,.compare-table th,.data-table th,.th,th,.timing-option-warn,.pill,.badge,.cat-chip,.chip .cv,.row-label,.card-head .hint,.ref,.face-tab .ft-d,.pv-title,.foot,.cc-meta,.lr-time,.lr-sub,.set-desc,.hero-pill,.dprev-tag,.rate-status,.cap-usage-txt,.inbox-time,.inbox-type-badge,.inbox-context,.inbox-context-icon,.inbox-detail-meta,.original-context-label,.original-context-link,.message-time,.message-stats,.mode-toggle-btn,.clone-reply-meta,.filter-pill .count,.nav-item-badge,.plan-card-rubric,.plan-card-status,.action-modal-rubric,.preview-hero-rubric,.flywheel-rubric,.fw-label,.fw-sns-stack i,.fw-disc-label,.hero-point-sub,.vpack-card-use,.preview-video-pack-rubric,.step-card-aside,.tab-btn-badge,.attachment-remove,.preview-head-title,.learn-dropzone-hint,.learn-stat-label,.post-status,.engagement-trend,.media-gallery-name,.lightbox-counter,.preset-meta,.podcast-video-meta,.length-custom-help,.vcd-title,.vcd-label,.vcd-img,.vcd-arrow,.vcd-audio-bar,.vcd-audio-caption,.podcast-preview-rubric,.podcast-preview-stats,.podcast-audio-meta,.podcast-history-meta,.slide-dropzone-hint,.slide-tile-remove,.learn-sns-status,.learn-guide-cta-rubric,.learn-step-divider-label,.engagement-label,.post-media-meta,.preset-output-type,.output-option-use,.video-step-label,.mode-card-default,.attachment-tile,.platform-dot,.media-gallery-size,.podcast-video-aspect-badge,.slide-tile-order,.slide-tile-time-input,.preset-aspect,.slide-tile-name,.post-thumb-duration,.post-thumb-count,.media-gallery-type,.slide-tile-reorder-btn,.attachment-tile .att-name,.att-type-badge,.platform-name,.preview-tab,.learn-guide-cta-meta,.learn-progress-meta,.audit-time,.talking-avatar-status,.output-pack-desc,.podcast-attach-chip,.vcd-subtitle,.vcd-note,.podcast-intro-note,.slide-option-label,.media-dropzone-hint,.recorded-item .rec-name,.rec-time,.vt-cr-pill,.vt-check-note,.vt-settings-state,.vt-settings-note,.page-actions .btn,.tb-name small,.lang-mini,.daystamp,.mod-rate,.attach-del,.call-screen-quality,.call-pip-label,.call-pip-mic-off,.call-attach-item-remove,.call-ctrl-label,.scroll-to-bottom-btn .badge,.input-attach-preview-item-remove,.auto-recharge-on,.credit-display a,.thread-mode-btn .cost,.thread-mode-btn,.load-more-btn .count,.bubble-row.from-user.direct-input .bubble::before,.attach-thumb-del,.thread-new-btn,.thread-item-meta,.thread-item-mode,.tab-badge,.tab-nav-item .tab-badge,.tab-btn .tab-num,.clone-action-btn,.sub-toggle-btn,.input-mode-btn,.input-mode-btn .cost,.report-cta-hint,.journal-jump,.balance,.call-screen-balance,.call-screen-back-btn,.call-clone-state-text,.activity-time,.mode-segments-btn,.thread-pane-toggle,.call-mini-status,.plan-summary-rubric,.current-plan-rubric,.kpi-value-sub,.credit-pack.is-best::after,.plan-card-compare.is-recommended::after,.page-rubric,.page-head-compact .page-rubric,.lang-switcher-btn,.lang-switcher-btn .arrow,.lang-switcher-menu .lang-code,.lang-switcher-menu button .lang-code,
.synctop small,.syncpill small,.draft .dl,.job .jthumb b,.libcell.dummy,.cmp figcaption,.pull,.dsec,.fttab,.hist-main small,.s3-row small,#libHint,.dtag,.hist-del,.job .jact button,.hfbtn,
.answer-item-meta,.answer-group-count,.axis-heading-counts,.theme-bar-label,.filter-count,.taglist-hint,.tprefs-multi-hint,.iv-vc-hint,.iv-bubble-label,.diary-cal-help,.media-dz-hint,.mdraft-fname,.axis-nav-legend,.view-seg-hint,.spotlight-step,.answer-cat-pill,.mdraft-chip,.tp-cand,.iv-file-chip,.iv-attach-name,.iv-attach-x,.iv-ctrl-btn,.answer-scope-more,.setup-step-num,.diary-cal-cell .cnt,.diary-cal-cell .dnum,.ego-ring-label,.ego-node-label,.ego-center-label,.ego-band-count,.diary-media-cell .mtime,.lib-cap,.iv-vc .iv-quality,.anr-count-pill,.di-step,.diary-axbadge,.diary-cal-dow span,.mdraft-badge-ai,.mdraft-badge-confirm,.mdraft-field label,.action-modal-rubric,.answer-edit-btn,.answer-del-btn,.answer-item-q::before,.answer-item-a::before,.axis-extra-heading,.disclosure-section-label,.axis-form-label .opt,.tprefs-add-cap,.tprefs-row-rel,.setup-basic-label .opt,.free-retry-note,.diary-themes-lbl,.diary-thchip .tc,.diary-day-label .dcnt,.thumb-count,.mdraft-vt .vt-cr,.manual-attach-x,.elcf-ctx,.elc-ctx,.tprefs-row-del,.diary-all-btn,.mdraft-tag-add input,.mdraft-vt-choices button,.mode-badge-personal,.di-scope-lbl,.di-media-lbl,
.sd .meta,.kpiline,.flag,.rlab,.node .nl,.prow .pr,.stat3 .s .k,.stat3 .s .v small,.epi .q,.aihint,.field label,.prio .pt .ps,.ftab .fl,.ftab .lock,.nav button .nt,.slider .val,.wip,.axis .bd,.approve,.miniact,.elf-ctx,.draftbadge,.prio .updown button,.route,.ntag,.pillbtn,.sync,.banner .go,
.lib-tile-meta,.lib-adv-label,.libp-meta dt,.share-or,.lib-filter .cnt,.lib-dur,.lib-type,.libp-tag,.libp-tag-add input,
.tile .pl,.bh i,.blk.use .bh i,.card .h .eng,.card .h .use,.toast,.sf-badge,
.sp-rp .t span,.sp-rp .go,.sp-badge,.sp-ul-row .uc,.sp-ul-row,.sp-sync,.sp-hbtn,.sp-tab,.sp-tab-lb,.sp-bl,.sp-ul-t{font-size:var(--fs-cap)!important}
/* 単位・バッジ・数字添え・下部タブ = 床12 */
.tile .pl,.sp-badge,.sp-tab,.sp-tab-lb,.sp-hbtn,.sp-sync,.tab-badge,.tab-nav-item .tab-badge,.tab-btn .tab-num,.filter-pill .count,.nav-item-badge,.inbox-type-badge,.chip .cv,.cv .u,.cost .u,.thread-mode-btn .cost,.input-mode-btn .cost,.pill,.badge,.cat-chip,.dtag,.hist-del,.job .jact button,.hfbtn,.ntag,.pillbtn,.route,.sync,.banner .go,.wip,.draftbadge,.approve,.miniact,.lang-switcher-btn,.lang-switcher-btn .arrow,.lang-switcher-menu .lang-code,.lang-switcher-menu button .lang-code,.page-rubric,.page-head-compact .page-rubric,.action-modal-rubric,.plan-summary-rubric,.current-plan-rubric,.preview-hero-rubric,.flywheel-rubric,.plan-card-rubric,.preview-video-pack-rubric,.learn-guide-cta-rubric,.podcast-preview-rubric,.sub-section-title,.setup-step-num,.dsec,.fttab,.pull{font-size:var(--fs-floor)!important}

/* ---- 7. buttons / tabs / chips ---- */
.btn,.b1,.b2,.chip,.abtn,.va,.cbtn,.hubacts .ha,.addbtn,.field .opt,.seg button,.segtabs .st,.view-seg-btn,.tab-nav-item,.tab-btn,.eib-send,.input-send-btn,.callbtn,.dsend,.mkdef,.reco{font-size:var(--fs-btn)!important}
.btn-sm,.icon-btn,.dprev-btn,.page-link,.perk,.btn-x,.edit-btn,.scope-menu button,.share-chip,.btn-quiet-danger,.btn-quiet-close,.taglist-add-btn,.th-back,.copy-btn,.filter-chip,.view-pill,.disclosure-chip,.tag-chip,.scope-chip,.diary-thchip,.diary-seg-btn,.diary-axlink,.lib-chip,.iv-axis-chip,.sub-tab-item,.lib-filter,.pill-radio,.schedule-pill,.length-pill,.slide-pill,.material-tab,.connect-method-tab,.filter-pill{font-size:var(--fs-btn-sm)!important}
.btn-lg,.preview-cta{font-size:15px!important}
.abtn,.mkdef,.reco{font-size:var(--fs-btn-sm)!important}

/* ---- 8. 例外・保護（数字の大見出し等はページの意図を尊重＝上書きしない） ----
   .kpi-value / .current-plan-name / .credit-pack-amount / .balance-remaining-num / .sp-sync-big b / .money .big / .two b / .name(app3) は据え置き */
