:root{
  --bg:#f7f5f1;--surface:#fff;--sub:#faf9f6;--line:#e4e0d8;--line2:#efece6;--line3:#cbc5ba;--chip:#f1eee8;
  --ink:#1d1a16;--ink2:#38332c;--mute:#5f584e;--faint:#706859;
  --acc:#c2410c;--acc-bg:#fdefe7;--acc-t:#a7380a;
  --pos:#15703f;--pos-bg:#e5f4ea;--neg:#b42318;--neg-bg:#fdeceb;--warn:#8f5300;--warn-bg:#fcf0db;
  --mark:#c2410c;--pri:#1d1a16;--r:8px;
  --sh:0 1px 2px rgba(29,26,22,.05);--sh2:0 2px 4px rgba(29,26,22,.06),0 8px 22px -6px rgba(29,26,22,.2);--tip:#1d1a16;
  --en:#2563a8;--ma:#c2410c;--ja:#7a5c12;--sc:#15703f;--so:#6b5e4f;
}
.av{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:700;color:#fff;flex:none}
.g-s{grid-template-columns:280px minmax(0,1fr);align-items:start}
.sl .srch{margin:10px 12px 4px;height:32px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;color:var(--faint);background:var(--sub)}
.sl ul{list-style:none;margin:0;padding:4px 8px 8px}
.sl li button{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:0;background:none;padding:7px 8px;border-radius:7px;text-align:left}
.sl li button:hover{background:var(--sub)}
.sl li button[aria-current="true"]{background:var(--acc-bg)}
.sl b{display:block;font-size:13px}
.sl span.s{font-size:11.5px;color:var(--mute)}
.sl .dl{font:700 12px "Inter",sans-serif;display:inline-flex;align-items:center;gap:2px}
.sl .dl svg{width:12px;height:12px}
.up{color:var(--pos)}.dn{color:var(--neg)}
.colM{display:grid;gap:12px;min-width:0}
.pf{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px}
.pf .av{width:56px;height:56px;font-size:20px}
.pf h1{font-size:19px}
.pf p{font-size:12.5px;color:var(--mute);margin-top:2px}
.pf .tg{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.pf .gl{text-align:right}
.pf .gl span{font-size:11.5px;color:var(--mute);display:block}
.pf .gl b{font-size:15px}
.pfs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2)}
.pfs div{padding:10px 16px;border-left:1px solid var(--line2)}
.pfs div:first-child{border-left:0}
.pfs span{font-size:11.5px;color:var(--mute);display:block}
.pfs b{font:700 19px "Inter",sans-serif}
.pfs b small{font-size:11px;color:var(--ink2);margin-left:2px}
.g-sd{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}
.h220{height:220px}.h200{height:200px}
.lgE{--k:var(--en)}.lgM{--k:var(--ma)}.lgJ{--k:var(--ja)}.lgSc{--k:var(--sc)}.lgSo{--k:var(--so)}
.sbj{list-style:none;margin:0;padding:6px 16px 12px}
.sbj li{display:grid;grid-template-columns:44px 1fr 44px 50px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line2);font-size:12.5px}
.sbj li:last-child{border-bottom:0}
.sbj .mbar{height:7px}
.sbj .sc{font:700 14px "Inter",sans-serif;text-align:right}
.sbj .df{font:600 12px "Inter",sans-serif;text-align:right}
.att{display:grid;grid-template-columns:repeat(13,1fr);gap:4px;padding:2px 0 6px}
.att i{height:22px;border-radius:4px;background:var(--pos-bg);border:1px solid #c6e5d1}
.att i.l{background:var(--warn-bg);border-color:#efd29e}
.att i.a{background:var(--neg-bg);border-color:#f2c3be}
.att i.f{background:var(--sub);border:1px dashed var(--line3)}
.attl{display:flex;justify-content:space-between;font-size:11px;color:var(--mute);font-family:"Inter",sans-serif}
.memo{list-style:none;margin:0;padding:4px 16px 12px}
.memo li{padding:9px 0;border-bottom:1px solid var(--line2);font-size:12.5px;line-height:1.65}
.memo li:last-child{border-bottom:0}
.memo .m{display:flex;gap:8px;font-size:11.5px;color:var(--mute);margin-bottom:2px}
.memo .m b{color:var(--ink2)}
.hw{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:12.5px;align-items:center}
.hw .mbar{grid-column:1/3;height:7px}
.hw .mbar b{background:var(--pos)}
/* grades */
.g-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.un{display:grid;grid-template-columns:150px 1fr 44px;gap:10px;align-items:center;padding:6px 0;font-size:12.5px}
.un .bx{height:18px;background:var(--line2);border-radius:4px;position:relative;overflow:hidden}
.un .bx b{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.un .bx i{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink)}
.un .r{font:700 12.5px "Inter",sans-serif}
.un.lo .r{color:var(--neg)}
.unn{font-size:11.5px;color:var(--mute);margin-top:8px;display:flex;align-items:center;gap:8px}
.unn i{width:2px;height:12px;background:var(--ink)}
.gt th.s{cursor:pointer;user-select:none}
.gt th.s:hover{color:var(--ink)}
.gt th.on{color:var(--acc-t)}
.gt td.sc{font-family:"Inter",sans-serif;text-align:right;font-weight:600}
.gt td.sc.hi{color:var(--pos)}
.gt td.sc.lo{color:var(--neg)}
.gt td.sc.sel{background:#fdf6f1}
.gt .nm{display:flex;align-items:center;gap:8px}
.gt .nm .av{width:24px;height:24px;font-size:10.5px}
.gt .dlt{font:600 12px "Inter",sans-serif;display:inline-flex;align-items:center;gap:2px}
.gt .dlt svg{width:12px;height:12px}
.gt .rk{font:700 12px "Inter",sans-serif;color:var(--mute)}
/* parent */
.g-p{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}
.colR{display:grid;gap:12px;min-width:0}
.lbl{display:block;font-size:12px;font-weight:700;color:var(--mute);margin:12px 0 6px}
.lbl:first-child{margin-top:0}
.to{display:flex;flex-wrap:wrap;gap:6px}
.to button{height:30px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:0 12px 0 4px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.to button .av{width:22px;height:22px;font-size:10px}
.to button[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-bg);color:var(--acc-t)}
.to button.all{padding:0 12px}
.tpl{display:flex;flex-wrap:wrap;gap:6px}
.tpl button{height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.tpl button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.75;resize:vertical;background:#fff}
textarea:focus{outline:2px solid #f6cdb6;border-color:var(--acc)}
.cf{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.hist{list-style:none;margin:0;padding:4px 16px 12px}
.hist li{padding:10px 0;border-bottom:1px solid var(--line2);display:grid;gap:4px}
.hist li:last-child{border-bottom:0}
.hist .t{display:flex;gap:8px;align-items:center;font-size:13px}
.hist .t b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist .t span{font:500 11.5px "Inter",sans-serif;color:var(--faint);white-space:nowrap}
.hist .rd{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--mute)}
.hist .rd .mbar{width:120px;height:5px}
.hist .rd .mbar b{background:var(--pos)}
.hist .rp{font-size:12px;background:var(--sub);border:1px solid var(--line2);border-radius:7px;padding:7px 10px;line-height:1.6}
.hist .rp b{font-size:11.5px;display:block;color:var(--mute)}
.hist li.nw{animation:nw .8s ease-out}
@keyframes nw{from{background:#fdefe7}to{background:transparent}}
.slot{display:grid;grid-template-columns:44px repeat(6,minmax(0,1fr));gap:3px;font-size:11px}
.slot span{display:grid;place-items:center;height:22px;color:var(--mute);font-family:"Inter",sans-serif;font-weight:600}
.slot span.d{font-family:inherit}
.slot i{height:22px;border-radius:4px;background:#fff;border:1px solid var(--line)}
.slot i.b{background:var(--acc);border-color:var(--acc)}
.slot i.x{background:var(--chip);border-color:var(--chip)}
.lgS{margin-top:10px}.lg-b{--k:#c2410c}.lg-f{--k:#e4e0d8}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--ink);color:#fff;border-radius:8px;padding:10px 14px;font-size:13px;display:flex;gap:8px;align-items:center;opacity:0;transition:.2s;pointer-events:none;box-shadow:var(--sh2);z-index:50;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast svg{color:#86efac}
@media (max-width:1100px){.g-sd,.g-g,.g-p{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .g-s{grid-template-columns:minmax(0,1fr)}
  .sl ul{display:flex;overflow-x:auto;gap:6px;padding:4px 10px 10px}
  .sl li button{width:170px;border:1px solid var(--line)}
  .sl .srch{display:none}
  .pf{grid-template-columns:auto 1fr;padding:12px}.pf .gl{grid-column:1/3;text-align:left;display:flex;gap:8px;align-items:baseline}
  .pfs{grid-template-columns:1fr 1fr}.pfs div{padding:8px 12px}.pfs div:nth-child(3){border-left:0}.pfs div:nth-child(n+3){border-top:1px solid var(--line2)}
  .sbj{padding:4px 12px 10px}.memo{padding:4px 12px 10px}
  .un{grid-template-columns:110px 1fr 40px}
  .hist{padding:4px 12px 10px}
  .slot{grid-template-columns:36px repeat(6,minmax(0,1fr))}
}
.lgA{margin:8px 0 14px}.lgA .a1{background:#e5f4ea;border:1px solid #c6e5d1}.lgA .a2{background:#fcf0db;border:1px solid #efd29e}.lgA .a3{background:#fdeceb;border:1px solid #f2c3be}
