*{box-sizing:border-box}
:root{--excel:#217346;--excel-dark:#185c37;--excel-deep:#0f4b2c;--bg:#eef3f6;--panel:#fff;--ink:#202124;--muted:#667085;--line:#d9e0dc;--soft:#f5f8f6;--blue:#2563eb;--danger:#b42318;--shadow:0 22px 70px rgba(15,23,42,.13)}
html,body{margin:0;min-height:100%;overflow-x:hidden;font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(33,115,70,.14),transparent 30rem),linear-gradient(180deg,#f7faf9,#eef3f6 55%,#e9eef2)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.spacer{flex:1}
.sitebar{height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(12px,3vw,34px);background:rgba(249,251,250,.8);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.9);position:sticky;top:0;z-index:40}.brand-side{display:flex;align-items:center;gap:8px}.back{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;text-decoration:none;color:#344054}.back:hover{background:#fff}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}.brand-orb{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#217346,#2563eb);color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#667085;font-size:.72rem}.chapter-label{font-size:.88rem;color:#667085;font-weight:650}.site-btn{justify-self:end;border:1px solid #d7dee7;background:#fff;border-radius:9px;padding:8px 12px;color:#344054}
.shell{width:min(1500px,calc(100% - 20px));margin:22px auto 54px}.eyebrow{font-size:.71rem;font-weight:900;letter-spacing:.12em;color:var(--excel);text-transform:uppercase}.launch-card{max-width:1140px;margin:30px auto;display:grid;grid-template-columns:1.35fr .65fr;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.86);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.launch-main{padding:50px}.launch-main h1{font-size:clamp(2.2rem,5vw,4rem);line-height:.98;margin:10px 0 18px}.launch-main p{font-size:1.04rem;line-height:1.65;color:#5f6b76;max-width:760px}.feature-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.feature-row span{background:#edf7f1;border:1px solid #d2eadb;color:#185c37;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.chapter-scope{display:grid;gap:5px;margin-top:22px;padding:16px 18px;border:1px solid #dce7e0;border-radius:14px;background:linear-gradient(135deg,#f7fbf8,#fff)}.chapter-scope strong{color:#185c37}.chapter-scope span{color:#667085;font-size:.84rem}.launch-form{padding:38px 30px;background:linear-gradient(180deg,#f8faf9,#f2f7f4);border-left:1px solid #e0e7e3;display:flex;flex-direction:column;justify-content:center;gap:14px}.launch-form label{display:grid;gap:6px;color:#475467;font-size:.81rem;font-weight:700}.launch-form input{height:43px;border:1px solid #cbd5d0;border-radius:9px;background:#fff;padding:0 11px;font-size:16px}.candidate-grid,.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-card{border:1px solid #d8e1dc;background:#fff;border-radius:12px;padding:12px;text-align:left;display:grid;gap:3px;color:#475467}.mode-card span{font-size:.72rem;color:#667085}.mode-card.selected{border-color:#69a480;box-shadow:0 0 0 2px rgba(33,115,70,.12);background:#f4faf6}.primary,.secondary{border-radius:9px;padding:9px 14px;font-weight:750}.primary{border:1px solid var(--excel);background:var(--excel);color:#fff}.primary:hover{background:var(--excel-dark)}.secondary{border:1px solid #ccd6d0;background:#fff;color:#344054}.wide{width:100%;padding:12px}.microcopy{font-size:.7rem;color:#7c8790;line-height:1.45;margin:0}
.questbar{display:grid;grid-template-columns:1fr 1.1fr 1.2fr auto auto;gap:12px;align-items:center;background:rgba(255,255,255,.84);border:1px solid #e1e7e3;border-radius:14px;padding:10px 14px;margin-bottom:12px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.questbar>div{display:grid;gap:2px}.questbar span{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3}.questbar strong{font-size:.82rem;color:#344054}.progress{height:7px;background:#e4e9e6;border-radius:999px;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--excel),#47a66e);transition:.25s}.mission-card{border:1px solid #e1e7e3;background:rgba(255,255,255,.92);border-radius:16px;padding:20px 22px;margin-bottom:12px}.mission-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.mission-top h2{margin:4px 0 8px;font-size:1.35rem}.mark-pill{background:#edf7f1;color:#185c37;border:1px solid #d5eadc;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800}.mission-text{color:#475467;line-height:1.55;margin:0 0 10px}.checklist{display:flex;gap:6px;flex-wrap:wrap}.checklist div{font-size:.72rem;padding:5px 8px;border-radius:7px;background:#f5f7f6;border:1px solid #e1e7e3;color:#667085}.feedback{margin-top:12px;border-radius:9px;padding:10px 12px;font-size:.8rem}.feedback.good{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.feedback.bad{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.feedback.hint{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.mission-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.excel-window{border:1px solid #aebbb3;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.14)}.excel-titlebar{height:41px;background:var(--excel);color:#fff;display:grid;grid-template-columns:1fr minmax(180px,420px) 1fr;align-items:center;padding:0 10px}.excel-brand{display:flex;align-items:center;gap:9px;font-size:.79rem}.excel-logo{width:25px;height:25px;border-radius:4px;background:#fff;color:var(--excel);display:grid;place-items:center;font-weight:900}.excel-search{height:27px;border-radius:6px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#f3fff7}.window-buttons{justify-self:end;display:flex;height:100%;align-items:center}.window-buttons span{width:34px;text-align:center;font-size:.8rem}.quick-row{height:30px;display:flex;align-items:center;gap:2px;padding:0 7px;background:#fbfcfb;border-bottom:1px solid #dde4e0}.quick-row button{border:0;background:transparent;border-radius:5px;width:30px;height:25px}.quick-row button:hover{background:#e9efeb}.autosave{margin-left:auto;color:#667085;font-size:.68rem}.autosave b{color:#185c37}.excel-tabs{height:34px;display:flex;align-items:flex-end;gap:1px;background:#fff;border-bottom:1px solid #d9dfdc;padding-left:5px}.excel-tab{height:34px;border:0;background:transparent;padding:0 14px;color:#344054;font-size:.78rem;border-bottom:3px solid transparent}.excel-tab.active{color:var(--excel);border-bottom-color:var(--excel);font-weight:750}.excel-tab[data-tab=file]{background:var(--excel-dark);color:#fff;border-bottom-color:transparent;border-radius:0}.ribbon{min-height:96px;display:flex;align-items:stretch;background:#fff;border-bottom:1px solid #d9dfdc;overflow-x:auto;padding:5px 7px}.ribbon-group{min-width:max-content;padding:3px 9px;border-right:1px solid #e4e8e5;display:flex;flex-direction:column;justify-content:space-between}.ribbon-group:last-child{border-right:0}.ribbon-controls{display:flex;align-items:center;gap:5px;height:60px}.ribbon-group-title{text-align:center;font-size:.64rem;color:#7b8790;margin-top:4px}.ribbon-btn{border:1px solid transparent;background:#fff;border-radius:6px;min-width:52px;min-height:49px;padding:5px 7px;color:#344054;font-size:.68rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.ribbon-btn:hover{background:#f2f7f4;border-color:#d9e2dd}.ribbon-btn.active{background:#e7f4ec;border-color:#a6ccb5}.ribbon-btn .ico{font-size:1.23rem}.ribbon-select,.ribbon-input{min-height:31px;border:1px solid #cdd5d0;border-radius:5px;background:#fff;padding:0 7px;font-size:.74rem}.ribbon-stack{display:grid;gap:4px}.formula-row{height:37px;display:flex;align-items:center;background:#fff;border-bottom:1px solid #d9dfdc}.name-box{width:90px;height:100%;border:0;border-right:1px solid #d9dfdc;padding:0 8px;font-size:.76rem;outline:none}.formula-mini{width:30px;height:29px;border:0;background:transparent;color:#65726a}.formula-mini:hover{background:#eef4f0}.fx{width:30px;text-align:center;font-style:italic;color:#647067}.formula-input{flex:1;height:100%;border:0;border-left:1px solid #d9dfdc;padding:0 9px;outline:none;font-family:Consolas,"SFMono-Regular",monospace;font-size:.79rem;color:#26332b}.excel-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:590px}.sheet-area{min-width:0;display:flex;flex-direction:column}.sheet-info{height:39px;background:#f7faf8;border-bottom:1px solid #dde4df;display:flex;align-items:center;gap:16px;padding:0 9px}.sheet-info div{display:flex;align-items:center;gap:6px}.sheet-info span{font-size:.65rem;text-transform:uppercase;color:#98a2b3}.sheet-info strong{font-size:.74rem;color:#185c37}.tiny-btn{border:1px solid #d4ddd8;background:#fff;border-radius:6px;padding:5px 8px;color:#475467;font-size:.7rem;margin-left:auto}.grid-scroll{overflow:auto;flex:1;max-height:535px;background:#fff}.sheet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:1180px;width:max-content;user-select:none;font-size:.76rem}.sheet-grid th,.sheet-grid td{height:27px;border-right:1px solid #e0e5e2;border-bottom:1px solid #e0e5e2;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;position:relative}.sheet-grid thead th{position:sticky;top:0;z-index:5;background:#f4f7f5;text-align:center;color:#667085;font-weight:500}.sheet-grid .row-head{position:sticky;left:0;z-index:4;width:46px;min-width:46px;background:#f4f7f5;text-align:center;color:#667085;font-weight:500}.sheet-grid thead .row-head{z-index:7}.sheet-grid td.cell{cursor:cell;min-width:96px}.sheet-grid td.cell .cell-editor{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);border:2px solid var(--excel);outline:0;background:#fff;color:#1f2937;padding:0 5px;font:inherit;z-index:8;box-sizing:border-box}.sheet-grid td.selected{background:#dff0e5;outline:1px solid #69a480;outline-offset:-1px}.sheet-grid td.active-cell{outline:2px solid var(--excel);outline-offset:-2px;z-index:2}.sheet-grid td.filtered-out{display:none}.sheet-grid tr.filtered-out{display:none}.sheet-grid td.formula-cell::after{content:"";position:absolute;right:1px;top:1px;border-top:5px solid #8ab89c;border-left:5px solid transparent}.sheet-grid td.cf-red{background:#c00000!important;color:#fff}.sheet-grid td.cf-amber{background:#ffc000!important;color:#111}.sheet-grid td.cf-green{background:#70ad47!important;color:#111}.sheet-grid td.fill-black{background:#111!important;color:#fff}.sheet-grid td.fill-blue{background:#1f4e78!important;color:#fff}.sheet-grid td.fill-yellow{background:#ffe699!important}.sheet-grid td.pattern-diag{background:repeating-linear-gradient(45deg,#b8c2bd 0 2px,#eef1ef 2px 6px)!important}.sheet-grid td.all-borders{box-shadow:inset 0 0 0 1px #222}.sheet-grid td.bold{font-weight:700}.sheet-grid td.italic{font-style:italic}.sheet-grid td.underline{text-decoration:underline}.sheet-grid td.wrap{white-space:normal;line-height:1.15}.sheet-grid td.center{text-align:center}.sheet-grid td.right{text-align:right}.sheet-grid td.text-yellow{color:#ffd966}.sheet-grid td.text-white{color:#fff}.sheet-grid td.text-red{color:#c00000}.sheet-grid td.text-green{color:#006100}.sheet-grid .merged{overflow:visible}.sheet-tabs-row{height:35px;display:flex;align-items:center;background:#f5f7f6;border-top:1px solid #d9dfdc;padding:0 7px;gap:3px}.sheet-tab,.extra-sheet-tabs button{height:30px;border:0;background:#fff;padding:0 16px;border-bottom:2px solid transparent;color:#344054}.sheet-tab.active,.extra-sheet-tabs button.active{border-bottom-color:var(--excel);color:#185c37;font-weight:700}.extra-sheet-tabs{display:flex}.sheet-plus{margin-left:3px;font-size:1.1rem;color:#68736d}.statusbar{height:29px;background:#f5f7f6;border-top:1px solid #d9dfdc;display:flex;align-items:center;padding:0 9px;color:#667085;font-size:.69rem}.status-btn{border:0;background:transparent}.status-btn.active{background:#dce8e0}.task-pane{border-left:1px solid #d9dfdc;background:#fbfdfc;display:flex;flex-direction:column}.pane-head{height:39px;border-bottom:1px solid #d9dfdc;display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:.78rem}.pane-head button{border:0;background:transparent;font-size:1.1rem}.pane-content{padding:13px;overflow:auto;max-height:590px;font-size:.77rem;color:#475467}.pane-section{border-bottom:1px solid #e4e9e6;padding-bottom:12px;margin-bottom:12px}.pane-section:last-child{border-bottom:0}.pane-section h4{margin:0 0 8px;color:#344054}.pane-content label{display:grid;gap:4px;margin:8px 0;font-weight:700}.pane-content input,.pane-content select,.pane-content textarea{width:100%;min-height:34px;border:1px solid #cdd5d0;border-radius:6px;padding:5px 7px;background:#fff;font-size:.78rem}.pane-content textarea{min-height:72px;resize:vertical}.pane-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pane-btn{width:100%;border:1px solid #cad4ce;background:#fff;border-radius:7px;padding:8px 9px;margin-top:6px;color:#344054;text-align:left}.pane-btn:hover{background:#f1f6f3}.filter-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;background:#f3f7f4;border:1px solid #dbe5df;border-radius:7px;margin:5px 0}.mini-grid{border-collapse:collapse;width:100%;font-size:.7rem}.mini-grid td,.mini-grid th{border:1px solid #dfe5e1;padding:5px;background:#fff}.formula-sample{font-family:Consolas,monospace;background:#f5f7f6;border:1px solid #e1e7e3;border-radius:6px;padding:7px;word-break:break-all}.print-sheet{background:#fff;border:1px solid #cfd7d2;box-shadow:0 4px 20px rgba(15,23,42,.08);padding:18px;min-height:220px}.print-sheet.landscape{aspect-ratio:1.414/1}.print-sheet.portrait{aspect-ratio:1/1.414}.print-meta{text-align:right;font-size:.65rem;color:#667085;margin-bottom:7px}.print-preview-grid{border-collapse:collapse;width:100%;font-size:.62rem}.print-preview-grid td,.print-preview-grid th{border:1px solid #cfd5d1;padding:3px}.print-preview-grid.no-grid td,.print-preview-grid.no-grid th{border-color:transparent}.print-preview-grid.show-headings thead th,.print-preview-grid.show-headings .rownum{background:#f0f2f1}.toast{position:fixed;right:20px;bottom:20px;background:#173a28;color:#fff;padding:10px 13px;border-radius:9px;box-shadow:0 10px 35px rgba(0,0,0,.2);z-index:100;font-size:.78rem}
.results{max-width:1050px;margin:28px auto;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.9);border-radius:22px;padding:clamp(26px,5vw,52px);box-shadow:var(--shadow)}.result-top{display:flex;align-items:center;gap:18px;margin:25px 0}.score-ring{width:112px;height:112px;border-radius:50%;border:11px solid #d7ebe0;display:grid;place-items:center;background:#fff}.score-ring span{font-size:1.5rem;font-weight:900;color:var(--excel)}.big-score{font-size:2rem;font-weight:900}.result-top p{color:#667085;margin:5px 0}.result-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.result-panel{border:1px solid #e1e7e3;background:#fff;border-radius:13px;padding:16px}.skill-row{display:grid;grid-template-columns:135px 1fr auto;gap:8px;align-items:center;margin:10px 0;font-size:.8rem}.skill-track{height:7px;border-radius:999px;overflow:hidden;background:#e5e7eb}.skill-track div{height:100%;background:var(--excel)}.review-row{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #eef2ef;padding:9px 0;font-size:.8rem}.ok{color:#15803d;font-weight:800}.miss{color:#b42318;font-weight:800}.result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.link-btn{display:inline-flex;align-items:center;text-decoration:none}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.44);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;z-index:90}.dialog{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:13px;padding:0;box-shadow:0 24px 80px rgba(15,23,42,.26)}.dialog-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e3e8e5}.dialog-head h3{margin:0;font-size:1rem}.dialog-head button{border:0;background:transparent;font-size:1.15rem}.dialog-body{display:grid;gap:10px;padding:16px}.dialog label{display:grid;gap:4px;font-weight:700;color:#475467;font-size:.8rem}.dialog input,.dialog select,.dialog textarea{min-height:39px;border:1px solid #cbd5e1;border-radius:7px;padding:6px 8px;font-size:16px}.dialog textarea{min-height:70px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e3e8e5}.footer{text-align:center;color:#98a2b3;font-size:.76rem;padding:22px}
@media(max-width:1100px){.excel-body{grid-template-columns:1fr}.task-pane{border-left:0;border-top:1px solid #d9dfdc;max-height:300px}.pane-content{max-height:260px}.launch-card{grid-template-columns:1fr}.launch-form{border-left:0;border-top:1px solid #e0e7e3}.result-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sitebar{grid-template-columns:1fr auto}.chapter-label{display:none}.shell{width:min(100% - 10px,1500px);margin-top:8px}.launch-main,.launch-form{padding:24px 20px}.candidate-grid,.mode-grid{grid-template-columns:1fr}.questbar{grid-template-columns:1fr 1fr auto;gap:8px}.questbar>div:nth-child(2),.questbar>div:last-child{display:none}.progress-wrap{grid-column:1/3}.mission-card{padding:16px}.mission-top{flex-direction:column}.mission-actions{justify-content:stretch}.mission-actions button{flex:1}.excel-titlebar{grid-template-columns:1fr auto}.excel-search{display:none}.excel-brand{min-width:0}.excel-brand span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-buttons span{width:28px}.ribbon{min-height:90px}.formula-row{height:41px}.name-box{width:68px}.formula-mini{display:none}.fx{width:27px}.sheet-info{flex-wrap:wrap;height:auto;min-height:43px;padding:5px 7px}.sheet-info .tiny-btn{margin-left:0}.grid-scroll{max-height:470px}.task-pane{max-height:340px}.result-top{align-items:flex-start}.skill-row{grid-template-columns:105px 1fr auto}.result-actions{flex-wrap:wrap}.excel-tab{padding:0 10px}.quick-row{display:none}}

/* Error 24: do not remove Excel Quick Access controls on phones. */
@media(max-width:760px){
  .excel-titlebar{grid-template-columns:minmax(0,1fr) auto!important}
  .window-buttons{justify-self:end}
  .quick-row{display:flex!important;overflow-x:auto;white-space:nowrap}
  .excel-tabs{overflow-x:auto;white-space:nowrap}
  .grid-scroll{overflow:auto;max-width:100%}
}

