:root{--ink:#182d29;--muted:#62716a;--green:#176b52;--deep:#164e3e;--lime:#d3e8ad;--paper:#fafbf7;--line:#dfe5dd;--soft:#f0f4eb;--warn:#815513;--danger:#a1352b;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a1bd76;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,4vw,4rem)}h2{font-size:1.8rem}h3{font-size:1.12rem;letter-spacing:-.01em}p{color:var(--muted)}small{font-size:.8rem}.topbar{height:98px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:600;letter-spacing:-.025em}.brand small{display:block;font-size:.53rem;letter-spacing:.15em;font-weight:400;margin-top:3px}.brand-mark{width:42px;height:42px;background:var(--deep);color:white;border-radius:10px;display:grid;place-content:center;position:relative;font-size:1.65rem;font-family:Georgia,serif;font-style:italic;padding-right:8px}.brand-mark span{position:absolute;right:7px;top:8px;color:#d4e7a9}.topbar nav{display:flex;align-items:center;gap:28px;font-size:.88rem}.topbar form{margin:0}.user-label{color:var(--muted);font-size:.8rem}.link-button{border:0;background:none;padding:0;color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid var(--green);background:var(--green);color:#fff;padding:14px 22px;border-radius:6px;font-weight:600;font-size:.9rem;line-height:1.35}.button:hover{background:var(--deep);border-color:var(--deep)}.button.secondary{background:transparent;color:var(--deep);border-color:#c6d3c5}.button.secondary:hover{background:var(--soft)}.button.small{font-size:.8rem;padding:10px 15px;gap:16px}.button.full{width:100%}.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.eyebrow{font-size:.65rem;letter-spacing:.14em;font-weight:600;color:var(--green);display:flex;align-items:center;gap:8px}.dot{height:7px;width:7px;border-radius:50%;background:var(--green)}.hero{padding:90px 7% 85px;display:grid;grid-template-columns:1.15fr 1fr;gap:7%;max-width:1600px;margin:auto;align-items:center}.hero h1{font-weight:400;font-size:clamp(3.5rem,5.1vw,5.1rem);line-height:1.05;margin:28px 0 24px;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.hero-copy>p{max-width:480px;font-size:1.02rem;line-height:1.7;margin-bottom:32px}.text-link{font-size:.86rem;color:var(--deep);border-bottom:1px solid #91a994;padding-bottom:3px}.hero-notes{display:flex;gap:22px;margin-top:28px;font-size:.65rem;color:var(--muted)}.hero-notes span:before{content:'✓';color:var(--green);margin-right:7px}.hero-visual{position:relative;background:#e8efe0;padding:36px 33px 48px;border-radius:12px;transform:rotate(1deg)}.paper{background:#fffdf7;border:1px solid #d6dfcc;border-radius:5px;padding:27px;box-shadow:0 12px 30px #223a2310;transform:rotate(-2deg)}.paper-head{display:flex;justify-content:space-between;gap:20px;font-size:.55rem;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:18px}.journey-item{display:flex;gap:12px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.journey-icon{font-family:Georgia,serif;font-style:italic;color:var(--green);font-size:1.4rem;width:36px}.journey-item div{flex:1}.journey-item strong{display:block;font-size:.84rem;font-weight:500}.journey-item small{display:block;font-size:.65rem;color:var(--muted);margin-top:4px}.journey-item>span:last-child{color:#a0ad91}.mini-graph{height:115px;display:flex;gap:9px;align-items:flex-end;padding:22px 0 0}.mini-graph div{flex:1;background:#b4cfa0;border-radius:3px 3px 0 0}.mini-graph div:nth-child(n+9){background:#39795d}.graph-caption{display:flex;justify-content:space-between;font-size:.5rem;color:var(--muted);padding-top:10px}.graph-caption span{font-size:.43rem}.floating-note{position:absolute;bottom:-20px;right:-20px;transform:rotate(-3deg);padding:15px 24px;background:var(--deep);color:#ecf2de;border-radius:5px;font-size:.75rem;line-height:1.5;box-shadow:0 5px 20px #164e3e15}.floating-note span{float:left;margin-right:12px;font-size:1.7rem}.intro-strip{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:48px 7% 18px;border-top:1px solid var(--line)}.section-number{font-size:.6rem;letter-spacing:.13em;color:var(--muted)}.intro-strip h2{font-size:1.9rem;font-weight:400;line-height:1.25;margin:13px 0}.intro-strip p{font-size:.9rem;line-height:1.8;max-width:450px;padding-top:28px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:38px 7% 65px}.feature-grid article{border-top:1px solid var(--line);padding-top:24px}.feature-icon{display:inline-grid;place-content:center;background:var(--soft);color:var(--green);width:37px;height:37px;border-radius:7px;font-size:1.5rem;margin-bottom:20px}.feature-grid h3{font-weight:500;font-size:1.12rem;margin-bottom:12px}.feature-grid p{font-size:.85rem;max-width:330px;line-height:1.75}.footer{display:flex;justify-content:space-between;gap:20px;padding:22px 5.5%;border-top:1px solid var(--line);font-size:.6rem;color:var(--muted)}.example-panel{margin:20px 7% 65px;background:var(--soft);padding:35px;border:1px solid var(--line);border-radius:8px}.example-panel h2{margin:16px 0}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:13%;align-items:start;max-width:1250px;margin:0 auto;padding:85px 6% 100px}.auth-layout h1{font-size:2.7rem;font-weight:400;line-height:1.15;margin:20px 0}.lead{line-height:1.8}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:27px}.auth-card h2{font-size:1.65rem}.auth-card input{margin-bottom:22px}.auth-card .button{margin:3px 0 20px}.auth-card small{display:block;line-height:1.6}.muted{color:var(--muted)}.callout{background:var(--soft);padding:17px 20px;border:1px solid #dae5d0;border-left:3px solid var(--green);font-size:.86rem;margin:22px 0;line-height:1.6;border-radius:3px}.callout.error,.flash.error{background:#fff5ee;border-color:#efc5b4;color:#753425}.page{padding:48px 6% 75px;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}.page-heading h1{font-size:2.7rem;font-weight:400;margin:16px 0}.page-heading p{margin:0}.pill{display:inline-flex;align-items:center;border:1px solid #d4dfcd;color:var(--deep);background:var(--soft);padding:4px 10px;border-radius:30px;font-size:.65rem;letter-spacing:.02em}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:32px}.project-card:hover{border-color:#8ea98d;box-shadow:0 5px 20px #164e3e09}.project-card h2{margin:25px 0 12px;font-weight:400}.row{display:flex;align-items:center;justify-content:space-between;gap:18px}.project-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:30px;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.project-bottom strong{color:var(--green);font-weight:500}.team-panel{margin-top:24px}.team-panel h2{margin-top:12px;font-size:1.6rem;font-weight:400}.inline-form{display:flex;align-items:end;flex-wrap:wrap;gap:18px;margin:20px 0}.inline-form label{flex:1;min-width:180px}.inline-form button{margin-bottom:1px}.empty-state{padding:34px;text-align:center;width:100%;grid-column:1/-1}.empty-state p{max-width:580px;margin:auto}.empty-state h2,.empty-state h3{font-weight:400}.flash{padding:14px 20px;background:#e9f4e5;border:1px solid #c6daba;border-radius:5px;font-size:.85rem;margin:15px 5.5%;overflow-wrap:anywhere}.flash:empty{display:none}.workspace{display:grid;grid-template-columns:265px 1fr;min-height:calc(100vh - 145px)}.wizard-sidebar{border-right:1px solid var(--line);padding:27px 19px 30px 25px;background:#f2f5ee}.back-link{font-size:.72rem;color:var(--muted)}.sidebar-project{padding:30px 5px 25px;border-bottom:1px solid var(--line)}.sidebar-project h2{font-size:1.25rem;font-weight:500;margin:12px 0}.sidebar-project .eyebrow{font-size:.55rem}.progress-caption{display:flex;justify-content:space-between;font-size:.63rem;color:var(--muted);padding:21px 7px 12px}.step-link{width:100%;border:0;background:none;display:flex;align-items:center;text-align:left;gap:11px;padding:10px 9px;font-size:.74rem;color:var(--muted);border-radius:5px;margin-bottom:3px}.step-link span{display:grid;place-content:center;width:23px;height:23px;font-size:.58rem;border:1px solid #cfd9c9;border-radius:50%;flex-shrink:0}.step-link.active{color:var(--deep);background:#e0eacf;font-weight:600}.step-link.active span{color:#fff;background:var(--green);border-color:var(--green)}.sidebar-foot{border-top:1px solid var(--line);padding:22px 7px 0;margin-top:22px;color:var(--muted);font-size:.65rem;line-height:1.9}.wizard-main{padding:0 4% 45px;min-width:0;background:#fcfcf9}.workspace-toolbar{padding:24px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.workspace-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px}.workspace-toolbar .eyebrow{font-size:.53rem}#save-state{font-size:.65rem;color:var(--muted)}.wizard-main .flash{margin:16px 0}.wizard-heading{padding-top:35px;max-width:720px}.wizard-heading h1{font-size:2.4rem;font-weight:400;margin:15px 0}.wizard-heading p{font-size:.9rem;margin-bottom:22px;line-height:1.7}.learning-note{display:flex;gap:15px;padding:17px 20px;background:#eff3e8;border:1px solid #e0e7d7;border-radius:6px;margin-bottom:27px}.learning-note>span{font-size:1.4rem;color:var(--green)}.learning-note strong{font-size:.74rem;font-weight:600}.learning-note p{font-size:.75rem;line-height:1.7;margin:5px 0 0}.form-panel{margin-bottom:22px;padding:25px}.form-panel>h2{font-size:1.25rem;font-weight:500;margin-bottom:25px}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.field{min-width:0}.field[hidden]{display:none}label{display:block;font-size:.82rem;font-weight:500;color:var(--ink);margin-bottom:8px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #cdd7c9;border-radius:5px;padding:11px 12px;font-size:1rem;background:#fff;color:var(--ink);min-height:46px}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{background:#f6f7f3;color:#55635b}.input-wrap{display:flex;position:relative}.input-unit{position:absolute;right:14px;top:11px;color:var(--muted)}.input-wrap:has(.input-unit) input{padding-right:35px}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:.68rem;line-height:1.6}.normalized{display:block;font-size:.6rem;color:#728167;margin-top:5px}.field-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:9px}.source-button{font-size:.61rem;border:0;background:none;color:#647d56;padding:0;border-bottom:1px dotted #adbba2}.source-button.bound{color:var(--green)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.checkbox-row input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.checkbox-row label{padding-top:2px;margin:0}.check-field{align-self:center}.span-all{grid-column:1/-1}.collection{margin-bottom:24px;min-width:0}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px}.collection-heading h3{font-size:1.1rem;font-weight:500;margin:0}.empty-note{padding:28px;border:1px dashed #c8d4c1;border-radius:5px;color:var(--muted);font-size:.82rem;text-align:center}.record{padding:20px;border:1px solid var(--line);border-radius:7px;background:white;margin-bottom:15px}.record summary{font-size:.94rem;font-weight:500;color:var(--deep);cursor:pointer}.record summary+.fields-grid{margin-top:24px}.record-footer{display:flex;gap:15px;align-items:center;margin-top:22px;border-top:1px solid var(--line);padding-top:12px}.record-footer small{font-size:.55rem;overflow-wrap:anywhere;max-width:50%}.danger-link{margin-left:auto;border:0;background:none;color:var(--danger);font-size:.7rem}.period-toolbar{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:22px;margin:0 0 25px}.period-toolbar[hidden]{display:none}.period-toolbar label{font-size:.7rem;white-space:nowrap;margin:0}.period-toolbar select{width:220px;font-size:.8rem;min-height:40px}.period-toolbar>span{font-size:.63rem;color:var(--muted)}.line-picker{display:flex;justify-content:space-between;align-items:end;gap:22px;padding:18px 22px;background:#f0f4eb;border:1px solid var(--line);border-radius:6px;margin-bottom:25px}.line-picker label{width:65%;font-size:.7rem;margin:0}.line-picker select{margin-top:7px}.wizard-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.wizard-bottom>span{font-size:.6rem;color:var(--muted);max-width:240px;text-align:center}.sources-dialog{width:min(850px,92vw);max-height:90vh;border:1px solid var(--line);border-radius:10px;padding:30px;box-shadow:0 20px 80px #122e2b30;color:var(--ink)}.sources-dialog::backdrop{background:#183d3366}.sources-dialog>p{font-size:.85rem;line-height:1.7}.sources-dialog h2{font-weight:400;margin:8px 0 20px}.sources-dialog code{display:block;padding:10px;background:var(--soft);overflow-wrap:anywhere;font-size:.7rem;margin-bottom:16px}.sources-dialog .callout{margin-top:30px}.sources-dialog .button{margin-top:15px}.icon-button{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;line-height:1;background:white;font-size:1.3rem}.evidence-list{display:flex;flex-direction:column;gap:12px;margin:20px 0;font-size:.8rem;color:var(--green)}.calculate-tools{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.calculate-tools label{flex:1;min-width:180px;font-size:.7rem}.calculate-tools select{margin-top:7px;font-size:.8rem}.calculate-tools button{margin-bottom:8px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:26px 0}.stat-grid>div{padding:18px;background:var(--soft);border-radius:6px;border:1px solid #e0e7d8}.stat-grid small{display:block;color:var(--muted);font-size:.65rem}.stat-grid strong{display:block;font-size:1.6rem;letter-spacing:-.04em;margin-top:10px;font-weight:500}.table-scroll{overflow:auto;margin:24px 0;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;min-width:100%;font-size:.75rem;white-space:nowrap}th,td{padding:12px 15px;border-bottom:1px solid var(--line);text-align:right}th:first-child{position:sticky;left:0;background:white;text-align:left;font-weight:500}thead th{background:var(--soft)}caption{text-align:left;font-size:.8rem;font-weight:600;padding:15px;background:var(--soft)}.alerts{background:#fff8ec;border:1px solid #ead6ac;border-radius:6px;padding:15px;margin:18px 0;color:#674c20;font-size:.8rem}.alerts ul{padding-left:22px}.alerts li{margin:10px 0}.formula{padding:15px 0;border-top:1px solid var(--line);font-size:.8rem}.formula summary{cursor:pointer;color:var(--green)}.formula p{margin:15px 0;line-height:1.8}.formula pre{white-space:pre-wrap;word-break:break-word;font-size:.7rem;color:var(--muted)}.result-chart{background:#f5f7f1;border-radius:7px;padding:20px;margin-top:25px}.result-chart h3{font-size:.82rem;font-weight:500}.result-chart svg{display:block;width:100%;max-height:200px}.result-chart text{fill:var(--muted)}details>summary{cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:99;padding:15px}.teacher-grid{display:grid;grid-template-columns:2fr 1fr;gap:25px}.member-list{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem}.course-link{display:block;border-bottom:1px solid var(--line);padding:20px 0}.course-link h2{font-size:1.3rem;margin:8px 0}.json-editor{font-family:monospace;font-size:.75rem;min-height:300px}.footer .button{font-size:.6rem}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-top:105px;padding-bottom:105px}.hero-visual{max-width:530px}.wizard-main{padding-left:6%;padding-right:6%}}@media(max-width:1100px){.topbar{padding:0 4%;height:84px}.hero{padding:65px 5%;gap:5%}.hero h1{font-size:3.8rem}.hero-visual{padding:25px 20px 35px}.paper{padding:20px}.floating-note{right:-8px}.workspace{grid-template-columns:220px 1fr}.wizard-sidebar{padding-left:12px;padding-right:12px}.step-link{font-size:.66rem}.workspace-toolbar .button{font-size:.65rem;padding:9px 10px}.workspace-toolbar .actions{gap:8px}.fields-grid{gap:20px}.wizard-bottom>span{display:none}.teacher-grid{grid-template-columns:1fr}.user-label{display:none}}
@media(max-width:760px){.topbar{height:74px;padding:0 5%}.brand{font-size:1rem}.brand small{font-size:.45rem}.brand-mark{width:35px;height:35px;font-size:1.45rem}.brand-mark span{right:5px;top:7px}.topbar nav{gap:14px;font-size:.72rem}.topbar .button{font-size:.68rem;padding:9px 12px}.hero{grid-template-columns:1fr;padding:52px 7% 65px;gap:46px}.hero h1{font-size:3.8rem}.hero-copy>p{font-size:.96rem}.hero-notes{gap:15px;font-size:.57rem}.hero-visual{max-width:440px;margin:0 auto;width:95%}.intro-strip{grid-template-columns:1fr;padding:35px 7% 15px;gap:10px}.intro-strip h2{font-size:1.85rem}.intro-strip p{padding:0;margin:0;font-size:.84rem}.feature-grid{grid-template-columns:1fr;gap:10px;padding:20px 7% 35px}.feature-grid article{padding-top:20px;display:grid;grid-template-columns:45px 1fr;gap:10px}.feature-grid h3{margin-top:8px}.feature-grid p{grid-column:2;margin-top:-16px}.footer{flex-direction:column;gap:6px;font-size:.55rem}.auth-layout{grid-template-columns:1fr;gap:30px;padding:45px 7%}.auth-layout h1{font-size:2.3rem}.auth-layout .lead{font-size:.9rem}.auth-card{padding:24px}.page{padding:35px 6%}.page-heading{align-items:start;flex-direction:column;gap:12px}.page-heading h1{font-size:2.2rem}.project-grid{grid-template-columns:1fr}.project-card{padding:24px}.project-card h2{font-size:1.7rem}.inline-form{flex-direction:column;align-items:stretch}.workspace{grid-template-columns:1fr}.wizard-sidebar{padding:12px 5%;border-right:0;border-bottom:1px solid var(--line)}.sidebar-project,.progress-caption,.sidebar-foot{display:none}.back-link{display:block;margin-bottom:10px}#step-navigation{display:flex;overflow:auto;gap:8px}.step-link{width:auto;white-space:nowrap;margin:0;font-size:.7rem;padding:8px}.wizard-main{padding:0 5% 35px}.workspace-toolbar{padding:18px 0;align-items:start}.workspace-toolbar .actions{flex-direction:column;align-items:end}.workspace-toolbar .eyebrow{font-size:.49rem}.wizard-heading h1{font-size:2rem}.learning-note{padding:15px;gap:10px}.learning-note p{font-size:.73rem}.fields-grid{grid-template-columns:1fr;gap:24px}.span-all{grid-column:1}.form-panel{padding:20px}.record{padding:16px}.collection-heading h3{font-size:1rem}.period-toolbar{flex-wrap:wrap;gap:8px}.period-toolbar select{flex:1}.period-toolbar>span{width:100%}.line-picker{padding:15px}.line-picker label{width:70%}.line-picker .pill{font-size:.55rem}.wizard-bottom .button{font-size:.75rem;padding:11px 16px}.sources-dialog{padding:20px}.sources-dialog .row{align-items:start}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-grid>div{padding:13px}.stat-grid strong{font-size:1.25rem}.stat-grid small{font-size:.56rem}.calculate-tools{display:block}.calculate-tools label{margin:18px 0}.table-scroll{max-width:calc(90vw - 42px)}.record-footer{flex-wrap:wrap}.record-footer small{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.stat-button{text-align:left;border:1px solid #dce5d4;border-radius:6px;padding:18px;background:var(--soft);color:var(--ink)}.stat-button:hover{border-color:var(--green)}.stat-grid>.stat-button small{display:block;font-size:.65rem;color:var(--muted)}.stat-grid>.stat-button strong{display:block;font-size:1.6rem;font-weight:500;margin-top:10px;letter-spacing:-.04em}.form-panel>.button{margin:8px 12px 8px 0}.stat-grid>button:focus-visible{outline-offset:3px}
@media(max-width:760px){.stat-button{padding:13px}.stat-grid>.stat-button strong{font-size:1.2rem}}

.fields-grid label,.auth-card label{font-size:1rem}table{font-size:.875rem}

/* Contextual explanations stay usable while project inputs are read-only. */
.field-label{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;min-width:0}.field-label>label{flex:1;margin:0}.heading-help{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}.checkbox-row>label{flex:1}.explain-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;min-width:30px;padding:0;border:1px solid #b8c9b2;border-radius:50%;background:#f5f8f1;color:var(--green);font-size:.82rem;font-weight:600;line-height:1;letter-spacing:0;vertical-align:middle}.explain-button:hover{background:#e6efdd;border-color:var(--green)}.explain-button:focus-visible{outline-offset:3px}.collection-heading{flex-wrap:wrap}.collection-heading h3{flex:1}.context-control{min-width:0}.context-control>.field-label{margin-bottom:7px}.line-picker>.context-control{width:65%}.line-picker .context-control select{margin:0}.calculate-tools>.context-control{flex:1;min-width:180px}.calculate-tools .context-control select{margin:0}.calculate-action{display:flex;align-items:center;gap:8px}.calculate-action>.explain-button{margin-bottom:8px}.period-toolbar .field-label{align-items:center;margin:0}.period-toolbar .explain-button{margin:0}caption>.explain-button,th>.explain-button{margin-left:7px}.result-value{border:0;border-bottom:1px dotted #8ca181;background:transparent;color:inherit;padding:4px 2px;min-height:32px;white-space:nowrap;text-align:inherit}.result-value:hover{background:#eaf1e3;color:var(--green)}.stat-question{float:right;display:inline-grid;place-items:center;width:22px;height:22px;margin-left:8px;border:1px solid #b8c9b2;border-radius:50%;color:var(--green);font-size:.75rem;letter-spacing:0}.explanation-dialog{width:min(740px,92vw);max-height:90vh;max-height:90svh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;padding:0 26px 26px;background:white;color:var(--ink);box-shadow:0 20px 80px #122e2b30}.explanation-dialog::backdrop{background:#183d3377}.explanation-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 0 15px;background:white;border-bottom:1px solid var(--line)}.explanation-header h2{font-size:1.45rem;font-weight:500;line-height:1.25;margin:5px 0}.explanation-header .icon-button{min-width:44px;width:44px;height:44px;flex-shrink:0}.explanation-section{padding:18px 0;border-bottom:1px solid var(--line)}.explanation-dialog h3{font-size:.98rem;font-weight:600;letter-spacing:0;margin:0 0 9px}.explanation-dialog p,.explanation-dialog li{font-size:.92rem;line-height:1.7;overflow-wrap:anywhere}.explanation-dialog p:last-child{margin-bottom:0}.explanation-dialog ul{padding-left:22px;margin:0}.explanation-dialog li+li{margin-top:8px}.explanation-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;margin:0;color:var(--muted)}.explanation-dialog code{display:block;overflow-wrap:anywhere;font-size:.78rem;background:var(--soft);padding:9px;margin-bottom:12px}.explanation-facts{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:10px 18px;margin:0;font-size:.86rem;line-height:1.6}.explanation-facts dt{font-weight:600}.explanation-facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap}.explanation-current,.explanation-example{padding:17px;margin:18px 0;border-radius:6px;background:var(--soft)}.explanation-example{background:#fbf6eb;border-left:3px solid #c78a2a}.explanation-scope{font-size:.82rem!important;padding:14px 0;color:var(--muted)}.explanation-dialog a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.explanation-method-link{margin-top:20px}
@media(max-width:760px){.explain-button{width:44px;height:44px;min-width:44px}.field-label{align-items:center}.checkbox-row>.explain-button{margin-top:-4px}.collection-heading{gap:10px}.line-picker>.context-control{width:75%}.calculate-tools>.context-control{margin:18px 0}.calculate-tools .field-label>label{margin:0}.calculate-action{justify-content:flex-start}.explanation-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100svh - 24px);padding:0 18px 18px}.explanation-header{gap:12px}.explanation-header h2{font-size:1.2rem}.explanation-facts{grid-template-columns:1fr;gap:3px}.explanation-facts dd{margin-bottom:9px}.result-value{min-height:44px}.stat-question{width:20px;height:20px}.period-toolbar>.field-label{width:100%}.period-toolbar>.field-label label{flex:0 1 auto}}
.learning-note .method-link{display:inline-block;font-size:.74rem;margin-top:10px;line-height:1.5}

.calculate-tools .field-label>label{min-width:0;flex:1}
.guest-controls-heading{margin:20px 0 12px}.guest-controls-heading h2{font-size:1.2rem;font-weight:500;margin-bottom:8px}.guest-controls-heading p{font-size:.8rem;line-height:1.6;margin:0}.guest-actions{gap:10px}.guest-file-input{position:absolute;width:1px!important;height:1px;min-height:1px!important;padding:0!important;opacity:0;overflow:hidden;pointer-events:none}.guest-recovery h3,#guest-session-expired h3{font-size:1rem;margin-bottom:10px}.guest-recovery .actions{gap:10px}.guest-recovery p{font-size:.84rem}.guest-recovery .button,#guest-session-expired .button{font-size:.76rem}.guest-recovery .actions .button{margin-top:0}
@media(max-width:760px){.guest-actions{align-items:stretch}.guest-actions .button{flex:1 1 170px;min-height:44px}.guest-recovery .actions{align-items:stretch}.guest-recovery .button{flex:1 1 180px;min-height:44px}}
