/* pages.css —— 页面级补充样式 */

/* 图标内联容器 */
.kc-ico{display:inline-flex;align-items:center;justify-content:center;}
.kc-ico svg{width:1em;height:1em;}

/* 弹窗内部 */
.modal .modal-ico{line-height:1;}
.modal .modal-body{font-size:var(--fs-md);line-height:1.8;}
.modal .modal-body b{color:var(--kc-orange);}

/* 汉字学习页 */
.hanzi-card .hanzi{
  font-family:"KaiTi","STKaiti","Kaiti SC","楷体",serif;
  text-shadow:0 6px 0 rgba(0,0,0,.04);
}

/* 拼音注音文本 */
.py-text{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;vertical-align:middle;}
.py-text .py{font-size:.4em;color:var(--kc-blue);font-weight:800;letter-spacing:0;}
.py-text .hz{font-size:1em;font-weight:800;}

/* 岛屿：保证文字不被省略号截断 */
.island .desc,.island .name{word-break:break-word;}

/* 卡片内文字过长处理 */
.card .truncate{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* 学习地图：小屏变两列 */
@media (max-width:820px){
  .grid.g4{grid-template-columns:repeat(2,1fr);}
  .grid.g3{grid-template-columns:repeat(2,1fr);}
}

/* 大屏（平板横屏）优化 */
@media (min-width:1200px){
  .grid.g6{grid-template-columns:repeat(8,1fr);}
  .island{min-height:180px;}
}

/* 描红容器触摸优化 */
.tianzi canvas,.tianzi svg,#hz-target svg{touch-action:none;}
#hz-target{display:flex;align-items:center;justify-content:center;}

/* 弹窗中的田字格居中 */
.modal .tianzi{margin-left:auto;margin-right:auto;}

/* 输入类控件 */
input[type=text],input:not([type]){
  -webkit-user-select:text;user-select:text;
}

/* 题卡按钮文字过长 */
.opt{overflow-wrap:anywhere;}

/* 报告柱状图 */
.report-bar{transition:height .4s var(--ease);}

/* 徽章网格滚动区 */
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;}
