/* Shared challenges, personal milestones, and member polls. */
.hub-page{--hub-line:#3b512d;--hub-muted:#b1c69f;--hub-green:var(--green);color:#e9f3df}.hub-heading{max-width:900px;margin-top:22px}.hub-heading h1{font-size:clamp(44px,5.5vw,78px);line-height:1.02}.hub-heading>p:not(.eyebrow){max-width:690px}.hub-heading>.button{margin-top:28px}.hub-principles,.hub-jump-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding:23px 0;border-block:1px solid var(--hub-line);margin-top:32px;color:#c5e1af;font-size:12px}.hub-jump-links a{min-height:44px;display:flex;align-items:center;color:var(--hub-green);text-decoration:underline;text-underline-offset:5px}.hub-jump-links{padding:7px 0;gap:30px}.hub-section{margin-top:58px;scroll-margin-top:24px}.hub-section-title{display:flex;align-items:center;justify-content:space-between;gap:24px}.hub-section-title h2{font-size:clamp(32px,3.7vw,52px);line-height:1.04;overflow-wrap:anywhere}.hub-section-title .eyebrow{font-size:9px;color:#a9c88b;letter-spacing:1.2px;margin-bottom:17px}.hub-section-title .outline-button{font-size:11px;min-height:44px;flex:none}.hub-section-intro{font-size:13px;line-height:1.9;color:var(--hub-muted);max-width:850px;margin:24px 0}.hub-challenges{display:grid;gap:24px}.hub-challenge{min-width:0;overflow:hidden;border:1px solid var(--hub-line);background:radial-gradient(ellipse at 10% 10%,#263b16 0,transparent 65%),#111c0c}.hub-challenge.is-enrolled{border-color:#799c4c}.hub-challenge-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;font-size:11px;color:var(--hub-muted);padding:22px 28px 0}.hub-tag{display:inline-flex;font-size:9px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;line-height:1.5;border:1px solid #506a39;color:#b3cd9c;padding:6px 9px;width:fit-content}.hub-tag.active{border-color:#82b948;color:#d2ffae;background:#2b411b}.hub-challenge-body{display:grid;grid-template-columns:145px minmax(0,1fr);gap:30px;padding:28px}.hub-lighthouse{width:100%;max-width:150px;align-self:center}.hub-lighthouse svg{display:block;width:100%;max-height:250px;overflow:visible}.hub-light-shell{fill:#22331b;stroke:#769d52;stroke-width:1.4;stroke-linejoin:round}.hub-light-lines{fill:none;stroke:#0a1903;stroke-width:2.5}.hub-light-ground{stroke:#7fa154;stroke-width:1.4}.hub-beams{fill:var(--green);opacity:.1}.hub-beams.complete{opacity:.8}.hub-lighthouse rect{transition:y .6s ease,height .6s ease}.hub-challenge h3,.hub-poll h3,.hub-public-poll h3{font-size:clamp(28px,3vw,40px);line-height:1.1;overflow-wrap:anywhere}.hub-challenge-body>div>p{font-size:13px;line-height:1.9;color:var(--hub-muted);margin-top:17px;white-space:pre-line}.hub-challenge-body .hub-dates{font-size:10px;color:#c2d8ac;margin-top:17px}.hub-challenge-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:25px}.hub-challenge-total strong{font-family:var(--display);font-size:clamp(48px,6vw,76px);line-height:1;color:var(--hub-green);overflow-wrap:anywhere}.hub-challenge-total>span{font-size:11px;color:#b6ca9e}.hub-challenge-body .hub-challenge-count{font-size:11px;margin-top:12px}.hub-challenge-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px;border-top:1px solid var(--hub-line);background:#0f1b09;font-size:12px;color:#b5cda1}.hub-challenge-bottom>div{display:flex;flex-direction:column;gap:8px;min-width:0}.hub-challenge-bottom strong{font-size:12px;color:#d4e8c1;font-weight:500}.hub-challenge-bottom>div>span{font-size:10px;line-height:1.7}.hub-challenge-bottom button,.hub-challenge-bottom .text-link{min-height:44px;flex:none;font-size:11px}.hub-challenge-bottom .quiet-button{color:#c4e3ab;text-decoration:underline;text-underline-offset:4px}.hub-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-achievement{border:1px solid #354a27;min-width:0;padding:25px;background:#111c0c;transition:border-color .2s ease,transform .2s ease}.hub-achievement:hover{transform:translateY(-3px);border-color:#7fac50}.hub-achievement.earned{background:radial-gradient(ellipse at 10% 0,#2c451b,transparent 75%),#17260f;border-color:#638c3e}.hub-achievement-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.hub-achievement-top>span{font-size:9px;color:#a7bf93;line-height:1.5}.earned .hub-achievement-top>span{color:var(--hub-green)}.hub-pillar-mark{width:49px;height:49px;fill:none;stroke:#688550;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.hub-pillar-mark .pillar-highlight{stroke:var(--green);stroke-width:2.5}.earned .hub-pillar-mark .pillar-highlight{stroke:var(--hub-green);filter:drop-shadow(0 0 5px rgba(var(--green-rgb),0.333))}.hub-achievement>small{font-size:8px;letter-spacing:1px;color:#9ebd85}.hub-achievement h3{font-size:25px;line-height:1.12;margin-top:12px;overflow-wrap:anywhere}.hub-achievement p{font-size:11px;line-height:1.85;color:#abc299;min-height:4em;margin-top:15px}.hub-badge-track{height:3px;background:#34482a;margin-top:22px;overflow:hidden}.hub-badge-track>span{height:100%;display:block;background:#8eb868}.earned .hub-badge-track>span{background:var(--hub-green)}.hub-badge-progress{display:block;font-size:9px;color:#c1d8ac;margin-top:10px}.hub-earned-count{font-size:11px;border:1px solid #516e39;color:#c8e5ae;padding:12px 15px;flex:none}.hub-polls{display:grid;gap:23px}.hub-poll{background:#121e0e;border:1px solid var(--hub-line);padding:28px;min-width:0}.hub-poll-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:25px}.hub-poll-heading>span:last-child{font-size:10px;color:#b7ca9d;line-height:1.7}.hub-poll>p,.hub-public-poll>p{font-size:13px;line-height:1.9;color:var(--hub-muted);margin-top:16px;white-space:pre-line}.hub-poll form{margin-top:24px}.hub-poll fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}.hub-poll-option{display:block;border:1px solid #415733;background:#172411;cursor:pointer;padding:17px 18px}.hub-poll-option.chosen{border-color:#8dbd58;background:#22351a}.hub-poll-option-main{display:flex;gap:12px;align-items:center;font-size:13px;color:#d2e7bf;line-height:1.7}.hub-poll-option-main input{accent-color:var(--green);flex:none;width:18px;height:18px}.hub-poll-option-main>span{flex:1;min-width:0;overflow-wrap:anywhere}.hub-poll-option-main small{display:block;color:var(--green);font-size:9px}.hub-poll-option-main strong{font-size:12px;color:var(--green);font-weight:500}.hub-vote-track{display:block;background:#2e4223;height:3px;margin-top:13px;margin-left:30px;overflow:hidden}.hub-vote-track>span{display:block;height:100%;background:#8cbb62;transition:width .3s ease}.hub-poll-actions{display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap;margin-top:24px}.hub-poll-actions>span{font-size:10px;line-height:1.8;color:#a7c290}.hub-poll-actions button{font-size:11px;min-height:44px}.hub-poll-actions .quiet-button{color:#c6dfa9;text-decoration:underline}.hub-empty{background:#111b0d;border:1px dashed #4d6838;padding:30px;margin-top:24px;min-width:0}.hub-empty h3{font-size:28px;line-height:1.15}.hub-empty p{font-size:13px;line-height:1.9;color:var(--hub-muted);margin-top:16px;max-width:650px}.hub-empty .text-link{font-size:12px;margin-top:22px}.hub-public-poll{border:1px solid var(--hub-line);padding:28px;margin-block:20px;background:#14200e}.hub-public-poll h3{margin-top:22px}.hub-public-poll .text-link{margin-top:25px;font-size:12px}.hub-invitation{margin-top:40px;background:var(--green);color:#142008;padding:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.hub-invitation .eyebrow{font-size:9px;letter-spacing:1px;color:#34531e;margin-bottom:20px}.hub-invitation h3{font-size:43px;line-height:1.05}.hub-invitation p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:22px;max-width:480px;color:#2e481c}.hub-invitation .button{background:#15220b;color:var(--green);flex:none;font-size:12px}.hub-admin-note{padding:25px;border:1px solid var(--hub-line);background:#162210;margin-top:28px}.hub-admin-note>strong{font-size:15px;color:#d5efbf;font-weight:500}.hub-admin-note p{font-size:13px;line-height:1.9;color:var(--hub-muted);max-width:880px;margin-top:14px}.hub-admin-note .text-link{font-size:12px;margin-top:15px}.hub-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:28px;align-items:start}.hub-editor{border:1px solid #4c6837;background:#162210;padding:30px;min-width:0;scroll-margin-top:25px}.hub-editor>.eyebrow{font-size:9px;color:#b7d79c;letter-spacing:1px;margin-bottom:20px}.hub-editor h3{font-size:36px;line-height:1.08}.hub-editor>.member-form{margin-top:28px}.hub-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:7px}.hub-editor-actions>button{font-size:11px;min-height:44px}.hub-editor-actions .quiet-button{color:#bdda9e;text-decoration:underline}.hub-options-editor{border:1px solid #466032;padding:20px;display:grid;gap:16px;min-width:0}.hub-options-editor legend{font-size:12px;padding:0 7px;color:#c2dba8}.hub-options-editor>div{display:flex;align-items:flex-end;gap:12px}.hub-options-editor label{flex:1;min-width:0}.hub-options-editor .quiet-button{font-size:10px;color:#c4e3a8;min-height:44px}.hub-admin-items{display:grid;gap:20px;min-width:0}.hub-admin-item{border:1px solid var(--hub-line);background:#111c0c;padding:27px;min-width:0}.hub-admin-item .hub-challenge-top{padding:0}.hub-admin-item h3{font-size:29px;line-height:1.1;margin-top:20px;overflow-wrap:anywhere}.hub-admin-item>p{font-size:11px;color:var(--hub-muted);line-height:1.8;margin-top:16px}.hub-admin-item .hub-editor-actions{margin-top:20px}.hub-admin-results{margin-top:23px}.hub-admin-results>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #354a26;padding:12px 0;font-size:12px;color:#c2dbad;line-height:1.8}.hub-admin-results strong{color:var(--hub-green);font-weight:500}.hub-list-note{font-size:10px;color:#99b382}.hub-home-banner{border-block:1px solid #3b512d;background:radial-gradient(ellipse at 80% 50%,#243a16 0,transparent 65%),#101b0c;padding:50px 0}.hub-home-banner .container{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.hub-home-banner .eyebrow{font-size:9px;color:#bad4a4;margin-bottom:20px;letter-spacing:1px}.hub-home-banner h2{font-size:clamp(36px,4vw,55px);line-height:1.04}.hub-home-banner p:not(.eyebrow){font-size:13px;line-height:1.9;color:#afc59f;margin-top:22px;max-width:650px}.hub-home-banner .button{font-size:12px}.hub-home-banner .hub-home-tags{display:flex;gap:14px 23px;margin-top:20px;flex-wrap:wrap;color:var(--green);font-size:10px}.hub-overview-card{border:1px solid #638c3e;background:linear-gradient(115deg,#263b18,#13200c);padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-block:30px}.hub-overview-card .eyebrow{font-size:8px;color:#b1d290;letter-spacing:1px;margin-bottom:14px}.hub-overview-card h3{font-size:31px;line-height:1.08}.hub-overview-card p:not(.eyebrow){font-size:12px;color:var(--hub-muted,#b1c69f);line-height:1.9;margin-top:13px}.hub-overview-card .button{font-size:11px;min-height:44px;flex:none}
@media(max-width:1000px){.hub-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-admin-layout{grid-template-columns:1fr}.hub-challenge-body{grid-template-columns:125px minmax(0,1fr);gap:22px}}
@media(max-width:600px){.hub-heading h1{font-size:clamp(37px,10vw,52px)}.hub-section{margin-top:42px}.hub-section-title{align-items:flex-start;flex-wrap:wrap;gap:20px}.hub-section-title h2{font-size:34px}.hub-section-intro{font-size:12px;margin:21px 0}.hub-challenge-top{padding:20px 20px 0}.hub-challenge-body{grid-template-columns:76px minmax(0,1fr);padding:23px 18px;gap:17px}.hub-challenge h3{font-size:27px}.hub-challenge-body>div>p{font-size:12px;margin-top:14px}.hub-challenge-total strong{font-size:44px}.hub-challenge-total{gap:9px;margin-top:21px}.hub-challenge-total>span{font-size:10px}.hub-challenge-body .hub-dates{font-size:9px}.hub-challenge-body .hub-challenge-count{font-size:10px}.hub-challenge-bottom{padding:18px 20px;align-items:flex-start;flex-wrap:wrap}.hub-challenge-bottom .button{width:100%;justify-content:center}.hub-challenge-bottom>div>span{font-size:10px}.hub-achievement-grid{gap:12px}.hub-achievement{padding:20px 15px}.hub-achievement h3{font-size:23px}.hub-achievement p{font-size:11px;min-height:6em}.hub-achievement-top{align-items:flex-start;gap:7px;flex-wrap:wrap;margin-bottom:17px}.hub-achievement-top>span{font-size:8px}.hub-pillar-mark{width:43px;height:43px}.hub-earned-count{font-size:10px;padding:10px 12px}.hub-poll{padding:23px 19px}.hub-poll h3{font-size:29px}.hub-poll>p{font-size:12px}.hub-poll-option{padding:14px 12px}.hub-poll-option-main{font-size:12px;gap:10px}.hub-poll-option-main input{width:18px;height:18px}.hub-poll-actions{gap:10px 18px}.hub-poll-actions>.button{width:100%;justify-content:center}.hub-invitation{padding:27px 23px;flex-wrap:wrap;gap:25px}.hub-invitation h3{font-size:37px}.hub-invitation .button{width:100%;justify-content:center}.hub-invitation p:not(.eyebrow){font-size:12px}.hub-empty{padding:25px 21px}.hub-empty h3{font-size:27px}.hub-empty p{font-size:12px}.hub-jump-links{gap:20px;font-size:11px}.hub-principles{font-size:10px;gap:13px 19px}.hub-admin-note{padding:23px}.hub-admin-note p{font-size:12px}.hub-editor{padding:25px 21px}.hub-editor h3{font-size:32px}.hub-admin-item{padding:24px 21px}.hub-options-editor{padding:17px 13px}.hub-options-editor>div{gap:8px}.hub-home-banner{padding:38px 0}.hub-home-banner .container{grid-template-columns:1fr}.hub-home-banner .button{justify-self:start}.hub-overview-card{padding:24px 21px;flex-wrap:wrap}.hub-overview-card h3{font-size:29px}.hub-overview-card .button{width:100%;justify-content:center}}
@media(max-width:360px){.hub-achievement-grid{grid-template-columns:1fr}.hub-achievement p{min-height:0}.hub-challenge-body{grid-template-columns:1fr}.hub-lighthouse{width:86px;justify-self:center}.hub-challenge-total strong{font-size:49px}}
@media(prefers-reduced-motion:reduce){.hub-achievement,.hub-lighthouse rect,.hub-vote-track>span{transition:none}.hub-achievement:hover{transform:none}}
