/* Negeri Ngadi-Ngadi V9.1 - Large portraits, factual money updates, newsroom audio. */
.board-center.social-center {background:#e7f2ed!important;overflow:hidden}
.board-center.social-center .social-center-header{flex:0 0 auto;line-height:1.1}
.v91-photo-controls{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;width:100%;z-index:2;flex:none}
.v91-photo-controls button{border:1px solid #b9d8d0;background:#fff;color:#20483f;border-radius:9px;font-size:clamp(9px,.9vw,12px);font-weight:800;padding:6px 9px;min-height:28px;cursor:pointer}
.v91-photo-controls button[aria-pressed="true"]{background:#174f42;color:#fff;border-color:#174f42}
.v91-portrait-content{display:flex;flex-direction:column;width:100%;min-height:0;flex:1;gap:8px;align-items:stretch}
.v91-hero-photo{position:relative;display:flex;align-items:stretch;flex:1;min-height:0;max-height:100%;overflow:hidden;border-radius:18px;border:3px solid #fff;background:#b9d9d6;box-shadow:0 6px 17px #14362e38}
.v91-hero-image{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(68px,11vw,180px);background:linear-gradient(130deg,#bddfce,#eff4d5);overflow:hidden}
.v91-hero-image>img{width:100%;height:100%;object-fit:cover;display:block}
.v91-hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(7,25,25,.85));pointer-events:none}
.v91-hero-meta{position:relative;margin-top:auto;text-align:left;color:white;padding:clamp(10px,1.7vw,23px);z-index:1;width:100%;text-shadow:0 2px 6px #0008}
.v91-hero-meta>span{font-size:clamp(9px,.85vw,12px);font-weight:800;letter-spacing:1px}
.v91-hero-meta strong{font-size:clamp(20px,3.5vw,49px);display:block;line-height:1.06;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v91-hero-meta small{font-size:clamp(10px,1.15vw,15px);color:#f2fae7}
.v91-portrait-content:not(.is-gallery) .social-portraits{width:100%;height:clamp(66px,10vw,108px);min-height:0;flex:none;display:flex;flex-wrap:nowrap;align-items:stretch;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.v91-portrait-content:not(.is-gallery) .social-person{flex:0 0 clamp(68px,10vw,108px);height:100%;min-height:0;padding:4px;gap:2px;box-shadow:none}
.v91-portrait-content:not(.is-gallery) .social-face{width:clamp(30px,5vw,55px);height:clamp(30px,5vw,55px);max-height:68%;flex:none;border-radius:10px;font-size:23px}
.v91-portrait-content:not(.is-gallery) .social-person b{font-size:clamp(9px,.9vw,12px)}
.v91-portrait-content:not(.is-gallery) .social-person small{display:none}
.v91-portrait-content.is-gallery .social-portraits{width:100%;height:100%;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-content:center}
.v91-portrait-content.is-gallery .social-person{height:95%;width:100%;padding:5px;cursor:pointer}
.v91-portrait-content .social-person{cursor:pointer}
.v91-portrait-content .social-person.is-focus{outline:2px solid #d8a84b;outline-offset:-2px}
.v91-republic-ticker{font-size:clamp(9px,.88vw,12px);font-weight:800;flex:none;line-height:1.3;color:#285b4b;background:#cfe9e0;border-radius:9px;padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* Portrait can literally fill the entire game board on demand. */
.v91-fullboard{position:absolute;inset:0;z-index:35;display:flex;align-items:stretch;justify-content:center;background:#173d37;overflow:hidden;animation:social-pop .23s ease both}
.v91-fullboard-photo{position:absolute;inset:0;display:grid;place-items:center;font-size:min(28vw,240px);background:linear-gradient(135deg,#c8e8cd,#436e79)}
.v91-fullboard-photo img{width:100%;height:100%;object-fit:cover;image-rendering:auto}
.v91-fullboard-gradient{position:relative;z-index:1;margin-top:auto;width:100%;text-align:center;color:#fff;padding:clamp(15px,3vw,48px);background:linear-gradient(transparent,rgba(6,15,23,.93));text-shadow:0 2px 9px #000a}
.v91-fullboard-gradient span{font-size:clamp(10px,1.2vw,17px);font-weight:900;letter-spacing:1px}
.v91-fullboard-gradient h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,6vw,76px);margin:8px 0;line-height:1.04}
.v91-fullboard-gradient p{font-size:clamp(10px,1.1vw,15px);margin:0 0 15px}
.v91-fullboard-gradient button{background:#d4ff8c;color:#183b30;border:none;border-radius:14px;padding:12px 17px;font-weight:900;font-size:clamp(11px,1.25vw,17px);cursor:pointer;box-shadow:0 3px 0 #7ca849}
/* Every animation line is backed by state before/after, not quoted card amounts. */
.social-finance-burst.v91-finance-list{left:50%;top:9%;width:min(470px,92vw);max-height:40vh;overflow:auto;border-radius:18px;padding:12px 15px;background:#122d30;color:#fff;text-align:left;pointer-events:none;display:grid;gap:7px;box-shadow:0 10px 30px #0009;animation:v91-popup 3.7s ease both}
.v91-finance-list>strong{font-size:11px;letter-spacing:1px;color:#e2ffd4}
.v91-cash-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;background:#ffffff13;border-radius:10px;padding:7px 9px;font-size:12px}
.v91-cash-row>b{font-size:15px}
.v91-cash-row small{grid-column:1/-1;font-size:11px;color:#d4e5df;white-space:nowrap}
.v91-cash-row.is-plus>b{color:#9ff0b4}.v91-cash-row.is-minus>b{color:#ffc4b5}
@keyframes v91-popup{0%{opacity:0;transform:translate(-50%,18px)}8%,78%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-13px)}}
.social-center-overlay.social-news{background:linear-gradient(130deg,#0c2b5b,#145584);border:2px solid #ffda6e}
.social-center-overlay.social-news:before{content:'📺 SIARAN REPUBLIK';position:absolute;top:8px;left:8px;font-weight:900;letter-spacing:1px;font-size:10px;color:#ffdfa3}
.v91-party-panel .panel-heading{color:#48756c}
.v91-panel-intro{font-size:11px;line-height:1.45;color:#536d61;margin:0 0 11px}
.v91-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v91-demo-grid button{min-height:48px;background:#ecf5ec;border:1px solid #c5dcd0;color:#1b4a3b;font-size:12px;font-weight:800;padding:8px;border-radius:10px;cursor:pointer}
.v91-demo-grid button:hover{background:#d8f4dc}
.v91-opt-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;font-size:11px}
.v91-opt-row label{background:#e5f3ea;border-radius:9px;padding:7px 9px;white-space:nowrap;color:#23483d}
.v91-opt-row input{accent-color:#237e58}
.v91-muted{font-size:10px;color:#668477;line-height:1.5;display:block}
@media(max-width:740px){
 .v91-photo-controls button{font-size:9px;padding:5px 6px}
 .v91-hero-meta strong{font-size:26px}
 .v91-portrait-content:not(.is-gallery) .social-portraits{height:66px}
 .v91-portrait-content:not(.is-gallery) .social-person{flex-basis:70px}
 .v91-portrait-content:not(.is-gallery) .social-face{width:35px;height:35px}
 .v91-portrait-content.is-gallery .social-portraits{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
 .v91-portrait-content.is-gallery .social-person{min-height:0;}
 .v91-republic-ticker{white-space:normal;max-height:30px;line-height:1.1;padding:6px}
 .v91-finance-list{top:6%}
}
@media(prefers-reduced-motion:reduce){.v91-fullboard,.social-finance-burst.v91-finance-list{animation:none}}

.v91-finance-joke{color:#d4edc8;font-size:11px;line-height:1.4;text-align:center;padding-top:4px}
