/* Student math and finance calculator suite. */
.calc-shell{display:grid;gap:18px}.calc-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calc-input-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.calc-panel{min-width:0;border:2px solid var(--ink);background:var(--paper);padding:18px}.calc-panel.white{background:var(--white)}.calc-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:9px;border-bottom:2px solid var(--ink)}.calc-panel-heading>span{color:var(--orange);font:900 .64rem "Courier New",monospace;letter-spacing:.08em}.calc-panel-heading>strong{text-align:right;font:900 .78rem "Arial Black",Arial,sans-serif;text-transform:uppercase}.calc-field{display:grid;gap:6px;min-width:0}.calc-field>span{color:var(--muted);font:800 .61rem/1.35 "Courier New",monospace;letter-spacing:.04em;text-transform:uppercase}.calc-field input,.calc-field select{width:100%;min-width:0;min-height:48px;border:2px solid var(--ink);background:var(--white);color:var(--ink);padding:9px 11px;outline:0;font:800 .92rem "Courier New",monospace}.calc-field input:focus,.calc-field select:focus{background:var(--yellow);box-shadow:3px 3px 0 var(--orange)}.calc-field input:disabled{background:var(--paper-deep);color:var(--muted)}.calc-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.calc-action-row .common-helper-text{margin-right:auto}.calc-answer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 18px;border:3px solid var(--ink);background:var(--yellow);padding:16px 18px;box-shadow:5px 5px 0 var(--ink)}.calc-answer>span{grid-row:1/span 2;writing-mode:vertical-rl;transform:rotate(180deg);font:900 .64rem "Courier New",monospace;letter-spacing:.08em}.calc-answer strong{min-width:0;overflow-wrap:anywhere;font:900 clamp(1.75rem,4vw,3.5rem)/1.05 "Arial Black",Arial,sans-serif}.calc-answer small{color:#4d4941;font:700 .66rem/1.4 "Courier New",monospace}.calc-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:2px solid var(--ink);background:var(--white)}.calc-summary-grid>div{min-width:0;padding:13px 12px;border-right:1px solid var(--ink)}.calc-summary-grid>div:last-child{border-right:0}.calc-summary-grid span{display:block;color:var(--muted);font:800 .56rem "Courier New",monospace}.calc-summary-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere;font:900 1.15rem "Arial Black",Arial,sans-serif}.calc-step-list{display:grid;gap:10px}.calc-step{display:grid;grid-template-columns:46px minmax(0,1fr);border:2px solid var(--ink);background:var(--white)}.calc-step>span{display:grid;place-items:center;border-right:2px solid var(--ink);background:var(--orange);font:900 .72rem "Courier New",monospace}.calc-step>div{min-width:0;padding:12px 14px}.calc-step b{display:block;margin-bottom:4px;font:900 .74rem "Arial Black",Arial,sans-serif;text-transform:uppercase}.calc-step p{margin:0;overflow-wrap:anywhere;font:700 .72rem/1.5 "Courier New",monospace}.calc-equation-strip{border:2px solid var(--ink);background:var(--white);padding:14px 16px;overflow-wrap:anywhere;text-align:center;font:900 clamp(1.15rem,2.7vw,2rem) "Courier New",monospace}.fraction-workbench{display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center;gap:14px}.fraction-box{display:grid;grid-template-rows:1fr 3px 1fr;gap:8px;border:2px solid var(--ink);background:var(--paper);padding:16px}.fraction-box input{width:100%;min-height:58px;border:0;background:var(--white);text-align:center;outline:0;font:900 1.55rem "Courier New",monospace}.fraction-rule{width:100%;background:var(--ink)}.fraction-operator-select{min-height:58px;border:2px solid var(--ink);background:var(--orange);text-align:center;font:900 1.3rem Arial,sans-serif}.proportion-board{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:12px}.proportion-fraction{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;gap:8px}.proportion-fraction input{min-height:60px;text-align:center;font-size:1.25rem}.proportion-colon,.proportion-equals{text-align:center;font:900 1.4rem "Arial Black",Arial,sans-serif}.linear-equation-grid{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) 52px minmax(0,1fr) 32px minmax(0,1fr);align-items:end;gap:8px}.linear-symbol{min-height:48px;display:grid;place-items:center;font:900 1rem "Courier New",monospace}.slope-layout,.triangle-layout,.finance-hero-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:18px}.slope-graph-wrap{min-height:320px;border:2px solid var(--ink);background:var(--white);padding:10px}.slope-graph-wrap svg{width:100%;height:320px;display:block}.slope-axis{stroke:var(--ink);stroke-width:1.5}.slope-gridline{stroke:#cfcac0;stroke-width:1}.slope-line{stroke:var(--orange);stroke-width:4}.slope-point{fill:var(--ink)}.slope-label{font:700 12px "Courier New",monospace;fill:var(--ink)}.triangle-diagram{position:relative;min-height:300px;border:2px solid var(--ink);background:var(--white);overflow:hidden}.triangle-shape{position:absolute;left:18%;bottom:16%;width:62%;height:62%;border-left:5px solid var(--ink);border-bottom:5px solid var(--ink);transform:skewX(-38deg);transform-origin:left bottom}.triangle-label{position:absolute;font:900 .78rem "Courier New",monospace}.triangle-label.a{left:9%;bottom:44%}.triangle-label.b{left:47%;bottom:9%}.triangle-label.c{right:14%;top:28%}.quadratic-formula{border:3px solid var(--ink);background:var(--paper);padding:22px;text-align:center;font:900 clamp(1.25rem,3vw,2.4rem) "Times New Roman",serif}.gpa-course-list{display:grid;gap:9px}.gpa-course-row{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(100px,.7fr) minmax(80px,.5fr) minmax(120px,.8fr) 44px;gap:8px;align-items:end}.gpa-remove{min-height:48px;border:2px solid var(--ink);background:var(--white);cursor:pointer;font:900 .85rem "Arial Black",Arial,sans-serif}.gpa-remove:hover{background:var(--orange)}.finance-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:start}.finance-result-card{border:3px solid var(--ink);background:var(--yellow);box-shadow:6px 6px 0 var(--ink);padding:18px}.finance-result-card>span{font:900 .64rem "Courier New",monospace;letter-spacing:.08em}.finance-result-card>strong{display:block;margin:8px 0 5px;overflow-wrap:anywhere;font:900 clamp(2rem,5vw,4rem)/1 "Arial Black",Arial,sans-serif}.finance-result-card>small{color:#4d4941;font:700 .66rem/1.45 "Courier New",monospace}.finance-breakdown{display:grid;gap:8px;margin-top:16px}.finance-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:7px;border-bottom:1px solid var(--ink);font:800 .67rem "Courier New",monospace}.calc-table-wrap{width:100%;overflow-x:auto;border:2px solid var(--ink);background:var(--white)}.calc-table{width:100%;min-width:620px;border-collapse:collapse;font:700 .68rem/1.35 "Courier New",monospace}.calc-table th,.calc-table td{padding:9px 10px;border-bottom:1px solid var(--ink);text-align:right}.calc-table th:first-child,.calc-table td:first-child{text-align:left}.calc-table th{background:var(--paper-deep);font-weight:900}.finance-note{border:2px solid var(--ink);background:var(--paper);padding:12px 14px;font:700 .66rem/1.5 "Courier New",monospace}.statistics-value-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.statistics-value-chip{display:inline-grid;place-items:center;min-width:48px;min-height:44px;border:2px solid var(--ink);background:var(--paper);padding:8px 10px;font:900 .86rem "Courier New",monospace}.statistics-value-chip.is-median{background:var(--yellow);box-shadow:3px 3px 0 var(--orange)}.geometry-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px}.geometry-field-grid{margin-top:14px}.geometry-diagram-wrap{display:grid;place-items:center;min-height:290px;border:2px solid var(--ink);background:var(--paper)}.geometry-diagram-wrap svg{display:block;width:100%;max-width:520px;height:auto;min-height:270px}.geometry-shape{fill:var(--yellow);stroke:var(--ink);stroke-width:5;stroke-linejoin:round}.geometry-guide{fill:none;stroke:var(--orange);stroke-width:3;stroke-dasharray:7 5}.geometry-label{fill:var(--ink);font:900 14px "Courier New",monospace;text-anchor:middle}.pay-type-section[hidden],.gpa-mode-panel[hidden]{display:none!important}@media(max-width:980px){.calc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slope-layout,.triangle-layout,.finance-hero-grid,.geometry-workbench{grid-template-columns:1fr}.gpa-course-row{grid-template-columns:1fr 1fr}}@media(max-width:760px){.calc-input-grid,.calc-input-grid.three,.fraction-workbench,.proportion-board{grid-template-columns:1fr}.proportion-equals{transform:rotate(90deg)}.linear-equation-grid{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.linear-equation-grid .linear-equals{grid-column:1/-1;min-height:24px}.calc-answer{grid-template-columns:1fr}.calc-answer>span{grid-row:auto;writing-mode:horizontal-tb;transform:none}.calc-summary-grid,.gpa-course-row{grid-template-columns:1fr}.calc-summary-grid>div{border-right:0;border-bottom:1px solid var(--ink)}}
