:root {
  color-scheme: light;
  --bg: #fff;
  --surface: #fff;
  --text: #202124;
  --muted: #5f6368;
  --border: #dfe1e5;
  --button-bg: #f8f9fa;
  --button-text: #3c4043;
  --suggest-hover: #f1f5f9;
  --result-title: #1a0dab;
  --result-url: #188038;
  --shadow: rgba(0,0,0,.12);
}
html.dark-mode {
  color-scheme: dark;
  --bg: #121212;
  --surface: #1e1e1e;
  --text: #e8eaed;
  --muted: #bdc1c6;
  --border: #3c4043;
  --button-bg: #292a2d;
  --button-text: #e8eaed;
  --suggest-hover: #303134;
  --result-title: #8ab4f8;
  --result-url: #81c995;
  --shadow: rgba(0,0,0,.35);
}
* { margin:0; padding:0; box-sizing:border-box; font-family:Arial,Helvetica,sans-serif; }
body { background:var(--bg); color:var(--text); transition:background .25s ease,color .25s ease; }
.top-bar { width:100%; background:#0a4b87; color:#fff; text-align:center; padding:10px 15px; font-size:14px; font-weight:500; }
.top-bar a { color:#00b7ff; text-decoration:none; font-weight:600; }
.top-bar a:hover { text-decoration:underline; }
html.dark-mode .top-bar { background:#102a43; }
.home { min-height:80vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 15px; }
.logo { display:block; margin-bottom:10px; text-decoration:none; }
.logo img { width:350px; max-width:90%; height:auto; display:block; margin:auto; }
.search-wrap { width:100%; max-width:650px; position:relative; }
.search-box { width:100%; display:flex; align-items:center; border:1px solid var(--border); border-radius:30px; padding:6px 8px 6px 20px; background:var(--surface); box-shadow:0 2px 8px var(--shadow); }
.search-box:hover,.search-box:focus-within { box-shadow:0 3px 12px var(--shadow); }
#searchInput,#searchInputResult { flex:1; min-width:0; border:none; outline:none; padding:14px 10px; font-size:17px; background:transparent; color:var(--text); }
#searchInput::placeholder,#searchInputResult::placeholder { color:var(--muted); }
#searchBtn,#searchBtnResult { border:none; background:#2563eb; color:#fff; padding:12px 28px; border-radius:24px; font-weight:bold; cursor:pointer; }
#searchBtn:hover,#searchBtnResult:hover { background:#1d4ed8; }
#suggestions,#suggestionsResult { position:absolute; top:62px; left:0; right:0; background:var(--surface); border-radius:14px; box-shadow:0 5px 20px var(--shadow); overflow:hidden; z-index:99; }
.suggest-item { padding:14px 20px; cursor:pointer; font-size:15px; color:var(--text); }
.suggest-item:hover { background:var(--suggest-hover); }
.buttons { margin-top:28px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.small-btn { background:var(--button-bg); border:1px solid var(--border); color:var(--button-text); padding:11px 18px; border-radius:5px; cursor:pointer; font-size:14px; }
.small-btn:hover { border-color:var(--border); box-shadow:0 1px 2px var(--shadow); }
.header-result { display:none; position:sticky; top:0; background:var(--bg); border-bottom:1px solid var(--border); padding:14px 24px; z-index:50; align-items:center; gap:25px; }
.header-result .logo { display:flex; align-items:center; margin:0; }
.header-result .logo img { width:180px; height:auto; display:block; }
.header-result .search-wrap { max-width:720px; }
.container { max-width:880px; margin:30px auto; padding:0 20px; display:none; }
.result { margin-bottom:30px; }
.result a { text-decoration:none; }
.result-title { color:var(--result-title); font-size:22px; margin-bottom:5px; font-weight:400; }
.result-title:hover { text-decoration:underline; }
.result-url { color:var(--result-url); font-size:14px; margin-bottom:8px; word-break:break-all; }
.result-desc { color:var(--muted); line-height:1.6; font-size:15px; }
.notfound { text-align:center; margin-top:60px; font-size:20px; color:var(--muted); }
.footer { text-align:center; padding:25px; color:var(--muted); font-size:14px; }
.footer a { color:var(--result-title); }
body.result-mode .home { display:none; }
body.result-mode .header-result { display:flex; }
body.result-mode .container { display:block; }
.theme-toggle { position:fixed; right:20px; bottom:20px; z-index:999; width:48px; height:48px; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--text); box-shadow:0 3px 12px var(--shadow); cursor:pointer; font-size:22px; display:flex; align-items:center; justify-content:center; transition:transform .2s ease,background .2s ease; }
.theme-toggle:hover { transform:scale(1.06); }
@media(max-width:768px) {
  .logo img { width: min(350px,90%); }
  .search-box { padding-left:15px; }
  #searchBtn,#searchBtnResult { padding:11px 18px; }
  .header-result { flex-direction:column; align-items:flex-start; gap:12px; padding:15px; }
  .header-result .search-wrap { width:100%; }
  .result-title { font-size:18px; }
  .theme-toggle { width:44px; height:44px; right:14px; bottom:14px; }
}
@media(prefers-reduced-motion:reduce) { body,.theme-toggle { transition:none; } }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 100px; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--text);
      font: 16px/1.75 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    a { color: #80b3ff; text-decoration: none; }
    a:hover { text-decoration: underline; }
    .wrap { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; }
    header {
      position: sticky; top: 0; z-index: 10;
      background: rgba(8, 11, 18, .94);
      border-bottom: 1px solid var(--border);
      backdrop-filter: blur(12px);
    }
    .topbar { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .brand { color: var(--text); font-size: 1.35rem; font-weight: 850; letter-spacing: -.04em; white-space: nowrap; }
    .brand span { color: var(--accent); }
    nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
    nav a { color: var(--muted); font-size: .92rem; font-weight: 600; }
    nav a:hover { color: #fff; }
    .hero { padding: 72px 0 48px; }
    .eyebrow { color: #80b3ff; font-size: .8rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    h1 { margin: 10px 0 14px; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.12; letter-spacing: -.045em; }
    .hero p { max-width: 720px; color: var(--muted); font-size: 1.08rem; margin: 0; }
    .quick-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 0 0 36px; }
    .quick-links a {
      display: block; padding: 16px; min-height: 78px;
      background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
      color: var(--text); font-weight: 700; transition: border-color .2s, transform .2s;
    }
    .quick-links a:hover { border-color: var(--accent); transform: translateY(-2px); text-decoration: none; }
    main { padding-bottom: 60px; }
    section {
      scroll-margin-top: 100px; margin: 0 0 20px; padding: clamp(22px, 4vw, 38px);
      background: var(--surface); border: 1px solid var(--border); border-radius: 18px;
    }
    h2 { margin: 0 0 18px; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.25; letter-spacing: -.025em; }
    h3 { margin: 25px 0 8px; font-size: 1.08rem; }
    p { margin: 0 0 14px; }
    ul { padding-left: 22px; margin: 8px 0 18px; }
    li { padding-left: 3px; margin: 5px 0; }
    .note { padding: 14px 16px; background: var(--surface-2); border-left: 3px solid var(--accent); border-radius: 8px; color: var(--muted); }
    .contact-list { display: grid; grid-template-columns: 180px 1fr; gap: 8px 16px; margin: 18px 0; }
    .contact-list strong { color: var(--muted); }
    .updated { margin-top: 22px; color: var(--muted); font-size: .88rem; }
    footer { border-top: 1px solid var(--border); padding: 28px 0 36px; color: var(--muted); font-size: .9rem; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
    .footer-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
    @media (max-width: 820px) {
      .topbar { align-items: flex-start; flex-direction: column; padding: 16px 0; gap: 12px; }
      nav { justify-content: flex-start; }
      .quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .quick-links a:last-child { grid-column: 1 / -1; }
      .hero { padding-top: 48px; }
    }
    @media (max-width: 480px) {
      .wrap { width: min(100% - 24px, var(--max)); }
      nav { gap: 8px 12px; }
      nav a { font-size: .85rem; }
      .quick-links { gap: 8px; }
      .quick-links a { padding: 12px; min-height: auto; font-size: .92rem; }
      .contact-list { grid-template-columns: 1fr; gap: 2px; }
      .contact-list strong { margin-top: 10px; }
    }