:root{--bg:#050806;--panel:#0a100c;--panel2:#0d1710;--fg:#edf7ef;--muted:#91a198;--green:#57ff8b;--green2:#23b85a;--line:#1a3322}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Consolas,"Courier New",monospace}header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:#050806f2;backdrop-filter:blur(12px);z-index:1000}.brand{color:var(--green);font-weight:800;text-decoration:none}.brand span{font-size:.7em}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none;font-size:.9rem}nav a:hover{color:var(--green)}main{max-width:1600px;margin:auto}.hero{min-height:72vh;padding:12vh 6vw 8vh;background:radial-gradient(circle at 80% 25%,#10321a 0,transparent 35%)}.eyebrow{color:var(--green)!important;letter-spacing:.16em;font-weight:bold;text-transform:uppercase}.hero h1,.route-head h1,.page h1{font-size:clamp(3rem,8vw,8rem);line-height:.9;margin:.18em 0}.hero h1 span,.route-head h1 span,.page h1 span{color:var(--green)}.lead,.big-copy{color:var(--muted);font-size:clamp(1.05rem,2vw,1.35rem);max-width:850px;line-height:1.65}.actions{display:flex;gap:14px;margin-top:32px}.actions a{padding:14px 18px;border:1px solid var(--green);color:var(--green);text-decoration:none}.actions a:hover{background:var(--green);color:var(--bg)}.stats,.route-summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.stats div,.route-summary div{padding:28px 18px;text-align:center;border-right:1px solid var(--line)}.stats b,.route-summary b{display:block;color:var(--green);font-size:clamp(1.2rem,2.5vw,2rem)}.stats span,.route-summary span{color:var(--muted);font-size:.8rem}.panel,.page,.route-head,.route-list{padding:7vh 6vw}.wide{max-width:1200px}.panel{max-width:900px}.panel h2,.route-list h2{font-size:clamp(2rem,5vw,4rem)}.panel p,.page p,.route-head p,.route-list p{line-height:1.7;color:var(--muted)}#routeMap{height:min(68vh,720px);min-height:480px;border-block:1px solid var(--line);background:#0a100c}.route-grid,.feature-grid,.updates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.route-grid article,.feature-grid article,.updates-grid article{background:var(--panel);padding:28px}.route-grid h3,.feature-grid h2,.updates-grid h2{margin:.35rem 0}.route-num,.feature-grid article>b,.updates-grid time{color:var(--green);font-size:.8rem}.empty-state{margin-top:40px;padding:36px;border:1px solid var(--line);background:var(--panel)}.empty-state>b{color:var(--green)}footer{padding:32px 5vw;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;gap:20px}footer b{color:var(--green)}@media(max-width:760px){header{padding:16px 5vw;align-items:flex-start;gap:12px;flex-direction:column}nav{gap:12px}.stats,.route-summary,.route-grid,.feature-grid,.updates-grid{grid-template-columns:1fr 1fr}.actions{flex-direction:column}.hero{padding-top:9vh}#routeMap{min-height:420px}footer{flex-direction:column}}@media(max-width:480px){.stats,.route-summary,.route-grid,.feature-grid,.updates-grid{grid-template-columns:1fr}}

/* Phase 1.2 admin + updates */
.button,.read-more,.admin-links a,.row-actions a{color:var(--green);text-decoration:none}.button{border:1px solid var(--green);padding:13px 16px;display:inline-block}.admin-nav{color:var(--green)!important}.admin-narrow,.admin-edit{max-width:900px}.admin-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;border:1px solid var(--line)}.admin-stats div{padding:24px;border-right:1px solid var(--line)}.admin-stats div:last-child{border:0}.admin-stats b{display:block;color:var(--green);font-size:2rem}.admin-stats span,.update-meta{color:var(--muted);font-size:.8rem}.admin-links,.editor-actions,.row-actions,.update-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.admin-form{display:grid;gap:10px;margin-top:32px}.admin-form label{color:var(--muted);margin-top:10px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:14px;font:inherit}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:1px solid var(--green);border-color:var(--green)}.admin-form button,.row-actions button{background:transparent;color:var(--green);border:1px solid var(--green);padding:12px 15px;font:inherit;cursor:pointer}.admin-form button:hover,.row-actions button:hover{background:var(--green);color:var(--bg)}.check{display:flex!important;align-items:center;gap:10px}.check input{width:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.validation{color:#ff8a8a}.admin-update-list{border-top:1px solid var(--line);margin-top:30px}.admin-update-list article{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.admin-update-list h2{margin:.4rem 0}.admin-update-list p{margin:0}.row-actions form{margin:0}.row-actions .danger{border-color:#8b3b3b;color:#ff8a8a}.category{display:inline-block;color:var(--green);font-size:.75rem;letter-spacing:.12em}.updates-grid h2 a{color:var(--fg);text-decoration:none}.updates-grid h2 a:hover{color:var(--green)}.updates-grid .category{margin-right:12px}.updates-grid .read-more{display:inline-block;margin-top:18px}.update-detail{max-width:950px}.update-detail h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1}.update-body{margin:35px 0;max-width:780px}.update-body p{font-size:1.08rem;color:var(--fg);white-space:pre-line}.update-image{width:100%;max-height:650px;object-fit:cover;margin:30px 0;border:1px solid var(--line)}
@media(max-width:760px){.admin-toolbar,.admin-update-list article{align-items:stretch;flex-direction:column}.admin-stats,.form-grid{grid-template-columns:1fr}.admin-stats div{border-right:0;border-bottom:1px solid var(--line)}.admin-stats div:last-child{border-bottom:0}.row-actions{align-items:stretch}.row-actions a,.row-actions button{display:block;width:100%;text-align:center}}

/* Phase 2 live tracking */
#liveMap{height:min(70vh,760px);min-height:500px;border-block:1px solid var(--line);background:var(--panel)}.live-status{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.live-status div{padding:24px;text-align:center;border-right:1px solid var(--line)}.live-status b{display:block;color:var(--green);font-size:1.25rem}.live-status span,.tracking-latest span,.tracking-settings small{display:block;color:var(--muted);font-size:.78rem;margin-top:6px}.tracking-controls{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.tracking-controls form{margin:0}.tracking-controls button{font:inherit;background:transparent;cursor:pointer}.tracking-controls .privacy{border-color:#f2c94c;color:#f2c94c}.tracking-controls .danger{border-color:#8b3b3b;color:#ff8a8a}.tracking-latest{padding:22px;border:1px solid var(--line);background:var(--panel);margin:24px 0}.tracking-latest b{display:block;font-size:1.3rem}.tracking-settings{max-width:700px}.leaflet-container{font-family:Consolas,"Courier New",monospace}@media(max-width:760px){.live-status{grid-template-columns:1fr 1fr}#liveMap{min-height:430px}}@media(max-width:480px){.live-status{grid-template-columns:1fr}}

/* Phase 2.5 Crisis fundraising */
.charity-hero{min-height:62vh;padding:10vh 6vw 7vh;background:radial-gradient(circle at 80% 20%,#10321a 0,transparent 38%)}.charity-hero h1{font-size:clamp(3rem,7vw,7rem);line-height:.92;margin:.2em 0}.charity-hero h1 span{color:var(--green)}.donate-button{display:inline-block;margin-top:22px;padding:15px 19px;background:var(--green);border:1px solid var(--green);color:var(--bg);font-weight:800;text-decoration:none}.donate-button:hover{background:transparent;color:var(--green)}.donate-button.disabled{background:transparent;color:var(--muted);border-color:var(--line)}.fundraising-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.fundraising-strip div{padding:26px;text-align:center;border-right:1px solid var(--line)}.fundraising-strip b{display:block;color:var(--green);font-size:clamp(1.25rem,2.6vw,2.1rem)}.fundraising-strip span{display:block;color:var(--muted);font-size:.78rem;margin-top:6px}.fundraising-progress-wrap{padding:34px 6vw;border-bottom:1px solid var(--line)}.fundraising-progress{height:12px;background:#102016;border:1px solid var(--line);overflow:hidden}.fundraising-progress span{display:block;height:100%;background:var(--green);transition:width .5s ease}.fundraising-progress-wrap p,.fundraising-total{color:var(--muted)}.charity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-block:1px solid var(--line)}.charity-grid article{background:var(--panel);padding:6vh 6vw}.charity-grid h2,.home-charity h2,.live-charity h2{font-size:clamp(1.8rem,4vw,3.4rem);margin:.25em 0}.charity-grid p,.home-charity p,.live-charity p{color:var(--muted);line-height:1.7}.home-charity,.live-charity{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:50px;align-items:center;padding:7vh 6vw;border-bottom:1px solid var(--line);background:var(--panel)}.home-charity .fundraising-progress,.live-charity .fundraising-progress{margin-top:26px}.charity-cta{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.text-link{color:var(--green);text-decoration:none}.live-charity[hidden]{display:none}.field-help{color:var(--muted);line-height:1.5}.save-message{margin-top:24px;padding:14px;border:1px solid var(--green);color:var(--green);background:var(--panel)}
@media(max-width:760px){.fundraising-strip,.charity-grid,.home-charity,.live-charity{grid-template-columns:1fr 1fr}.home-charity,.live-charity{grid-template-columns:1fr;gap:24px}.fundraising-strip div:nth-child(2){border-right:0}.fundraising-strip div{border-bottom:1px solid var(--line)}}
@media(max-width:480px){.fundraising-strip,.charity-grid{grid-template-columns:1fr}.fundraising-strip div{border-right:0}.charity-hero{padding-top:8vh}}

/* Phase 2.6 training and preparation */
.training-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:40px 0}.training-roadmap article{padding:24px;border:1px solid var(--line);background:var(--panel)}.training-page>h2{margin-top:48px}.training-date{display:block;font-size:1rem;color:var(--muted);margin-top:12px}.training-pillars h2{font-size:2rem;color:var(--green)}.training-pillars small{font-size:.9rem;color:var(--muted)}.training-notes{white-space:pre-line;overflow-wrap:anywhere}.training-table-wrap{overflow-x:auto}.training-table{width:100%;border-collapse:collapse;text-align:left}.training-table caption{text-align:left;color:var(--muted);padding:12px 0}.training-table td,.training-table th{padding:16px;border-bottom:1px solid var(--line)}.training-table progress{accent-color:var(--green);width:100%;min-width:90px;height:16px}.training-page .feature-grid article{min-width:0}.training-page h3{overflow-wrap:anywhere}.admin-form [hidden]{display:none}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px}.actions{flex-wrap:wrap}@media(max-width:760px){.training-roadmap{grid-template-columns:1fr}.training-table td,.training-table th{padding:12px 8px}.training-page h1{font-size:clamp(2.8rem,11vw,5rem)}}

/* Editable kit, sponsors and navigation */
.content-grid{margin-top:36px}.content-grid article{min-width:0}.content-grid h2{overflow-wrap:anywhere}.content-copy{white-space:pre-line;overflow-wrap:anywhere}.content-image{display:block;width:100%;height:240px;object-fit:contain;margin-bottom:24px;background:var(--panel2)}.sponsor-logo{background:#fff;padding:24px;height:180px}.admin-form fieldset{border:1px solid var(--line);padding:20px}.admin-form legend{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.content-grid{grid-template-columns:1fr}.content-image{height:200px}}

/* Uploads, enquiries and tracking freshness */
.upload-preview{display:block;max-width:100%;max-height:280px;object-fit:contain;border:1px solid var(--line);background:var(--panel2);padding:12px}.upload-preview[hidden]{display:none}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiry-message{padding:24px;border:1px solid var(--line);background:var(--panel);line-height:1.7}.page h1.enquiry-title{font-size:clamp(2rem,5vw,4rem);line-height:1.15;overflow-wrap:anywhere}.tracking-freshness{padding:24px 6vw;border-bottom:1px solid var(--line);background:var(--panel)}.tracking-freshness b{color:var(--green)}.tracking-freshness p{color:var(--muted);line-height:1.6;margin-bottom:0}.tracking-freshness[data-state=stale] b{color:#f2c94c}.tracking-freshness[data-state=privacy-hold] b{color:#8ebeff}.admin-form details{padding:12px;border:1px solid var(--line)}.admin-form summary{cursor:pointer;color:var(--muted)}nav{justify-content:flex-end}.operation-list dt{color:var(--green);margin-top:22px}.operation-list dd{margin:8px 0 0;color:var(--muted);line-height:1.6}@media(max-width:760px){nav{justify-content:flex-start}}
