:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5;--page:#f3f7f5;--surface:#fff;--surface-hover:#edf6f2;--text:#17312d;--text-soft:#345a53;--muted:#526e68;--accent:#0b7566;--accent-hover:#095d52;--button:#0b7566;--button-hover:#095d52;--on-button:#fff;--border:#d4e4de;--border-subtle:#e4eee9;--field-border:#a8c4ba;--badge-bg:#e1f3eb;--badge-text:#155d49;--notice:#e5f5e9;--error:#b4233c;--shadow-color:#112e2512;color:var(--text);background:var(--page)}
html[data-theme="dark"]{color-scheme:dark;--page:#0b1110;--surface:#15201c;--surface-hover:#1c2c25;--text:#f3f8f5;--text-soft:#c8ddd2;--muted:#a8c4b5;--accent:#72e0a2;--accent-hover:#a2f1c2;--button:#187a49;--button-hover:#20975a;--on-button:#fff;--border:#30463a;--border-subtle:#27392f;--field-border:#547261;--badge-bg:#224330;--badge-text:#b4f2ca;--notice:#183923;--error:#ff8092;--shadow-color:#00000038}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1040px;margin:auto;padding:0 22px}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;align-items:center;gap:26px;min-height:66px;flex-wrap:wrap}.brand{font-weight:750;color:var(--text);font-size:1.1rem}
nav{display:flex;gap:20px;flex-wrap:wrap}nav a{color:var(--text-soft)}.logout{margin-left:0}.text-button{border:0;background:none;color:var(--text-soft);padding:0;cursor:pointer;font:inherit}
main{padding-top:34px!important;padding-bottom:70px!important}h1{font-size:1.85rem;line-height:1.2;margin:0 0 20px}h2{font-size:1.12rem;margin:0 0 12px}
p{margin:0 0 16px}.muted,small{color:var(--muted)}small{display:block;font-size:.88rem;margin-top:4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 7px var(--shadow-color)}
.action{color:var(--text)}.action strong,.action span{display:block}.action span{color:var(--muted);margin-top:6px}.stack{display:grid;gap:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--text)}.row strong{display:block}.row a{color:var(--accent)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.heading-row h1{margin:0}
.button,button[type=submit]{display:inline-block;background:var(--button);color:var(--on-button);border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:650;cursor:pointer}.button:hover{color:var(--on-button);background:var(--button-hover);text-decoration:none}button[type=submit]:hover{background:var(--button-hover)}
.narrow{max-width:640px}.form-card p{margin-bottom:18px}.form-card label,.task label{display:block;font-weight:600;margin-bottom:5px}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}textarea{min-height:110px}input[type=checkbox]{margin-right:8px}.helptext{display:block;color:var(--muted);font-size:.86rem}.errorlist,.error{color:var(--error)}.notice{background:var(--notice);padding:12px 16px;border-radius:8px;margin-bottom:20px}.badge{display:inline-block;background:var(--badge-bg);color:var(--badge-text);padding:5px 9px;border-radius:99px;font-size:.85rem;white-space:nowrap}
.task,.material{margin-bottom:14px}.task input{max-width:300px!important}.text-content{white-space:normal}.secondary-link{margin-left:16px}
.material-image{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px}.solution-material{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.solution-material h3{font-size:1rem;margin:0 0 10px}
.catalog-track{margin:30px 0 16px}.catalog-group{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px}.catalog-group summary{cursor:pointer;padding:15px 18px;font-weight:650;display:flex;justify-content:space-between;gap:15px}.catalog-group summary:hover{background:var(--surface-hover)}.catalog-group summary .muted{font-size:.85rem;font-weight:400;white-space:nowrap}.catalog-topics{padding:0 15px 15px}.catalog-topics .card{box-shadow:none}
@media(max-width:650px){.topbar-inner{padding-top:12px;padding-bottom:12px;gap:10px}nav{order:3;width:100%;gap:14px}.logout{margin-left:auto}.row{align-items:flex-start;flex-direction:column}.heading-row{align-items:flex-start;flex-direction:column}h1{font-size:1.55rem}}
.exam-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.exam-card{display:flex;flex-direction:column;gap:7px;color:var(--text)}.exam-card strong{font-size:1.06rem}.exam-number{font-size:1.15rem;color:var(--accent);font-weight:750}.exam-card small{margin-top:auto;padding-top:8px}.subtopic-content{padding:0 18px 18px}.subtopic .material{box-shadow:none}.source-name{color:var(--muted);font-size:.9rem;margin-left:8px}
.resource-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 34px}.resource-group{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0}.resource-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.resource-group>summary strong{font-size:1rem}.resource-group>summary .muted{font-size:.84rem;white-space:nowrap}.resource-list{padding:0 12px 12px;max-height:520px;overflow:auto}.resource-item{border-top:1px solid var(--border-subtle)}.resource-item>summary{padding:10px 4px;cursor:pointer;font-size:.93rem}.resource-item>summary small{display:inline;margin-left:8px}.resource-body{padding:4px 8px 10px}.resource-body p:last-child{margin-bottom:0}.task-topics h2{font-size:1.25rem;margin-bottom:6px}.practice-list{padding-left:24px;margin:8px 0 0}.practice-list li{padding:8px 0;border-bottom:1px solid var(--border-subtle)}.practice-list li:last-child{border:0}
@media(max-width:650px){.resource-overview{grid-template-columns:1fr}.resource-group>summary{flex-wrap:wrap}}
.profile-resource-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 40px}.profile-resource-hub .resource-group>summary{min-height:72px}.profile-resource-hub .resource-list{max-height:630px}.resource-number{border-top:1px solid var(--border-subtle)}.resource-number>summary{cursor:pointer;padding:10px 4px;font-weight:650;font-size:.9rem}.resource-number>summary small{display:inline;margin-left:8px}.resource-number-list{padding:0 0 8px 12px}.catalog-numbers>h2,.general-materials>h2{font-size:1.28rem;margin-bottom:16px}.general-materials{margin-top:42px}.topic-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:24px}.topic-card{color:var(--text);display:flex;flex-direction:column;gap:8px}.topic-card strong{font-size:1.05rem}.topic-card span{color:var(--accent);margin-top:auto}.subtopic-heading{margin-top:30px}.task-sources{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.task-example{margin-bottom:12px}.task-example .text-content{margin-top:14px}.task-example p:last-child{margin-bottom:0}.topic-navigation{margin-top:30px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topic-navigation a:last-child{text-align:right}
@media(max-width:800px){.profile-resource-hub{grid-template-columns:1fr}.profile-resource-hub .resource-group>summary{min-height:0}}
.resource-entry{display:flex;flex-direction:column;justify-content:space-between;min-height:104px;color:var(--text)}.resource-entry strong{font-size:1.08rem}.resource-entry span{color:var(--accent);font-size:.9rem}
.number-jump{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.number-jump a{padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-weight:650}.number-jump a[aria-current=page]{color:var(--on-button);background:var(--button);border-color:var(--button)}
.pdf-section{scroll-margin-top:24px;margin:26px 0 34px}.pdf-section h2{font-size:1.18rem}.pdf-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.pdf-link{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--text);padding:14px 16px}.pdf-link span{color:var(--accent);white-space:nowrap;font-size:.88rem}
.solution-gallery{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px}.solution-card{min-width:0;padding:14px}.solution-card h3{font-size:1rem;margin:0 0 12px}.solution-card img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:6px}
@media(max-width:700px){.solution-gallery{grid-template-columns:1fr}.pdf-link{align-items:flex-start;flex-direction:column;gap:8px}}
.topic-list{margin-top:24px}.topic-row{display:flex;align-items:center;gap:18px;color:var(--text);padding:15px 18px}.topic-position{min-width:42px;color:var(--accent);font-weight:750}.topic-label{flex:1}.topic-label strong{font-size:1rem}.topic-label small{margin-top:2px}.topic-arrow{color:var(--accent);white-space:nowrap;font-size:.9rem}
@media(max-width:650px){.topic-row{gap:10px}.topic-arrow{font-size:0}.topic-arrow::after{content:'→';font-size:1rem}}
.theme-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;font-weight:650;cursor:pointer;white-space:nowrap}.theme-toggle:hover{background:var(--surface-hover)}.theme-icon{font-size:1.1rem;line-height:1}.logout button[type=submit]{padding:8px 14px}.card:hover{border-color:var(--field-border)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:650px){.theme-toggle{margin-left:auto}.theme-label{display:none}.theme-toggle{width:38px;justify-content:center;padding:8px}}
.task-search{margin:18px 0 28px;max-width:520px}.task-search label{display:block;font-size:.9rem;font-weight:650;margin-bottom:6px}.task-search>div{display:flex;gap:8px}.task-search input{min-width:0}.task-search button{white-space:nowrap}.task-card{margin-bottom:16px}.task-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--border-subtle);padding-bottom:12px;margin-bottom:16px}.task-card-head a{font-weight:700}.task-source{color:var(--muted);font-size:.9rem;margin-left:auto}.task-statement{font-size:1.04rem;line-height:1.65}.task-statement p:last-child{margin-bottom:0}.task-diagram{display:block;max-width:min(100%,600px);max-height:440px;width:auto;height:auto;object-fit:contain;margin:20px auto;padding:12px;background:#fff;border-radius:6px}.task-answer{margin-top:18px;border-top:1px solid var(--border-subtle)}.task-answer summary{cursor:pointer;color:var(--accent);font-weight:700;padding:14px 0 0}.task-answer-body{padding-top:14px}.task-answer-body p:last-child{margin-bottom:0}
@media(max-width:650px){.task-search>div{flex-direction:column}.task-source{width:100%;margin-left:0}}
.task-card-actions{display:flex;justify-content:flex-end;gap:18px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:.9rem}.danger-link{color:var(--error)!important}.danger-button{background:var(--error)!important;color:#fff!important}.delete-actions{display:flex;align-items:center;gap:18px}.manage-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.manage-filters label,.homework-filter-grid label{font-size:.9rem;font-weight:650}.manage-filters select,.manage-filters input,.homework-filter-grid select,.homework-filter-grid input{margin-top:5px}.manage-search{grid-column:span 2}.manage-filter-actions{display:flex;align-items:end;gap:14px}.manage-results{gap:12px}.manage-result{min-width:0}.manage-result-meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.manage-result-meta span{color:var(--muted);font-size:.88rem}.manage-result-text{margin-bottom:10px}.manage-thumb{display:block;max-width:240px;max-height:140px;object-fit:contain;background:#fff;border-radius:6px;margin:8px 0}.manage-result-actions{display:flex;gap:20px;justify-content:flex-end;border-top:1px solid var(--border-subtle);padding-top:9px;margin-top:10px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:22px}.homework-builder{max-width:100%}.homework-main-fields{max-width:720px;display:grid;gap:8px;margin-bottom:18px}.homework-main-fields label{font-weight:650}.homework-main-fields select{margin-bottom:4px}.homework-picker-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.homework-picker-head h2{font-size:1.2rem}.homework-picker-head strong{white-space:nowrap;color:var(--accent)}.homework-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.homework-task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:72vh;overflow:auto;padding:2px}.homework-task-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:14px;cursor:pointer;min-width:0}.homework-task-card:hover{border-color:var(--accent)}.homework-task-card:has(input:checked){border-color:var(--accent);background:var(--surface-hover)}.homework-task-card[hidden]{display:none}.homework-task-heading{display:flex;align-items:center;gap:6px}.homework-task-heading small{margin:0 0 0 auto;text-align:right}.homework-task-statement{line-height:1.45;overflow-wrap:anywhere}.homework-task-card img{max-width:100%;max-height:190px;width:auto;height:auto;object-fit:contain;align-self:center;background:#fff;border-radius:5px}.homework-task-card>small{margin-top:auto}.homework-submit{margin-top:18px;text-align:right}
@media(max-width:750px){.manage-filters,.homework-filter-grid{grid-template-columns:1fr}.manage-search{grid-column:auto}.homework-picker-head{flex-direction:column}.homework-task-grid{max-height:none}}

/* Subtle hover feedback without layout shifts. */
@media (prefers-reduced-motion: no-preference){
  a, .text-button, .theme-toggle, .button, button[type=submit],
  .card, .catalog-group, .resource-group, .homework-task-card,
  .number-jump a, .catalog-group summary, .resource-group>summary,
  .task-answer summary{transition:color .18s ease,background-color .18s ease,
    border-color .18s ease,box-shadow .2s ease,transform .2s ease}
  .button:hover,button[type=submit]:hover,.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 5px 14px var(--shadow-color)}
  .button:active,button[type=submit]:active,.theme-toggle:active{transform:translateY(0);box-shadow:none}
  .card:hover,.homework-task-card:hover,.catalog-group:hover,.resource-group:hover{transform:translateY(-2px);box-shadow:0 6px 18px var(--shadow-color)}
  .number-jump a:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.task-source-filter{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 26px}
.task-source-filter a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-soft);font-size:.9rem;font-weight:650}
.task-source-filter a span{color:var(--muted);font-size:.82rem;font-weight:500}
.task-source-filter a:hover{border-color:var(--accent);background:var(--surface-hover);color:var(--text);text-decoration:none}
.task-source-filter a[aria-current="page"]{border-color:var(--accent);background:var(--badge-bg);color:var(--badge-text)}
.task-source-filter a[aria-current="page"] span{color:inherit}
:root{--card-glow:rgba(11,117,102,.22)}
html[data-theme="dark"]{--card-glow:rgba(114,224,162,.26)}
.task-source-filter a[aria-current="page"]{box-shadow:0 0 0 1px var(--accent),0 0 13px var(--card-glow)}
.task-source-filter a:hover,.task-source-filter a:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 20px var(--card-glow)}
.catalog-numbers .exam-card:hover,.catalog-numbers .exam-card:focus-visible,
.profile-resource-hub .resource-entry:hover,.profile-resource-hub .resource-entry:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 24px var(--card-glow)}
.variant-list-row{color:var(--text);text-decoration:none}.variant-list-row small{display:block;color:var(--muted);margin-top:5px}.variant-builder{display:grid;gap:16px;margin-bottom:36px}.variant-main-fields{display:grid;grid-template-columns:2fr 1fr;gap:16px}.variant-builder label,.variant-task label{display:block;font-weight:650}.variant-builder label input,.variant-builder label select,.variant-task label input{margin-top:6px}.variant-rules h2{margin:0}.variant-rules .heading-row{margin-bottom:12px}.variant-rule{display:grid;grid-template-columns:1fr 1.4fr 130px 42px;gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--border-subtle)}.variant-remove,.variant-secondary{border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:8px;padding:9px 12px;font:inherit;cursor:pointer}.variant-remove{font-size:1.4rem;line-height:1}.variant-remove:hover,.variant-secondary:hover{background:var(--surface-hover)}.variant-fixed p{margin:8px 0 0}.variant-preview{margin-top:30px}.variant-task{max-width:100%;overflow:hidden}.variant-task-meta{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.variant-task-meta span{color:var(--muted)}.variant-task img{display:block;max-width:min(100%,700px);max-height:500px;width:auto;height:auto;object-fit:contain;margin:16px auto;background:#fff;border-radius:6px}.variant-task label{max-width:320px;margin-top:18px}.variant-task details{border-top:1px solid var(--border-subtle);padding-top:12px}.variant-task summary{cursor:pointer;color:var(--accent);font-weight:700}.variant-submit{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin:20px 0}.variant-attempts{margin-top:40px}.variant-correct{color:var(--accent)!important}.variant-wrong{color:var(--error)!important}
.variant-history-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.variant-history-row .variant-list-row{min-width:0;flex:1}.variant-history-actions{display:flex;align-items:center;gap:20px;white-space:nowrap}@media(max-width:650px){.variant-history-row{align-items:flex-start;flex-direction:column}.variant-history-actions{width:100%;justify-content:space-between}}
.variant-review-wrap{padding:0;overflow:hidden}.variant-review-table{width:100%;border-collapse:collapse;table-layout:fixed}.variant-review-table th,.variant-review-table td{padding:9px 16px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.variant-review-table tr:last-child th,.variant-review-table tr:last-child td{border-bottom:0}.variant-review-table thead{background:var(--surface-hover);color:var(--text-soft)}.variant-review-table thead th{font-size:.82rem;font-weight:650}.variant-review-table th:first-child{width:90px}.variant-review-table th:last-child{width:145px}.variant-review-table tbody th{white-space:nowrap}.variant-review-table tbody td:nth-child(2){color:var(--muted);overflow-wrap:anywhere}.variant-review-answer{font-weight:700;overflow-wrap:anywhere}@media(max-width:650px){.variant-review-table th,.variant-review-table td{padding:8px;font-size:.82rem}.variant-review-table th:first-child{width:58px}.variant-review-table th:last-child{width:92px}}
@media(max-width:700px){.variant-main-fields{grid-template-columns:1fr}.variant-rule{grid-template-columns:1fr 1fr}.variant-rule label:nth-child(2){grid-column:span 2;grid-row:2}.variant-rule .variant-remove{justify-self:end}.variant-task-meta{flex-direction:column}}
.catalog-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-profile-heading h1{margin:0}.catalog-profile-heading .button{white-space:nowrap}.quick-variant-dialog{width:min(860px,calc(100vw - 24px));max-height:min(88vh,900px);box-sizing:border-box;overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 22px 60px #0005;padding:24px}.quick-variant-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.quick-variant-header{display:flex;align-items:start;justify-content:space-between;gap:14px}.quick-variant-header h2{margin:0}.quick-variant-header p{margin:0 0 4px}.quick-dialog-close{border:0;background:transparent;color:var(--muted);font-size:1.8rem;line-height:1;cursor:pointer}.quick-variant-title{display:block;font-weight:650;margin:18px 0}.quick-variant-title input{margin-top:6px}.quick-variant-list{display:grid;gap:2px}.quick-variant-list h3{font-size:.92rem;color:var(--accent);margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.quick-number-group{border-bottom:1px solid var(--border-subtle)}.quick-count-row{display:grid;grid-template-columns:124px minmax(0,1fr) 92px;align-items:center;gap:12px;min-height:49px}.quick-count-control{display:flex;align-items:center;gap:5px}.quick-count-control button{width:29px;height:29px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--accent);font:inherit;cursor:pointer;padding:0}.quick-count-control button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent)}.quick-count-control button:disabled{opacity:.35;cursor:default}.quick-count-control input[type=number]{width:48px!important;min-width:0;box-sizing:border-box;padding:5px 2px;text-align:center;appearance:textfield;-moz-appearance:textfield}.quick-count-control input::-webkit-inner-spin-button,.quick-count-control input::-webkit-outer-spin-button{appearance:none;margin:0}.quick-count-row small{color:var(--muted);text-align:right}.quick-count-label{min-width:0}.quick-subtopics{margin:0 0 8px 136px}.quick-subtopics summary{cursor:pointer;color:var(--accent);font-size:.88rem;padding:2px 0 8px}.quick-subtopic-list{border-left:2px solid var(--border);padding-left:12px}.quick-topic-row{grid-template-columns:124px minmax(0,1fr) 50px;font-size:.89rem}.quick-variant-footer{position:sticky;bottom:-24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border-top:1px solid var(--border);padding:16px 0;margin-top:14px}.quick-variant-footer div{display:flex;flex-direction:column;gap:3px}.quick-variant-footer a{font-size:.88rem}.quick-variant-footer button:disabled{opacity:.45;cursor:default}.quick-variant-footer button:disabled:hover{background:var(--button);transform:none;box-shadow:none}
@media(max-width:700px){.catalog-profile-heading{align-items:flex-start;flex-direction:column}.quick-variant-dialog{padding:16px}.quick-count-row{grid-template-columns:112px minmax(0,1fr);gap:8px}.quick-count-row small{display:none}.quick-subtopics{margin-left:0}.quick-topic-row{grid-template-columns:112px minmax(0,1fr)}.quick-variant-footer{bottom:-16px}}
.quick-variant-reset{border:0;background:none;color:var(--accent);padding:0;text-align:left;font:inherit;font-size:.88rem;cursor:pointer}.quick-variant-reset:hover{text-decoration:underline}
.quick-topic-choice{display:grid;grid-template-columns:22px minmax(0,1fr) 76px;align-items:center;gap:8px;min-height:36px;cursor:pointer;font-size:.89rem}.quick-topic-choice input{width:16px;height:16px;accent-color:var(--accent);margin:0}.quick-topic-choice small{color:var(--muted);text-align:right}.quick-topic-choice:hover span{color:var(--accent)}.quick-variant-hint{font-size:.82rem;margin:8px 0 0}
.variant-rule-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media(max-width:700px){.variant-rule-actions{justify-content:flex-start}}
.variant-exclusions{grid-column:1/-1;margin-top:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-hover);padding:10px 12px}.variant-exclusions[hidden]{display:none}.variant-exclusions summary{cursor:pointer;color:var(--accent);font-size:.9rem;font-weight:650}.variant-exclusion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:10px}.variant-exclusion-choice{display:flex!important;align-items:flex-start;gap:8px;font-size:.88rem;font-weight:400!important;cursor:pointer}.variant-exclusion-choice input{margin-top:3px;accent-color:var(--accent);flex:none}.variant-exclusion-choice span{min-width:0}
@media(max-width:700px){.variant-exclusion-list{grid-template-columns:1fr}}
@media (prefers-reduced-motion: no-preference){
  .task-source-filter a{transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
  .task-source-filter a:hover{transform:translateY(-2px)}
}

/* Subject landing: a quiet visual anchor above the study catalog. */
:root{--hero-glow:rgba(20,151,118,.14);--hero-line:rgba(11,117,102,.15)}
html[data-theme="dark"]{--hero-glow:rgba(88,222,151,.12);--hero-line:rgba(114,224,162,.13)}
.brand{display:inline-flex;align-items:center;gap:9px;letter-spacing:-.025em}
.brand::before{content:"";width:24px;height:24px;border-radius:7px;background:linear-gradient(145deg,var(--accent),var(--button));box-shadow:inset 0 0 0 5px var(--surface),0 0 0 1px var(--accent);transform:rotate(-8deg)}
.profile-hero{position:relative;isolation:isolate;overflow:hidden;padding:28px 30px 10px;margin:-4px 0 26px;border:1px solid var(--border);border-radius:22px;background:radial-gradient(circle at 88% 8%,var(--hero-glow),transparent 33%),linear-gradient(135deg,var(--surface),var(--surface-hover));box-shadow:0 16px 38px var(--shadow-color)}
.profile-hero::before{content:"";position:absolute;z-index:-1;width:250px;height:250px;right:-54px;top:-102px;border:1px solid var(--hero-line);border-radius:50%;box-shadow:0 0 0 34px var(--hero-line),0 0 0 75px var(--hero-line);opacity:.42;pointer-events:none}
.profile-kicker{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--accent);font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.profile-kicker span{width:4px;height:4px;border-radius:50%;background:currentColor}
.profile-hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.035em}
.profile-hero .task-search{margin:20px 0 22px}
.profile-hero .task-search>div{filter:drop-shadow(0 4px 10px var(--shadow-color))}
.profile-resource-hub .resource-entry{position:relative;overflow:hidden;padding:20px 22px 18px;min-height:132px}
.profile-resource-hub .resource-entry::before{content:"01";display:grid;place-items:center;width:34px;height:34px;margin-bottom:9px;border:1px solid var(--border);border-radius:10px;background:var(--badge-bg);color:var(--badge-text);font-size:.72rem;font-weight:800;letter-spacing:.06em}
.profile-resource-hub .resource-entry:nth-child(2)::before{content:"02"}
.profile-resource-hub .resource-entry:nth-child(3)::before{content:"03"}
.profile-resource-hub .resource-entry::after{content:"";position:absolute;right:-24px;top:-24px;width:88px;height:88px;border:1px solid var(--hero-line);border-radius:50%;pointer-events:none}
.profile-resource-hub .resource-entry strong{font-size:1.04rem;letter-spacing:-.015em}
.catalog-numbers>h2{display:flex;align-items:center;gap:12px;font-size:1.35rem;letter-spacing:-.02em}
.catalog-numbers>h2::before{content:"";width:4px;height:24px;border-radius:4px;background:var(--accent)}
.catalog-numbers .exam-card{position:relative;overflow:hidden;min-height:142px;padding:20px 44px 19px 20px}
.catalog-numbers .exam-card::after{content:"↗";position:absolute;right:20px;top:18px;color:var(--accent);font-size:1.15rem;opacity:.65}
.catalog-numbers .exam-card:hover::after,.catalog-numbers .exam-card:focus-visible::after{opacity:1;transform:translate(2px,-2px)}
.catalog-numbers .exam-number{display:inline-flex;align-items:center;align-self:flex-start;min-height:31px;padding:2px 9px;border-radius:8px;background:var(--badge-bg);color:var(--badge-text);font-size:.88rem}
.catalog-numbers .exam-card small{border-top:1px solid var(--border-subtle);padding-top:11px}
@media (prefers-reduced-motion: no-preference){.catalog-numbers .exam-card::after{transition:transform .18s ease,opacity .18s ease}}
@media(max-width:650px){.profile-hero{padding:22px 18px 4px;border-radius:16px}.profile-hero::before{opacity:.22}.profile-resource-hub .resource-entry{min-height:112px}.catalog-numbers .exam-card{min-height:126px}}

/* Reuse the same restrained visual language on study and authoring pages. */
a.card:hover,a.card:hover *,a.card:focus-visible,a.card:focus-visible *,a.variant-list-row:hover{text-decoration:none}
.page-intro{position:relative;isolation:isolate;overflow:hidden;padding:24px 28px;margin:0 0 24px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at 93% -25%,var(--hero-glow),transparent 36%),linear-gradient(135deg,var(--surface),var(--surface-hover));box-shadow:0 9px 28px var(--shadow-color)}
.page-intro::after{content:"";position:absolute;z-index:-1;right:-18px;top:-54px;width:170px;height:170px;border:1px solid var(--hero-line);border-radius:50%;box-shadow:0 0 0 29px var(--hero-line);opacity:.38;pointer-events:none}
.page-intro h1{margin:0 0 7px;letter-spacing:-.028em}
.page-intro p:last-child{margin-bottom:0}
.page-kicker{margin:0 0 11px;color:var(--accent);font-size:.79rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.page-kicker a{color:inherit}
.page-intro.heading-row{min-height:118px}
.page-intro .button{position:relative;z-index:1}
.topic-list{gap:10px}
.topic-row{min-height:74px}
.topic-position{display:grid;place-items:center;min-width:43px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--badge-bg);color:var(--badge-text);font-size:.88rem}
.topic-row .topic-arrow{transition:transform .18s ease}
.topic-row:hover .topic-arrow,.topic-row:focus-visible .topic-arrow{transform:translateX(3px)}
.teacher-tools .action{position:relative;overflow:hidden;min-height:125px;padding-top:44px}
.teacher-tools .action::before{content:"";position:absolute;left:20px;top:18px;width:24px;height:5px;border-radius:8px;background:var(--accent);box-shadow:10px 0 0 var(--hero-line)}
.teacher-tools .action::after{content:"↗";position:absolute;right:20px;top:17px;color:var(--accent);opacity:.65}
.teacher-tools .action:hover::after{opacity:1}
.variant-builder>.card,.homework-builder>.card,.form-card{border-top:2px solid var(--accent)}
.variant-builder input:focus,.variant-builder select:focus,.homework-builder input:focus,.homework-builder select:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--hero-glow);outline:none}
@media (prefers-reduced-motion: reduce){.topic-row .topic-arrow{transition:none}}
@media(max-width:650px){.page-intro{padding:20px 18px;margin-bottom:20px}.page-intro::after{opacity:.2}.page-intro.heading-row{min-height:0}.teacher-tools .action{min-height:108px}}
