:root{--bg:#0b0f0d;--bg2:#0e1411;--panel:#111713;--panel2:#151d18;--text:#f4f7f3;--muted:#8d9890;--line:#202922;--green:#68cf78;--green2:#9ae889;--green3:#2e8c4b;--amber:#d9b45e;--danger:#d8756c;--blue:#71c7d7;--shadow:0 20px 60px rgba(0,0,0,.22)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:'Instrument Sans',sans-serif;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,rgba(56,111,72,.17),transparent 30%),linear-gradient(180deg,#0b0f0d 0%,#0b100d 55%,#0a0d0b 100%);overflow-x:hidden}body[data-mode="demo"]{--demo-h:30px}body:not([data-mode="demo"]){--demo-h:0px}.demo{height:30px;display:flex;align-items:center;justify-content:center;gap:7px;background:#cfaa50;color:#17130b;font-size:11px;font-weight:700;letter-spacing:.08em}.game-screen{height:calc(100svh - var(--demo-h));min-height:680px;display:flex;flex-direction:column}.top{height:82px;flex:0 0 82px;padding:0 28px;display:grid;grid-template-columns:260px 1fr 260px;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:8;background:rgba(11,15,13,.76);backdrop-filter:blur(18px)}.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:11px;font-size:22px}.brand span,.footer-brand span{color:var(--green2)}.drop{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#1b3722,#14261a);color:var(--green2);box-shadow:inset 0 0 0 1px #28452f}.country{display:grid;grid-template-columns:auto minmax(160px,400px) auto;align-items:center;justify-content:center;gap:16px}.country small,.chief small,.province small,.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:600}.country strong{display:block;font-size:20px}.country>span{font-size:12px;color:var(--muted)}.progress{height:7px;background:#1d251f;border-radius:999px;overflow:hidden}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#476c50,var(--green2));transition:width .7s}.chief{justify-self:end;display:flex;gap:10px;align-items:center;min-width:0}.chief>i,.chief-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#272514;color:#e5bd58}.chief b{display:block;font-size:12px;margin-top:2px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout{flex:1;min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr) 300px;max-width:1760px;width:100%;margin:auto}.panel{padding:18px 16px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#2c382f transparent}.left{border-right:1px solid var(--line)}.right{border-left:1px solid var(--line)}.scoreboard-column,.right-column{display:flex;flex-direction:column;gap:12px}.score-card{background:linear-gradient(180deg,rgba(20,28,23,.94),rgba(15,21,17,.94));border:1px solid #202b23;border-radius:18px;padding:14px;box-shadow:0 14px 38px rgba(0,0,0,.12)}.top-water{flex:1;min-height:230px}.recent-card{margin-top:12px;flex:1;min-height:0}.section-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:10px;color:#d9e0da}.section-title>i{color:var(--muted)}.rank-list,.mini-list,.activity{display:grid;gap:6px}.rank{display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:12px;transition:.2s}.rank:hover{background:#172019}.rank>i{font-style:normal;color:#6f7a72;font-size:11px}.rank:nth-child(1)>i{color:#f0c95e}.rank:nth-child(2)>i{color:#bbc1bc}.rank:nth-child(3)>i{color:#bc8a58}.rank b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank>span:last-child{font-size:10px;color:var(--green2);white-space:nowrap}.mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;font-size:11px;padding:7px 8px;border-radius:10px;cursor:pointer;transition:.18s}.mini:hover{background:#172019}.mini b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini span{color:var(--muted)}.mini .tiny{grid-column:1/-1;height:4px;background:#1d261f;border-radius:9px;overflow:hidden}.mini .tiny i{display:block;height:100%;background:linear-gradient(90deg,#477254,var(--green2));width:var(--w)}.map-stage{min-width:0;min-height:0;padding:22px 28px 14px;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;overflow-anchor:none}.map-head{display:flex;align-items:end;justify-content:space-between;gap:20px;position:relative;z-index:2;flex:0 0 auto}.map-head h1{font-size:clamp(30px,3.2vw,54px);line-height:.96;margin:7px 0;font-weight:600;letter-spacing:-.045em}.map-head h1 em,.how h2 em{font-style:normal;color:var(--green2)}.map-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{color:#aeb8b0}.search{height:42px;min-width:220px;border:1px solid #2b3730;border-radius:14px;display:flex;align-items:center;padding:0 13px;gap:9px;background:#101612}.search:focus-within{border-color:#486e53}.search input{border:0;outline:0;background:none;color:#eee;width:100%;font:500 13px inherit}.map-wrap{flex:1;min-height:260px;display:grid;place-items:center;position:relative;overflow-anchor:none}.map-wrap svg{width:100%;height:100%;max-height:100%;overflow:visible;display:block}.map-wrap svg #features>g{fill:var(--province-fill,#5c615d)!important;transition:fill .45s ease,opacity .2s,filter .2s;outline:none;cursor:pointer}.map-wrap svg #features>g>*{fill:inherit!important;stroke:#111713!important;stroke-width:1.35!important}.map-wrap svg #features>g.untouched{opacity:.62}.map-wrap svg #features>g:hover,.map-wrap svg #features>g:focus{filter:brightness(1.22);opacity:1!important}.map-wrap svg #features>g.dim{opacity:.1!important}.map-wrap svg #features>g.match{filter:brightness(1.35) drop-shadow(0 0 7px rgba(141,225,147,.35));opacity:1!important}.map-loading{color:var(--muted);font-size:12px}.map-loading i{display:inline-block;animation:spin 1s linear infinite}.legend{display:flex;align-items:center;justify-content:center;gap:6px;color:#778078;font-size:10px;flex:0 0 auto}.legend i{width:18px;height:5px;border-radius:4px;background:var(--c)}.tooltip{position:fixed;display:none;z-index:30;pointer-events:none;background:#0a0e0bdd;border:1px solid #2b362e;border-radius:13px;padding:10px 12px;box-shadow:0 12px 30px #0008;min-width:150px}.tooltip b{font-size:12px}.tooltip span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.map-markers{position:absolute;inset:0;pointer-events:none;overflow:visible;overflow-anchor:none}.minister-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:4;cursor:pointer;max-width:76px}.marker-photo{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#172219;color:#eaf7eb;border:2px solid #f4f7f3;box-shadow:0 0 0 3px rgba(74,149,86,.72),0 6px 16px #0008;font-size:10px;font-weight:700}.marker-photo img{width:100%;height:100%;object-fit:cover}.marker-name{max-width:74px;padding:2px 5px;border-radius:6px;background:#0b100dd9;color:#f2f6f2;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 10px #0006}.province{padding:18px;border-radius:20px;background:linear-gradient(145deg,#151d18,#0f1511);min-height:225px;border:1px solid #253128;box-shadow:var(--shadow);overflow:hidden}.province.empty{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.province h2{font-size:25px;line-height:1.04;margin:8px 0;letter-spacing:-.035em}.province p{font-size:11px;line-height:1.55;color:var(--muted)}.province-title{min-width:0;flex:1}.province-title small{display:block}.name-marquee{position:relative;overflow:hidden;white-space:nowrap;max-width:100%}.name-marquee>span{display:inline-block;min-width:max-content}.name-marquee.is-overflowing>span{animation:marquee-name 3.8s ease-in-out .6s infinite alternate}.water-orbit{width:50px;height:50px;border:1px solid #334139;border-radius:50%;display:grid;place-items:center;color:var(--green2);margin-bottom:10px}.province-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.province-percent{font-size:22px;color:var(--green2);white-space:nowrap}.meter{height:7px;background:#1d261f;border-radius:99px;overflow:hidden;margin:14px 0}.meter i{display:block;height:100%;background:linear-gradient(90deg,#4c9a5e,var(--green2));width:var(--w)}.stats{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:8px}.minister{margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:10px}.minister b{display:block;margin-top:3px}.minister-person{display:flex;align-items:center;gap:9px;margin-top:6px}.minister-person>div{min-width:0}.minister-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minister-person span{font-size:9px;color:var(--green2)}.final-label{display:block;margin-top:10px}.water-btn{margin-top:14px;width:100%;height:42px;border:0;border-radius:12px;background:var(--green2);color:#142017;font-weight:700;cursor:pointer}.water-btn:disabled{background:#243027;color:#76817a;cursor:not-allowed}.activity{overflow:auto;min-height:0}.activity .act{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:11px}.activity .act:hover{background:#172019}.avatar{width:29px;height:29px;border-radius:50%;background:#222c25;display:grid;place-items:center;font-size:10px;color:#c8d0ca;overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}.act p{margin:0;font-size:10.5px;line-height:1.35;color:#ccd4ce}.act p b,.act p{overflow:hidden}.act small{font-size:9px;color:#707b73}.live{font-size:8px;color:#7f9786;display:flex;gap:5px;align-items:center}.live i{width:5px;height:5px;border-radius:50%;background:#70cf7f;box-shadow:0 0 9px #70cf7f}.map-popover{position:absolute;z-index:24;width:min(330px,calc(100% - 20px));display:none;background:#0e1410f4;border:1px solid #2b382f;border-radius:18px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.5);backdrop-filter:blur(18px);overflow-anchor:none}.map-popover.open{display:block}.pop-close{position:absolute;right:9px;top:9px;width:30px;height:30px;border:0;border-radius:9px;background:#1b241e;color:#aeb8b1;cursor:pointer}.pop-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding-right:28px}.pop-plate{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#17301e;color:#9ae889;font-weight:700;font-size:10px}.pop-head small,.pop-minister small{display:block;color:#758078;font-size:8px;letter-spacing:.08em}.pop-head b{display:block;font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pop-head strong{font-size:17px;color:var(--green2)}.pop-meter{height:5px;background:#1b241e;border-radius:99px;overflow:hidden;margin:12px 0 8px}.pop-meter i{display:block;height:100%;width:var(--w);background:var(--green2)}.pop-stats{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#929c95}.pop-minister{display:flex;align-items:center;gap:9px;padding:10px;margin-top:10px;background:#151d18;border-radius:12px}.pop-minister>div{min-width:0;flex:1}.pop-minister b{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pop-minister span{font-size:9px;color:var(--green2)}.pop-minister a{color:#a7b0aa}.pop-empty{padding:10px;margin-top:10px;border-radius:12px;background:#151d18;color:#7d8981;font-size:9px}.pop-water{width:100%;height:38px;margin-top:10px;border:0;border-radius:11px;background:var(--green2);color:#132016;font-weight:700;cursor:pointer}.pop-water:disabled{background:#243027;color:#758079}.how{max-width:1500px;margin:0 auto;padding:84px 40px;display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;border-top:1px solid var(--line)}.how h2{font-size:clamp(34px,5vw,66px);line-height:.96;letter-spacing:-.05em;margin:12px 0 18px}.how-copy p{max-width:540px;color:var(--muted);line-height:1.7;font-size:14px}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.how-steps article{min-height:220px;padding:22px;border:1px solid #202b23;background:linear-gradient(180deg,#111713,#0f1411);border-radius:22px;position:relative}.how-steps article>i{font-size:28px;color:var(--green2)}.how-steps article>span{position:absolute;right:18px;top:18px;color:#445149;font-size:12px}.how-steps h3{font-size:18px;margin:48px 0 8px}.how-steps p{font-size:12px;color:var(--muted);line-height:1.55}footer{border-top:1px solid var(--line);padding:30px 40px;display:flex;gap:30px;align-items:center;justify-content:space-between;max-width:1500px;margin:auto;color:var(--muted)}.footer-brand b{font-size:18px;color:#edf2ee}.footer-brand p{max-width:720px;font-size:10px;line-height:1.55;margin:7px 0 0}.footer-brand span{color:var(--green2)}footer nav{display:flex;gap:14px;flex-wrap:wrap}footer a{color:#98a29b;text-decoration:none;font-size:11px}footer a:hover{color:#fff}.modal{position:fixed;inset:0;z-index:50;display:none}.modal.open{display:block}.backdrop{position:absolute;inset:0;background:#050805d9;backdrop-filter:blur(10px)}.sheet{position:absolute;right:0;top:0;height:100%;width:min(560px,100%);overflow:auto;background:#101612;padding:36px;border-left:1px solid #29352d;animation:slide .28s ease}.close{position:absolute;right:24px;top:22px;border:1px solid #303c33;background:#182019;color:#eee;width:38px;height:38px;border-radius:12px;cursor:pointer}.modal-head h2{font-size:35px;margin:8px 0}.modal-head p{color:var(--muted);font-size:12px}.sheet form{display:grid;gap:17px;margin-top:24px}.sheet label{display:grid;gap:7px}.sheet label span,.field-title{font-size:10px;color:#aeb8b0}.sheet input{height:45px;border:1px solid #2c3930;border-radius:12px;background:#0b100d;color:#eee;padding:0 13px;font:500 16px inherit;outline:none}.sheet input:focus{border-color:#5c9568}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.identity-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center}.avatar-picker{width:86px;height:86px;position:relative;cursor:pointer!important;display:block!important}.avatar-picker input{display:none}.avatar-preview{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#1b2a20,#121a15);border:1px solid #34433a;color:#829087;font-size:25px;box-shadow:inset 0 0 0 5px #0e1410}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-camera{position:absolute;right:0;bottom:2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green2);color:#132016;border:4px solid #101612;font-size:13px}.avatar-picker:hover .avatar-preview{border-color:#6bb178}.identity-fields{min-width:0}.link-toggle{margin-top:9px;border:0;background:transparent;color:#859188;font:500 10px inherit;padding:0;cursor:pointer}.link-toggle:hover{color:#c4cec7}.avatar-url-field{display:none!important}.avatar-url-field.open{display:grid!important}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.amount{height:42px;border:1px solid #2c3930;border-radius:12px;background:#172019;color:#dce3dd;font-weight:600;cursor:pointer}.amount.active{background:#213d28;border-color:#5a9b66;color:#a9e783}.amount:disabled{opacity:.28;cursor:not-allowed}.custom{margin-top:8px}.impact{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:#17231a;border:1px solid #2e4434}.impact>i{font-size:24px;color:#75d184}.impact b,.impact span{display:block}.impact b{font-size:12px}.impact span{font-size:10px;color:#8fa795;margin-top:3px}.legal-note{display:flex;gap:9px;color:#828d85;font-size:9.5px;line-height:1.45}.pay{height:50px;border:0;border-radius:14px;background:var(--green2);color:#132016;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-weight:700;cursor:pointer}.form-error{color:#e98276;font-size:11px;margin:0}.skeleton{min-height:50px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;background:#eef7ee;color:#102015;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:0 14px 40px #0007}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{from{transform:translateX(30px);opacity:0}}@keyframes marquee-name{0%{transform:translateX(0)}100%{transform:translateX(calc(-1 * var(--marquee-distance,0px)))}}
@media(max-width:1180px){.layout{grid-template-columns:220px minmax(0,1fr) 260px}.top{grid-template-columns:200px 1fr 200px}.map-stage{padding-left:20px;padding-right:20px}.province h2{font-size:22px}.rank{grid-template-columns:20px 28px minmax(0,1fr) auto;padding:6px}.marker-name{display:none}}
@media(max-width:940px){.game-screen{height:auto;min-height:100svh}.layout{grid-template-columns:210px 1fr;min-height:760px}.right{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px;overflow:visible}.recent-card{margin-top:0}.top{grid-template-columns:190px 1fr}.chief{display:none}.country{justify-content:end}.map-wrap{min-height:430px}.map-wrap svg{height:auto;max-height:none}.how{grid-template-columns:1fr;padding-top:60px}.how-steps{margin-top:-20px}}
@media(max-width:700px){body{overflow:auto}.demo{font-size:9px}.top{height:auto;min-height:112px;grid-template-columns:1fr;padding:14px 16px;gap:12px}.country{justify-content:stretch;grid-template-columns:auto 1fr auto}.country>span{font-size:10px}.layout{display:flex;flex-direction:column}.map-stage{order:1;padding:20px 14px 12px;min-height:600px;overflow:visible}.map-head{align-items:stretch;flex-direction:column}.map-head h1{font-size:40px}.search{width:100%}.map-wrap{min-height:350px}.map-wrap svg{height:auto}.left{order:3;border-right:0;border-top:1px solid var(--line);overflow:visible}.right{order:2;display:block;border-top:1px solid var(--line);overflow:visible}.recent-card{margin-top:12px}.panel{padding:14px}.province{min-height:auto}.map-popover{display:none!important}.minister-marker{max-width:52px}.marker-photo{width:24px;height:24px}.marker-name{display:none}.how{display:block;padding:56px 18px}.how-steps{grid-template-columns:1fr;margin-top:30px}.how-steps article{min-height:170px}.how-steps h3{margin-top:30px}.sheet{padding:28px 18px}.grid2{grid-template-columns:1fr}.identity-row{grid-template-columns:78px 1fr}.avatar-picker,.avatar-preview{width:72px;height:72px}.amounts{grid-template-columns:repeat(2,1fr)}footer{padding:26px 18px;display:block}.footer-brand p{margin-bottom:18px}.game-screen{min-height:0}.name-marquee.is-overflowing>span{animation:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.name-marquee.is-overflowing>span{animation:none!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}.map-wrap svg #features>g,.progress i{transition:none!important}}

/* v4 refinements */
.top-water{flex:0 0 auto;min-height:0}.top-water .rank-list{max-height:164px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#334139 transparent;padding-right:2px}.rank{min-height:48px}.rank-medal,.rank-number{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;font-size:13px}.rank-medal.gold{background:#332b13;color:#f4c84d}.rank-medal.silver{background:#272d29;color:#cdd3cf}.rank-medal.bronze{background:#302219;color:#cf9463}.rank-number{font-style:normal;color:#6f7a72;font-size:10px}
.recent-card{overflow:hidden;display:flex;flex-direction:column}.recent-card .activity{max-height:100%;overflow-y:auto;overflow-x:hidden;padding-right:2px}.activity .act{min-width:0}.act-copy{min-width:0}.act p{min-width:0;display:grid;gap:1px}.act p b,.act p span{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act p span{color:#9da8a0;font-size:9.5px}
.province h2{display:grid;gap:2px;min-width:0}.province-name-line{display:block;min-width:0;max-width:100%;overflow:hidden}.completion-word{display:block;font-size:.88em;white-space:nowrap}.name-marquee{display:block;width:100%;max-width:100%;overflow:hidden;white-space:nowrap}.name-marquee>span{display:inline-block;width:max-content;max-width:none}.name-marquee:not(.is-overflowing)>span{transform:none!important;animation:none!important}.name-marquee.is-overflowing>span{animation:marquee-name 4.4s ease-in-out .8s infinite alternate}.province-title{overflow:hidden}.province-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.province-percent{flex:0 0 auto}
.marker-stack{position:relative;width:46px;height:32px;display:block}.marker-stack .marker-photo{position:absolute;top:0;width:28px;height:28px}.marker-stack .marker-photo.mini-0{left:9px;z-index:3}.marker-stack .marker-photo.mini-1{left:0;top:5px;z-index:2;width:23px;height:23px;opacity:.95}.marker-stack .marker-photo.mini-2{right:0;top:5px;z-index:1;width:23px;height:23px;opacity:.95}.marker-stack .marker-photo.mini-1,.marker-stack .marker-photo.mini-2{border-width:1.5px;box-shadow:0 0 0 2px rgba(74,149,86,.55),0 5px 12px #0007}.minister-marker:hover .marker-stack{transform:scale(1.05)}
.pop-supporters{margin-top:10px;padding:10px;background:#121a15;border:1px solid #202c24;border-radius:12px}.pop-support-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.pop-support-title span{font-size:8px;letter-spacing:.08em;color:#869188}.pop-support-title small{font-size:8px;color:#566159}.pop-supporter{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:5px 0}.pop-supporter+.pop-supporter{border-top:1px solid #202922}.pop-supporter .avatar{width:26px;height:26px}.pop-supporter b,.pop-supporter span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pop-supporter b{font-size:9.5px}.pop-supporter span{font-size:8.5px;color:#79857d;margin-top:1px}.panel-recent .pop-supporters{margin-top:12px;padding:8px}.panel-recent .pop-supporter:nth-child(n+5){display:none}
.map-popover{max-height:min(560px,calc(100% - 100px));overflow-y:auto;overflow-x:hidden}
body.modal-open{overflow:hidden}.modal{align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.backdrop{position:absolute}.sheet{position:relative;right:auto;top:auto;height:auto;max-height:calc(100svh - 48px);width:min(620px,100%);overflow:auto;background:#101612;padding:30px;border:1px solid #29352d;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.58);animation:modal-pop .22s ease}.close{right:18px;top:18px}.modal-head h2{padding-right:44px}
.live-notifications{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:9px;width:min(360px,calc(100vw - 28px));pointer-events:none}.live-toast{pointer-events:auto;display:grid;grid-template-columns:36px minmax(0,1fr) 26px;gap:10px;align-items:center;background:rgba(14,20,16,.96);border:1px solid #2d3c32;border-radius:15px;padding:10px 10px 10px 11px;box-shadow:0 18px 55px rgba(0,0,0,.38);backdrop-filter:blur(16px);opacity:0;transform:translateY(10px) scale(.98);transition:.22s}.live-toast.show{opacity:1;transform:none}.live-toast .toast-icon,.live-toast .toast-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#193220;color:#9ae889}.live-toast .toast-avatar{border-radius:50%}.live-toast>div{min-width:0}.live-toast b,.live-toast span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-toast b{font-size:11px}.live-toast span{font-size:9.5px;color:#8d9890;margin-top:2px}.live-toast button{width:26px;height:26px;border:0;border-radius:8px;background:#19211b;color:#78837b;cursor:pointer}
@keyframes modal-pop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:940px){.top-water .rank-list{max-height:164px}.recent-card .activity{max-height:290px}.panel-recent{display:none}.sheet{width:min(620px,calc(100% - 24px))}}
@media(max-width:700px){.modal{padding:10px;align-items:flex-end}.sheet{width:100%;max-height:92svh;border-radius:22px 22px 0 0;padding:26px 18px 20px}.live-notifications{right:10px;bottom:10px;width:calc(100vw - 20px)}.completion-word{font-size:.8em}.name-marquee.is-overflowing>span{animation:none!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}.top-water .rank-list{max-height:164px}.recent-card .activity{max-height:360px}}

/* v5 province focus */
.map-wrap.has-selection svg #features>g:not(.selected){opacity:.16!important;filter:saturate(.5) brightness(.78)}
.map-wrap.has-selection svg #features>g.selected{opacity:1!important;filter:brightness(1.18) saturate(1.18) drop-shadow(0 0 8px rgba(154,232,137,.34));position:relative}
.map-wrap.has-selection .minister-marker:not(.selected){opacity:.2;filter:saturate(.45);transform:translate(-50%,-50%) scale(.92)}
.map-wrap.has-selection .minister-marker.selected{opacity:1;z-index:9;transform:translate(-50%,-50%) scale(1.08)}
.minister-marker.search-dim{opacity:.12!important}.minister-marker.search-match{opacity:1!important}
.mini.selected{background:#1a2b20;box-shadow:inset 0 0 0 1px #35513c;color:#f2f7f3}.mini.selected span{color:var(--green2)}
.mini.selected .tiny{background:#243128}.mini.selected .tiny i{filter:brightness(1.15)}
@media(max-width:700px){.map-wrap.has-selection svg #features>g:not(.selected){opacity:.2!important}.map-wrap.has-selection .minister-marker:not(.selected){opacity:.24}}


/* v6 polish */
.name-marquee{display:contents!important}.name-marquee>span{animation:none!important;transform:none!important}.province-name-line{white-space:normal;overflow:visible;text-overflow:clip;line-height:.96;letter-spacing:-.035em}.province-name-line.name-lg{font-size:1em}.province-name-line.name-md{font-size:.88em}.province-name-line.name-sm{font-size:.76em}.province-name-line.name-xs{font-size:.66em;letter-spacing:-.045em}.completion-word{margin-top:2px}
.avatar,.marker-photo{position:relative;overflow:hidden}.avatar-initial{position:absolute;inset:0;display:grid;place-items:center;font:700 11px/1 inherit;color:inherit;z-index:0}.avatar img,.marker-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:inherit}.avatar.avatar-failed img,.marker-photo.avatar-failed img{display:none}.marker-photo .avatar-initial{font-size:10px}.marker-stack .marker-photo.mini-0 .avatar-initial{font-size:11px}
.custom-max-note{display:block;color:#7f9184;font-size:9.5px;line-height:1.35;margin-top:2px}.custom-max-note b{color:#a9e783;font-weight:700}.province-actions{display:grid;gap:8px}.finish-btn{min-height:46px;border:1px solid #426a4c;border-radius:14px;background:#17301e;color:#c9f2c8;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font:600 10px inherit}.finish-btn span{display:flex;align-items:center;gap:7px}.finish-btn i{color:#87ed89}.finish-btn b{font-size:10px;color:#9cf09e;white-space:nowrap}.finish-btn:hover{background:#1d3b25;border-color:#579164}
.meter i,.tiny i,.progress i,.pop-meter i{background:linear-gradient(90deg,#45d86b,#8cf29a)!important;box-shadow:0 0 16px rgba(75,224,104,.16)}.water-btn,.pay{background:linear-gradient(135deg,#74e981,#9af09a)!important}.amount.active{background:#1d4928;border-color:#55bc69;color:#b9f8b8}.impact>i{color:#6dea80}.map-wrap svg #features>g.completed path{filter:saturate(1.14) brightness(1.08)}

/* v8 — cleaner map, single leader marker, live stats */
.live-stats{display:flex;align-items:center;justify-content:center;gap:12px;min-height:26px;margin:0 0 12px;color:#8f9992;font-size:9px;letter-spacing:.08em;white-space:nowrap;flex-wrap:wrap}
.live-stats>div{display:flex;align-items:center;gap:5px}.live-stats b{color:#eef3ef;font-size:10px;font-weight:700}.live-stats span{font-weight:600}.live-stats em{font-style:normal;color:#344039}.live-stats .revenue b{color:#ff8278}.live-dot{width:5px;height:5px;border-radius:50%;background:#3de792;box-shadow:0 0 8px rgba(61,231,146,.7)}
.map-wrap svg #features>g{--province-fill:#6f482d}.map-wrap svg #features>g.untouched{opacity:.86}.map-wrap svg #features>g.untouched>*{stroke:#17110d!important}.legend{margin-top:2px}
.minister-marker{max-width:84px;gap:3px}.minister-marker .marker-photo{width:31px;height:31px;background:#263026;color:#f2f6f2;border-color:#f3f3e8;box-shadow:0 0 0 3px rgba(186,131,69,.60),0 6px 16px #0009}.minister-marker .marker-name{max-width:82px}
.province h2{gap:0!important;margin:6px 0 5px!important;font-size:23px!important;line-height:1!important}.province-name-line{font-size:23px!important;line-height:1!important;letter-spacing:-.035em!important;white-space:normal!important;overflow:visible!important}.province-name-line.name-lg,.province-name-line.name-md,.province-name-line.name-sm,.province-name-line.name-xs{font-size:23px!important;letter-spacing:-.035em!important}.completion-word{font-size:12px!important;line-height:1.1!important;letter-spacing:.02em;color:#b9c3bc;margin-top:2px!important;font-weight:600}.province-title small{font-size:9px}.province-percent{font-size:20px}
.finish-btn{display:none!important}.amount-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.amount-title-row .field-title{margin:0}.finish-all-modal{border:1px solid #3d6848;background:#18311f;color:#c8f4cd;border-radius:10px;min-height:31px;padding:5px 8px;display:flex;align-items:center;gap:5px;font:600 9px inherit;cursor:pointer}.finish-all-modal i{color:#7aeb8a}.finish-all-modal b{color:#9ef1a9;margin-left:2px;font-size:9px}.finish-all-modal:hover{background:#204329}.finish-all-modal:disabled{opacity:.45;cursor:not-allowed}
.live-notifications{gap:0}.live-notifications .live-toast~.live-toast{display:none}
@media(max-width:700px){.live-stats{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.province-name-line,.province-name-line.name-lg,.province-name-line.name-md,.province-name-line.name-sm,.province-name-line.name-xs{font-size:22px!important}.completion-word{font-size:11px!important}.amount-title-row{align-items:flex-start}.finish-all-modal{flex-wrap:wrap;justify-content:flex-end}}

/* v9 — desktop one-screen layout, natural forest palette */
:root{--green:#527f5b;--green2:#7fac7f;--green3:#355f40;--forest:#456f50;--footer-h:56px}
body{background:radial-gradient(circle at 50% -12%,rgba(67,105,76,.14),transparent 31%),linear-gradient(180deg,#0b0f0d 0%,#0a0e0c 100%)}
.progress i,.meter i,.tiny i,.pop-meter i{background:linear-gradient(90deg,#3f6548,#759b73)!important;box-shadow:none!important}
.water-btn,.pay{background:linear-gradient(135deg,#739e70,#88b780)!important;color:#101812!important}
.amount.active{background:#1b3322;border-color:#4f7858;color:#b9d8b8}
.impact>i{color:#79a879}.map-wrap svg #features>g.completed path{filter:saturate(1.04) brightness(1.03)}
.live-dot,.live i{background:#64a873;box-shadow:0 0 7px rgba(100,168,115,.5)}
.map-wrap.has-selection svg #features>g.selected{filter:brightness(1.12) saturate(1.07) drop-shadow(0 0 7px rgba(111,158,117,.28))}

.scoreboard-column,.right-column{gap:12px!important}
.recent-card{margin-top:0!important}
.right-column .recent-card .activity .act:nth-child(n+6){display:none}
.right-column .recent-card .activity{overflow:hidden!important}
.avatar,.marker-photo{isolation:isolate}
.avatar-initial{z-index:2!important}
.avatar img,.marker-photo img{z-index:3!important;color:transparent;font-size:0}
.avatar.avatar-failed img,.marker-photo.avatar-failed img{display:none!important}

@media(min-width:941px){
 html,body{height:100%;overflow:hidden}
 .game-screen{height:calc(100dvh - var(--demo-h) - var(--footer-h));min-height:0!important}
 .layout{height:100%;min-height:0}
 .panel{overflow:hidden}
 .scoreboard-column,.right-column{min-height:0}
 .top-water{min-height:0;flex:1 1 auto}
 .top-water .rank-list{max-height:172px;overflow:auto}
 .right-column .province{flex:0 0 auto}
 .right-column .recent-card{flex:1 1 auto;min-height:0}
 .right-column .recent-card .activity{max-height:100%}
 footer{height:var(--footer-h);position:fixed!important;left:0;right:0;bottom:0;z-index:40;max-width:none!important;margin:0!important;padding:0 28px!important;background:rgba(9,13,11,.96);backdrop-filter:blur(16px);display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:18px;border-top:1px solid #202922}
 footer .footer-brand{display:flex;align-items:center;min-width:0;gap:14px}
 footer .footer-brand b{white-space:nowrap;font-size:15px}
 footer .footer-brand p{margin:0!important;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
 footer nav{align-items:center;flex-wrap:nowrap!important;white-space:nowrap}
 footer .footer-grow-link{height:32px;padding:0 12px;border:1px solid #334739;border-radius:10px;display:inline-flex;align-items:center;gap:6px;color:#bcd2bf;background:#121b15}
 .live-notifications{bottom:calc(var(--footer-h) + 12px)!important}
}

@media(max-width:940px){
 footer{position:static!important;height:auto}
 .recent-card{margin-top:0!important}
}

/* Yeşertenler */
.growers-page{min-height:100svh;background:#0b0f0d;color:#f4f7f3;padding:28px 18px 60px}.growers-shell{width:min(920px,100%);margin:0 auto}.growers-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.growers-head a{color:#c8d3ca;text-decoration:none}.growers-head h1{font-size:clamp(32px,5vw,58px);margin:8px 0 0;letter-spacing:-.05em}.growers-head p{color:#87938b;font-size:12px}.growers-back{height:38px;padding:0 12px;border:1px solid #2d3a31;border-radius:11px;display:inline-flex;align-items:center;gap:7px}.growers-list{display:grid;gap:8px}.grower-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #202a23;background:#111713;border-radius:14px}.grower-row .avatar{width:38px;height:38px}.grower-main{min-width:0}.grower-main b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grower-main span{display:block;font-size:10px;color:#8b978f;margin-top:3px}.grower-meta{text-align:right}.grower-meta b{display:block;color:#8bb18a;font-size:11px}.grower-meta span{display:block;color:#657169;font-size:9px;margin-top:3px}.growers-empty{padding:28px;border:1px dashed #2d3931;border-radius:16px;color:#7c887f;text-align:center}
\n\n/* v10 — compact scoreboards, home-only viewport lock, earth/forest palette */
:root{--green:#4f765a;--green2:#789875;--green3:#355c44;--forest:#466a50}
body{background:radial-gradient(circle at 50% -12%,rgba(76,105,80,.10),transparent 31%),linear-gradient(180deg,#0b0f0d 0%,#0a0e0c 100%)}
.progress i,.meter i,.tiny i,.pop-meter i{background:linear-gradient(90deg,#496d51,#769175)!important;box-shadow:none!important}
.water-btn,.pay{background:linear-gradient(135deg,#6f936f,#88a67c)!important;color:#101812!important}
.amount.active{background:#1a3021;border-color:#496c53;color:#b7cfb5}
.impact>i{color:#789975}.live-dot,.live i{background:#6c9b77;box-shadow:0 0 6px rgba(108,155,119,.35)}
.map-wrap.has-selection svg #features>g.selected{filter:brightness(1.10) saturate(1.02) drop-shadow(0 0 6px rgba(101,139,108,.22))}

/* Compact left scoreboard: exactly 3 + 3 + 3 */
.top-water{flex:0 0 auto!important;min-height:0!important}
.top-water .rank-list{max-height:none!important;overflow:visible!important}
.top-water .rank:nth-child(n+4){display:none!important}
#dryList .mini:nth-child(n+4),#greenList .mini:nth-child(n+4){display:none!important}
.scoreboard-column .score-card{flex:0 0 auto}

/* Right recent card should hug its content, never create an empty green column */
.right-column .recent-card{flex:0 0 auto!important;min-height:0!important}
.right-column .recent-card .activity{max-height:none!important;overflow:visible!important}
.right-column .recent-card .activity .act:nth-child(n+6){display:none!important}

/* Popup initials: .pop-supporter span rule used to override grid centering */
.pop-supporter .avatar{position:relative!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.pop-supporter .avatar .avatar-initial{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;line-height:1!important;text-align:center!important;margin:0!important;padding:0!important}
.pop-supporter .avatar img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}

/* Desktop viewport lock belongs ONLY to the homepage */
@media(min-width:941px){
 html{height:100%}
 body{min-height:100%;overflow-x:hidden;overflow-y:auto}
 body.home-page{height:100%;overflow:hidden}
 body.home-page .game-screen{height:calc(100dvh - var(--demo-h) - var(--footer-h));min-height:0!important}
 body.home-page .layout{height:100%;min-height:0}
 body.home-page .panel{overflow:hidden}
 body.home-page .scoreboard-column,body.home-page .right-column{min-height:0}
 body.home-page footer{height:var(--footer-h);position:fixed!important;left:0;right:0;bottom:0;z-index:40;max-width:none!important;margin:0!important;padding:0 28px!important;background:rgba(9,13,11,.96);backdrop-filter:blur(16px);display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:18px;border-top:1px solid #202922}
 body:not(.home-page) footer{position:static!important;height:auto!important}
}

/* Shared inner-page chrome */
.inner-page{min-height:100vh;display:flex;flex-direction:column;background:#0b0f0d;color:#f4f7f3}
.inner-header{height:68px;flex:0 0 68px;border-bottom:1px solid #202922;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0c110e;position:sticky;top:0;z-index:20}
.inner-header .brand{font-size:19px}.inner-header nav{display:flex;gap:14px;align-items:center}.inner-header nav a{color:#9da8a0;text-decoration:none;font-size:11px}.inner-header nav a:hover{color:#eef3ef}
.inner-main{flex:1;width:100%}
.inner-footer{position:static!important;height:auto!important;min-height:64px!important;padding:16px 24px!important;display:flex!important;align-items:center;justify-content:space-between;gap:18px;background:#090d0b;border-top:1px solid #202922;margin-top:auto!important}
.inner-footer .footer-brand{display:flex;align-items:center;gap:12px;min-width:0}.inner-footer .footer-brand p{margin:0;max-width:620px;font-size:9px;color:#748078}.inner-footer nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.inner-footer nav a{font-size:10px;color:#87928a;text-decoration:none}.inner-footer nav a:hover{color:#dfe7e1}

.growers-page{min-height:0!important;background:transparent!important;padding:30px 18px 60px!important}
.legal-page{width:min(840px,calc(100% - 36px));margin:0 auto;padding:36px 0 60px;line-height:1.7}.legal-page article{background:#111713;border:1px solid #202a23;padding:28px;border-radius:20px}.legal-page h1{margin-top:0}.legal-page p{color:#bac4bd}.legal-page small{color:#7d887f}
.error-page{min-height:55vh;display:grid;place-items:center;text-align:center;padding:48px 20px}.error-page h1{font-size:clamp(28px,5vw,48px);margin-bottom:8px}.error-page p{color:#8b978f}.error-page a{display:inline-flex;margin-top:12px;color:#9db29d;text-decoration:none;border:1px solid #2d3a31;border-radius:11px;padding:9px 12px}
@media(max-width:700px){.inner-header{padding:0 14px}.inner-header nav a:not(:last-child){display:none}.inner-footer{align-items:flex-start;flex-direction:column}.inner-footer .footer-brand p{white-space:normal!important}.growers-page{padding-top:22px!important}}
@media(min-width:941px){html{overflow-y:auto!important;overflow-x:hidden!important}}

/* v11 — shared progress header, stable inner-page flow, compact province detail, motion */
body.inner-page{
  min-height:100dvh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
body.inner-page .inner-main{min-height:0!important;width:100%!important;display:block!important}
body.inner-page .inner-footer{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  z-index:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  align-self:end!important;
}
.inner-header{
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) minmax(300px,560px) minmax(190px,1fr)!important;
  gap:20px;
}
.inner-header>nav{justify-self:end}
.inner-country{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;align-items:center;min-width:0}
.inner-country-copy{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.inner-country-copy small{font-size:8px;letter-spacing:.12em;color:#758078;font-weight:600}
.inner-country-copy strong{font-size:14px;color:#e7ece8;font-weight:650}
.inner-progress{height:5px;background:#1a211c;border-radius:999px;overflow:hidden;min-width:0}
.inner-progress i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#49674f,#718d70);transform-origin:left center;animation:ys-progress-in .72s cubic-bezier(.2,.75,.25,1) both}
.inner-country>span{font-size:9px;color:#7e8981;white-space:nowrap}

/* Province side card is intentionally concise: map popup owns recent supporters. */
#provincePanel .panel-recent{display:none!important}

/* Gentle interaction motion */
.top,.inner-header{animation:ys-header-in .42s ease-out both}
.scoreboard-column>.score-card{animation:ys-card-in .42s ease-out both}
.scoreboard-column>.score-card:nth-child(2){animation-delay:.055s}
.scoreboard-column>.score-card:nth-child(3){animation-delay:.11s}
.right-column>.province{animation:ys-card-in .42s .08s ease-out both}
.right-column>.recent-card{animation:ys-card-in .42s .14s ease-out both}
.map-stage{animation:ys-map-in .5s .04s ease-out both}
.minister-marker{animation:ys-marker-in .34s cubic-bezier(.2,.8,.24,1.15) both}
.map-popover.open{animation:ys-popover-in .2s cubic-bezier(.2,.8,.25,1) both}
.province.province-enter{animation:ys-province-swap .28s ease-out both!important}
.grower-row{animation:ys-row-in .32s ease-out both}
.grower-row:nth-child(2){animation-delay:.025s}.grower-row:nth-child(3){animation-delay:.05s}.grower-row:nth-child(4){animation-delay:.075s}.grower-row:nth-child(5){animation-delay:.1s}
.map-wrap.has-selection svg #features>g.selected{animation:ys-selected-province .48s ease-out both}
.water-btn,.pay,.amount,.mini,.rank,.grower-row,.pop-water{transition:transform .16s ease,background-color .18s ease,border-color .18s ease,filter .18s ease,opacity .18s ease}
@media(hover:hover) and (pointer:fine){
 .water-btn:not(:disabled):hover,.pay:not(:disabled):hover,.pop-water:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.05)}
 .grower-row:hover{transform:translateY(-1px);border-color:#2d3b31}
}
@keyframes ys-header-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes ys-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ys-map-in{from{opacity:.4;transform:scale(.994)}to{opacity:1;transform:none}}
@keyframes ys-marker-in{from{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ys-popover-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ys-province-swap{from{opacity:.74;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes ys-row-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes ys-selected-province{0%{filter:brightness(1.03) saturate(1)}55%{filter:brightness(1.18) saturate(1.08) drop-shadow(0 0 8px rgba(109,142,112,.26))}100%{filter:brightness(1.10) saturate(1.02) drop-shadow(0 0 6px rgba(101,139,108,.22))}}
@keyframes ys-progress-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:900px){
 .inner-header{grid-template-columns:1fr auto!important;height:auto!important;min-height:68px;padding-top:10px!important;padding-bottom:10px!important}
 .inner-country{grid-column:1/-1;grid-row:2;order:3;width:100%;grid-template-columns:auto minmax(80px,1fr) auto}
 .inner-header>nav{grid-column:2;grid-row:1}
}
@media(max-width:540px){
 .inner-country-copy small{display:none}.inner-country{gap:8px}.inner-country>span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* v12 — cursor-anchored tooltip, true marker dimming, shared country header */
.tooltip{
  position:absolute!important;
  z-index:30!important;
  transform:none!important;
  will-change:left,top;
}
.map-wrap.has-selection .minister-marker:not(.selected){
  animation:none!important;
  opacity:.10!important;
  filter:saturate(.28) brightness(.58)!important;
  transform:translate(-50%,-50%) scale(.90)!important;
}
.map-wrap.has-selection .minister-marker.selected{
  animation:none!important;
  opacity:1!important;
  filter:none!important;
  z-index:9!important;
  transform:translate(-50%,-50%) scale(1.06)!important;
}
.right-column .recent-card .activity .act:nth-child(n+5){display:none!important}

/* Inner pages literally reuse the homepage country component. */
.inner-header{
  height:82px!important;
  min-height:82px!important;
  grid-template-columns:260px minmax(0,1fr) 260px!important;
  padding:0 28px!important;
  background:rgba(11,15,13,.92)!important;
  backdrop-filter:blur(18px);
}
.inner-header .brand{font-size:22px!important}
.inner-header .country{display:grid!important}
.inner-header .country strong{font-size:20px!important}
.inner-header .country>span{font-size:12px!important}
.inner-header .progress{height:7px!important}
.inner-header>nav{justify-self:end;display:flex;align-items:center;gap:14px}

@media(max-width:900px){
 .inner-header{height:auto!important;min-height:82px!important;grid-template-columns:1fr auto!important;padding:10px 14px!important}
 .inner-header .country{grid-column:1/-1;grid-row:2;width:100%;grid-template-columns:auto minmax(80px,1fr) auto}
 .inner-header>nav{grid-column:2;grid-row:1}
}

/* v14 — one shared site chrome + finished legal/about pages */
.site-header{width:100%;}
.site-header .chief-avatar{overflow:hidden;border:1px solid #3c4229;}
.site-header .chief-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
body.inner-page>.site-header{position:sticky;top:0;z-index:50;}
body.inner-page>.site-footer{
  position:static!important;inset:auto!important;transform:none!important;
  width:100%!important;max-width:none!important;margin:0!important;
  min-height:64px;padding:16px 28px!important;background:rgba(9,13,11,.96);
  backdrop-filter:blur(16px);display:grid!important;grid-template-columns:minmax(0,1fr) auto;
  gap:18px;border-top:1px solid #202922;
}
body.inner-page>.site-footer .footer-brand{min-width:0}
body.inner-page>.site-footer .footer-brand p{margin:4px 0 0;max-width:760px}
body.inner-page>.site-footer nav{justify-content:flex-end;align-items:center}

.legal-body{background:radial-gradient(circle at 50% -8%,rgba(78,116,81,.12),transparent 32%),#0b0f0d!important}
.legal-main{width:min(980px,calc(100% - 36px));margin:0 auto;padding:38px 0 72px}
.legal-hero{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:start;padding:38px 0 32px;border-bottom:1px solid #202922;animation:ys-legal-hero .48s ease-out both}
.legal-back{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:7px;color:#839087;text-decoration:none;font-size:11px;border:1px solid #27322b;border-radius:11px;padding:8px 10px;transition:.18s}
.legal-back:hover{color:#eef4ef;border-color:#3c4b40;background:#111713}
.legal-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#19231c,#111713);border:1px solid #2b382f;color:#82aa83;font-size:25px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}
.legal-hero h1{font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.045em;margin:8px 0 13px;font-weight:600;max-width:760px}
.legal-hero p{font-size:14px;line-height:1.7;color:#929d95;max-width:720px;margin:0}
.legal-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px 0;border-bottom:1px solid #202922}
.legal-trust span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:12px;background:#101612;border:1px solid #1f2922;color:#aeb8b0;font-size:10px;animation:ys-card-in .38s ease-out both}
.legal-trust i{color:#729c78;font-size:15px}
.legal-sections{display:grid;gap:0;margin-top:12px}
.legal-section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:24px 4px;border-bottom:1px solid #1e2721;animation:ys-legal-row .42s ease-out both;animation-delay:var(--delay)}
.legal-section-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#111813;border:1px solid #253128;color:#83a386;font-size:18px;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.legal-section h2{font-size:17px;margin:1px 0 7px;font-weight:600;letter-spacing:-.015em;color:#edf2ee}
.legal-section p{font-size:12.5px;line-height:1.72;color:#939e96;margin:0;max-width:790px}
@media(hover:hover) and (pointer:fine){.legal-section:hover .legal-section-icon{transform:translateY(-2px);border-color:#3c4a40;background:#151d18}}
.legal-contact-card{margin-top:28px;padding:22px;border:1px solid #2a382f;border-radius:18px;background:linear-gradient(145deg,#121a15,#0e1410);display:flex;justify-content:space-between;align-items:center;gap:24px;animation:ys-card-in .45s .14s ease-out both}
.legal-contact-card h2{margin:6px 0 6px;font-size:21px}.legal-contact-card p{margin:0;color:#8d9990;font-size:11px;line-height:1.6;max-width:620px}
.legal-contact-card>a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:#dfe8e0;border:1px solid #34433a;background:#182019;padding:11px 13px;border-radius:12px;font-size:11px}
.legal-disclaimer{margin:24px 0 0;padding:0 4px;color:#626e66;font-size:9.5px;line-height:1.65}
@keyframes ys-legal-hero{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ys-legal-row{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Growers and all inner pages now inherit the same homepage chrome, never an alternate nav/header. */
body.inner-page .inner-header,body.inner-page .inner-footer{display:none!important}
body.inner-page .growers-page{animation:ys-card-in .4s .06s ease-out both}

@media(max-width:900px){
 .site-header{height:auto;min-height:112px;grid-template-columns:1fr;padding:14px 16px;gap:12px}
 .site-header .country{justify-content:stretch;grid-template-columns:auto 1fr auto}
 .site-header .chief{position:absolute;right:16px;top:14px}
 .site-header .chief small{display:none}.site-header .chief b{max-width:110px}
 body.inner-page>.site-footer{display:flex!important;flex-direction:column;align-items:flex-start;padding:18px!important}
 body.inner-page>.site-footer nav{justify-content:flex-start}
 .legal-main{width:min(100% - 28px,980px);padding-top:22px}
 .legal-hero{grid-template-columns:48px 1fr;padding-top:52px;gap:14px}.legal-icon{width:46px;height:46px;border-radius:14px;font-size:20px}
 .legal-hero h1{font-size:34px}.legal-hero p{font-size:12.5px}
 .legal-trust{grid-template-columns:1fr 1fr}.legal-section{grid-template-columns:40px 1fr;gap:13px;padding:20px 0}.legal-section-icon{width:36px;height:36px}
 .legal-contact-card{align-items:flex-start;flex-direction:column}.legal-contact-card>a{white-space:normal;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:560px){
 .site-header .chief{display:none}.legal-trust{grid-template-columns:1fr}.legal-section p{font-size:12px}
}

/* v15 — compact reading width for informational pages */
.legal-main{
  width:min(640px,calc(100% - 32px));
  padding:30px 0 58px;
}
.legal-hero{
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:34px 0 26px;
}
.legal-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  font-size:21px;
}
.legal-hero h1{
  font-size:clamp(32px,4.2vw,46px);
  max-width:100%;
}
.legal-hero p{max-width:100%;font-size:13px}
.legal-trust{grid-template-columns:1fr 1fr;gap:8px;padding:14px 0}
.legal-section{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:21px 0}
.legal-section-icon{width:38px;height:38px;border-radius:12px;font-size:17px}
.legal-section p{max-width:100%}
.legal-contact-card{padding:18px;gap:16px}
@media(max-width:700px){
  .legal-main{width:min(100% - 28px,640px);padding-top:20px}
  .legal-hero{grid-template-columns:44px minmax(0,1fr);gap:12px;padding-top:50px}
  .legal-icon{width:42px;height:42px;border-radius:13px;font-size:19px}
  .legal-hero h1{font-size:32px}
  .legal-trust{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){.legal-trust{grid-template-columns:1fr}}


/* v16 — legal pages use a real centered reading container.
   inner-page has width:100%!important, so constraining the <main> itself is unreliable. */
body.inner-page .legal-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.legal-container{
  width:calc(100% - 32px);
  max-width:640px;
  margin:0 auto;
  padding:30px 0 58px;
}
@media(max-width:700px){
  .legal-container{width:calc(100% - 28px);padding-top:20px}
}

/* v17 — living map, zoom, payment celebration, ministry competition */
:root{--world-accent:#6f9577;--world-deep:#0b100d;--world-panel:#111814}
body.home-page[data-world="dry"]{--world-accent:#8b7759;--world-deep:#0d0f0c;--world-panel:#151713}
body.home-page[data-world="neutral"]{--world-accent:#778d68;--world-deep:#0b100d;--world-panel:#121813}
body.home-page[data-world="alive"]{--world-accent:#6e9978;--world-deep:#09100c;--world-panel:#101914}
body.home-page{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--world-accent) 8%,transparent),transparent 46%),var(--world-deep);transition:background-color .8s ease}
.map-stage:before{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid color-mix(in srgb,var(--world-accent) 22%,transparent);border-radius:20px;opacity:.55;transition:border-color .8s ease,box-shadow .8s ease}
body.home-page[data-world="alive"] .map-stage:before{box-shadow:inset 0 0 70px rgba(70,117,82,.055)}
.map-tools{display:flex;align-items:center;gap:8px;min-width:0}.map-tools .search{position:relative;min-width:220px}.map-tool-buttons{display:flex;align-items:center;gap:5px}.map-tool-buttons button{height:40px;min-width:40px;border:1px solid #28342c;background:#101612;color:#9aa69d;border-radius:11px;display:grid;place-items:center;font:600 10px/1 'Instrument Sans',sans-serif;cursor:pointer}.map-tool-buttons button:hover,.map-tool-buttons button.active{color:#d9e8dc;border-color:#48604f;background:#162018}.search-suggest{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:55;padding:5px;background:#0e1410;border:1px solid #2a362e;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.36);display:none}.search-suggest.open{display:grid}.search-suggest button{border:0;background:transparent;color:#dfe7e0;padding:9px 10px;border-radius:8px;display:flex;justify-content:space-between;cursor:pointer;text-align:left}.search-suggest button:hover{background:#182019}.search-suggest small{color:#718078}
#mapWrap svg,#mapMarkers{transition:transform .24s cubic-bezier(.2,.75,.25,1)}
#features>g.completed path{stroke:#9cbb99!important;stroke-width:1.15!important;filter:saturate(.9) brightness(1.05) drop-shadow(0 0 3px rgba(95,139,99,.25))}.completed-marker .marker-photo:after{content:"";position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;background:#719a76;border:2px solid #111713}.near-marker .marker-photo{box-shadow:0 0 0 2px rgba(177,154,95,.42),0 0 14px rgba(177,154,95,.16)}
#features>g.event-pulse path{animation:ys-event-province 1.35s ease-out}.water-flight{position:absolute;z-index:24;left:50%;top:3%;width:8px;height:8px;border-radius:50%;background:#8bb7a4;box-shadow:0 0 12px rgba(139,183,164,.55);pointer-events:none;animation:ys-water-flight 1.2s cubic-bezier(.2,.8,.25,1) forwards}.water-ripple{position:absolute;z-index:23;width:10px;height:10px;border:1px solid rgba(134,179,153,.7);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:ys-water-ripple 1s ease-out forwards}@keyframes ys-water-flight{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}12%{opacity:1}100%{left:var(--tx);top:var(--ty);transform:translate(-50%,-50%) scale(1.3);opacity:.1}}@keyframes ys-water-ripple{from{width:8px;height:8px;opacity:.8}to{width:70px;height:70px;opacity:0}}@keyframes ys-event-province{0%{filter:brightness(1)}35%{filter:brightness(1.34) saturate(1.16) drop-shadow(0 0 9px rgba(107,150,114,.45))}100%{filter:brightness(1)}}
.almost-done,.pop-almost{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #4d4730;background:#1a1912;border-radius:12px;color:#c3b781;margin-top:10px}.almost-done i,.pop-almost i{font-size:17px}.almost-done div{display:grid;gap:2px}.almost-done b{font-size:11px}.almost-done span,.pop-almost{font-size:9px}.founder-line,.pop-founder{display:flex;align-items:center;gap:7px;margin-top:10px;color:#8b998f;font-size:9px}.founder-line i,.pop-founder i{color:#9e8d60}.founder-line b,.pop-founder b{color:#cfd8d1;margin-left:auto}.ministry-history{margin-top:10px;border-top:1px solid #253027;padding-top:8px}.ministry-history summary{cursor:pointer;color:#96a198;font-size:9px;display:flex;justify-content:space-between}.ministry-history>div{display:grid;grid-template-columns:14px 1fr auto;gap:5px;padding:6px 0;color:#828d85;font-size:8px}.ministry-history b{color:#cbd4cd}.ministry-history small{font-size:7px}
.leader-badge{font-size:12px;margin-left:4px;vertical-align:-1px;color:#8e9d91}.leader-badge.traveler{color:#8ca7a0}.leader-badge.eightyone{color:#b9a164}
.impact{display:grid!important;gap:12px}.impact-copy{display:flex;align-items:center;gap:10px}.impact-track{position:relative;height:24px;padding-top:10px}.impact-track:before{content:"";position:absolute;left:0;right:0;top:10px;height:6px;border-radius:999px;background:#202a23}.impact-track i{position:absolute;left:0;top:10px;height:6px;width:var(--after);border-radius:999px;background:linear-gradient(90deg,#607a62,#75987b);transition:width .25s ease}.impact-track i:after{content:"";position:absolute;left:var(--before);top:-3px;width:2px;height:12px;background:#d7ded8;opacity:.55}.impact-before,.impact-after{position:absolute;top:0;font-size:7px;color:#78847c}.impact-before{left:0}.impact-after{right:0;color:#9fbea5}.ministry-gap{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:12px;border:1px solid #263129;background:#101612;color:#8f9b92;font-size:9px}.ministry-gap i{font-size:15px;color:#8ba08e}
.rain-layer{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .2s}.rain-layer.active{opacity:1}.rain-layer i{position:absolute;left:var(--x);top:-30px;width:1px;height:22px;background:linear-gradient(transparent,rgba(167,198,183,.58));animation:ys-rain 1.05s var(--d) linear 3}@keyframes ys-rain{to{transform:translateY(110vh)}}
.celebration-layer,.payment-success{position:fixed;inset:0;z-index:120;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .24s ease}.celebration-layer.active,.payment-success.open{opacity:1;pointer-events:auto}.celebration-layer:before,.payment-success-backdrop{content:"";position:absolute;inset:0;background:rgba(5,9,7,.78);backdrop-filter:blur(11px)}.completion-card,.payment-success-card{position:relative;z-index:2;width:min(430px,calc(100% - 30px));border:1px solid #314238;background:linear-gradient(145deg,#121b15,#0c120e);border-radius:24px;padding:28px;text-align:center;box-shadow:0 26px 80px rgba(0,0,0,.42);animation:ys-celebrate .38s cubic-bezier(.2,.8,.25,1.08)}.completion-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#1b2c20;color:#7eaa83;font-size:28px}.completion-card small,.success-kicker{font-size:8px;letter-spacing:.17em;color:#829087}.completion-card h2,.payment-success-card h2{margin:7px 0 8px;font-size:32px;letter-spacing:-.04em}.completion-card p,.payment-success-card p{color:#8d9990;font-size:11px;line-height:1.6}.completion-card button,.success-map{border:1px solid #405345;background:#1a261e;color:#dce7de;border-radius:12px;padding:11px 14px;cursor:pointer}.payment-success-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:10px;background:#1a231d;color:#89968c;cursor:pointer}.success-avatar{width:56px;height:56px;margin:0 auto 13px}.success-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.success-stats div{padding:11px 7px;border:1px solid #27332b;background:#101712;border-radius:12px;display:grid;gap:4px}.success-stats small{font-size:7px;color:#758179;letter-spacing:.12em}.success-stats b{font-size:13px}.success-special{padding:9px;border-radius:10px;background:#171b13;border:1px solid #3c402b;color:#b8ae7a!important}.success-map{width:100%;margin-top:8px}@keyframes ys-celebrate{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.growers-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.growers-filters a{padding:8px 11px;border:1px solid #29352d;border-radius:999px;color:#829087;text-decoration:none;font-size:9px}.growers-filters a.active{background:#1a251d;color:#dbe6dd;border-color:#405347}.final-drop-badge{font-style:normal;font-size:7px;margin-left:7px;padding:3px 6px;border-radius:999px;background:#1b2116;color:#b8ae76;border:1px solid #41452d}
@media(max-width:700px){.map-tools{width:100%;align-items:stretch;flex-direction:column}.map-tools .search{min-width:0;width:100%}.map-tool-buttons{justify-content:flex-end}.map-popover{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:min(70vh,580px);overflow:auto;z-index:90;border-radius:20px;animation:ys-bottom-sheet .26s ease-out both!important}.map-popover.open:before{content:"";display:block;width:34px;height:4px;border-radius:999px;background:#344239;margin:1px auto 10px}.success-stats{grid-template-columns:1fr}.payment-success-card,.completion-card{padding:23px 18px}}@keyframes ys-bottom-sheet{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* v18 — non-blocking completion, pan/zoom, default ambience, dynamic brand marks, impact scale, 404 polish */
.map-head>div:first-child{opacity:var(--zoom-copy-opacity,1);transition:opacity .22s ease,filter .22s ease}.map-wrap.is-zoomed{cursor:grab}.map-wrap.is-panning{cursor:grabbing}.map-wrap.is-panning *{cursor:grabbing!important;user-select:none}.map-wrap.is-zoomed svg,#mapWrap.is-zoomed #mapMarkers{will-change:transform}
.impact-scale{margin-top:11px}.impact-track{position:relative;height:8px;border-radius:999px;background:#202b24;overflow:visible}.impact-current{position:absolute;inset:0 auto 0 0;border-radius:999px;background:#526f59}.impact-delta{position:absolute;top:0;bottom:0;background:#8cac86}.impact-marker{position:absolute!important;top:50%;width:2px!important;height:16px!important;border-radius:2px;background:#dbe7dd!important;transform:translate(-50%,-50%);opacity:.72}.impact-marker.before{background:#819084!important}.impact-marker.after{background:#dce9de!important}.impact-axis{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-top:8px;font-size:8px;color:#68766d}.impact-axis b{text-align:center;color:#a9b8ad;font-size:9px}.impact-axis span:last-child{text-align:right}
.celebration-layer{position:fixed!important;inset:auto 18px 82px auto!important;width:min(430px,calc(100vw - 28px));z-index:125!important;display:block!important;opacity:0;pointer-events:none;transform:translateY(18px) scale(.97);transition:opacity .25s ease,transform .25s ease}.celebration-layer:before{display:none!important}.celebration-layer.active{opacity:1;pointer-events:auto;transform:none}.completion-banner{display:grid;grid-template-columns:52px minmax(0,1fr) 32px;gap:13px;align-items:center;border:1px solid #49614f;background:linear-gradient(145deg,rgba(18,29,21,.98),rgba(10,16,12,.98));border-radius:18px;padding:14px;box-shadow:0 22px 70px rgba(0,0,0,.46),0 0 0 1px rgba(124,160,128,.06);backdrop-filter:blur(18px)}.completion-banner .completion-icon{width:52px;height:52px;margin:0;border-radius:15px;background:#1b2b20;color:#87ad89;font-size:22px}.completion-copy{min-width:0}.completion-copy small{font-size:7px;letter-spacing:.16em;color:#819087}.completion-copy h2{font-size:18px;line-height:1.05;margin:4px 0 4px;letter-spacing:-.025em}.completion-copy p{margin:0;color:#93a097;font-size:9px;line-height:1.45}.completion-banner>button{width:32px;height:32px;border:0;border-radius:10px;background:#172019;color:#829087;display:grid;place-items:center;cursor:pointer}
.dynamic-brand-marks{display:flex;align-items:center;gap:5px}.brand-progress-mark{position:relative;flex:0 0 auto;display:grid;place-items:center;color:#dce6de;overflow:hidden}.brand-progress-mark i{position:absolute;z-index:1}.brand-progress-mark b{position:relative;z-index:2;color:#f0f5f1;font-weight:700;letter-spacing:-.04em}.mark-a{width:38px;height:38px;border-radius:12px;background:conic-gradient(#719a76 calc(var(--p)*1%),#1b2820 0);box-shadow:inset 0 0 0 3px #0d130f}.mark-a:after{content:"";position:absolute;inset:5px;border-radius:9px;background:#142019}.mark-a i{font-size:18px;color:#537a5c;transform:translateY(-5px);opacity:.52}.mark-a b{font-size:10px;transform:translateY(7px)}.mark-b{width:46px;height:38px;border-radius:12px;border:1px solid #2f4235;background:linear-gradient(135deg,#111914,#17231a)}.mark-b:before{content:"";position:absolute;left:5px;bottom:5px;right:5px;height:3px;border-radius:99px;background:linear-gradient(90deg,#739b76 calc(var(--p)*1%),#26342b 0)}.mark-b i{left:7px;font-size:15px;color:#739b76}.mark-b b{font-size:9px;margin-left:14px}.brand{gap:10px!important}
.error-body{min-height:100vh}.error-shell{min-height:calc(100vh - 82px - 58px);display:grid;place-items:center;padding:50px 18px}.error-card{width:min(560px,100%);text-align:center;border:1px solid #243229;border-radius:28px;padding:42px 36px;background:radial-gradient(circle at 50% 0,rgba(75,108,82,.13),transparent 45%),#0f1511;box-shadow:0 24px 80px rgba(0,0,0,.22)}.error-code{display:inline-flex;align-items:center;gap:6px;color:#829087;font-size:8px;letter-spacing:.16em}.error-orbit{width:68px;height:68px;margin:18px auto 14px;border-radius:50%;display:grid;place-items:center;border:1px solid #314139;background:#142019;color:#789d7e;font-size:25px;box-shadow:0 0 0 10px rgba(91,126,99,.04)}.error-card h1{font-size:42px;letter-spacing:-.05em;margin:0 0 10px}.error-card>p{max-width:420px;margin:0 auto;color:#8b9890;font-size:12px;line-height:1.65}.error-card strong{color:#cdd8d0}.error-city{margin:24px auto 0;max-width:390px;border:1px solid #27352c;background:#111914;border-radius:16px;padding:14px;text-align:left}.error-city>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:center}.error-city span{font-size:11px;font-weight:650}.error-city b{font-size:16px;color:#8cad8c}.error-meter{height:6px;border-radius:99px;background:#1d2821;margin:10px 0 7px;overflow:hidden}.error-meter i{display:block;height:100%;border-radius:inherit;background:#6f9675}.error-city small{font-size:8px;color:#718078}.error-actions{display:flex;gap:8px;justify-content:center;margin-top:22px;flex-wrap:wrap}.error-actions a{height:42px;padding:0 15px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:10px;font-weight:600}.error-actions a i{font-size:16px;line-height:1;display:grid;place-items:center}.error-primary{background:#729b77;color:#0a100c}.error-secondary{border:1px solid #304038;color:#cbd6ce;background:#141c17}
@media(max-width:700px){.celebration-layer{inset:auto 10px 12px 10px!important;width:auto}.dynamic-brand-marks{gap:4px}.mark-b{display:none}.error-shell{padding:28px 14px}.error-card{padding:30px 18px;border-radius:22px}.error-card h1{font-size:34px}.error-actions{display:grid}.error-actions a{width:100%}}
.impact-scale .impact-track{padding:0!important}.impact-scale .impact-track:before{display:none!important}.impact-scale .impact-track i:after{display:none!important}

/* v19 refinements */
.dynamic-brand-marks{display:flex;align-items:center;gap:6px}
.brand-progress-mark{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#121b15,#0c120e);border:1px solid #2d3f33;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.brand-progress-mark b{display:none!important}
.brand-progress-mark i{position:relative!important;font-size:18px;line-height:1;background:linear-gradient(to top,#8ac889 0 calc(var(--p)*1%),#34443a calc(var(--p)*1%) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:1!important;transform:none!important}
.mark-a{width:38px;height:38px;border-radius:12px}
.mark-a:after{content:"";position:absolute;inset:6px;border-radius:10px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.08),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.1));z-index:0}
.mark-b{width:40px;height:40px;border-radius:999px;background:linear-gradient(145deg,#101712,#162019)}
.mark-b:before{content:"";position:absolute;inset:7px;border-radius:999px;background:radial-gradient(circle at 28% 26%,rgba(255,255,255,.08),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.1));z-index:0}
.mark-b i{font-size:19px}

/* completion + notifications closer look */
.live-toast,.completion-banner,#paymentSuccessContent{border-color:#405546;background:linear-gradient(145deg,rgba(18,29,21,.98),rgba(10,16,12,.98));box-shadow:0 22px 70px rgba(0,0,0,.44),0 0 0 1px rgba(124,160,128,.05);backdrop-filter:blur(18px)}
.completion-banner{grid-template-columns:46px minmax(0,1fr) 32px;gap:12px;padding:13px 14px;border-radius:18px}
.completion-banner .completion-icon{width:46px;height:46px;border-radius:14px;background:#1a2a1f;color:#89b08c;font-size:20px}
.completion-copy h2{font-size:17px;margin:2px 0 4px}
.completion-copy p{font-size:9.5px}

/* compact top-right payment success */
.payment-success{position:fixed!important;inset:92px 18px auto auto!important;width:min(360px,calc(100vw - 28px));z-index:126!important;display:block!important;opacity:0;pointer-events:none;transform:translateY(-12px) scale(.98);transition:opacity .24s ease,transform .24s ease}
.payment-success.open{opacity:1;pointer-events:auto;transform:none}
.payment-success-backdrop{display:none!important}
.payment-success-card{position:relative;width:auto!important;z-index:1;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important;text-align:left!important;animation:none!important}
#paymentSuccessContent{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #405546;border-radius:18px;padding:12px 44px 12px 12px;min-height:64px}
.payment-success-close{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:9px;background:#172019;color:#829087;display:grid;place-items:center}
.payment-toast-avatar{width:40px;height:40px;border-radius:12px}
.payment-toast-copy{min-width:0}.payment-toast-copy small,.payment-toast-copy b,.payment-toast-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-toast-copy small{font-size:7px;letter-spacing:.16em;color:#839188}.payment-toast-copy b{font-size:12px;margin-top:1px}.payment-toast-copy span{font-size:9.5px;color:#90a096;margin-top:3px}
.payment-toast-jump{border:1px solid #415746;background:#18231c;color:#dbe6dc;border-radius:11px;padding:9px 12px;font-size:11px;cursor:pointer;white-space:nowrap}
@media(max-width:700px){.payment-success{inset:76px 10px auto 10px!important;width:auto}.mark-b{display:grid}}

/* v20 unify notifications + cleaner mark-a */
.mark-a{background:linear-gradient(145deg,#121b15,#0c120e)!important;border:1px solid #35503b;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 1px rgba(0,0,0,.06)!important}
.mark-a:after{display:none!important}
.mark-a i,.mark-b i{z-index:2}

.live-toast,
.completion-banner,
#paymentSuccessContent{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 32px;
  gap:12px;
  align-items:center;
  border:1px solid #405546;
  background:linear-gradient(145deg,rgba(18,29,21,.98),rgba(10,16,12,.98));
  border-radius:18px;
  padding:13px 14px;
  box-shadow:0 22px 70px rgba(0,0,0,.44),0 0 0 1px rgba(124,160,128,.05);
  backdrop-filter:blur(18px);
}
.live-toast .toast-icon,
.live-toast .toast-avatar,
.completion-banner .completion-icon,
.payment-toast-avatar{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#1a2a1f;
  color:#89b08c;
}
.live-toast .toast-avatar{border-radius:14px}
.live-toast button,
.completion-banner>button,
.payment-success-close{
  width:32px;
  height:32px;
  border:0;
  border-radius:10px;
  background:#172019;
  color:#829087;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.live-toast>div,
.completion-copy,
.payment-toast-copy{min-width:0}
.live-toast b,.live-toast span,
.payment-toast-copy small,.payment-toast-copy b,.payment-toast-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-toast b,.payment-toast-copy b{font-size:12px;margin-top:1px}
.live-toast span,.payment-toast-copy span{font-size:9.5px;color:#90a096;margin-top:3px}
.payment-toast-copy small,.completion-copy small,.live-toast .toast-kicker{font-size:7px;letter-spacing:.16em;color:#839188}
.live-toast{grid-template-columns:46px minmax(0,1fr) 32px;padding:13px 14px;border-radius:18px;transform:translateY(10px) scale(.98)}
.live-toast .toast-icon i{font-size:20px}
.live-toast .toast-icon,.live-toast .toast-avatar{min-width:46px}
.live-toast button{align-self:center}
.completion-copy h2{font-size:17px;line-height:1.05;margin:2px 0 4px;letter-spacing:-.025em}
.completion-copy p{margin:0;color:#93a097;font-size:9.5px;line-height:1.45}
#paymentSuccessContent{padding-right:50px}
.payment-success-close{position:absolute;right:14px;top:14px}
.payment-toast-avatar{overflow:hidden}
.payment-toast-copy b{font-size:12px}
.payment-toast-copy span{font-size:9.5px}
.payment-success-card{pointer-events:auto}
.payment-success{width:min(380px,calc(100vw - 28px))}
.payment-success-close + #paymentSuccessContent{margin:0}
@media(max-width:700px){.payment-success{width:auto}.live-toast,.completion-banner,#paymentSuccessContent{grid-template-columns:44px minmax(0,1fr) 30px;gap:10px;padding:12px}.live-toast .toast-icon,.live-toast .toast-avatar,.completion-banner .completion-icon,.payment-toast-avatar{width:44px;height:44px}.live-toast button,.completion-banner>button,.payment-success-close{width:30px;height:30px}}

/* v21: single brand, stable country counter, truly shared notification component */
.dynamic-brand-marks{gap:0}
.country>span{min-width:132px;white-space:nowrap;text-align:left}
.live-toast.is-clickable{cursor:pointer}
/* Legacy special layers are kept in markup for backwards compatibility but v21 sends all user-facing events through .live-toast. */
.celebration-layer,.payment-success{pointer-events:none!important;opacity:0!important}

/* Moderator */
.moderator-body{background:#0a0f0c}
.moderator-main{padding:42px 22px 70px;min-height:calc(100vh - 82px)}
.mod-shell{width:min(1180px,100%);margin:0 auto}
.mod-login-card{width:min(430px,calc(100% - 28px));margin:70px auto;padding:28px;border:1px solid #27372d;border-radius:24px;background:linear-gradient(145deg,#111a14,#0c120e);box-shadow:0 28px 80px rgba(0,0,0,.3)}
.mod-login-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#17251b;border:1px solid #304638;color:#86b88d;font-size:23px;margin-bottom:18px}
.mod-login-card>small,.mod-section-head small{font-size:8px;letter-spacing:.15em;color:#819087;font-weight:600}.mod-login-card h1{font-size:34px;letter-spacing:-.045em;margin:7px 0 8px}.mod-login-card>p,.mod-head p,.mod-danger>p{font-size:11px;line-height:1.6;color:#8e9a91}.mod-login-form{display:grid;gap:12px;margin-top:22px}.mod-login-form label,.mod-danger label{display:grid;gap:6px}.mod-login-form label span,.mod-danger label span{font-size:9px;color:#96a299}.mod-login-form input,.mod-danger input,.mod-filter input,.mod-filter select{height:43px;border:1px solid #2a3930;border-radius:12px;background:#0a100c;color:#edf3ee;padding:0 12px;font:500 14px 'Instrument Sans',sans-serif;outline:none}.mod-login-form input:focus,.mod-danger input:focus,.mod-filter input:focus,.mod-filter select:focus{border-color:#52735c}.mod-login-form button,.mod-reset-btn{height:44px;border:0;border-radius:12px;background:#7ead84;color:#0c150f;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.mod-login-note{display:block;margin-top:14px;color:#657168!important;line-height:1.5}.mod-login-note code{color:#8fa297}
.mod-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.mod-head h1{font-size:38px;letter-spacing:-.045em;margin:7px 0}.mod-head p{max-width:680px;margin:0}.mod-logout{height:38px;border:1px solid #2d3d33;background:#111914;color:#a5b0a7;border-radius:11px;padding:0 13px;display:flex;align-items:center;gap:7px;cursor:pointer}
.mod-alert{border-radius:13px;padding:11px 13px;margin:12px 0;display:flex;align-items:center;gap:8px;font-size:10px}.mod-alert.success{background:#132219;border:1px solid #31503a;color:#9bcaa3}.mod-alert.error{background:#251715;border:1px solid #57302c;color:#e0a49e}
.mod-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 10px}.mod-stats article{border:1px solid #233128;background:#101713;border-radius:17px;padding:15px}.mod-stats small,.mod-stats span{display:block;color:#7f8d83;font-size:8px}.mod-stats b{display:block;font-size:20px;margin:4px 0 6px;letter-spacing:-.03em}.mod-payment-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.mod-payment-strip span{font-size:9px;color:#89968d;padding:8px 10px;border:1px solid #223027;border-radius:10px;background:#0e1511}.mod-payment-strip i{margin-right:5px}.mod-payment-strip b{color:#d8e1da;margin-left:4px}
.mod-section{border:1px solid #233128;background:#0f1612;border-radius:20px;padding:16px}.mod-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.mod-section-head h2{font-size:18px;margin:3px 0 0;letter-spacing:-.025em}.mod-filter{display:flex;gap:7px}.mod-filter input{width:220px}.mod-filter select{width:135px}.mod-filter button{width:43px;border:1px solid #2a3930;background:#151f18;color:#9db0a1;border-radius:11px;cursor:pointer}.mod-list{display:grid;gap:7px}.mod-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border:1px solid #1e2a22;background:#0c120e;border-radius:14px}.mod-row.is-hidden{opacity:.58}.mod-avatar{width:42px;height:42px;border-radius:12px}.mod-person{min-width:0}.mod-person b,.mod-person span,.mod-person small,.mod-person a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-person b{font-size:11px}.mod-person b em{font-style:normal;font-size:7px;letter-spacing:.1em;color:#c9958f;margin-left:6px}.mod-person span{font-size:9px;color:#87948b;margin-top:2px}.mod-person small{font-size:8px;color:#748078;margin-top:4px}.mod-person a{font-size:8px;color:#78a484;margin-top:4px;text-decoration:none}.mod-actions{display:flex;align-items:center;gap:5px}.mod-actions form{margin:0}.mod-actions button{width:32px;height:32px;border:1px solid #27372d;border-radius:9px;background:#141d17;color:#8e9b91;display:grid;place-items:center;cursor:pointer}.mod-actions button:hover{background:#1a281f;color:#b7c4ba}.mod-empty{padding:34px;text-align:center;color:#718077;font-size:10px}.mod-grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.mod-action-log{display:grid;gap:7px}.mod-action-log>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;border-bottom:1px solid #1d2921;padding:7px 0}.mod-action-log>div:last-child{border:0}.mod-action-log i{width:28px;height:28px;border-radius:9px;background:#152019;display:grid;place-items:center;color:#75887b}.mod-action-log p{margin:0}.mod-action-log b,.mod-action-log span{display:block;font-size:9px}.mod-action-log span{color:#738078;margin-top:2px}.mod-danger{border-color:#49302c;background:linear-gradient(145deg,#17120f,#11110e)}.mod-danger .mod-section-head>i{color:#b57268}.mod-danger form{display:grid;gap:10px;margin-top:15px}.mod-reset-btn{background:#b96f65;color:#1a0d0b;margin-top:3px}
@media(max-width:900px){.mod-stats{grid-template-columns:repeat(2,1fr)}.mod-grid-bottom{grid-template-columns:1fr}.mod-filter{width:100%;flex-wrap:wrap}.mod-filter input{flex:1;min-width:180px}.mod-section-head{align-items:flex-start;flex-direction:column}.mod-head{align-items:flex-start;flex-direction:column}.mod-row{grid-template-columns:40px minmax(0,1fr)}.mod-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:560px){.moderator-main{padding:24px 12px 50px}.mod-stats{grid-template-columns:1fr 1fr}.mod-stats b{font-size:17px}.mod-filter input,.mod-filter select{width:100%;flex:1 1 100%}.country>span{min-width:0;text-align:right}}

/* v22 — personal impact + light/dark/system theme + greener controls */
:root{--green:#39a957;--green2:#70d982;--green3:#258541;--forest:#337848;--button-green:#63d977;--button-green-2:#8be895;--surface:#111713;--surface-2:#151d18;--surface-soft:#18211b}
.water-btn,.pay,.success-map{background:linear-gradient(135deg,var(--button-green),var(--button-green-2))!important;color:#0d1a10!important;box-shadow:0 8px 24px rgba(66,190,91,.12)}
.water-btn:hover,.pay:hover{filter:brightness(1.045)}
.finish-all-modal{border-color:#3f8851!important;background:#163a20!important;color:#c8f8ce!important}.finish-all-modal i,.finish-all-modal b{color:#82e891!important}
.amount.active{background:#173d22!important;border-color:#50a963!important;color:#c5f6ca!important}
.progress i,.meter i,.tiny i,.pop-meter i,.my-mini-track i{background:linear-gradient(90deg,#36a654,#78d783)!important;box-shadow:none!important}

.header-actions{justify-self:end;display:flex;align-items:center;gap:10px;min-width:0}.header-actions .chief{justify-self:auto}.theme-switcher{display:flex;align-items:center;padding:3px;border:1px solid #2a372e;border-radius:11px;background:#101612;gap:2px}.theme-switcher button,.my-impact-toggle{border:0;background:transparent;color:#7f8d84;cursor:pointer;display:grid;place-items:center;height:30px;border-radius:8px}.theme-switcher button{width:30px}.theme-switcher button.active{background:#1b2a20;color:#83db8d;box-shadow:inset 0 0 0 1px #2c4d35}.my-impact-toggle{grid-auto-flow:column;width:auto;padding:0 10px;gap:5px;border:1px solid #2a372e;background:#101612;font:600 10px inherit}.my-impact-toggle:hover{color:#a8e3ae;border-color:#3f6549}.my-impact-toggle i{font-size:14px}

.minister-marker.my-marker .marker-photo{border-color:#fff6cf!important;box-shadow:0 0 0 3px #d5b955,0 0 0 6px rgba(255,241,177,.20),0 7px 18px #0009!important}.minister-marker.my-marker .marker-name{background:#1d1a0d;color:#fff6cf;box-shadow:0 0 0 1px rgba(213,185,85,.28),0 4px 12px #0007}.minister-marker.my-marker:after{content:'SEN';position:absolute;top:-10px;right:-8px;font-size:6px;letter-spacing:.08em;font-weight:800;color:#241b02;background:#e7ca67;border-radius:5px;padding:2px 4px;box-shadow:0 3px 8px #0007}

.my-impact{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:0;transition:opacity .22s}.my-impact.open{opacity:1;pointer-events:auto}.my-impact-backdrop{position:absolute;inset:0;background:rgba(4,8,6,.52);backdrop-filter:blur(6px)}.my-impact-panel{position:absolute;right:14px;top:calc(var(--demo-h) + 92px);bottom:calc(var(--footer-h) + 12px);width:min(390px,calc(100vw - 28px));overflow:auto;border:1px solid #314238;background:linear-gradient(160deg,rgba(18,27,21,.99),rgba(9,14,11,.99));border-radius:22px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.48);transform:translateX(18px) scale(.985);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.my-impact.open .my-impact-panel{transform:none}.my-impact-close{position:sticky;float:right;top:0;z-index:3;width:32px;height:32px;border:0;border-radius:10px;background:#18211b;color:#849087;cursor:pointer}.my-impact-content{display:grid;gap:14px}.my-impact-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#193622;color:#79de87;font-size:20px}.my-impact-content>small,.my-profile-head small,.my-favorite>small,.my-effect small{font-size:8px;letter-spacing:.15em;color:#819087}.my-impact-content>h2{font-size:28px;margin:-7px 0 0;letter-spacing:-.04em}.my-impact-content>p,.my-empty{margin:0;color:#87958c;font-size:11px;line-height:1.55}.my-impact-recall{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.my-impact-recall input{height:42px;border:1px solid #2e3b32;background:#0e1511;color:#eef4ef;border-radius:12px;padding:0 12px;outline:0;font:500 13px inherit}.my-impact-recall input:focus{border-color:#4d895b}.my-impact-recall button,.my-switch-profile{border:1px solid #397648;background:#183d22;color:#c9f5ce;border-radius:12px;padding:0 13px;font:600 10px inherit;cursor:pointer}.my-profile-head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding-right:34px}.my-profile-avatar{width:52px;height:52px;border-radius:16px}.my-profile-head h2{font-size:23px;margin:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-profile-head span{font-size:10px;color:#8d9a91}.my-profile-head span b{color:#83df8d}.my-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.my-profile-stats>div{padding:11px 9px;border:1px solid #27342c;background:#101712;border-radius:13px}.my-profile-stats small{display:block;font-size:7px;letter-spacing:.1em;color:#758178}.my-profile-stats b{display:block;font-size:14px;margin-top:4px}.my-country-impact{padding:13px;border:1px solid #2a3a2f;background:#101813;border-radius:15px}.my-country-impact>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:10px}.my-country-impact>div:first-child b{color:#7cdb88}.my-mini-track{height:6px;background:#1d2921;border-radius:99px;overflow:hidden;margin:9px 0 6px}.my-mini-track i{display:block;height:100%;border-radius:inherit}.my-country-impact p{margin:0;font-size:9px;color:#7f8c84}.my-effect{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #31503a;border-radius:15px;background:linear-gradient(145deg,#132219,#101712)}.my-effect>i{width:38px;height:38px;border-radius:12px;background:#1b3923;color:#75d982;display:grid;place-items:center}.my-effect b,.my-effect span{display:block}.my-effect b{font-size:11px;margin:3px 0}.my-effect span{font-size:9px;color:#809087}.my-favorite{padding:12px 13px;border:1px solid #2a372e;border-radius:15px}.my-favorite>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.my-favorite b{font-size:13px}.my-favorite span{font-size:9px;color:#819087;text-align:right}.my-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.my-section-title span{font-size:11px;font-weight:700}.my-section-title small{font-size:8px;color:#758179}.my-badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.my-badge{min-height:46px;border:1px solid #2b3a31;border-radius:13px;padding:8px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;background:#101712}.my-badge>i{width:28px;height:28px;border-radius:9px;background:#193422;color:#7cdb88;display:grid;place-items:center}.my-badge b{font-size:9px}.my-badge em{font-style:normal;font-size:8px;color:#819087}.my-city-ranks{display:grid;gap:5px}.my-city-ranks .my-section-title{margin-bottom:3px}.my-city-ranks button{width:100%;min-height:44px;border:0;border-bottom:1px solid #202b24;background:transparent;color:#eef3ef;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:6px 2px;cursor:pointer}.my-city-ranks button span{display:grid;gap:2px}.my-city-ranks button b{font-size:10.5px}.my-city-ranks button small{font-size:8.5px;color:#79867e}.my-city-ranks button em{font-style:normal;font-size:14px;color:#7bd887;font-weight:800}.my-switch-profile{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px}

/* Light theme: keep the game identity, swap surfaces rather than flattening everything */
html[data-theme="light"]{--bg:#eef3ee;--bg2:#f5f8f4;--panel:#ffffff;--panel2:#f2f6f2;--text:#172019;--muted:#647269;--line:#d9e3db;--shadow:0 16px 46px rgba(35,57,41,.10);background:#eef3ee;color:var(--text)}
html[data-theme="light"] body{background:radial-gradient(circle at 50% -10%,rgba(87,173,105,.15),transparent 32%),linear-gradient(180deg,#f3f7f2,#eaf1eb);color:var(--text)}
html[data-theme="light"] .top,html[data-theme="light"] footer{background:rgba(246,249,246,.90)!important;border-color:var(--line)!important;color:var(--text)}
html[data-theme="light"] .brand,html[data-theme="light"] .chief b,html[data-theme="light"] .country strong{color:#172019}
html[data-theme="light"] .theme-switcher,html[data-theme="light"] .my-impact-toggle{background:#fff;border-color:#d5dfd7;color:#657269}html[data-theme="light"] .theme-switcher button.active{background:#e5f4e7;color:#258541;box-shadow:inset 0 0 0 1px #b9dabe}
html[data-theme="light"] .score-card,html[data-theme="light"] .province,html[data-theme="light"] .map-popover,html[data-theme="light"] .modal .sheet,html[data-theme="light"] .grower-row,html[data-theme="light"] .legal-section,html[data-theme="light"] .moderator-card{background:rgba(255,255,255,.94)!important;border-color:#d7e2d9!important;color:#172019!important;box-shadow:0 12px 34px rgba(42,66,48,.08)!important}
html[data-theme="light"] .search,html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select{background:#fff!important;border-color:#cfdad1!important;color:#172019!important}
html[data-theme="light"] .rank:hover,html[data-theme="light"] .mini:hover,html[data-theme="light"] .activity .act:hover{background:#edf5ee}
html[data-theme="light"] .section-title,html[data-theme="light"] .rank b,html[data-theme="light"] .province h2,html[data-theme="light"] .map-head h1,html[data-theme="light"] .legal-main h1,html[data-theme="light"] .growers-head h1{color:#172019}
html[data-theme="light"] .progress,html[data-theme="light"] .meter,html[data-theme="light"] .tiny,html[data-theme="light"] .pop-meter,html[data-theme="light"] .my-mini-track{background:#dce6de}
html[data-theme="light"] .map-wrap svg #features>g>*{stroke:#f0f3f0!important}
html[data-theme="light"] .marker-name{background:rgba(255,255,255,.94);color:#172019;box-shadow:0 3px 12px rgba(0,0,0,.15)}
html[data-theme="light"] .tooltip{background:rgba(255,255,255,.96);border-color:#ced9d0;color:#172019;box-shadow:0 12px 30px rgba(25,45,31,.16)}
html[data-theme="light"] .my-impact-backdrop{background:rgba(68,83,71,.24)}html[data-theme="light"] .my-impact-panel{background:linear-gradient(160deg,#ffffff,#f1f6f2);border-color:#cad7cc;color:#172019;box-shadow:0 28px 80px rgba(35,55,40,.18)}html[data-theme="light"] .my-profile-stats>div,html[data-theme="light"] .my-country-impact,html[data-theme="light"] .my-badge{background:#f7faf7;border-color:#d7e2d9}html[data-theme="light"] .my-city-ranks button{color:#172019;border-color:#dde6df}
html[data-theme="light"] .live-toast{background:linear-gradient(145deg,#ffffff,#f0f6f1)!important;border-color:#cbd8ce!important;color:#172019!important;box-shadow:0 18px 54px rgba(35,55,40,.18)!important}
html[data-theme="light"] .live-toast button{background:#edf3ee;color:#647269}

@media(max-width:1180px){.top{grid-template-columns:220px 1fr auto}.header-actions{gap:6px}.chief div{display:none}.chief>i,.chief-avatar{width:32px;height:32px}.my-impact-toggle span{display:none}.my-impact-toggle{width:32px;padding:0}.theme-switcher button{width:28px}}
@media(max-width:760px){.theme-switcher{position:fixed;right:12px;bottom:74px;z-index:85;box-shadow:0 12px 34px rgba(0,0,0,.24)}.header-actions .chief{display:none}.my-impact-toggle{position:fixed;right:12px;bottom:116px;z-index:85;width:40px;height:40px;border-radius:13px;background:#121b15}.my-impact-panel{top:70px;right:8px;bottom:8px;width:calc(100vw - 16px);border-radius:20px}.my-badge-grid{grid-template-columns:1fr}.my-profile-stats{gap:5px}.my-profile-stats>div{padding:9px 7px}.my-profile-stats b{font-size:12px}}

/* v23 — complete light theme, roomy chief, custom profile scrollbar */
.header-actions{min-width:330px;justify-content:flex-end}
.header-actions .chief{flex:0 0 auto;min-width:175px;max-width:210px}
.header-actions .chief>div{min-width:0;max-width:165px}
.header-actions .chief small{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px;font-size:8px;letter-spacing:.11em}
.header-actions .chief b{max-width:165px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-header{grid-template-columns:minmax(205px,260px) minmax(360px,1fr) minmax(330px,auto)}

/* Custom scrollbar for My Impact panel */
.my-impact-panel{scrollbar-width:thin;scrollbar-color:#3f5c47 transparent;scrollbar-gutter:stable}
.my-impact-panel::-webkit-scrollbar{width:7px}
.my-impact-panel::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.my-impact-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#34523d,#273d2f);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.my-impact-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#477052,#33503c);background-clip:padding-box}

/* LIGHT THEME — comprehensive surface pass */
html[data-theme="light"] body,
html[data-theme="light"] body.inner-page,
html[data-theme="light"] body.legal-body{
  background:radial-gradient(circle at 50% -10%,rgba(76,169,96,.12),transparent 31%),linear-gradient(180deg,#f6f9f5 0%,#eef4ef 55%,#edf3ee 100%)!important;
  color:#172019!important;
}
html[data-theme="light"] .game-screen,
html[data-theme="light"] .layout,
html[data-theme="light"] .inner-main,
html[data-theme="light"] .legal-main,
html[data-theme="light"] .growers-page{color:#172019}
html[data-theme="light"] .left{border-color:#dbe4dd}
html[data-theme="light"] .right{border-color:#dbe4dd}
html[data-theme="light"] .panel{scrollbar-color:#b9c9bd transparent}

html[data-theme="light"] .score-card,
html[data-theme="light"] .province,
html[data-theme="light"] .map-popover,
html[data-theme="light"] .modal .sheet,
html[data-theme="light"] .grower-row,
html[data-theme="light"] .moderator-card,
html[data-theme="light"] .legal-section,
html[data-theme="light"] .legal-contact-card,
html[data-theme="light"] .legal-trust span{
  background:#fff!important;
  border-color:#d7e2d9!important;
  color:#172019!important;
  box-shadow:0 12px 34px rgba(42,66,48,.07)!important;
}
html[data-theme="light"] .province{background:linear-gradient(145deg,#ffffff,#f8fbf8)!important}
html[data-theme="light"] .map-popover{background:rgba(255,255,255,.97)!important}
html[data-theme="light"] .section-title,
html[data-theme="light"] .rank b,
html[data-theme="light"] .mini b,
html[data-theme="light"] .act p,
html[data-theme="light"] .act p b,
html[data-theme="light"] .province h2,
html[data-theme="light"] .province b,
html[data-theme="light"] .pop-head b,
html[data-theme="light"] .pop-minister b,
html[data-theme="light"] .pop-supporter b,
html[data-theme="light"] .legal-hero h1,
html[data-theme="light"] .legal-section h2,
html[data-theme="light"] .legal-contact-card h2,
html[data-theme="light"] .footer-brand b,
html[data-theme="light"] .my-impact-content h2,
html[data-theme="light"] .my-favorite b,
html[data-theme="light"] .my-section-title span{color:#172019!important}
html[data-theme="light"] .map-head p,
html[data-theme="light"] .province p,
html[data-theme="light"] .stats,
html[data-theme="light"] .act small,
html[data-theme="light"] .act p span,
html[data-theme="light"] .pop-stats,
html[data-theme="light"] .pop-head small,
html[data-theme="light"] .pop-minister small,
html[data-theme="light"] .pop-supporter span,
html[data-theme="light"] .legal-hero p,
html[data-theme="light"] .legal-section p,
html[data-theme="light"] .legal-contact-card p,
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] footer a,
html[data-theme="light"] .my-impact-content>p,
html[data-theme="light"] .my-country-impact p,
html[data-theme="light"] .my-effect span,
html[data-theme="light"] .my-favorite span,
html[data-theme="light"] .my-city-ranks button small{color:#65736a!important}

html[data-theme="light"] .pop-empty,
html[data-theme="light"] .pop-minister,
html[data-theme="light"] .pop-supporters,
html[data-theme="light"] .my-profile-stats>div,
html[data-theme="light"] .my-country-impact,
html[data-theme="light"] .my-badge,
html[data-theme="light"] .my-favorite{
  background:#f7faf7!important;
  border-color:#d7e2d9!important;
  color:#172019!important;
}
html[data-theme="light"] .pop-supporter+.pop-supporter,
html[data-theme="light"] .my-city-ranks button,
html[data-theme="light"] .ministry-history{border-color:#dce6de!important}
html[data-theme="light"] .pop-close,
html[data-theme="light"] .close,
html[data-theme="light"] .my-impact-close{background:#edf3ee!important;color:#5e6c62!important;border-color:#d3ded5!important}
html[data-theme="light"] .pop-plate{background:#e7f5e9!important;color:#278b43!important}
html[data-theme="light"] .pop-meter,
html[data-theme="light"] .meter,
html[data-theme="light"] .progress,
html[data-theme="light"] .tiny,
html[data-theme="light"] .my-mini-track{background:#dce7de!important}

html[data-theme="light"] .my-effect{
  background:linear-gradient(145deg,#edf8ef,#f8fbf8)!important;
  border-color:#cfe2d2!important;
  color:#172019!important;
}
html[data-theme="light"] .my-effect>i{background:#dff3e3!important;color:#2f974b!important}
html[data-theme="light"] .my-effect b{color:#172019!important}
html[data-theme="light"] .my-impact-close{box-shadow:0 3px 12px rgba(35,55,40,.08)}
html[data-theme="light"] .my-impact-panel{scrollbar-color:#a8bdaD transparent}
html[data-theme="light"] .my-impact-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b4c7b8,#9db4a2);border:2px solid transparent;background-clip:padding-box}
html[data-theme="light"] .my-switch-profile,
html[data-theme="light"] .my-impact-recall button{background:#e8f6ea!important;border-color:#b9d9bf!important;color:#237f3b!important}
html[data-theme="light"] .my-badge>i{background:#e2f4e6!important;color:#278c42!important}

html[data-theme="light"] .sheet label span,
html[data-theme="light"] .field-title,
html[data-theme="light"] .modal-head p,
html[data-theme="light"] .legal-note{color:#65736a!important}
html[data-theme="light"] .amount{background:#f4f8f4!important;border-color:#d3ddd5!important;color:#263129!important}
html[data-theme="light"] .amount.active{background:#e2f6e6!important;border-color:#7fc98e!important;color:#1d7334!important}
html[data-theme="light"] .impact{background:#edf8ef!important;border-color:#cce2d1!important;color:#172019!important}
html[data-theme="light"] .avatar-preview{background:#eef4ef!important;border-color:#cedbd1!important;box-shadow:inset 0 0 0 5px #fff!important}
html[data-theme="light"] .avatar-camera{border-color:#fff!important}

html[data-theme="light"] footer.site-footer{background:#f6f9f6!important;border-color:#d9e3db!important;color:#65736a!important}
html[data-theme="light"] footer a:hover{color:#247e3c!important}
html[data-theme="light"] .footer-grow-link{background:#edf7ef!important;border-color:#cbdccc!important;color:#267f3d!important}

html[data-theme="light"] .legal-icon,
html[data-theme="light"] .legal-section-icon{background:#eef7ef!important;border-color:#d1e0d4!important;color:#2d8a45!important}
html[data-theme="light"] .legal-back{background:#fff!important;border-color:#d4dfd6!important;color:#5d6b61!important}
html[data-theme="light"] .legal-back:hover{color:#267f3d!important;border-color:#a9ccb0!important}

@media(max-width:1320px){
  .site-header{grid-template-columns:210px minmax(300px,1fr) minmax(250px,auto)}
  .header-actions{min-width:250px}
  .header-actions .chief{min-width:135px;max-width:150px}
  .header-actions .chief>div{max-width:105px}
  .header-actions .chief small,.header-actions .chief b{max-width:105px!important}
}
@media(max-width:1120px){
  .header-actions .chief div{display:none!important}
  .header-actions .chief{min-width:auto;width:34px}
  .header-actions{min-width:auto}
  .site-header{grid-template-columns:200px minmax(280px,1fr) auto}
}
html[data-theme="light"] .live-stats{color:#718077!important}html[data-theme="light"] .live-stats b{color:#26342a!important}html[data-theme="light"] .live-stats em{color:#b6c2b9!important}html[data-theme="light"] .live-stats .revenue b{color:#c95e56!important}
html[data-theme="light"] .map-tool-buttons button{background:#fff!important;border-color:#d1ddd3!important;color:#5c6b61!important}html[data-theme="light"] .map-tool-buttons button:hover,html[data-theme="light"] .map-tool-buttons button.active{background:#e9f5eb!important;border-color:#a9cdb0!important;color:#278441!important}
html[data-theme="light"] .search-suggest{background:#fff!important;border-color:#d2ddd4!important;box-shadow:0 15px 40px rgba(35,55,40,.14)!important}html[data-theme="light"] .search-suggest button{color:#223027!important}html[data-theme="light"] .search-suggest button:hover{background:#edf5ee!important}html[data-theme="light"] .search-suggest small{color:#748178!important}
html[data-theme="light"] .avatar{background:#e5ece6!important;color:#526158!important}html[data-theme="light"] .activity .act{color:#172019!important}

/* v24 — light mode: white surfaces + crisp dark outlines, compact personal panel */
html[data-theme="light"] .growers-filters a,
html[data-theme="light"] .growers-back,
html[data-theme="light"] .legal-back,
html[data-theme="light"] .footer-grow-link,
html[data-theme="light"] .my-switch-profile,
html[data-theme="light"] .my-impact-recall button,
html[data-theme="light"] .link-toggle,
html[data-theme="light"] .finish-all-modal,
html[data-theme="light"] .amount,
html[data-theme="light"] .theme-switcher,
html[data-theme="light"] .my-impact-toggle{
  background:#fff!important;
  border-color:#1f2a22!important;
  color:#172019!important;
  box-shadow:none!important;
}
html[data-theme="light"] .growers-filters a:hover,
html[data-theme="light"] .growers-back:hover,
html[data-theme="light"] .legal-back:hover,
html[data-theme="light"] .footer-grow-link:hover,
html[data-theme="light"] .my-switch-profile:hover,
html[data-theme="light"] .my-impact-recall button:hover,
html[data-theme="light"] .link-toggle:hover{
  background:#f4f8f4!important;
  border-color:#172019!important;
  color:#172019!important;
}
html[data-theme="light"] .growers-filters a.active,
html[data-theme="light"] .amount.active,
html[data-theme="light"] .theme-switcher button.active{
  background:#172019!important;
  border-color:#172019!important;
  color:#fff!important;
}
html[data-theme="light"] .final-drop-badge{
  background:#fff!important;
  border:1px solid #172019!important;
  color:#172019!important;
  padding:3px 7px;
  font-weight:700;
}
html[data-theme="light"] .my-badge{
  background:#fff!important;
  border-color:#1f2a22!important;
  box-shadow:none!important;
}
html[data-theme="light"] .my-badge>i{
  background:#eef8f0!important;
  border:1px solid #c7dfcc;
  color:#278c42!important;
}
html[data-theme="light"] .my-profile-stats>div,
html[data-theme="light"] .my-country-impact,
html[data-theme="light"] .my-favorite{
  background:#fff!important;
  border-color:#cbd8ce!important;
}
html[data-theme="light"] .grower-row{
  background:#fff!important;
  border-color:#c8d4ca!important;
  box-shadow:none!important;
}
html[data-theme="light"] .grower-row:hover{
  border-color:#172019!important;
  transform:translateY(-1px);
}

/* Primary actions stay green; secondary controls use white/black language. */
html[data-theme="light"] .water-btn,
html[data-theme="light"] .pay{
  background:#58d772!important;
  color:#102016!important;
  border:1px solid #42b85c!important;
}
html[data-theme="light"] .water-btn:hover,
html[data-theme="light"] .pay:hover{background:#4dcb67!important}
html[data-theme="light"] .finish-all-modal{color:#1f7c39!important}

/* Personal panel: remove reserved scrollbar gutter and tighten horizontal rhythm. */
.my-impact-panel{
  scrollbar-gutter:auto!important;
}
@media(min-width:761px){
  .my-impact-panel{
    width:min(360px,calc(100vw - 28px))!important;
    padding:15px!important;
  }
  .my-impact-content{
    width:100%;
    gap:12px!important;
  }
  .my-profile-stats{gap:6px!important}
  .my-profile-stats>div{padding:10px 8px!important}
  .my-badge-grid{gap:6px!important}
  .my-badge{padding:7px!important}
  .my-favorite{padding:11px 12px!important}
}
.my-impact-close{
  position:absolute!important;
  right:14px;
  top:14px!important;
  float:none!important;
}
.my-profile-head{padding-right:42px!important}

/* Keep scrollbar visually lightweight without reserving a full column. */
.my-impact-panel::-webkit-scrollbar{width:6px!important}
.my-impact-panel::-webkit-scrollbar-track{background:transparent!important;margin:12px 0!important}
.my-impact-panel::-webkit-scrollbar-thumb{border:1px solid transparent!important;background-clip:padding-box!important}

/* Slightly tighter Growers layout on desktop so rows do not feel over-wide. */
@media(min-width:900px){
  .growers-shell{width:min(760px,100%)!important}
}

/* v25 — light mode polish: green action language, softer surfaces, cleaner hierarchy */

/* Header controls keep one visual height. */
.header-actions{gap:8px}
.my-impact-toggle{height:38px;min-height:38px;border-radius:11px}
.theme-switcher{height:38px;min-height:38px;padding:3px}
.theme-switcher button{height:30px}
.header-actions .chief{min-height:38px}
.header-actions .chief>i,.header-actions .chief-avatar{width:38px;height:38px;flex:0 0 38px}

/* Recent activity: time sits beside the name instead of occupying a third line. */
.activity .act-copy{min-width:0;display:grid;gap:3px}
.activity .act-title{display:flex;align-items:center;gap:6px;min-width:0}
.activity .act-title b{font-size:10.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.activity .act-title small{font-size:8px;color:var(--muted);white-space:nowrap;margin-left:auto}
.activity .act-detail{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Founder should read as an earned title, not muted metadata. */
.founder-line,.pop-founder{
  margin-top:10px;
  padding:8px 9px;
  border-radius:10px;
  border:1px solid rgba(211,177,80,.28);
  background:rgba(188,148,52,.09);
  color:#c8b06d;
}
.founder-line i,.pop-founder i{color:#d5b354}
.founder-line span,.pop-founder span{font-weight:700;letter-spacing:.03em}
.founder-line b,.pop-founder b{color:#e8dbad}

/* Main green CTAs should be consistent in every theme. */
.finish-all-modal,
.growers-back,
.legal-back,
.legal-contact-card>a,
.my-switch-profile{
  background:#2e9f4d!important;
  color:#fff!important;
  border:1px solid #2e9f4d!important;
  box-shadow:none!important;
}
.finish-all-modal i,.finish-all-modal b,
.growers-back i,.legal-back i,.legal-contact-card>a i,.my-switch-profile i{color:#fff!important}
.finish-all-modal:hover,
.growers-back:hover,
.legal-back:hover,
.legal-contact-card>a:hover,
.my-switch-profile:hover{background:#268c42!important;border-color:#268c42!important;color:#fff!important}

html[data-theme="light"] .province.empty{
  background:rgba(255,255,255,.72)!important;
  border-color:#c8dfcd!important;
  box-shadow:0 12px 34px rgba(45,91,56,.07)!important;
}
html[data-theme="light"] .water-orbit{
  border-color:#8fbea0!important;
  background:#f1faf3!important;
  color:#35a653!important;
}

/* Header: no black active state in light mode. */
html[data-theme="light"] .my-impact-toggle,
html[data-theme="light"] .theme-switcher{
  height:38px!important;
  background:#f8fcf8!important;
  border:1px solid #b9d8c0!important;
  color:#287f40!important;
}
html[data-theme="light"] .my-impact-toggle:hover{
  background:#e7f6ea!important;
  border-color:#79bb87!important;
  color:#22763a!important;
}
html[data-theme="light"] .theme-switcher button{
  color:#6c7b70!important;
  background:transparent!important;
}
html[data-theme="light"] .theme-switcher button.active{
  background:#dff4e4!important;
  color:#258343!important;
  box-shadow:inset 0 0 0 1px #9fd0a9!important;
}
html[data-theme="light"] .header-actions .chief>i,
html[data-theme="light"] .header-actions .chief-avatar{
  background:#eef8ef!important;
  color:#2c9047!important;
  border:1px solid #bcd8c1!important;
  box-shadow:none!important;
}
html[data-theme="light"] .header-actions .chief-avatar img{background:#fff}

/* Amounts: pale green rather than black outlines. */
html[data-theme="light"] .amount{
  background:#f4fbf5!important;
  border:1px solid #a9ceb1!important;
  color:#1c592d!important;
}
html[data-theme="light"] .amount:hover{
  background:#e8f7eb!important;
  border-color:#70b780!important;
}
html[data-theme="light"] .amount.active{
  background:#35a854!important;
  border-color:#35a854!important;
  color:#fff!important;
}
html[data-theme="light"] .finish-all-modal{
  background:#2e9f4d!important;
  border-color:#2e9f4d!important;
  color:#fff!important;
}
html[data-theme="light"] .finish-all-modal i,
html[data-theme="light"] .finish-all-modal b{color:#fff!important}

/* Ministry hint should not be a black strip in light mode. */
html[data-theme="light"] .ministry-gap{
  background:#eef8f0!important;
  border:1px solid #b9d9c0!important;
  color:#2d6e3d!important;
}
html[data-theme="light"] .ministry-gap i{color:#31924a!important}

/* Growers filters: green selection, larger text, no black pills. */
.growers-filters a{font-size:11px!important;padding:8px 13px!important}
html[data-theme="light"] .growers-filters a{
  background:#f4fbf5!important;
  border:1px solid #9fc9a8!important;
  color:#2a7040!important;
}
html[data-theme="light"] .growers-filters a:hover{
  background:#e5f5e8!important;
  border-color:#65ae75!important;
  color:#226438!important;
}
html[data-theme="light"] .growers-filters a.active{
  background:#2f9f4e!important;
  border-color:#2f9f4e!important;
  color:#fff!important;
}
html[data-theme="light"] .growers-back,
html[data-theme="light"] .legal-back{
  background:#2f9f4e!important;
  border-color:#2f9f4e!important;
  color:#fff!important;
}
html[data-theme="light"] .grower-meta b{color:#248d43!important;font-weight:800}
html[data-theme="light"] .final-drop-badge{
  background:#edf8ef!important;
  border:1px solid #a5ccad!important;
  color:#287640!important;
}

/* Personal profile: remove black badge outlines and make profile switch a real CTA. */
html[data-theme="light"] .my-badge{
  background:rgba(255,255,255,.55)!important;
  border:1px solid #bdd9c3!important;
}
html[data-theme="light"] .my-badge>i{
  background:#e4f5e8!important;
  border-color:#b7d9bf!important;
  color:#258c43!important;
}
html[data-theme="light"] .my-switch-profile{
  background:#2f9f4e!important;
  border-color:#2f9f4e!important;
  color:#fff!important;
}

/* Light-mode founder title stays visibly special. */
html[data-theme="light"] .founder-line,
html[data-theme="light"] .pop-founder{
  background:#fff7df!important;
  border-color:#e5ca80!important;
  color:#8b6a19!important;
}
html[data-theme="light"] .founder-line i,
html[data-theme="light"] .pop-founder i{color:#b88913!important}
html[data-theme="light"] .founder-line b,
html[data-theme="light"] .pop-founder b{color:#72520d!important}

/* Leader medals use soft light surfaces instead of dark squares. */
html[data-theme="light"] .rank-medal.gold{background:#fff3c9!important;color:#9b7100!important;border:1px solid #ebd47f}
html[data-theme="light"] .rank-medal.silver{background:#f0f3f1!important;color:#66716a!important;border:1px solid #d1d9d3}
html[data-theme="light"] .rank-medal.bronze{background:#f7e7dc!important;color:#955e36!important;border:1px solid #e3c1aa}
html[data-theme="light"] .rank-number{background:#eef5ef!important;color:#607168!important;border:1px solid #d2dfd4}

/* Legal/inner pages should blend into the page rather than stacking white cards and dark separators. */
html[data-theme="light"] .legal-section,
html[data-theme="light"] .legal-contact-card,
html[data-theme="light"] .legal-trust span{
  background:transparent!important;
  box-shadow:none!important;
}
html[data-theme="light"] .legal-section{
  border-bottom:0!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
}
html[data-theme="light"] .legal-trust{
  border-bottom:0!important;
  gap:10px!important;
}
html[data-theme="light"] .legal-trust span{
  border-color:#c7dccb!important;
  background:rgba(255,255,255,.22)!important;
}
html[data-theme="light"] .legal-contact-card{
  border-color:#c7dccb!important;
}
html[data-theme="light"] .legal-section-icon,
html[data-theme="light"] .legal-icon{
  background:#eef8f0!important;
  border-color:#c1ddc7!important;
  color:#2e9148!important;
}
html[data-theme="light"] .legal-contact-card>a{
  background:#2f9f4e!important;
  border-color:#2f9f4e!important;
  color:#fff!important;
}

/* Remove harsh horizontal separators from inner reading layouts. */
html[data-theme="light"] .legal-sections{border:0!important}

@media(max-width:1180px){
  .header-actions .chief>i,.header-actions .chief-avatar{width:36px;height:36px;flex-basis:36px}
}

/* v26 — light theme consistency, interaction polish, spacing fixes */
:root{--action-green:#32a852;--action-green-hover:#278e43;--action-green-soft:#edf8ef;--action-green-line:#a9d0b1}

/* Shared interaction motion across controls. */
button,a,.amount,.mini,.rank,.grower-row,.my-badge,.score-card,.legal-section-icon{
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .16s ease,filter .18s ease,opacity .18s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .water-btn:not(:disabled):hover,.pop-water:not(:disabled):hover,.pay:not(:disabled):hover,
  .finish-all-modal:not(:disabled):hover,.growers-back:hover,.legal-back:hover,.my-switch-profile:hover,
  .footer-grow-link:hover{transform:translateY(-1px)}
}

/* All primary watering actions use readable white type. */
.water-btn,.pop-water,.pay{color:#fff!important;background:linear-gradient(135deg,#37ad57,#2e9d4d)!important}
.water-btn:not(:disabled):hover,.pop-water:not(:disabled):hover,.pay:not(:disabled):hover{background:linear-gradient(135deg,#2f9f4e,#278c43)!important}
.water-btn:disabled,.pop-water:disabled{color:#7a867e!important;background:#243027!important}

/* Footer Yeşertenler is a real CTA. */
footer .footer-grow-link{background:var(--action-green)!important;border-color:var(--action-green)!important;color:#fff!important;font-weight:600!important}
footer .footer-grow-link i{color:#fff!important}
footer .footer-grow-link:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important;color:#fff!important}

/* Same back button everywhere. */
.growers-back,.legal-back{
  height:38px!important;min-height:38px!important;padding:0 14px!important;border-radius:11px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  background:var(--action-green)!important;border:1px solid var(--action-green)!important;color:#fff!important;
  font-family:'Instrument Sans',sans-serif!important;font-size:11px!important;font-weight:600!important;line-height:1!important;text-decoration:none!important;
}
.growers-back i,.legal-back i{color:#fff!important;font-size:14px!important}
.growers-back:hover,.legal-back:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important;color:#fff!important}

/* Personal panel uses one spacing rhythm and one font. */
.my-impact-panel,.my-impact-panel button,.my-impact-panel input,.my-city-ranks button,.my-switch-profile{font-family:'Instrument Sans',sans-serif!important}
.my-impact-content{gap:12px!important}
.my-effect,.my-favorite{padding:13px!important;margin:0!important;min-height:68px!important}
.my-effect{align-items:center!important}
.my-favorite{display:grid!important;align-content:center!important}
.my-favorite>div{margin-top:5px!important}
.my-city-ranks button{font-weight:500!important;letter-spacing:0!important}
.my-city-ranks button b{font-weight:600!important}
.my-city-ranks button em{font-family:'Instrument Sans',sans-serif!important}
.my-switch-profile{font-size:10px!important;font-weight:600!important}

/* The ministry gap is important feedback, not micro-copy. */
.ministry-gap{font-size:11px!important;font-weight:600!important;line-height:1.35!important;padding:11px 12px!important}
.ministry-gap span{font-weight:600!important}
.ministry-gap i{font-size:16px!important}

/* Grower badges should never clip inside the name row. */
.grower-main>b{line-height:20px!important;min-height:20px!important}
.final-drop-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;min-height:17px!important;line-height:1!important;padding:3px 7px!important;margin-left:7px!important;transform:translateY(-1px)}

/* Empty leaderboard state. */
.mini-empty{min-height:64px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;text-align:center;color:var(--muted);font-size:10px;border:1px dashed var(--line);border-radius:11px}
.mini-empty i{font-size:15px;color:var(--green2)}

html[data-theme="light"] .impact-scale .impact-track{background:#dce9df!important}
html[data-theme="light"] .impact-scale .impact-current{background:#8dbb97!important}
html[data-theme="light"] .impact-scale .impact-delta{background:#42b861!important}
html[data-theme="light"] .impact-marker.before{background:#708579!important}
html[data-theme="light"] .impact-marker.after{background:#228d42!important}
html[data-theme="light"] .impact-axis{color:#738177!important}
html[data-theme="light"] .impact-axis b{color:#38884d!important;font-weight:600!important}

/* No dark selection / hover blocks in light mode. */
html[data-theme="light"] .mini:hover,html[data-theme="light"] .rank:hover,html[data-theme="light"] .activity .act:hover{background:#eef8f0!important}
html[data-theme="light"] .mini.selected{background:#dff3e4!important;color:#173e23!important;box-shadow:inset 0 0 0 1px #9bcaa5!important}
html[data-theme="light"] .mini.selected span{color:#268d43!important}
html[data-theme="light"] .mini.selected .tiny{background:#cfe2d3!important}
html[data-theme="light"] .mini .tiny{background:#dce8df!important}
html[data-theme="light"] .mini-empty{background:rgba(255,255,255,.24)!important;border-color:#bfd5c4!important;color:#758379!important}
html[data-theme="light"] .mini-empty i{color:#31964a!important}

/* Personal badges use soft green borders, and profile switch remains green even on hover. */
html[data-theme="light"] .my-badge{border-color:#b8d8bf!important;background:rgba(255,255,255,.45)!important}
html[data-theme="light"] .my-switch-profile{background:var(--action-green)!important;border-color:var(--action-green)!important;color:#fff!important}
html[data-theme="light"] .my-switch-profile i{color:#fff!important}
html[data-theme="light"] .my-switch-profile:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important;color:#fff!important}
html[data-theme="light"] .my-switch-profile:hover i{color:#fff!important}

/* Musluğu Açan remains an obvious earned title. */
html[data-theme="light"] .founder-line,html[data-theme="light"] .pop-founder{
  background:#fff3cb!important;border:1px solid #ddb950!important;color:#775709!important;box-shadow:0 5px 16px rgba(157,119,22,.08)!important
}
html[data-theme="light"] .founder-line span,html[data-theme="light"] .pop-founder span{color:#8c6811!important;font-weight:700!important}
html[data-theme="light"] .founder-line b,html[data-theme="light"] .pop-founder b{color:#624705!important;font-weight:700!important}
html[data-theme="light"] .founder-line i,html[data-theme="light"] .pop-founder i{color:#b68408!important}

/* Light legal pages blend into the canvas; no black divider under the hero or rows. */
html[data-theme="light"] .legal-section{border:0!important;background:transparent!important;box-shadow:none!important}
html[data-theme="light"] .legal-sections{border:0!important;background:transparent!important}
html[data-theme="light"] .legal-contact-card{background:transparent!important;box-shadow:none!important}

/* Light-mode footer CTA and secondary surfaces. */
html[data-theme="light"] footer .footer-grow-link{background:var(--action-green)!important;border-color:var(--action-green)!important;color:#fff!important}
html[data-theme="light"] footer .footer-grow-link:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important;color:#fff!important}
html[data-theme="light"] .growers-back,html[data-theme="light"] .legal-back{background:var(--action-green)!important;border-color:var(--action-green)!important;color:#fff!important}
html[data-theme="light"] .growers-back:hover,html[data-theme="light"] .legal-back:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important;color:#fff!important}

/* Keep light leaderboard medals and selected rows out of black surfaces. */
html[data-theme="light"] .rank-medal.gold{background:#fff2bf!important;color:#916900!important;border-color:#e4c966!important}
html[data-theme="light"] .rank-medal.silver{background:#eef3ef!important;color:#59665d!important;border-color:#cbd8ce!important}
html[data-theme="light"] .rank-medal.bronze{background:#f7e6d7!important;color:#8d5832!important;border-color:#dec0a6!important}
html[data-theme="light"] .legal-trust span{background:transparent!important;box-shadow:none!important}
html[data-theme="light"] .legal-trust{border:0!important}

/* v27 small consistency fixes */
.minister-person>div{display:grid;grid-template-columns:1fr;align-content:center;row-gap:2px}
.minister-person>div>b,.minister-person>div>span,.minister-person>div>small{display:block;line-height:1.25}
.minister-person>div>small{margin-top:1px;font-size:8.5px;color:var(--muted);white-space:nowrap}

/* Legal hero separator is intentional and theme-aware. */
.legal-hero{border-bottom:1px solid rgba(121,139,126,.28)!important}
html[data-theme="light"] .legal-hero{border-bottom-color:#ccd7ce!important}
html[data-theme="dark"] .legal-hero{border-bottom-color:#263129!important}

/* Rumuz actions use the same primary-action language in light mode. */
html[data-theme="light"] .my-impact-recall button,
html[data-theme="light"] .my-switch-profile{
  background:var(--action-green,#2fa44f)!important;
  border:1px solid var(--action-green,#2fa44f)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html[data-theme="light"] .my-impact-recall button i,
html[data-theme="light"] .my-switch-profile i{color:#fff!important}
html[data-theme="light"] .my-impact-recall button:hover,
html[data-theme="light"] .my-switch-profile:hover{
  background:var(--action-green-hover,#288e45)!important;
  border-color:var(--action-green-hover,#288e45)!important;
  color:#fff!important;
}
html[data-theme="light"] .my-impact-recall button:focus-visible,
html[data-theme="light"] .my-switch-profile:focus-visible{outline:2px solid rgba(47,164,79,.28);outline-offset:2px}

/* v28 tiny typography + divider refinements */
.minister-person small{
  letter-spacing:0!important;
  font-weight:500!important;
}
.my-impact-recall button{
  font-weight:600!important;
}
.legal-hero{
  border-bottom-width:1px!important;
  border-bottom-style:solid!important;
}
html[data-theme="light"] .legal-hero{
  border-bottom-color:#aebcaf!important;
}
html[data-theme="dark"] .legal-hero{
  border-bottom-color:#2c3830!important;
}

/* v29 — typography + legal divider consistency */
html, body, body *{
  letter-spacing:0!important;
}

/* Keep the legal hero divider visible in both themes. Neutral gray, not green. */
.legal-hero{
  border-bottom-width:1px!important;
  border-bottom-style:solid!important;
}
html[data-theme="light"] body .legal-hero{
  border-bottom-color:#c3c9c5!important;
}
html[data-theme="dark"] body .legal-hero{
  border-bottom-color:#303733!important;
}

/* v30 — hierarchy, icons, notifications, modal blur */

/* Remix Icon is deliberately consistent across the whole UI. */
[class^="ri-"],[class*=" ri-"],
[class^="ri-"]::before,[class*=" ri-"]::before{
  font-weight:500!important;
}

/* Top-water leaderboard: give the name the full text column and place liters below it. */
.rank{
  grid-template-columns:24px 30px minmax(0,1fr)!important;
  align-items:center!important;
}
.rank-copy{min-width:0;display:grid;gap:2px;align-content:center}
.rank-copy b{
  display:block;
  min-width:0;
  font-size:12px;
  line-height:1.18;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
}
.rank-copy span{
  display:block;
  font-size:10px;
  line-height:1.2;
  color:var(--green2);
  font-weight:500;
  white-space:nowrap;
}
html[data-theme="light"] .rank-copy span{color:#2f9d4c!important}

/* Legal separator: real rule, no zero-width override remains. */
.legal-hero{border-bottom:1px solid #303733!important}
html[data-theme="light"] body .legal-hero{border-bottom:1px solid #c4c8c6!important}
html[data-theme="dark"] body .legal-hero{border-bottom:1px solid #303733!important}

/* Completion toast uses one strong green surface: white copy, matching border, no dark-mode shadow. */
.completion-banner{
  background:#2f9f50!important;
  border-color:#2f9f50!important;
  color:#fff!important;
  box-shadow:none!important;
}
.completion-banner .completion-icon{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
.completion-banner .completion-copy small,
.completion-banner .completion-copy h2,
.completion-banner .completion-copy p{color:#fff!important}
.completion-banner>button{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
html[data-theme="dark"] .completion-banner{box-shadow:none!important}

/* Less blur everywhere an overlay blocks the page. */
.modal .backdrop,
.my-impact-backdrop,
.payment-success-backdrop,
.celebration-layer::before{
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

/* v34 — moderator/security polish */
.mod-login-form input[name="totp_code"],.mod-danger input[name="totp_code"]{font-variant-numeric:tabular-nums;letter-spacing:0!important}
.mod-security-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.mod-security-strip span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:11px;font-weight:600;color:var(--muted)}
.mod-security-strip span.ok{color:var(--green-strong,#2e9d4d);border-color:color-mix(in srgb,var(--green-strong,#2e9d4d) 28%,var(--line));background:color-mix(in srgb,var(--green-strong,#2e9d4d) 7%,var(--surface))}
.mod-payment-list{display:grid;gap:7px}
.mod-payment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.mod-payment-row>div{min-width:0;display:grid;gap:2px}.mod-payment-row b{font-size:12px;font-weight:600}.mod-payment-row span,.mod-payment-row small,.mod-payment-row time{font-size:10px;color:var(--muted)}
.mod-payment-row time{white-space:nowrap;font-variant-numeric:tabular-nums}
.mod-pay-status{min-width:64px;text-align:center;border-radius:999px;padding:5px 8px!important;font-size:9px!important;font-weight:700!important;background:var(--surface-2);color:var(--muted)!important}
.mod-pay-status.is-paid{background:rgba(46,157,77,.12);color:#2e9d4d!important}.mod-pay-status.is-failed{background:rgba(210,64,64,.12);color:#d24040!important}.mod-pay-status.is-refunded{background:rgba(70,112,190,.12);color:#4670be!important}.mod-pay-status.is-pending{background:rgba(194,139,40,.12);color:#a87922!important}
@media(max-width:700px){.mod-payment-row{grid-template-columns:auto minmax(0,1fr)}.mod-payment-row time{grid-column:2}.mod-security-strip{display:grid;grid-template-columns:1fr 1fr}.mod-security-strip span{justify-content:center;text-align:center}}

/* v35 — light 404 + light brand mark */
html[data-theme="light"] .mark-a{
  background:linear-gradient(145deg,#eef6ef,#e5f0e7)!important;
  border:1px solid #c8d9cc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
html[data-theme="light"] .mark-a i{
  color:#3f8f53!important;
  opacity:.95!important;
}

html[data-theme="light"] .error-card{
  background:radial-gradient(circle at 50% 0,rgba(66,153,84,.08),transparent 46%),#fff!important;
  border-color:#d4dfd6!important;
  color:#172019!important;
  box-shadow:0 22px 64px rgba(38,58,43,.12)!important;
}
html[data-theme="light"] .error-code{color:#748179!important}
html[data-theme="light"] .error-orbit{
  border-color:#d5e1d7!important;
  background:#f2f7f3!important;
  color:#438e54!important;
  box-shadow:0 0 0 10px rgba(63,143,83,.045)!important;
}
html[data-theme="light"] .error-card h1{color:#172019!important}
html[data-theme="light"] .error-card>p{color:#68756d!important}
html[data-theme="light"] .error-card strong{color:#172019!important}
html[data-theme="light"] .error-city{
  border-color:#d7e2d9!important;
  background:#f8fbf8!important;
  color:#172019!important;
}
html[data-theme="light"] .error-city b{color:#39864c!important}
html[data-theme="light"] .error-meter{background:#dfe8e1!important}
html[data-theme="light"] .error-meter i{background:#4da35f!important}
html[data-theme="light"] .error-city small{color:#748179!important}
html[data-theme="light"] .error-primary{
  background:#43a45b!important;
  border:1px solid #43a45b!important;
  color:#fff!important;
}
html[data-theme="light"] .error-secondary{
  border-color:#cedbd1!important;
  color:#304038!important;
  background:#fff!important;
}


/* v36 — fixed viewport utility + light moderator login */
.viewport-fixed-page,
.moderator-login-page{
  height:100vh;
  height:100dvh;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.viewport-fixed-page .site-header,
.viewport-fixed-page .site-footer,
.moderator-login-page .site-header,
.moderator-login-page .site-footer{flex:none}
.viewport-fixed-page .error-shell{
  min-height:0!important;
  height:100%;
  overflow:hidden;
  padding:18px;
  align-self:stretch;
}
.moderator-login-page .moderator-main{
  min-height:0!important;
  height:100%;
  overflow:hidden;
  padding:18px 20px!important;
  display:grid;
  place-items:center;
}
.moderator-login-page .mod-login-card{
  margin:0 auto!important;
  max-height:100%;
}

html[data-theme="light"] .moderator-body{background:#f4f8f5!important;color:#172019!important}
html[data-theme="light"] .mod-login-card{
  background:#fff!important;
  border-color:#d3dfd6!important;
  color:#172019!important;
  box-shadow:0 20px 58px rgba(40,61,45,.11)!important;
}
html[data-theme="light"] .mod-login-icon{
  background:#eef7f0!important;
  border-color:#c9ddce!important;
  color:#3f9454!important;
}
html[data-theme="light"] .mod-login-card>small{color:#738078!important}
html[data-theme="light"] .mod-login-card h1{color:#172019!important}
html[data-theme="light"] .mod-login-card>p{color:#68756d!important}
html[data-theme="light"] .mod-login-form label span{color:#69776e!important}
html[data-theme="light"] .mod-login-form input{
  background:#fff!important;
  border-color:#cdd9d0!important;
  color:#172019!important;
  box-shadow:none!important;
}
html[data-theme="light"] .mod-login-form input:focus{
  border-color:#58a56a!important;
  box-shadow:0 0 0 3px rgba(67,164,91,.09)!important;
}
html[data-theme="light"] .mod-login-form button{
  background:#43a45b!important;
  color:#fff!important;
}
html[data-theme="light"] .mod-login-form button:hover{background:#368e4b!important}
html[data-theme="light"] .mod-login-note{color:#7a867e!important}
html[data-theme="light"] .mod-alert.error{
  background:#fff4f3!important;
  border-color:#e7c2be!important;
  color:#a54b43!important;
}

/* Light mode dashboard surfaces, if moderator is already authenticated. */
html[data-theme="light"] .mod-stats article,
html[data-theme="light"] .mod-section,
html[data-theme="light"] .mod-payment-strip span,
html[data-theme="light"] .mod-row,
html[data-theme="light"] .mod-payment-row{
  background:#fff!important;
  border-color:#d8e2da!important;
  color:#172019!important;
}
html[data-theme="light"] .mod-head h1,
html[data-theme="light"] .mod-section-head h2,
html[data-theme="light"] .mod-row b,
html[data-theme="light"] .mod-payment-row b{color:#172019!important}
html[data-theme="light"] .mod-head p,
html[data-theme="light"] .mod-stats small,
html[data-theme="light"] .mod-stats span,
html[data-theme="light"] .mod-person span,
html[data-theme="light"] .mod-person small,
html[data-theme="light"] .mod-payment-row span,
html[data-theme="light"] .mod-payment-row small,
html[data-theme="light"] .mod-payment-row time{color:#718078!important}
html[data-theme="light"] .mod-logout,
html[data-theme="light"] .mod-actions button,
html[data-theme="light"] .mod-filter button{
  background:#fff!important;
  border-color:#d2ddd5!important;
  color:#52645a!important;
}
html[data-theme="light"] .mod-filter input,
html[data-theme="light"] .mod-filter select,
html[data-theme="light"] .mod-danger input{
  background:#fff!important;
  color:#172019!important;
  border-color:#cdd9d0!important;
}
html[data-theme="light"] .mod-danger{
  background:#fffafa!important;
  border-color:#e5cbc7!important;
}

@media(max-height:760px) and (min-width:701px){
  .viewport-fixed-page .error-card{padding:26px 30px!important}
  .viewport-fixed-page .error-orbit{width:56px;height:56px;margin:12px auto 10px}
  .viewport-fixed-page .error-card h1{font-size:36px}
  .viewport-fixed-page .error-city{margin-top:16px}
  .viewport-fixed-page .error-actions{margin-top:15px}
  .moderator-login-page .mod-login-card{padding:22px!important}
  .moderator-login-page .mod-login-icon{width:46px;height:46px;margin-bottom:12px}
  .moderator-login-page .mod-login-form{margin-top:16px;gap:9px}
  .moderator-login-page .mod-login-form input{height:40px}
  .moderator-login-page .mod-login-form button{height:41px}
}

/* v37 — moderator control center redesign */
.moderator-body:not(.moderator-login-page) .moderator-main{max-width:1240px!important;padding-top:34px!important;padding-bottom:54px!important}
.mod-shell{width:100%}
.mod-head{align-items:center!important;margin-bottom:22px!important}
.mod-head h1{font-size:34px!important;margin:6px 0 5px!important}
.mod-head p{font-size:13px!important;line-height:1.55!important}
.mod-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.mod-head-actions form{margin:0}
.mod-map-back,.mod-logout{height:40px!important;padding:0 14px!important;border-radius:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-family:'Instrument Sans',sans-serif!important;font-size:12px!important;font-weight:600!important;text-decoration:none!important;cursor:pointer!important;box-sizing:border-box!important}
.mod-map-back{background:var(--action-green,#32a852)!important;border:1px solid var(--action-green,#32a852)!important;color:#fff!important}
.mod-map-back:hover{background:var(--action-green-hover,#278e43)!important;border-color:var(--action-green-hover,#278e43)!important}
.mod-logout{background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important}
.mod-logout:hover{background:var(--surface-2)!important;border-color:color-mix(in srgb,var(--text) 18%,var(--line))!important}

.mod-stats{gap:12px!important;margin:18px 0 12px!important}
.mod-stats article{padding:17px 18px!important;border-radius:16px!important}
.mod-stats small{font-size:11px!important;font-weight:600!important;color:var(--muted)!important}
.mod-stats b{font-size:24px!important;font-weight:650!important;margin:5px 0 5px!important}
.mod-stats span{font-size:11px!important;line-height:1.4!important}

.mod-security-strip{gap:7px!important;margin:0 0 12px!important}
.mod-security-strip span{min-height:36px!important;padding:0 12px!important;font-size:11px!important;font-weight:600!important;background:var(--surface)!important;border-color:var(--line)!important;color:var(--muted)!important}
.mod-security-strip span.ok{background:var(--action-green-soft,#edf8ef)!important;border-color:var(--action-green-line,#a9d0b1)!important;color:var(--action-green-hover,#278e43)!important}

.mod-payment-strip{gap:7px!important;margin:0 0 16px!important}
.mod-payment-strip span{min-height:34px!important;padding:0 11px!important;display:inline-flex!important;align-items:center!important;gap:5px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;color:var(--muted)!important;font-size:11px!important;font-weight:600!important}
.mod-payment-strip span i{margin:0!important}.mod-payment-strip span b{margin-left:2px!important;color:inherit!important}
.mod-payment-strip .is-paid{color:#258842!important;background:rgba(46,157,77,.07)!important;border-color:rgba(46,157,77,.23)!important}
.mod-payment-strip .is-pending{color:#99701e!important;background:rgba(194,139,40,.08)!important;border-color:rgba(194,139,40,.23)!important}
.mod-payment-strip .is-failed{color:#ba4545!important;background:rgba(210,64,64,.07)!important;border-color:rgba(210,64,64,.20)!important}
.mod-payment-strip .is-refunded{color:#4d6fa9!important;background:rgba(70,112,190,.07)!important;border-color:rgba(70,112,190,.20)!important}

.mod-section{padding:18px!important;border-radius:18px!important}
.mod-section-head{margin-bottom:14px!important}
.mod-section-head small,.mod-reset-intro small{font-size:10px!important;font-weight:600!important;color:var(--muted)!important}
.mod-section-head h2,.mod-reset-intro h2{font-size:20px!important;font-weight:650!important;margin:3px 0 0!important}
.mod-payments-section{margin-bottom:12px}
.mod-payment-list{gap:8px!important;max-height:365px;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent}
.mod-payment-row{min-height:64px!important;padding:11px 12px!important;border-radius:12px!important;background:var(--surface)!important}
.mod-payment-row b{font-size:12px!important}.mod-payment-row span,.mod-payment-row small,.mod-payment-row time{font-size:11px!important}
.mod-pay-status{min-width:82px!important;font-size:10px!important;font-weight:600!important;padding:5px 9px!important}

.mod-activity-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:12px;margin-top:12px}
.mod-activity-card{min-width:0}
.mod-activity-head{align-items:flex-start!important}
.mod-filter{gap:6px!important;align-items:center!important}
.mod-filter input,.mod-filter select{height:38px!important;border-radius:10px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;font-family:'Instrument Sans',sans-serif!important;font-size:11px!important;font-weight:500!important;padding:0 11px!important}
.mod-filter input{width:190px!important}.mod-filter select{width:122px!important}
.mod-filter button{width:38px!important;height:38px!important;border:1px solid var(--action-green)!important;background:var(--action-green)!important;color:#fff!important;border-radius:10px!important;display:grid!important;place-items:center!important}
.mod-filter button:hover{background:var(--action-green-hover)!important;border-color:var(--action-green-hover)!important}
.mod-scroll-list{height:390px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 38%,transparent) transparent}
.mod-scroll-list::-webkit-scrollbar,.mod-payment-list::-webkit-scrollbar{width:6px}
.mod-scroll-list::-webkit-scrollbar-thumb,.mod-payment-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:999px}
.mod-scroll-list::-webkit-scrollbar-track,.mod-payment-list::-webkit-scrollbar-track{background:transparent}
.mod-contribution-list{display:grid;align-content:start;gap:8px}
.mod-row{min-height:68px!important;padding:10px 11px!important;border-radius:12px!important;background:var(--surface)!important;border-color:var(--line)!important}
.mod-person b{font-size:12px!important;font-weight:600!important}.mod-person span{font-size:11px!important;margin-top:3px!important}.mod-person small,.mod-person a{font-size:10px!important;margin-top:4px!important}
.mod-person b em{font-size:9px!important;font-weight:600!important;color:#b94e4e!important;margin-left:5px!important}
.mod-actions{gap:5px!important}.mod-actions button{width:34px!important;height:34px!important;border-radius:9px!important;border:1px solid var(--line)!important;background:var(--surface-2)!important;color:var(--muted)!important}.mod-actions button:hover{border-color:var(--action-green-line)!important;background:var(--action-green-soft)!important;color:var(--action-green-hover)!important}

.mod-moderation-list{display:grid;align-content:start;gap:8px}
.mod-log-row{min-height:68px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mod-log-row>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--action-green-soft);color:var(--action-green-hover);font-size:17px}
.mod-log-row p{margin:0;min-width:0}.mod-log-row b,.mod-log-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-log-row b{font-size:12px;font-weight:600}.mod-log-row span{font-size:11px;color:var(--muted);margin-top:3px}.mod-log-row time{font-size:10px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}

.mod-reset-zone{margin-top:12px;border:1px solid rgba(196,76,63,.24);background:color-mix(in srgb,#c54c3f 4%,var(--surface));border-radius:18px;padding:18px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:24px;align-items:center}
.mod-reset-intro{display:flex;align-items:flex-start;gap:13px}.mod-reset-icon{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(197,76,63,.10);border:1px solid rgba(197,76,63,.18);color:#b7463b;font-size:20px}
.mod-reset-intro h2{color:var(--text)!important}.mod-reset-intro p{font-size:11px!important;line-height:1.55!important;color:var(--muted)!important;margin:7px 0 0!important;max-width:520px}
.mod-reset-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}
.mod-reset-form label{display:grid;gap:5px;min-width:0}.mod-reset-form label span{font-size:10px;font-weight:600;color:var(--muted)}
.mod-reset-form input{height:40px!important;min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;color:var(--text)!important;padding:0 11px!important;font-family:'Instrument Sans',sans-serif!important;font-size:11px!important;font-weight:500!important}
.mod-reset-form input:focus{outline:none!important;border-color:rgba(183,70,59,.55)!important;box-shadow:0 0 0 3px rgba(183,70,59,.08)!important}
.mod-reset-btn{height:40px!important;padding:0 14px!important;border:1px solid #b7463b!important;border-radius:10px!important;background:#b7463b!important;color:#fff!important;font-family:'Instrument Sans',sans-serif!important;font-size:11px!important;font-weight:600!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important;cursor:pointer!important;margin:0!important}
.mod-reset-btn:hover{background:#a63e34!important;border-color:#a63e34!important}
.mod-empty{font-size:11px!important;color:var(--muted)!important}

html[data-theme="light"] .mod-stats article,html[data-theme="light"] .mod-section,html[data-theme="light"] .mod-payment-row,html[data-theme="light"] .mod-row,html[data-theme="light"] .mod-log-row{background:#fff!important;border-color:#d7e2d9!important;box-shadow:none!important}
html[data-theme="light"] .mod-logout{background:#fff!important;border-color:#cfdad1!important;color:#334039!important}
html[data-theme="light"] .mod-logout:hover{background:#f2f6f3!important}
html[data-theme="light"] .mod-filter input,html[data-theme="light"] .mod-filter select,html[data-theme="light"] .mod-reset-form input{background:#fff!important;border-color:#d4dfd6!important;color:#172019!important}
html[data-theme="light"] .mod-actions button{background:#f6f9f7!important;border-color:#d8e2da!important;color:#65736a!important}
html[data-theme="light"] .mod-reset-zone{background:#fffafa!important;border-color:#e7c8c4!important}

@media(max-width:1080px){.mod-activity-grid{grid-template-columns:1fr}.mod-scroll-list{height:360px}.mod-reset-zone{grid-template-columns:1fr}.mod-reset-form{grid-template-columns:1fr 1fr}.mod-reset-btn{grid-column:1/-1}}
@media(max-width:760px){.mod-head{align-items:flex-start!important}.mod-head-actions{width:100%}.mod-map-back,.mod-logout{flex:1}.mod-head-actions form{flex:1}.mod-head-actions .mod-logout{width:100%}.mod-security-strip{display:grid!important;grid-template-columns:1fr 1fr!important}.mod-activity-head{display:block!important}.mod-filter{margin-top:11px!important;display:grid!important;grid-template-columns:1fr auto!important}.mod-filter input{width:100%!important}.mod-filter select{width:100%!important}.mod-filter button{grid-row:1/3;grid-column:2}.mod-reset-form{grid-template-columns:1fr}.mod-reset-btn{grid-column:auto}.mod-payment-row{grid-template-columns:auto minmax(0,1fr)!important}.mod-payment-row time{grid-column:2!important}.mod-log-row{grid-template-columns:38px minmax(0,1fr)}.mod-log-row time{grid-column:2}.mod-scroll-list{height:350px}}
@media(max-width:520px){.moderator-body:not(.moderator-login-page) .moderator-main{padding:24px 12px 40px!important}.mod-stats{grid-template-columns:1fr 1fr!important}.mod-security-strip{grid-template-columns:1fr!important}.mod-head h1{font-size:29px!important}.mod-reset-zone{padding:15px!important}}


/* v38 — moderator alignment, readable actions and shared empty states */
.moderator-body:not(.moderator-login-page) .moderator-main{
  width:100%!important;
  max-width:none!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
.moderator-body:not(.moderator-login-page) .mod-shell{
  width:min(1240px,calc(100% - 0px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mod-security-strip span.session{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  color:var(--muted)!important;
}
html[data-theme="light"] .mod-security-strip span.session{
  background:#fff!important;
  border-color:#d6e0d8!important;
  color:#65736a!important;
}
.mod-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  max-width:290px;
}
.mod-actions button{
  width:auto!important;
  min-width:34px!important;
  height:34px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-family:'Instrument Sans',sans-serif!important;
  font-size:10px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.mod-actions button i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  font-size:15px!important;
  line-height:1!important;
  color:inherit!important;
}
.mod-actions button span{display:inline!important;color:inherit!important}

/* Empty blocks share the same visual language as “Kurak il kalmadı”. */
#topList>.mini-empty,#recentList>.mini-empty{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel) 72%,transparent);
  color:var(--muted);
  font-size:10px;
  font-weight:500;
}
#topList>.mini-empty i,#recentList>.mini-empty i{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,var(--green) 10%,transparent);
  color:var(--green);
  font-size:15px;
}
html[data-theme="light"] #topList>.mini-empty,html[data-theme="light"] #recentList>.mini-empty{
  background:#f7faf8!important;
  border-color:#d9e3db!important;
  color:#6c7970!important;
}
html[data-theme="light"] #topList>.mini-empty i,html[data-theme="light"] #recentList>.mini-empty i{
  background:#edf7ef!important;
  color:#359552!important;
}
@media(max-width:900px){
  .mod-actions{grid-column:1/-1;justify-content:flex-start!important;max-width:none}
}
@media(max-width:520px){
  .moderator-body:not(.moderator-login-page) .moderator-main{padding-left:12px!important;padding-right:12px!important}
  .mod-actions button span{display:none!important}
  .mod-actions button{width:36px!important;padding:0!important}
}

/* v39 — Yeşertenler boş durum */
.growers-empty{
  min-height:96px;
  padding:18px 20px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px dashed var(--line)!important;
  border-radius:16px!important;
  color:var(--muted)!important;
  text-align:left!important;
  background:transparent!important;
}
.growers-empty>i{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:11px;
  color:var(--green2);
  font-size:18px;
}
.growers-empty>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.growers-empty b{font-size:12px;font-weight:600;color:var(--text);line-height:1.35}
.growers-empty small{font-size:10px;font-weight:400;color:var(--muted);line-height:1.45}
html[data-theme="light"] .growers-empty{border-color:#bfd5c4!important;background:rgba(255,255,255,.24)!important}
html[data-theme="light"] .growers-empty>i{border-color:#c9d9cd!important;background:#f5faf6!important;color:#31964a!important}
html[data-theme="light"] .growers-empty b{color:#1b251e!important}
@media(max-width:600px){.growers-empty{min-height:84px;padding:14px!important}.growers-empty>i{width:34px;height:34px;flex-basis:34px}.growers-empty b{font-size:11px}.growers-empty small{font-size:10px}}

/* v40 — Su Meclisi, bölge savaşı ve kompakt canlı özet */
.insight-dock{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:18;display:flex;align-items:stretch;gap:7px;padding:6px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(5px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.insight-dock>button,.insight-dock>a{height:42px;min-width:138px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:var(--text);display:flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer;font:inherit;text-align:left}
.insight-dock>button:hover,.insight-dock>a:hover{background:color-mix(in srgb,var(--green) 9%,transparent)}
.insight-dock>button>i,.insight-dock>a>i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green2);font-size:15px;flex:0 0 28px}
.insight-dock span{display:flex;flex-direction:column;gap:1px;min-width:0}.insight-dock small{font-size:8px;color:var(--muted);font-weight:600}.insight-dock b{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.insight-popover{position:absolute;left:6px;bottom:57px;width:310px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 48px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease}.insight-popover.open{opacity:1;visibility:visible;transform:none}
.insight-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.insight-pop-head span{font-size:9px;font-weight:600;color:var(--muted)}.insight-pop-head a{font-size:9px;font-weight:600;color:var(--green2);text-decoration:none}
.insight-region-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.insight-region-row:first-of-type{border-top:0}.insight-region-row em{font-style:normal;font-size:9px;color:var(--muted)}.insight-region-row span{gap:0}.insight-region-row b{font-size:10px}.insight-region-row small{font-size:8px}.insight-region-row strong{font-size:10px;color:var(--green2)}
.insight-period-block{padding:9px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.insight-period-block:first-of-type{border-top:0}.insight-period-block>small{font-size:8px;font-weight:600;color:var(--muted)}.insight-period-block>b{font-size:11px;font-weight:600}.insight-period-block>span{font-size:9px;color:var(--muted)}
.pop-city-story{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.pop-city-story>span{min-width:0;padding:7px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:auto 1fr;column-gap:5px;align-items:center}.pop-city-story i{grid-row:1/3;color:var(--green2);font-size:13px}.pop-city-story small{font-size:7px;color:var(--muted);font-weight:600}.pop-city-story b{font-size:8px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.council-page{padding:28px 22px 46px}.council-shell{width:min(1180px,100%);margin:0 auto}.council-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.council-head h1{margin:7px 0 5px;font-size:32px;line-height:1;font-weight:700}.council-head p{margin:0;color:var(--muted);font-size:12px}
.region-battle-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:15px;margin-bottom:14px}.region-battle-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.region-battle-title>div{display:flex;flex-direction:column;gap:2px}.region-battle-title small{font-size:8px;color:var(--muted);font-weight:600}.region-battle-title b{font-size:14px;font-weight:600}.region-battle-title>span{font-size:9px;color:var(--muted)}
.region-battle-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.region-battle-list>a{position:relative;min-width:0;padding:9px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;overflow:hidden}.region-battle-list>a:hover{border-color:color-mix(in srgb,var(--green) 38%,var(--line))}.region-battle-list em{font-style:normal;font-size:8px;color:var(--muted)}.region-battle-list span{min-width:0;display:flex;flex-direction:column}.region-battle-list b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.region-battle-list small{font-size:7px;color:var(--muted)}.region-battle-list strong{font-size:9px;color:var(--green2)}.region-battle-list>a>i{position:absolute;left:0;right:0;bottom:0;height:2px;background:color-mix(in srgb,var(--line) 70%,transparent)}.region-battle-list>a>i>u{display:block;height:100%;background:var(--green);text-decoration:none}
.council-filters{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 10px;scrollbar-width:none}.council-filters::-webkit-scrollbar{display:none}.council-filters a{flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted);font-size:9px;font-weight:600}.council-filters a.active{background:var(--action-green);border-color:var(--action-green);color:#fff}
.council-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.council-city-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--panel);display:flex;flex-direction:column;gap:9px}.council-city-top{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}.council-plate{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green2);font-size:9px;font-weight:600}.council-city-top>div{min-width:0;display:flex;flex-direction:column}.council-city-top b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.council-city-top small{font-size:8px;color:var(--muted)}.council-city-top strong{font-size:11px;color:var(--green2)}.council-meter{height:4px;border-radius:999px;background:color-mix(in srgb,var(--line) 72%,transparent);overflow:hidden}.council-meter i{display:block;height:100%;border-radius:inherit;background:var(--green)}
.council-minister{display:flex;align-items:center;gap:7px;min-width:0}.council-minister small{font-size:7px;color:var(--muted);font-weight:600}.council-minister b{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.council-minister b.muted{color:var(--muted);font-weight:500}.city-story{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.city-story>span{min-width:0;padding:7px 6px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:1px}.city-story i{font-size:12px;color:var(--green2)}.city-story small{font-size:7px;color:var(--muted)}.city-story b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-card-meta{display:flex;gap:7px;color:var(--muted);font-size:8px}.city-card-meta span+span:before{content:'·';margin-right:7px}
.council-history{border-top:1px solid var(--line);padding-top:8px}.council-history summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:600;color:var(--muted)}.council-history summary::-webkit-details-marker{display:none}.council-history summary em{margin-left:auto;font-style:normal}.council-history>div{padding-top:6px}.council-history p{margin:0;padding:5px 0;border-top:1px dashed var(--line);display:flex;justify-content:space-between;gap:8px;font-size:8px}.council-history p span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.council-history p small{flex:0 0 auto;color:var(--muted);font-size:7px}.council-city-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:7px;border-top:1px solid var(--line);color:var(--green2);text-decoration:none;font-size:9px;font-weight:600}
html[data-theme="light"] .insight-dock,html[data-theme="light"] .insight-popover,html[data-theme="light"] .region-battle-card,html[data-theme="light"] .council-city-card{background:#fff!important;border-color:#d7e2da!important}html[data-theme="light"] .insight-dock{box-shadow:0 10px 30px rgba(40,65,48,.08)}
@media(max-width:1100px){.region-battle-list{grid-template-columns:repeat(4,1fr)}.council-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.insight-dock{left:12px;right:12px;bottom:12px;transform:none;overflow-x:auto;justify-content:flex-start}.insight-dock>button,.insight-dock>a{min-width:138px}.insight-popover{position:fixed;left:12px;right:12px;bottom:72px;width:auto}.council-head{align-items:flex-start;flex-direction:column}.council-grid{grid-template-columns:repeat(2,1fr)}.region-battle-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.council-page{padding:18px 12px 36px}.council-head h1{font-size:26px}.council-grid{grid-template-columns:1fr}.region-battle-list{grid-template-columns:1fr 1fr}.city-story{gap:4px}.insight-dock{display:none}}

/* v41 — Su Meclisi canlı AJAX + daha ferah 3'lü kart düzeni */
.council-live-note{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--muted);font-size:10px}.council-live-note>i{color:var(--green2);font-size:14px}.council-live-note>span{font-weight:600;color:var(--text)}.council-live-note>small{font-size:10px;color:var(--muted)}
.council-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.council-city-card{padding:16px;border-radius:18px;gap:11px}
.council-city-top{grid-template-columns:38px 1fr auto;gap:10px}.council-plate{width:38px;height:38px;border-radius:11px;font-size:11px}.council-city-top b{font-size:15px;font-weight:650}.council-city-top small{font-size:10px}.council-city-top strong{font-size:13px}
.council-meter{height:5px}
.council-minister{gap:9px}.council-minister>div{display:flex;flex-direction:column;min-width:0}.council-minister small{font-size:9px}.council-minister b{font-size:12px}.council-minister-avatar,.council-minister-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:color-mix(in srgb,var(--green) 8%,var(--panel));overflow:hidden;color:var(--green2)}.council-minister-avatar img{width:100%;height:100%;object-fit:cover}.council-minister-icon i{font-size:15px}
.city-story{gap:7px}.city-story>span{padding:9px 8px;border-radius:11px;gap:2px}.city-story i{font-size:14px}.city-story small{font-size:8px}.city-story b{font-size:10px}
.city-card-meta{gap:12px;font-size:10px;flex-wrap:wrap}.city-card-meta span{display:inline-flex;align-items:center;gap:4px}.city-card-meta span+span:before{content:none}.city-card-meta i{font-size:12px;color:var(--green2)}
.council-history{padding-top:9px}.council-history summary{font-size:10px}.council-history p{padding:7px 0;font-size:9px}.council-history p small{font-size:8px}
.council-city-action{font-size:10px;padding-top:9px}
.council-filters{gap:8px;padding-bottom:12px}.council-filters button{appearance:none;flex:0 0 auto;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:10px;font-weight:600;cursor:pointer}.council-filters button:hover{border-color:color-mix(in srgb,var(--green) 40%,var(--line));color:var(--text)}.council-filters button.active{background:var(--action-green);border-color:var(--action-green);color:#fff}
.region-battle-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.region-battle-list button{appearance:none;position:relative;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font:inherit;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;overflow:hidden;text-align:left;cursor:pointer}.region-battle-list button:hover,.region-battle-list button.active{border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:color-mix(in srgb,var(--green) 6%,transparent)}.region-battle-list button em{font-style:normal;font-size:9px;color:var(--muted)}.region-battle-list button span{min-width:0;display:flex;flex-direction:column}.region-battle-list button b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.region-battle-list button small{font-size:8px;color:var(--muted)}.region-battle-list button strong{font-size:10px;color:var(--green2)}.region-battle-list button>i{position:absolute;left:0;right:0;bottom:0;height:2px;background:color-mix(in srgb,var(--line) 70%,transparent)}.region-battle-list button>i>u{display:block;height:100%;background:var(--green);text-decoration:none}
.council-empty{grid-column:1/-1;min-height:120px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.council-empty>i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--green) 9%,transparent);color:var(--green2);font-size:17px}.council-empty>div{display:flex;flex-direction:column;gap:2px}.council-empty b{font-size:12px;color:var(--text)}.council-empty small{font-size:10px}
html[data-theme="light"] .council-filters button{background:#fff;border-color:#d7e2da}html[data-theme="light"] .council-filters button.active{background:var(--action-green);border-color:var(--action-green);color:#fff}
@media(max-width:1000px){.council-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.region-battle-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.council-grid{grid-template-columns:1fr}.council-city-card{padding:14px}.council-live-note small{display:none}.region-battle-list{grid-template-columns:1fr 1fr}}

/* v44 — visitor-facing live council note */
.council-live-note{font-size:12px!important}.council-live-note>i{font-size:16px!important}.council-live-note>small{font-size:12px!important}

/* v47 — unified avatar fallback rendering across the entire UI */
.avatar,
.marker-photo,
.council-minister-avatar{
  position:relative!important;
  overflow:hidden!important;
}

.avatar > .avatar-initial,
.marker-photo > .avatar-initial,
.council-minister-avatar > .avatar-initial{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  text-align:center!important;
  text-indent:0!important;
  font-family:'Instrument Sans',sans-serif!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
  z-index:0!important;
  pointer-events:none!important;
}

.avatar > img,
.marker-photo > img,
.council-minister-avatar > img{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
}

.avatar.avatar-failed > img,
.marker-photo.avatar-failed > img,
.council-minister-avatar.avatar-failed > img{
  display:none!important;
}

/* Context sizes — same centering, only scale changes with the avatar. */
.rank-avatar > .avatar-initial,
.supporter-avatar > .avatar-initial,
.minister-avatar > .avatar-initial,
.pop-avatar > .avatar-initial,
.mod-avatar > .avatar-initial{
  font-size:13px!important;
}

.toast-avatar > .avatar-initial{
  font-size:17px!important;
  font-weight:600!important;
}

.my-profile-avatar > .avatar-initial{
  font-size:20px!important;
}

.marker-photo > .avatar-initial{
  font-size:12px!important;
}

.council-minister-avatar > .avatar-initial{
  font-size:14px!important;
}

.grower-row .avatar > .avatar-initial{
  font-size:14px!important;
}

/* Light theme fallback surfaces remain clearly legible. */
html[data-theme="light"] .toast-avatar,
html[data-theme="light"] .council-minister-avatar{
  color:#3f7250!important;
  background:#e7f0e9!important;
}

@media(max-width:700px){
  .toast-avatar > .avatar-initial{font-size:16px!important}
  .my-profile-avatar > .avatar-initial{font-size:19px!important}
}

/* v48 — restore percentage-driven header progress mark in light theme */
html[data-theme="light"] .mark-a{
  background:conic-gradient(
    #4da35f calc(clamp(0, var(--p), 100) * 1%),
    #dfe9e1 0
  )!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(66,105,76,.14),0 1px 2px rgba(36,58,42,.05)!important;
}
html[data-theme="light"] .mark-a:after{
  background:#f4f8f5!important;
  box-shadow:inset 0 0 0 1px #d4e0d6!important;
}
html[data-theme="light"] .mark-a i{
  color:#3f8f53!important;
  opacity:1!important;
}


/* v49 — restore original drop-fill header logo in both themes */
.dynamic-brand-marks{gap:0!important}
.brand-progress-mark.mark-a{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.mark-a{
  background:linear-gradient(145deg,#121b15,#0c120e)!important;
  border:1px solid #35503b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 1px rgba(0,0,0,.06)!important;
}
.mark-a:before{display:none!important}
.mark-a:after{display:none!important}
.mark-a b{display:none!important}
.mark-a i{
  position:relative!important;
  z-index:2!important;
  font-size:20px!important;
  line-height:1!important;
  transform:none!important;
  opacity:1!important;
  color:transparent!important;
  background:linear-gradient(
    to top,
    #6bd27b 0 calc(clamp(0,var(--p),100) * 1%),
    #4e6555 calc(clamp(0,var(--p),100) * 1%) 100%
  )!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
}
html[data-theme="light"] .mark-a{
  background:linear-gradient(145deg,#eef6ef,#e5f0e7)!important;
  border:1px solid #c8d9cc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 1px 2px rgba(36,58,42,.05)!important;
}
html[data-theme="light"] .mark-a i{
  background:linear-gradient(
    to top,
    #4db461 0 calc(clamp(0,var(--p),100) * 1%),
    #b7c6ba calc(clamp(0,var(--p),100) * 1%) 100%
  )!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}


/* v50 — true liquid fill logo drop; no Remix Icon dependency */
.brand-progress-mark.mark-a{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#121b15,#0c120e)!important;
  border:1px solid #35503b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 1px rgba(0,0,0,.06)!important;
}
.mark-a>i,.mark-a:before,.mark-a:after{display:none!important}
.brand-drop-shape{
  position:relative!important;
  display:block!important;
  width:19px!important;
  height:24px!important;
  background:#4e6555!important;
  overflow:hidden!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath fill='%23000' d='M32 0C27 13 8 30 8 49c0 14 10.7 25 24 25s24-11 24-25C56 30 37 13 32 0Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 80'%3E%3Cpath fill='%23000' d='M32 0C27 13 8 30 8 49c0 14 10.7 25 24 25s24-11 24-25C56 30 37 13 32 0Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
.brand-drop-fill{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:calc(clamp(0,var(--p),100) * 1%)!important;
  min-height:0!important;
  background:#6bd27b!important;
  transition:height .7s ease!important;
}
html[data-theme="light"] .brand-progress-mark.mark-a{
  background:linear-gradient(145deg,#eef6ef,#e5f0e7)!important;
  border-color:#c8d9cc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 1px 2px rgba(36,58,42,.05)!important;
}
html[data-theme="light"] .brand-drop-shape{background:#b7c6ba!important}
html[data-theme="light"] .brand-drop-fill{background:#4db461!important}

/* v51 — responsive overhaul: tablet-first map, swipeable mobile map, cleaner touch UI */
.mobile-map-hint{display:none}
.marker-toggle span{display:none}

@media (max-width:1080px){
  body.home-page{overflow-x:hidden!important}
  .game-screen{height:auto!important;min-height:100dvh!important}
  .layout{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:start!important;
  }
  .map-stage{
    grid-column:1/-1!important;
    grid-row:1!important;
    order:initial!important;
    min-height:620px!important;
    padding:20px 20px 14px!important;
    border-bottom:1px solid var(--line)!important;
  }
  .left{
    grid-column:1!important;
    grid-row:2!important;
    order:initial!important;
    border-right:1px solid var(--line)!important;
    border-top:0!important;
    overflow:visible!important;
  }
  .right{
    grid-column:2!important;
    grid-row:2!important;
    order:initial!important;
    display:block!important;
    border-left:0!important;
    border-top:0!important;
    overflow:visible!important;
  }
  .map-head{align-items:flex-end!important}
  .map-head h1{font-size:clamp(34px,5.4vw,50px)!important}
  .map-tools{max-width:440px!important;flex:1 1 400px!important;justify-content:flex-end!important}
  .map-tools .search{min-width:190px!important;flex:1!important}
  .marker-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}
  .marker-toggle span{display:inline!important;font-size:10px!important;font-weight:600!important}
  .map-wrap.markers-hidden .minister-marker{display:none!important}
  .map-wrap.markers-hidden.has-selection .minister-marker.selected{display:flex!important}
  .council-page,.growers-page,.legal-page{overflow-x:hidden}
}

@media (max-width:760px){
  :root{--mobile-pad:14px}
  html,body{max-width:100%;overflow-x:hidden!important}
  body.home-page{background-attachment:scroll!important}

  /* Header: useful controls stay in the header instead of floating over the game. */
  .site-header.top{
    min-height:0!important;
    height:auto!important;
    padding:11px var(--mobile-pad) 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand actions" "country country"!important;
    align-items:center!important;
    gap:9px 10px!important;
    position:relative!important;
  }
  .site-header .brand{grid-area:brand!important;font-size:20px!important;gap:8px!important;min-width:0!important}
  .site-header .brand-progress-mark.mark-a{width:34px!important;height:34px!important;border-radius:10px!important}
  .site-header .brand-drop-shape{width:17px!important;height:21px!important}
  .site-header .country{grid-area:country!important;width:100%!important;justify-content:stretch!important;grid-template-columns:auto minmax(80px,1fr) auto!important;gap:10px!important}
  .site-header .country small{font-size:8px!important}
  .site-header .country strong{font-size:16px!important}
  .site-header .country>span{font-size:9px!important;white-space:nowrap!important}
  .site-header .progress{height:6px!important}
  .site-header .header-actions{grid-area:actions!important;position:static!important;display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important}
  .site-header .header-actions .chief{display:none!important}
  .site-header .theme-switcher{position:static!important;right:auto!important;bottom:auto!important;height:34px!important;min-height:34px!important;padding:2px!important;box-shadow:none!important}
  .site-header .theme-switcher button{width:28px!important;height:28px!important}
  .site-header .my-impact-toggle{position:static!important;right:auto!important;bottom:auto!important;width:34px!important;height:34px!important;min-height:34px!important;border-radius:10px!important}

  .layout{display:flex!important;flex-direction:column!important;width:100%!important}
  .map-stage{
    order:1!important;
    width:100%!important;
    min-height:0!important;
    padding:14px var(--mobile-pad) 12px!important;
    overflow:hidden!important;
    border-bottom:1px solid var(--line)!important;
  }
  .map-stage:before{inset:8px 7px 7px!important;border-radius:18px!important}
  .map-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important}
  .map-head>div:first-child{padding:0 2px!important}
  .map-head .eyebrow{font-size:9px!important}
  .map-head h1{font-size:34px!important;line-height:.98!important;margin:5px 0 6px!important}
  .map-head p{font-size:11px!important;line-height:1.45!important;max-width:420px!important}
  .map-tools{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .map-tools .search{width:100%!important;min-width:0!important;height:44px!important;border-radius:13px!important}
  .map-tool-buttons{width:100%!important;display:flex!important;gap:6px!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important;padding-bottom:1px!important}
  .map-tool-buttons::-webkit-scrollbar{display:none!important}
  .map-tool-buttons button{height:40px!important;min-width:42px!important;flex:0 0 auto!important}
  .map-tool-buttons .marker-toggle{padding:0 11px!important;min-width:auto!important}
  .map-tool-buttons .marker-toggle span{display:inline!important;font-size:10px!important}

  .live-stats{margin-bottom:8px!important;padding:0 2px 2px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .live-stats::-webkit-scrollbar{display:none!important}
  .live-stats>div{flex:0 0 auto!important}

  .mobile-map-hint{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:10px 2px 7px!important;
    color:var(--muted)!important;
    font-size:10px!important;
    font-weight:500!important;
  }
  .mobile-map-hint i{font-size:15px!important;color:var(--green2)!important}

  /* The map stays physically large. Mobile users navigate it by swiping horizontally. */
  .map-wrap{
    width:calc(100% + (var(--mobile-pad) * 2))!important;
    margin-left:calc(var(--mobile-pad) * -1)!important;
    min-height:420px!important;
    height:420px!important;
    display:block!important;
    position:relative!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    scroll-snap-type:none!important;
    scrollbar-width:thin!important;
    scrollbar-color:color-mix(in srgb,var(--green) 35%,transparent) transparent!important;
    background:color-mix(in srgb,var(--panel) 28%,transparent)!important;
    border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  }
  .map-wrap svg{
    display:block!important;
    width:940px!important;
    min-width:940px!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:28px 18px 18px!important;
    overflow:visible!important;
  }
  .map-markers{
    width:940px!important;
    min-width:940px!important;
    height:420px!important;
    inset:0 auto auto 0!important;
    overflow:visible!important;
  }
  .minister-marker{max-width:54px!important}
  .marker-photo{width:26px!important;height:26px!important;border-width:1.5px!important;box-shadow:0 0 0 2px rgba(74,149,86,.6),0 4px 10px rgba(0,0,0,.22)!important}
  .marker-name{display:none!important}
  .map-wrap.markers-hidden .minister-marker{display:none!important}
  .map-wrap.markers-hidden.has-selection .minister-marker.selected{display:flex!important}
  .map-wrap.has-selection svg #features>g:not(.selected){opacity:.28!important}
  .map-wrap svg #features>g>*{stroke-width:1.7!important}

  /* A selected province opens as a real mobile bottom sheet. */
  .map-popover{display:none!important}
  .map-popover.open{
    display:block!important;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-height:min(72dvh,620px)!important;
    overflow:auto!important;
    z-index:140!important;
    border-radius:22px!important;
    padding:14px 14px 16px!important;
    box-shadow:0 20px 60px rgba(0,0,0,.24)!important;
  }
  .map-popover.open:before{content:""!important;display:block!important;width:38px!important;height:4px!important;border-radius:999px!important;background:var(--line)!important;margin:0 auto 10px!important}
  .pop-head{padding-top:1px!important}
  .pop-water{height:44px!important}

  .legend{margin-top:8px!important;font-size:9px!important}
  .insight-dock{
    position:static!important;
    transform:none!important;
    width:100%!important;
    margin-top:9px!important;
    padding:5px!important;
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    justify-content:flex-start!important;
  }
  .insight-dock::-webkit-scrollbar{display:none!important}
  .insight-dock>button,.insight-dock>a{min-width:145px!important;flex:0 0 auto!important}
  .insight-popover{bottom:max(78px,calc(env(safe-area-inset-bottom) + 66px))!important}

  .right{order:2!important;width:100%!important;display:block!important;border:0!important;border-top:1px solid var(--line)!important}
  .left{order:3!important;width:100%!important;border:0!important;border-top:1px solid var(--line)!important}
  .panel{padding:14px!important;overflow:visible!important}
  .scoreboard-column,.right-column{gap:10px!important}
  .score-card,.province{border-radius:16px!important;padding:13px!important}
  .top-water{min-height:0!important}
  .top-water .rank-list,.recent-card .activity{max-height:none!important}
  .rank{min-height:46px!important;padding:7px 5px!important}
  .rank b{font-size:12px!important}
  .mini{min-height:42px!important;padding:8px!important}
  .recent-card{margin-top:10px!important}
  .activity .act{min-height:48px!important}

  /* Payment/profile sheets use almost the full screen without becoming cramped. */
  .modal{padding:0!important;align-items:flex-end!important}
  .backdrop{backdrop-filter:blur(2px)!important}
  .sheet{
    width:100%!important;
    max-width:none!important;
    max-height:94dvh!important;
    height:auto!important;
    border:1px solid var(--line)!important;
    border-bottom:0!important;
    border-radius:24px 24px 0 0!important;
    padding:22px var(--mobile-pad) calc(18px + env(safe-area-inset-bottom))!important;
  }
  .close{right:14px!important;top:14px!important}
  .modal-head h2{font-size:29px!important;padding-right:42px!important}
  .sheet form{gap:14px!important;margin-top:18px!important}
  .identity-row{grid-template-columns:68px minmax(0,1fr)!important;gap:12px!important}
  .avatar-picker,.avatar-preview{width:66px!important;height:66px!important}
  .avatar-camera{width:26px!important;height:26px!important}
  .grid2{grid-template-columns:1fr!important;gap:10px!important}
  .amounts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .amount{height:44px!important}
  .pay{height:50px!important;position:sticky!important;bottom:0!important;z-index:3!important}
  .impact{align-items:flex-start!important}
  .my-impact-panel{top:8px!important;right:8px!important;bottom:8px!important;width:calc(100vw - 16px)!important;border-radius:20px!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}

  .live-notifications{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important}
  .live-toast{width:100%!important}

  /* Footer and secondary pages. */
  .site-footer{padding:20px var(--mobile-pad) calc(20px + env(safe-area-inset-bottom))!important;gap:14px!important}
  .site-footer nav{gap:10px 13px!important}
  .site-footer a{font-size:11px!important}
  .growers-page,.council-page{padding-left:var(--mobile-pad)!important;padding-right:var(--mobile-pad)!important}
  .growers-head,.council-head{gap:12px!important}
  .growers-head h1,.council-head h1{font-size:30px!important}
  .grower-row{grid-template-columns:42px minmax(0,1fr) auto!important;padding:11px!important}
  .grower-row .avatar{width:42px!important;height:42px!important}
  .council-grid{grid-template-columns:1fr!important;gap:10px!important}
  .council-city-card{padding:14px!important;border-radius:16px!important}
  .council-city-top b{font-size:14px!important}
  .council-city-top strong{font-size:13px!important}
  .region-battle-list{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .legal-container{width:calc(100% - 28px)!important;padding-top:18px!important}
  .legal-hero h1{font-size:31px!important}
  .legal-section{padding:15px!important}

  /* Moderator remains usable on phones without tiny controls. */
  .moderator-body:not(.moderator-login-page) .moderator-main{padding:20px 12px 36px!important}
  .mod-head-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .mod-head-actions form{width:100%!important}
  .mod-map-back,.mod-logout{width:100%!important;min-height:42px!important}
  .mod-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .mod-stats>div{min-height:92px!important;padding:12px!important}
  .mod-payment-row,.mod-log-row{font-size:11px!important}
}

@media (max-width:430px){
  .site-header .brand{font-size:18px!important}
  .site-header .theme-switcher button{width:26px!important}
  .site-header .country{gap:7px!important}
  .site-header .country>span{font-size:8.5px!important}
  .map-head h1{font-size:31px!important}
  .map-wrap{height:400px!important;min-height:400px!important}
  .map-wrap svg{width:900px!important;min-width:900px!important;padding-top:26px!important}
  .map-markers{width:900px!important;min-width:900px!important;height:400px!important}
  .amounts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .region-battle-list{grid-template-columns:1fr!important}
  .mod-stats{grid-template-columns:1fr!important}
}

@media (min-width:761px) and (max-width:1080px){
  .map-wrap{min-height:470px!important}
  .map-wrap svg{max-height:470px!important}
  .left,.right{min-height:420px!important}
  .score-card,.province{border-radius:17px!important}
  .council-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v52 — mobile/tablet layout stabilization */
@media (max-width:760px){
  /* Header progress: label/value and completion count share the first row; bar owns a clean second row. */
  .site-header.top{
    padding-bottom:12px!important;
    border-bottom:1px solid var(--line)!important;
  }
  .site-header .country{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"country-main country-completed" "country-bar country-bar"!important;
    column-gap:12px!important;
    row-gap:6px!important;
    align-items:end!important;
  }
  .site-header .country>div:first-child{grid-area:country-main!important;min-width:0!important}
  .site-header .country>div:first-child small{display:block!important;margin-bottom:1px!important}
  .site-header .country>div:first-child strong{font-size:17px!important;line-height:1!important}
  .site-header .country>.progress{grid-area:country-bar!important;width:100%!important;height:6px!important;margin:0!important}
  .site-header .country>span{grid-area:country-completed!important;align-self:end!important;font-size:9px!important;line-height:1.2!important;margin-bottom:1px!important;white-space:nowrap!important;text-align:right!important}

  /* Live counters are a compact responsive strip rather than a horizontally clipped dashboard. */
  .live-stats{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    margin:0 0 13px!important;
    padding:8px 0!important;
    overflow:visible!important;
    border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)!important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)!important;
    white-space:normal!important;
  }
  .live-stats>em{display:none!important}
  .live-stats>div{
    min-width:0!important;
    min-height:32px!important;
    display:grid!important;
    grid-template-columns:auto auto!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    align-content:center!important;
    column-gap:4px!important;
    row-gap:1px!important;
    padding:0 6px!important;
    border-right:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  }
  .live-stats>div:last-child{border-right:0!important}
  .live-stats>div .live-dot{grid-column:1!important;grid-row:1!important;align-self:center!important}
  .live-stats>div b{grid-column:2!important;grid-row:1!important;font-size:10.5px!important;line-height:1.1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .live-stats>div:not(:first-of-type) b{grid-column:1/-1!important;text-align:center!important}
  .live-stats>div span{grid-column:1/-1!important;grid-row:2!important;text-align:center!important;font-size:8px!important;line-height:1.15!important;white-space:nowrap!important}

  /* Keep the map large and start from Turkey's western edge. */
  .map-wrap{
    scroll-behavior:smooth!important;
    scroll-padding-left:0!important;
    scroll-padding-right:0!important;
  }
  .map-wrap svg{
    padding-left:0!important;
    padding-right:14px!important;
    transform-origin:left center!important;
  }
  .map-markers{transform-origin:left center!important}
  .minister-marker{max-width:48px!important}
  .marker-photo{width:23px!important;height:23px!important}
  .map-wrap.has-selection svg #features>g:not(.selected){opacity:.42!important}

  /* The selected-city panel is a complete, readable sheet instead of feeling cut in half. */
  .map-popover.open{
    left:6px!important;
    right:6px!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    max-height:min(58dvh,540px)!important;
    padding:12px 13px calc(14px + env(safe-area-inset-bottom))!important;
    border-radius:24px!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  .map-popover.open:before{margin-bottom:8px!important}
  .map-popover .pop-close{position:sticky!important;float:right!important;top:0!important;z-index:4!important;margin:-1px 0 0 8px!important}
  .pop-head{padding-right:0!important}
  .pop-water{position:sticky!important;bottom:0!important;z-index:3!important;box-shadow:0 -8px 18px color-mix(in srgb,var(--panel) 92%,transparent)!important}

  /* Keep the main mobile stage visually continuous after the header. */
  .map-stage{padding-top:12px!important}
  .map-stage:before{inset:5px 7px 7px!important}
}

@media (max-width:430px){
  .site-header .country>span{font-size:8.5px!important}
  .live-stats>div{padding-left:3px!important;padding-right:3px!important}
  .live-stats>div b{font-size:9.8px!important}
  .live-stats>div span{font-size:7.5px!important}
  .map-wrap svg{padding-left:0!important;padding-right:10px!important}
}

@media (min-width:761px) and (max-width:1080px){
  .site-header .country{min-width:360px!important}
  .live-stats{justify-content:flex-start!important;gap:10px!important}
}

/* v53 — home responsive stabilization, left-origin map, zoom-safe minister markers */
@media (max-width:760px){
  /* Home header has one authoritative layout; older country grid rules are intentionally overridden. */
  body.home-page .site-header.top{
    min-height:112px!important;
    padding:12px 14px 13px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"brand actions" "country country"!important;
    gap:9px 10px!important;
    align-content:center!important;
    background:var(--panel)!important;
    position:relative!important;
    z-index:30!important;
  }
  body.home-page .site-header .country{
    grid-area:country!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto 6px!important;
    grid-template-areas:"country-main country-completed" "country-bar country-bar"!important;
    column-gap:12px!important;
    row-gap:6px!important;
    align-items:end!important;
    justify-content:stretch!important;
    margin:0!important;
  }
  body.home-page .site-header .country>div:first-child{
    grid-area:country-main!important;
    min-width:0!important;
    display:block!important;
  }
  body.home-page .site-header .country>div:first-child small{
    display:block!important;
    margin:0 0 2px!important;
    font-size:8px!important;
    line-height:1!important;
  }
  body.home-page .site-header .country>div:first-child strong{
    display:block!important;
    margin:0!important;
    font-size:17px!important;
    line-height:1!important;
  }
  body.home-page .site-header .country>.progress{
    grid-area:country-bar!important;
    width:100%!important;
    height:6px!important;
    min-width:0!important;
    margin:0!important;
    align-self:stretch!important;
  }
  body.home-page .site-header .country>span{
    grid-area:country-completed!important;
    align-self:end!important;
    margin:0 0 1px!important;
    font-size:9px!important;
    line-height:1!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body.home-page .map-stage{
    padding-top:15px!important;
  }
  body.home-page .live-stats{
    margin-top:0!important;
    margin-bottom:14px!important;
  }

  /* Horizontal map content owns the left edge. No centering placeholder can shift it. */
  body.home-page .map-wrap{
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    scroll-snap-align:none!important;
  }
  body.home-page .map-wrap svg{
    margin-left:0!important;
    margin-right:0!important;
    transform-origin:50% 50%!important;
  }
  body.home-page .map-markers{
    left:0!important;
    right:auto!important;
    transform:none!important;
    transform-origin:0 0!important;
  }
}

/* Marker coordinates are calculated from the transformed SVG in JS; never transform the overlay itself. */
#mapMarkers{transform:none!important}

@media (min-width:761px) and (max-width:1080px){
  body.home-page .map-wrap{
    justify-content:flex-start!important;
    text-align:left!important;
  }
}
