/* Shared presentation for the catalog, account pages, and learning workspace. */
:root{--bg:#111313;--surface:#191c1c;--surface2:#222626;--border:#363c3c;--text:#f1f4f2;--muted:#b1bbb6;--muted2:#97a39c;--accent:#70d8ad;--accent-dim:#41856a;--teal:#70d8ad;--lesson-bg:#111313;--lesson-panel:#191c1c;--lesson-border:#363c3c;--lesson-radius:8px}
*{box-sizing:border-box;letter-spacing:0!important}
[hidden]{display:none!important}
body{background:var(--bg)!important;color:var(--text);font-family:Inter,system-ui,sans-serif;margin:0}
body::before,body::after,.particles,.particle{display:none!important}
body.ac-home nav{border-radius:0!important;margin:0!important;width:100%!important;background:#161919!important;box-shadow:none!important;backdrop-filter:none!important;border:0!important;border-bottom:1px solid #363c3c!important}
body.ac-home section{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
body.ac-home section::before,body.ac-home section::after,.ds-card::before,.algo-card::before{display:none!important}
body.ac-home .navlinks{display:flex!important;flex-wrap:wrap;gap:16px}
body.ac-home .brand{font-size:24px}
body.ac-home .nav-search{border-radius:6px!important;background:#111313!important}
body.ac-home .nav-search input{background:transparent!important}
body.ac-home .pill{background:#222626!important;border-color:#363c3c!important;color:#c9d3ce!important}
body.ac-home .pill.active{background:#214936!important;border-color:#70d8ad!important;color:#a1f0ca!important}
body.ac-home .btn-primary{background:#285a42!important;color:#eefbf4!important;box-shadow:none!important}
body.ac-home .ds-card{background:#191c1c!important;box-shadow:none!important;border-radius:8px!important;transform:none!important}
button,input,select,textarea{font:inherit}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #70d8ad;outline-offset:4px}
button,.btn,.pill,.btn-glass{border-radius:6px!important;box-shadow:none!important}
.algo-card,.plan-card,.stat-card{border-radius:8px!important;box-shadow:none!important;background:var(--surface)!important}
.algo-card:hover{transform:none!important;border-color:var(--accent)!important}
.algo-card h3{font-size:17px!important;line-height:1.45}
.algo-card p{line-height:1.6}
.lock-overlay{pointer-events:none}
.algo-card.locked .lock-overlay{background:transparent!important;backdrop-filter:none!important;align-items:flex-end!important;justify-content:flex-end!important;padding:8px!important}
.lock-overlay .lock-icon,.lock-overlay .lock-sub{display:none!important}
.lock-overlay .lock-label{font-size:11px!important;background:#111313;color:#edce88;padding:4px 8px;border:1px solid #6b5c37;border-radius:4px}
.hero-outer{display:none!important}
body.ac-home nav{position:relative!important;flex-wrap:wrap;gap:16px;height:auto!important;padding:18px 4%!important}
body.ac-home nav .nav-links{flex-wrap:wrap}
body.ac-home nav .nav-search{display:flex!important;order:3;width:100%!important;max-width:none!important;flex:1 0 100%;padding:16px;border-radius:6px;box-shadow:none!important}
body.ac-home nav .nav-search input{font-size:16px;width:100%;min-width:0}
body.ac-home .nav-search kbd{display:none}
body.ac-home #algorithms{margin-top:0!important;padding-top:30px!important}
body.ac-home .search-results{position:absolute!important;top:var(--search-top,150px)!important;left:4%!important;right:4%!important;width:auto!important;max-height:60vh;overflow:auto;z-index:2000;border-radius:6px;box-shadow:0 10px 24px #0008;background:#191c1c}
.search-results a:focus{background:#293b33}
.filter-row{flex-wrap:wrap;gap:8px!important;margin-top:12px!important}
.filter-row .nav-search{display:flex!important;width:100%!important;max-width:none!important;min-height:44px}
.filter-row .pill{min-height:38px}
#gridStatus{color:var(--muted);font-size:14px}
.ac-filters{margin:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}
.ac-filters summary{cursor:pointer;color:var(--muted);font-size:14px;padding:8px 0}
.ac-filters .filter-row{margin:12px 0!important}
@media(max-width:700px){body.ac-home .navlinks{gap:12px;font-size:12px}body.ac-home .navlinks a{display:inline!important}body.ac-home .navlinks{order:4}body.ac-home .nav-right{margin-left:auto}body.ac-home nav .nav-search{order:2}body.ac-home #algorithms .sub{font-size:14px}body.ac-home #algorithms h2{font-size:24px}.ac-filters:not([open])+.algo-grid{margin-top:0}}
.ac-topbar{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:20px max(20px,4%);border-bottom:1px solid var(--border)}
.ac-brand{font-size:24px;font-weight:750;color:var(--text);text-decoration:none;margin-right:auto}
.ac-workspace{max-width:1120px;margin:auto;padding:36px 20px 80px}
.ac-workspace h1{font-size:32px;line-height:1.2;margin:0 0 12px}
.ac-workspace h2{font-size:22px;margin-top:32px}
.ac-workspace p{color:var(--muted);line-height:1.65}
.ac-path-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.ac-path-tabs button,.ac-check button{padding:10px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;min-height:44px}
.ac-path-tabs button[aria-pressed=true]{background:#234636;border-color:#70d8ad}
.ac-path-list{list-style:none;padding:0}
.ac-path-list li{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--border)}
.ac-path-list a{flex:1;font-weight:600;text-decoration:none}
.ac-path-list small{display:block;color:var(--muted);font-weight:400;margin-top:5px}
.ac-path-list select{background:var(--surface);color:var(--text);padding:9px;border:1px solid var(--border);max-width:150px;border-radius:4px}
.ac-check{padding:24px 0;border-top:1px solid var(--border);max-width:1080px;margin:32px auto}
.ac-check fieldset{border:0;padding:0;margin:18px 0}
.ac-check legend{font-weight:600;margin-bottom:16px;line-height:1.6}
.ac-check label{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;cursor:pointer}
.ac-check input{width:18px;height:18px;accent-color:#70d8ad}
.ac-check output{display:block;margin-top:16px;line-height:1.6}
.ac-lesson h1{font-size:32px!important;overflow-wrap:anywhere}
.ac-lesson .panel,.ac-lesson .concept-card,.ac-lesson .notes,.ac-lesson .controls{box-shadow:none!important;background:#191c1c!important;border-radius:8px!important}
.ac-lesson pre{max-width:100%;overflow:auto}
.ac-lesson .ac-check{padding:24px 20px}
@media(max-width:700px){body.ac-lesson div:has(> #trackerLogin){position:static!important;margin:24px 16px!important;min-width:0!important;max-width:100%!important;width:auto!important;box-shadow:none!important;border-radius:8px!important}}
@media(max-width:700px){.ac-home nav .nav-links{gap:12px!important}.algo-grid{grid-template-columns:1fr!important}.filter-row{margin-top:14px!important}.ac-path-list li{flex-wrap:wrap}.ac-path-list a{min-width:180px}.ac-lesson .progress-tracker{position:static!important;max-width:100%!important}.ac-lesson main,.ac-lesson .wrap{min-width:0}.ac-lesson .table-wrap,.ac-lesson .table-container{overflow:auto}.ac-lesson h1{font-size:28px!important}.ac-workspace h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
