.edcform{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 6px}
.edcform label{width:100%;color:var(--hi);font-weight:600}
.edcform input{flex:1 1 260px;background:var(--bg);color:var(--hi);border:1px solid #3a4a60;padding:12px 14px;font:inherit;border-radius:2px}
.edcform input:focus{outline:2px solid var(--cyan);outline-offset:1px}
.edcform .btn[disabled]{opacity:1;cursor:wait}
.edcstatus{min-height:1.5em;color:var(--txt)}
.edchead{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.edcgrade{font-size:clamp(3rem,9vw,4.5rem);font-weight:800;line-height:1;width:1.6em;text-align:center;padding:10px 0;border:3px solid #3a4a60;color:var(--hi)}
.edcgrade.gA,.edcgrade.gB{border-color:#1d7a4a;color:#5ee0a0}
.edcgrade.gC{border-color:#d9a400;color:#f2c94c}
.edcgrade.gD,.edcgrade.gF{border-color:var(--red);color:#ff9a9a}
.edclist{list-style:none;padding:0;margin:20px 0}
.edclist li{border-top:1px solid var(--line);padding:12px 0}
.edclist li p{margin:6px 0 0}
.edccta{border:1px solid var(--line);background:var(--bg);padding:20px;margin:24px 0}
.edccta h2{margin-top:0}
.edcraw dt{color:var(--hi);font-weight:600;margin-top:10px}
.edcraw dd{margin:4px 0 0;font-family:"JetBrains Mono",monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}
