@charset "UTF-8";
:root{--paper:#f6f5ef;--white:#fffefa;--ink:#243e34;--green:#174d3c;--green-soft:#e9efde;--lime:#dae9ad;--muted:#72786d;--line:#dcded1;--orange:#bf5936;--radius:18px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:wait;opacity:.55}input:disabled,select:disabled,textarea:disabled{opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b96534;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1{font-family:var(--serif);font-size:clamp(38px,4.7vw,62px);letter-spacing:-2px;line-height:1.08;overflow-wrap:anywhere}h2{font-family:var(--serif);font-size:30px;letter-spacing:-.8px;line-height:1.2}h3{font-size:18px}svg{display:block}.icon{width:22px;height:22px;flex-shrink:0}.wrap{width:min(1080px,calc(100% - 64px));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;display:block}.mobile-only{display:none}.skip-link{position:fixed;left:16px;top:-80px;padding:12px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:12px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:19px;font-weight:750;letter-spacing:2.8px;line-height:1.2}.brand-mark{width:44px;height:44px;border-radius:13px;background:var(--green);color:var(--lime);display:grid;place-items:center}.brand-mark .icon{width:29px;height:29px}.brand-caption{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:6px;font-weight:600}.header-label{font-size:12px;color:var(--muted)}.header-link{font-size:13px;display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}.header-link .icon{width:18px}.hero{position:relative;background:var(--green-soft);border:1px solid #dde5d0;min-height:305px;border-radius:24px;display:grid;grid-template-columns:1.45fr 1fr;overflow:hidden}.hero-copy{padding:40px 0 36px 40px;z-index:1}.hero .eyebrow{color:var(--green);display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.6px}.small-star{font-size:20px;line-height:1}.hero h1{margin:17px 0 18px;color:var(--green)}.hero p{font-size:15px;line-height:1.7;color:#617363}.live-badge{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2px;margin-top:24px;color:var(--green)}.status-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#4d8052;box-shadow:0 0 0 3px #4d805212}.status-dot.pending{background:#a5a88b;box-shadow:none}.route-art{position:relative;min-width:0;padding:38px 10px 10px 0;align-self:center}.route-art svg{width:100%;max-height:240px}.art-coordinate{position:absolute;right:25px;top:20px;font:9px var(--sans);letter-spacing:1.2px;color:#8e9b7e}.art-note{position:absolute;right:25px;bottom:18px;color:#728366;font:italic 12px/1.5 var(--serif);transform:rotate(-7deg)}.contour{stroke:#cedabc;stroke-width:1;opacity:.55}.event-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;border-bottom:1px solid var(--line);margin:0 4px}.event-stats>div{display:flex;align-items:center;justify-content:center;gap:17px;border-left:1px solid var(--line)}.event-stats>div:first-child{border:0}.event-stats .icon{width:24px;height:24px;color:#80916b}.event-stats>div>span{display:flex;align-items:baseline;gap:8px}.event-stats strong{font:29px var(--serif);color:var(--green)}.event-stats span span{font-size:12px;color:var(--muted)}.board{padding-top:40px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.section-heading .eyebrow{font-size:9px;margin-bottom:10px}.section-heading p{margin-top:9px;font-size:14px}.sort-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--green);background:#eceee5;padding:8px 12px;border-radius:8px}.sort-label span{font-size:10px;font-weight:400;color:var(--muted)}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 3px 16px}.board-toolbar p{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.board-toolbar p.is-error .status-dot{background:var(--orange)}.button{border:1px solid transparent;border-radius:10px;min-height:46px;padding:10px 17px;display:inline-flex;justify-content:center;align-items:center;gap:10px;text-decoration:none;font-size:13px;font-weight:600;transition:background .15s,color .15s}.button .icon{width:17px;height:17px}.button-primary{background:var(--green);color:white}.button-primary:hover{background:#0d392b}.button-subtle{background:transparent;color:var(--green);min-height:44px;padding:8px 10px}.button-subtle:hover{background:#e8ecde}.button-outline{border-color:var(--line);color:var(--ink);background:var(--white)}.button-outline:hover{background:#eef0e6}.button-danger{background:#f7ebe5;border-color:#ebc9bc;color:#a13f25}.button-danger:hover{background:#f1ddd3}.full-width{width:100%}.team-list{display:grid;gap:13px}.team-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:23px 27px 20px;position:relative}.team-card.changed{animation:highlight 2.2s ease-out}.team-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.team-identity{display:flex;align-items:center;gap:13px;min-width:0}.team-monogram{height:40px;width:40px;flex-shrink:0;border:1px solid #dce4d0;background:#ecf1e2;border-radius:12px;display:grid;place-items:center;color:#56724a;font-size:12px;font-weight:700}.team-monogram[data-color="1"]{background:#f2ece2;border-color:#e9dfce;color:#97744c}.team-monogram[data-color="2"]{background:#e6edeb;border-color:#d6e1df;color:#4d7a76}.team-monogram[data-color="3"]{background:#eee9ef;border-color:#e2dce5;color:#827089}.team-name{font-size:17px;font-weight:600;overflow-wrap:anywhere;line-height:1.35}.team-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.progress-badge{flex-shrink:0;font-size:11px;color:#6b755f;background:#f0f2e9;padding:6px 10px;border-radius:6px;white-space:nowrap}.progress-badge strong{color:var(--green);font-weight:650}.team-card.finished{border-color:#b9c99e;background:#fcfdf6}.finished .progress-badge{background:var(--green);color:#e1edc8}.finished .progress-badge strong{color:white}.timeline{list-style:none;display:flex;padding:0;margin:22px 0 0;width:100%;counter-reset:step}.timeline li{position:relative;flex:1;text-align:center;min-width:0;font-size:10px;color:#858977}.timeline li:first-child{text-align:left;flex:0 0 17px}.timeline li:last-child{text-align:right}.timeline li::before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:#e2e4d7}.timeline li:first-child::before{display:none}.timeline li.done::before{background:#608354}.step-dot{width:27px;height:27px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;margin-left:auto;background:var(--white);border:1.5px solid #d8ddcd;border-radius:50%;color:#8b9381;font-size:10px;font-weight:500}.timeline li:first-child .step-dot{margin:0}.timeline .done .step-dot{border-color:#4c7044;background:#4c7044;color:white}.timeline .current .step-dot{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px #e6edda}.timeline li:last-child .step-dot{border-radius:7px}.step-label{display:block;margin-top:6px;text-align:right;padding-right:8px;font-size:9px;letter-spacing:.2px}.timeline li:first-child .step-label{text-align:left;padding:0}.timeline li:last-child .step-label{padding:0}.timeline .step-middle .step-label{padding-right:10px}.timeline li:first-child{flex-basis:27px}.team-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #eff0e8;font-size:10px;color:#858b7e}.team-footer .completion{color:var(--green);font-weight:600}.board-caption{text-align:center;font-size:11px;color:#868b7d;line-height:1.8;margin:26px 0 0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:55px;padding:25px 0;border-top:1px solid var(--line);font-size:11px;color:#858b7c}.site-footer span,.site-footer a{display:flex;align-items:center;gap:8px}.site-footer a{min-height:44px;text-decoration:none}.site-footer .icon{height:15px;width:15px}.notice{border:1px solid #dfd7ad;background:#f8f1d9;padding:16px 18px;border-radius:12px;font-size:13px;line-height:1.6;margin-bottom:18px;overflow-wrap:anywhere}.notice-error{border-color:#e9c1b3;background:#fbede5;color:#8d3f28}.empty-state,.loading-card{background:var(--white);border:1px dashed #cbd2bd;border-radius:var(--radius);text-align:center;padding:40px 22px;color:var(--muted);font-size:14px}.empty-state h3{font-family:var(--serif);color:var(--green);font-size:26px;margin:10px 0}.empty-state .icon{height:36px;width:36px;margin:0 auto 13px;color:#7c9666}.empty-state .button{margin-top:20px}.loading-card{padding:60px 22px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 21px;color:white;background:var(--green);border-radius:12px;box-shadow:0 6px 25px #173e3426;z-index:20;font-size:13px;width:max-content;max-width:calc(100% - 32px);text-align:center}.toast.error{background:#8c3d26}.admin-main{min-height:65vh}.login-panel{display:grid;grid-template-columns:1fr 1fr;min-height:470px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--white);margin-top:25px}.login-art{position:relative;overflow:hidden;background:var(--green-soft);padding:46px}.login-art h1{font-size:48px;margin:24px 0;color:var(--green)}.login-art p{font-size:13px;line-height:1.8;color:#6e7c65}.large-compass{position:absolute;bottom:-95px;right:-70px;transform:rotate(16deg);color:#bacba5;opacity:.45}.large-compass .icon{height:320px;width:320px;stroke-width:.6}.login-form-wrap{padding:48px}.login-icon{color:var(--green);margin-bottom:20px;display:block}.login-form-wrap>p{font-size:13px;margin-top:12px}.login-form-wrap form{margin-top:28px}.login-form-wrap .button{margin-top:20px}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}input,select,textarea{display:block;width:100%;min-height:48px;border:1px solid #cfd4c6;border-radius:9px;background:#fffefa;padding:11px 13px;color:var(--ink);font-size:16px;line-height:1.5}textarea{resize:vertical;min-height:142px}input::placeholder,textarea::placeholder{color:#9da38f}.password-field{position:relative}.password-field input{padding-right:83px}.password-field button{position:absolute;right:3px;top:3px;height:42px;padding:0 12px;border:0;background:transparent;font-size:11px;color:var(--green);border-radius:6px}.form-error{font-size:12px;color:#a4492c;margin-top:12px}.login-footnote{font-size:10px!important;color:var(--muted);margin-top:25px!important}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:25px}.admin-heading h1{font-size:44px;letter-spacing:-1.5px;margin:12px 0}.admin-heading p{font-size:14px}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:30px 0}.admin-tabs button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:53px;background:transparent;border:0;border-bottom:3px solid transparent;padding:10px 17px;color:var(--muted);font-size:13px}.admin-tabs button.active{border-bottom-color:var(--green);color:var(--green);font-weight:650}.admin-tabs button:hover{background:#eef0e6}.admin-tabs button .icon{width:17px;height:17px}.admin-tabs button:last-child{margin-left:auto}.search-field{position:relative;display:flex;align-items:center;margin:0 0 20px}.search-field input{padding-left:43px;padding-right:105px;background:#f0f1e8;border-color:transparent}.search-field>.icon{position:absolute;left:14px;width:17px;height:17px;color:#7c886c}.search-field>span{position:absolute;right:15px;font-size:11px;pointer-events:none}.admin-team-card .team-name{font-size:17px}.edit-team{border:0;background:transparent;min-width:44px;height:44px;border-radius:8px;color:var(--muted);font-size:23px}.edit-team:hover{background:#eef0e5}.progress-editor{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:19px}.stage-fieldset{border:0;padding:0;margin:0;flex:1;min-width:0}.stage-fieldset legend{font-size:10px;color:var(--muted);margin:0 0 8px;padding:0}.stage-options{display:flex;gap:5px}.stage-choice{position:relative;flex:1;max-width:56px;min-width:0;margin:0}.stage-choice input{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;margin:0;cursor:pointer}.stage-choice span{height:46px;display:flex;align-items:center;justify-content:center;font-size:14px;border:1px solid #d8dece;background:#f8f9f1;border-radius:8px}.stage-choice input:checked+span{background:var(--green);border-color:var(--green);color:white}.stage-choice input:focus-visible+span{outline:3px solid #b96534;outline-offset:3px}.stage-choice input:disabled+span{opacity:.6}.save-progress{min-width:180px}.save-progress:disabled{background:#edf0e5;color:#8e9784;opacity:1;border-color:transparent;cursor:default}.pending-label{color:#b15f34!important}.admin-team-card .team-footer{margin-top:15px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.panel-number{font-size:9px;letter-spacing:1.5px;color:#81916b;font-weight:600}.panel h2{font-size:27px;margin:13px 0 27px}.panel label:not(:first-child){margin-top:19px}.panel .button{margin-top:21px}.field-help{font-size:11px;color:var(--muted);margin:9px 0 0;line-height:1.6}.reset-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.reset-panel p{font-size:12px;margin-top:7px}.reset-panel .button{margin:0;flex-shrink:0}.modal{width:min(480px,calc(100% - 28px));border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink);background:var(--white);box-shadow:0 24px 90px #102e3330;max-height:calc(100dvh - 40px);overflow-y:auto}.modal::backdrop{background:#172d275e;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.modal-heading h2{font-size:27px}.modal-heading .close-dialog{width:44px;height:44px;flex-shrink:0;background:#f1f2e8;border:0;border-radius:50%;font-size:24px;color:#737f66}.modal p{font-size:13px;line-height:1.7;margin-bottom:19px}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.modal-actions .button{flex:1}.qr-code{width:220px;margin:12px auto 24px}.qr-code svg{width:100%;height:auto}.share-modal input{font-size:13px}.share-modal label{margin-top:15px}code{font-size:11px}.spinning{animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes highlight{0%,25%{background:#eaf3d2;border-color:#99b46f}100%{background:var(--white)}}
@media(min-width:1000px){.team-card{padding:25px 29px 21px}.timeline{margin-top:23px}.hero-copy{padding-top:42px;padding-bottom:39px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:87px}.header-label{font-size:10px}.hero{grid-template-columns:1.4fr 1fr;min-height:280px}.hero-copy{padding:29px 0 30px 25px}.hero h1{font-size:42px}.hero p{font-size:13px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.route-art{padding-top:65px;align-self:stretch;display:flex;align-items:center}.art-coordinate{font-size:7px;right:15px;top:27px}.art-note{right:12px;bottom:38px;font-size:10px}.event-stats>div{gap:10px}.event-stats>div>span{display:block;line-height:1.2}.event-stats span span{display:block;font-size:10px;margin-top:4px}.event-stats strong{font-size:26px}.event-stats .icon{width:20px;height:20px}.login-panel{grid-template-columns:1fr 1.2fr}.login-art{padding:30px}.login-art h1{font-size:37px}.login-form-wrap{padding:32px 26px}.settings-grid{gap:14px}.panel{padding:22px}.panel h2{font-size:24px}.progress-editor{gap:14px}.save-progress{min-width:150px}.admin-heading h1{font-size:38px}}
@media(max-width:540px){.wrap{width:calc(100% - 32px)}.site-header{height:82px;gap:10px}.brand{font-size:16px;gap:10px;letter-spacing:2px}.brand-mark{width:38px;height:38px;border-radius:11px}.brand-mark .icon{width:25px;height:25px}.brand-caption{font-size:7px;letter-spacing:1px;margin-top:5px}.header-label{max-width:90px;text-align:right;font-size:10px;line-height:1.5}.header-link{font-size:11px;gap:5px}.header-link .icon{width:15px}.hero{grid-template-columns:1fr;min-height:0;border-radius:19px;isolation:isolate}.hero-copy{padding:27px 23px 26px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero h1{font-size:43px;letter-spacing:-1.8px;max-width:100%;margin-top:15px;margin-bottom:14px}.hero p{font-size:12px;position:relative;z-index:1}.hero .live-badge{font-size:9px;margin-top:23px}.route-art{position:absolute;width:190px;right:-49px;bottom:-10px;opacity:.32;z-index:-1;padding:0}.art-coordinate,.art-note{display:none}.event-stats{padding:21px 0;margin:0}.event-stats>div{display:block;text-align:center;padding:0 3px}.event-stats .icon{display:none}.event-stats strong{font-size:26px}.event-stats span span{font-size:9px;line-height:1.4}.board{padding-top:29px}.section-heading{margin-bottom:14px;gap:10px}.section-heading h2{font-size:27px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:8px}.sort-label{padding:7px 8px;gap:0;font-size:11px}.sort-label span{display:none}.board-toolbar{gap:5px;margin:0 0 13px}.board-toolbar p{font-size:9px;gap:7px;max-width:calc(100% - 90px)}.board-toolbar .button{font-size:10px;padding:8px 5px;gap:6px}.board-toolbar .icon{width:15px}.team-list{gap:12px}.team-card{padding:17px 17px 14px;border-radius:14px}.team-top{gap:9px}.team-identity{gap:10px}.team-monogram{height:34px;width:34px;border-radius:10px;font-size:10px}.team-name{font-size:15px}.team-subtitle{font-size:9px}.progress-badge{font-size:9px;padding:5px 7px}.timeline{margin-top:22px}.step-dot{width:25px;height:25px;font-size:9px}.timeline li:first-child{flex-basis:25px}.timeline li::before{top:12px}.step-label{font-size:8px;padding-right:7px}.timeline .step-middle .step-label{padding-right:9px}.team-footer{font-size:9px;margin-top:13px;padding-top:11px;gap:6px}.board-caption{font-size:10px;margin-top:22px}.mobile-only{display:block}.site-footer{margin-top:35px;padding:19px 0;align-items:flex-start;gap:12px;font-size:9px}.site-footer>span{padding-top:13px}.site-footer .icon{width:13px;height:13px}.site-footer a{gap:5px}.notice{font-size:12px;padding:13px 15px}.login-panel{display:block;margin-top:8px;border-radius:18px}.login-art{padding:25px 24px 23px}.login-art h1{font-size:36px;margin:14px 0 12px;letter-spacing:-1px}.login-art h1 br{display:none}.login-art p{font-size:12px}.login-art .eyebrow{font-size:8px}.large-compass{right:-60px;bottom:-105px}.large-compass .icon{width:260px;height:260px}.login-form-wrap{padding:28px 24px}.login-icon{display:none}.login-form-wrap h2{font-size:27px}.login-form-wrap form{margin-top:23px}.admin-heading{padding-top:15px;align-items:flex-start}.admin-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.admin-heading h1{font-size:33px;letter-spacing:-1.1px;line-height:1.15;margin:10px 0}.admin-heading .button{padding:8px 13px;min-height:44px;font-size:11px}.admin-heading p{font-size:12px}.admin-tabs{margin:24px 0;gap:0}.admin-tabs button{padding:10px;font-size:11px;gap:5px;flex:1}.admin-tabs button:last-child{margin:0;flex:0}.admin-tabs button .icon{width:15px;height:15px}.admin-tabs button:last-child span{display:none}.admin-tabs button:last-child{min-width:46px}.section-heading p{font-size:11px;margin-top:7px;max-width:245px}.section-heading>.button{font-size:10px;gap:5px;padding-inline:5px}.section-heading>.button .icon{width:14px}.search-field input{font-size:14px}.search-field>span{font-size:10px}.admin-team-card .team-name{font-size:15px}.edit-team{margin:-5px -6px -5px 0}.progress-editor{display:block;margin-top:17px}.stage-options{gap:5px}.stage-choice{max-width:none}.stage-choice span{height:46px;font-size:13px}.stage-options.many{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.save-progress{width:100%;margin-top:13px;min-height:44px;font-size:12px}.admin-team-card .team-footer{font-size:10px}.settings-grid{grid-template-columns:1fr;gap:17px}.panel{padding:23px}.panel h2{font-size:26px}.panel .button{width:100%}.reset-panel{display:block;margin-top:17px}.reset-panel .button{margin-top:20px}.reset-panel h3{font-size:16px}.modal{padding:22px}.modal-heading{gap:10px}.modal-heading h2{font-size:25px}.modal-actions{gap:8px}.modal-actions .button{padding:10px;font-size:11px}.empty-state{padding:30px 18px}.empty-state p{font-size:12px}.toast{bottom:16px}.qr-code{width:190px}}
@media(max-width:540px){.team-name{font-size:16px}.progress-badge{font-size:10px}.step-dot{font-size:11px}.step-label{font-size:9px}.team-footer{font-size:10px}.board-toolbar p{font-size:10px}.board-caption{font-size:11px}.stage-fieldset legend{font-size:11px}.field-help{font-size:12px}.admin-team-card .team-name{font-size:16px}.search-field input,.share-modal input{font-size:16px}}
@media(max-width:360px){.stage-options,.stage-options.many{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
body[data-page="public"] .site-header{height:76px}
body[data-page="public"] .header-label{overflow-wrap:anywhere;max-width:45%;text-align:right}
body[data-page="public"] .board{padding-top:16px}
body[data-page="public"] #board-title{font-size:34px;letter-spacing:-1px;line-height:1.2}
.sort-control{display:flex;flex-shrink:0;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#eceee5}
.sort-control button{min-height:44px;border:0;border-radius:8px;padding:8px 16px;background:transparent;color:#59664f;font-size:13px;font-weight:600}
.sort-control button[aria-pressed="true"]{background:var(--green);color:white}
.sort-control button:hover:not([aria-pressed="true"]){background:#e0e5d5}
@media(max-width:540px){
  body[data-page="public"] .site-header{height:68px}
  body[data-page="public"] .board{padding-top:12px}
  body[data-page="public"] .section-heading{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:8px}
  body[data-page="public"] #board-title{font-size:29px}
  .sort-control button{flex:1;font-size:14px}
}
/* Event identity follows the poster without adding an introductory banner. */
.brand{min-width:0;flex:1;letter-spacing:normal}
.brand-mark{flex-shrink:0}
.brand-copy{min-width:0}
.brand-title{display:block;font-size:19px;letter-spacing:-.3px;line-height:1.25;overflow-wrap:anywhere}
.brand-caption{font-size:9px;letter-spacing:.7px;line-height:1.4;margin-top:4px}
.site-header,body[data-page="public"] .site-header{height:auto;min-height:76px;padding-block:12px}
.header-link{flex-shrink:0}
.site-footer{align-items:flex-start;flex-wrap:wrap}
.event-signature{flex:1 1 360px;line-height:1.6}
.mission-motto{font:italic 15px/1.5 var(--serif);color:var(--green);margin-bottom:5px}
.mission-cause{max-width:58ch;margin-top:5px;font-size:11px}
@media(max-width:540px){
  .brand{gap:9px}
  .brand-title{font-size:16px;letter-spacing:-.2px}
  .brand-caption{font-size:8px;letter-spacing:.4px}
  .site-header,body[data-page="public"] .site-header{min-height:76px;padding-block:10px}
  .site-footer{font-size:11px;gap:8px}
  .mission-motto{font-size:14px}
  .site-footer a{font-size:11px}
}
@media(max-width:360px){
  body[data-page="admin"] .header-link{max-width:74px;line-height:1.3}
  body[data-page="admin"] .brand-caption{letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
