:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#243e35;background:#f5f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}header{height:86px;padding:0 4%;display:flex;align-items:center;border-bottom:1px solid #dce2d8;gap:24px;background:#fafbf6}.brand{color:#234335;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:8px}.brand b{color:#719c45}.logo{font-size:35px;margin-right:6px}.edition{font-size:10px;letter-spacing:2px;margin-left:20px;border-left:1px solid #ccd4c7;padding-left:20px;color:#758175}.status{margin-left:auto;font-size:12px;display:flex;gap:7px;align-items:center}.status i,.dot{width:7px;height:7px;display:inline-block;background:#7baf50;border-radius:50%}button{border:1px solid #d6decf;padding:11px 17px;background:#fffef8;border-radius:7px;color:#294638}button:hover{background:#e7efdd}main{max-width:1700px;margin:auto;padding:38px 4% 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#719453}h1{font-size:clamp(25px,3vw,44px);letter-spacing:-1.8px;margin:12px 0 10px;font-weight:650}h1 span{color:#81a957}p{line-height:1.6}.intro p{font-size:14px;color:#7a867a;margin:0}.metrics{display:flex;gap:14px;align-items:center}.metrics strong{font-size:35px;font-weight:500}.metrics span{font-size:11px;line-height:1.5;color:#788776}.divider{height:38px;width:1px;background:#d8dfd1;margin:0 15px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid #d9e1d0;border-radius:12px;overflow:hidden;background:#fcfdf7;box-shadow:0 10px 30px #31472a08}.mapbox{min-width:0;background:#c2d6a1}.mapbar,.mapfoot{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;font-size:10px;letter-spacing:1.4px;background:#f9fbf1}.mapbar span:first-child{font-weight:750}.provisional{color:#8c997b;font-size:9px}.dot{margin-right:7px}.mapfoot{font-size:10px;letter-spacing:0;color:#70835d;background:#e8efda}canvas{width:100%;display:block;image-rendering:pixelated;aspect-ratio:12/7}aside{padding:23px 20px;display:flex;flex-direction:column;min-height:0}.aside-title{display:flex;justify-content:space-between;font-weight:650;font-size:15px}.aside-title span{background:#e9efdf;color:#70934c;font-size:11px;border-radius:5px;padding:3px 7px}.muted{font-size:11px;color:#8b9486}#roster{max-height:280px;overflow:auto;flex:1}.person{padding:10px 0;display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #eef0e5;border-radius:0;background:transparent;text-align:left}.avatar{width:30px;height:32px;image-rendering:pixelated}.person strong{display:block;font-size:11px;font-weight:600}.person small{color:#8c9781;font-size:10px}#detail{padding:9px;font-size:11px;background:#e8efde;border-radius:6px;margin-top:10px}.demo-box{margin-top:18px;border-top:1px solid #e0e6d7;padding-top:15px}.demo-box strong{font-size:12px}.demo-box p{font-size:11px;color:#8a947f;margin:7px 0 12px}.demo-box button{width:100%;font-size:11px;background:#294e3b;color:#fff;border:0}.demo-box small{font-size:9px;color:#8a947f;display:block;margin-top:9px;text-align:center}.locations{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin:21px 0}.place{border:1px solid #dfe4d6;background:#fafbf4;padding:16px 12px;display:flex;align-items:center;gap:10px;border-radius:8px}.place b{font-size:11px;display:block}.place small{font-size:9px;color:#8b957e}.place .icon{font-size:22px;color:#7b9867}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dfe4d6;padding:19px 0;font-size:10px;color:#859079}footer b{margin:0 10px;color:#b1bca7}footer button{border:0;background:transparent;font-size:11px;padding:8px}dialog{border:1px solid #d6decf;border-radius:14px;padding:35px;max-width:560px;background:#fafcf4;color:#294538}dialog::backdrop{background:#172d2499}dialog li{font-size:14px;line-height:1.8;margin:12px 0}dialog p{font-size:12px;color:#7f8f78}pre{padding:14px;background:#e8eedf;white-space:pre-wrap;font-size:12px}.close{float:right;border:0;padding:3px 8px}body.projecting main{max-width:none;padding:15px}body.projecting .intro,body.projecting aside,body.projecting .locations,body.projecting footer,body.projecting header{display:none}body.projecting .workspace{display:block}body.projecting canvas{max-height:90vh;object-fit:contain}@media(max-width:1000px){.metrics,.edition{display:none}.workspace{grid-template-columns:1fr}aside{display:none}.locations{grid-template-columns:repeat(3,1fr)}main{padding:25px 3%}header{padding:0 3%;gap:10px}.brand{font-size:18px}.status{font-size:10px}#projector{font-size:11px;padding:8px}.provisional{font-size:7px}.mapbar{padding:12px}.mapfoot{font-size:8px}.intro{margin-bottom:20px}footer{gap:10px}}
