:root{--study-bg:#fff;--study-panel:#f6f7f8;--study-text:#202122;--study-muted:#54595d;--study-border:#a2a9b1;--study-link:#36c;--study-mark:#fff0a8}
html[data-study-theme=dark]{color-scheme:dark;--study-bg:#17191c;--study-panel:#22252a;--study-text:#eaecf0;--study-muted:#b7bec8;--study-border:#69717c;--study-link:#8ab4ff;--study-mark:#665311}
@media(prefers-color-scheme:dark){html:not([data-study-theme=light]){color-scheme:dark;--study-bg:#17191c;--study-panel:#22252a;--study-text:#eaecf0;--study-muted:#b7bec8;--study-border:#69717c;--study-link:#8ab4ff;--study-mark:#665311}}
html:root,body{background:var(--study-bg);color:var(--study-text)}a{color:var(--study-link)}
.site-header,.main-menu nav,.contents-popover,.link-preview,.code-help,.course-directory,.article-tabs,.contents{background-color:var(--study-bg);color:var(--study-text)}
input,textarea,select{background-color:var(--study-bg);color:var(--study-text);border-color:var(--study-border)}
.prose pre,.prose code,.article-figure,.study-dialog pre{background-color:var(--study-panel);color:var(--study-text)}
.prose th,.prose td,.contents,.article-tabs,.study-dialog table th,.study-dialog table td{border-color:var(--study-border)}
.page-meta,.lecture-meta,.lecture-pagination small,.search-list small,figcaption,.study-muted{color:var(--study-muted)}
.article-tabs>div{flex-wrap:wrap}.article-tabs [data-study-open]{min-height:36px}
html[data-study-size=large] .prose{font-size:18px;line-height:1.75}html[data-study-size=larger] .prose{font-size:20px;line-height:1.8}
html[data-study-width=narrow] .reading-column{max-width:680px}html[data-study-width=wide] .reading-column{max-width:1200px}
html[data-study-focus=true] .site-header,html[data-study-focus=true] .course-rail,html[data-study-focus=true] .lecture-pagination{display:none}
html[data-study-focus=true] .layout{display:block;max-width:1000px;margin:auto;padding-top:3rem}
#study-exit-focus{position:fixed;top:10px;right:16px;z-index:80;background:var(--study-bg);color:var(--study-text);border:1px solid var(--study-border);border-radius:4px;padding:8px 14px}
.study-dialog{padding:0;width:min(840px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--study-border);border-radius:8px;background:var(--study-bg);color:var(--study-text);box-shadow:0 12px 60px #0004}
.study-dialog::backdrop{background:#0007}.study-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--study-border)}
.study-dialog h2,.study-dialog h3,.study-dialog h4{color:var(--study-text);font-family:Georgia,serif}.study-dialog h2{font-size:24px;margin:0}.study-dialog h3{font-size:21px;margin:20px 0 10px}.study-dialog h4{font-size:18px}
.study-tabs{display:flex;gap:4px;padding:10px 16px;flex-wrap:wrap;border-bottom:1px solid var(--study-border)}
.study-dialog button,.study-editor button{cursor:pointer;min-height:40px;padding:7px 12px;border:1px solid var(--study-border);border-radius:4px;background:var(--study-panel);color:var(--study-text);font:inherit;transition:none}
.study-tabs button{border-color:transparent;background:transparent}.study-tabs button[aria-current=page]{border-bottom:3px solid var(--study-link);border-radius:0;color:var(--study-link)}
.study-dialog button:disabled{opacity:.65;cursor:default}#study-panel{padding:10px 24px 28px;overflow-wrap:anywhere}
.study-dialog label,.study-editor label{display:block;margin:10px 0}.study-dialog input:not([type=radio]):not([type=checkbox]):not([type=file]),.study-dialog textarea,.study-dialog select,.study-editor input,.study-editor textarea,.study-editor select{display:block;width:100%;max-width:100%;padding:9px;border:1px solid var(--study-border);border-radius:3px;font:inherit;box-sizing:border-box}
.study-dialog input[type=radio],.study-dialog input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:var(--study-link)}
.study-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.study-controls label{flex:1 1 160px}.study-controls button{flex:0 1 auto}.study-controls label:has(input[type=checkbox]){flex-basis:auto}
.study-ratings{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.study-dialog fieldset{border:1px solid var(--study-border);padding:8px 14px}.study-dialog legend{padding:0 6px}
.study-dialog .prose{max-width:none;font-size:16px}.study-dialog .prose p{line-height:1.65}.study-dialog pre{padding:12px;overflow:auto;max-width:100%}.study-dialog blockquote{border-left:3px solid var(--study-link);padding:8px 12px;margin:12px 0;background:var(--study-panel);white-space:pre-wrap}
.study-notes,.study-list{padding-left:0;list-style:none}.study-notes>li,.study-list>li{padding:12px 0;border-bottom:1px solid var(--study-border)}.study-notes p{white-space:pre-wrap}
.study-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.study-list progress{width:100%;grid-column:1/-1;accent-color:var(--study-link)}
.study-notice{position:fixed;z-index:10000;bottom:16px;left:50%;transform:translateX(-50%);background:var(--study-panel);color:var(--study-text);border:1px solid var(--study-border);border-radius:5px;padding:10px 16px;max-width:min(650px,calc(100vw - 32px));box-shadow:0 3px 15px #0003;margin:0}.study-notice:empty{display:none}
.study-search-filters{display:flex;gap:12px;flex-wrap:wrap;padding:10px 0}.study-search-filters label{flex:1;min-width:160px}.study-search-filters select{display:block;width:100%;max-width:350px;min-height:38px;margin-top:4px}
.search-list p{font-size:.95rem;margin:4px 0 12px}.search-list mark,.study-highlight{background:var(--study-mark);color:var(--study-text)}
.study-prerequisites{margin:24px 0;border-top:1px solid var(--study-border);padding-top:12px}.study-prerequisites summary{cursor:pointer}.study-review-date{font-size:13px;color:var(--study-muted)}
.study-dialog table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.study-dialog th,.study-dialog td{padding:7px;border:1px solid var(--study-border);text-align:right}.study-dialog dt{font-weight:bold}.study-dialog dd{margin:0 0 10px;white-space:pre-wrap}
.study-file input{max-width:100%}.study-editor{max-width:1080px;margin:auto;padding:24px;font-family:Arial,sans-serif;line-height:1.6}.study-editor header{display:flex;gap:20px;justify-content:space-between;align-items:center}.study-editor main{max-width:100%}.study-editor textarea{min-height:180px}.study-editor #editor-content{min-height:360px;font-family:monospace;font-size:14px}.study-editor .editor-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.study-editor article{border:1px solid var(--study-border);padding:16px;margin:12px 0}.study-editor .editor-preview{border:1px solid var(--study-border);padding:20px;overflow:auto;max-height:600px}.study-editor pre{white-space:pre-wrap}.study-error{color:#b32424;white-space:pre-wrap}.study-editor details{border-bottom:1px solid var(--study-border);padding:12px 0}.study-editor summary{cursor:pointer}.study-editor [role=status]{padding:10px;background:var(--study-panel)}
:where(.study-dialog,.study-editor) :focus-visible{outline:3px solid var(--study-link);outline-offset:3px}
@media(max-width:600px){.study-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.study-dialog-heading{padding:12px 16px}#study-panel{padding:8px 16px 22px}.study-tabs{padding:8px}.study-tabs button{flex:1 0 auto;font-size:14px;padding:6px 8px}.study-list>li{grid-template-columns:1fr}.study-list progress{grid-column:auto}.study-editor{padding:16px}.study-editor .editor-columns{grid-template-columns:1fr}.study-controls label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.study-dialog,.study-notice{scroll-behavior:auto;transition:none;animation:none}}
@media print{.study-dialog,.study-notice,[data-study-open],.study-prerequisites,#study-exit-focus,.study-review-date{display:none!important}html,body,.prose pre,.prose code{background:#fff!important;color:#000!important}.study-highlight{background:transparent}}
.study-tree,.study-tree ul{list-style:none;padding-left:20px}.study-tree>li{padding-left:0}.study-tree li{border-left:2px solid var(--study-border);padding:8px 12px;margin:4px 0}.study-tree small{display:block;color:var(--study-muted)}
#study-inline-notice{margin:0;padding:8px 24px;background:var(--study-panel);color:var(--study-text)}#study-inline-notice:empty{display:none}
html[data-study-theme] h1,html[data-study-theme] h2,html[data-study-theme] h3,html[data-study-theme] h4{color:var(--study-text)}
html[data-study-theme] #semester-search input{background:var(--study-bg);color:var(--study-text)}
html[data-study-theme] th,html[data-study-theme] .portal-all{background:var(--study-panel);color:var(--study-text)}
html[data-study-theme] .portal-course small{color:var(--study-muted)}
html[data-study-theme] .course-directory>.portal-all{box-shadow:0 0 0 .75rem var(--study-bg)}
html[data-study-theme] .code-explanation{background:var(--study-panel);color:var(--study-text);border-color:var(--study-border)}
html[data-study-theme]{--blue-soft:var(--study-panel)}
