/* Sudan Builders 2.2 — Living Society. Additive presentation layer. */
.sb-app.sb22-theme{
  --sb22-forest:#145c46;--sb22-red:#8d312a;--sb22-ink:#21382f;--sb22-sand:#c7a36c;
  --sb22-edge:#dbe6dd;--sb22-cream:#fbfaf6;
  background:#f6f8f5;
}
.sb-app.sb22-theme .sb2-header{background:linear-gradient(115deg,#142f29 0%,#155c48 63%,#1c765a 100%)!important}
/* Neither decorative red nor green separator should return below title. */
.sb-app.sb22-theme .sb2-header::after,
.sb-app.sb22-theme .sb2-header::before,
.sb-app.sb22-theme .sb2-shell::after,
.sb-app.sb22-theme .sb2-shell::before{display:none!important;content:none!important;border:0!important}
.sb-app.sb22-theme .sb2-step-track span.done{background:#70af98!important}
.sb-app.sb22-theme .sb2-step-track span.current{background:#d1ab66!important}
.sb-app.sb22-theme .sb2-reset{background:#953d32!important;border-color:#c9897b!important;color:#fff!important;box-shadow:0 5px 13px #5320192b!important}
.sb-app.sb22-theme .sb20-stage,.sb-app.sb22-theme .sb2-focus{color:var(--sb22-ink)}
.sb-app.sb22-theme .sb20-stage-header{background:linear-gradient(115deg,#fff 15%,#f1f6f1 100%);border:1px solid var(--sb22-edge)!important}
.sb-app.sb22-theme .sb20-stage-header h1{color:var(--sb22-red)!important}
.sb-app.sb22-theme .sb20-control,.sb-app.sb22-theme .sb20-visual,
.sb-app.sb22-theme .sb9-task-card,.sb-app.sb22-theme .sb9-maincard{box-shadow:0 9px 26px rgba(17,49,33,.045)!important}
.sb-app.sb22-theme .sb20-control{gap:7px!important}
.sb-app.sb22-theme .sb20-control-head{gap:9px!important}
.sb-app.sb22-theme .sb20-people-grid{scrollbar-color:#a9c6b1 transparent}
.sb-app.sb22-theme .sb20-people-grid .sb2-person{background:#fff!important}
.sb-app.sb22-theme .sb20-people-grid .sb2-person:has(.sb2-person-action:hover){border-color:#7cb69b!important}
.sb-app.sb22-theme .sb20-people-grid .sb2-person.is-picked{background:#edf8f1!important;border-color:#67aa87!important}
.sb-app.sb22-theme .sb20-control-actions button:not(:disabled):hover{background:#ebf5ef!important}
/* One concise, contextual insight at a time. */
.sb-app.sb22-theme .sb22-lesson{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:12px;background:linear-gradient(120deg,#f4f8f2,#fffdf7);border:1px solid #e0e9dc;min-width:0;max-width:100%;margin:0!important}
.sb-app.sb22-theme .sb22-lesson-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;background:#e6f2e9;border-radius:9px;color:#13714f;font-size:17px}
.sb-app.sb22-theme .sb22-lesson-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}
.sb-app.sb22-theme .sb22-lesson-copy b{font-size:11px;line-height:1.3;color:#205443;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.sb-app.sb22-theme .sb22-lesson-copy>span{font-size:10px;line-height:1.4;color:#63776a}
.sb-app.sb22-theme .sb20-visual .sb22-world-progress{display:flex;gap:5px;justify-content:space-between;margin-top:7px;min-height:23px}
.sb-app.sb22-theme .sb22-world-progress>span{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:8px;background:#f3f5f1;color:#91a099;font-size:10px;padding:4px 3px}
.sb-app.sb22-theme .sb22-world-progress i{width:7px;height:7px;background:#cbd4cb;border-radius:50%;display:inline-block}
.sb-app.sb22-theme .sb22-world-progress .done{background:#e5f3e9;color:#1a7557;font-weight:850}
.sb-app.sb22-theme .sb22-world-progress .done i{background:#279368;box-shadow:0 0 0 3px #bee5ce}
.sb-app.sb22-theme .sb21-world{border:1px solid #b9d7bd!important;box-shadow:inset 0 0 55px rgba(28,75,48,.06);}
.sb-app.sb22-theme .sb21-world .sb21-canvas{filter:saturate(1.06) contrast(1.015)}
.sb-app.sb22-theme .sb20-world .sb20-map-caption{backdrop-filter:blur(7px)}
/* Council - refined miniature room */
.sb-app.sb22-theme .sb6-council-world{background:linear-gradient(145deg,#fffdf7,#f0f6eb)!important;border-radius:17px!important}
.sb-app.sb22-theme .sb6-council-svg{max-height:305px!important;filter:drop-shadow(0 5px 10px #172c1517)}
.sb-app.sb22-theme .sb6-seat.is-active rect{stroke:#238263;stroke-width:2.5;filter:drop-shadow(0 5px 3px #145c4524)}
.sb-app.sb22-theme .sb3-mini-steps span.active{background:#217659;color:white}
.sb-app.sb22-theme .sb3-vote-candidate.chosen{background:#e7f4eb!important}
/* Connected settlement canvas */
.sb-app.sb22-theme .sb21-federation-world{background:linear-gradient(135deg,#f9fbf5,#f3f6ec)!important}
.sb-app.sb22-theme .sb21-federation-world .sb16-federation-svg{max-height:min(49vh,420px)!important;filter:drop-shadow(0px 8px 11px rgba(27,68,42,.11))}
.sb-app.sb22-theme .sb21-federation-world .sb16-route.active{stroke:#1f8d68!important;stroke-width:4px!important}
.sb-app.sb22-theme .sb22-route-spark{filter:drop-shadow(0 0 3px #dda24a);pointer-events:none}
.sb-app.sb22-theme .sb22-hub-aura{animation:sb22-aura 3s ease-in-out infinite;transform-origin:210px 195px}
.sb-app.sb22-theme .sb9-rakiza-tile.done{border-color:#7ebea0!important}
.sb-app.sb22-theme .sb9-rakiza-tile.done strong{color:#136f53}
/* The tenth alfiya creates a legible summary, not a tall list. */
.sb-app.sb22-theme .sb22-decade-card{padding:12px!important}
.sb-app.sb22-theme .sb22-decade-card .sb2-units{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
.sb-app.sb22-theme .sb22-decade-card .sb2-unit{min-height:66px!important;border-radius:12px!important}
.sb-app.sb22-theme .sb22-decade-card .sb2-unit.filled{background:#e4f3e9!important;border-color:#69b48d!important}
.sb-app.sb22-theme .sb22-decade-card .sb2-primary{margin:8px 0 0!important}
.sb-app.sb22-theme .sb2-focus>.sb22-lesson{margin:0 0 9px!important}
@keyframes sb22-aura{0%,100%{opacity:.20;scale:1}50%{opacity:.47;scale:1.06}}
@media(min-width:1250px){
 .sb-app.sb22-theme .sb20-stage-grid{grid-template-columns:minmax(370px,.80fr) minmax(0,1.2fr)!important}
 .sb-app.sb22-theme .sb20-people-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-height:235px!important}
 .sb-app.sb22-theme .sb20-people-grid .sb2-person{min-height:46px!important}
 .sb-app.sb22-theme .sb20-world{max-height:445px}
}
@media(max-width:780px){
 .sb-app.sb22-theme .sb2-main{padding:7px 6px 10px!important}
 .sb-app.sb22-theme .sb2-header{min-height:50px!important}
 .sb-app.sb22-theme .sb20-stage-header{margin-bottom:6px!important}
 .sb-app.sb22-theme .sb22-lesson{padding:6px 8px;gap:7px;border-radius:10px}
 .sb-app.sb22-theme .sb22-lesson-icon{width:25px;height:25px;flex-basis:25px;font-size:13px}
 .sb-app.sb22-theme .sb22-lesson-copy b{font-size:10px}
 .sb-app.sb22-theme .sb22-lesson-copy>span{font-size:9px;line-height:1.3}
 .sb-app.sb22-theme .sb20-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:182px!important;gap:5px!important}
 .sb-app.sb22-theme .sb20-people-grid .sb2-person{min-height:46px!important}
 .sb-app.sb22-theme .sb20-people-grid .sb2-person-action{min-width:42px!important;min-height:28px!important}
 .sb-app.sb22-theme .sb20-visual .sb22-world-progress{margin-top:5px}
 .sb-app.sb22-theme .sb22-world-progress>span{font-size:9px;padding:3px}
 .sb-app.sb22-theme .sb6-council-svg{max-height:216px!important}
 .sb-app.sb22-theme .sb21-federation-world .sb16-federation-svg{max-height:290px!important}
 .sb-app.sb22-theme .sb2-focus>.sb22-lesson{margin-bottom:6px!important}
 .sb-app.sb22-theme .sb22-decade-card .sb2-units{gap:5px!important}
 .sb-app.sb22-theme .sb22-decade-card .sb2-unit{min-height:51px!important;padding:5px!important}
}
@media(max-width:350px){
 .sb-app.sb22-theme .sb22-lesson-copy>span{font-size:8px}
 .sb-app.sb22-theme .sb20-people-grid .sb2-person-info b{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){
 .sb-app.sb22-theme .sb22-hub-aura{animation:none!important}
 .sb-app.sb22-theme .sb22-route-spark{display:none!important}
 .sb-app.sb22-theme .sb20-world *, .sb-app.sb22-theme .sb6-council-svg *{animation:none!important;transition:none!important}
}
.sb-app.sb22-theme .sb22-unlocked{animation:sb22-landmark-enter .6s ease both;transform-box:fill-box;transform-origin:center}
.sb-app.sb22-theme .sb22-traveller{pointer-events:none;filter:drop-shadow(0 4px 5px #133b2b55)}
@keyframes sb22-landmark-enter{from{opacity:0;scale:.65}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.sb-app.sb22-theme .sb22-unlocked{animation:none!important}.sb-app.sb22-theme .sb22-traveller{display:none!important}}
