@charset "UTF-8";
:root {
  color-scheme:light;
  font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#17212f;background:#fff;
  --ink:#17212f;--muted:#596a7a;--line:#dfe4e9;--wash:#f5f7f8;--accent:#174c79;
  --tree:290px;--header:48px;--top-search:50px;--dock:58px;
  --visible-height:100dvh;--visible-top:0px;--keyboard-bottom:0px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
* {box-sizing:border-box}
html,body {height:100%;margin:0}
body {overflow:hidden;background:#fff}
button,input,select {font:inherit}
button,a {touch-action:manipulation}
button {color:inherit;cursor:pointer}
a {color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible {outline:2px solid #4284b6;outline-offset:2px}
[hidden] {display:none!important}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.topbar {height:var(--header);display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:12}
.brand {font-size:13px;line-height:1;text-decoration:none;color:#fff;background:#25384a;border-radius:3px;width:28px;height:28px;display:grid;place-items:center;font-weight:700;flex-shrink:0}
.index-toggle,.settings-toggle {height:36px;border:0;background:transparent;border-radius:3px;padding:4px 6px;color:#364655;display:flex;gap:6px;align-items:center;font-size:14px;flex-shrink:0}
.index-toggle:hover,.settings-toggle:hover {background:var(--wash)}
.settings-toggle {width:36px;justify-content:center;font-size:24px;line-height:1}
.library-count {font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdf-link {font-size:13px;text-decoration:none;white-space:nowrap;color:#33495a}
.elective-switch {margin-left:auto;display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;font-size:14px;flex-shrink:0;min-height:36px;position:relative}
.elective-switch input {position:absolute;width:1px;height:1px;opacity:0}
.switch-track {display:block;width:30px;height:18px;background:#c9d1d8;border-radius:12px;position:relative;flex-shrink:0}
.switch-track:before {content:'';position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff}
.elective-switch input:checked+.switch-track {background:#235e89}
.elective-switch input:checked+.switch-track:before {left:15px}
.elective-switch input:focus-visible+.switch-track {outline:2px solid #4284b6;outline-offset:3px}
.searchbar {display:flex;align-items:center;gap:9px;padding:5px 12px;background:#fff}
.searchbar>span {font-size:21px;color:#65717a}
.searchbar input {flex:1;min-width:0;border:0;background:transparent;border-radius:0;padding:7px 2px;color:#17212f;font-size:16px;outline:none}
.searchbar input::placeholder {color:#77838e}
.searchbar input::-webkit-search-cancel-button,.searchbar input::-webkit-search-decoration {-webkit-appearance:none;appearance:none}
.searchbar input:focus-visible {outline:0}
.searchbar:focus-within {box-shadow:inset 0 -2px #4284b6}
.search-top {height:var(--top-search);border-bottom:1px solid var(--line)}
.submit-query {border:1px solid #6d7b87;background:#eef1f3;color:#263744;border-radius:3px;padding:6px 12px;font-size:14px}
.clear-query {border:0;background:transparent;color:#63717d;font-size:22px;padding:2px 6px}
.search-dock {position:fixed;left:0;right:0;top:calc(var(--visible-top) + var(--visible-height));transform:translateY(-100%);z-index:30;height:calc(var(--dock) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid #cfd7de;box-shadow:0 -2px 9px #1d2c390c}
.workspace {height:calc(var(--visible-height) - var(--header) - var(--top-search) - var(--dock) - var(--safe-bottom));display:grid;grid-template-columns:var(--tree) minmax(0,1fr);min-height:0}
.sidebar {height:100%;min-height:0;overflow:auto;border-right:1px solid var(--line);padding:8px;background:#fafbfc;overscroll-behavior:contain}
.tree-label {font-size:12px;letter-spacing:.04em;font-weight:700;color:#667583;padding:6px 5px 7px}
.index-tree details {margin:2px 0}
.index-tree summary {cursor:pointer;list-style:none;padding:7px 4px;font-size:14px;color:#344657;border-radius:3px}
.index-tree summary::-webkit-details-marker {display:none}
.index-tree summary:before {content:'›';display:inline-block;width:14px;color:#718290}
.index-tree details[open]>summary:before {content:'⌄'}
.index-tree summary:hover,.tree-doc:hover,.tree-section:hover {background:#eef2f4}
.tree-group-count {float:right;color:#617282;font-size:12px;margin-left:5px}
.tree-subject-docs {padding-left:12px}
.tree-doc {display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:3px;color:#283846;font-size:14px;line-height:1.4;padding:5px}
.tree-doc.derivative:after {content:' · kidolgozás';color:#697985;font-size:12px}
.tree-section-list {padding:0 0 3px 9px}
.tree-section {display:block;width:100%;border:0;border-left:1px solid #d7dee4;background:transparent;text-align:left;color:#596b79;font-size:13px;line-height:1.4;padding:4px 4px 4px 7px}
.backdrop {display:none}
#main {height:100%;min-width:0;overflow:auto;padding:12px 16px;overscroll-behavior:contain;scrollbar-gutter:stable}
.loading,.empty {color:var(--muted);padding:14px 3px;font-size:16px}
.home-head {display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:0 0 8px}
.home-head h1 {font-size:20px;font-weight:650;margin:0}
.home-head span,.subtle {color:var(--muted);font-size:13px}
.home-groups {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 20px}
.home-group {border-bottom:1px solid var(--line);padding:9px 0;min-width:0}
.home-group h2 {font-size:16px;margin:0 0 6px;color:#34495a;font-weight:650}
.home-doc {display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;padding:5px 0}
.home-doc button {border:0;padding:0;text-align:left;background:transparent;font-size:16px;color:#243544;line-height:1.4}
.home-doc button:hover,.breadcrumb:hover {color:var(--accent);text-decoration:underline}
.home-doc small {font-size:12px;color:#617382;white-space:nowrap}
.result-head {display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:1px 0 9px;border-bottom:1px solid var(--line);margin-bottom:4px}
.result-head h1 {font-size:20px;line-height:1.3;font-weight:600;margin:0;overflow-wrap:anywhere}
.result-count {font-size:13px;color:var(--muted)}
.result-group {border-bottom:1px solid var(--line);padding:7px 0 5px}
.result-title {border:0;background:transparent;padding:0;font-size:16px;line-height:1.4;text-align:left;color:#25455d;font-weight:650;text-decoration:none}
.result-title:hover {text-decoration:underline}
.result-meta {font-size:13px;color:#617382;padding-left:7px}
.result {display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;padding:5px 0;align-items:start;text-decoration:none;color:inherit;border-radius:3px}
.result:hover,.result:focus-visible {background:#f1f5f8}
.result:hover .result-loc,.result:focus-visible .result-loc {text-decoration:underline;color:var(--accent)}
.result-loc {font-size:13px;color:#596b7b;white-space:nowrap;padding-top:2px}
.result-loc button {border:0;background:none;padding:0;color:#38556b;font-size:13px;text-align:left}
.result-loc button:hover {text-decoration:underline}
.result-snippet {font-size:16px;line-height:1.45;color:#34414b;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.result-snippet mark {background:#fff0ae;color:inherit}
.result-actions {padding:9px 0}
.result-actions button,.breadcrumb,.reader-tools button,.more button {border:1px solid var(--line);background:#fff;border-radius:3px;padding:6px 9px;font-size:14px;color:#394956}
.reader-top {display:flex;align-items:center;gap:10px;padding:0 0 8px;border-bottom:1px solid var(--line)}
.breadcrumb {border:0;padding:4px 3px;white-space:nowrap}
.reader-top h1 {font-size:20px;font-weight:600;margin:0;overflow-wrap:anywhere}
.reader-meta {display:flex;gap:10px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.reader-note {margin:7px 0;color:#52616e;font-size:13px}
.reader-tools {display:flex;gap:5px;padding:4px 0}
.reader-tools button.active {background:#e9eff3;color:#173d5b}
.reader-layout {display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:14px}
.toc {position:sticky;top:0;align-self:start;max-height:calc(var(--visible-height) - var(--header) - var(--top-search) - var(--dock) - 35px);overflow:auto;border-right:1px solid var(--line);padding-right:7px}
.toc h2 {font-size:12px;margin:7px 0;color:#61717e}
.toc button {display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:2px;padding:5px;font-size:14px;color:#445360;line-height:1.4}
.toc button:hover {background:#eef2f4}
.reading {min-width:0}
.unit {padding:8px 0;border-bottom:1px solid var(--line);scroll-margin-top:5px}
.unit-heading {display:flex;justify-content:space-between;gap:9px;font-size:13px;color:#617281}
.unit-heading a {font-size:13px;text-decoration:none;white-space:nowrap}
.source-text {white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.6;margin:7px 0;color:#25313a}
.source-text.heading {font-weight:650}
.source-text del {color:#777;text-decoration:line-through;text-decoration-thickness:1px}
.source-text strong {font-weight:700}
.source-text em {font-style:italic}
.reader-match {background:#fff0ae;color:inherit;scroll-margin-top:12px}
.pdf-frame {width:100%;height:calc(var(--visible-height) - var(--header) - var(--top-search) - var(--dock) - 200px);min-height:180px;border:1px solid var(--line);margin-top:7px}
.more {padding:8px 0}
.settings-dialog {position:fixed;inset:auto 0;top:calc(var(--visible-top) + var(--visible-height) / 2);transform:translateY(-50%);margin:0 auto;width:420px;max-width:calc(100vw - 24px);max-height:calc(var(--visible-height) - 24px);overflow:auto;padding:18px;border:1px solid #b9c6d1;border-radius:6px;color:var(--ink);background:#fff;box-shadow:0 10px 45px #17212f35}
.settings-dialog::backdrop {background:#17212f55}
.settings-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px}
.settings-heading h2 {font-size:20px;margin:0}
.settings-close {width:36px;height:36px;border:0;background:transparent;border-radius:3px;font-size:25px}
.settings-close:hover {background:var(--wash)}
.settings-dialog fieldset {border:0;border-top:1px solid var(--line);margin:12px 0 0;padding:8px 0}
.settings-dialog legend {font-size:14px;color:#526575;font-weight:650;padding:0 8px 0 0}
.setting-row {display:flex;align-items:center;gap:10px;min-height:38px;font-size:16px;cursor:pointer}
.setting-row input {width:18px;height:18px;margin:0;accent-color:#235e89;flex-shrink:0}
.settings-note {font-size:13px;line-height:1.5;color:var(--muted);margin:5px 0 0}
.settings-footer {border-top:1px solid var(--line);margin-top:9px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-footer span {font-size:12px;color:var(--muted)}
.settings-footer button {border:1px solid #6d7b87;background:#eef1f3;border-radius:3px;font-size:15px;padding:7px 16px}
@media(max-width:760px) {
  :root {--tree:0px;--dock:54px}
  .topbar {gap:8px;padding:0 8px}
  .index-toggle {font-size:19px;width:32px;justify-content:center;padding:3px}
  .index-toggle span,.library-count,.pdf-long {display:none}
  .elective-switch {gap:6px}
  .workspace {display:block}
  .sidebar {display:none;position:fixed;z-index:24;left:0;top:calc(var(--header) + var(--top-search));bottom:calc(var(--dock) + var(--keyboard-bottom) + var(--safe-bottom));width:min(88vw,350px);height:auto;box-shadow:5px 0 16px #17212f20}
  .sidebar.open {display:block}
  .backdrop.show {display:block;position:fixed;inset:calc(var(--header) + var(--top-search)) 0 calc(var(--dock) + var(--keyboard-bottom) + var(--safe-bottom));z-index:23;background:#17212f35}
  #main {padding:10px}
  .home-groups {display:block}
  .result {grid-template-columns:66px minmax(0,1fr);gap:7px}
  .result-meta {display:block;padding-left:0;margin-top:2px}
  .result-snippet {-webkit-line-clamp:3}
  .reader-layout {display:block}
  .toc {position:static;max-height:145px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 5px;margin-bottom:5px}
  .toc button {display:inline-block;width:auto;max-width:100%;vertical-align:top;margin-right:4px}
  .reader-top {align-items:flex-start}
  .source-text {font-size:17px;line-height:1.6}
  .searchbar {padding-left:9px;padding-right:9px;gap:7px}
}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important}}
