.act-app{--act-blue:#07549b;--act-navy:#07315b;--act-cyan:#007b99;box-sizing:border-box;width:min(1240px,calc(100% - 32px));margin:32px auto 56px;color:#18364b;font:16px/1.65 system-ui,sans-serif}.act-app *{box-sizing:border-box}.act-app [hidden]{display:none!important}.act-app a{color:#07549b}.act-hero{padding:clamp(24px,4vw,48px);border-radius:18px;background:linear-gradient(115deg,#07315b,#07549b);color:#fff;margin:0 0 28px}.act-app .act-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.15;color:#fff;margin:12px 0 18px}.act-hero p{color:#e7f6ff;max-width:780px}.act-eyebrow{font-size:12px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase}.act-hero .act-eyebrow{color:#99e8ff}.act-stats{display:flex;gap:12px;flex-wrap:wrap}.act-stats span{border:1px solid #70b2dd;border-radius:30px;padding:5px 14px;font-size:14px}.act-filters{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:26px 0}.act-app label,.act-code-runner label{display:block;font-weight:600}.act-app input,.act-app select,.act-app textarea,.act-code-runner select,.act-code-runner textarea{max-width:100%;width:100%;border:1px solid #9eb9ce!important;background:#fff!important;color:#18364b!important;border-radius:8px;padding:12px;font-size:16px}.act-app input[type=radio]{width:auto}.act-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.act-chapter{margin:30px 0}.act-app h2{font-size:26px;line-height:1.3;color:#07315b}.act-app h3{color:#07315b;font-size:20px;line-height:1.35}.act-card{display:flex;flex-direction:column;text-decoration:none!important;background:#fff;border:1px solid #c7dbe9;border-top:4px solid #007b99;border-radius:12px;padding:24px;box-shadow:0 4px 18px #07315b08}.act-card:hover{border-color:#07549b;box-shadow:0 6px 22px #07315b18}.act-card .act-eyebrow{color:#006d89}.act-card p{color:#405d70;flex:1}.act-card strong{font-size:14px}.act-content,.act-quiz,.act-code-runner,.act-progress{padding:24px;border:1px solid #c7dbe9;border-radius:12px;background:#f5faff;color:#18364b;margin:24px 0}.act-content h2:first-child{margin-top:0}.act-app pre,.act-code-runner pre{background:#09263e!important;color:#eef8ff!important;padding:20px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;font:14px/1.65 ui-monospace,monospace;max-height:600px}.act-app pre code{background:transparent;color:inherit;font:inherit}.act-editor{font:14px/1.6 ui-monospace,monospace!important;tab-size:4}.act-code-runner label{margin:16px 0}.act-app button,.act-code-runner button,.act-submit-quiz{background:#07549b;color:white;border:0;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:700;cursor:pointer}.act-app button:disabled{opacity:.65;cursor:default}.act-app :focus-visible{outline:3px solid #0083a8;outline-offset:3px}.act-navigation{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0}.act-question{margin-bottom:24px}.act-question label{font-weight:400}.act-quiz-result{font-weight:700;margin-top:16px}@media(max-width:900px){.act-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.act-grid,.act-filters{grid-template-columns:1fr}.act-app{width:calc(100% - 24px);margin-top:18px}.act-content,.act-code-runner,.act-quiz{padding:18px}}
.act-token.act-keyword{color:#a9d4ff}.act-token.act-string{color:#b0e9bc}.act-token.act-comment{color:#b6c6d3}.act-token.act-preprocessor{color:#f3d8a4}.act-token.act-number{color:#dfc1ff}
/* Practice Lab: scoped so the surrounding TCS theme keeps its own styling. */
.act-practice{overflow:hidden;background:#fff}.act-lab-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.act-lab-heading .act-eyebrow{color:#006d89}.act-lab-heading h3{font-size:28px;margin:6px 0}.act-lab-language{white-space:nowrap;color:#07549b;background:#edf7ff;padding:6px 12px;border-radius:30px;font-size:13px;font-weight:700}.act-lab-description{color:#405d70}.act-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.act-practice .act-editor-actions button,.act-practice .act-use-input{font-size:13px;padding:8px 12px;background:#e9f3fc;color:#074677;border:1px solid #b4cfe2}.act-practice .act-editor-label{margin-bottom:8px}.act-practice .CodeMirror{border:1px solid #9eb9ce;border-radius:8px;height:360px;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#fff;color:#18364b;max-width:100%;font-weight:400}.act-practice .CodeMirror pre.CodeMirror-line,.act-practice .CodeMirror pre.CodeMirror-line-like{background:transparent!important;color:inherit!important;padding:0 4px!important;border-radius:0;white-space:pre!important;overflow-wrap:normal;overflow:visible;font:inherit;max-height:none}.act-practice .CodeMirror-gutters{background:#f0f6fb;border-right:1px solid #cfdeea}.act-practice .CodeMirror-linenumber{color:#56738b}.act-practice .CodeMirror textarea{padding:0!important;border:0!important;font:inherit!important;min-height:0!important}.act-editor-help,.act-draft-status{font-size:12px;color:#405d70;margin:8px 0}.act-draft-status{min-height:24px;font-weight:600}.act-io-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0}.act-practice .act-io-grid label{margin-top:0}.act-example{padding:16px;border-radius:8px;background:#f0f7fc}.act-example h4{margin:0 0 12px;color:#07315b;font-size:16px}.act-example span{display:block;font-size:12px;font-weight:700;margin-top:12px}.act-practice .act-example pre{margin:6px 0;font-size:13px;padding:12px;max-height:180px}.act-practice .act-stdin{font:14px/1.6 ui-monospace,monospace}.act-action-status{font-size:13px;color:#07549b;min-height:22px}@media(max-width:650px){.act-io-grid{grid-template-columns:1fr}.act-lab-heading{align-items:flex-start;flex-direction:column;gap:4px}.act-practice .CodeMirror{height:300px}.act-editor-actions{gap:6px}}
.act-debug-panel{margin-top:16px;padding:18px;border:1px solid #b7d3e7;border-left:5px solid #07549b;border-radius:8px;background:#f5faff}.act-debug-panel[hidden]{display:none}.act-debug-panel h4{margin:0 0 8px;color:#07315b}.act-debug-summary{font-weight:700;color:#294d68}.act-debug-findings{margin:12px 0 0 22px}.act-debug-findings li{padding:8px 10px;margin:7px 0;border-radius:6px;background:#fff}.act-debug-findings button{padding:0;background:transparent!important;border:0!important;color:#07549b!important;text-align:left;font-weight:700;cursor:pointer}.act-debug-findings p{margin:5px 0 0;color:#405d70}.act-debug-error{border-left:4px solid #c62828}.act-debug-warning{border-left:4px solid #e28a00}.act-debug-line{background:#fff3cd!important}
.act-assessment-bar{position:sticky;top:10px;z-index:3;display:flex;justify-content:space-between;gap:15px;padding:14px 18px;margin-bottom:20px;border-radius:8px;background:#07315b;color:#fff}.act-assessment fieldset{margin:18px 0;padding:18px;border:1px solid #c7dbe9;border-radius:10px;background:#fff}.act-assessment legend{font-weight:750;color:#07315b;padding:0 8px}.act-assessment-result{white-space:pre-wrap;margin-top:18px;padding:18px;border-radius:8px;background:#eef8ff;font-weight:600}
.act-visualizer{margin-top:20px;padding:20px;border:1px solid #9fc8df;border-radius:12px;background:#f5faff}.act-visualizer[hidden]{display:none}.act-visualizer header h4{margin:0;color:#07315b}.act-visualizer header p{color:#526d80}.act-v-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}.act-v-controls label{display:flex;align-items:center;gap:8px;margin:0}.act-v-controls input{width:130px!important}.act-v-grid{display:grid;grid-template-columns:1fr 2fr;gap:16px}.act-v-stack,.act-v-memory{display:grid;gap:8px}.act-v-frame,.act-v-cell{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;border:1px solid #c7dbe9;border-radius:8px;background:#fff}.act-v-frame.active{border-color:#007b99;background:#e7f8ff}.act-v-cell.pointer{border-left:5px solid #7b3fb3}.act-v-cell code{color:#56738b}.act-v-cell em{color:#7b3fb3;font-weight:700}.act-v-array{display:flex;flex-basis:100%;gap:4px;overflow:auto}.act-v-array span{padding:5px;border:1px solid #9eb9ce;border-radius:4px;white-space:nowrap}.act-v-note{margin-top:14px;padding:12px;border-radius:8px;background:#07315b;color:#fff;font-weight:700}@media(max-width:700px){.act-v-grid{grid-template-columns:1fr}}
.act-answer{margin:14px 0;padding:16px;border:1px solid #c7dbe9;border-radius:10px;background:#fff}.act-answer.accepted{border:2px solid #16834b;background:#effbf4}.act-answer header,.act-answer footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.act-answer header span{margin-left:auto;color:#16834b;font-weight:700}.act-answer footer button{padding:7px 11px;font-size:13px}.act-ask{margin:20px 0;padding:20px;border:1px solid #c7dbe9;border-radius:10px;background:#fff}
.act-achievement-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:20px 0}.act-achievement-stats span{padding:16px;border-radius:10px;background:#07315b;color:#fff;text-align:center}.act-achievement-stats strong{display:block;font-size:25px}.act-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.act-badge{padding:18px;border:1px solid #c7dbe9;border-radius:12px;background:#fff}.act-badge>span{font-size:32px}.act-badge h3{margin:8px 0}.act-badge.locked{filter:grayscale(1);opacity:.58}.act-badge.earned{border-color:#16834b;background:#effbf4}.act-leaderboard-choice{display:inline-flex;gap:8px;align-items:center;margin:12px 8px 18px 0}.act-ranking{padding:0;list-style:none;counter-reset:rank}.act-ranking li{counter-increment:rank;display:flex;justify-content:space-between;gap:16px;padding:13px;border-bottom:1px solid #d7e3eb}.act-ranking li:before{content:counter(rank);font-weight:800;color:#07549b}.act-ranking li strong{margin-right:auto}@media(max-width:650px){.act-achievement-stats{grid-template-columns:1fr 1fr}.act-ranking li{flex-wrap:wrap}}
.act-insight{margin:18px 0;padding:18px;border-left:5px solid #07549b;border-radius:8px;background:#edf7ff}.act-insight p{margin-bottom:0}
