
.pool-intro{max-width:900px;margin:0 auto 28px;text-align:center}.pool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.pool-card{background:#fffdf5;border:1px solid #c9b97c;border-radius:14px;overflow:hidden;box-shadow:0 4px 15px #183b2912}.pool-card .copy{padding:22px}.pool-card h2{font-size:29px}.pool-art{height:285px;padding:25px 15px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at 50% 95%,#386341 0,#102b21 60%,#061810 100%);border-bottom:3px solid #c6a850}.pool-art:before{content:'✦  ·  ✦  ·  ✦  ·  ✦';position:absolute;top:3px;color:#e7c76a;font-size:24px;letter-spacing:8px}.pool-art img{max-height:225px;width:auto;max-width:30%;object-fit:contain;box-shadow:6px 9px 12px #0008;border-radius:2px}.pool-art.single img{max-width:72%;max-height:235px}.pool-art.two img{max-width:44%}.pool-art .book-placeholder{display:grid;place-items:center;height:205px;width:140px;background:#f5e7bd;border-left:8px solid #ccb46d;color:#173c2b;font:bold 29px Georgia;text-align:center;box-shadow:6px 9px 12px #0008;padding:12px}.pool-art .book-placeholder:nth-child(2){background:#bdcdac}.pool-price{font:bold 32px Georgia;color:#21563e}.pool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.pool-actions a{font-size:17px}.pool-actions a.secondary{background:transparent;color:#24563b;border:1px solid #24563b}.pool-callout{background:#eaf1e8;padding:24px;border-radius:12px;margin:22px 0}.pool-form{max-width:850px;margin:auto;background:#fffdf6;padding:28px;border:1px solid #c5cdbd;border-radius:12px}.pool-form fieldset{border:1px solid #b8c5b3;padding:22px;margin-bottom:22px}.pool-form label{display:block;margin:13px 0}.pool-form input:not([type=checkbox]),.pool-form select,.pool-form textarea{display:block;width:100%;padding:12px;border:1px solid #869d89;border-radius:4px;font:inherit}.pool-form input[type=checkbox]{width:23px;height:23px;vertical-align:middle;margin-right:8px}.pool-form legend{font-weight:bold;color:#214e37}.pool-form .choices label{padding:14px;background:#edf2e9;border-radius:6px}.pool-form .small{font-size:16px}.pool-form [hidden]{display:none!important}.pool-map{padding:22px;background:#fffdf5;border:1px solid #c6ccb8;border-radius:12px;margin:25px 0}.pool-map svg{max-height:580px;width:100%;display:block}#need-map path[data-state]{fill:#e2e5dc;stroke:#fff;stroke-width:1.5;cursor:pointer}#need-map path[data-state][data-need="yes"]{fill:#286e84}#need-map path[data-state]:hover,#need-map path[data-state]:focus{fill:#b55e2b;outline:none}.need-count{font:bold 14px Arial;fill:#fff;pointer-events:none;paint-order:stroke;stroke:#194657;stroke-width:3px;stroke-linejoin:round}.need-zero{fill:#34443a;stroke:#e2e5dc}.need-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.need-tiles a{display:block;padding:10px;background:#e6eff0;color:#214e60;text-decoration:none;border-radius:5px;font-size:16px}.need-tiles strong{font-size:24px;display:block}.pool-admin-card{padding:20px;border:1px solid #bdc9bd;margin:15px 0}.pool-admin-card input,.pool-admin-card select,.pool-admin-card textarea{max-width:100%;display:block;padding:8px}.pool-admin-card label{display:block;margin:12px 0}.pool-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pool-status{font-weight:bold;color:#235b45}.pool-map .notice{font-size:16px}@media(max-width:1100px){.pool-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.pool-grid,.pool-admin-grid{grid-template-columns:1fr}.pool-art{height:290px}.pool-form{padding:15px}.pool-form fieldset{padding:14px}.need-count{font-size:17px}}
/* Compact needs panel and high-contrast contribution buttons. */
.hab-approved a.button,.hab-approved .pool-actions a.secondary,.pool-form .button{color:#fff!important;background:#ae3d08;border-color:#ae3d08}
.hab-approved .pool-actions a.secondary{background:#24563b;border-color:#24563b}
body.hab-approved #need-map.compact-need{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(210px,1fr);align-items:center;gap:18px;max-width:760px;width:100%;padding:18px!important;margin:18px auto!important;box-sizing:border-box;text-align:left}
body.hab-approved #need-map .need-visual{min-width:0}
body.hab-approved #need-map svg{width:100%;max-height:235px}
body.hab-approved #need-map h2{font:700 26px/1.1 Georgia,serif!important;letter-spacing:-.02em!important;white-space:normal!important;margin:0 0 8px!important}
body.hab-approved #need-map p{font:15px/1.35 Arial,sans-serif!important;margin:7px 0!important}
body.hab-approved #need-map .need-count{font:bold 32px Arial}
body.hab-approved #need-map .need-tiles{display:flex;flex-wrap:wrap;gap:6px;max-height:78px;overflow:auto;margin:8px 0!important}
body.hab-approved #need-map .need-tiles a{font:14px Arial;padding:5px 8px;color:#194657;background:#e6eff0}
body.hab-approved #need-map .need-tiles strong{display:inline;font-size:14px;margin-left:5px}
body.hab-approved #need-map .button{display:inline-flex;min-height:40px;align-items:center;padding:8px 12px;font:bold 15px/1.2 Arial,sans-serif!important;background:#24563b!important;border:1px solid #24563b!important;color:#fff!important;border-radius:5px;text-decoration:none}
body.hab-approved #need-map p.need-legend{font-size:12px!important;color:#42534a}
@media(max-width:600px){body.hab-approved #need-map.compact-need{grid-template-columns:1fr;gap:8px;padding:14px!important;max-width:430px}body.hab-approved #need-map svg{max-height:180px}body.hab-approved #need-map h2{font-size:23px!important}}

.fulfill-panel{background:#fffdf4;border:1px solid #d5c99f;border-radius:12px;padding:22px;margin:20px 0;color:#173f38}.fulfill-stages{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.fulfill-stages>div{background:#174f49;color:white;padding:14px 20px;border-radius:8px;min-width:95px;text-align:center}.fulfill-stages strong{display:block;font-size:28px}.fulfill-stages span{display:block}.fulfill-panel li{margin-bottom:12px;line-height:1.5}.fulfill-panel a{color:#a84013}.pool-admin-card fieldset{border:1px solid #bcae83;margin:14px 0;padding:14px}.pool-admin-card .fulfill-check{display:flex;align-items:center;gap:10px}.pool-admin-card .fulfill-check input{width:auto}.fulfill-public{max-width:780px;margin:28px auto;padding:24px;background:#fffdf4;color:#173f38;border-radius:12px}.fulfill-timeline li{padding:7px}.fulfill-timeline [aria-current]{font-weight:bold;background:#e5eddc}.fulfill-panel button,.fulfill-public button,.pool-admin-card button{background:#174f49!important;color:#fff!important;padding:12px 18px;border-radius:6px}.fulfill-public select,.fulfill-public textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px}.fulfill-public label{display:block;margin:18px 0}.fulfill-public a{color:#a84013}@media(max-width:600px){.fulfill-panel,.fulfill-public{padding:16px}.fulfill-stages>div{min-width:68px;padding:10px}.fulfill-panel li{overflow-wrap:anywhere}}
