/* Sentinella brand (docs/brand/BRAND_GUIDE.md). Self-hosted fonts: no third-party requests (GDPR). */
@font-face{font-family:"Baloo 2";font-weight:600;font-display:swap;src:url(/static/fonts/baloo2_semibold.ttf) format("truetype")}
@font-face{font-family:"Baloo 2";font-weight:700;font-display:swap;src:url(/static/fonts/baloo2_bold.ttf) format("truetype")}
@font-face{font-family:"Nunito Sans";font-weight:400;font-display:swap;src:url(/static/fonts/nunito_sans_regular.ttf) format("truetype")}
@font-face{font-family:"Nunito Sans";font-weight:600;font-display:swap;src:url(/static/fonts/nunito_sans_semibold.ttf) format("truetype")}
@font-face{font-family:"Nunito Sans";font-weight:700;font-display:swap;src:url(/static/fonts/nunito_sans_bold.ttf) format("truetype")}
:root{--navy:#061939;--s1:#0F2448;--s2:#1A3260;--green:#8DAD3A;--red:#B31519;--gold:#D6A33F;--txt:#EEF1E6;--txt2:#A9B6CC;--err:#FF8A80;--line:#24406f}
*{box-sizing:border-box}
html,body{margin:0;background:var(--navy);color:var(--txt);font:16px/1.55 "Nunito Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"Baloo 2",system-ui,sans-serif;line-height:1.15;margin:0 0 .4em}
h1{color:var(--green);font-size:clamp(2rem,5vw,3.2rem)}h2{color:var(--gold);font-size:1.5rem}h3{color:var(--txt);font-size:1.15rem}
a{color:var(--gold)}a:hover{color:#f0c45e}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--s1);border-bottom:3px solid var(--gold)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font:700 1.5rem "Baloo 2",system-ui}
.brand img{width:40px;height:40px;border-radius:10px}
.nav a{margin-left:14px;text-decoration:none;color:var(--txt2);font-weight:600}.nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--green);color:var(--navy);font-weight:700;border:0;border-radius:12px;padding:10px 18px;text-decoration:none;cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.08);color:var(--navy)}.btn.ghost{background:transparent;color:var(--green);border:2px solid var(--green)}
.btn.danger{background:var(--red);color:#fff}.btn.small{padding:5px 10px;font-size:.85rem;border-radius:8px}
.card{background:var(--s1);border:1px solid var(--line);border-radius:16px;padding:20px}
input,select,textarea{font:inherit;color:var(--txt);background:var(--s2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%}
label{display:block;font-weight:600;margin:10px 0 4px;color:var(--txt2)}
.muted{color:var(--txt2)}.ok{color:var(--green);font-weight:700}.bad{color:var(--err);font-weight:700}.warn{color:var(--gold);font-weight:700}
.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;background:var(--s2);color:var(--txt)}
.badge.green{background:var(--green);color:var(--navy)}.badge.red{background:var(--red);color:#fff}.badge.gold{background:var(--gold);color:var(--navy)}
footer.site{margin-top:60px;padding:28px 20px;background:var(--s1);border-top:3px solid var(--gold);color:var(--txt2);font-size:.9rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
/* mascot + rotating speech bubble */
.mascot-box{position:relative;display:flex;align-items:flex-end;gap:12px}
.bubble{position:relative;background:#fff;color:var(--navy);border-radius:18px;padding:12px 16px;font-weight:700;max-width:320px;box-shadow:0 6px 24px #0006;transition:opacity .45s ease;min-height:3.2em}
.bubble::after{content:"";position:absolute;left:-10px;bottom:18px;border:10px solid transparent;border-right-color:#fff;border-left:0}
.bubble.fade{opacity:0}
.bubble.top::after{left:30px;bottom:-10px;border:10px solid transparent;border-top-color:#fff;border-bottom:0}
@media (prefers-reduced-motion:reduce){.bubble{transition:none}}
.prose{max-width:820px}.prose h1{font-size:2.2rem}.prose h2{margin-top:1.6em}.prose li{margin:.25em 0}.prose table{border-collapse:collapse}.prose td,.prose th{border:1px solid var(--line);padding:6px 10px}
table.data{border-collapse:collapse;width:100%;font-size:.92rem}table.data th,table.data td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.data th{color:var(--gold);font-weight:700;position:sticky;top:0;background:var(--s1)}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kpi{font:700 2rem "Baloo 2",system-ui;color:var(--green)}.kpi small{font:600 .85rem "Nunito Sans";color:var(--txt2);display:block}
.lang a{color:var(--txt2);text-decoration:none;margin-left:6px}.lang a.on{color:var(--gold);font-weight:700}
.playbadge{display:inline-flex;align-items:center;gap:8px;background:#000;color:#fff;border:1px solid #555;border-radius:10px;padding:9px 16px;font-weight:700;opacity:.9}
