@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300;1,400&family=JetBrains+Mono:wght@300;400;500&family=Inter:wght@300;400;500;600&display=swap');
:root{--navy:#0f2548;--navy-mid:#1a3a6b;--navy-lt:#2a5298;--navy-bg:#eef2fa;--gold:#c9991a;--gold-lt:#e8b830;--gold-bg:#fdf8ed;--gold-dark:#a07c10;--white:#ffffff;--off:#f6f8fc;--rule:#dde3ef;--ink:#0d1b2a;--steel:#3d5a80;--mist:#7a8fa8;--cream:#f0f4fb;--green:#1a6b40;--green-bg:#eef7f2;--red:#c0392b;--nav-h:60px;--black:#0f2548;--paper:#ffffff;--tan:#e8eef8;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{background:var(--off);color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;}
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 40px;box-shadow:0 2px 16px rgba(15,37,72,0.25);}
.nav-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--white);text-decoration:none;}
.nav-logo span{color:var(--gold-lt);font-style:italic;}
.nav-tabs{display:flex;gap:2px;}
.nav-tab{font-size:12px;font-weight:500;padding:8px 16px;color:rgba(255,255,255,0.55);text-decoration:none;border:none;background:none;cursor:pointer;border-radius:6px;transition:all 0.15s;font-family:'Inter',sans-serif;}
.nav-tab:hover{color:var(--white);background:rgba(255,255,255,0.1);}
.nav-tab.active{color:var(--gold-lt);background:rgba(201,153,26,0.15);font-weight:600;}
.nav-right{display:flex;align-items:center;gap:12px;}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;padding:10px 22px;border:none;cursor:pointer;transition:all 0.15s;text-decoration:none;border-radius:8px;}
.btn-primary{background:var(--navy);color:var(--white);}.btn-primary:hover{background:var(--navy-mid);}
.btn-gold{background:var(--gold);color:var(--white);}.btn-gold:hover{background:var(--gold-lt);color:var(--navy);}
.btn-outline{background:var(--white);color:var(--navy);border:1.5px solid var(--rule);}.btn-outline:hover{border-color:var(--navy);background:var(--navy-bg);}
.btn-ghost-dark{background:rgba(255,255,255,0.12);color:var(--white);border:1px solid rgba(255,255,255,0.25);}.btn-ghost-dark:hover{background:rgba(255,255,255,0.22);}
.btn-sm{padding:7px 16px;font-size:12px;border-radius:6px;}.btn:disabled{opacity:0.4;cursor:not-allowed;}
.field{display:flex;flex-direction:column;gap:5px;}
.field-label{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--mist);}
.field-input,.field-select{padding:10px 14px;border:1.5px solid var(--rule);background:var(--white);color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;border-radius:8px;outline:none;transition:border-color 0.15s;}
.field-input:focus,.field-select:focus{border-color:var(--navy-lt);box-shadow:0 0 0 3px rgba(42,82,152,0.12);}
.field-input.dark,.field-select.dark{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15);color:var(--white);}
.badge{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;padding:3px 10px;border-radius:20px;display:inline-block;}
.badge-green{background:var(--green-bg);color:var(--green);}.badge-gold{background:var(--gold-bg);color:var(--gold-dark);}
.badge-red{background:#fef2f2;color:var(--red);}.badge-muted{background:var(--off);color:var(--mist);}
.live-dot{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-lt);}
.live-dot::before{content:'';width:7px;height:7px;background:var(--gold-lt);border-radius:50%;animation:livepulse 1.4s ease-in-out infinite;}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:0.4}}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--rule);border-top-color:var(--gold);border-radius:50%;animation:spin 0.7s linear infinite;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg)}}
.page{padding-top:var(--nav-h);min-height:100vh;background:var(--off);}
.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--white);font-family:'Inter',sans-serif;font-size:13px;font-weight:500;padding:12px 24px;border-radius:100px;z-index:9999;box-shadow:0 4px 20px rgba(15,37,72,0.3);animation:toastIn 0.3s ease,toastOut 0.3s ease 3.2s forwards;}
.toast.error{background:var(--red);}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes toastOut{to{opacity:0}}
.modal-overlay{position:fixed;inset:0;background:rgba(15,37,72,0.5);backdrop-filter:blur(4px);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--white);padding:44px;position:relative;max-height:90vh;overflow-y:auto;border-radius:16px;box-shadow:0 20px 60px rgba(15,37,72,0.2);border-top:3px solid var(--gold);transform:translateY(14px);transition:transform 0.2s;}
.modal-overlay.open .modal{transform:translateY(0);}
.modal-x{position:absolute;top:16px;right:18px;background:var(--off);border:none;font-size:16px;color:var(--mist);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.modal-x:hover{background:var(--rule);}
.modal h2{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:20px;color:var(--navy);}
.disclaimer-bar{background:var(--navy-bg);border-top:1px solid var(--rule);padding:14px 40px;font-size:11px;color:var(--mist);line-height:1.6;}
::-webkit-scrollbar{width:5px;height:5px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:10px;}
@media(max-width:900px){.nav{padding:0 20px;}.nav-tabs{display:none;}.disclaimer-bar{padding:12px 20px;}}
