body:has(.std-library) { background:#f5f7fa; }
.std-library,.std-library *,.std-search-overlay *,.std-enroll-dialog * { box-sizing:border-box; }
.std-library { --std-blue:#4b8ede; --std-ink:#17233b; --std-muted:#7a8799; width:90%; max-width:1440px; margin:30px auto 80px; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--std-ink); }
.std-library-hero { padding:42px 20px 56px; text-align:center; }
.std-library-hero h1 { margin:0; color:#111827; font:800 32px/1.2 Inter,sans-serif; letter-spacing:-.025em; }
.std-search-launch { position:relative; width:min(740px,100%); height:54px; margin:30px auto 0; border-radius:999px; background:#fff; }
.std-search-launch svg { position:absolute; left:20px; top:17px; width:20px; height:20px; stroke:#8a96a7; fill:none; stroke-width:1.8; }
.std-search-launch input[type=search] { width:100%; height:54px; margin:0; padding:0 24px 0 52px; border:0!important; border-radius:999px!important; background:transparent!important; box-shadow:none!important; font:500 15px/1.2 Inter,sans-serif; color:#17233b; }
.std-search-launch input::placeholder { color:#a0aaba; }
.std-library-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }
.std-library-main { min-width:0; }
.std-library-card { overflow:hidden; border:1px solid #e3e9f0; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(30,55,85,.035); }
.std-library-card > header { padding:22px 24px 18px; border-bottom:1px solid #edf0f4; }
.std-library-card h2 { margin:0; font:700 18px/1.5 Inter,sans-serif; letter-spacing:-.025em; }
.std-library-card > header > span:not(.std-trophy) { display:block; margin-top:5px; color:#7a8799; font-size:12px; }
.std-hot { max-width:540px; margin-bottom:28px; }
.std-hot > header { background:#f8fbff; }
.std-hot h2::before { content:'✦'; margin-right:9px; color:#4b8ede; }
.std-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.std-category { min-height:230px; }
.std-category > header { background:#fbfcfe; }
.std-category-exams { max-height:460px; overflow:auto; }
.std-exam-row { display:flex; align-items:center; gap:12px; min-width:0; min-height:90px; margin:0 22px; padding:17px 0; border-top:1px solid #edf0f4; color:#17233b; text-decoration:none!important; }
.std-exam-row:first-child,.std-library-card > header + .std-exam-row { border-top:0; }
.std-exam-icon { display:grid; place-items:center; flex:none; width:42px; height:54px; border-radius:7px; background:#ebf7ff; color:#4b8ede; font:400 25px/1 Georgia,serif; }
.std-exam-copy { display:flex; flex:1; flex-direction:column; gap:7px; min-width:0; }
.std-exam-copy strong { font-size:14px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.std-exam-copy small { color:#7a8799; font-size:11px; line-height:1.4; }
.std-exam-copy small span { padding:0 4px; }
.std-exam-cta { display:flex; align-items:center; flex:none; gap:8px; color:#4b8ede; font-size:12px; font-weight:600; white-space:nowrap; }
.std-exam-cta b { font-size:22px; font-weight:400; }
.std-exam-row:hover strong { color:#4b8ede; }
.std-exam-row:focus-visible,.std-library button:focus-visible,dialog button:focus-visible,dialog a:focus-visible { outline:2px solid #4b8ede; outline-offset:3px; }
.std-all-exams { margin-top:28px; }
.std-leaderboard { position:sticky; top:105px; min-height:380px; }
.std-leaderboard > header { text-align:center; padding:25px 20px 20px; }
.std-trophy { display:block; font-size:27px; margin-bottom:10px; }
.std-leaderboard h2 { color:#4b8ede; font-size:17px; }
.std-leaderboard header p { margin:9px 0 0; color:#7a8799; font-size:11px; }
.std-leaderboard ol { padding:0 20px; margin:0; list-style:none; }
.std-leaderboard li { display:flex; align-items:center; gap:10px; padding:17px 0; border-bottom:1px solid #edf0f4; }
.std-rank { display:grid; place-items:center; flex:none; width:26px; height:26px; border-radius:50%; background:#ebf7ff; color:#4b8ede; font-size:12px; font-weight:700; }
.std-member { min-width:0; flex:1; }
.std-member strong { display:block; overflow-wrap:anywhere; font-size:12px; font-weight:500; }
.std-member small { display:block; margin-top:5px; color:#7a8799; font-size:10px; }
.std-leaderboard li > b { flex:none; color:#4b8ede; font-size:13px; text-align:right; }
.std-leaderboard li > b small { display:block; font-weight:400; font-size:10px; color:#7a8799; margin-top:3px; }
.std-empty { margin:0; padding:25px; color:#7a8799; font-size:13px; line-height:1.8; }
.std-login { display:block; margin:20px; padding:12px; border-radius:8px; background:#ebf7ff; color:#397ecf; text-align:center; font-size:13px; }
body:has(dialog.std-search-overlay[open]),body:has(dialog.std-enroll-dialog[open]) { overflow:hidden; }
dialog.std-search-overlay { position:fixed; inset:0; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:clamp(90px,16vh,180px) 20px 60px; overflow-y:auto; border:0; border-radius:0; background:#f0f1f3; color:#17233b; font-family:Inter,sans-serif; }
.std-search-shell { width:min(740px,100%); margin:0 auto; }
.std-search-topbar { display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; align-items:center; margin-bottom:22px; }
.std-search-back { display:grid; place-items:center; width:52px; height:52px; padding:0; border:0; border-radius:50%; background:#fff; color:#8793a4; font:300 36px/1 Inter,sans-serif; cursor:pointer; }
.std-search-form { display:grid; height:54px; grid-template-columns:42px minmax(0,1fr) 44px; align-items:center; margin:0; padding:0 9px 0 14px; border-radius:999px; background:#fff; }
.std-search-form > svg { width:21px; height:21px; justify-self:center; fill:none; stroke:#8a96a7; stroke-width:2; stroke-linecap:round; }
.std-search-form input[type=search] { width:100%; height:52px; margin:0; padding:0; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; outline:0; color:#17233b; font:500 16px/1 Inter,sans-serif; }
.std-search-form button { display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#f5f6f8; color:#8a96a7; font:26px/1 Inter,sans-serif; cursor:pointer; }
.std-search-form button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.std-search-card { overflow:hidden; border-radius:14px; background:#fff; }
.std-search-label { padding:22px 20px 10px; font-size:14px; color:#607087; }
.std-search-status { margin:0; padding:8px 20px 16px; color:#8a96a7; font-size:13px; }
.std-search-results .std-exam-row { min-height:132px; margin:0 20px; gap:16px; }
.std-search-results .std-exam-icon { width:72px; height:104px; border-radius:5px; font-size:32px; box-shadow:0 5px 14px rgba(31,52,77,.08); }
.std-search-results .std-exam-copy strong { color:#3984d7; font-size:16px; }
.std-search-results .std-exam-copy small { font-size:13px; }
.std-search-results .std-exam-cta { font-size:0; color:#aab5c4; }
.std-search-results .std-exam-cta b { font-size:28px; }
.std-exam-row[hidden],.std-picker-list label[hidden] { display:none!important; }
dialog.std-enroll-dialog { position:fixed; width:min(480px,calc(100% - 32px)); max-height:85vh; padding:36px; margin:auto; border:0; border-radius:22px; color:#17233b; background:#fff; font:14px/1.8 Inter,sans-serif; text-align:center; box-shadow:0 20px 90px rgba(20,40,75,.2); }
.std-enroll-dialog::backdrop,.std-category-dialog::backdrop { background:rgba(23,35,59,.4); backdrop-filter:blur(3px); }
.std-dialog-close { position:absolute; right:14px; top:10px; width:34px; height:34px; padding:0; border:0; background:transparent; color:#7a8799; font:26px/1 Inter,sans-serif; cursor:pointer; }
.std-enroll-icon { display:grid; place-items:center; width:64px; height:72px; margin:0 auto 20px; border-radius:12px; background:#ebf7ff; color:#4b8ede; font-size:34px; }
.std-enroll-dialog h2 { margin:0 0 12px; font-size:22px; line-height:1.5; }
.std-enroll-dialog p { color:#7a8799; margin:10px 0; }
.std-enroll-dialog .std-enroll-exam { color:#17233b; font-weight:600; }
.std-enroll-offer { display:block; margin-top:18px; padding:14px; border:1px solid #e4eaf1; border-radius:12px; color:#17233b; }
.std-enroll-offer strong { display:block; font-weight:600; }
.std-enroll-offer a { display:block; margin-top:10px; padding:10px 20px; border-radius:999px; color:#fff; background:#4b8ede; font-weight:600; text-decoration:none; }
.std-admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin:24px 0; }
.std-admin,.std-category-dialog { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.std-admin-card { padding:24px; border:1px solid #e3e9f0; border-radius:12px; background:#fff; }
.std-delete-category { margin-top:18px; }
dialog.std-category-dialog { position:fixed; width:min(760px,calc(100% - 40px)); max-height:88vh; box-sizing:border-box; margin:auto; padding:24px; border:0; border-radius:14px; background:#fff; color:#1d2327; }
.std-category-dialog header,.std-category-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.std-category-dialog header h2 { margin:0; }
.std-category-dialog footer { justify-content:flex-end; padding-top:18px; }
.std-category-dialog .large-text { width:100%; margin-top:8px; }
.std-picker-list { max-height:40vh; overflow:auto; border:1px solid #dcdcde; padding:10px 16px; }
.std-picker-list label { display:flex; align-items:center; gap:8px; padding:12px 0; border-bottom:1px solid #eee; }
.std-picker-list label span { flex:1; }
.std-picker-list label small { color:#757575; }
@media(min-width:1450px) { .std-library { width:84%; } }
@media(max-width:1100px) { .std-library-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; } .std-category-grid { gap:18px; } .std-exam-row { margin:0 16px; gap:10px; } .std-category .std-exam-icon { display:none; } }
@media(max-width:820px) { .std-library-layout { grid-template-columns:1fr; } .std-leaderboard { position:static; min-height:0; } .std-hot { max-width:none; } .std-library-hero { padding:32px 10px 38px; } }
@media(max-width:540px) { .std-library { width:calc(100% - 24px); margin-top:10px; } .std-library-hero h1 { font-size:28px; } .std-category-grid { grid-template-columns:1fr; gap:18px; } .std-category { min-height:0; } .std-library-card > header { padding:18px; } .std-library-card h2 { font-size:17px; } .std-category .std-exam-icon { display:grid; } dialog.std-search-overlay { padding:24px 12px 40px; } .std-search-topbar { grid-template-columns:42px minmax(0,1fr); gap:10px; } .std-search-back { width:42px; height:42px; } .std-search-results .std-exam-row { min-height:110px; margin:0 16px; } .std-search-results .std-exam-icon { width:50px; height:76px; } .std-search-results .std-exam-copy strong { font-size:14px; } .std-search-results .std-exam-copy small { font-size:11px; } .std-enroll-dialog { padding:32px 24px!important; } }
