/* ===== 図表（本番の紙面ふう） ===== */
.paper .fbody p{margin:0 0 5px;font-family:var(--fe);font-size:16px;line-height:1.65}
.paper .fbody p.fh{font-family:var(--ff);font-weight:900;font-size:17px;margin:4px 0 6px}
.paper .fbody p.fnote,.fnote{font-family:var(--ff);font-size:12.5px;color:var(--sub);margin:4px 0}
.fblank{display:inline-block;min-width:48px;border:1.5px solid var(--ink);border-radius:4px;text-align:center;font-family:var(--fn);font-weight:800;padding:0 6px}
.paper .box.fk-web,.paper .box.fk-flyer,.paper .box.fk-form,.paper .box.fk-worksheet,.paper .box.fk-outline{margin:8px;border-bottom:none}
.fk-web{border:1.5px solid var(--line2)!important;border-radius:10px;background:var(--card)}
.fbar{display:flex;align-items:center;gap:5px;padding:6px 10px;background:var(--bg2);border-radius:8px 8px 0 0;margin:-10px -14px 8px}
.fbar i{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.fbar span{flex:1;margin-left:6px;background:var(--card);border-radius:6px;padding:1px 8px;font-size:11.5px;color:var(--sub);font-family:var(--ff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fmail{font-size:13px;font-family:var(--ff);border-bottom:1px solid var(--line2);padding-bottom:6px;margin-bottom:8px;line-height:1.6}
.fk-flyer{border:2px solid var(--ink)!important;border-radius:6px;background:var(--card)}
.fk-flyer .fbody p.fh:first-child{text-align:center;font-size:19px;border-bottom:2px solid var(--ink);padding-bottom:6px}
.fk-form{border:1.5px dashed var(--sub)!important;border-radius:8px;background:var(--card)}
.fk-chat .fbody{display:flex;flex-direction:column;gap:7px}
.fmsg{display:flex;flex-direction:column;align-items:flex-start;max-width:88%}
.fmsg.me{align-self:flex-end;align-items:flex-end}
.fwho{font-size:11.5px;font-weight:900;color:var(--sub);font-family:var(--ff);margin:0 6px 1px}
.fbub{display:block;background:var(--card);border:1.5px solid var(--line2);border-radius:14px 14px 14px 4px;padding:7px 11px;font-family:var(--fe);font-size:15.5px;line-height:1.55}
.fmsg.me .fbub{background:#e7f6ea;border-color:#bfe3c7;border-radius:14px 14px 4px 14px}
:root[data-theme="dark"] .fmsg.me .fbub{background:#16342a;border-color:#1f5c42}
.ftbl{margin:8px 0;overflow-x:auto}
.ftbl table{border-collapse:collapse;width:100%;font-family:var(--fe);font-size:14.5px;background:var(--card)}
.ftbl th,.ftbl td{border:1.2px solid #555;padding:5px 8px;text-align:left;vertical-align:top}
.ftbl th{background:var(--bg2);font-family:var(--ff);font-weight:900;font-size:13px}
.fcap{font-family:var(--ff);font-weight:900;font-size:13.5px;margin-bottom:4px}
.ffig{margin:8px 0;padding:6px;background:#fff;border:1px solid var(--line2);border-radius:8px}
.ffig figcaption{font-size:11.5px;color:#555;margin-top:2px;font-family:var(--ff)}
.fchart,.fsvg{display:block;width:100%;height:auto;max-height:340px}
.fslide{border:2px solid #333;border-radius:6px;background:#fff;color:#111;margin:10px 0;padding:10px 14px 12px;box-shadow:3px 3px 0 #ccc}
.fsn{font-family:var(--fn);font-size:11px;color:#666;font-weight:700}
.fst{font-family:var(--ff);font-weight:900;font-size:16px;border-bottom:2px solid #333;padding-bottom:4px;margin-bottom:6px;color:#111}
.fslide ul{margin:0;padding-left:1.2em;font-family:var(--fe);font-size:15px;line-height:1.6;color:#111}
.fslide li p{margin:0}
.fk-worksheet,.fk-outline{border:1.5px solid var(--ink)!important;border-radius:6px;background:var(--card)}
.fk-article .fbody p{text-indent:1em}
.fk-article .fbody p.fh{text-indent:0}
/* 絵の選択肢：2×2 */
.opts.pics,.dch.pics{grid-template-columns:1fr 1fr}
.opts.pics button,.dch.pics button{flex-direction:column;align-items:stretch;padding:8px;gap:4px}
.opts.pics button .k,.dch.pics button .k{align-self:flex-start}
.fchoice{display:block;background:#fff;border-radius:8px;padding:4px}
.fchoice .fsvg,.fchoice .fchart{max-height:150px}
.dch button.hlc-g{box-shadow:inset 0 0 0 3px var(--ok)} .dch button.hlc-y{box-shadow:inset 0 0 0 3px #e6b800} .dch button.hlc-r{box-shadow:inset 0 0 0 3px var(--ng)} .dch button.hlc-b{box-shadow:inset 0 0 0 3px var(--l)}
.bk-pics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0}
.bk-pics div{border:1px solid #bbb;border-radius:4px;padding:3px}
.bk-pics b{font-size:10pt}
@media (max-width:520px){.bk-pics{grid-template-columns:1fr 1fr}}
@media print{
  .ftbl th,.ftbl td{border:.7pt solid #333!important;padding:2pt 4pt!important;font-size:9pt!important}
  .ffig{border:.5pt solid #aaa!important;padding:2pt!important;margin:3pt 0!important;break-inside:avoid}
  .fchart,.fsvg{max-height:180pt}
  .fslide{border:1pt solid #333!important;padding:4pt 7pt!important;margin:4pt 0!important;break-inside:avoid;box-shadow:none!important}
  .fslide ul{font-size:9.5pt!important} .fst{font-size:10.5pt!important}
  .fbub{font-size:9.5pt!important;padding:2pt 6pt!important;border:.5pt solid #999!important}
  .fbar{display:none!important}
  .paper .fbody p{font-size:10pt!important;line-height:1.45!important}
  .bk-pics{grid-template-columns:repeat(4,1fr)!important}
  .fchoice .fsvg,.fchoice .fchart{max-height:90pt}
}

.fslimg{float:right;width:38%;max-width:160px;margin:0 0 6px 8px}
.fslide::after{content:"";display:block;clear:both}
.fk-chat .ffig{max-width:70%;align-self:flex-start}

.ul{text-decoration:underline;text-decoration-thickness:1.6px;text-underline-offset:3px}
.ulno{font-family:var(--fn);font-weight:700;font-size:.85em;margin-right:2px}
@media print{.ul{text-decoration-thickness:.8pt}}

/* Exam artwork v2: preserve the original sheet proportions and white paper. */
.fart{display:block;position:relative;overflow:hidden;width:100%;background:#fff;isolation:isolate}
.fart img{display:block;position:absolute;height:auto;border:0;border-radius:0;margin:0;pointer-events:none}
.fart-figure>.fart{max-width:440px;margin:auto}
.fart-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.fart-gallery figure{margin:0;padding:7px;border:1px solid #333;background:#fff;color:#111;min-width:0;break-inside:avoid}
.fart-gallery figure>b{display:block;font:700 16px Arial,sans-serif;margin-bottom:4px}
.opts.pics,.dch.pics{gap:12px}
.opts.pics button,.dch.pics button{min-width:0}
.opts.pics button>span:last-child,.dch.pics button>span:last-child{width:100%;min-width:0}
.fchoice{border-radius:2px;padding:3px}
.fchoice .fsvg{max-height:200px}
.harada-profile{display:inline-flex;flex:none;flex-direction:column;align-items:center;gap:5px;vertical-align:middle}
.harada-name{color:var(--ink,#24364c);font-family:var(--fh,sans-serif);font-size:11px;font-weight:800;line-height:1.4;white-space:nowrap}
.harada-avatar{display:inline-block;position:relative;flex:none;width:56px;height:56px;vertical-align:middle}
.harada-avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px #24364c22}
.harada-ai{position:absolute;right:-3px;bottom:-1px;background:#ff634f;color:#fff;border:2px solid #fff;border-radius:20px;padding:1px 4px;font:800 10px/1.2 Arial,sans-serif}
.say2 .harada-avatar{width:56px;height:56px}
@media(max-width:520px){.fart-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.opts.pics,.dch.pics{gap:8px}.opts.pics button,.dch.pics button{padding:6px}.say2 .harada-avatar{width:48px;height:48px}}
@media print{.fart,.fart img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.fart-figure>.fart{max-width:200pt}.fart-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:5pt}.fart-gallery figure{padding:3pt}.bk-pics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fchoice .fart{max-width:180pt;margin:auto}}

.hello-harada{display:flex;align-items:center;gap:12px}.hello-harada .harada-avatar{width:68px;height:68px}
