:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c2a;background:#f5f7f5;font-size:14px;--green:#146c50;--muted:#72817b;--line:#dce4df}*{box-sizing:border-box}body{margin:0;display:flex}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #83bcff;outline-offset:2px}button:disabled{opacity:.35;cursor:default}.sidebar{width:258px;flex-shrink:0;background:#fff;min-height:100vh;border-right:1px solid var(--line);padding:29px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#193d32;font-size:11px;letter-spacing:2px;line-height:1.6;margin:0 13px 40px}.brand b{font-size:16px;letter-spacing:1.8px}.logo{background:#17684e;color:white;border-radius:10px;width:40px;height:43px;font-size:34px;display:flex;align-items:center;justify-content:center;letter-spacing:0}.side-label{font-size:10px;color:#839089;letter-spacing:1.4px;padding:0 12px;margin-bottom:15px;display:flex;justify-content:space-between}.side-label span{background:#edf2ee;padding:2px 5px;border-radius:3px}.lesson{width:100%;display:flex;align-items:center;text-align:left;gap:10px;border-radius:7px;padding:10px 11px;margin:3px 0;font-size:12px;color:#5e7069}.lesson-number{font-size:11px;width:25px;height:25px;border:1px solid #e0e7e2;border-radius:7px;display:grid;place-items:center;flex-shrink:0;color:#7a8981}.lesson small{display:block;font-size:10px;color:#8b9790;margin-top:4px}.lesson.current{background:#edf5ef;color:#17684e;font-weight:600}.lesson.current .lesson-number{background:#17684e;color:white;border:0}.lesson.complete .lesson-number{color:#147650;background:#e0f2e6}.lesson-arrow{margin-left:auto;font-size:22px}.lesson:hover{background:#f1f5f2}.side-foot{margin:28px 12px 0;font-size:10px;color:#6f8178;line-height:2}.side-foot small{font-size:9px;color:#9aa69f}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3fa26c;margin-right:5px}main{padding:34px 40px 20px;min-width:0;width:100%;max-width:1600px;margin:auto}header{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:#668b7b;font-weight:600}h1{font-size:29px;letter-spacing:-.8px;margin:10px 0 8px;font-weight:650}header p{color:var(--muted);margin:0;font-size:12px}.secondary{background:white;border:1px solid var(--line);border-radius:6px;padding:10px 13px;font-size:11px}.overview{margin:27px 0;display:flex;gap:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;align-items:center}.overview>div:first-child{flex:1;max-width:340px;margin-right:auto;font-size:11px;color:#65796e}.progress-track{background:#e4eae5;height:5px;border-radius:8px;margin-top:11px;overflow:hidden}.progress-track div{background:#3b916b;height:100%;width:0;transition:width .3s}.stat{display:flex;flex-direction:column;gap:6px;min-width:76px}.stat strong{font-size:20px;font-weight:600}.stat span{font-size:10px;color:#86948c}.challenge{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px 25px;margin-bottom:23px;box-shadow:0 2px 5px #23442c03}.challenge-head{display:flex;justify-content:space-between;font-size:10px;color:#8a9890}.tag{font-size:9px;letter-spacing:1px;background:#edf5ee;padding:5px 8px;border-radius:4px;color:#56806a}h2{font-size:21px;font-weight:600;letter-spacing:-.4px;margin:15px 0 10px}#goal{font-size:13px;line-height:1.6;color:#607268;margin:0 0 18px}.challenge-actions{display:flex;align-items:center;gap:15px}.primary{background:#17684e;color:white;border-radius:6px;font-size:11px;font-weight:600;padding:11px 16px;box-shadow:0 2px 2px #143d1211}.primary:hover{background:#11573e}kbd{font:9px inherit;background:#ffffff1c;padding:3px 5px;border-radius:3px;margin-left:14px;color:#d0e4d8}.text-btn{font-size:11px;color:#74877b}.text-btn:hover{text-decoration:underline}#timer{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:#8e9d93}#hint{padding:12px 15px;background:#fff9e9;color:#75613e;font-size:12px;line-height:1.6;border-radius:5px;margin-top:16px}#feedback{padding:14px 16px;font-size:12px;line-height:1.5;margin-top:16px;border-radius:5px}#feedback p{margin:5px 0 10px}#feedback.success{background:#eaf6ee;color:#216344}#feedback.try-again{background:#fff5e8;color:#846039}.workbook{background:white;border:1px solid #cad8ce;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #183a1e06}.book-title{background:#1c614b;color:white;display:flex;align-items:center;gap:10px;padding:13px 17px;font-size:11px}.book-icon{font-size:19px;color:#bde2c8}.book-title b{font-weight:500}.sample{color:#a9c6b4;border:1px solid #53836e;font-size:8px;padding:3px 6px;border-radius:3px;letter-spacing:1px;margin-left:6px}#saved{margin-left:auto;color:#aacbbb;font-size:9px}.toolbar{display:flex;gap:3px;align-items:center;background:#f7faf7;padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar button{font-size:10px;border-radius:3px;padding:5px 9px}.toolbar button:hover{background:#e4eee6}.toolbar i{height:18px;width:1px;background:#d9e2da;margin:0 5px}.formula-row{display:flex;align-items:center;padding:5px 10px;gap:12px;background:white;border-bottom:1px solid var(--line)}.formula-row input{border:1px solid #dee6df;border-radius:3px;font-size:11px;height:26px;padding:4px 8px;color:#334f40}.formula-row span{font:italic 16px Georgia;color:#83948a}#nameBox{width:89px;text-align:center}#formulaBar{flex:1;min-width:0;border:0}#gridWrap{overflow:auto;max-height:450px}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:780px;font-size:11px;outline:none}th,td{height:27px;border-right:1px solid #e1e7e2;border-bottom:1px solid #e1e7e2;padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}thead th{position:sticky;top:0;z-index:2;background:#f0f4f0;color:#75867b;font-size:10px;font-weight:400;height:24px}th:first-child{width:37px;background:#f0f4f0;text-align:center;color:#839188;font-size:10px;font-weight:400}th:nth-child(2){width:155px}td{color:#42564a;background:white}.numeric{text-align:right;font-variant-numeric:tabular-nums}.bold{font-weight:650}.heading-cell{background:#f6f9f6;color:#657b6b;font-size:10px}.selected{background:#eaf4ec}.active{box-shadow:inset 0 0 0 2px #258157}.active:after{content:'';position:absolute;bottom:0;right:0;width:4px;height:4px;background:#258157}.sheet-footer{display:flex;align-items:center;gap:18px;background:#f5f8f4;padding:0 15px;height:34px;color:#829486;font-size:9px}.sheet-tab{border-bottom:2px solid #227950;height:34px;display:flex;align-items:center;color:#2c7c51;padding:0 12px;font-size:10px;background:white;font-weight:600}#selectionInfo{margin-left:auto}.key-state{font-size:8px;letter-spacing:.6px;color:#4f9770;border:1px solid #cfe2d3;padding:3px 5px;border-radius:3px}footer{display:flex;justify-content:space-between;font-size:9px;color:#94a096;margin-top:17px;gap:15px;line-height:1.5}dialog{max-width:650px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:12px;padding:26px;color:#2a4135;box-shadow:0 20px 60px #12322225}dialog::backdrop{background:#102d2455;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-head button{font-size:20px}dialog p{font-size:12px;line-height:1.7;color:#738478}.shortcut-list{margin:20px 0}.shortcut-list div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e4eae5;padding:9px 0;font-size:11px}.shortcut-list b{font-weight:500;color:#34734f}.notice{background:#f3f6f2;padding:12px}@media(min-width:1550px){main{padding:45px 60px}.sidebar{width:280px}.lesson{padding:13px 12px}#gridWrap{max-height:570px}td{height:30px}}@media(max-width:1050px){.sidebar{width:210px;padding:22px 10px}main{padding:25px 22px}.overview{gap:18px}.stat{min-width:62px}h1{font-size:25px}.brand{margin-left:10px}.lesson{font-size:11px}.toolbar button{padding:5px 7px}}@media(max-width:760px){body{display:block}.sidebar{min-height:0;width:100%;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 12px;font-size:9px}.brand b{font-size:13px}.logo{height:32px;width:32px;font-size:25px}.side-label,.side-foot{display:none}nav{display:flex;overflow:auto;gap:5px}.lesson{width:auto;min-width:170px;padding:8px}.lesson small{display:none}.lesson-arrow{display:none}main{padding:22px 16px}header{gap:12px}h1{font-size:22px}header p{font-size:11px}.eyebrow{font-size:8px}header .secondary{font-size:10px;white-space:nowrap}.overview{gap:18px;padding:15px 0;margin:20px 0}.stat:last-child{display:none}.stat strong{font-size:17px}.challenge{padding:18px}.challenge-actions{gap:9px;flex-wrap:wrap}.challenge-actions .text-btn{font-size:10px}.sample{display:none}footer{display:block}footer span{display:block;margin-bottom:6px}.sheet-footer{gap:8px}#selectionInfo{font-size:8px}.key-state{display:none}}

