@font-face{font-family:Manrope;font-weight:400;src:url(/assets/manrope-latin-400-BobB162E.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:600;src:url(/assets/manrope-latin-600-CMQ1-MiM.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:700;src:url(/assets/manrope-latin-700-tibEeXwO.woff2)format("woff2")}@font-face{font-family:Manrope;font-weight:400;src:url(/assets/manrope-latin-ext-400-CyiEdcVM.woff2)format("woff2");unicode-range:U+100-24F}:root{--od-primary:#7a4590;--od-primary-dark:#5d356e;--od-primary-mid:#bb9fc6;--od-text:#1b1622;--od-bg:#fff;--od-grey:#f4f1f4;--od-border:#d9cfd9;--od-bg-alt:#faf9fa;--od-text-mute:#6b6b6b;--od-success:#4caf50;--od-pending:#f57c00;--od-danger:#c62828}*{box-sizing:border-box}body{color:var(--od-text);background:var(--od-grey);margin:0;font-family:Manrope,Arial,Aptos,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:var(--od-primary);text-decoration:none}a:hover{color:var(--od-primary-dark)}h1{margin:0 0 4px;font-size:24px;font-weight:700}h2{margin:0 0 12px;font-size:17px;font-weight:600}.sub{color:var(--od-text-mute);margin:0 0 20px}main{width:100%;max-width:1280px;margin:0 auto;padding:24px}.app{flex-direction:column;min-height:100dvh;display:flex}.app.reading{height:100dvh}.topbar{background:var(--od-bg);border-bottom:1px solid var(--od-border);justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.brand{color:var(--od-text-mute);align-items:center;gap:12px;font-weight:600;display:flex}.brand img{height:28px;display:block}.brand span{border-left:1px solid var(--od-border);padding-left:12px}.user{color:var(--od-text-mute);font-size:14px}.linklike{font:inherit;color:var(--od-primary);cursor:pointer;background:0 0;border:0;padding:0}.linklike:hover{color:var(--od-primary-dark)}.card{background:var(--od-bg);border:1px solid var(--od-border);border-radius:10px;padding:24px}.badge{background:var(--od-grey);color:var(--od-text);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.brand{color:var(--od-primary)}.badge.success{color:#2e7d32;background:#e5f4e6}.tag{color:var(--od-text-mute);border:1px solid var(--od-border);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px}.count{color:var(--od-text-mute);font-size:13px;font-weight:400}.blocked{border:1px solid var(--od-pending);background:#fff8f0;border-radius:10px;margin-bottom:18px;padding:14px 18px}label{margin:12px 0 6px;font-weight:600;display:block}input,select{font:inherit;border:1px solid var(--od-border);background:var(--od-bg);color:var(--od-text);border-radius:6px;padding:9px 11px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--od-primary);outline-offset:2px}.btn{font:inherit;border:1px solid var(--od-primary);background:var(--od-bg);color:var(--od-primary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:8px 14px;font-weight:600;display:inline-block}.btn.primary{background:var(--od-primary);color:#fff}.btn.primary:hover{background:var(--od-primary-dark);color:#fff}.btn.ghost{border-color:var(--od-border);color:var(--od-text)}.btn.ghost:hover{border-color:var(--od-primary-mid);color:var(--od-primary)}.btn.wide{width:100%;margin-top:20px}.login{max-width:420px;padding-top:12vh}.login input{width:100%}.login-logo{width:auto;height:40px;margin-bottom:20px;display:block}.crumbs{color:var(--od-text-mute);font-size:14px}.home-head{margin-bottom:8px}.searchbar{gap:10px;margin:14px 0 10px;display:flex}.searchbar input{flex:1;min-width:0;padding:12px 14px;font-size:16px}.filters-toggle{display:none}.home-body{grid-template-columns:240px 1fr;align-items:start;gap:24px;display:grid}.sidebar{background:var(--od-bg);border:1px solid var(--od-border);border-radius:10px;max-height:calc(100dvh - 32px);padding:6px 12px 12px;position:sticky;top:16px;overflow-y:auto}.facet h2{text-transform:uppercase;letter-spacing:.04em;color:var(--od-text-mute);margin:14px 4px 6px;font-size:12px}.facet ul{margin:0;padding:0;list-style:none}.facet button{text-align:left;width:100%;font:inherit;color:var(--od-text);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:8px;padding:6px 8px;display:flex}.facet button:hover{background:var(--od-grey)}.facet button.on{background:var(--od-primary);color:#fff;font-weight:600}.facet button.on .count{color:#fff}.facet button:disabled{color:var(--od-text-mute);cursor:default;background:0 0}.project{margin-bottom:28px}.project h2{border-bottom:2px solid var(--od-primary-mid);align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.project h2 a{color:var(--od-text)}.project h2 a:hover{color:var(--od-primary)}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.doc-card{background:var(--od-bg);color:var(--od-text);border:1px solid var(--od-border);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;transition:border-color .12s,transform .12s;display:flex}.doc-card:hover{border-color:var(--od-primary);color:var(--od-text);transform:translateY(-1px)}.doc-card strong{font-weight:600;line-height:1.35}.doc-card-top{flex-wrap:wrap;gap:6px;display:flex}.doc-card-project{color:var(--od-primary);font-size:13px}.doc-card-desc{color:var(--od-text-mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.doc-card-meta{color:var(--od-text-mute);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-size:13px;display:flex}.modules-card{background:var(--od-bg-alt);border-style:dashed}.modules-card strong{color:var(--od-primary)}.empty{color:var(--od-text-mute);text-align:center;padding:40px 0}.reader{flex-direction:column;flex:1;min-height:0;display:flex}.reader-bar{background:var(--od-bg);border-bottom:1px solid var(--od-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.reader-title{flex:320px;min-width:0}.reader-title h1{margin:2px 0 4px;font-size:19px}.reader-meta{color:var(--od-text-mute);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.reader-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reader-actions select{padding:8px 10px}.version-note{border-bottom:1px solid var(--od-pending);background:#fff8f0;margin:0;padding:8px 24px;font-size:14px}.reader iframe{background:var(--od-bg);border:0;flex:1;width:100%;min-height:0}@media (width<=820px){.topbar{padding:10px 14px}.brand img{height:24px}main{padding:14px}.home-body{grid-template-columns:1fr;gap:14px}.filters-toggle{display:inline-block}.sidebar{max-height:none;display:none;position:static}.sidebar.open{display:block}.searchbar{flex-wrap:wrap}.searchbar input{flex:100%}.searchbar select{flex:1}.reader-bar{padding:10px 14px}.reader-title h1{font-size:17px}.version-note{padding:8px 14px}}
