@import url('/print.css');
:root{--paper:#f7f5ef;--white:#fffefa;--ink:#253d35;--green:#214b42;--muted:#6b756c;--line:#dedfd3;--orange:#c76a43;--pale:#eaf0e5;--yellow:#e8dba9;--serif:Georgia,'Times New Roman',serif;font-family:'Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}h1{font-size:clamp(38px,4.5vw,66px);line-height:1.08;letter-spacing:-2px;margin-bottom:22px}h2{font-size:34px;line-height:1.2;letter-spacing:-.8px;margin-bottom:18px}h3{font-size:18px;font-weight:600}p{line-height:1.65}small,.muted{color:var(--muted)}small{line-height:1.5}svg{vertical-align:middle}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:absolute;top:-80px;z-index:2000;background:white;padding:16px}.skip:focus{top:0}.boot{padding:15vh 10vw;font-family:var(--serif);font-size:60px}.boot span{display:block;font:18px 'Segoe UI',sans-serif;margin-top:24px}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:#eeefe5;border-right:1px solid var(--line);padding:36px 22px 24px;display:flex;flex-direction:column;gap:36px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;text-decoration:none;align-items:center;font:24px/.9 var(--serif);letter-spacing:-.7px}.brand img{width:42px;height:42px}.brand span small{display:block;font:9px 'Segoe UI',sans-serif;letter-spacing:2.2px;margin-top:9px}.nav{display:grid;gap:7px}.nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:6px;text-decoration:none;font-size:14px;color:#58685d}.nav a.active{background:var(--green);color:white}.nav a:hover{background:#dfe4d6}.nav a.active:hover{background:#315d50}.sidebar-bottom{margin-top:auto}.sidebar-note{border-top:1px solid #cbd1c1;padding:20px 8px;font-family:var(--serif);font-style:italic;line-height:1.5;color:#61715e;font-size:17px}.publisher{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#76816d;padding:7px}.workspace{min-width:0}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 46px;gap:14px;background:#f7f5ef}.edition{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}.dot{width:6px;height:6px;background:var(--orange);border-radius:50%;display:inline-block}.top-actions{display:flex;align-items:center;gap:18px}.btn{border:1px solid var(--green);border-radius:5px;background:var(--green);color:white;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:14px;font-weight:600;line-height:1.3;min-height:43px}.btn:hover{background:#346454}.btn.secondary{background:transparent;color:var(--green);border-color:#bcc8b7}.btn.secondary:hover{background:#e9eddf}.btn.light{background:#f6f1df;color:var(--green);border-color:transparent}.btn.small{padding:9px 13px;min-height:36px;font-size:12px}.btn.danger{border-color:#a34232;color:#a34232;background:transparent}.text-btn{border:0;background:none;padding:8px 0;color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:14px}.page{padding:44px 46px 50px;max-width:1560px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:9px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;margin-bottom:42px}.hero p{font-size:16px;max-width:500px;color:#6b7468;margin-bottom:25px}.hero h1 em{font-style:italic;color:#6f8060}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{position:relative;min-height:285px;display:flex;justify-content:center;align-items:center}.hero-art>svg{width:100%;max-width:410px;height:290px}.art-caption{position:absolute;bottom:1px;font:italic 14px var(--serif);color:#7d8875}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 19px}.section-heading h2{font:27px var(--serif);margin:0}.section-heading .count{font:11px 'Segoe UI',sans-serif;letter-spacing:1px;background:#e7eadd;padding:5px 8px;border-radius:4px;margin-left:10px;vertical-align:middle}.atlas-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;border:1px solid #cfd5c5;border-radius:8px;overflow:hidden;background:#fffef8}.map{height:400px;z-index:0;background:#e9e9dc}.map-head{background:#fffef8;padding:13px 18px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.map-tools{display:flex;gap:8px}.map-foot{padding:10px 16px;background:#fffef8;display:flex;gap:10px;font-size:11px;color:#6b756c}.atlas-side{padding:24px 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.atlas-side .big-number{font:58px var(--serif);line-height:1.1}.atlas-side h3{font:23px var(--serif);line-height:1.2}.atlas-side p{font-size:13px;color:var(--muted)}.seal{border:1px solid #b7c2a3;width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 0 22px;color:#7b8c62}.seal .icon{width:38px;height:38px}.criteria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.criterion{border:1px solid var(--line);border-radius:6px;background:#fffef8;padding:21px 18px;display:flex;gap:14px;align-items:start}.criterion .icon{width:25px;height:25px;color:#849074;margin-top:2px}.criterion strong{display:block;font:19px var(--serif);margin-bottom:7px}.criterion small{display:block;font-size:11px}.criterion.complete{background:#edf2e7;border-color:#bfcfb5}.criterion.complete .icon{color:#3c7955}.kicker{font-size:11px;color:var(--muted)}.intro-line{margin:18px 0 0;font-size:12px;color:#7d8577}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;margin-top:42px;font-size:11px;color:#798170}.footer a{text-underline-offset:3px}.footer-links{display:flex;gap:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.nation-card{padding:22px;border:1px solid var(--line);border-radius:7px;background:var(--white);text-decoration:none;transition:transform .15s}.nation-card:hover{transform:translateY(-3px);border-color:#a9b79c}.nation-card h3{font:24px var(--serif);margin:18px 0 7px}.card-bottom{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;display:flex;justify-content:space-between;font-size:11px}.flag{display:inline-block;border-radius:3px;overflow:hidden;width:63px;height:42px;box-shadow:0 2px 4px #0001;vertical-align:middle;flex-shrink:0}.flag.large{width:126px;height:84px}.flag svg{display:block;width:100%;height:100%}.leaflet-container{font-family:'Segoe UI',sans-serif}.leaflet-popup-content{min-width:150px}.leaflet-popup-content a{font-weight:700;text-decoration:none}.map-pin{border:3px solid white;box-shadow:0 1px 6px #0003;border-radius:50%;width:27px;height:27px}.leaflet-control-attribution{font-size:10px!important}.empty{padding:35px;border:1px dashed #c6cebb;background:#eff0e6;border-radius:7px;text-align:center}.empty h3{font:24px var(--serif);margin:12px 0}.empty p{color:var(--muted);font-size:14px;max-width:480px;margin:0 auto 20px}.empty .icon{width:34px;height:34px;color:#8f9e78}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{border:1px solid var(--line);border-radius:7px;padding:27px;background:var(--white);margin-bottom:22px}.panel h2{font-size:28px}.panel h3{font-family:var(--serif);font-size:23px;font-weight:400}.panel p:last-child{margin-bottom:0}.panel.green{background:var(--green);color:#fffdf0;border-color:var(--green)}.panel.green .muted,.panel.green small{color:#c9d5c3}.panel.tint{background:#edefe2}.label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}label.field{display:block;margin-bottom:19px}.field>span{display:block;font-size:12px;font-weight:600;margin-bottom:8px}input:not([type=checkbox]):not([type=color]),textarea,select{width:100%;border:1px solid #cfd5c7;background:#fffefa;color:var(--ink);border-radius:5px;padding:12px 13px;font-size:14px;min-height:45px}textarea{resize:vertical;min-height:120px;line-height:1.55}input[type=color]{width:100%;height:45px;border:1px solid var(--line);padding:4px;border-radius:4px;background:white}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;margin:18px 0}.check input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin-top:3px}.help{font-size:12px;color:var(--muted);line-height:1.55}.error{background:#fae9e2;border:1px solid #e4b8a8;color:#913b27;padding:12px 15px;border-radius:5px;font-size:13px;margin:14px 0}.notice{background:#f1efdf;border-left:3px solid #b2b78b;padding:15px 18px;font-size:13px;line-height:1.65;margin:18px 0}.notice.success{background:#e8f1e2;border-color:#6d9366}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:grid;gap:14px}.narrow{max-width:660px;margin:auto}.title-row{display:flex;align-items:center;gap:25px;margin-bottom:25px}.title-row h1{font-size:45px;margin:5px 0 10px}.title-row p{margin:0;color:var(--muted)}.badge{font-size:10px;padding:5px 8px;border:1px solid #ccd2bf;border-radius:4px;display:inline-block;letter-spacing:.5px;background:#edf1e6}.badge.orange{background:#f3e7d8;border-color:#e6c3a6;color:#96562e}.tabs{display:flex;gap:25px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:28px;scrollbar-width:thin}.tabs a{padding:15px 0;text-decoration:none;white-space:nowrap;font-size:13px;border-bottom:3px solid transparent;color:var(--muted)}.tabs a.active{color:var(--green);border-color:var(--green);font-weight:600}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.metric{background:#ecefe2;padding:18px 21px;border-radius:5px}.metric b{display:block;font:35px var(--serif);margin-bottom:4px}.metric small{font-size:11px}.journal{list-style:none;margin:0;padding:0}.journal li{position:relative;border-left:1px solid #cbd2be;padding:0 0 23px 24px;font-size:14px}.journal li:before{content:'';width:7px;height:7px;position:absolute;left:-4px;top:5px;border-radius:50%;background:#b1bd9d}.journal li small{display:block;margin-top:5px;font-size:11px}.citizen{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.avatar{width:38px;height:38px;border-radius:50%;background:#e8eddf;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px}.qr{display:block;width:210px;max-width:100%;border-radius:5px;margin:18px auto}.constitution{white-space:pre-wrap;font:17px/1.8 var(--serif);background:#f4f2e9;padding:25px;border-radius:5px}.progress{height:7px;border-radius:5px;background:#e4e7dc;margin:16px 0;overflow:hidden}.progress>span{height:100%;display:block;background:#6d8b59}.achievement{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.achievement:last-child{border:0}.achievement .medal{height:48px;width:48px;border:1px solid #ccd2bc;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f2f1e5;flex-shrink:0}.achievement.done .medal{background:#e6d9a8;border-color:#bdab69}.achievement h3{margin:0 0 7px;font:21px var(--serif)}.achievement p{margin:0;font-size:12px;color:var(--muted)}.achievement .content{flex:1}.step-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}.step-number{font:22px var(--serif);border:1px solid #ccd3be;border-radius:50%;height:38px;width:38px;display:flex;align-items:center;justify-content:center}.step-heading h2{font-size:26px;margin:0}.foundation-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px}.foundation-layout .panel{padding:24px}.foundation-map{position:sticky;top:22px;align-self:start}.foundation-map .map{height:490px}.border-tools{display:flex;gap:8px;flex-wrap:wrap;padding:14px;background:#fffef8;border-bottom:1px solid var(--line)}.border-tools .btn{font-size:12px;padding:10px 12px}.map-status{padding:13px 18px;font-size:12px;background:#f0f1e6;border-top:1px solid var(--line)}.searchbox{display:flex;gap:8px;margin-bottom:12px}.searchbox input{min-width:0}.search-results{display:grid;gap:5px;margin-bottom:15px}.search-results button{text-align:left;border:1px solid var(--line);padding:10px;background:#f3f5e9;border-radius:4px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.code{word-break:break-all;background:#e9eddf;padding:18px;font:14px/1.7 monospace;border-radius:5px}.link-box{word-break:break-all;font-size:12px;background:#f0f2e7;padding:12px;border-radius:4px}.resource{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.resource b{font:28px var(--serif)}.rules{max-width:900px}.rules h2{margin-top:35px}.rules p,.rules li{font-size:15px;line-height:1.85;color:#59675b}.rules li{margin:12px 0}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.rule-grid .panel{margin:0}.rule-grid .icon{height:30px;width:30px;margin-bottom:20px;color:#a6ad83}.workshop-preview{background:#eeede2;border:1px solid var(--line);border-radius:5px;padding:30px;margin:20px 0;text-align:center}.passport{width:310px;max-width:100%;min-height:410px;background:var(--green);border-radius:9px;padding:35px 25px;color:#eadfae;margin:auto;border:6px double #b4ae7a}.passport h3{font:25px var(--serif);margin:30px 0 12px}.passport .icon{width:65px;height:65px;margin:22px 0}.passport small{color:#d6d6af}.coin{height:160px;width:160px;border:8px double #b6a46d;border-radius:50%;background:#e9d9a8;margin:25px auto;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#786636}.coin b{font:54px var(--serif)}.full-flag .flag{width:100%;height:auto;aspect-ratio:1.5;max-width:400px}.loading{padding:70px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(550px,90vw);background:#234e42;color:white;border-radius:7px;padding:15px 22px;font-size:14px;z-index:3000;box-shadow:0 8px 40px #0002;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}dialog{border:1px solid var(--line);border-radius:10px;max-width:620px;width:calc(100% - 32px);max-height:90vh;background:var(--paper);color:var(--ink);padding:32px}dialog::backdrop{background:#17352dc0}dialog .close{float:right;border:0;background:none;font-size:25px;line-height:1}dialog h2{font-size:30px;margin-right:35px}dialog p{font-size:14px}.mobile-brand{display:none}.activity-list{display:grid;gap:15px}.activity-list a{display:flex;gap:13px;text-decoration:none;font-size:13px}.activity-list .flag{width:43px;height:29px}.activity-list small{display:block;font-size:11px;margin-top:4px}.counterline{display:flex;gap:25px;margin-top:20px;color:var(--muted);font-size:12px}.counterline b{font:23px var(--serif);color:var(--green);margin-right:6px}.pressure{width:100%;accent-color:var(--orange)}.hr{border:0;border-top:1px solid var(--line);margin:26px 0}
@media(min-width:1600px){.page{padding-top:55px}.hero{margin-bottom:45px}.hero-art{min-height:320px}}
@media(max-width:1150px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:30px 15px}.topbar{padding:0 28px}.page{padding:32px 28px}.hero{gap:15px}.hero h1{font-size:47px}.hero-art>svg{height:250px}.criteria-grid{grid-template-columns:repeat(2,1fr)}.foundation-layout{grid-template-columns:290px 1fr}.atlas-grid{grid-template-columns:1fr 225px}.grid-2{gap:16px}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.shell{display:block}.sidebar{height:auto;position:static;padding:15px 22px;gap:18px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.sidebar .brand{font-size:21px}.brand img{width:35px;height:35px}.brand span small{display:none}.sidebar-bottom{display:none}.nav{display:flex;gap:5px}.nav a{padding:10px;font-size:12px;gap:7px}.nav a .icon{width:18px;height:18px}.topbar{height:68px;padding:0 24px}.page{padding:30px 24px}.hero{grid-template-columns:1.2fr .8fr}.hero h1{font-size:44px}.hero-art>svg{height:230px}.foundation-layout{grid-template-columns:1fr}.foundation-map{position:static}.foundation-layout>.panel{order:2}.foundation-map .map{height:400px}.title-row h1{font-size:38px}}
@media(max-width:600px){.sidebar{padding:15px 16px;flex-wrap:wrap;gap:15px}.nav{width:100%;justify-content:space-between}.nav a{padding:10px 12px;justify-content:center;flex:1}.nav a span{font-size:11px}.nav a .icon{display:none}.brand{font-size:21px}.topbar{padding:0 18px;height:62px}.edition{font-size:9px;letter-spacing:1.1px}.top-actions{gap:10px}.top-actions .btn{font-size:11px;padding:10px}.top-actions .text-btn{font-size:12px;max-width:100px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.page{padding:27px 18px}.hero{display:flex;flex-direction:column;gap:5px;align-items:stretch;margin-bottom:24px}.hero h1{font-size:46px;letter-spacing:-1.6px;margin-bottom:17px}.hero p{font-size:14px;margin-bottom:23px;max-width:350px}.hero-art{min-height:195px;max-height:210px;margin-top:12px}.hero-art>svg{height:210px;width:270px}.art-caption{font-size:12px;bottom:-2px}.hero-actions .btn{padding:12px 16px;font-size:12px}.eyebrow{font-size:9px;margin-bottom:15px}.atlas-grid{grid-template-columns:1fr}.atlas-side{border-left:0;border-top:1px solid var(--line);padding:20px;display:block}.atlas-side .seal{display:none}.atlas-side h3{font-size:21px;margin-bottom:10px}.atlas-side p{margin-bottom:14px}.atlas-side .big-number{display:none}.map{height:315px}.map-head{font-size:11px;padding:12px}.section-heading{margin-top:28px}.section-heading h2{font-size:24px}.section-heading .count{font-size:9px}.criteria-grid{gap:9px}.criterion{padding:16px 12px;gap:9px}.criterion strong{font-size:17px}.criterion small{font-size:10px}.criterion .icon{width:19px;height:19px}.intro-line{font-size:11px}.grid-2,.rule-grid,.cards{grid-template-columns:1fr;gap:0}.cards{gap:14px}.metrics{gap:8px}.metric{padding:15px 11px}.metric b{font-size:29px}.metric small{font-size:10px}.panel{padding:22px 18px}.panel h2{font-size:26px}.title-row{gap:16px;align-items:flex-start}.title-row .flag.large{width:82px;height:55px;margin-top:14px}.title-row h1{font-size:31px;letter-spacing:-1px}.title-row p{font-size:12px}.tabs{gap:24px;margin-bottom:23px}.tabs a{font-size:12px}.foundation-map .map{height:350px}.foundation-layout{gap:14px}.foundation-layout>.panel{padding:20px}.map-foot{font-size:10px;line-height:1.5}.achievement{gap:12px;align-items:flex-start}.achievement .medal{height:40px;width:40px}.achievement h3{font-size:19px}.achievement .btn{padding:8px;font-size:10px;min-height:32px}.footer{font-size:10px;margin-top:30px;line-height:1.6}.notice{font-size:12px}.rule-grid .panel{margin-bottom:18px}.passport{width:265px}.form-footer{align-items:flex-start;flex-direction:column}.map-head .badge{max-width:140px;text-align:center}.counterline{gap:15px}dialog{padding:25px 20px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:600px){.section-heading,.map-head{flex-wrap:wrap}.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.criterion{min-width:0}.criterion strong{overflow-wrap:anywhere}.hero-actions .btn{max-width:100%}.topbar{min-width:0}.nav a{min-width:0}.searchbox{flex-wrap:wrap}.searchbox input{flex:1 1 180px}.searchbox button{flex:1 0 auto}.map-tools{flex-wrap:wrap}.rule-grid{min-width:0}}
@media(max-width:360px){.criteria-grid{grid-template-columns:1fr}.topbar .edition{display:none}.topbar{justify-content:flex-end}.hero h1{font-size:40px}.hero-art>svg{max-width:100%}.metrics{grid-template-columns:1fr}.nav a{padding:9px 7px}.title-row{flex-wrap:wrap}.grid-2{min-width:0}.title-row h1{overflow-wrap:anywhere}}
@media(max-width:600px){.topbar .edition{display:none}.top-actions{width:100%;justify-content:space-between}.top-actions .text-btn{max-width:180px}}