.ribbon-tabs{display:flex;align-items:center;gap:22px;background:#f7faf7;border-bottom:1px solid var(--line);height:32px;padding:0 17px;font-size:10px;color:#71877a}.ribbon-tabs b{height:32px;display:flex;align-items:center;border-bottom:2px solid #21734f;color:#21684b;font-weight:500}.ribbon-tabs button{margin-left:auto;font-size:9px;border:1px solid #d8e4db;border-radius:3px;padding:3px 6px}.ribbon-tabs button[aria-pressed=true]{background:#19664d;color:white}
/* 0.2: worksheet-first desktop layout, with an optional narrow practice task pane. */
:root{font-family:Aptos,Calibri,"Segoe UI",sans-serif;background:#fff;color:#242424;font-size:13px}body{display:block;height:100vh;overflow:hidden}.excel-titlebar{height:42px;background:#176f47;color:white;display:flex;align-items:center;padding:0 16px;gap:13px;font-size:12px}.excel-mark{font-size:22px;font-weight:700}.excel-titlebar strong{font-weight:600}.title-sub{opacity:.7;font-size:10px}.excel-titlebar #saved{margin-left:auto}.excel-titlebar button{font-size:11px;padding:6px 10px;border:1px solid #ffffff30;border-radius:4px;color:white}.app-layout{display:flex;height:calc(100vh - 42px);width:100%}.excel-main{padding:0;margin:0;max-width:none;flex:1;min-width:0;display:flex;flex-direction:column;width:auto}.workbook{border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;min-height:0;flex:1}.ribbon-tabs{height:35px;min-height:35px;background:#fafafa;gap:2px;border-bottom:1px solid #ddd;padding:0 12px}.ribbon-tabs button{margin:0;border:0;border-radius:0;padding:0 12px;height:35px;font-size:12px;color:#333}.ribbon-tabs .ribbon-active{border-bottom:3px solid #217346;font-weight:600;color:#217346}.ribbon-tabs button:disabled{opacity:.42}.ribbon-tabs #keyTipsBtn{margin-left:auto;font-size:10px;padding:0 8px}.ribbon-tabs #mouseMode{font-size:10px;padding:0 8px}.file-label{padding:0 15px;color:#737373;font-size:12px}.toolbar{height:103px;min-height:103px;flex-wrap:nowrap;padding:7px 7px 4px;gap:0;background:#fafafa;overflow:auto;align-items:stretch;border-bottom:1px solid #d5d5d5}.ribbon-group{padding:0 9px;border-right:1px solid #ddd;display:flex;flex-direction:column;position:relative;flex-shrink:0;justify-content:flex-start;min-width:75px}.ribbon-controls{display:flex;gap:2px;align-items:center}.ribbon-controls>div{display:flex;flex-direction:column}.ribbon-controls.vertical{flex-direction:column;align-items:flex-start}.toolbar button{font-size:11px;padding:5px 6px;white-space:nowrap}.toolbar button:hover{background:#e3e9e6;outline:1px solid #ccd6cf}.large-command{display:flex;flex-direction:column;align-items:center;gap:4px}.command-icon{font-size:29px;color:#577e6b}.group-label{margin-top:auto;display:block;color:#777;font-size:10px;text-align:center;line-height:18px}.font-name{border:1px solid #c7c7c7;background:white;padding:4px 7px;font-size:11px;width:118px;margin-bottom:4px}.font-name span{float:right;border-left:1px solid #ccc;padding-left:8px}.disabled-command{color:#b6b6b6;padding:5px 8px;font-size:12px}.alignment button{font-size:24px;display:flex;flex-direction:column;align-items:center}.alignment small{font-size:9px}.formula-row{height:53px;min-height:53px;padding:3px 7px;background:#f4f4f4;gap:12px;border-bottom:1px solid #aaa}.formula-row input{height:25px;font-size:12px;border:1px solid #bcbcbc;border-radius:0;color:#222}#formulaBar{background:#fff;border:1px solid #bcbcbc}#gridWrap{max-height:none;flex:1;min-height:120px;overflow:auto}table{width:max-content;min-width:100%;font-size:12px;table-layout:fixed}th,td{height:23px;min-height:23px;padding:2px 5px;border-right:1px solid #dedede;border-bottom:1px solid #dedede}thead th{height:24px;font-size:11px;background:#f3f3f3;min-width:112px}th:first-child{width:40px;min-width:40px;background:#f3f3f3;font-size:11px;position:sticky;left:0;z-index:1}thead th:first-child{z-index:3}th:nth-child(2){width:185px}td{color:#222}.heading-cell{background:#fff;font-size:12px;color:#222}.selected{background:#dceade}.active{background:white;box-shadow:inset 0 0 0 2px #217346}.sheet-footer{height:31px;min-height:31px;background:#f2f2f2;padding:0 10px;gap:8px;border-top:1px solid #ccc}.sheet-nav{font-size:17px;color:#888}.sheet-tab{display:inline-flex;font-size:11px;height:30px;color:#666;background:#f2f2f2;border:0;border-right:1px solid #ddd;padding:0 14px;font-weight:400}.sheet-tab.sheet-active{color:#217346;border-bottom:3px solid #217346;background:white;font-weight:600}#sheetTabs{display:flex;overflow:auto}.sheet-workbook-label{margin-left:auto;font-size:9px;color:#999;white-space:nowrap}.excel-statusbar{display:flex;gap:20px;align-items:center;height:25px;min-height:25px;background:#f2f2f2;padding:0 12px;border-top:1px solid #ddd;color:#707070;font-size:10px}#keyState{letter-spacing:0;font-size:10px;color:#777;border:0}#selectionInfo{margin-left:auto}.excel-main footer{margin:0;padding:4px 10px;font-size:9px;color:#898989;min-height:22px;background:#fbfbfb}.training-panel{width:322px;min-width:322px;background:#fbfcfb;border-left:1px solid #d9dfda;overflow-y:auto;padding:20px 16px}.training-panel[hidden]{display:none}.pane-title .eyebrow{font-size:9px;letter-spacing:1.5px}.pane-title h1{font-size:20px;line-height:1.2;margin:8px 0}.overview{display:block;margin:17px 0;padding:13px 0;border-top:0}.overview>div:first-child{max-width:none;font-size:10px}.stats-row{display:flex;gap:25px;margin-top:14px}.stat{gap:3px;min-width:60px}.stat strong{font-size:18px}.stat span{font-size:9px}.challenge{padding:0;border:0;border-radius:0;box-shadow:none;background:none;margin-bottom:18px}.challenge-head{display:block}.tag{font-size:8px;letter-spacing:.4px;display:inline-block;padding:5px 6px}#lessonTime{display:none}.challenge h2{font-size:19px;margin:13px 0 9px}#goal{font-size:12px;line-height:1.6}.challenge-actions{gap:10px;flex-wrap:wrap}.primary{font-size:11px;padding:10px 12px}.text-btn{font-size:10px;padding:0}#timer{font-size:10px}#feedback{font-size:11px;padding:12px}#hint{font-size:11px;padding:11px}.side-label{margin:19px 0 8px;padding:0;font-size:9px;letter-spacing:1.2px}.lesson{padding:8px 7px;margin:2px 0;font-size:11px}.lesson small{font-size:9px}.lesson-number{width:23px;height:23px;font-size:10px}.privacy-note{font-size:9px;color:#8c9b91;line-height:1.6;margin:18px 6px}.coach-panel{border:1px solid #dce3dd;border-radius:5px;padding:10px;margin:15px 0;background:#f3f7f4}.coach-panel summary{cursor:pointer;font-size:11px;color:#416b54}.coach-panel p{font-size:10px;line-height:1.5;color:#7b8b80}.coach-panel button{font-size:10px;padding:7px}#aiOutput{font-size:11px;line-height:1.6;white-space:pre-wrap;margin-top:8px}.keytips{display:flex;gap:7px;align-items:center;flex-wrap:wrap;background:#fffbef;border-bottom:1px solid #e6d6a4;padding:7px 12px;min-height:38px}.keytips[hidden]{display:none}.keytips button{font-size:11px;padding:3px 5px}.keytips kbd{display:inline-grid;place-items:center;background:#292929;color:#fff;min-width:18px;height:20px;padding:0 4px;margin:0 3px 0 0;border-radius:2px;font-size:11px}.keytip-path{font-size:10px;font-weight:600;margin-right:6px}.keytip-help{margin-left:auto;font-size:10px;color:#8a7445}@media(max-width:1000px){.training-panel{width:280px;min-width:280px;padding:16px 12px}.title-sub{display:none}.ribbon-tabs button{padding:0 7px;font-size:11px}.toolbar{height:101px;min-height:101px}.ribbon-group{padding:0 6px}.font-name{width:93px}}@media(max-width:760px){body{height:auto;overflow:auto}.app-layout{display:flex;flex-direction:column;height:auto}.excel-main{height:72vh;min-height:480px;flex:none;width:100%}.training-panel{width:100%;min-width:0;border-left:0;border-top:1px solid #ddd;max-height:none}.excel-titlebar{gap:8px;padding:0 9px}.excel-titlebar #saved{display:none}.excel-titlebar button{font-size:9px;padding:5px}.ribbon-tabs{overflow:auto;flex-shrink:0}.ribbon-tabs button{white-space:nowrap}.training-panel nav{display:block;overflow:visible}.lesson{width:100%}.lesson small{display:block}.lesson-arrow{display:block}.stats-row .stat:last-child{display:flex}.sheet-workbook-label{display:none}.keytips{font-size:10px}.keytip-help{width:100%;margin-left:0}.excel-main footer{font-size:8px}.formula-row{gap:8px}}
/* 0.3: stable classic expanded ribbon geometry across all desktop tabs. */
.app-layout{display:grid;grid-template-columns:minmax(0,1fr) 322px;grid-template-rows:35px 117px auto 53px minmax(120px,1fr) 31px 25px 22px}.app-layout:has(.training-panel[hidden]){grid-template-columns:minmax(0,1fr) 0}.excel-main,.workbook{display:contents}.ribbon-tabs{grid-column:1/-1;grid-row:1;width:100%;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #e0e0e0;padding-left:12px;background:#fff}.ribbon-tabs button{flex:0 0 auto;padding:0 14px;color:#222;font-family:"Segoe UI",sans-serif;font-size:12px}.ribbon-tabs button.file-label{background:none;color:#217346;font-size:12px}.ribbon-tabs .ribbon-active{border-bottom:3px solid #217346}.office-ribbon{grid-column:1/-1;grid-row:2;display:flex;overflow-x:auto;overflow-y:hidden;align-items:stretch;padding:5px 7px 3px;background:#f7f7f7;border-bottom:1px solid #c8c8c8;gap:0;font-family:"Segoe UI",sans-serif;min-width:0}.office-group{flex:0 0 auto;display:flex;flex-direction:column;border-right:1px solid #d0d0d0;padding:0 7px 0 6px;min-width:48px}.office-group-content{height:87px;display:flex;align-items:flex-start;justify-content:center}.office-group-caption{height:17px;line-height:17px;color:#666;font-size:10px;text-align:center;position:relative;white-space:nowrap;padding:0 9px}.dialog-launcher{position:absolute;right:-4px;bottom:1px;font-size:12px;color:#777;padding:0;width:12px;height:14px}.office-row{display:flex;align-items:center;gap:1px;min-height:28px;flex-wrap:nowrap}.office-stack{display:flex;flex-direction:column;align-items:stretch;gap:0;justify-content:flex-start}.office-command{display:inline-flex;align-items:center;gap:5px;padding:3px 4px;border:1px solid transparent;border-radius:2px;min-height:25px;max-height:27px;text-align:left;font-size:11px;line-height:15px;white-space:nowrap;font-family:"Segoe UI",sans-serif;position:relative}.office-command:not(:disabled):hover{background:#e0e9e2;border-color:#bbc9bd}.office-command:disabled{opacity:.64;color:#5c5c5c;cursor:default}.office-command:disabled .office-icon{opacity:.72}.office-command:focus-visible{outline:2px solid #488cbe;outline-offset:-1px}.office-command .office-icon{width:16px;height:16px;min-width:16px;color:#497264}.office-command.office-large{height:78px;max-height:78px;min-width:47px;max-width:84px;flex-direction:column;gap:4px;padding:3px 5px;justify-content:flex-start;text-align:center;white-space:normal}.office-large .office-icon{width:29px;height:29px;min-height:29px;margin-bottom:1px}.office-large>span:not(.office-caret){line-height:14px;max-width:78px}.office-large .office-caret{position:absolute;bottom:0;font-size:9px}.office-caret{font-size:8px;color:#666;line-height:8px;margin-left:2px}.office-large.office-split{padding-bottom:10px}.office-plain{justify-content:center;padding:3px 5px;font-size:12px;gap:0}.office-plain[data-action=bold]{font-weight:700}.office-plain[aria-label=I]{font-style:italic}.office-plain[aria-label=U]{text-decoration:underline}.office-divider{height:20px;width:1px;background:#d4d4d4;margin:0 3px}.font-group .office-group-content,.alignment-group .office-group-content,.number-group .office-group-content{flex-direction:column;justify-content:flex-start;gap:10px;padding-top:5px}.font-group{width:209px}.font-group select:first-child{width:109px}.font-group select:nth-child(2){width:39px}.office-ribbon select{background:white;border:1px solid #bcbcbc;border-radius:0;color:#333;font:11px "Segoe UI",sans-serif;height:24px;padding:2px 3px;opacity:1}.office-ribbon select:disabled{color:#666;background:#fafafa}.alignment-group{width:246px}.alignment-group .office-plain:nth-child(-n+3){width:25px;font-size:16px}.alignment-group .office-row:first-child .office-plain:last-child{margin-left:3px;font-size:11px}.number-group{width:153px}.number-group select{width:137px}.number-group .office-plain{font-size:12px;padding:3px 4px}.styles-group{width:210px}.styles-group .office-large{width:66px}.cells-group .office-large{width:48px}.editing-group .office-large{width:65px}.clipboard-group{width:151px}.office-field{display:flex;align-items:center;justify-content:space-between;gap:9px;height:26px;font-size:11px}.office-field select{width:83px}.office-field-label{font-size:11px;font-weight:500;margin:1px 6px 6px}.office-stack>label{font-size:11px;white-space:nowrap;line-height:22px}.office-ribbon input[type=checkbox]{accent-color:#217346;width:12px;height:12px;vertical-align:middle}.office-checkbox{padding:0 7px}.chart-type-grid{display:grid;grid-template-rows:repeat(3,25px);grid-auto-flow:column;gap:1px}.chart-type-grid .office-command{width:34px;overflow:hidden}.chart-type-grid .office-command>span:not(.office-caret){display:none}.chart-type-grid .office-icon{width:20px;height:20px}.chart-type-grid .office-caret{position:absolute;right:0}.tab-group-sheetview select{width:145px}.office-menu{position:fixed;z-index:40;min-width:225px;background:white;border:1px solid #bdbdbd;box-shadow:2px 4px 11px #0002;padding:4px;max-height:65vh;overflow:auto}.office-menu[hidden]{display:none}.office-menu button{display:flex;justify-content:space-between;gap:15px;width:100%;font-size:12px;text-align:left;padding:7px 11px}.office-menu button:hover:not(:disabled){background:#e8f0e9}.office-menu button:disabled{color:#888;opacity:.7}.office-menu small{font-size:10px;color:#888}.keytips{grid-column:1/-1;grid-row:3}.formula-row{grid-column:1;grid-row:4}#gridWrap{grid-column:1;grid-row:5}.sheet-footer{grid-column:1;grid-row:6}.excel-statusbar{grid-column:1;grid-row:7}.excel-main footer{grid-column:1;grid-row:8}.training-panel{grid-column:2;grid-row:4/9;width:auto;min-width:0}.quick-access{display:flex;align-items:center;gap:2px;margin-right:8px}.quick-access button{padding:1px 5px;font-size:18px;border:0}.quick-access button:disabled{opacity:.4}.excel-titlebar button#keyTipsBtn,.excel-titlebar button#mouseMode{font-size:10px;padding:5px 7px}.backstage{position:fixed;inset:42px 0 0;z-index:80;background:#fff;display:flex}.backstage[hidden]{display:none}.backstage nav{width:160px;flex-shrink:0;background:#217346;color:white;overflow:auto;padding:18px 0}.backstage nav button,.backstage-item{display:block;width:100%;padding:10px 24px;text-align:left;font-size:13px}.backstage nav button:disabled{color:white;opacity:.55}.backstage nav hr{border:0;border-top:1px solid #ffffff30;margin:10px 20px}.backstage-item.selected{background:#185c38}.backstage nav .backstage-back{font-size:29px;padding:0 20px 16px}.backstage section{padding:35px 45px;max-width:850px}.backstage h1{font-size:34px;font-weight:400}.backstage h2{font-size:22px;margin-top:28px}.backstage p{font-size:13px;color:#757575;line-height:1.7}.ribbon-baseline-note{font-size:9px;color:#929292}@media(max-width:1000px){.app-layout{grid-template-columns:minmax(0,1fr) 280px}.ribbon-tabs button{padding:0 13px;font-size:12px}.office-group{padding-right:7px}.training-panel{width:auto}.excel-titlebar #saved{display:none}}@media(max-width:760px){body{height:100vh;overflow:hidden}.app-layout{height:calc(100vh - 42px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:35px 117px auto 53px minmax(140px,1fr) 31px 25px 30px}.app-layout:has(.training-panel[hidden]){grid-template-columns:minmax(0,1fr)}.excel-main,.workbook{display:contents}.office-ribbon{height:117px;min-height:117px}.ribbon-tabs{height:35px}.office-group{flex-shrink:0}.training-panel{position:fixed;right:0;top:248px;bottom:0;z-index:25;width:min(300px,85vw);box-shadow:-4px 0 14px #0002;max-height:none;background:#fbfcfb}.training-panel[hidden]{display:none}.excel-titlebar{gap:7px}.excel-titlebar .title-sub,.excel-titlebar #mouseMode,.quick-access{display:none}.excel-titlebar strong{font-size:11px;margin-right:auto}.excel-titlebar #collapseTraining{font-size:9px}.excel-titlebar #helpBtn{font-size:0}.excel-titlebar #helpBtn:after{content:'?';font-size:12px}.backstage nav{width:120px}.backstage section{padding:20px}.backstage h1{font-size:26px}.formula-row,#gridWrap,.sheet-footer,.excel-statusbar,.excel-main footer{grid-column:1}.keytips{max-height:70px;overflow:auto}.sheet-workbook-label{display:none}}
/* Beginner support stays in the practice pane, never rearranging Excel controls. */
.beginner-guide{background:#eef5ef;border:1px solid #d1e2d4;border-radius:5px;margin:15px 0;padding:12px;font-size:11px;line-height:1.55;color:#395c45}.beginner-guide[hidden]{display:none}.beginner-guide b{font-size:12px}.beginner-guide ol{padding-left:18px;margin:9px 0}.beginner-guide li{margin:7px 0}.focus-sheet{font-size:10px;padding:7px 10px;margin:-2px 0 4px;border-color:#bfd4c4;color:#276343}.training-note{font-size:10px;line-height:1.5;color:#839188;margin:5px 0 13px}#feedback ul{padding-left:17px;margin:8px 0}#feedback li{margin:5px 0}#feedback small{font-size:10px}th[data-col],th[data-row],th[data-select-all]{cursor:pointer}th[data-col]:hover,th[data-row]:hover,th[data-select-all]:hover{background:#d6e7db}
.dialog-launcher .office-icon{width:10px;height:10px;display:block}.office-plain>.office-icon,.office-plain>span>.office-icon{width:15px;height:15px;vertical-align:middle}
/* Keep Go To targets clear of sticky worksheet headers when scrolling. */
#grid td{scroll-margin-top:27px;scroll-margin-left:42px;scroll-margin-bottom:3px;scroll-margin-right:3px}
.guide-toggle{margin-top:4px;font-size:10px;color:#5c7d66}
.filter-arrow{position:absolute;right:2px;bottom:2px;width:17px;height:17px;padding:0;background:#f0f3f0;border:1px solid #bdcabe;border-radius:2px;font-size:10px;color:#4a6652}.filter-arrow.filter-active{background:#d3e9da;color:#176d40;border-color:#499866}.table-notice{font-size:11px;line-height:1.5;padding:10px;background:#edf4ee;border-left:3px solid #43885e;color:#46644f}.table-notice[hidden]{display:none}#filterStatus{font-size:9px;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#217346}#clearTableFilter{font-size:9px;color:#217346;text-decoration:underline;padding:0 3px}#clearTableFilter[hidden]{display:none}.filter-fields{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.filter-fields label{font-size:11px;display:flex;flex-direction:column;gap:6px}.filter-fields select,.filter-fields input{padding:8px;border:1px solid #c3d2c7;border-radius:3px;background:white;font:inherit}.filter-quick{display:flex;align-items:center;gap:9px;font-size:11px;margin:15px 0}.filter-actions{display:flex;gap:10px;margin-top:20px}
/* Frozen data cells stay below the letter header; explicit row height supports multiline cells. */
#grid thead th{z-index:6}#grid thead th:first-child{z-index:9}#grid td{white-space:pre-wrap}

/* Keep a full text line above a native horizontal scrollbar: 44px border-box
   minus 2px border, 4px padding and a 17px scrollbar leaves 21px for 19px text.
   Native horizontal/vertical scrolling and explicit newlines remain intact. */
#formulaBar{font:inherit;font-size:12px;resize:none;height:44px;line-height:19px;padding:2px 6px;flex:1;min-width:0;border-radius:0;white-space:pre;overflow:auto}

#grid td.audit-cell{box-shadow:inset 0 0 0 2px #3978c6;background:#eaf3ff}#renameError{color:#a32828}

#grid .accounting-display{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;white-space:nowrap}#grid .accounting-symbol{flex:none;text-align:left}#grid .accounting-amount{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}

/* Reserve the closing-parenthesis glyph for nonnegative Accounting amounts so decimal points align. */
#grid .accounting-nonnegative .accounting-amount::after{content:")";visibility:hidden}

/* Accessibility refinements: retain the classic ribbon geometry and disabled reference controls. */
.training-note,.privacy-note,.lesson small{color:#53665a}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1769aa;outline-offset:2px}
.office-command:focus-visible{outline:2px solid #1769aa;outline-offset:-2px}
.excel-titlebar button:focus-visible,.backstage nav button:focus-visible{outline-color:#fff;outline-offset:-3px}
#grid:focus-visible{outline:3px solid #1769aa;outline-offset:-3px}
#grid:focus-visible td.active{outline:2px solid #1769aa;outline-offset:-4px}
#feedback.limitation{background:#eef3f8;color:#30495e;border:1px solid #7892a8;border-left:4px solid #416b8c;padding:12px 15px;border-radius:5px}
@media (forced-colors:active){#grid:focus-visible,#grid:focus-visible td.active,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:Highlight}}

/* Workbook messages remain visible when the practice pane is collapsed. */
/* A body flex sibling: reserve notice height instead of covering worksheet tabs.
   Keep pointer access for its bounded native scroll area; never auto-dismiss refusals. */
#tableNotice{position:static;pointer-events:auto;z-index:auto;max-width:100%;min-width:0;margin:0;box-shadow:none;color:#294d38;background:#edf4ee;white-space:normal}

#formatDialog{width:min(550px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:14px;border-radius:3px;background:#f5f5f5;font-family:"Segoe UI",sans-serif;font-size:12px}#formatDialog h2{font-size:14px;font-weight:400;margin:0 0 12px}.format-tabs{display:flex;border-bottom:1px solid #aeb5b1;margin-bottom:12px;gap:1px}.format-tabs button{padding:5px 9px;font-size:12px;border:1px solid #c4c8c6;border-bottom:0;background:#e9ecea}.format-tabs [aria-selected="true"]{background:#fff}.format-body{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px}.format-categories,.format-negatives{display:flex;flex-direction:column;gap:4px}.format-categories select{height:250px;width:100%;padding:2px}.format-options fieldset{margin:5px 0 12px;padding:3px 8px;border:1px solid #aeb5b1}.format-options label{margin:8px 0}.format-options input[type="number"]{width:66px;padding:3px;margin-left:8px}.format-options input[type="checkbox"]{vertical-align:middle;margin:0 5px 0 0}.format-symbol{display:flex;align-items:center;gap:8px}.format-symbol select{flex:1;min-width:0}.format-negatives select{height:90px;padding:2px}.format-body select{font:inherit;background:white;border:1px solid #aeb5b1}.format-body option{padding:2px}.format-scope,#formatSelection{font-size:11px;color:#465d50;margin:10px 0 0}#formatSample{display:block;min-height:26px;text-align:left;padding:4px;font-variant-numeric:tabular-nums}#formatError{color:#9b2e25;font-size:12px;margin:6px 0;min-height:15px}.format-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.format-buttons button{min-width:78px;padding:6px 14px;border-radius:2px}.format-options [hidden]{display:none!important}@media(max-width:500px){.format-body{grid-template-columns:115px minmax(0,1fr);gap:9px}.format-tabs button{padding:5px}.format-symbol select{max-width:130px}}

/* Anchored KeyTips use actual target bounds, never a duplicate button strip. */
#keyTipBadges{position:fixed;inset:0;z-index:180;pointer-events:none}.keytip-badge{position:fixed;height:18px;line-height:16px;text-align:center;border:1px solid #5f5424;border-radius:2px;background:#fff4b5;color:#171717;font:11px/16px "Segoe UI",sans-serif;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.keytips{padding:2px 12px;background:#fafbf9;border-bottom:1px solid #ddd;min-height:0}.keytips details{font:11px "Segoe UI",sans-serif}.keytips summary{cursor:pointer;display:list-item}.keytips details>div{display:flex;flex-wrap:wrap;gap:8px 16px;padding:5px 0}.keytips kbd{font:11px "Segoe UI",sans-serif;padding:1px 4px;background:#fff4b5;color:#171717;border:1px solid #aa9952}.keytips small{font-size:10px;color:#46564c}.office-split-control{display:inline-flex;align-items:stretch;min-width:0}.office-split-control .office-split-trigger{width:20px;padding:1px 3px;border-left:1px solid transparent}.office-split-control:hover .office-split-trigger{border-left-color:#c1cec6}.office-split-large{flex-direction:column}.office-split-large .office-split-trigger{width:100%;height:17px;border-left:0}.office-split-control .office-split-primary{flex:1}.excel-titlebar{flex-wrap:nowrap;min-width:0;gap:9px;white-space:nowrap}.excel-titlebar>*{flex-shrink:0}.excel-titlebar strong{min-width:75px;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.excel-titlebar .title-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 190px}.excel-titlebar #saved{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1 1 150px}.excel-titlebar button{white-space:nowrap}.excel-titlebar #mouseMode{max-width:215px;overflow:hidden;text-overflow:ellipsis}#pivotDialog{max-width:520px}#pivotDialog h2{font-size:17px}#pivotDialog p,#pivotDialog dl{font-size:12px;line-height:1.5}#pivotDialog dt{font-weight:600}#pivotDialog dd{margin:3px 0 10px}@media(max-width:1180px){.excel-titlebar .title-sub{display:none}.excel-titlebar{gap:7px;padding:0 10px}}@media(forced-colors:active){.keytip-badge{background:Canvas;color:CanvasText;border-color:CanvasText}}

#storageNotice{position:fixed;left:8px;right:8px;bottom:3px;z-index:190;padding:7px 10px;border:1px solid #99631e;background:#fff4d5;color:#573a0c;font:12px/1.4 "Segoe UI",sans-serif;box-shadow:0 1px 6px #0002}#storageNotice[hidden]{display:none}

.course-picker{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px}.course-picker select{max-width:160px;font:inherit;color:#123d2d;background:#fff;border:1px solid #c6d6cc;border-radius:3px;padding:4px}.formula-teaching{padding:14px;margin:10px 0;border:1px solid #b9cec0;background:#f0f7f2;border-radius:5px;font-size:12px;line-height:1.5}.formula-teaching p{margin:8px 0}.lesson[aria-disabled="true"]{opacity:.65}.formula-teaching[hidden]{display:none}

#grid td.formula-answer{background:#fff7d6}#grid td.formula-answer.selected{background:#d7eadb}

.formula-course-panel{display:flex;flex-direction:column}.formula-course-panel>*{flex-shrink:0}.formula-course-panel .pane-title{order:0}.formula-course-panel .pane-title h1{display:none}.formula-course-panel .challenge{order:1;margin-top:8px}.formula-course-panel .overview{order:2;margin:8px 0;padding:8px 0}.formula-course-panel .stats-row{display:none}.formula-course-panel #formulaRoadmap{order:3}.formula-course-panel .side-label{order:4}.formula-course-panel #lessons{order:5}.formula-course-panel .privacy-note{order:6}.formula-course-panel .challenge>.training-note,.formula-course-panel #timer{display:none}.formula-course-panel .formula-teaching{padding:9px;margin:8px 0}.formula-stage-actions{display:flex;gap:6px;flex-wrap:wrap}.formula-teaching details{margin-top:8px}.formula-teaching summary{cursor:pointer;font-weight:600;font-size:11px}.formula-course-panel #goal{margin-bottom:8px}.formula-course-panel .challenge h2{font-size:18px;margin:8px 0}.formula-course-panel button[hidden]{display:none}
/* Keep essential course/pane/help controls reachable at phone widths without
   changing the classic ribbon or the desktop titlebar geometry. */
@media(max-width:480px){.excel-titlebar{gap:5px;padding:0 6px}.excel-titlebar strong{display:none}.excel-titlebar .excel-mark{font-size:18px}.excel-titlebar .course-picker{font-size:0;gap:0;min-width:0}.excel-titlebar .course-picker select{font-size:10px;width:min(135px,40vw);max-width:135px;min-width:0;padding:4px}.excel-titlebar button{font-size:9px;padding:4px 5px}.excel-titlebar #helpBtn{font-size:0}.excel-titlebar #helpBtn:after{font-size:12px}}

/* Two-step aggregation stays adjacent to the current goal and stage. */
#formulaSubsteps{border-bottom:1px solid #d6dfd9;margin-bottom:9px;padding-bottom:7px}#formulaSubstepNote{margin:0 0 6px;font-size:12px;color:#354d40}#formulaSubsteps [aria-pressed="true"]{border-color:#217346;background:#e6f2ea;color:#174d31;font-weight:600}
/* Course navigation uses real buttons; it never signals assessment completion. */
#formulaTargets{margin:8px 0 12px}#formulaTargets summary{cursor:pointer;font-size:12px}.formula-answer-group{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:7px 0}.formula-answer-group>span{font-size:11px;flex:1 1 100%}.answer-jump{font-size:11px;white-space:normal;text-align:left}.formula-step-list{padding-left:20px;margin:6px 0;font-size:12px}.formula-step-list li{padding:5px 0}.formula-step-list p{margin:3px 0;line-height:1.45}

#openSavedProgress{position:fixed;bottom:74px;left:8px;right:8px;z-index:191;padding:8px;background:#fff4d5;border:1px solid #99631e;color:#573a0c;font:12px/1.4 "Segoe UI",sans-serif}#openSavedProgress[hidden]{display:none}#storageMode{color:#754d0f;font-weight:600}

#storageRecovery{position:fixed;left:8px;right:8px;bottom:3px;z-index:190}#storageRecovery #storageNotice,#storageRecovery #openSavedProgress{position:static;margin:0}#storageRecovery #openSavedProgress:not([hidden]){display:block;border-top:0}

.startup-notice{padding:10px;margin:0;background:#fff4d5;color:#573a0c;font:13px/1.4 "Segoe UI",sans-serif}.track-intro{font-size:11px;line-height:1.45;color:#4f6257}

/* Keyboard curriculum discovery: independent from workbook focus/state. */
.curriculum-controls{display:grid;gap:8px;margin:12px 0;padding:10px;border:1px solid #ccd8cf;border-radius:5px;background:#fff}.curriculum-controls[hidden],.recommendation-panel[hidden]{display:none}.curriculum-controls label{display:grid;gap:4px;font-size:11px;font-weight:600;color:#234b35}.curriculum-controls input,.curriculum-controls select{width:100%;min-height:32px;font:inherit;border:1px solid #8fa99a;border-radius:3px;padding:5px;background:#fff;color:#193927}.curriculum-controls button{justify-self:start}.curriculum-controls p{font-size:10px;margin:2px 0;line-height:1.5;color:#435e4c}.curriculum-group h3{font-size:12px;margin:17px 0 6px;color:#234b35}.curriculum-group h3 span{font-weight:400;color:#52685a}.recommendation-panel{margin-top:15px;padding:10px;border:1px solid #b7cfc0;border-radius:5px;background:#edf5ef}.recommendation-panel h2{font-size:13px;margin:0 0 5px}.recommendation-panel p{font-size:10px;line-height:1.4;color:#435e4c;margin:0 0 7px}.recommendation-panel .lesson small{white-space:normal;line-height:1.4}.curriculum-controls :focus-visible,.recommendation-panel button:focus-visible{outline:2px solid #217346;outline-offset:2px}

#findDialog{width:min(600px,calc(100vw - 32px));max-height:90vh;overflow:auto}.find-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.find-fields label{display:flex;flex-direction:column;gap:5px}.find-fields input,.find-fields select{max-width:100%;padding:7px}.find-buttons{display:flex;gap:8px;flex-wrap:wrap}.find-limit{font-size:12px;color:#53616c}#findStatus{min-height:2em}#findDialog :focus-visible{outline:3px solid #15794b;outline-offset:2px}@media(max-width:600px){.find-fields{grid-template-columns:1fr}}

.range-table-header{background:#d9eee4!important;font-weight:700}.range-table-band{background:#f1f8f4}#tableDialog{width:min(560px,calc(100vw - 32px));max-height:90vh;overflow:auto}#tableDialog label{display:flex;gap:8px;align-items:center;margin:12px 0}#tableDialog input{padding:7px}#tableCreateError{color:#a12828}#tableDialog :focus-visible{outline:3px solid #15794b;outline-offset:2px}

.filter-quick[hidden]{display:none!important}

/* Explicit hiding wins over component display rules in ungraded mode. */
.free-practice-panel button[hidden],#freePracticeControls[hidden],.coach-panel[hidden]{display:none!important}
#freePracticeControls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
#freePracticeControls .training-note{flex-basis:100%}

#practiceStats[hidden]{display:none!important}

#practiceLibraryHeading[hidden]{display:none!important}

.workflow-label,.workflow-instructions h3{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#485b55;margin:14px 0 6px}.workflow-instructions ul{margin:6px 0 14px;padding-left:19px}.workflow-instructions li{font-size:13px;line-height:1.45;margin:5px 0;overflow-wrap:anywhere}.workflow-instructions[hidden],.workflow-label[hidden]{display:none!important}.learning-record-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;padding:22px;border:1px solid #b4c7be;border-radius:12px;color:#18382a}.learning-record-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.learning-record-dialog h2{margin:0}.learning-record-dialog p{line-height:1.5}.learning-record-dialog table{width:100%;border-collapse:collapse;font-size:13px}.learning-record-dialog th,.learning-record-dialog td{text-align:left;padding:8px 5px;border-bottom:1px solid #dce6df;white-space:normal}.learning-record-dialog li{margin:9px 0}.learning-record-dialog li p{margin:3px 0;color:#52645a}.learning-record-dialog [hidden]{display:none!important}@media(max-width:600px){.learning-record-dialog{padding:14px}.learning-record-dialog header{align-items:flex-start;flex-direction:column}.learning-record-dialog table{font-size:12px}.learning-record-dialog th,.learning-record-dialog td{padding:7px 3px}}

/* Free Practice-only dynamic projection: never stored as raw child cells. */
#grid td.spill-anchor{box-shadow:inset 0 0 0 2px #1e6a9a}
#grid td.spill-child{box-shadow:inset 1px 0 #649fbd,inset -1px 0 #649fbd;background-color:#eef7fc}
#formulaBar[aria-readonly="true"]{color:#53606b;background:#eef3f6}

/* One editable Formula Bar; a noninteractive in-cell mirror keeps its origin
   visible while the separately outlined source/range moves in Point mode. */
.app-layout:has(#formulaEntryContext:not([hidden])){grid-template-rows:35px 117px auto 74px minmax(120px,1fr) 31px 25px 22px}
.formula-row:has(#formulaEntryContext:not([hidden])){height:74px;flex-wrap:wrap;row-gap:1px;align-content:center}
.formula-entry-context{flex:0 0 100%;min-width:0;height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px/18px Aptos,Calibri,"Segoe UI",sans-serif;color:#24553e}
.formula-entry-context[hidden]{display:none}
#grid td.formula-origin{box-shadow:inset 0 0 0 2px #217346;background:#fff}
#grid td.formula-origin:before{content:attr(data-formula-draft);position:absolute;inset:2px;padding:2px 5px;background:#fff;color:#202020;text-align:left;font:normal 12px/19px Aptos,Calibri,"Segoe UI",sans-serif;text-decoration:none;white-space:pre;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:1}
#grid td.formula-reference{background:#eef4ff}
#grid td.formula-reference:after{content:'';position:absolute;inset:0;width:auto;height:auto;background:transparent;pointer-events:none;border:0 dashed #326bd3;z-index:2}
#grid td.formula-reference.reference-top:after{border-top-width:2px}
#grid td.formula-reference.reference-bottom:after{border-bottom-width:2px}
#grid td.formula-reference.reference-left:after{border-left-width:2px}
#grid td.formula-reference.reference-right:after{border-right-width:2px}
#grid td.formula-origin.formula-reference:after{inset:3px}
@media(max-width:760px){.app-layout:has(#formulaEntryContext:not([hidden])){grid-template-rows:35px 117px auto 74px minmax(140px,1fr) 31px 25px 30px}.formula-entry-context{font-size:10px}}
@media(forced-colors:active){#grid td.formula-origin{outline:2px solid CanvasText;outline-offset:-2px}#grid td.formula-origin:before{background:Canvas;color:CanvasText}#grid td.formula-reference:after{border-color:Highlight}.formula-entry-context{color:CanvasText}}

.command-search-dialog{width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #b4c7be;border-radius:12px;padding:20px;color:#18382a}.command-search-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}.command-search-dialog h2{margin:0;font-size:20px}.command-search-dialog p{font-size:13px;line-height:1.5}.command-search-dialog label{display:block;font-weight:700;margin-bottom:6px}.command-search-dialog input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #719887;border-radius:6px;font:inherit}.command-search-dialog [role=listbox]{display:grid;gap:5px;max-height:45vh;overflow:auto}.command-search-dialog [role=option]{display:flex;flex-direction:column;text-align:left;gap:4px;padding:10px;border:1px solid #d7e3dc;border-radius:5px;background:#fff;color:#18382a}.command-search-dialog [role=option] span{font-size:12px;line-height:1.4}.command-search-dialog [aria-selected=true]{border-color:#087b46;background:#e9f5ee;outline:2px solid #087b46;outline-offset:-2px}.command-search-dialog [aria-disabled=true]{color:#68776e;background:#f4f6f4}.command-search-dialog input:focus,.command-search-dialog button:focus-visible{outline:3px solid #087b46;outline-offset:2px}@media(max-width:600px){.command-search-dialog{padding:14px}.command-search-dialog h2{font-size:17px}}

/* Compact task-first course header. About/progress is a native transient disclosure;
   beginner onboarding and every task requirement retain their existing visibility. */
.compact-course-header{margin-bottom:10px}
.compact-course-header .local-save-summary{font-size:10px;line-height:1.35;color:#53665a;margin:4px 0 6px}
.course-about{font-size:11px;line-height:1.45;margin:0 0 3px}
.course-about>summary{cursor:pointer;font-weight:600;color:#276343;min-height:28px;padding:5px 0;overflow-wrap:anywhere}
.course-about>summary:focus-visible{outline:2px solid #397d50;outline-offset:2px;border-radius:2px}
.course-about-content{padding:5px 0 8px}
.course-about #courseSubtitle,.formula-course-panel .course-about #courseSubtitle{display:block;font-size:16px;line-height:1.3;margin:3px 0 7px}
.course-about .track-intro{margin:7px 0}
.course-about .overview,.formula-course-panel .course-about .overview{margin:8px 0 0;padding:8px 0 0;border-bottom:0}
#courseOverview[hidden]{display:none!important}
.compact-course-header .guide-toggle{font-size:11px;min-height:28px;margin:0;padding:4px 0}
.training-panel .challenge-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.training-panel .challenge h2{font-size:18px;line-height:1.3;margin:7px 0 8px}
.training-panel .challenge-actions{margin-bottom:10px;row-gap:7px}
@media(max-width:760px){.compact-course-header{margin-bottom:8px}.course-about>summary{min-height:32px}.training-panel .challenge h2{font-size:17px}}

/* Separate unproctored assessment, not practice score styling. */
.assessment-controls{border:1px solid #91a5af;border-radius:8px;padding:12px;margin:12px 0;background:#f4f7f9}.assessment-buttons{display:flex;gap:8px;flex-wrap:wrap}.assessment-buttons button{min-height:42px;white-space:normal}.assessment-report{margin-top:16px;border-top:2px solid #247254;padding-top:12px}.assessment-report li{margin:12px 0}.assessment-controls[aria-busy="true"]{border-color:#a85d05}.assessment-panel .coach-panel{display:none}@media(max-width:600px){.assessment-buttons button{flex:1 1 45%}.assessment-report{overflow-wrap:anywhere}}

.practice-observations{margin-top:12px;border-top:1px solid #ccd6d1;padding-top:8px}.practice-observations summary{cursor:pointer;font-weight:600}.practice-observations summary:focus-visible{outline:3px solid #16734a;outline-offset:3px}.observation-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}#observationsMetrics{font-size:12px;line-height:1.5}

/* Wrap is a persisted style, distinct from explicit line breaks. Native Excel sizing is not claimed. */
#grid td{white-space:pre}
#grid .wrapped-cell{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:18px;overflow:hidden;text-overflow:clip;max-width:100%}

#rowHeightDialog{max-width:34rem}#rowHeightValue{display:block;width:10rem;font:inherit;padding:.5rem}#rowHeightError{color:#a02020;min-height:1.5em}

/* Home geometry: reference labels participate in sizing, never paint over neighbors.
   79px controls + 16px captions + 5px padding/border + 17px native scrollbar = 117px.
   Keep the existing ribbon row and task-pane position; narrower windows scroll. */
#ribbonPanel[aria-label="Home ribbon"]{padding:3px 7px 1px;scroll-padding-inline:8px}
#ribbonPanel[aria-label="Home ribbon"] .office-group{width:max-content;min-width:max-content;flex:0 0 auto}
#ribbonPanel[aria-label="Home ribbon"] .office-group-content{height:79px;min-height:79px;flex:0 0 79px;align-items:flex-start}
#ribbonPanel[aria-label="Home ribbon"] .office-row{width:max-content;flex:0 0 auto;gap:2px}
#ribbonPanel[aria-label="Home ribbon"] .office-row>*{flex-shrink:0}
#ribbonPanel[aria-label="Home ribbon"] .office-command{flex-shrink:0}
#ribbonPanel[aria-label="Home ribbon"] .office-command>span:not(.office-caret){flex-shrink:0}
#ribbonPanel[aria-label="Home ribbon"] .font-group .office-group-content,
#ribbonPanel[aria-label="Home ribbon"] .alignment-group .office-group-content,
#ribbonPanel[aria-label="Home ribbon"] .number-group .office-group-content{gap:3px;padding-top:3px}
#ribbonPanel[aria-label="Home ribbon"] .office-plain.home-reference-control{flex-direction:column;justify-content:center;gap:1px;width:auto;min-width:48px;min-height:35px;max-height:none;padding:2px 5px}
#ribbonPanel[aria-label="Home ribbon"] .home-reference-mark{flex:0 0 auto;font-size:9px;line-height:11px;padding:0 2px;margin:0;color:#49574f;border-color:#a8b8af}
#ribbonPanel[aria-label="Home ribbon"] .font-group [data-home-reference="home.fontName"],
#ribbonPanel[aria-label="Home ribbon"] .font-group [data-home-reference="home.fontSize"]{background:#fff;border-color:#bcbcbc;align-items:flex-start}
#ribbonPanel[aria-label="Home ribbon"] .font-group [data-home-reference="home.fontName"]{min-width:110px}
#ribbonPanel[aria-label="Home ribbon"] .alignment-group .office-plain:nth-child(-n+3):not(.home-reference-control){min-width:25px}
#ribbonPanel[aria-label="Home ribbon"] .number-group .office-row:first-child{width:100%}
#ribbonPanel[aria-label="Home ribbon"] .number-group select{width:100%;min-width:165px}
#ribbonPanel[aria-label="Home ribbon"] .office-large{height:79px;max-height:79px;gap:2px;min-width:54px;max-width:none}
#ribbonPanel[aria-label="Home ribbon"] .office-large .office-icon{width:26px;height:26px;min-height:26px}
#ribbonPanel[aria-label="Home ribbon"] .office-large.home-reference-control{padding:2px 5px 9px;gap:1px}
#ribbonPanel[aria-label="Home ribbon"] .office-large.home-reference-control .office-icon{width:22px;height:22px;min-height:22px;margin-bottom:0}
#ribbonPanel[aria-label="Home ribbon"] .office-large.home-reference-control>span:not(.office-caret){line-height:13px}
#ribbonPanel[aria-label="Home ribbon"] .styles-group .office-large{width:94px}
#ribbonPanel[aria-label="Home ribbon"] .styles-group .office-large[data-action="createTable"]{width:110px}
#ribbonPanel[aria-label="Home ribbon"] .styles-group .office-large>span:not(.office-caret){max-width:100%;overflow-wrap:normal}
#ribbonPanel[aria-label="Home ribbon"] .office-split-large{height:79px;flex:0 0 auto}
#ribbonPanel[aria-label="Home ribbon"] .office-split-large .office-split-primary{height:59px;min-height:59px;max-height:59px;flex:0 0 59px}
#ribbonPanel[aria-label="Home ribbon"] .office-split-large .office-split-trigger{height:20px;min-height:20px;max-height:20px;flex:0 0 20px}
#ribbonPanel[aria-label="Home ribbon"] .office-group-caption{height:16px;min-height:16px;flex:0 0 16px;line-height:16px}
#ribbonPanel[aria-label="Home ribbon"] .office-group-caption:has(.home-reference-launcher){padding-left:4px;padding-right:72px}
#ribbonPanel[aria-label="Home ribbon"] .home-reference-launcher{width:66px;height:16px;right:0;bottom:0;gap:3px;justify-content:flex-end}
#ribbonPanel[aria-label="Home ribbon"] .home-reference-launcher small{font-size:9px;line-height:12px;color:#49574f}
#ribbonPanel[aria-label="Home ribbon"] .home-reference-launcher:focus-visible{outline:2px solid #1769aa;outline-offset:-2px}
/* Reserve real height for footer copy and transient history/table notices instead
   of drawing body siblings over the bottom of the full-viewport workbook. */
body{display:flex;flex-direction:column}
.excel-titlebar{flex:0 0 42px}
.app-layout{flex:1 1 auto;height:auto;min-height:0;overflow:auto;grid-template-rows:35px 117px auto 53px minmax(120px,1fr) 31px 25px auto}
.app-layout:has(#formulaEntryContext:not([hidden])){grid-template-rows:35px 117px auto 74px minmax(120px,1fr) 31px 25px auto}
.excel-main footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4px 16px;min-width:0;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.excel-main footer p{min-width:0;margin:0}
.excel-main footer #storageMode{grid-column:1/-1}
#historyNotice,.table-notice{flex:0 0 auto;max-height:20vh;overflow:auto;margin:0;padding:7px 10px;border-top:1px solid #dce4df;background:#edf4ee;color:#46644f;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
#historyNotice[hidden]{display:none}
@media(max-width:760px){.app-layout{grid-template-rows:35px 117px auto 53px minmax(140px,1fr) 31px 25px auto}.app-layout:has(#formulaEntryContext:not([hidden])){grid-template-rows:35px 117px auto 74px minmax(140px,1fr) 31px 25px auto}.app-layout:has(#formulaEntryContext:not([hidden])) .training-panel{top:269px}}

/* Section discovery reuses the native keyboard-operable select. */
.curriculum-controls .section-filter{font-size:13px;color:#173e2a}.curriculum-controls .section-filter select{min-height:36px;font-weight:600}
.question-spotlight #questionFullInstructions{margin-bottom:0}.question-spotlight #questionFullGoal{white-space:pre-line;overflow-wrap:anywhere}
/* Task-first question panel: optional welcome/progress stays accessible below it. */
.app-layout{grid-template-columns:minmax(0,1fr) clamp(330px,30vw,390px)}
.training-panel{padding:16px;background:#f4f7f5}
.training-panel .challenge{margin-top:0;margin-bottom:18px}
.question-spotlight{min-width:0;padding:17px 17px 15px;margin:0 0 14px;border:1px solid #cbded2;border-top:4px solid #217346;border-radius:10px;background:#fff;box-shadow:0 3px 12px #163d2610;overflow-wrap:anywhere}
.training-panel .question-spotlight .challenge-head{gap:6px 8px}
.training-panel .question-spotlight .tag{font-size:10px;letter-spacing:.65px;line-height:1.45}
.training-panel .question-spotlight #lessonTitle{font-size:23px;line-height:1.2;letter-spacing:-.35px;color:#173d2b;margin:12px 0 14px;font-weight:700}
.training-panel .question-spotlight #goal{font-size:15px;line-height:1.55;font-weight:400;color:#283f32;margin:0 0 15px}
/* A hidden policy label identifies the actual task, not a long supplied policy. */
.training-panel .question-spotlight #goalLabel[hidden]+#goal{font-size:18px;line-height:1.5;font-weight:700}
.training-panel .question-spotlight .challenge-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0}
.training-panel .question-spotlight #checkBtn{font-size:12px;padding:10px 12px;white-space:normal}
.training-panel .question-spotlight #checkBtn kbd{white-space:nowrap}
.training-panel .question-spotlight #timer{margin-left:auto}
.training-panel .question-spotlight .workflow-label{margin-top:0;margin-bottom:6px}
.training-panel .workflow-instructions{min-width:0;overflow-wrap:anywhere}
.training-panel .workflow-instructions .workflow-outputs-heading{font-size:15px;letter-spacing:normal;text-transform:none;color:#283f32}
.training-panel .workflow-instructions .workflow-outputs li{font-size:15px;line-height:1.55;font-weight:600;margin:8px 0}
.training-panel .compact-course-header{padding-top:14px;margin-top:4px;border-top:1px solid #d6e1d9}
.formula-course-panel .challenge{order:0;margin-top:0}
.formula-course-panel .pane-title{order:1}
@media(max-width:1000px){.app-layout{grid-template-columns:minmax(0,1fr) 320px}.training-panel{padding:12px}.question-spotlight{padding:14px}.training-panel .question-spotlight #lessonTitle{font-size:22px}}
@media(max-width:760px){.app-layout{grid-template-columns:minmax(0,1fr)}.training-panel{width:min(360px,92vw);padding:12px}.question-spotlight{padding:14px 12px}.training-panel .question-spotlight #lessonTitle{font-size:21px}.training-panel .question-spotlight #goal{font-size:14px}.training-panel .question-spotlight #goalLabel[hidden]+#goal{font-size:17px}.training-panel .question-spotlight .challenge-actions{gap:7px 5px}}
@media(forced-colors:active){.question-spotlight{border:1px solid CanvasText;box-shadow:none}.training-panel .question-spotlight #lessonTitle,.training-panel .question-spotlight #goal,.training-panel .workflow-instructions .workflow-outputs-heading{color:CanvasText}}
/* Bounded File reference navigation: distinct from executable commands. */
#fileDestinations button{width:100%;text-align:left}#fileDestinations button small{display:block;font-size:10px;opacity:.85}#fileDestinations button[aria-current="page"]{background:#145c3c;color:#fff}#filePage{overflow:auto;min-width:0}#filePage:focus-visible{outline:3px solid #217346;outline-offset:-5px}.file-reference-label{font-weight:700;color:#145c3c}.file-scope-note{font-size:.85rem;color:#555;max-width:65ch}#filePage button{padding:.65rem 1rem;margin:.5rem 0}#ribbonPanel:focus-visible{outline:2px solid #217346;outline-offset:-3px}

/* Honest, focusable navigation references are distinct from executable commands. */
.home-reference-mark{font-size:8px;line-height:1;color:#555;border:1px solid #a8b8af;border-radius:2px;padding:1px;margin-left:2px;white-space:nowrap}
.office-large .home-reference-mark{margin:0;font-size:8px}
.home-reference-launcher{width:60px;display:flex;align-items:center;gap:2px;right:0}.home-reference-launcher small{font-size:8px;color:#555}
.office-menu.home-reference-panel{width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 24px);overflow:auto;white-space:normal;padding:14px;box-sizing:border-box}
.home-reference-content h2{font-size:17px;margin:0 0 8px}.home-reference-content p{font-size:13px;line-height:1.45;margin:10px 0}.home-reference-content small{display:block;font-size:11px;line-height:1.4;color:#555}.home-reference-content .home-reference-label{font-weight:700;color:#5b480a;background:#fff5ce;padding:7px;border-radius:3px}.home-reference-content button{white-space:normal}.home-reference-content [data-home-reference-back]{margin-top:12px}.home-reference-panel:focus{outline:2px solid #1769aa}
/* Reusable browser guidance stays beside the question, outside saved goals. */
.sheet-navigation-note{margin:12px 0;padding:10px 12px;border-left:3px solid #217346;background:#edf6ef;color:#173e2a;font-size:12px;line-height:1.45}.sheet-navigation-note[hidden]{display:none}.sheet-navigation-note p{margin:5px 0}.sheet-navigation-note small{display:block;font-size:11px}.browser-fullscreen-footer{margin:0;max-width:70ch;color:#526259}

/* Separate overlay: explicit borders do not replace selection/audit/spill outlines,
 * and use no layout-changing table border widths. Neighbor cells retain ownership. */
#grid .cell-borders{position:absolute;inset:0;pointer-events:none;border:0 solid #222;z-index:1}
#grid .cell-borders.border-top{border-top-width:1px}
#grid .cell-borders.border-right{border-right-width:1px}
#grid .cell-borders.border-bottom{border-bottom-width:1px}
#grid .cell-borders.border-left{border-left-width:1px}
.border-scope-note{max-width:300px;padding:6px 10px;font-size:11px;line-height:1.4;color:#465d50}
@media(forced-colors:active){#grid .cell-borders{border-color:CanvasText}}

/* Pending move is session-only status in normal flow, never a sheet overlay. */
.pending-cut-notice{flex:0 1 auto;min-height:0;max-height:72px;overflow:auto;margin:0;padding:6px 10px;border-left:3px dashed #946000;background:#fff8df;color:#594000;font-size:11px;line-height:1.4}
.pending-cut-notice[hidden]{display:none}
.pending-cut-notice:focus-visible{outline:2px solid #1769aa;outline-offset:-2px}

/* Session-only Formula Bar expansion. 140px is the trainer's six-line maximum,
 * not a claim about desktop Excel pixels. Short viewports reduce it to at least
 * 63px (two lines above a classic scrollbar). Extra space stays in grid flow;
 * the existing app overflow and worksheet minimum retain reachable sheet space. */
#toggleFormulaBar{flex:0 0 62px;min-height:27px;padding:3px 5px;border:1px solid #9aaa9f;border-radius:2px;background:#fff;font-size:11px;line-height:17px;color:#174d34}
#toggleFormulaBar[aria-expanded="true"]{background:#e4efe8;border-color:#217346}
#toggleFormulaBar:focus-visible{outline:2px solid #1769aa;outline-offset:1px}
.app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])){--formula-expanded-height:clamp(63px,calc(100vh - 430px),140px);--formula-expanded-row:calc(var(--formula-expanded-height) + 9px);grid-template-rows:35px 117px auto var(--formula-expanded-row) minmax(120px,1fr) 31px 25px auto}
.app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])):has(#formulaEntryContext:not([hidden])){--formula-expanded-row:calc(var(--formula-expanded-height) + 30px)}
#formulaBar[data-expanded="true"]:not([hidden]){height:var(--formula-expanded-height)}
.formula-row:has(#formulaBar[data-expanded="true"]:not([hidden])){height:var(--formula-expanded-row);min-height:var(--formula-expanded-row)}
/* The existing narrow fixed pane would cover a taller editor. During expansion
 * it instead gets a bounded scrolling row before the worksheet, with no overlay
 * or absolute top calculation. Hidden panes take no space; collapse restores
 * the unchanged narrow layout. */
@media(max-width:760px){
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])){grid-template-rows:35px 117px auto var(--formula-expanded-row) auto minmax(140px,1fr) 31px 25px auto}
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])) .training-panel{position:static;grid-column:1;grid-row:5;width:auto;min-width:0;min-height:140px;max-height:clamp(140px,30vh,240px);border-left:0;border-top:1px solid #d9dfda;overflow-y:auto}
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])) #gridWrap{grid-row:6}
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])) .sheet-footer{grid-row:7}
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])) .excel-statusbar{grid-row:8}
 .app-layout:has(#formulaBar[data-expanded="true"]:not([hidden])) .excel-main footer{grid-row:9}
}
@media(forced-colors:active){#toggleFormulaBar{border-color:ButtonText;color:ButtonText;background:ButtonFace}#toggleFormulaBar[aria-expanded="true"]{border-width:2px}}

/* Header-anchored table popup: no centered card or blurred sheet backdrop. */
#filterDialog.column-filter-popup{position:fixed;inset:auto;margin:0;width:288px;max-width:calc(100vw - 16px);padding:8px;border:1px solid #8c9691;border-radius:2px;box-shadow:2px 4px 12px #0003;overflow:auto;font-family:"Segoe UI",Arial,sans-serif;font-size:12px}
#filterDialog.column-filter-popup::backdrop{background:transparent;backdrop-filter:none}
#filterDialog.column-filter-popup .dialog-head{gap:8px;margin:0 0 5px;padding:0 4px}
#filterDialog.column-filter-popup .dialog-head h2{font-size:12px;font-weight:600;overflow-wrap:anywhere;margin:3px 0}
#filterDialog.column-filter-popup .dialog-head button{padding:0 3px;font-size:17px}
.filter-menu-actions{display:flex;flex-direction:column;margin:0 -4px 6px}.filter-menu-actions button{text-align:left;border:1px solid transparent;padding:7px 10px;border-radius:0;font-size:12px}.filter-menu-actions button:hover:not(:disabled){background:#e5f1fb;border-color:#b6d9f5}.filter-menu-actions hr{margin:4px 7px;border:0;border-top:1px solid #d6d6d6}
.filter-search-label{display:block;margin:5px 2px 3px;font-size:11px}.filter-search-key{color:#58635d}#filterSearch{width:100%;padding:5px 7px;border:1px solid #a4aaa7;border-radius:0;background:white;font-size:12px}
.filter-values{margin-top:7px;border:1px solid #b9bdbb;padding:4px;max-height:185px;overflow:auto}.filter-choice{display:flex;align-items:center;gap:6px;min-height:23px;font-size:12px;line-height:1.4}.filter-choice input{margin:0 2px;flex-shrink:0;accent-color:#217346}.filter-choice span{overflow-wrap:anywhere}.filter-select-all{border-bottom:1px solid #e5e5e5;margin-bottom:2px;padding-bottom:3px}#filterNoMatches{color:#606760;padding:10px;text-align:center}#filterResultCount{font-size:10px;color:#526058;margin:6px 1px}.filter-popup-buttons{display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.filter-popup-buttons button{min-width:64px;padding:5px 12px;border-radius:2px;font-size:12px}.filter-scope{color:#5d6861;font-size:10px;line-height:1.4;margin:8px 0 0}
#filterDialog.table-operation-dialog{border-radius:3px;max-width:680px}#filterDialog.table-operation-dialog::backdrop{backdrop-filter:none;background:#0002}#filterDialog [hidden]{display:none!important}

/* Child menu is a sibling fixed surface so the root's scroll box cannot clip it. */
.office-menu.office-submenu{z-index:41;width:225px;min-width:0;box-sizing:border-box;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}
.office-menu button[aria-expanded="true"]{background:#e8f0e9}
.office-menu .submenu-caret{margin-left:auto;font-size:17px;line-height:14px;color:#555}
.office-menu.office-submenu button{white-space:normal;overflow-wrap:anywhere}

/* Local completion evidence stays readable within the existing modal. */
.completion-table-scroll{overflow-x:auto}#completedQuestionHistory table{width:100%;border-collapse:collapse}#completedQuestionHistory th,#completedQuestionHistory td{padding:.65rem;vertical-align:top;text-align:left;border-bottom:1px solid #d6ded9}#completedQuestionHistory th:first-child{min-width:12rem}#completedQuestionHistory td:last-child{min-width:10rem}#completionTitle:focus{outline:2px solid #217346;outline-offset:4px}

/* Race popup controls are independent of the worksheet/ribbon button rules. */
#competitionRaceDialog{max-width:620px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px}
#competitionRaceDialog .race-code-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin:10px 0}
#competitionRaceDialog input{min-width:0;max-width:100%;border:1px solid #8ba998;border-radius:6px;background:white;color:#173e2e;padding:12px;font-size:16px;min-height:44px}
#competitionRaceDialog .race-code-actions input{flex:1 1 220px}
#competitionRaceDialog button.primary,#competitionRaceDialog button.secondary{min-height:44px;padding:10px 18px;border-radius:6px;font-size:14px;font-weight:600}
#competitionRaceDialog button.primary{background:#176f47;color:#fff}
#competitionRaceDialog button.secondary{background:#edf4ef;border:1px solid #8ba998;color:#17482f}
#competitionRaceDialog button:disabled{opacity:1;color:#68756e;background:#eef1ef;border-color:#d7dfda;cursor:default}
#competitionRaceDialog label{display:block;font-weight:600;margin-top:12px}
#competitionRaceDialog .notice{margin-top:20px;border-radius:8px}
#competitionRaceDialog #competitionLobbyError{color:#a42525}
#competitionRaceDialog #competitionCount{width:110px;margin:10px 12px 10px 0}
@media(max-width:480px){#competitionRaceDialog{padding:18px;width:calc(100% - 24px)}#competitionRaceDialog .race-code-actions button{flex:1 1 100%}}

/* Keep cell-owned overlays below sticky row headers; pane cells retain their inline layers. */
#grid td{z-index:0}

/* Transient copied-source perimeter; never part of saved cell formatting. */
#grid .copy-source-outline{position:absolute;inset:1px;pointer-events:none;z-index:1;border:0;border-style:dashed;border-color:#176f47}
#grid .copy-source-top{border-top-width:2px}
#grid .copy-source-right{border-right-width:2px}
#grid .copy-source-bottom{border-bottom-width:2px}
#grid .copy-source-left{border-left-width:2px}
@media(forced-colors:active){#grid .copy-source-outline{border-color:Highlight}}

/* Explicit fills are a base layer: selected, answer, audit and spill overlays retain precedence. */
#grid td.has-cell-fill:not(.selected):not(.active):not(.formula-answer):not(.audit-cell):not(.spill-child):not(.formula-origin):not(.formula-reference):not(.range-table-header){background-color:var(--cell-fill)}
#grid td.has-font-color{color:var(--cell-font-color)}
#grid .cell-appearance-content{display:block;overflow:hidden;line-height:inherit}
#grid .wrapped-cell{font:inherit;line-height:inherit}
#appearanceDialog{width:min(460px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:18px}
#appearanceDialog label{display:flex;flex-direction:column;gap:5px;margin:12px 0}#appearanceDialog select,#appearanceDialog input{font:inherit;padding:7px;border:1px solid #9aafa4;border-radius:3px;background:#fff;color:#172c2a}
#appearanceDialog [hidden]{display:none!important}#appearancePalette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}#appearancePalette button{min-height:32px;border:1px solid #607267;border-radius:3px;box-shadow:inset 0 0 0 2px #fff}#appearanceNotice,#appearanceMixed{font-size:12px;line-height:1.5}#appearanceError{color:#9b2e25;min-height:18px}

/* Shared Format Cells sections: tabs never commit drafts. */
#formatDialog [hidden]{display:none!important}#formatDialog .format-tabs{flex-wrap:wrap}#formatDialog .format-section{min-width:0}#formatDialog .format-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#formatDialog .format-section label{display:flex;flex-direction:column;gap:5px;margin:8px 0}#formatDialog .format-section input,#formatDialog .format-section select{font:inherit;min-width:0;max-width:100%;padding:5px}#formatDialog .format-style-options{display:flex;flex-wrap:wrap;gap:16px}#formatDialog .format-style-options label{flex-direction:row;align-items:center}#formatDialog .format-reset-actions{display:flex;flex-wrap:wrap;gap:7px}#formatDialog .format-reset-actions button{font:inherit;padding:5px}#formatFontSample{display:block;overflow:hidden;max-width:450px;max-height:85px;white-space:nowrap}#formatDialog .format-section p{font-size:11px;line-height:1.5}#formatDialog button:focus-visible,#formatDialog input:focus-visible,#formatDialog select:focus-visible{outline:2px solid #1769aa;outline-offset:1px}@media(max-width:500px){#formatDialog .format-section-grid{grid-template-columns:minmax(0,1fr)}#formatFontSample{max-width:calc(100vw - 70px)}}

/* Text-only orientation; cell and overlay geometry remain untransformed. */
#grid .orientation-viewport{display:block;position:relative;overflow:hidden;box-sizing:border-box;pointer-events:none}#grid .orientation-text{display:block;position:absolute;transform-origin:0 0;white-space:pre;pointer-events:none}

/* Trainer Cell Styles previews never paint on worksheet cells until selected. */
#ribbonMenu .cell-style-note{padding:8px;max-width:100%;font-size:12px;white-space:normal}
#ribbonMenu .cell-style-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}
#ribbonMenu .cell-style-gallery button{display:flex;flex-direction:column;align-items:stretch;min-width:0;white-space:normal}
#ribbonMenu .cell-style-sample{display:block;overflow:hidden;padding:4px;min-height:32px;line-height:1.3;font-family:Arial,sans-serif;text-align:left;pointer-events:none}
#ribbonMenu .cell-style-gallery button:focus-visible{outline:2px solid #146C43;outline-offset:-2px}
#ribbonMenu.cell-styles-menu{width:min(430px,calc(100vw - 16px));min-width:0;box-sizing:border-box;max-height:calc(100vh - 24px)}

/* Nonmodal internal-copy pane; never an OS clipboard surface. */
.clipboard-pane{position:fixed;right:8px;top:100px;width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 116px);overflow:auto;z-index:35;box-sizing:border-box;padding:12px;background:#fff;border:1px solid #9ca9a1;box-shadow:0 3px 14px #0002;font-size:12px}
.clipboard-pane[hidden]{display:none}
.clipboard-pane header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.clipboard-pane h2{font-size:18px;margin:0}.clipboard-pane h3{font-size:13px;overflow-wrap:anywhere}
.clipboard-pane pre{white-space:pre;overflow:auto;max-height:140px;background:#f4f7f5;padding:6px;border:1px solid #d7dfda;font-size:12px}
.clipboard-pane-item{border-top:1px solid #d7dfda;margin-top:10px;padding-top:6px}
.clipboard-pane-actions{display:flex;flex-wrap:wrap;gap:4px}.clipboard-pane button{font-size:12px;padding:5px 7px}
.clipboard-pane :focus-visible{outline:2px solid #146c43;outline-offset:1px}

/* Conditional colors remain base paint beneath existing selection/audit/focus layers. */
#conditionalDialog{width:min(660px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:18px}#conditionalDialog p{font-size:12px;line-height:1.5}#conditionalDialog label{display:flex;flex-direction:column;gap:4px;margin:8px 0}#conditionalDialog input,#conditionalDialog select{font:inherit;padding:6px;border:1px solid #8ca296;border-radius:3px;max-width:100%;box-sizing:border-box}#conditionalDialog button{font:inherit;padding:6px 10px;margin:3px;border:1px solid #799789;border-radius:3px;background:#edf5f0;color:#173b2c}#conditionalDialog button:focus-visible{outline:2px solid #006b45;outline-offset:2px}#conditionalDialog button:disabled{opacity:.45}#conditionalDialog [hidden]{display:none!important}#conditionalRules{padding-left:24px;max-height:220px;overflow:auto}#conditionalRules li{padding:8px 0;border-bottom:1px solid #dce6df}#conditionalError{color:#9b2e25;min-height:18px}.conditional-swatch{display:inline-block;padding:5px 12px;border:1px solid #87998d}.conditional-actions{display:flex;gap:6px;flex-wrap:wrap}

/* Worksheet display preferences retain geometry, explicit borders and focus. */
#grid[data-gridlines="hidden"] td:not([data-merge-range]){border-right-color:transparent;border-bottom-color:transparent}
#grid[data-headings="hidden"] .worksheet-heading-label{visibility:hidden}
#ribbonPanel [data-view-setting][aria-pressed="true"]{background:#e6f2ea;box-shadow:inset 0 0 0 1px #217346}
/* Worksheet viewport preferences never resize stored workbook dimensions. */
#formulaBar[hidden],#toggleFormulaBar[hidden],#formulaGlyph[hidden],#formulaVisibilityNote[hidden]{display:none!important}
#formulaVisibilityNote{font-size:11px;color:#355843;padding:0 6px;max-width:260px}

/* Local note marker remains inside the cell stacking context. */
.cell-note-indicator{position:absolute;right:1px;top:1px;width:0;height:0;border-top:6px solid #b42318;border-left:6px solid transparent;pointer-events:none}
#noteValue{width:100%;box-sizing:border-box;white-space:pre-wrap}

.cell-link-indicator{position:absolute;left:1px;top:0;font:9px sans-serif;color:#174ea6;pointer-events:none}
#hyperlinkDestination,#openExternalLink{overflow-wrap:anywhere}

#functionDialog{max-width:640px;width:min(640px,90vw);max-height:85vh;overflow:auto}#functionDialog input,#functionDialog select{max-width:100%;box-sizing:border-box}#functionChoice{width:100%}.function-argument{display:grid;grid-template-columns:1fr auto;gap:4px;margin:12px 0}.function-argument label,.function-argument small{grid-column:1/-1}#functionPreview{white-space:pre-wrap;overflow-wrap:anywhere}button.formula-glyph{cursor:pointer}

#errorCheckingDialog{max-width: min(680px,90vw)}
#errorCheckingFormula{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}

#workbookStatisticsDialog{max-width:min(680px,90vw)}
#workbookStatisticsSummary,#workbookStatisticsSheets{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}
#workbookStatisticsSheets{max-height:240px;overflow:auto}

#watchPane{padding:8px;border:1px solid #9ca9a1;background:#fff;font-size:12px;max-height:240px;overflow:auto}#watchPane[hidden]{display:none}#watchPane header{display:flex;align-items:center;justify-content:space-between;gap:8px}#watchPane h2{font-size:16px;margin:0}#watchPane p{margin:4px 0}#watchPane button{font-size:12px;padding:4px 7px}#watchPane table{width:100%;table-layout:fixed;border-collapse:collapse}#watchPane th,#watchPane td{padding:4px;border:1px solid #d7dfda;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}#watchPane :focus-visible{outline:2px solid #146c43;outline-offset:1px}.watch-table-scroll{overflow:auto;max-height:130px}
.column-charts{max-height:420px;overflow:auto;border-top:1px solid #888;background:var(--bg,#fff);color:var(--text,#111)}.column-chart-card{padding:12px;min-width:320px}.column-chart-card svg{display:block;width:100%;max-width:900px;min-width:320px}.column-chart-card table{border-collapse:collapse;font-size:12px}.column-chart-card th,.column-chart-card td{padding:5px;border:1px solid #888}.column-chart-card details{overflow:auto}.column-chart-card h3{margin:0}.column-chart-card p{font-size:12px}#columnChartDialog{width:min(900px,90vw);max-height:90vh;overflow:auto}#columnChartDialog label{display:block;margin:8px 0}

/* Focus Cell is a screen-only view overlay, never a stored cell fill or border.
   A dedicated child avoids formula draft/reference and fill-handle pseudo-elements. */
#grid .focus-cell-overlay{display:none;pointer-events:none;position:absolute;inset:0;z-index:0}
@media screen{
 #grid[data-focus-cell="on"] td[data-focus-band]>.focus-cell-overlay{display:block;background:rgba(37,99,235,.12)}
 #grid[data-focus-cell="on"] td[data-focus-band="active"]>.focus-cell-overlay{background:transparent;box-shadow:inset 0 0 0 3px #2563eb,inset 0 0 0 4px #fff}
}
@media screen and (forced-colors:active){
 #grid[data-focus-cell="on"] td[data-focus-band]>.focus-cell-overlay{background:transparent;outline:1px dotted Highlight;outline-offset:-2px}
 #grid[data-focus-cell="on"] td[data-focus-band="active"]>.focus-cell-overlay{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}
}

/* Read-only Sheets navigation pane; no worksheet cell geometry/style writes. */
#navigationPane{position:fixed;right:12px;top:210px;bottom:65px;width:min(280px,85vw);z-index:30;overflow:auto;padding:12px;background:#fff;border:1px solid #9ca9a1;box-shadow:0 3px 14px #0003;font-size:12px}
#navigationPane[hidden]{display:none}#navigationPane header{display:flex;align-items:center;justify-content:space-between;gap:8px}#navigationPane h2{font-size:16px;margin:0}#navigationPane button{padding:6px 8px}#navigationSheets{display:grid;gap:6px}#navigationSheets button{text-align:left}#navigationSheets [aria-current="page"]{font-weight:bold;border-left:4px solid #146c43}#navigationPane :focus-visible{outline:3px solid #146c43;outline-offset:2px}
