:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--ink: #17211c;--muted: #5f6f67;--line: #d9e1dc;--surface: #f7faf8;--accent: #1f7a5b;--accent-dark: #14543f;--warning: #8a5a00}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink)}a{color:inherit}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1120px;margin:0 auto;padding:22px 24px}.brand{font-weight:800;text-decoration:none}nav,.site-footer{color:var(--muted)}nav{display:flex;gap:18px}nav a,.site-footer a{text-decoration:none}.hero,.page-header,.content-band,.project-grid{max-width:1120px;margin:0 auto;padding:48px 24px}.hero{min-height:280px;display:flex;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}h1{margin:0;font-size:clamp(44px,7vw,76px);line-height:.95;letter-spacing:0}h2{margin:0 0 12px}p{color:var(--muted);line-height:1.65}.hero p,.page-header p{max-width:680px;font-size:18px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:860px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.project-grid{grid-template-columns:1fr}}.project-card{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:var(--accent);box-shadow:0 2px 10px #0000000f}.project-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.project-media{display:block;aspect-ratio:16 / 9;background:var(--surface)}.project-media img{width:100%;height:100%;object-fit:cover}.project-body{padding:18px}.project-card h2{font-size:20px}.card-link{text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.cta-row a{font-size:14px;color:var(--muted)}.primary-link{color:#fff!important;background:var(--accent);text-decoration:none;padding:10px 14px;border-radius:6px}.eyebrow{margin:0 0 10px;color:var(--accent);font-weight:700}.content-band{border-top:1px solid var(--line)}li{margin:8px 0;color:var(--muted);line-height:1.55}.predictor{display:grid;gap:24px;max-width:880px}.banner{border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px}.banner-error{background:#fdf0ef;border-color:#e5b8b3;color:#7a2b22}.banner-warning{background:#fff5d6;border-color:#e8d490;color:var(--warning)}.banner button{margin-left:8px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:6px;padding:4px 10px;cursor:pointer}.predictor-form{display:grid;gap:24px}.player-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px}@media(max-width:720px){.player-grid{grid-template-columns:1fr}}.civ-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px}@media(max-width:720px){.civ-grid{grid-template-columns:1fr}}.player-panel{display:grid;gap:16px;margin:0;border:1px solid var(--line);border-radius:8px;padding:18px}.player-panel legend{font-weight:700;padding:0 6px}.swap-button{align-self:center;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:10px 14px;cursor:pointer;white-space:nowrap}.field{display:grid;gap:6px}.field label{font-size:14px;font-weight:600}.field input{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font:inherit;width:100%}.field input:disabled{background:var(--surface);color:var(--muted)}.field-error input{border-color:#c0564a}.field-message{margin:0;font-size:13px;color:#7a2b22}.combobox{position:relative}.combobox-list{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:260px;overflow-y:auto;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #17211c1f}.combobox-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:8px 10px;border-radius:6px;color:var(--ink);cursor:pointer}.combobox-list li.active,.combobox-list li:hover{background:var(--surface)}.combobox-list li[aria-selected=true]{font-weight:600}.combobox-empty{color:var(--muted);cursor:default}.untrained{color:var(--warning);white-space:nowrap}.shared-controls{display:grid;gap:16px;max-width:440px}.predict-button{justify-self:start;border:none;background:var(--accent);color:#fff;border-radius:6px;padding:12px 28px;font:inherit;font-weight:700;cursor:pointer}.predict-button:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.result-panel{border:1px solid var(--line);border-radius:8px;padding:24px;display:grid;gap:16px}.prob-row{display:flex;justify-content:space-between;gap:24px}.prob-side{display:grid;gap:4px}.prob-side strong{font-size:28px}.prob-side-b{text-align:right}.prob-label{font-size:13px;color:var(--muted)}.prob-meter{height:14px;border-radius:999px;background:#d9e1dc;overflow:hidden}.prob-meter-a{display:block;height:100%;background:var(--accent)}.favored{margin:0;font-weight:600;color:var(--ink)}.rating-delta{border-top:1px solid var(--line);padding-top:16px}.rating-delta h3{margin:0 0 8px;font-size:15px}.delta-ratings{margin:0 0 12px;font-size:14px;color:var(--muted)}.delta-scenarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.delta-scenario{border:1px solid var(--line);border-radius:8px;padding:12px 16px}.delta-scenario h4{margin:0 0 8px;font-size:14px}.delta-scenario-prob{font-weight:400;color:var(--muted)}.delta-rows{margin:0;display:grid;gap:4px}.delta-row{display:flex;justify-content:space-between;gap:16px}.delta-row dt{font-size:13px;color:var(--muted)}.delta-row dd{margin:0}.delta-value{font-weight:700;font-variant-numeric:tabular-nums}.delta-gain{color:var(--accent)}.delta-loss{color:#7a2b22}.data-quality{border-top:1px solid var(--line);padding-top:16px}.data-quality h3{margin:0 0 8px;font-size:15px}.data-quality p{margin:4px 0;font-size:14px}.quality-warnings{margin:8px 0;padding-left:20px}.quality-warnings li{color:var(--warning);font-size:14px}.data-freshness{border-top:1px solid var(--line);padding-top:16px}.data-freshness h3{margin:0 0 8px;font-size:15px}.data-freshness p{margin:4px 0;font-size:14px;color:var(--muted)}.result-meta{display:flex;flex-wrap:wrap;gap:16px;margin:0;font-size:13px}
