.simulation{border:2px solid #007e87;border-radius:14px;margin:25px 0 36px;background:#fff;overflow:hidden;padding:24px}.sim-heading{border-bottom:1px solid #cbd8df;margin-bottom:18px}.sim-heading h3{font-size:28px;margin:8px 0}.sim-heading .eyebrow{font-size:14px}.sim-task{background:#fff8e8;border-left:4px solid #e7a723;padding:16px}.sim-controls,.rounds{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.rounds button{min-width:48px}.rounds [aria-current=step]{background:#17334b;color:white;border-color:#17334b}.simulation [aria-pressed=true],.simulation .selected{outline:3px solid #e7a723;outline-offset:2px}.sim-stage{min-width:0}.sim-key{font-size:15px;color:#385664}.sim-live{font-size:19px;padding:14px;background:#e9f4f3;border-radius:7px;font-weight:600}.sim-feedback{font-weight:600;color:#07595f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.land-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;max-width:620px;margin:20px auto;padding:14px;background:#d9e5cf;border:1px solid #92a38a;border-radius:12px}.land-cell{min-height:60px;aspect-ratio:1;border:1px solid #a4b99e;border-radius:5px;background:linear-gradient(145deg,#f7f5e8,#dfeacf);color:#17334b;padding:8px;display:grid;place-items:center}.land-cell.road-cell{background:linear-gradient(0deg,#e3e9d9 35%,#ad9d85 35%,#ad9d85 65%,#e3e9d9 65%)}.land-cell.occupied{background:#e4eee4}.home-mark{display:inline-block;position:relative;width:25px;height:22px;background:#f4ebd5;border:2px solid #17334b;margin:12px 9px 5px;box-shadow:4px 3px 0 #17334b20}.home-mark:before{content:'';position:absolute;width:21px;height:21px;background:#b16642;transform:rotate(45deg);left:0;top:-12px;border-left:2px solid #17334b;border-top:2px solid #17334b;clip-path:polygon(0 0,100% 0,0 100%)}.home-mark:after{content:'';position:absolute;width:7px;height:11px;background:#31576d;bottom:0;left:7px}.parcel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.parcel{padding:0;text-align:left;color:#17334b;background:white;border:1px solid #afc4cd;overflow:hidden;font-weight:400}.parcel img{width:100%;aspect-ratio:2.5;object-fit:cover;display:block}.parcel strong,.parcel span{display:block;padding:10px 15px}.parcel strong{background:#edf5f6}.parcel span{font-size:16px;border-top:1px solid #edf1f4}.sim-controls label,.repair{display:flex;gap:10px;align-items:center}.density-grid{display:grid;gap:8px;margin:20px 0}.density-grid.region{grid-template-columns:1fr}.density-grid.district{grid-template-columns:repeat(2,1fr)}.density-grid.neighborhood{grid-template-columns:repeat(4,1fr)}.density-cell{background:var(--shade);color:var(--ink);border:1px solid #638f84;min-height:90px;border-radius:4px;padding:12px;font-weight:400}.density-cell strong{display:block;font-size:24px}.density-grid.region .density-cell{min-height:160px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px;background:#eef1e7;border-radius:10px;margin:18px 0}.area-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70px;background:#eeeae0;color:#17334b;border:1px solid #b7bbaa;border-radius:4px;font-size:19px}.area-tile span{font-size:14px}.area-tile.active,.area-tile.crop{background:repeating-linear-gradient(90deg,#cfdfaa,#cfdfaa 10px,#bdd093 10px,#bdd093 12px)}.formula-grid .area-tile{font-size:15px;text-align:center}.area-tile.outlined{box-shadow:inset 0 0 0 3px #007e87}.area-tile small{display:block}.formula-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.formula-controls label{font-size:16px;display:flex;flex-direction:column}.formula-controls select{width:100%;font-size:16px}.sim-counts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;background:#edf5f6;padding:18px;border-radius:8px}.sim-counts span{flex:1;min-width:140px}.sim-counts strong{display:block;font-size:22px}.corridor{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));position:relative;gap:2px;padding:30px 0;align-items:start}.corridor:before{content:'';position:absolute;left:20px;right:20px;top:84px;height:10px;background:#b4a28a;border-top:3px solid #e7dfcf;border-bottom:3px solid #e7dfcf}.corridor-stop{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:150px}.home-group{display:flex;flex-direction:column;align-items:center;background:#f7faf4;padding:4px;border:2px solid #bdc9c4;border-radius:5px;min-width:60px}.home-group.covered{border:3px solid #007e87}.home-group b{font-size:16px}.home-group small{font-size:11px}.corridor-stop button{font-size:13px;padding:8px 4px;min-height:44px;width:100%;z-index:1}.road-space{height:42px}.time-list{display:flex;flex-wrap:wrap;gap:8px}.time-list span{background:#edf5f6;padding:8px;font-size:14px}.sim-stage svg{display:block;width:100%;max-width:740px;margin:auto;border:1px solid #bdc9c4;border-radius:10px}.link-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.link-controls button{font-size:15px;text-align:left}.district-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:25px 0}.district-block{display:flex;align-items:center;flex-direction:column;padding:15px 4px;border:1px solid #91aab9}.district-block.west{background:#d7eae6}.district-block.east{background:#f3e5bf}.district-block.boundary{border-right:5px solid #17334b}.district-block small{font-size:12px}.district-block strong{font-size:24px}.district-block span{font-size:14px}.range-control{display:block;background:#f4f7fa;padding:18px;border-radius:8px;margin:20px 0}.range-control input{display:block;width:100%;padding:0;margin-top:15px;accent-color:#007e87;min-height:30px}.range-control output{font-weight:700}.sim-meter{margin:18px 0}.sim-meter>span{display:flex;justify-content:space-between;gap:15px;font-size:16px}.meter-track{height:24px;background:#e6ebed;border-left:2px solid #17334b;margin-top:5px}.meter-track>div{height:100%;transition:width .25s ease}.meter-track .teal{background:#007e87}.meter-track .gold{background:#d9a02c}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.school{border:1px solid #b6cbd4;border-radius:8px;padding:15px;background:#f9fbfc}.school h4{font-size:21px;margin:10px 0}.school .sim-controls{gap:7px}.school .sim-controls button{padding:8px 13px;font-size:22px}.school .sim-controls strong{font-size:14px}.school-roof{height:35px;background:linear-gradient(135deg,transparent 25%,#ac7851 25%) top left/50% 100% no-repeat,linear-gradient(225deg,transparent 25%,#ac7851 25%) top right/50% 100% no-repeat;border-bottom:7px solid #e4d4b6;margin-bottom:15px}.school p{font-size:16px}.simulation button:disabled{opacity:.75}.simulation .sim-stage:disabled{opacity:.85}
.simulation button:disabled,.simulation .sim-stage:disabled{opacity:1}.simulation #simCheck:disabled{opacity:.55}#learning,#page h2,#simulation{scroll-margin-top:80px}.district-block small{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.meter-track>div{transition:none}}
@media(max-width:650px){.simulation{padding:15px}.sim-heading h3{font-size:24px}.land-grid{padding:7px;gap:3px}.land-cell{min-height:39px;padding:2px}.home-mark{width:20px;height:18px;margin:12px 4px 3px}.home-mark:before{width:16px;height:16px;top:-10px}.home-mark:after{left:5px}.parcel-grid,.school-grid,.formula-controls{grid-template-columns:1fr}.density-cell{padding:6px;min-height:66px;font-size:14px}.density-cell strong{font-size:19px}.area-grid{gap:5px;padding:8px}.area-tile{min-height:58px}.formula-grid .area-tile{font-size:12px}.corridor{grid-template-columns:1fr;padding:10px 0;gap:0}.corridor:before{top:20px;bottom:20px;left:45px;right:auto;width:8px;height:auto}.corridor-stop{min-height:45px;flex-direction:row;justify-content:space-between;align-items:center;padding-left:10px}.home-group{flex-direction:row;gap:8px;min-width:155px}.corridor-stop button{width:auto;min-width:95px;margin-left:auto}.road-space{height:25px}.time-list span{flex:1;min-width:100px}.district-grid{gap:0}.district-block{padding:8px 1px}.district-block small{font-size:10px}.district-block strong{font-size:17px}.district-block span{font-size:12px}.link-controls{grid-template-columns:1fr}.sim-meter>span{font-size:15px}.sim-counts span{min-width:110px}.sim-key{font-size:14px}}
