:root{--bg:#0b1220;--panel:#121a2b;--panel-2:#18233a;--text:#e8edf7;--muted:#9fb0d1;
    --border:#2b3959;--accent:#7dd3fc;--accent-2:#60a5fa;--danger:#fb7185;--ok:#4ade80;
    --shadow:0 16px 40px rgba(0,0,0,.28);--radius:18px;
    --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --sans:'Inter',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
  *{box-sizing:border-box}
  .skip-link{position:absolute;top:-100px;left:16px;background:var(--accent);color:var(--bg);padding:8px 16px;border-radius:8px;font-weight:700;z-index:100;text-decoration:none;transition:top .15s}
  .skip-link:focus{top:16px}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
  input:focus-visible,button:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,211,252,.2)}
  body{margin:0;font-family:var(--sans);background:radial-gradient(circle at top right,rgba(96,165,250,.12),transparent 25%),radial-gradient(circle at top left,rgba(125,211,252,.08),transparent 20%),var(--bg);color:var(--text)}
  a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
  .container{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}
  .card{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01)),var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
  h1,h2{margin:0 0 10px;line-height:1.1}
  h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em}
  h2{font-size:clamp(1.2rem,2vw,1.55rem)}
  p{color:var(--muted);line-height:1.65;margin:0}
  .lead{font-size:1.02rem;max-width:70ch}
  .pill-row,.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
  .pill{border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);padding:8px 12px;border-radius:999px;font-size:.94rem}
  label{display:block;font-size:.92rem;color:var(--muted);margin-bottom:4px}
  input,select{width:100%;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px 14px;font:inherit;outline:none}
  button{width:100%;border:1px solid var(--border);background:linear-gradient(180deg,rgba(125,211,252,.16),rgba(96,165,250,.10)),var(--panel-2);color:var(--text);border-radius:12px;padding:12px 14px;font:inherit;cursor:pointer;font-weight:650;outline:none}
  .control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
  .form-row{display:grid;gap:6px}
  .result-box,.info-item{margin-top:16px;border:1px solid var(--border);border-radius:16px;padding:16px;background:rgba(255,255,255,.02)}
  .result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
  .result-cell{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel-2);text-align:center}
  .result-cell .label{font-size:.8rem;color:var(--muted);margin-bottom:4px}
  .result-cell .value{font-size:1.15rem;font-weight:800;color:var(--accent)}
  .result-cell.highlight{border-color:var(--accent);background:rgba(125,211,252,.06)}
  .result-cell.highlight .value{color:var(--ok);font-size:1.35rem}
  .status{margin-top:10px;min-height:1.5em;font-size:.94rem}
  .status.error{color:var(--danger)} .status.ok{color:var(--ok)}
  .info-list{display:grid;gap:12px;margin-top:14px}
  .footer{margin-top:24px;padding:18px 0 6px;color:var(--muted);font-size:.92rem}
  .hero,.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
  .grid{margin-top:20px}
  .site-nav,.footer-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
  .site-nav a,.footer-links a{border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);padding:8px 12px;border-radius:999px;font-size:.92rem;text-decoration:none}
  .site-nav a:hover,.footer-links a:hover{border-color:var(--accent-2)}
  .duty-bar{height:20px;border-radius:999px;background:var(--border);margin-top:8px;overflow:hidden}
  .duty-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .3s}
  @media(max-width:960px){.hero,.grid,.control-grid,.result-grid{grid-template-columns:1fr}}
