.sr-only[data-astro-cid-wazyv5al]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.calc-mode-note[data-astro-cid-wazyv5al]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.svg-bar[data-astro-cid-wazyv5al]{margin:.75rem 0 1rem;min-height:64px}.svg-bar[data-astro-cid-wazyv5al] svg[data-astro-cid-wazyv5al]{width:100%;height:auto;max-width:540px;display:block}.footnote-small[data-astro-cid-wazyv5al]{font-size:.8125rem;color:var(--color-text-muted);margin:.25rem 0 1rem;line-height:1.5}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 var(--space-3)}.grade-table{width:100%;min-width:480px;border-collapse:collapse;font-size:var(--fs-sm)}.grade-table th,.grade-table td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left;vertical-align:middle}.grade-table th{background:var(--color-card);font-weight:600;font-size:var(--fs-xs);white-space:nowrap}.grade-table input[type=text],.grade-table input[type=number]{width:100%;min-width:4.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);background:var(--color-surface);color:var(--color-text);min-height:44px}.grade-table select{width:100%;min-width:5.5rem;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B6B7B' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;appearance:none;color:var(--color-text);min-height:44px}.grade-table input:focus-visible,.grade-table select:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:1px}.grade-table td[data-col=remove] button{appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);width:32px;height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.grade-table td[data-col=remove] button:hover{background:var(--color-card);color:var(--color-error)}.result-block{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-card);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.result-main{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.result-label{font-size:var(--fs-sm);color:var(--color-text-muted);font-weight:600}.result-value{font-size:var(--fs-2xl);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.result-sub{font-size:var(--fs-base);font-weight:600}.result-extra{font-size:var(--fs-sm);color:var(--color-text)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.stat-card{background:var(--color-section);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:.125rem}.stat-label{font-size:var(--fs-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600}.stat-val{font-size:var(--fs-base);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.btn-add{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;cursor:pointer;min-height:44px;margin:var(--space-2) 0 var(--space-3);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn-add:hover{background:var(--color-primary);color:#fff}@media(max-width:480px){.stat-cards{grid-template-columns:repeat(2,1fr)}.grade-table{font-size:var(--fs-xs)}}
