:root{--bg: #ffffff;--text: #111827;--muted: #6b7280;--ring: #1d4ed8;--blue: #0b5ed7;--blue-600: #0b5ed7;--blue-700: #094fb4;--border: #e5e7eb;--border-300: #d1d5db;--card: #ffffff;--shadow: 0 8px 28px rgba(16, 24, 40, .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;display:flex;flex-direction:column}.content{flex:1}.container{max-width:1100px;margin:0 auto;padding:24px 16px 40px}.brand-bar{background:#fff;border-bottom:1px solid #eef2f7}.brand-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.brand-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-icon{height:24px;width:auto}.brand-name{font-size:16px;font-weight:800;color:#1f2937}.lang-toggle{height:32px;padding:0 12px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-weight:800;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .2s}.lang-toggle:hover{box-shadow:0 6px 14px #1e40af0f}.lang-toggle:focus{outline:none;box-shadow:0 0 0 3px #1d4ed840}.lang-toggle.pressed{transform:scale(.96);opacity:.85}.hero{margin:28px 0 18px}.h1{margin:0 0 6px;font-size:clamp(22px,2.2vw + 12px,28px);line-height:1.15;letter-spacing:-.01em;font-weight:800}.lead{margin:0;color:var(--muted);font-size:15px}.lead strong,.hero .lead strong{font-weight:800;color:#111827}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.tab{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;color:#374151;cursor:pointer;transition:background .15s ease,box-shadow .2s ease,border-color .15s ease}.tab:hover{background:#f8fafc}.tab.active{border-color:#dbeafe;background:#eff6ff;color:#1e40af;box-shadow:0 8px 22px #1e3a8a14}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.card-body{padding:18px}.search-card{margin-top:4px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}@media (max-width: 720px){.grid.two{grid-template-columns:1fr}}.field label{display:block;font-size:13px;color:#374151;margin:0 0 6px;font-weight:600}.input{width:100%;border:1px solid var(--border-300);border-radius:10px;padding:12px;font-size:15px;color:#111827;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:#9ca3af}.input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb33}.actions{margin-top:8px}.btn{border-radius:12px;padding:10px 14px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}.btn-primary:hover{background:var(--blue-700);border-color:var(--blue-700)}.btn-outline{background:#fff;color:#111827;border:1px solid var(--border-300)}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.btn-sm{font-size:14px;padding:8px 12px;border-radius:10px}.alert{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:14px}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.results-wrap{margin-top:6px}.results-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.results-title .h1{margin:0}.results-title .count{color:#6b7280;font-weight:600}.searched-on{color:#6b7280;font-size:14px}.query-pill{display:inline-block;background:#f3f4f6;border:1px solid #e5e7eb;color:#111827;border-radius:999px;padding:4px 10px;margin-left:4px}.results-list{display:grid;gap:14px}.result-card .card-body{padding:18px}.result-header{display:flex;align-items:center;justify-content:space-between}.result-name{margin:0;font-size:22px;font-weight:800}.muted{color:#6b7280;font-size:14px;margin-top:4px}.sep{border:0;height:1px;background:#eef2f7;margin:14px 0}.result-course-titles{display:flex;align-items:center;gap:16px;margin-bottom:10px}.course-title{font-weight:800;font-size:18px;color:#0f172a}.variant-title{font-weight:700;font-size:16px;color:#1e293b}.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}@media (max-width:720px){.facts-grid{grid-template-columns:1fr}}.fact-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:4px}.fact-value{font-size:15px;font-weight:600;color:#0f172a}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.site-footer{background:#0b1220;color:#e5e7eb;border-top:1px solid rgba(255,255,255,.06)}.footer-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:18px 16px}.footer-left{justify-self:start}.footer-center{justify-self:center;font-size:14px;color:#cbd5e1}.footer-actions{justify-self:end;display:flex;flex-direction:row;align-items:center;gap:10px}@media (max-width:520px){.footer-row{grid-template-columns:auto 1fr!important;grid-template-areas:"left center" "actions actions"!important;row-gap:12px}.footer-left{grid-area:left;justify-self:start}.footer-center{grid-area:center;justify-self:end;text-align:right;margin:0!important;grid-column:auto!important;order:0!important}.footer-center{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.footer-row{grid-template-columns:auto minmax(0,1fr)!important}.footer-actions{grid-area:actions;grid-column:auto!important;order:0!important;display:flex!important;flex-direction:row!important;gap:10px;width:100%;align-items:center}.footer-actions .btn{white-space:nowrap;overflow:visible;text-overflow:clip}.footer-actions .btn-primary{flex:1 1 auto;text-align:center}.footer-actions .btn-outline{flex:0 0 auto;text-align:center}.site-footer .btn-sm{padding:8px 10px}}.footer-logo{height:28px;width:auto;filter:brightness(1.1)}.site-footer .btn-primary{background:#0b5ed7;border:1px solid #0b5ed7;color:#fff}.site-footer .btn-primary:hover{background:#094fb4;border-color:#094fb4}.site-footer .btn-outline{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.24)}.site-footer .btn-outline:hover{background:#ffffff0f}main.container{margin-top:8px}:root{--brand-logo-h: 40px;--footer-logo-h: 36px}.brand-icon{height:var(--brand-logo-h);width:auto}.footer-logo{height:var(--footer-logo-h);width:auto}.brand-row{padding:12px 16px}
