/* Dark remains the original palette. Light uses darker team accents for readable text. */
:root{color-scheme:dark}.theme-picker{display:inline-flex;gap:3px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:30px;background:var(--panel);flex-shrink:0}.theme-picker button{min-height:40px;padding:8px 13px;border:0;border-radius:24px;background:transparent;color:var(--muted);font:700 14px/1.4 Arial;cursor:pointer}.theme-picker button[aria-pressed=true]{background:#b4ff28;color:#101210}.theme-picker button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media screen{
html[data-theme=light]{color-scheme:light;--bg:#98fe98;--ink:#98fe98;--panel:#88e888;--green:#3ff61c;--yellow:#ffff00;--red:#fa0120;--text:#202328;--muted:#3c424b;--line:#65ac65;--section-bg:#88e888;--inset-bg:#ccfbcc}
html[data-theme=light] body{background:var(--bg);color:var(--text)}
html[data-theme=light] :is(input,textarea,select,dialog,.secondary,.brand span){color:var(--text)}
html[data-theme=light] :is(button,.button):not(.secondary):not(.logo-stage):not(.cal-day):not(.cal-entry):not([data-community-channel]):not([data-theme-choice]):not(.menu-toggle){background:#3ff61c;color:#14200c}
html[data-theme=light] :is(.secondary,.menu-toggle){background:transparent;color:var(--text)}
html[data-theme=light] :is(.dark,.button.dark){background:#202328!important;color:#fff!important}
html[data-theme=light] :is(.feature,.join){background:#3ff61c;color:#202328}
html[data-theme=light] :is(.join h1,.join h2,.join h3,.feature h3){color:#202328}
html[data-theme=light] :is(.practice,.learning-routine,#support .notice,.history-page .history-news,.history-page .history-gap){background:#80db80}
html[data-theme=light] :is(.mission,.branch-grid>a,.robotics-link,.cal-day,.cal-entry):hover{background:#7ddd7d}
html[data-theme=light] :is(.countdown-card,.history-page .history-season,.history-page .history-origins,.history-page .history-media,.community-layout){background:#a5f3a5;border-color:var(--line)}
html[data-theme=light] :is(.countdown-values>div,.meeting-totals>div,.history-page figure,.history-page .news-card,.history-page .media-card,.history-page .origin-card){background:#ccfbcc;border-color:var(--line)}
html[data-theme=light] :is(.countdown-values span,.countdown-status,.meeting-totals span,.history-page .source-meta,.history-page .history-count,.history-page .history-small){color:var(--muted)}
html[data-theme=light] :is(.history-page select,.history-page input){background:#ccfbcc;color:var(--text);border-color:var(--line)}
html[data-theme=light] :is(.history-page .history-events a,.history-page figcaption a){color:var(--green)}
html[data-theme=light] :is(.history-page .history-badge,.badge){background:#deebcf;color:#305a10}
html[data-theme=light] :is(.badge.review,.badge.pending){background:#fff0b5;color:#735000}
html[data-theme=light] :is(.badge.revoked,.badge.void){background:#ffe1da;color:#99221d}
html[data-theme=light] .intro strong{color:var(--text)}
html[data-theme=light] .cal-toolbar button{background:var(--panel)!important;color:var(--text)!important}
html[data-theme=light] .cal-toolbar button[aria-pressed=true]{background:#3ff61c!important;color:#14200c!important}
html[data-theme=light] :is(.cal-toolbar button[aria-pressed=true],.history-page .year-links a[aria-current],.portal-section-nav a[aria-current=page]){background:#3ff61c;color:#14200c}
html[data-theme=light] .logo-stage{background:radial-gradient(circle,#a7f7a7,transparent 68%)}
html[data-theme=light] .logo-stage img{filter:drop-shadow(0 12px 18px #20232825)}
html[data-theme=light] :is(.community-sidebar,.spin-scores li){background:#84e284}
html[data-theme=light] :is(.community-sidebar h3,.spin-count){color:var(--yellow)}
html[data-theme=light] :is(.community-sidebar button,.community-post blockquote,.community-post time){color:var(--muted)}
html[data-theme=light] :is(.community-conversation h3,.spin-scores strong){color:var(--green)}
html[data-theme=light] .community-sidebar button[aria-pressed=true]{background:#3ff61c;color:#14200c}
html[data-theme=light] .community-role{background:#ccfbcc;color:#3c424b;border-color:#848b95}
html[data-theme=light] .community-role.student{color:#202328;border-color:#5f7059;background:#3ff61c}
html[data-theme=light] .community-role.alumni{color:#202328;border-color:#65ac65;background:#ffff00}
html[data-theme=light] .community-role.mentor{color:#15576b;border-color:#498797;background:#e4f5fa}
html[data-theme=light] .community-role.coach{color:#202328;border-color:#b6615c;background:#ffebe7}
html[data-theme=light] .community-post{border-color:var(--line)}
html[data-theme=light] :is(.community-person,.community-report){background:#ccfbcc;border-color:var(--line)}
html[data-theme=light] #correction-error{color:#a52a23}
html[data-theme=light] :focus-visible{outline-color:#b72d25}
}
@media(max-width:700px){.theme-picker{margin-left:auto}.theme-picker button{min-height:44px;padding:9px 12px}}
@media print{.theme-picker{display:none!important}}

@media screen{html[data-theme=light] :is(.home-destinations h2,.branch-intro h2,.resource-section>h2,#opportunities h1,#support h1,#missions .section-head h1,.branch-grid>a:nth-child(2) h3,.learning-track h2,.practice h3,.mission h3,.season-checklist h3,.schedule h3,.season-event h3,.cal-detail h3,.countdown-card h2,.meeting-countdown h3,.meeting-totals strong,.logo-click-total,.history-page h1,.history-page .season-year,.history-page .award-list,.history-page .news-card h3,.history-page .media-card h3,.history-page .origin-card h3,.contact-intro h1,.contact-card:nth-child(2) h2,.community-sidebar h3,.spin-count,.note-color,.yellow){text-shadow:0 1px 1px #202328;-webkit-text-stroke:.45px #202328;paint-order:stroke fill}}

@media screen{html[data-theme=light] .theme-picker button[aria-pressed=true]{background:#3ff61c;color:#14200c}html[data-theme=light] :is(h1 span,.eyebrow,.home-shortcuts a,.resource-links a,.contact-email,.mission .number,.mission .card-action,.robotics-link h3,.branch-grid>a:first-child h3,.branch-grid>a:nth-child(3) h3,#parts.resource-section>h2,.learning-track#electrical h2,.community-conversation h3,.portal-quick-links strong,.stats strong,.hour-box>span,.spin-scores strong,.meeting,.closed,.red,.cal-source a){text-shadow:0 1px 1px #202328;-webkit-text-stroke:.4px #202328;paint-order:stroke fill}}

/* Outline the actual colored text, including dynamically rendered calendar/chat content. */
@media screen{html[data-theme=light] .team-color-outline{-webkit-text-stroke:1.5px #000!important;paint-order:stroke fill!important;text-shadow:none!important}}

/* Readable text colors are separate from bright brand fills and borders. */
@media screen{html[data-theme=light] .team-readable-green{color:#17491a!important;-webkit-text-stroke:0!important;text-shadow:none!important}html[data-theme=light] .team-readable-yellow{color:#514000!important;-webkit-text-stroke:0!important;text-shadow:none!important}}

@media screen{html[data-theme=light] .team-readable-red{color:#701d24!important;-webkit-text-stroke:0!important;text-shadow:none!important}}

/* Shared introduction treatment across public pages and portal sections. */
html body main :is(h1,h2).hurricane-title {
 color:transparent!important;-webkit-text-fill-color:transparent;-webkit-text-stroke:0!important;text-shadow:none!important;
 background:linear-gradient(90deg,#3ff61c,#ffff00,#fa0120,#3ff61c);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;
 animation:shared-intro-colors 10s ease-in-out infinite;
}
html[data-theme="light"] body main :is(h1,h2).hurricane-title {background-image:linear-gradient(90deg,#17491a,#514000,#8c1025,#17491a)}
html body main .hurricane-title :is(span,strong,em) {color:transparent!important;-webkit-text-fill-color:transparent;-webkit-text-stroke:0!important;text-shadow:none!important;background:none!important}
@keyframes shared-intro-colors {0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 10px #3ff61c50)}33%{background-position:50% 50%;filter:drop-shadow(0 0 10px #ffff0050)}66%{background-position:100% 50%;filter:drop-shadow(0 0 10px #fa012065)}}
@media(prefers-reduced-motion:reduce){html body main :is(h1,h2).hurricane-title{animation:none;filter:drop-shadow(0 0 8px #3ff61c40)}}
@media print, (forced-colors:active){html body main :is(h1,h2).hurricane-title,html body main .hurricane-title :is(span,strong,em){animation:none;background:none!important;filter:none;color:CanvasText!important;-webkit-text-fill-color:CanvasText}}

/* 2010-inspired presentation only. Modern layout, accessibility and security remain. */
@media screen {
html[data-theme=light]{--bg:#d5d9de;--ink:#f6f6f6;--panel:#fff;--section-bg:#e8ebee;--inset-bg:#f4f5f6;--text:#20272d;--muted:#4c5661;--line:#a4abb2;--green:#24690b;--yellow:#685000;--red:#a31522}
html[data-theme=light] body{font-family:Arial,Helvetica,sans-serif;background:repeating-linear-gradient(135deg,#d6dade 0 2px,#dce0e4 2px 5px);color:#20272d}
html[data-theme=light] header{position:relative;background:linear-gradient(#414850,#15191e);border-top:5px solid #3ff61c;border-bottom:4px solid #b01824;box-shadow:0 3px 9px #0005;color:#fff;max-width:1180px;margin:auto;box-sizing:border-box}
html[data-theme=light] header :is(a,.brand span){color:#fff!important;-webkit-text-stroke:0!important;text-shadow:0 1px #000!important}
html[data-theme=light] header nav a{border-radius:4px;border:1px solid #596169;background:linear-gradient(#4c555e,#272d34);padding:10px 13px;font-size:14px;box-shadow:inset 0 1px #ffffff30}
html[data-theme=light] header nav a:hover{background:linear-gradient(#87cf44,#3a7614);color:white}
html[data-theme=light] main{max-width:1120px;margin:0 auto;padding:28px;background:#f8f9fa;border-left:1px solid #a5abb1;border-right:1px solid #a5abb1;box-shadow:0 5px 20px #0002;box-sizing:border-box}
html[data-theme=light] footer{max-width:1120px;margin:auto;background:linear-gradient(#e9ecef,#c7cdd3);color:#303840;border-top:1px solid #939ba4;box-sizing:border-box}
html[data-theme=light] :is(h1,h2,h3,h4,.hurricane-title,.hurricane-title span){font-family:Arial,Helvetica,sans-serif;letter-spacing:-.025em;animation:none!important;text-shadow:0 1px 0 #fff!important;-webkit-text-stroke:0!important;color:#29333e!important}
html[data-theme=light] h1{font-size:clamp(32px,5vw,56px)!important;line-height:1.12!important}
html[data-theme=light] h2{font-size:clamp(24px,3vw,34px)}
html[data-theme=light] .eyebrow{font-family:Verdana,sans-serif;font-size:12px;letter-spacing:.08em;color:#296613!important}
html[data-theme=light] main a:not(.button){text-decoration:underline}
html[data-theme=light] :is(.home-intro,.branch-intro,.intro,.contact-intro){background:linear-gradient(#fff,#e8ecef);border-bottom:1px solid #b8bfc6;padding:24px}
html[data-theme=light] :is(.branch-grid>a,.mission,.robotics-link,.contact-card,.academy-card,.guide-destinations article,.guide-routine,.guide-topic,.workspace-help,.level-profile,.history-page .history-season,.history-page .history-origins,.history-page .history-media,.countdown-card,.learning-track,.community-layout){background:#fff!important;border:1px solid #aeb6be;border-radius:5px;box-shadow:0 2px 4px #0002}
html[data-theme=light] :is(.home-destinations,.resource-section,.practice,.learning-routine,.history-page .history-news,.history-page .history-gap){background:#e9edf0!important;border:1px solid #bec5cc;border-radius:4px;padding:22px}
html[data-theme=light] :is(.countdown-values>div,.meeting-totals>div,.history-page figure,.history-page .news-card,.history-page .media-card,.history-page .origin-card,.community-sidebar,.spin-scores li,.cal-day,.cal-entry){background:#f3f5f7!important;border-color:#aeb6be}
html[data-theme=light] :is(button,.button):not(.logo-stage):not(.cal-day):not(.cal-entry):not(.spin-logo){border:1px solid #36720d!important;border-radius:5px!important;background:linear-gradient(#c9ff8a 0%,#85cc40 49%,#65a92b 50%,#93d64e 100%)!important;color:#172b08!important;box-shadow:inset 0 1px #fff9,0 2px 2px #0002;text-shadow:0 1px #d9ffae!important;animation:none!important;transform:none}
html[data-theme=light] :is(button,.button):hover{filter:brightness(1.06)}
html[data-theme=light] :is(input,textarea,select){background:#fff!important;color:#222!important;border:1px solid #929ca7;border-radius:3px;box-shadow:inset 0 1px 3px #0002}
html[data-theme=light] :is(.badge,.community-role){border-radius:4px;background:#fff2a8;color:#4d3c00;border:1px solid #a89958}
html[data-theme=light] .theme-picker{border-radius:5px;background:#1e252d;border-color:#68747f}
html[data-theme=light] .theme-picker button[aria-pressed=false]{background:linear-gradient(#f6f7f8,#c9ced4)!important;color:#25313a!important;border-color:#8f989f!important}
html[data-theme=light] .logo-stage{background:radial-gradient(ellipse,#fff 25%,#dce6cf 65%,#a4b892);border:1px solid #9ea994;border-radius:8px;box-shadow:inset 0 1px 0 #fff,0 3px 8px #0003}
html[data-theme=light] .logo-stage img{filter:drop-shadow(0 6px 3px #0004)}
html[data-theme=light] :is(.team-readable-green,.team-readable-yellow,.team-readable-red){-webkit-text-stroke:0!important;text-shadow:none!important}
html[data-theme=light] .team-readable-green{color:#24600e!important}html[data-theme=light] .team-readable-yellow{color:#655000!important}html[data-theme=light] .team-readable-red{color:#a31522!important}
html[data-theme=light] .guide-entry{background:#fff4bb;border:1px solid #b8a54a;border-left:5px solid #bf1b28;border-radius:3px}
html[data-theme=light] :is(.hurricane-title,.home-actions a,.signup-beacon)::before,html[data-theme=light] :is(.hurricane-title,.home-actions a,.signup-beacon)::after{animation:none!important}
html[data-theme=light] :is(.cal-day,.cal-entry,.cal-toolbar button){color:#25313a!important}
html[data-theme=light] :focus-visible{outline:3px solid #a31522!important;outline-offset:3px}
@media(max-width:700px){html[data-theme=light] main{padding:16px;border:0}html[data-theme=light] :is(.home-intro,.branch-intro,.intro,.contact-intro){padding:16px}html[data-theme=light] header{width:100%}}
}

/* Readable beveled 2010 title lettering with a slow team-color sweep. */
@media screen {
html[data-theme=light] body main :is(h1,h2).hurricane-title {
 background-image:linear-gradient(105deg,#18540b 0%,#18540b 18%,#705600 38%,#a11224 60%,#18540b 82%,#18540b 100%)!important;
 background-size:300% 100%!important;background-position:0% 50%;background-color:transparent!important;
 -webkit-background-clip:text!important;background-clip:text!important;
 color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke:0!important;
 text-shadow:none!important;filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 0 5px #74b53d55)!important;
 font-weight:900;animation:retro-title-colors 18s ease-in-out infinite!important;
}
html[data-theme=light] body main .hurricane-title :is(span,strong,em){color:transparent!important;-webkit-text-fill-color:transparent!important;background:none!important;text-shadow:none!important;-webkit-text-stroke:0!important;animation:none!important}
html[data-theme=light] body main :is(h3,h4){color:#263d1d!important;-webkit-text-fill-color:currentColor;text-shadow:0 1px #fff!important}
@keyframes retro-title-colors{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
}
@media screen and (prefers-reduced-motion:reduce){html[data-theme=light] body main :is(h1,h2).hurricane-title{animation:none!important;background-position:40% 50%}}
@media (forced-colors:active){html[data-theme=light] body main :is(h1,h2).hurricane-title,html[data-theme=light] body main .hurricane-title :is(span,strong,em){background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important;filter:none!important;animation:none!important}}

/* High-contrast team name on the retro charcoal masthead. */
@media screen {
html[data-theme=light] body header .brand,
html[data-theme=light] body header .brand :is(span,small){color:#fff!important;-webkit-text-fill-color:#fff!important;-webkit-text-stroke:0!important;text-shadow:0 1px 2px #000!important;opacity:1}
html[data-theme=light] body header .brand small{display:block;font-size:14px;font-weight:900;line-height:1.4;letter-spacing:.06em}
html[data-theme=light] body header .brand-logo>span{font-weight:900}
}

/* Applies to direct text on neutral dark bars, including dynamic portal content. */
@media screen{html[data-theme=light] body .retro-bar-text.retro-bar-text.retro-bar-text{color:#fff!important;-webkit-text-fill-color:#fff!important;-webkit-text-stroke:0!important;text-shadow:0 1px 2px #000!important;font-weight:700;opacity:1;filter:none!important}}
