/* 项目零件 · 期中成绩分析（H5） */
.page { max-width: 480px; margin: 0 auto; min-height: 100dvh; background: var(--bg); padding-bottom: var(--s-6); }
.appbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); background: var(--bg); }
.appbar .title { flex: 1; min-width: 0; }
.appbar .title .sub { display: block; font-size: var(--fs-xs); color: var(--t3); font-weight: 400; }
.dropzone { background: var(--island); border-radius: var(--r-island); padding: var(--s-7) var(--s-5); text-align: center; cursor: pointer; }
.dropzone .ic { width: 48px; height: 48px; margin: 0 auto var(--s-3); color: var(--t3); }
.dropzone h2 { font-size: var(--fs-read); font-weight: 600; margin-bottom: var(--s-2); }
.dropzone p { color: var(--t2); font-size: var(--fs-s); line-height: var(--lh-s); }
.bigbtn { display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 52px; padding: 0 var(--s-4); border: 0; border-radius: var(--r-panel); background: var(--ink); color: var(--ink-fg); font: 600 var(--fs-read)/1.2 var(--font); cursor: pointer; margin-top: var(--s-4); }
.bigbtn:active { transform: scale(0.98); }
.bigbtn:disabled { opacity: 0.45; cursor: default; transform: none; }
.bigbtn.ghost { background: var(--island-3); color: var(--text); }
/* 统计瓷砖 */
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2); }
.tile { background: var(--island); border-radius: var(--r-panel); padding: 14px 16px; }
.tile .k { font-size: var(--fs-xs); color: var(--t2); }
.tile .v { font-family: var(--mono); font-size: 22px; line-height: 30px; font-weight: 600; margin-top: var(--s-1); }
.tile .m { font-size: var(--fs-xs); color: var(--t3); margin-top: var(--s-1); }
/* 科目行（配置页） */
.subj { display: grid; grid-template-columns: minmax(0,1fr) 88px 44px; gap: var(--s-3); align-items: center; padding: 12px 0; position: relative; }
.subj::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--line); }
.subj:first-of-type::before { display: none; }
.subj .nm { font-weight: 500; }
.subj .nm .d { display: block; font-size: var(--fs-xs); color: var(--t3); font-weight: 400; margin-top: 2px; }
/* 分数段条形 */
.band { display: grid; grid-template-columns: 64px minmax(0,1fr) 40px; gap: var(--s-2); align-items: center; padding: 3px 0; }
.band .bar { height: 18px; border-radius: 4px; background: var(--acc); min-width: 2px; }
.band .n { font-family: var(--mono); font-size: var(--fs-s); color: var(--t2); text-align: right; }
.fakenote { text-align: center; font-size: var(--fs-xs); color: var(--t3); padding: var(--s-5) 0 var(--s-3); }
