:root{--ink:#29352f;--green:#20382f;--gold:#b7924e;--paper:#faf8f2;--line:#deddd2;--muted:#687069}*{box-sizing:border-box}body{margin:0;background:#f1efe7;color:var(--ink);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:#285c47;text-decoration:none}a:hover{text-decoration:underline}header{background:var(--green);color:#eee7d7;display:flex;align-items:center;gap:48px;padding:22px 40px;border-bottom:3px solid var(--gold)}header a{color:inherit}.brand{display:flex;align-items:center;gap:14px;font:700 23px Georgia,serif;letter-spacing:2px}.brand small{display:block;font:10px system-ui;letter-spacing:4px;margin-top:5px;color:#d6c59e}.sigil{border:1px solid #b7924e;padding:0 15px;font:38px Georgia;color:#e7c887}header nav{display:flex;gap:28px;font-size:14px}.search{margin-left:auto;display:flex;align-items:center;gap:10px;background:#ffffff0d;border:1px solid #ffffff26;padding:8px 12px;border-radius:4px}.search input{background:none;border:0;color:white;font-size:14px;width:220px;outline:none}.search:focus-within{outline:2px solid #d6c59e}kbd{font:12px monospace;border:1px solid #8b968d;padding:0 4px}.layout{display:grid;grid-template-columns:235px 1fr;max-width:1600px;margin:auto}aside{padding:30px 22px;border-right:1px solid var(--line)}.side-title,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#7c725c}.side-title{padding-left:12px;margin-bottom:14px}aside nav a{display:block;padding:8px 12px;margin:3px 0;font-size:14px;border-radius:4px;color:#4e574e}aside nav a.active{background:#e1e6da;color:#244b37;font-weight:700;border-left:3px solid var(--green)}aside nav .section{margin:24px 12px 8px;font-size:10px;letter-spacing:2px;color:#887f6c}.side-note{font-size:12px;margin:38px 12px 0;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:#5e8159;border-radius:50%;margin-right:5px}.side-note p{line-height:1.5}main{min-width:0;background:var(--paper);padding:35px 48px 65px;min-height:85vh}h1{font:38px/1.2 Georgia,serif;margin:12px 0 18px;letter-spacing:-.5px}h2{font:25px Georgia,serif;margin:30px 0 15px}h3{font-size:17px;margin:0 0 9px}.lede{font-size:17px;color:var(--muted);max-width:760px}.crumb{font-size:12px;color:#7c806f;margin-bottom:16px}.hero{background:linear-gradient(90deg,#20382ff5,#20382f80),url('assets/reino.jpg') center 56%/cover;color:#f6f0df;padding:34px;border-radius:5px;min-height:228px;margin:25px 0}.hero h2{font-size:32px;margin:6px 0 12px}.hero p{max-width:480px;color:#dddccd}.button{display:inline-block;background:#e9d4a3;color:#28392d;border:0;border-radius:3px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:14px}.hero .eyebrow{color:#d0bc90}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:block;background:#fffdf7;border:1px solid var(--line);padding:22px;border-radius:4px;color:inherit;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--gold);transform:translateY(-2px);text-decoration:none}.card p{font-size:14px;color:var(--muted);margin:7px 0 0}.card .icon{font-size:25px;color:#947a45;margin-bottom:12px}.badge{font-size:11px;background:#e5eadf;padding:4px 8px;border-radius:3px;display:inline-block;color:#456344}.stats{display:flex;border:1px solid var(--line);margin:20px 0;border-radius:4px}.stats div{flex:1;padding:16px 22px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font:27px Georgia}.stats small{font-size:12px;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:14px;background:#fffdf8}th{text-align:left;font-size:11px;letter-spacing:.5px;text-transform:uppercase;background:#eaeadd;color:#52604f}th,td{padding:12px 15px;border-bottom:1px solid var(--line)}tbody tr:hover{background:#f2f3e7}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:4px;margin:20px 0}.note{padding:16px 20px;background:#efeedf;border-left:3px solid var(--gold);font-size:14px;margin:22px 0}.article{max-width:960px}.article p{max-width:830px}.source{font-size:12px;border-top:1px solid var(--line);margin-top:36px;padding-top:16px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filters button{background:white;border:1px solid var(--line);border-radius:4px;padding:8px 12px;cursor:pointer;color:var(--ink)}.filters button.selected{background:var(--green);color:white}.map-shell{position:relative;background:#25372c;border-radius:5px;overflow:hidden;border:1px solid #b9bdad}.map-shell canvas{display:block;width:100%;height:650px;touch-action:none;cursor:grab}.map-controls{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:5px}.map-controls button{background:#faf8f2;border:1px solid #9fae9c;border-radius:3px;width:38px;height:36px;cursor:pointer;font-size:20px}.map-info{position:absolute;left:16px;bottom:16px;max-width:310px;background:#faf8f2ed;padding:10px 15px;font-size:12px;border-radius:3px;pointer-events:none}.map-tooltip{position:absolute;left:16px;top:16px;background:#faf8f2;padding:12px 18px;border-radius:3px;max-width:300px;display:none}.map-tooltip button{float:right;margin-left:16px}.legend{display:flex;gap:20px;font-size:12px;margin:12px 0;color:var(--muted)}.legend b{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.list a{padding:9px 12px;background:#f0f0e5;border-radius:3px;font-size:14px}.empty{padding:30px;color:var(--muted)}footer{max-width:1600px;margin:auto;padding:20px 40px;font-size:12px;color:var(--muted)}footer span{float:right}button,input{font-family:inherit}a:focus-visible,button:focus-visible{outline:3px solid #ad8b4a;outline-offset:3px}@media(max-width:1000px){header{gap:22px;padding:18px 24px}header nav{display:none}main{padding:30px}.layout{grid-template-columns:190px 1fr}.grid{grid-template-columns:repeat(2,1fr)}.list{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{padding:16px;flex-wrap:wrap;gap:16px}.brand{font-size:20px}.search{width:100%}.search input{width:100%}.layout{display:block}aside{padding:10px;border-right:0;border-bottom:1px solid var(--line)}aside nav{display:flex;gap:4px;overflow:auto}aside nav a{white-space:nowrap;padding:7px 10px;margin:0}.side-title,.side-note,aside nav .section{display:none}main{padding:24px 18px}h1{font-size:31px}.hero{padding:24px}.grid{grid-template-columns:1fr}.stats div{padding:12px}.stats strong{font-size:22px}.map-shell canvas{height:490px}.list{grid-template-columns:1fr}footer{padding:20px}footer span{float:none;display:block}}
