:root{color:#1b1f24;background:#f4f5f7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:0 auto;padding:24px 16px 48px}h1{letter-spacing:-.02em;margin:0;font-size:2rem}.tag{color:#4a5260;margin:4px 0 20px}.card{background:#fff;border:1px solid #dfe2e7;border-radius:12px;margin-bottom:14px;padding:16px}label{color:#4a5260;flex-direction:column;gap:4px;font-size:.85rem;display:flex}input{font:inherit;color:#1b1f24;border:1px solid #b9bec7;border-radius:8px;min-width:0;padding:8px 10px}input:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2f6feb}button{font:inherit;cursor:pointer;color:#1b1f24;background:#fff;border:1px solid #b9bec7;border-radius:8px;padding:8px 12px}button:hover:not(:disabled){background:#eef1f5}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#fff;background:#1f5fd6;border-color:#1f5fd6}button.primary:hover{background:#174cb0}button.link{background:0 0;border:0;padding:4px 0;font-size:.85rem;text-decoration:underline}.danger{color:#b42318}.controls{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.controls input{width:110px}.overall{flex-direction:column;align-items:end;display:flex}.overall strong{font-size:1.6rem}.overall span,.overall small{color:#4a5260;font-size:.85rem}.add{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.add .full{grid-column:1/-1}@media (width<=560px){.add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.add .grow{grid-column:1/-1}}.subjects{margin:0;padding:0;list-style:none}.subject{border-left:6px solid #8a93a0}.subject.safe{border-left-color:#1a7f37}.subject.edge{border-left-color:#bf8700}.subject.short{border-left-color:#cf222e}.head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.head h2{margin:0;font-size:1.15rem}.pct{font-size:1.3rem;font-weight:700}.bar{background:#e6e8ec;border-radius:6px;height:10px;margin:10px 0;position:relative;overflow:visible}.fill{background:#57606a;border-radius:6px;height:100%}.safe .fill{background:#1a7f37}.edge .fill{background:#bf8700}.short .fill{background:#cf222e}.mark{background:#1b1f24;width:2px;height:18px;position:absolute;top:-4px}.summary{margin:6px 0;font-weight:600}.stats{color:#4a5260;flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:.9rem;display:flex}.row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}details{margin:12px 0 4px}summary{cursor:pointer;font-weight:600}.whatif{margin-top:8px}.whatif input{width:90px}.whatif p{margin:0 0 8px}.empty{text-align:center}footer{margin-top:24px}.note{color:#4a5260;font-size:.85rem}.error{color:#b42318;margin:6px 0 0}.add input{width:100%}
