/* Living Sudan v2.1 — presentation only; previous interaction controls remain unchanged. */
.sb-app.sb20-theme .sb21-world{background:radial-gradient(ellipse at 50% 24%,#f6f3da,#cee1c7 78%);isolation:isolate}
.sb-app.sb20-theme .sb21-world .sb21-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
.sb-app.sb20-theme .sb21-world .sb21-canvas[hidden]{display:none}
.sb-app.sb20-theme .sb21-world .sb21-canvas:active{cursor:grabbing;touch-action:none}
.sb-app.sb20-theme .sb21-world .sb20-world-svg{transition:opacity .24s ease}
.sb-app.sb20-theme .sb21-world .sb21-svg-fallback-hidden{opacity:0;pointer-events:none}
.sb-app.sb20-theme .sb21-world .sb20-center{z-index:3!important;bottom:15px!important;left:50%!important;top:auto!important;transform:translateX(-50%)!important;width:auto!important;min-width:134px!important;min-height:58px!important;padding:8px 14px!important;border-radius:15px!important;background:#fffefaef!important;box-shadow:0 12px 26px #213f3328!important}
.sb-app.sb20-theme .sb21-world .sb20-center-kicker{font-size:11px!important}
.sb-app.sb20-theme .sb21-world .sb20-center strong{font-size:20px!important}
.sb-app.sb20-theme .sb21-world .sb20-center-sub{display:none!important}
.sb-app.sb20-theme .sb21-map-controls{position:absolute;z-index:6;inset-inline-end:9px;top:9px;display:flex;gap:6px}
.sb-app.sb20-theme .sb21-map-controls button{background:#f9fffbf2!important;color:#205443!important;border:1px solid #bad3c2!important;border-radius:9px!important;font-size:11px!important;font-weight:800!important;padding:6px 10px!important;min-height:30px!important;box-shadow:0 4px 12px #183e2c12!important}
.sb-app.sb20-theme .sb21-arrival{position:absolute;z-index:6;top:50px;inset-inline-start:50%;transform:translateX(50%);background:#195d48f5;color:white;font-size:11px;font-weight:800;padding:7px 13px;border-radius:100px;pointer-events:none;white-space:nowrap;box-shadow:0 10px 20px #0f423529;animation:sb21-arrival .95s both}
.sb-app.sb20-theme .sb21-arrival span{color:#f7cf68;margin-inline-end:4px}
.sb-app.sb20-theme .sb21-world .sb20-map-legend{z-index:4;max-width:200px;white-space:nowrap}
.sb-app.sb20-theme .sb21-plaza-member{animation:sb21-member-appear .55s ease-out both;animation-delay:var(--sb21-delay,0ms)}
.sb-app.sb20-theme .sb21-federation-world .sb16-route.active{stroke:#22896b!important;stroke-width:4;stroke-dasharray:18 5;animation:sb21-links 2.8s linear infinite}
.sb-app.sb20-theme .sb21-federation-world .sb16-rakiza.ready{filter:drop-shadow(0px 3px 5px rgba(37,117,78,.25));animation:sb21-node .45s ease-out both;transform-box:fill-box;transform-origin:center}
.sb-app.sb20-theme .sb21-federation-world .sb16-rakiza.ready:nth-of-type(2n){animation-delay:.14s}
.sb-app.sb20-theme .sb6-seat.is-active .sb21-council-avatar{animation:sb21-seat-avatar .55s cubic-bezier(.2,1.2,.4,1) both;transform-box:fill-box;transform-origin:center}
.sb-app.sb20-theme .sb9-maincard .sb6-council-world{overflow:hidden}
.sb-app.sb20-theme .sb3-vote-candidate.chosen{background:#e6f4ea!important;border-color:#62b494!important}
.sb-app.sb20-theme .sb3-ballot button.active{box-shadow:0 0 0 2px #a7cbb8!important}
.sb-app.sb20-theme .sb9-rakiza-tile.done{position:relative;background:linear-gradient(160deg,#ecf9f0,#fff)!important;border-color:#70bf96!important}
.sb-app.sb20-theme .sb9-rakiza-tile.done::after{content:'✓';position:absolute;top:7px;inset-inline-end:8px;color:#14815e;font-size:13px}
.sb-app.sb20-theme .sb16-world{background:#f8fbf6;border:1px solid #dce7dd;border-radius:16px}
.sb-app.sb20-theme .sb16-federation-svg{filter:drop-shadow(0px 7px 8px #31534211)}
@keyframes sb21-arrival{0%{opacity:0;translate:0 10px;scale:.82}22%{opacity:1;translate:0 0;scale:1.03}70%{opacity:1}100%{opacity:0;scale:1;translate:0 -6px}}
@keyframes sb21-member-appear{from{opacity:0;scale:.1;translate:0 -22px}to{opacity:1;scale:1;translate:0 0}}
@keyframes sb21-links{to{stroke-dashoffset:-46}}
@keyframes sb21-node{from{opacity:.3;scale:.75}to{opacity:1;scale:1}}
@keyframes sb21-seat-avatar{from{opacity:0;scale:.55;translate:0 -15px}to{opacity:1;scale:1;translate:0 0}}
/* Smaller task surfaces when using the animated world. */
@media(max-width:780px){
 .sb-app.sb20-theme .sb20-world{min-height:210px!important;aspect-ratio:1.65!important}
 .sb-app.sb20-theme .sb21-world .sb20-center{bottom:10px!important;min-height:47px!important;padding:4px 10px!important}
 .sb-app.sb20-theme .sb21-world .sb20-center strong{font-size:17px!important}
 .sb-app.sb20-theme .sb21-world .sb20-map-caption{padding:4px 6px;font-size:9px}
 .sb-app.sb20-theme .sb21-world .sb20-map-legend{display:none!important}
 .sb-app.sb20-theme .sb21-map-controls button{padding:5px 8px!important;font-size:10px!important}
 .sb-app.sb20-theme .sb21-arrival{max-width:86%;text-overflow:ellipsis;overflow:hidden}
 .sb-app.sb20-theme .sb20-stage-header{padding:9px 12px!important}
 .sb-app.sb20-theme .sb20-stage-header h1{font-size:19px!important}
 .sb-app.sb20-theme .sb20-control{gap:6px!important;padding:9px!important}
 .sb-app.sb20-theme .sb20-family-ribbon button{min-height:35px!important}
 .sb-app.sb20-theme .sb20-people-grid{max-height:200px!important}
 .sb-app.sb20-theme .sb20-people-grid .sb2-person{min-height:46px!important}
 .sb-app.sb20-theme .sb20-control-footer{min-height:34px!important;padding-top:5px}
 .sb-app.sb20-theme .sb20-progress{height:5px!important}
}
@media(max-width:420px){.sb-app.sb20-theme .sb20-people-grid .sb2-person{padding:5px!important}.sb-app.sb20-theme .sb21-world .sb20-center{min-width:110px!important}}
@media(prefers-reduced-motion:reduce){.sb-app.sb20-theme .sb21-world *, .sb-app.sb20-theme .sb21-federation-world *, .sb-app.sb20-theme .sb6-seat *{animation:none!important;transition:none!important}}

.sb-app.sb20-theme .sb21-feedback{font-size:11px;line-height:1.4;padding:6px 10px;border-radius:9px;background:#eff8ed;border:1px solid #cfe8d3;color:#176847;animation:sb21-arrival .95s both}
