.calc-mode-note[data-astro-cid-5ow6hbyb]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.calc-grade-ref-note[data-astro-cid-5ow6hbyb]{margin:.625rem 0 0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.disclaimer[data-astro-cid-5ow6hbyb]{margin:1.25rem 0;padding:.875rem 1rem;border-left:3px solid var(--color-border);background:var(--color-section);font-size:.875rem;color:var(--color-text-muted);border-radius:4px}.result-extra[data-astro-cid-5ow6hbyb]{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem;font-size:.9375rem}.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}.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}.svg-bar{margin-top:var(--space-3)}.svg-bar svg{display:block;width:100%;max-width:320px;height:auto}.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)}}
