:root{--bg-0: #EAE8E3;--bg-1: #F6F5F2;--bg-2: #FAFAF8;--surface: #FFFFFF;--surface-2: #F2F1ED;--surface-3: #E9E7E1;--line: #E0DDD6;--line-2: #C6C2B8;--accent: #1B4C61;--accent-bright: #276378;--accent-dim: #12384A;--accent-deep: #0C2938;--accent-glow: rgba(27, 76, 97, .3);--accent-soft: rgba(27, 76, 97, .09);--on-accent: #FFFFFF;--violet: #52407A;--amber: #856511;--rose: #A93724;--blue: #1B4C61;--green: #1F6B4A;--text-0: #1A1917;--text-1: #45433D;--text-2: #6E6B63;--text-3: #9B978D;--font-head: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(26,25,23,.06);--shadow-md: 0 6px 20px -12px rgba(26,25,23,.18);--shadow-lg: 0 24px 50px -24px rgba(26,25,23,.22);--shadow-glow: 0 0 0 1px var(--accent-soft), 0 8px 30px -12px var(--accent-glow);--glass: rgba(255, 255, 255, .88);--label-halo: rgba(255, 255, 255, .82);--gap: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-1);color:var(--text-0);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow:hidden}#root{height:100vh;height:100dvh;width:100%;overflow-x:hidden}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:inherit}.article-title-link:hover h4{color:var(--accent);text-decoration:underline;text-underline-offset:2px}::selection{background:#1b4c612e;color:var(--text-0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:2px solid var(--bg-1)}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(900px 600px at 12% -10%,rgba(27,76,97,.055),transparent 60%),radial-gradient(800px 700px at 100% 10%,rgba(133,101,17,.035),transparent 55%),radial-gradient(700px 700px at 50% 120%,rgba(27,76,97,.03),transparent 60%)}.ambient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(circle at 50% 40%,#000 0%,transparent 75%);opacity:.35}.h-display{font-family:var(--font-head);font-weight:600;letter-spacing:-.02em;line-height:1.02}.h-title{font-family:var(--font-head);font-weight:600;letter-spacing:-.015em}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.label-xs{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-md);font-weight:600;font-size:14px;padding:11px 18px;transition:all .18s cubic-bezier(.4,0,.2,1);white-space:nowrap;color:var(--text-0);background:var(--surface-2);border-color:var(--line)}.btn:hover{background:var(--surface-3);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--accent-bright),var(--accent));color:var(--on-accent);border-color:transparent;box-shadow:0 6px 18px -10px var(--accent-glow)}.btn-primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent-dim));box-shadow:0 10px 24px -10px var(--accent-glow)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-1);white-space:nowrap}.btn-ghost:hover{background:var(--surface-2);color:var(--text-0)}.btn-lg{padding:14px 24px;font-size:15px;border-radius:var(--r-md)}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.field{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-0);font-size:14px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;outline:none}.field::placeholder{color:var(--text-3)}.field:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-1);font-size:13px;font-weight:600;transition:all .16s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--accent-dim);color:var(--text-0)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--text-2);background:var(--bg-2);white-space:nowrap}.badge.accent{color:var(--accent);border-color:#1b4c6159;background:var(--accent-soft)}.badge.amber{color:var(--amber);border-color:#85651159;background:#85651117}.badge.green{color:var(--green);border-color:#1f6b4a59;background:#1f6b4a17}.badge.rose{color:var(--rose);border-color:#a9372459;background:#a9372417}.badge.violet{color:var(--violet);border-color:#52407a59;background:#52407a17}@keyframes pulse-ring{0%{transform:scale(.85);opacity:.7}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}@keyframes orb-spin{to{transform:rotate(360deg)}}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fade-up{0%{transform:translateY(10px)}to{transform:translateY(0)}}@keyframes fade-in{0%{transform:translateY(4px)}to{transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes shimmer{to{background-position:200% 0}}@keyframes dash-flow{to{stroke-dashoffset:-1000}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}.fade-up{animation:fade-up .5s cubic-bezier(.2,.7,.2,1) forwards}.fade-in{animation:fade-in .4s ease forwards}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite linear;border-radius:8px}.dot-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin:0 2px;animation:blink 1.2s infinite}.dot-typing span:nth-child(2){animation-delay:.2s}.dot-typing span:nth-child(3){animation-delay:.4s}@keyframes loading-slide{0%{transform:translate(-120%)}to{transform:translate(420%)}}.loading-bar-track{position:relative;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.loading-bar-fill{position:absolute;top:0;left:0;bottom:0;width:26%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-bright),transparent);box-shadow:0 0 16px -2px var(--accent-glow);animation:loading-slide 1.25s cubic-bezier(.45,0,.55,1) infinite}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width: 767px){::-webkit-scrollbar{width:5px;height:5px}}body.no-ambient .ambient{display:none}body.no-ambient .ambient:before{display:none}@media print{@page{margin:14mm}html,body,#root{height:auto!important;overflow:visible!important;background:#fff!important}body{overflow:visible!important}aside,nav,.ambient,.report-only-screen,button:not(.print-keep),.chip,.loading-bar-track{display:none!important}main,section,div{overflow:visible!important}.report-print-page{break-after:page;page-break-after:always}.report-print-page:last-child{break-after:auto;page-break-after:auto}.report-print-page table,.report-print-page svg{break-inside:avoid;page-break-inside:avoid}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:9px;word-break:break-all;color:#6e7b73}}
