:root {
  color-scheme: dark;
  --ink: #081126;
  --ink-deep: #050b1a;
  --paper: #f4f1e8;
  --muted: #a9b4cf;
  --line: rgba(213, 224, 255, .18);
  --aqua: #48e6ce;
  --aqua-dark: #23cbb7;
  --danger: #ff8c97;
  --font-sans: Manrope, Arial, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
}

* { box-sizing: border-box; }
body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--paper); background: var(--ink-deep); font-family: var(--font-sans); }
body::before, body::after { content: ''; position: fixed; z-index: -1; pointer-events: none; filter: blur(3px); border-radius: 50%; }
body::before { width: min(62vw, 850px); height: min(62vw, 850px); top: -22vw; left: 18vw; background: radial-gradient(circle, rgba(41, 74, 198, .80) 0, rgba(32, 53, 134, .40) 30%, transparent 68%); }
body::after { width: min(54vw, 720px); height: min(54vw, 720px); right: -12vw; bottom: 4vh; background: radial-gradient(circle, rgba(18, 196, 208, .72), rgba(13, 110, 188, .34) 36%, transparent 70%); }

.page-shell { width: min(1180px, calc(100% - 64px)); min-height: calc(100vh - 112px); margin: 0 auto; }
.nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 0; font-size: 13px; }
.brand, .nav-link { color: var(--paper); text-decoration: none; }
.brand { font-weight: 700; } .brand span { color: var(--aqua); font-size: 23px; vertical-align: -2px; margin-right: 7px; }
.nav-label { color: var(--muted); } .nav-link { border: 1px solid var(--line); padding: 10px 16px; border-radius: 99px; font-weight: 600; transition: .2s ease; }
.nav-link:hover { border-color: var(--aqua); color: var(--aqua); }

.hero { max-width: 840px; padding: clamp(80px, 13vh, 156px) 0 82px; }
.eyebrow { margin: 0 0 25px; color: #b8c7e5; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
h1 { max-width: 760px; margin: 0; font-family: var(--font-serif); font-size: clamp(46px, 7vw, 86px); line-height: .98; letter-spacing: -.045em; font-weight: 500; }
.intro { max-width: 590px; margin: 27px 0 32px; color: #cad2e5; font-size: 16px; line-height: 1.75; }
.search-form { display: flex; align-items: center; gap: 8px; width: min(100%, 660px); padding: 7px; border: 1px solid rgba(218, 232, 255, .30); border-radius: 16px; background: rgba(5, 15, 42, .48); backdrop-filter: blur(12px); box-shadow: 0 18px 70px rgba(0, 0, 0, .2); }
input { flex: 1; min-width: 0; border: 0; outline: none; padding: 15px 17px; background: transparent; color: var(--paper); font: 600 16px var(--font-sans); letter-spacing: .04em; }
input::placeholder { color: #9faccc; font-weight: 500; letter-spacing: 0; }
button { border: 0; border-radius: 11px; padding: 15px 20px; cursor: pointer; color: #06201f; background: var(--aqua); font: 700 14px var(--font-sans); transition: transform .2s ease, background .2s ease; white-space: nowrap; }
button:hover { transform: translateY(-2px); background: #74f4df; } button:disabled { cursor: wait; opacity: .7; transform: none; }
button span { margin-left: 10px; font-size: 17px; }.hint { margin: 12px 0; color: #8e9abb; font-size: 12px; }

.result { width: 100%; margin: 0 0 76px; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: rgba(6, 15, 38, .68); box-shadow: 0 26px 90px rgba(0, 0, 0, .24); backdrop-filter: blur(14px); }
.result-message { padding: 25px 28px; color: var(--muted); }.result-message.error { color: #ffd3d8; background: rgba(128, 32, 56, .22); }
.result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 32px 34px; border-bottom: 1px solid var(--line); }.company-name { margin: 5px 0 0; font: 500 clamp(26px, 4vw, 42px)/1.12 var(--font-serif); letter-spacing: -.025em; }.label { color: #aab8d7; font-size: 10px; letter-spacing: .15em; font-weight: 700; }.status { flex: 0 0 auto; padding: 8px 12px; border: 1px solid rgba(72, 230, 206, .45); border-radius: 99px; color: var(--aqua); font-size: 12px; font-weight: 700; }.status.warning { color: #ffd28b; border-color: rgba(255, 210, 139, .45); }
.data-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.data-item { min-height: 117px; padding: 23px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.data-item:nth-child(3n) { border-right: 0; }.data-value { display: block; margin-top: 8px; color: #f5f5f7; font-size: 15px; font-weight: 600; line-height: 1.5; }.data-subvalue { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.risk-panel { padding: 29px 34px 34px; }.risk-panel h2 { margin: 7px 0 19px; font: 500 27px var(--font-serif); }.risk-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; list-style: none; margin: 0; padding: 0; }.risk { display: flex; align-items: flex-start; gap: 11px; padding: 13px 14px; border: 1px solid rgba(181, 202, 245, .12); border-radius: 11px; color: #d7deed; font-size: 13px; line-height: 1.45; }.risk-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #6d7894; }.risk.active { border-color: rgba(255, 140, 151, .36); color: #ffe2e5; background: rgba(126, 33, 50, .19); }.risk.active .risk-dot { background: var(--danger); box-shadow: 0 0 12px var(--danger); }.risk small { display: block; color: #afbdd7; margin-top: 3px; }
.result-foot { padding: 0 34px 27px; color: #8490ad; font-size: 11px; }
.footer { display: flex; justify-content: space-between; gap: 28px; width: min(1180px, calc(100% - 64px)); margin: 0 auto; padding: 26px 0 31px; border-top: 1px solid var(--line); color: #aab5ce; font-size: 12px; line-height: 1.6; }.footer p { margin: 0; }.footer a { color: var(--aqua); text-decoration: none; font-weight: 700; }.disclaimer { max-width: 510px; text-align: right; font-size: 11px; color: #7885a2; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 700px) { .page-shell, .footer { width: min(100% - 32px, 1180px); }.nav { padding-top: 18px; }.nav-label { display: none; }.nav-link { padding: 8px 11px; font-size: 11px; }.hero { padding: 85px 0 65px; }.search-form { display: block; padding: 5px; }.search-form button { width: 100%; }.result-head { display: block; padding: 26px 22px; }.status { display: inline-block; margin-top: 18px; }.data-grid, .risk-list { grid-template-columns: 1fr; }.data-item { min-height: 0; border-right: 0; padding: 18px 22px; }.risk-panel { padding: 23px 22px 26px; }.result-foot { padding: 0 22px 22px; }.footer { display: block; }.disclaimer { margin-top: 10px !important; text-align: left; } }
