:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#172033;--muted:#5b6578;--paper:#fff;--paper-soft:#f7fbff;--line:#dbe5f2;--blue:#3c7df0;--blue-soft:#dceaff;--red:#f25f5c;--red-soft:#ffe3e2;--green:#2fbf71;--green-soft:#daf8e7;--yellow:#ffd166;--yellow-soft:#fff2bf;--orange-soft:#ffe8cc;--purple:#8a5cf6;--purple-soft:#ece5ff;--teal:#28b8ae;--teal-soft:#d8f7f4;--shadow:0 16px 40px #17203324;--soft-shadow:0 10px 22px #1720331a;--radius:8px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);letter-spacing:0;background:linear-gradient(90deg,#17203309 1px,#0000 1px) 0 0/28px 28px,linear-gradient(0deg,#17203309 1px,#0000 1px) 0 0/28px 28px,linear-gradient(135deg,#f8fbff 0%,#eff9f5 46%,#fff8ec 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;font-size:3rem;line-height:1.02}h2{margin-bottom:10px;font-size:1.35rem;line-height:1.15}h3{margin-bottom:10px;font-size:1rem}p{color:var(--muted);line-height:1.6}#root{min-height:100vh}.app-shell{width:min(1180px,100% - 32px);min-height:100vh;margin:0 auto;padding:28px 0}.screen-card,.lesson-map,.level-screen{border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #dbe5f2eb}.screen-card{padding:32px}.eyebrow{color:var(--blue);text-transform:uppercase;margin-bottom:8px;font-size:.77rem;font-weight:800;line-height:1.2}.lead{max-width:68ch;font-size:1.08rem}.primary-button,.secondary-button,.text-button{border-radius:var(--radius);min-height:44px;font-weight:800;line-height:1.15;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.primary-button,.secondary-button{border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);padding:12px 18px}.primary-button{color:var(--ink);background:var(--yellow)}.secondary-button{color:var(--ink);background:var(--paper)}.text-button{color:var(--blue);background:0 0;border:0;padding:10px 12px}.primary-button:hover,.secondary-button:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-2px)}.text-button:hover{background:var(--blue-soft)}.big-button{margin-top:16px;padding:15px 22px;font-size:1rem}.welcome-screen{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:center;gap:32px;min-height:calc(100vh - 56px);display:grid;overflow:hidden}.welcome-copy{max-width:680px}.welcome-art{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg, var(--blue-soft), var(--green-soft) 54%, var(--yellow-soft));padding:18px}.welcome-art img{display:block}.learning-path{flex-wrap:wrap;gap:10px;margin:24px 0 6px;display:flex}.learning-path span{border-radius:var(--radius);background:var(--paper);border:2px solid #1720332e;align-items:center;min-height:42px;padding:8px 12px 8px 28px;font-weight:800;display:inline-flex;position:relative}.learning-path span:before{background:var(--green);width:10px;height:10px;box-shadow:0 0 0 3px var(--green-soft);content:"";border-radius:999px;position:absolute;top:13px;left:10px}.lesson-map,.level-screen{padding:26px}.map-header,.level-header,.reveal-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.progress-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);width:min(280px,100%);padding:16px}.progress-card span{margin-bottom:10px;font-weight:900;display:block}.progress-track{background:var(--paper);border:1px solid #1720331f;border-radius:999px;height:12px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--yellow), var(--red));height:100%;transition:width .24s}.rank-chip{border-radius:var(--radius);background:var(--paper);border:1px solid #1720331f;gap:3px;margin-top:12px;padding:10px;display:grid}.rank-chip strong,.rank-chip small{display:block}.rank-chip strong{font-size:.92rem}.rank-chip small{color:var(--muted);font-size:.78rem;font-weight:800}.level-road{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.level-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:300px;box-shadow:var(--soft-shadow);grid-template-rows:auto 1fr auto;gap:14px;padding:18px;display:grid;position:relative}.level-card.is-suggested{border-color:var(--blue)}.level-card.is-complete{background:linear-gradient(180deg, var(--green-soft), var(--paper))}.level-number{border:2px solid var(--ink);border-radius:var(--radius);width:46px;height:46px;color:var(--ink);background:var(--yellow);box-shadow:0 4px 0 var(--ink);place-items:center;font-size:1.2rem;font-weight:950;display:grid}.level-status{color:var(--blue);text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:900}.badge-preview{border-radius:var(--radius);background:var(--paper-soft);border:1px solid #1720331f;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:9px;display:grid}.badge-preview span,.badge-token{border:2px solid var(--ink);border-radius:var(--radius);color:var(--ink);background:var(--yellow-soft);place-items:center;font-size:.82rem;font-weight:950;display:grid}.badge-preview span{width:38px;height:38px}.badge-preview strong{overflow-wrap:anywhere}.map-actions,.screen-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;display:flex}.level-header{justify-content:flex-start;align-items:center}.level-header .text-button{flex:none}.business-request{border-radius:var(--radius);color:var(--ink);background:var(--blue-soft);border:2px dashed #3c7df061;margin-bottom:0;padding:12px 14px;font-weight:800;display:inline-flex}.level-layout{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:start;gap:20px;display:grid}.play-column,.coach-column{gap:18px;display:grid}.instruction-panel,.brick-picker,.relationship-picker,.column-picker,.build-area,.case-score-panel,.feedback-panel,.complete-panel,.summary-panel,.sql-explainer{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--soft-shadow)}.instruction-panel,.brick-picker,.relationship-picker,.column-picker,.build-area,.case-score-panel,.feedback-panel,.complete-panel{padding:18px}.instruction-panel{background:linear-gradient(135deg, var(--paper), var(--yellow-soft))}.goal-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.goal-chips span{color:var(--ink);background:var(--paper);border-radius:999px;padding:7px 10px;font-size:.84rem;font-weight:900}.section-heading{margin-bottom:14px}.brick-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.table-brick{border:1px solid #1720332e;border-left:5px solid var(--ink);border-radius:var(--radius);min-height:148px;color:var(--ink);text-align:left;box-shadow:var(--soft-shadow);gap:14px;padding:16px 14px 14px;transition:transform .17s,box-shadow .17s,filter .17s;display:grid;position:relative;overflow:hidden}.table-brick:hover,.table-brick.is-selected{transform:translateY(-3px);box-shadow:0 14px 28px #17203324}.table-brick.is-selected{filter:saturate(1.08);outline:3px solid #3c7df038}.brick-taxpayer{background:var(--blue-soft)}.brick-type{background:var(--purple-soft)}.brick-tax{background:var(--green-soft)}.brick-status{background:var(--yellow-soft)}.brick-assessment{background:var(--orange-soft)}.brick-payment{background:var(--red-soft)}.brick-method{background:var(--teal-soft)}.brick-main{align-items:center;gap:12px;display:flex}.brick-icon{border-radius:var(--radius);background:#ffffffb8;border:2px solid #17203338;flex:none;place-items:center;width:42px;height:42px;font-size:.82rem;font-weight:950;display:grid}.brick-main strong,.brick-main small,.brick-columns{display:block}.brick-main strong{font-size:1.05rem}.brick-main small,.brick-columns{color:#172033b8;font-size:.83rem}.brick-columns{border-radius:var(--radius);background:#ffffff9e;align-self:end;padding:9px 10px}.build-area{position:sticky;top:18px}.build-area-header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.build-area-header h2{margin-bottom:0}.build-area-header>span{color:var(--ink);white-space:nowrap;background:var(--yellow-soft);border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:900}.build-plate{border-radius:var(--radius);background:linear-gradient(90deg, #1720330b 1px, transparent 1px), linear-gradient(0deg, #1720330b 1px, transparent 1px), var(--paper-soft);background-size:24px 24px;border:2px dashed #17203329;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:172px;padding:14px;display:grid}.build-plate.is-empty{place-items:center;display:grid}.empty-build{color:var(--muted);text-align:center;margin:0;font-weight:800}.mini-brick{border:1px solid #1720332e;border-left:5px solid var(--ink);border-radius:var(--radius);min-height:74px;color:var(--ink);box-shadow:var(--soft-shadow);padding:14px 12px 10px;animation:.22s both snapBrick;position:relative}.mini-brick strong,.mini-brick small{display:block}.mini-brick small{color:var(--muted);margin-top:6px}.relationship-lines{margin-top:16px}.relationship-lines h3{margin-bottom:8px}.relationship-lines p{margin-bottom:0}.relationship-line{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin-top:8px;padding:9px;display:grid}.relationship-line i{background:var(--blue);border-radius:999px;height:3px}.relationship-line span,.relationship-line strong{overflow-wrap:anywhere;font-size:.78rem}.relationship-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.relationship-button{border:2px solid var(--line);border-radius:var(--radius);min-height:104px;color:var(--ink);text-align:left;background:var(--paper-soft);gap:6px;padding:13px;display:grid}.relationship-button:hover,.relationship-button.is-selected{border-color:var(--blue);background:var(--blue-soft)}.relationship-button span,.relationship-button small{color:var(--muted);font-size:.78rem;font-weight:800}.relationship-button strong{overflow-wrap:anywhere}.case-score-panel{background:linear-gradient(135deg, var(--paper), var(--teal-soft));gap:12px;display:grid}.case-score-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.case-score-header h2{margin-bottom:0;font-size:2rem}.badge-token{background:var(--paper);width:54px;height:54px}.badge-token.is-earned{background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.evidence-meter{background:var(--paper);border:1px solid #17203324;border-radius:999px;height:14px;overflow:hidden}.evidence-meter div{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--green), var(--yellow));height:100%;transition:width .22s}.case-stats{flex-wrap:wrap;gap:8px;display:flex}.case-stats span{color:var(--ink);background:#ffffffb8;border-radius:999px;padding:7px 9px;font-size:.8rem;font-weight:900}.badge-target{border-radius:var(--radius);background:#ffffffb8;border:1px solid #1720331f;padding:12px}.badge-target strong{margin-bottom:5px;display:block}.badge-target p{margin-bottom:0}.column-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.column-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);padding:12px}.column-group>div{flex-wrap:wrap;gap:8px;display:flex}.column-chip{border:2px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--ink);overflow-wrap:anywhere;text-align:left;white-space:normal;background:var(--paper);padding:8px 10px;font-size:.87rem;font-weight:850}.column-chip:hover,.column-chip.is-selected{border-color:var(--green);background:var(--green-soft)}.feedback-panel{border-width:2px}.feedback-panel h2{margin-bottom:8px}.tone-success{border-color:var(--green)}.tone-gentle{border-color:var(--yellow)}.tone-info{border-color:var(--blue)}.hint-box,.why-box{border-radius:var(--radius);gap:5px;margin-top:12px;padding:12px;display:grid}.hint-box{background:var(--yellow-soft)}.why-box{background:var(--teal-soft)}.hint-box span,.why-box span{color:var(--muted);line-height:1.55}.feedback-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.complete-panel{background:linear-gradient(135deg, var(--green-soft), var(--paper))}.complete-panel strong{margin-bottom:8px;font-size:1.05rem;display:block}.complete-panel p{margin-bottom:14px}.sql-badge{border:2px solid var(--ink);border-radius:var(--radius);width:94px;height:94px;color:var(--ink);background:var(--green-soft);box-shadow:0 6px 0 var(--ink);place-items:center;font-weight:950;display:grid}.sql-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.74fr);align-items:start;gap:18px;display:grid}.sql-block{border:2px solid var(--ink);border-radius:var(--radius);color:#e9f8ff;background:#172033;min-height:520px;margin:0;padding:22px;font-size:.94rem;line-height:1.65;overflow:auto;box-shadow:0 8px #17203373}.sql-block code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.sql-explainer{gap:10px;padding:18px;display:grid}.sql-explainer article{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);padding:12px}.sql-explainer strong{color:var(--blue);overflow-wrap:anywhere;margin-bottom:5px;display:block}.sql-explainer p{margin-bottom:0}.summary-rank{border:1px solid #1720331f;border-left:5px solid var(--green);border-radius:var(--radius);background:var(--paper-soft);gap:5px;width:min(520px,100%);margin-top:18px;padding:14px;display:grid}.summary-rank span{color:var(--blue);text-transform:uppercase;font-size:.8rem;font-weight:950}.summary-rank strong{font-size:1.08rem}.summary-rank p{margin-bottom:0}.summary-grid{grid-template-columns:minmax(0,.8fr) minmax(0,.92fr) minmax(0,1.08fr);gap:18px;margin-top:22px;display:grid}.summary-panel{padding:18px}.practice-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.practice-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);padding:12px 12px 12px 40px;font-weight:800}.practice-list li:before{width:20px;height:20px;color:var(--paper);background:var(--green);content:"✓";border-radius:999px;place-items:center;margin-left:-28px;margin-right:8px;font-size:.75rem;display:inline-grid}.summary-levels{gap:10px;display:grid}.summary-levels div{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.summary-levels span{border-radius:var(--radius);background:var(--yellow);place-items:center;height:32px;font-weight:950;display:grid}.summary-levels em{color:var(--muted);font-size:.84rem;font-style:normal;font-weight:900}.badge-grid{gap:10px;display:grid}.badge-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);opacity:.74;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px;display:grid}.badge-card.is-earned{background:linear-gradient(135deg, var(--green-soft), var(--paper));opacity:1;border-color:#2fbf718c}.badge-card span{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);grid-row:span 2;place-items:center;width:42px;height:42px;font-size:.82rem;font-weight:950;display:grid}.badge-card.is-earned span{background:var(--yellow)}.badge-card strong,.badge-card p{overflow-wrap:anywhere}.badge-card p{margin-bottom:0}@keyframes snapBrick{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1080px){.level-layout,.sql-layout{grid-template-columns:1fr}.build-area{position:static}}@media (width<=820px){.app-shell{width:min(100% - 20px,1180px);padding:10px 0}.screen-card,.lesson-map,.level-screen{padding:18px}.welcome-screen,.summary-grid{grid-template-columns:1fr}.welcome-screen{min-height:auto}.map-header,.reveal-header{display:grid}.level-road,.column-groups{grid-template-columns:1fr}h1{font-size:2.25rem}.lead{font-size:1rem}}@media (width<=560px){.level-header{display:grid}.brick-grid,.relationship-grid,.build-plate,.relationship-line{grid-template-columns:1fr}.relationship-line i{width:100%}.summary-levels div{grid-template-columns:32px minmax(0,1fr)}.summary-levels em{grid-column:2}.screen-actions,.map-actions{justify-content:stretch}.screen-actions>*,.map-actions>*{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
